{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/AutoComplete.vue?dc94","webpack:///./src/components/StartupError.vue?cf4c","webpack:///./src/libs/Notifications.js","webpack:///./src/components/MessageListMessageCompact.vue?4e14","webpack:///./src/libs/polyfill/Element.closest.js","webpack:///./src/libs/Logger.js","webpack:///./src/components/utils/TabbedView.vue?4476","webpack:///./src/libs/state/NetworkState.js","webpack:///./src/components/UrlEmbed.vue?bbe1","webpack:///./src/components/startups/CustomServer.vue?2bdd","webpack:///./src/components/Avatar.vue?021a","webpack:///./src/components/utils/InputConfirm.vue?7413","webpack:///./src/components/startups/ZncLogin.vue?4e6b","webpack:///./src/components/utils/IrcInput.vue?3e92","webpack:///./src/thirdparty/kiwiirccom.vue?7d18","webpack:///./src/libs/MessageFormatter.js","webpack:///./src/components/utils/InputPrompt.vue?290c","webpack:///./src/components/Avatar.vue?5de3","webpack:///./src/components/startups/ZncLogin.vue?bc87","webpack:///./src/components/ServerView.vue?320a","webpack:///./src/res/kiwiLoadingLogo.png","webpack:///./src/components/MessageInfo.vue?b177","webpack:///./src/components/utils/InputText.vue?d4fa","webpack:///./src/components/NicklistUser.vue?c80f","webpack:///./src/components/inputtools/TextStyle.vue?4a34","webpack:///./src/components/App.vue?2df3","webpack:///./src/components/NetworkSettings.vue?5552","webpack:///./src/components/ChannelInvitelist.vue?c75c","webpack:///./src/components/Container.vue?dafa","webpack:///./src/components/utils/InputText.vue?b8b7","webpack:///./src/libs/ThemeManager.js","webpack:///./src/components/utils/InputConfirm.vue?ecef","webpack:///./src/helpers/Colours.js","webpack:///./src/components/SelfUser.vue?f66b","webpack:///./src/components/MessageList.vue?719c","webpack:///./src/components/MessageListMessageModern.vue?0934","webpack:///./src/components/ServerSelector.vue?3a8e","webpack:///./src/components/MessageList.vue?4207","webpack:///./src/components/ServerView.vue?a991","webpack:///./src/libs/state/BufferState.js","webpack:///./src/components/MessageListMessageInline.vue?d335","webpack:///./src/components/startups/KiwiBnc.vue?a30a","webpack:///./src/components/AwayStatusIndicator.vue?8196","webpack:///./src/libs/BouncerMiddleware.js","webpack:///./src/components/ServerView.vue?2406","webpack:///./src/components/inputtools/Emoji.vue?517b","webpack:///./src/components/MessageInfo.vue?5c1d","webpack:///./src/components/NotConnected.vue?4be9","webpack:///./src/components/NicklistUser.vue?04de","webpack:///./src/components/TypingUsersList.vue?e190","webpack:///./src/components/startups/CommonLayout.vue?c656","webpack:///./src/thirdparty/kiwiirccom.vue?938e","webpack:///./src/components/utils/IrcInput.vue?fdcf","webpack:///./src/components/StateBrowser.vue?b090","webpack:///./src/components/ChannelInfo.vue?409c","webpack:///./src/libs/WindowTitle.js","webpack:///./src/components/StateBrowserUsermenu.vue?40ef","webpack:///./src/libs/AliasRewriter.js","webpack:///./src/components/MessageListMessageInline.vue?ef74","webpack:///./src/components/UserBox.vue?8c8a","webpack:///./src/components/NotConnected.vue?7b97","webpack:///./src/components/SidebarAboutBuffer.vue?37f1","webpack:///./src/components/utils/InputConfirm.vue?fc76","webpack:///./src/components/StartupError.vue?5377","webpack:///./src/components/MessageInfo.vue?edeb","webpack:///./src/libs/GlobalApi.js","webpack:///./src/components/TypingStatusIndicator.vue?e82d","webpack:///./src/components/startups/KiwiBnc.vue?91f0","webpack:///./src/components/Nicklist.vue?60a9","webpack:///./src/components/startups/ZncLogin.vue?2112","webpack:///./src/components/MediaViewer.vue?4a05","webpack:///./src/components/BufferKey.vue?6d5c","webpack:///./src/components/startups/Personal.vue?3cce","webpack:///./src/components/MessageList.vue?fa35","webpack:///./src/components/MessageListAvatar.vue?2335","webpack:///./src/components/ServerSelector.vue?a839","webpack:///./src/components/StartupError.vue?673e","webpack:///./src/components/startups/ZncLogin.vue?fbeb","webpack:///./src/components/StateBrowserNetwork.vue?b81e","webpack:///./src/components/startups/CommonLayout.vue?eb03","webpack:///./src/components/TypingUsersList.vue?65cb","webpack:///./src/components/utils/InputPrompt.vue?bac6","webpack:///./src/components/AwayStatusIndicator.vue?0480","webpack:///./src/components/ChannelInfo.vue?88df","webpack:///./src/components/AutoComplete.vue?6857","webpack:///./src/components/ChannelList.vue?b249","webpack:///./src/components/UserBox.vue?33eb","webpack:///./src/libs/batchedAdd.js","webpack:///./src/components/UrlEmbed.vue?9598","webpack:///./src/components/ContainerHeader.vue?c354","webpack:///./src/thirdparty/index.js","webpack:///./src/components/ControlInput.vue?8ded","webpack:///./src/thirdparty/kiwiirccom.vue?fe34","webpack:///./src/components/ServerSelector.vue?9dcb","webpack:///./src/components/StateBrowser.vue?14dd","webpack:///./src/components/Avatar.vue?eabd","webpack:///./src/components/LoadingAnimation.vue?b538","webpack:///./src/components/ContainerHeader.vue?a8e3","webpack:///./src/components/ChannelBanlist.vue?66b7","webpack:///./src/components/UrlEmbed.vue?bcea","webpack:///./src/components/SidebarState.vue?dea5","webpack:///./src/components/SettingsAdvanced.vue?d0b4","webpack:///./src/components/startups/Personal.vue?7893","webpack:///./src/components/ChannelInfo.vue?6d37","webpack:///./src/main.js","webpack:///./src/res/configTemplates.js","webpack:///./src/components/ChannelInfo.vue?e1a9","webpack:///./src/components/NetworkSettings.vue?2baf","webpack:///./src/components/StateBrowserBuffer.vue?869a","webpack:///./src/components/ChannelBanlist.vue?fc93","webpack:///./src/components/startups/CustomServer.vue?1e5a","webpack:///./src/components/ServerSelector.vue?2148","webpack:///./src/helpers/TextFormatting.js","webpack:///./src/components/BufferSettings.vue?ee68","webpack:///./src/components/inputtools/TextStyle.vue?2c74","webpack:///./src/libs/IrcClient.js","webpack:///./src/components/MessageListMessageModern.vue?71b5","webpack:///./src/components/AppSettings.vue?3a4f","webpack:///./src/components/Sidebar.vue?780a","webpack:///./src/components/utils/InputText.vue?ef0a","webpack:///./src/components/StartupError.vue?f239","webpack:///./src/components/NotConnected.vue?a936","webpack:///./src/thirdparty/kiwiirccom.vue?64a8","webpack:///./src/components/App.vue?6f48","webpack:///./src/res/autocompleteCommands.js","webpack:///./src/libs/StatePersistence.js","webpack:///./src/components/ServerSelector.vue?bcc9","webpack:///./src/components/Captcha.vue?9c06","webpack:///./src/components/StateBrowser.vue?8c18","webpack:///./src/components/startups/CommonLayout.vue?b4ed","webpack:///./src/components/LoadingAnimation.vue?a8d8","webpack:///./src/components/ChannelList.vue?5647","webpack:///./src/components/ContainerHeader.vue?4434","webpack:///./src/components/AppSettings.vue?a7b2","webpack:///./src/components/TypingUsersList.vue?f591","webpack:///./src/components/StateBrowserUsermenu.vue?d1b2","webpack:///./src/thirdparty/kiwiirccom.vue?10df","webpack:///./src/components/UrlEmbed.vue?5549","webpack:///./src/components/ChannelList.vue?75c6","webpack:///./src/libs/storage/Local.js","webpack:///./src/components/LoadingAnimation.vue?6d68","webpack:///./src/components/AwayStatusIndicator.vue?0773","webpack:///./src/helpers/IrcdDiffs.js","webpack:///./src/components/utils/IrcInput.vue?d746","webpack:///./src/components/MessageList.vue?5e4c","webpack:///./src/components/BufferKey.vue?9cc7","webpack:///./src/components/App.vue?0284","webpack:///./src/components/TypingStatusIndicator.vue?f7bc","webpack:///./src/components/MessageListAvatar.vue","webpack:///./src/components/utils/InputPrompt.vue?4c2e","webpack:///./src/components/utils/InputConfirm.vue?069e","webpack:///./src/components/startups/Welcome.vue?957b","webpack:///./src/components/AppSettings.vue?372f","webpack:///./src/components/SidebarAboutBuffer.vue?5d8e","webpack:///./src/libs/ConfigLoader.js","webpack:///./src/components/AutoComplete.vue?ceb9","webpack:///./src/components/utils/TabbedView.vue?9de9","webpack:///./src/components/StateBrowserUsermenu.vue?81c2","webpack:///./src/components/startups/Welcome.vue?8754","webpack:///./src/components/startups/CustomServer.vue?1104","webpack:///./src/components/utils/InputText.vue?6cfe","webpack:///./src/components/MessageListAvatar.vue?39f9","webpack:///./src/components/AppSettings.vue?8116","webpack:///./src/components/utils/TabbedView.vue?8ac1","webpack:///./src/components/ChannelList.vue?c4fc","webpack:///./src/components/StateBrowserBuffer.vue?e5d7","webpack:///./src/components/TypingUsersList.vue?5fa8","webpack:///./src/components/NicklistUser.vue?de0f","webpack:///./src/components/Sidebar.vue?3a06","webpack:///./src/components/SelfUser.vue?c9d9","webpack:///./src/helpers/Misc.js","webpack:///./src/libs/NetworkProvider.js","webpack:///./src/libs/IPC.js","webpack:///./src/components/SidebarAboutBuffer.vue?ef7f","webpack:///./src/components/StateBrowserNetwork.vue?bea4","webpack:///./src/components/Container.vue?ddfe","webpack:///./src/components/MessageInfo.vue?b223","webpack:///./src/components/NetworkSettings.vue?14e1","webpack:///./src/components/Container.vue?8942","webpack:///./src/components/SidebarState.vue","webpack:///./src/components/utils/TabbedView.vue?04ef","webpack:///./src/components/inputtools/TextStyle.vue?3e37","webpack:///./src/components/SidebarAboutBuffer.vue?2912","webpack:///./src/components/NetworkSettings.vue?b6ae","webpack:///./src/components/Captcha.vue?5c36","webpack:///./src/components/UrlEmbed.vue?9dd5","webpack:///./src/components/inputtools/Emoji.vue?c0df","webpack:///./src/components/ChannelBanlist.vue?27e7","webpack:///./src/components/UserBox.vue?27c1","webpack:///./src/components/ControlInput.vue?e3a4","webpack:///./src/libs/bufferTools.js","webpack:///./src/components/startups/ZncLogin.vue?1169","webpack:///./src/components/ChannelInvitelist.vue?5b3d","webpack:///./src/components/ControlInput.vue?e8c8","webpack:///./src/components/startups/KiwiBnc.vue?562c","webpack:///./src/libs/renderers/Html.js","webpack:///./src/libs/settingTools.js","webpack:///./src/components/AutoComplete.vue?8da5","webpack:///./src/components/App.vue?ab43","webpack:///./src/components/NotConnected.vue?2426","webpack:///./src/components/MessageListMessageCompact.vue?ae43","webpack:///./src/components/SettingsAdvanced.vue?ffa2","webpack:///./src/components/TypingStatusIndicator.vue?ba3e","webpack:///./src/components/utils/TabbedView.vue?4ba1","webpack:///./src/libs/ChathistoryMiddleware.js","webpack:///./src/components/SidebarAboutBuffer.vue?2808","webpack:///./src/components/MessageInfo.vue?2118","webpack:///./src/components/Avatar.vue?7553","webpack:///./src/components/StateBrowserNetwork.vue?cb5d","webpack:///./src/components/SelfUser.vue?5a2f","webpack:///./src/components/MessageListMessageModern.vue?f965","webpack:///./src/components/utils/InputPrompt.vue?60ce","webpack:///./src/components/startups/Personal.vue?b2c8","webpack:///./src/components/MessageListMessageCompact.vue?aeb3","webpack:///./src/components/startups/Welcome.vue?195c","webpack:///./src/components/MediaViewer.vue?acb6","webpack:///./src/components/utils/InputConfirm.vue?667d","webpack:///./src/components/BufferKey.vue?fdc1","webpack:///./src/components/SettingsAliases.vue?da04","webpack:///./src/components/MediaViewer.vue?e99d","webpack:///./src/components/MediaViewer.vue?6df6","webpack:///./src/components/SettingsAliases.vue?18b7","webpack:///./src/components/utils/InputPrompt.vue?e19e","webpack:///./src/components/Nicklist.vue?f797","webpack:///./src/components/SettingsAdvanced.vue?9cb0","webpack:///./src/components/ControlInput.vue?a75e","webpack:///./src/libs/state/UserState.js","webpack:///./src/components/startups/CustomServer.vue?d1f0","webpack:///./src/components/startups/Personal.vue?8c27","webpack:///./src/components/startups/CommonLayout.vue?a577","webpack:///./src/components/ChannelInvitelist.vue?1913","webpack:///./src/components/ServerView.vue?d132","webpack:///./src/libs/BouncerProvider.js","webpack:///./src/components/BufferSettings.vue?a9b7","webpack:///./src/components/SidebarState.vue?0e21","webpack:///./src/components/inputtools/TextStyle.vue?e494","webpack:///./src/libs/Message.js","webpack:///./src/components/MessageListMessageModern.vue?37f9","webpack:///./src/components/ChannelBanlist.vue?2f2a","webpack:///./src/components/MessageListMessageInline.vue?6760","webpack:///./src/libs/state/common.js","webpack:///./src/components/Nicklist.vue?0081","webpack:///./src/components/SelfUser.vue?50cf","webpack:///./src/libs/SoundBleep.js","webpack:///./src/components/NicklistUser.vue?fe74","webpack:///./src/components/MessageListMessageInline.vue?3a80","webpack:///./src/components/inputtools/Emoji.vue?e1e5","webpack:///./src/components/LoadingAnimation.vue?cfb2","webpack:///./src/components/SettingsAliases.vue?bd5c","webpack:///./src/components/SettingsAdvanced.vue?f320","webpack:///./src/components/MessageList.vue?22d9","webpack:///./src/components/StateBrowserBuffer.vue","webpack:///./src/components/utils/IrcInput.vue?950f","webpack:///./src/components/MessageListMessageInline.vue?0da1","webpack:///./src/components/MessageListMessageCompact.vue?06e2","webpack:///./src/components/startups/KiwiBnc.vue?de6f","webpack:///./src/components/ChannelList.vue?978b","webpack:///./src/components/MessageListMessageModern.vue?6a9b","webpack:///./src/components/ChannelInfo.vue?fa2f","webpack:///./src/components/Nicklist.vue?b4f8","webpack:///./src/components/MediaViewer.vue?7a2e","webpack:///./src/components/startups/KiwiBnc.vue?bc43","webpack:///./src/components/Container.vue?3c20","webpack:///./src/components/startups/CustomServer.vue?4d49","webpack:///./src/components/TypingUsersList.vue?9896","webpack:///./src/components/ControlInput.vue?7f8f","webpack:///./src/components/AwayStatusIndicator.vue?f9b5","webpack:///./src/components/ContainerHeader.vue?64d0","webpack:///./src/thirdparty/about.html","webpack:///./src/components/ServerView.vue?48f9","webpack:///./src/components/startups/Welcome.vue?f844","webpack:///./src/components/StateBrowser.vue?08b7","webpack:///./src/components/inputtools/TextStyle.vue?8108","webpack:///./src/components/UserBox.vue?6a29","webpack:///./src/components/SettingsAdvanced.vue?594a","webpack:///./src/components/LoadingAnimation.vue?bc88","webpack:///./src/components/utils/IrcInput.vue?2711","webpack:///./src/components/AwayStatusIndicator.vue?c490","webpack:///./src/components/NetworkSettings.vue?b367","webpack:///./src/components/BufferKey.vue?b621","webpack:///./src/components/StateBrowser.vue?d2fb","webpack:///./src/components/SelfUser.vue?d5d2","webpack:///./src/components/ChannelBanlist.vue?2ec2","webpack:///./src/components/Sidebar.vue?274a","webpack:///./src/components/startups/Welcome.vue?410d","webpack:///./src/components/Avatar.vue?21c4","webpack:///./src/libs/AudioManager.js","webpack:///./src/components/inputtools/Emoji.vue?c1e1","webpack:///./src/libs/InputHandler.js","webpack:///./src/components/TypingStatusIndicator.vue","webpack:///./src/components/AppSettings.vue?0f09","webpack:///./src/libs/MessageParser.js","webpack:///./src/components/ChannelInvitelist.vue?5547","webpack:///./src/components/Sidebar.vue?f2eb","webpack:///./src/components/Captcha.vue","webpack:///./src/components/Container.vue?71da","webpack:///./src/components/MessageListMessageCompact.vue?e34c","webpack:///./src/components/Sidebar.vue?44fc","webpack:///./src/components/SettingsAliases.vue?dc98","webpack:///./src/components/UserBox.vue?1ed9","webpack:///./src/components/StateBrowserBuffer.vue?f53b","webpack:///./src/components/StateBrowserNetwork.vue?7863","webpack:///./src/components/BufferSettings.vue?76c7","webpack:///./src/components/BufferSettings.vue?0382","webpack:///./src/libs/TypingMiddleware.js","webpack:///./src/components/BufferKey.vue?8aa2","webpack:///./src/components/NotConnected.vue?e36a","webpack:///./src/components/SettingsAliases.vue?0520","webpack:///./src/components/ContainerHeader.vue?087a","webpack:///./src/components/Captcha.vue?3831","webpack:///./src/components/utils/InputText.vue?3821","webpack:///./src/components/inputtools/Emoji.vue?6055","webpack:///./src/libs/state.js","webpack:///./src/components/StartupError.vue?3dd3","webpack:///./src/components/ChannelInvitelist.vue?18e7","webpack:///./src/components/StateBrowserUsermenu.vue?49f4","webpack:///./src/components/App.vue?10ef","webpack:///./src/components/startups/CommonLayout.vue?e37b","webpack:///./src/components/StateBrowserUsermenu.vue?c34c","webpack:///./src/components/AutoComplete.vue?ed07","webpack:///./src/components/startups/Personal.vue?2d70","webpack:///./src/components/NicklistUser.vue?b449","webpack:///./src/libs/ServerConnection.js","webpack:///./src/components/MessageListAvatar.vue?b45d","webpack:///./src/components/BufferSettings.vue?a8ea","webpack:///./src/components/Nicklist.vue?fe55","webpack:///./src/components/StateBrowserNetwork.vue?3a5e"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","component","_interopRequireDefault","_Object$defineProperty","requestPermission","show","listenForNewMessages","_assign","_bind","_setTimeout2","_lodash","isEnabled","state","Notification","permission","$emit","title","body","opts","_context","notify","icon","ttl","default","close","throttledShow","throttle","$on","message","_opts","onclick","notification","_kiwi_exports","libs","Notifications","Element","matches","msMatchesSelector","webkitMatchesSelector","closest","el","this","parentElement","parentNode","nodeType","_concat","defaultLogger","makeLogger","_default","label","rootLogger","logger","info","arguments","logLevel","compareLevel","level","LEVEL_DEBUG","LEVEL_INFO","LEVEL_ERROR","debug","_window$console","_len","args","Array","_key","concat","console","log","_window$console2","_context2","_len2","_key2","error","_window$console3","_context3","_len3","_key3","assert","condition","_context4","_len4","_key4","setLevel","newLevel","namespace","newLabel","_context5","Logger","_interopRequireWildcard","_setImmediate2","_indexOf","_create","_classCallCheck2","_createClass2","_vue","_common","IrcClient","NetworkState","id","appState","userDict","bufferDict","_this","editable_name","state_error","last_error","auto_commands","is_znc","is_bnc","hidden","channel_list","channel_list_state","ircd","connection","server","port","tls","path","password","direct","encoding","bncnetid","nick","settings","show_raw_caps","username","gecos","away","observable","def","newVal","$set","networks","_this$ircClient","ircClient","connect","getBufferByName","val","input","chanPrefixes","network","supports","tabName","_this2","setActiveBuffer","serverBuffer","buffers","getBuffersWithUser","buffer","isUserAnOp","user","getUser","hasWhois","operator","frameworkClient","methods","props","avatar","firstNickLetter","hasAvatar","small","large","isDefault","colour","avatarStyle","style","url","size","getColour","String","components","Avatar","render","_vm","_h","$createElement","_c","_self","ref","staticClass","scopedSlots","_u","fn","staticStyle","proxy","on","$event","preventDefault","formSubmit","domProps","_s","greetingText","_v","readableStateError","_e","attrs","$t","model","callback","$$v","expression","znc_network","readyToStart","buttonText","staticRenderFns","parse","createNewBlock","_parseInt2","_keys","_forEach","tokens","inp","block","blocks","openTokens","pos","len","tok","findTokenAtPosition","extras","extra","content","containsContent","newBlock","styles","newPos","token","substr","undefined","type","meta","prevBlock","openToks","underline","bold","remainingText","nextPos","italic","quote","str","endPos","k","colours","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","colourMatchRegexp","match","exec","fgColour","bgColour","color","background","MessageFormatter","display","prompt","_t","complete","directives","rawName","indexOf","_k","keyCode","cancel","target","composing","hideCancel","_GlobalApi","_MessageList","_NetworkSettings","_ChannelList","MessageList","NetworkSettings","ChannelList","pluginUiElements","singleton","serverViewPlugins","computed","hasMessages","getMessages","restrictedServer","$state","setting","networkConnected","watch","$nextTick","$refs","tabs","a","created","listen","showTab","setActiveByName","tabChanged","show_input","ServerView","stopPropagation","mentioned_urls","_l","urlPreview","class","requestingInput","openQuery","areWeAnOp","isSelf","onKick","onBan","Vue","plainTextEnabled","inputIdCache","inputId","Math","floor","random","toString","currentValue","set","updateValue","newValue","isEdgeBrowser","navigator","appVersion","utils","InputText","nicklist","userMode","ignore","toLowerCase","openUserbox","shouldShowAvatars","injections","tag","AwayStatusIndicator","userModePrefix","userColour","TypingStatusIndicator","showPlainText","isArray","_i","$$a","$$el","$$c","checked","$$i","_q","$slots","_now","_find","_trim","createdInstance","ThemeManager","listenForIrcEvents","varsEl","varName","document","querySelector","getComputedStyle","v","getPropertyValue","themes","currentThemeName","theme","isMatch","theTheme","availableThemes","currentTheme","replace","instance","event","ctcpType","reload","parts","split","qs","connoteCss","yes","no","hex2rgb","rgb2hex","rgb2hsl","hsl2rgb","rgb2rgbString","_slice","_map","_hex","shorthandRegex","hex","g","b","rgb","join","max","min","h","hsl","hue2rgb","_p","q","round","helpers","Colours","_includes","_some","_reduce","_flags","_filter","_splice","_batchedAdd","bufferTools","nextBufferId","BufferState","networkid","messageDict","topics","joined","enabled","created_at","users","modes","flags","unread","has_opened","channel_badkey","chathistory_available","requested_modes","requested_banlist","is_requesting_chathistory","last_read","active_timeout","message_count","current_input","input_history","input_history_pos","latest_messages","chathistory_request_count","messagesObj","messages","messageIds","onNetworkConnecting","getNetwork","onNetworkMotd","isQuery","requestLatestScrollback","onBufferClose","$off","onNetworkConnectingBound","onBufferCloseBound","onNetworkMotdBound","createMessageBatch","createUserBatch","isChannel","maybeStartWhoLoop","chathistory","isSupported","bufMessages","startTime","endTime","server_time","ircNetwork","options","CHANTYPES","isSpecial","isServer","userBufferInfo","opModes","hasOp","netPrefixes","PREFIX","prefix","symbol","newName","oldName","setActive","getActiveBuffer","bufferMessages","_direction","direction","time","chathistoryFuncName","lastMessage","earliest","current","ignoreTypes","validType","Date","Error","firstMessage","latest","flag","existingMessageIds","then","hasNewMessages","commands","msg","tags","msgid","finally","_this3","before","delayed","clearTimeout","_context6","markAsRead","allowedUpdate","bnc","bufferSeen","flagName","addUserBatch","nickLower","_context7","hasMode","currentUser","userObj","pull","queue","$delete","_context8","_this4","each","addMessageBatch","_context9","_this5","isNewer","instance_num","unshift","newMessage","addMessage","fnNames","privmsg","action","notice","fnName","reason","part","networkState","historySupport","messagesInBatchQueue","getLoadingState","bufferState","addSingleUser","u","addMultipleUsers","clone","addSingleMessage","updateLatestMessages","isMessageTrimming","trimMessages","orderedMessages","inPlace","noFilter","addMultipleMessages","newMessages","_context10","toAdd","scrollbackSize","_context11","removed","nextLoop","on001","command","eventNetwork","updateWhoStatusLoop","bufferByName","whoLoop","isJoined","hasAwayNotify","cap","who","_state","toggleSelfAway","isUserSelf","isAway","raw","toggle","shouldShowStatus","awayNotifyEnabled","Boolean","bouncerMiddleware","_promise","_ircFramework","Misc","client","rawEvents","parsedEvents","requestCap","addFunctionsToClient","use","theMiddleware","rawLine","next","params","command_handler","emit","MessageTags","decode","networkId","host","connected","currentNick","account","account_password","netId","detectedBuffers","_netId","_tags","topic","seen","netName","eventObj","_netId2","_netName","_eventObj","hasNetwork","getNetworks","resolve","reject","once","getBuffers","closeBuffer","bufferName","seenTime","timeStr","dateIso","addNetwork","tagString","createTagString","onOk","off","onError","removeNetwork","saveNetwork","tagParts","BouncerMiddleware","text","eCode","location","onImgClick","connecting","shouldShowLoading","reconnect","channel","showNetworkSettings","closing","backgroundStyle","startupOptions","infoBackground","backgroundImage","infoContent","startApp","$el","removeEventListener","persistence","watchStateForChanges","$parent","addEventListener","startups","CommonLayout","_regenerator","_asyncToGenerator2","TextFormatting","_about","firstRun","ctor","about_open","aboutContent","showServerBuffer","toggleStateBrowser","init","mark","_callee","wrap","prev","fallbackComponent","constructor","stop","_created","_callee2","getStartups","kiwiirccom","thirdparty","modifiers","showPrevTopics","topicText","idx","trim","modeM","modeI","modeT","modeN","modeK","_setInterval2","WindowTitle","windowTitle","alert","updateTitle","$watch","alertTmr","stopAlert","enable","startAlert","clearInterval","newTitle","_AwayStatusIndicator","_Avatar","is_usermenu_open","networkName","isConnected","clickForget","confirmed","confirm","forgetState","StateBrowserUsermenu","AliasRewriter","recursiveDepth","depth","aliases","line","spaceSep","substring","actions","vars","aliasLen","words","alias","currentAliasWord","currentAliasWordLen","processedConditionals","compiled","checkVar","num","firstWord","processInput","process","_MediaViewer","_MessageInfo","displayNick","suffix","ml","inject","MessageInfo","MediaViewer","Number","_sort","_Html","_MessageParser","self","pluginUiSections","aboutBufferPlugins","closedSections","formattedTopic","highlights","isHighlight","html","toggleSection","section","SidebarAboutBuffer","StartupError","_construct","_toConsumableArray2","_inherits2","_possibleConstructorReturn2","_getPrototypeOf2","_eventemitter","_json","_compareVersions","_Logger","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","NewTarget","Reflect","sham","Proxy","e","singletonInstance","pluginsToInit","nextPluginId","GlobalApi","_EventEmitter","_super","version","commithash","JSON5","controlInputPlugins","stateBrowserPlugins","channelHeaderPlugins","queryHeaderPlugins","sideBarPlugins","userboxButtonPlugins","appSettingsPlugins","isReady","initPlugins","pluginName","plugin","initPlugin","pluginLogger","err","stack","modPath","mod","stateEmit","thisEmit","themeManager","element","extend","tab","dest","source","require","replaceObjectProps","_CommonLayout","StartupLayout","loading","statusMessage","greeting","startUp","_startUp","bncnet","cleanUpEvents","onRegistered","onClose","getBncNetwork","_ref","bncNetworks","sent","t0","addNetworkToState","monitorNetworkChanges","layout","active","net","bncname","newBuffer","addBuffer","getTime","bncNet","existingNets","rememberNetworks","saveState","bncName","debouncedSaveState","debounce","deep","networkFromBnc","currentNum","existingNet","KiwiBnc","filter_visible","user_filter","sortedUsers","item","index","network_extras","showNetwork","showPass","showUser","show_password_box","hash","autoConnect","networkErrorMessage","netList","compact","onClosed","extraNet","ZncLogin","_strftime","_BufferKey","_MessageListMessageCompact","_MessageListMessageModern","_MessageListMessageInline","_LoadingAnimation","BOTTOM_SCROLL_MARGIN","BufferKey","MessageListMessageModern","MessageListMessageCompact","MessageListMessageInline","LoadingAnimation","smooth_scroll","auto_scroll","force_smooth_scroll","chathistoryAvailable","hover_nick","message_info_open","timeToClose","startClosing","selectedMessages","thisMl","listType","useExtraFormatting","shouldShowChathistoryTools","isCorrectBufferType","shouldRequestChannelKey","ourNick","filteredMessagesGroupedDay","days","lastDay","filteredMessages","day","dayNum","shouldShowJoiningLoader","checkScrollingState","maybeScrollToBottom","oldBuffer","scrollToBottom","mounted","addCopyListeners","opt","maybeScrollToId","isHoveringOverMessage","toggleMessageInfo","canShowInfoForMessage","sel","getSelection","rangeCount","range","getRangeAt","collapsed","shouldShowUnreadMarker","previous","lastRead","shouldShowDateChangeMarker","getDay","showInfoForTypes","bufferSetting","formatTime","formatTimeFull","format","toLocaleString","formatMessage","toHtml","isMessageHighlight","openUserBox","onListClick","onMessageDblClick","messageClickTmr","dataNick","getAttribute","userByName","onMessageClick","delay","isLink","tagName","channelName","userNick","embed","payload","ui","is_touch","nodeName","scrolledUpByPx","scrollHeight","offsetHeight","scrollTop","onListResize","messageElement","offsetTop","getSelectedMessages","messageEls","querySelectorAll","selectedMessageEls","intersectsNode","restrictTextSelection","classList","add","userSelect","unrestrictTextSelection","remove","removeSelections","removeNative","selection","removeAllRanges","LogFormatter","toLocaleTimeString","hour","minute","second","copyData","selecting","selectionChangeOff","contains","onSelectionChange","anchorNode","className","selectedMesssageEls","dataset","messageId","clipboard","writeText","createElement","appendChild","innerHTML","select","execCommand","removeChild","openEmbedInPreview","MessageListAvatar","presetServer","usePreset","presetNetworks","$$selectedVal","filter","selected","map","_value","multiple","toUri","showCustom","toggleTls","noprompt","focus","InputPrompt","ipRegex","IrcdDiffs","whoisRequested","whoisLoading","pluginUiButtonElements","availableChannelModes","availableModes","prefixes","knownPrefix","isAChannelModeAdmin","isQChannelModeOwner","supportsHalfOp","description","realname","formattedRealname","isUserOnBuffer","oldVal","changes","targets","userChannels","channels","linkifyChannels","userModeOnThisBuffer","is_narrow","onChannelsClick","updateWhoisData","whois","kickUser","createBanMask","extban","extbanAccount","ipTest","RegExp","v4","v6","test","hexTest","_match","mask","banUser","banMask","kickbanUser","UserBox","batchedAdd","singleFn","batchedFn","numInsertsSec","inTick","numInLastSec","queueLoopTmr","loopInterval","checkSecRateTmr","queueLoop","maybeStartLoop","resetAddCounter","batchFn","embedlyTagIncluded","debouncedUpdateEmbed","updateEmbed","checkEmbedlyAndShowCard","embedly","embedlyLink","showPin","maxHeight","head","getElementsByTagName","script","embedlyUrl","getSetting","src","UrlEmbed","onHeaderClick","kiwi","containerheader","sidebarSection","sidebarState","toggleAbout","count","keys","toggleNicklist","toggleBufferSettings","unpin","joinCurrentBuffer","prompts","closeCurrentBuffer","closeChannel","onConnectButtonClick","toggleUser","_m","_BufferSettings","_ChannelInfo","_ChannelBanlist","BufferSettings","ChannelInfo","ChannelBanlist","pluginUiChannelElements","pluginUiQueryElements","userOnline","showPrompt","removeBuffer","ContainerHeader","updateBanlist","banlist","ban","banned","banned_by","banned_at","toDateString","removeBan","_BouncerProvider","_IPC","hasOtherTab","addedNetworkToExisting","readyToShowOptions","hasFragment","parseFragment","findOtherTabs","listenForOtherTabs","send","addEmptyNetwork","abrupt","handleIPCMessage","timer","removeListener","addNetworkToExistingTab","con","temporary","storageKey","getNetworkFromAddress","fragment","uriCheck","decodeURIComponent","connections","parseIrcUri","persistSetting","controllerNet","bouncer","remember_buffers","includeBuffers","setSetting","Personal","_typeof2","_symbol","_setTimeout3","_setInterval3","_i18next","_i18nextXhrBackend","_vueI18next","_vueVirtualScroller","_available","_enUs","_App","_StartupError","_ConfigLoader","_ThemeManager","_InputHandler","_StatePersistence","Storage","_AudioManager","_SoundBleep","_WindowTitle","_configTemplates","logLevelMatch","href","api","getQueryVariable","variable","query","search","pair","mixin","beforeDestroy","listeningEvents","listenOnce","_fn","onceFn","$once","timerEvents","tmr","setInterval","_setInterval","setTimeout","_setTimeout","directive","binding","rawEl","bindings","inserted","ROSymbol","loadApp","configFile","configObj","kiwiConfig","showError","configContents","parseErr","configLoader","addValueReplacement","protocol","hostname","referrer","loadFromObj","loadFromUrl","applyConfig","initState","initInputCommands","initLocales","initThemes","loadPlugins","initSound","catch","config","dedotObject","configTemplates","template","applyConfigObj","obj","plugins","pluginIdx","loadNextScript","sSrc","fOnload","scr","onerror","onload","fetch","response","pluginRaw","scripts","limitedScr","i18n","whitelist","locales","fallbackLng","lowerCaseLng","backend","loadPath","crossDomain","withCredentials","interpolation","escapeValue","addResourceBundle","$i18n","i18next","i18nLoadedAt","lng","setDefaultLanguage","defaultLang","preferredLangs","languages","changeLanguage","lang","_initState","stateKey","persistLog","persist","state_key","loadStateIfExists","setState","themeMgr","setThemeManager","argTheme","setTheme","sound","SoundBleep","bleep","AudioManager","watchForMessages","cb","ResizeObserver","observe","unbind","unobserve","useMonospace","language","restricted","startupScreen","kiwiServer","warnOnExit","quitMessage","messageLayout","alert_on","timestamp_format","timestamp_full_format","show_timestamps","scrollback_size","show_hostnames","show_joinparts","show_topics","show_nick_changes","show_mode_changes","show_presence_changes","traffic_as_activity","coloured_nicklist","colour_nicknames_in_messages","block_pms","show_emoticons","extra_formatting","mute_sound","hide_message_counts","show_realnames","default_ban_mask","default_kick_reason","shared_input","show_message_info","who_loop","share_typing","flash_title","nicklist_avatars","show_link_previews","inline_link_auto_previews","inline_link_auto_preview_whitelist","show_buffer_groups","nick_format","autoReconnect","disconnectOnSaslFail","allowRegisterProtocolHandler","noticeActiveBuffer","nicklistGroupAway","showChanlistModes","showAutocomplete","showEmojiPicker","showColorPicker","showSendButton","showAwayStatusIndicators","sidebarDefault","showRaw","useBufferHistory","hideSettings","teamHighlights","Key","emojis","emojiLocation","textFormats","user_full","channel_join","channel_part","channel_quit","channel_kicked","channel_selfkick","channel_badpassword","channel_topic","channel_banned","channel_inviteonly","channel_alreadyin","channel_limitreached","channel_invalid_name","channel_topic_setby","channel_has_been_invited","server_connecting","server_connecting_error","selfmode","nickname_alreadyinuse","network_disconnected","network_connected","whois_channels","whois_idle_and_signon","whois_away","whois_server","whois_idle","whois_notfound","nick_changed","applet_notfound","encoding_changed","encoding_invalid","settings_saved","ignore_title","ignore_none","ignore_nick","ignore_stop_notice","ignore_stopped","chanop_privs_needed","no_such_nick","unknown_command","motd","ctcp_response","ctcp_request","whois_ident","whois_error","whowas_ident","whowas_server","whowas_error","quit","rejoin","set_setting","list_aliases","ignored_pattern","wallops","message_nick","general_error","irc","team","_url","_isNan","_Captcha","_ServerSelector","ServerSelector","Captcha","server_type","znc_username","znc_password","show_advanced","switch_tabs_on_connect","network_list","settingShowRaw","directWs","addr","setZncPass","isZnc","newPass","isActiveBuffer","awayNotifySupported","showMessageCounts","highlight","_default2","networkList","willEmit","parsePresetServer","importUris","serverList","servers","createNickColour","toInt","hexVal","mapRange","formatAndT","formatUser","formatUserFull","formatText","formatDuration","formatNumber","channelRegex","urlRegex","_parseFloat2","murmurhash3","word","mLead","mPrefix","mChannel","mSuffix","chan","escape","lead","link","themeMngr","nickNum","x86","hash32","bucketSize","themeVar","hueOffset","abs","int","vMin","vMax","dMin","dMax","vValue","vRange","dRange","formatId","formatParams","localeId","localeParams","fNick","fUsername","fHost","ident","ret","timeSeconds","seconds","weeks","hours","minutes","tmp","settingAlertOn","settingMuteSound","settingHideMessageCount","_Object$defineProperty2","_defineProperty2","_defineProperties","_getOwnPropertyDescriptors","_getOwnPropertyDescriptor","_getOwnPropertySymbols","_slicedToArray2","_entries","_defineProperty3","_TypingMiddleware","_ChathistoryMiddleware","ServerConnection","ownKeys","enumerableOnly","symbols","sym","_objectSpread","_context27","_context28","Client","enable_chghost","enable_setname","message_max_length","clientMiddleware","originalIrcClientConnect","auto_reconnect","configOptions","transport","createChannelConstructor","originalIrcClientRaw","Message","rawString","ircLineParser","handled","getOrAddBufferByName","from_server","typingStatus","status","isRegistered","parsedEventsHandler","rawEventsHandler","last_error_numeric","clearUsers","param","end","ircEventObj","eventTime","timeToLocal","serverTime","from","redirect_to","to","addUser","numConnects","targetNick","_buffer","containsNick","isChannelMessage","isChannelName","channelBuffer","_buffer2","clearMessageRange","isPrivateMessage","batch","existingBuffer","activeBuffer","hasActiveBuffer","PM_BLOCK_BLOCKED","PM_BLOCK_REQUIRES_CHECK","pmBlock","isNickExemptFromPmBlocks","blockNewPms","_buffer3","textFormatType","messageBody","_message","awaitingWhois","pendingPms","whoisData","pm","_buffer4","_messageBody","rename","_buffer5","addUserToBuffer","_messageBody2","type_extra","_buffer6","removeUserFromBuffer","kicked","_messageBody3","chanop","_buffer7","remainingBuffers","removeUser","_nick","_messageBody4","_buffer8","real_name","prop","_buffer9","_buffer10","usersTransaction","_context12","eventUser","_context13","channel_modes","channel_list_cache","_context14","filteredEvent","_buffer11","_messageBody5","registered","_context15","newNick","rand","_messageBody6","newnick","changeNick","_buffer12","new_nick","changeUserNick","_messageBody7","_buffers","_context16","_context17","_buffer13","hadExistingUsers","addMultipleUsersToBuffer","correctBuffer","_context18","_ref2","paramName","_buffer14","_context19","modeStrs","adding","modeChar","tFormat","timeCreated","_buffer15","_modeStrs","_context20","_user","modeIdx","_adding","modeLocaleIds","modeLocaleDataBuilders","builders","localeDataFn","localeData","localeKey","_context21","modeslines","_context22","_context23","_serverBuffer","_buffer16","bans","banText","_context24","_context25","dateStr","_context26","_buffer17","_messageBody8","_buffer18","help","_buffer19","textFormatId","_messageBody9","ctcpResponse","_messageBody10","_buffer20","_buffer21","_messageBody11","res","autocompleteCommands","_stringify","StatePersistence","storage","isPersisting","watcher","_loadStateIfExists","storedState","importState","exportState","watchVals","buffersVals","_forgetState","resetState","recaptchaUrl","recaptchaSiteId","recaptchaResponse","showCaptcha","loadRecaptcha","recaptchaLoaded","grecaptcha","captchacontainer","sitekey","recaptchaSuccess","recaptchaExpired","defer","list","isLoading","maybeUpdateList","prevPage","page","maxPages","nextPage","noResults","last_updated","num_users","joinChannel","formatAndTrimTopic","_localesList","_SettingsAliases","_SettingsAdvanced","bindSetting","settingName","SettingsAliases","SettingsAdvanced","customThemeUrl","localesList","themeSupportsMonospace","canRegisterProtocolHandler","registerProtocolHandler","timestamps_24h","newFormat","settingShowAutoComplete","settingUseMonospace","settingHighlights","settingBufferColourNicknames","settingBufferShowTimestamps","settingBufferShowEmoticons","settingBufferBlockPms","settingBufferScrollbackSize","settingBufferExtraFormatting","settingBufferTrafficAsActivity","settingBufferMuteSound","settingBufferShareTyping","settingBufferInlineLinkPreviews","settingDefaultBanMask","settingDefaultKickReason","settingAdvancedEnable","show_advanced_tab","settingLanguage","messageLayouts","traditional","modern","inline","settingMessageLayout","invert","listenForThemeSettings","closeSettings","refreshTheme","watches","updateFn","watchTheme","watchCustomThemeUrl","setCustomThemeUrl","teardownFn","unwatchFn","enableAdvancedTab","makeDefaultProtocolHandler","origin","pathname","AppSettings","supportedCached","localStorage","getItem","setItem","storageAvailable","x","removeItem","DOMException","code","logo","Y","fontSize","font","animationFrame","destroying","getContext","tmpText","width","height","draw","cancelAnimationFrame","clearRect","globalCompositeOperation","drawImage","fillStyle","fillText","globalAlpha","requestAnimationFrame","ircdType","notSupported","notAdmin","notOwner","_obj","$options","flipConnotation","InputConfirm","about","when","Intl","DateTimeFormat","showNicklist","scrollToMessage","aboutbuffer","_xhr","ConfigLoader","valReplacements","configUrl","errMsg","m1","m2","setConfig","confObj","walkObject","_val","insertReplacements","out","items_","selected_idx","filteredItems","filterVal","items","localeCompare","filteredAndLimitedItems","itemIdx","numItems","idxFrom","idxTo","isInRange","selectedItem","getBoundingClientRect","tempCurrentItem","handleOnKeyDown","cancelKeyCodes","selectCurrentItem","shiftKey","altKey","AutoComplete","_lastIndexOf","errorMessage","showChannel","toggablePass","showNick","connectWithoutChannel","captchaReady","footerText","footer","isNickValid","nickPatternStr","nickPattern","pattern","escapeRegExp","ready","bufferObjs","extractBuffers","bufferObj","connectOptions","previousNet","queryStringVal","processNickRandomNumber","checkPassword","registerMounted","registeredFlag","showPassword","toggablePassword","allowNoChannel","direct_path","onAltClose","altComponent","netAddress","clearMessages","hasSwitchedActiveBuffer","handleCaptcha","connectionInfoFromConfig","Welcome","znc_network_support","show_type_switcher","is_connecting","saveThisSessionsState","applyDefaults","hasSetActiveBuffer","infoClick","CustomServer","_reverse","sidebarOpen","page_size","listState","filteredList","found","sortBy","paginated","offset","canGoForward","canGoBackward","rawTopic","showModes","_values","_TypingStatusIndicator","getActiveNetwork","typingUsers","myNick","TypingUsersList","isOpen","activeComponent","settingShowJoinParts","settingShowTopics","settingShowNickChanges","settingShowModeChanges","settingExtraFormatting","settingColouredNicklist","settingShareTyping","accessTab","_b","sidebarUser","error_message","self_user_settings_open","modeString","netUser","awayStatus","openSelfActions","openProfile","closeSelfUser","onNewNickSubmit","userNameCancel","networkSupportsAway","checkUserAway","getUserFromString","SelfUser","extractURL","stripStyles","mentionsNick","matchUri","parseIntZero","_TextFormatting","strftimeUTC","timezone","spaceIdx","bufferNames","punc","escapedNick","stylesStrippedInput","_name","regex","results","errs","err_unknown_host","err_forbidden","err_timeout","err_refused","err_tls","err_proxy","wsUri","websocket","uri","reg","connectionString","_channelName","hasPrefix","pipePos","colonPos","_place","place","ourPlace","date","_eventEmitter","NetworkProvider","providers","provider","availableNetworks","pType","_assertThisInitialized2","IpcBroadcastChannel","bc","BroadcastChannel","onmessage","postMessage","IpcLocalStorage","_EventEmitter2","_super2","parsedMsg","JSON","IPC","_StateBrowserBuffer","Buffer","channel_filter","channel_filter_display","channel_add_display","channel_add_input_has_focus","channel_add_input","show_channels","show_queries","isActiveNetwork","totalNetworkCount","serverUnread","totalUnread","serverHighlight","filteredBuffers","filtered","orderBuffers","filteredBuffersByType","types","other","queries","channelActivity","activityFromBuffers","queryActivity","showBufferGroups","onNewChannelInputFocus","onNewChannelInputBlur","submitNewChannelForm","newChannelVal","chanName","ignoreNames","onChannelFilterInputBlur","closeFilterChannel","showNetworkChannels","onSearchChannelClick","toggleFilterChannel","toggleAddChannel","StateBrowserNetwork","promptedReason","defaultReason","isDrawn","unreadMessages","header","prefixID","$children","setActiveCheck","getActive","foundChild","child","TabbedView","onColourClick","rgbObj","ircinput","setColour","onResetClick","resetStyles","inputtools","TextStyle","userbox","server_info","selfuser_open","has_focus","toggleSelfUser","submitForm","maybeHidePlugins","autocomplete_items","autocomplete_filter","onAutocompleteTemp","onAutocompleteSelected","onAutocompleteCancel","inputUpdate","inputKeyDown","inputKeyUp","closeInputTool","showPlugins","onToolClickTextStyle","onToolClickEmoji","controlinput","active_tool","active_tool_props","getNextBuffer","getPreviousBuffer","_findIndex","order","messageTypesToShowSetting","traffic","presence","hiddenMessageTypes","getBufferFromDirection","ordered","getNetworkFromDirection","inviteListSorter","aMask","invited","toUpperCase","bMask","inviteList","is_refreshing","supportsAccounts","inviteListAccounts","accounts","inviteListNonAccounts","invites","channelIsInviteOnly","anyRegisteredUserCanJoin","invite","knownAccounts","inviteAccountNames","accountUsers","orderBy","updateInvitelist","displayMask","inviteEvent","removeInvite","addAccountInvite","accountName","addInvite","setInviteOnly","removeInviteOnly","renderEmoticons","showEmoticons","retHtml","classes","linkifyUrl","addHandle","handleClass","linkifyUser","linkifyChannel","addEmoji","buildSpan","nice","cssClass","handleContent","escaped","isSingle","emoji","renderers","Html","buildTree","ignoreKeys","base","modified","ourBase","settingTools","stateBrowserDrawOpen","emitDocumentClick","emitBufferPaste","themeUrl","hasStarted","startupComponent","mediaviewerUrl","mediaviewerComponent","mediaviewerComponentProps","mediaviewerIframe","activeComponentProps","fallbackComponentProps","forceLoader","netStatus","maybeForceLoader","minimumLoaderViewtime","NotConnected","filterString","filteredSettings","resetValue","settingKey","updateSetting","chathistoryMiddleware","batchCallbacks","history","messageReference","callbacks","cbs","targetCallbacks","dateOrTime","after","around","between","fromDateOrTime","toDateOrTime","fromRef","toRef","ChathistoryMiddleware","itemBuffers","_UrlEmbed","iframeSandboxOptions","isIframe","setMaxHeight","setHeight","newHeight","componentProps","_NicklistUser","intlCollator","strCompare","compare","global","Collator","numeric","NicklistUser","userbox_user","prefixOrders","nickMap","bufferUsers","nickFilter","lowercaseNick","bufferId","preSortedUsers","bufferA","bufferB","_msg","modesA","modesB","aP","bP","useColouredNicks","toggleUserFilter","onFilterBlur","Nicklist","UserState","typingState","_target","typing","started","timeout","delete","timeoutLen","_BouncerMiddleware","BouncerProvider","controllerNetwork","rewriteConnections","networksSnapshot","monitoringChanges","onNetworkState","onBouncerNetworks","_bncNetwork$connectio","bncNetwork","_this$parseBncCredent","parseBncCredentials","_this$parseBncCredent2","listenToState","_onNetworkMotd","_this$parseBncCredent3","_this$parseBncCredent4","netid","syncBncNetwork","initAndAddNetworks","_x","_x2","isController","getController","effectedNetwork","getNetworkFromBncNetId","_initAndAddNetworks","_x3","isNetworkInBncList","_net","_syncBncNetwork","_callee3","clientBuffer","existingBuffers","bncBuffer","_x4","_addNetworkToState","_callee4","_x5","server_password","controller","snapshot","networkInfo","snapshotCurrentNetworks","netname","tryNetworkName","bncNetworkPassword","_bncNetworkPassword$s","_bncNetworkPassword$s2","app_width","hasNick","showBufferSettings","showAbout","SidebarState","_defineProperty","nextId","writable","extractMessageId","bodyTemplate","messageList","hasRendered","toBlocks","userList","maybeAutoEmbed","showLinkPreviews","whitelistRegex","isRepeat","isMessage","displayAvatar","MessageAvatar","showRealName","banEvent","unban","canSet","definition","audio","canPlayType","play","show_help","aliasText","currentTarget","requestScrollback","placeholder","updateValueProps","onTextInput","onPaste","onFocus","_MessageListAvatar","prevMessage","generateComputedMode","modeVal","setMode","generateComputedModeWithParam","newTopic","setTopic","prevTopics","updateBanList","_ContainerHeader","_Sidebar","_NotConnected","_ServerView","Sidebar","bufferType","ev","scrollDistance","clientHeight","scrollMax","toggleSidebar","Container","_autocompleteCommands","_AutoComplete","_TextStyle","_Emoji","_SelfUser","_TypingUsersList","autocomplete_open","autocomplete_filtering","current_input_value","activeNetwork","shouldShowSendButton","shouldShowEmojiPicker","shouldShowColorPicker","shouldShowInputButtons","history_pos","setValue","inputRestore","typingTimer","lastTypingTime","ctrlKey","metaKey","arrowKeyCodes","elements","doNotRefocus","insertText","toolComponent","toggleInputTool","currentInput","reset","selectionToEnd","tool","toggleBold","toggleItalic","toggleUnderline","selectedValue","setCurrentWord","autocomplete","currentWord","getCurrentWord","emojiList","addImg","historyBack","historyForward","_currentWord","currentToken","position","inputText","getRawText","buildAutoCompleteItems","openAutoComplete","inputVal","startTyping","stopTyping","rawInput","getValue","ircText","buildIrcText","historyAdd","rawText","bufferList","commandList","desc","settingList","shouldShareTyping","start","sendStopPause","pause","ControlInput","_NetworkProvider","_StateBrowserNetwork","_StateBrowserUsermenu","_AppSettings","netProv","show_provided_networks","provided_networks","isPersistingState","isRestrictedServer","networksToShow","clickAddNetwork","clickAppSettings","hideStatebrowser","connectProvidedNetwork","pNet","StateBrowser","blur","htmlparser","last_known_value","text_value","current_el","current_el_pos","default_colour","code_map","editor","clipboardData","ignoreThisPaste","clpData","ig","getData","clpText","deleteContents","insertNode","createTextNode","anchorOffset","maybeEmitInput","lastChild","currentHtml","textValue","toggles","addToggle","getToggles","parser","Parser","onopentag","attribs","codeLookup","mappedCode","_mappedCode","ontext","onclosetag","pop","decodeEntities","write","rawHtml","br","existingImages","newImg","images","img","prevElCnt","previousSibling","keepPosition","textContent","startVal","space","startPos","endVal","createRange","setStart","setEnd","addRange","innerText","IrcInput","statebrowser","pNets","pNetTypeName","lastPlayed","shouldBleep","inFocus","app_has_focus","available","ascii","Emoji","_trimEnd","_AliasRewriter","inputCommands","InputHandler","aliasRewriter","importFromString","listenForInput","context","TypeError","defaultContext","lines","processLine","validateContext","stylesStrippedLine","escapedCommand","aliasVars","destination","handleMessage","localBuffer","extractedTarget","extractTargetGroup","subLine","dice","sides","rndNumber","number","ctcp","_network$ircClient","ctcpRequest","lineParts","kick","toKick","kickReason","toIgnore","unignore","toUnignore","back","_this6","formats","registered_nick","secure","idle","certfp","logon","actual_ip","actual_hostname","idleSeconds","logonTime","logonDate","whowas","_this7","whowasData","names","addReadBuffer","clear","echo","spacePos","serverAddr","serverPort","serverTls","serverPassword","beep","_trimInstanceProperty","parseMessage","_startsWith","_MessageFormatter","formatOpts","formatedBlocks","acc","processBlock","wordMatch","wordsRegex","specialMatches","matchChannel","matchUrl","matchUser","matchEmoji","mergeMatches","channelMatch","urlMatch","punctuation","urlText","matchText","hasProp","nickIdx","trimWord","normWord","resultBlocks","lastProcessedIndex","specialMatch","beforeMatchContent","MessageParser","addInviteList","addInviteText","invited_by","invited_at","_SidebarState","_UserBox","_SidebarAboutBuffer","_ChannelInvitelist","_Nicklist","ChannelInvitelist","active_network","active_buffer","typingMiddleware","activeTyping","lastSentStatus","TypingMiddleware","_NetworkState","_BufferState","_UserState","_Message","createNewState","stateObj","user_settings","sessionId","last_active_buffers","app_height","favicon_counter","availableStartups","toExport","networkObj","cloneDeep","serialise","stateStr","importObj","importNetwork","impBuffer","latestMessages","$data","userSetting","propName","nextVal","netAddr","serverInfo","networkidReduce","currentMax","channelId","services","findNewNetwork","openLastActiveBuffer","lastActive","targetNetwork","targetBuffer","_network","updateBufferLastRead","toMatch","bufferIdx","messageIdx","bufferMessage","includeAsActivity","typesForActivty","isNewMessage","extraHighlights","patterns","everyone","here","incrementFlag","notifyTitle","notifyMessage","parent","usersArr_","usersArr","newUsers","bufUsers","newUser","normalisedNick","bufferNameLower","oldNick","normalisedNew","normalisedOld","recreate","$destroy","_watchers","_cssVarsPonyfill","_tinycon","_Welcome","_ZncLogin","_CustomServer","_KiwiBnc","_Personal","_StateBrowser","_Container","_ControlInput","mediaviewerOpen","State","listenForActiveComponents","watchForThemes","initStateBrowser","initMediaviewer","configureFavicon","onKeyDown","onBlur","onTouchStart","startupScreens","welcome","customServer","kiwiBnc","znc","personal","extraStartupScreens","startupName","startup","trackWindowDimensions","warnOnPageClose","requestNotificationPermission","iframe","setOptions","fallback","setBubble","_this8","trackWindowDims","clientWidth","_this9","onbeforeunload","onunload","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","App","_sockjsClient","serverConnections","createdChannels","controlChannel","_addr","_socketChannel","createNewConnection","socketChannel","nextChannelId","createChannelOnConnection","wsAddr","ws","onopen","connectStr","onclose","initChannel","ConnectionChannel","sendControlBuffer","remoteState","sendControl","setEncoding","writeLine","ssl","newEncoding","disposeSocket"],"mappings":"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","file":"static/js/app.1c24e917.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vendor\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=style&index=0&lang=css&\"","import { render, staticRenderFns } from \"./StartupError.vue?vue&type=template&id=3613e78a&\"\nimport script from \"./StartupError.vue?vue&type=script&lang=js&\"\nexport * from \"./StartupError.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StartupError.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.requestPermission = requestPermission;\nexports.show = show;\nexports.listenForNewMessages = listenForNewMessages;\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar isEnabled = false;\n\nfunction requestPermission(state) {\n // Do we support notifications?\n if (!('Notification' in window)) {\n isEnabled = false;\n return;\n } // Permissions already been granted?\n\n\n if (Notification.permission === 'granted') {\n state.$emit('notification.enabled');\n isEnabled = true;\n return;\n }\n\n if (Notification.permission !== 'denied') {\n Notification.requestPermission(function (permission) {\n if (permission === 'granted') {\n state.$emit('notification.enabled');\n isEnabled = true;\n } else {\n isEnabled = false;\n }\n });\n }\n}\n\nfunction show(title, body, opts) {\n if (!isEnabled) {\n return false;\n }\n\n var notify = new Notification(title, {\n body: body,\n icon: opts.icon\n });\n\n if (opts.ttl) {\n var _context;\n\n (0, _setTimeout2.default)((0, _bind.default)(_context = notify.close).call(_context, notify), opts.ttl);\n }\n\n return notify;\n}\n\nvar throttledShow = _lodash.default.throttle(show, 2000);\n\nfunction listenForNewMessages(state) {\n state.$on('notification.show', function (message, _opts) {\n if (!isEnabled) {\n return;\n }\n\n var opts = (0, _assign.default)({\n title: 'Kiwi IRC',\n message: message,\n icon: '',\n onclick: null,\n ttl: 10000\n }, _opts);\n\n if (!opts.message) {\n return;\n }\n\n var notification = throttledShow(opts.title, opts.message, {\n ttl: opts.ttl\n });\n\n if (notification && typeof opts.onclick === 'function') {\n notification.onclick = opts.onclick;\n }\n });\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"Notifications\"]\r\nwindow._kiwi_exports.libs.Notifications = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MessageListMessageCompact.vue?vue&type=template&id=23bc1672&scoped=true&functional=true&\"\nimport script from \"./MessageListMessageCompact.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListMessageCompact.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageListMessageCompact.vue?vue&type=style&index=0&id=23bc1672&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n \"23bc1672\",\n null\n \n)\n\nexport default component.exports","// From the Element.closest mdn page.\nif (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n}\n\nif (!Element.prototype.closest) {\n Element.prototype.closest = function closest(s) {\n var el = this;\n\n do {\n if (el.matches(s)) {\n return el;\n }\n\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n\n return null;\n };\n}","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar defaultLogger = makeLogger();\nvar _default = defaultLogger;\nexports.default = _default;\n\nfunction makeLogger(label, rootLogger) {\n function logger() {\n logger.info.apply(logger, arguments);\n }\n\n logger.LEVEL_DEBUG = 2;\n logger.LEVEL_INFO = 1;\n logger.LEVEL_ERROR = 0;\n logger.level = logger.LEVEL_ERROR;\n\n function logLevel(compareLevel) {\n var l = rootLogger || logger;\n return l.level >= compareLevel;\n }\n\n logger.debug = function logDebug() {\n if (logLevel(logger.LEVEL_DEBUG)) {\n var _window$console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (label) {\n var _context;\n\n args[0] = (0, _concat.default)(_context = \"[\".concat(label, \"] DEBUG \")).call(_context, args[0]);\n }\n\n (_window$console = window.console).log.apply(_window$console, args);\n }\n };\n\n logger.info = function logInfo() {\n if (logLevel(logger.LEVEL_INFO)) {\n var _window$console2;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (label) {\n var _context2;\n\n args[0] = (0, _concat.default)(_context2 = \"[\".concat(label, \"] INFO \")).call(_context2, args[0]);\n }\n\n (_window$console2 = window.console).log.apply(_window$console2, args);\n }\n };\n\n logger.error = function logError() {\n if (logLevel(logger.LEVEL_ERROR)) {\n var _window$console3;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (label) {\n var _context3;\n\n args[0] = (0, _concat.default)(_context3 = \"[\".concat(label, \"] ERROR \")).call(_context3, args[0]);\n }\n\n (_window$console3 = window.console).error.apply(_window$console3, args);\n }\n };\n\n logger.assert = function assert(condition) {\n var _context4;\n\n if (condition) {\n return;\n }\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n this.error.apply(this, (0, _concat.default)(_context4 = ['Assertion failed.']).call(_context4, args));\n };\n\n logger.setLevel = function setLevel(newLevel) {\n logger.level = newLevel;\n };\n\n logger.namespace = function namespace(newLabel) {\n var l = newLabel;\n\n if (label) {\n var _context5;\n\n l = (0, _concat.default)(_context5 = \"[\".concat(label, \"][\")).call(_context5, l, \"]\");\n }\n\n return makeLogger(l, logger);\n };\n\n return logger;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"Logger\"]\r\nwindow._kiwi_exports.libs.Logger = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=script&lang=js&\"","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setImmediate2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-immediate\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _common = require(\"./common\");\n\nvar IrcClient = _interopRequireWildcard(require(\"../IrcClient\"));\n\n/** @module */\n\n/** The IRC network instance */\nvar NetworkState = /*#__PURE__*/function () {\n function NetworkState(id, appState, userDict, bufferDict) {\n var _this = this;\n\n (0, _classCallCheck2.default)(this, NetworkState);\n // Enumerable properties that become reactive under Vue\n this.id = id;\n this.name = '';\n this.editable_name = false; // State of the transport\n\n this.state = 'disconnected';\n this.state_error = ''; // Last error from the IRC server. Resets on reconnect\n\n this.last_error = '';\n this.auto_commands = '';\n this.is_znc = false;\n this.is_bnc = false;\n this.hidden = false;\n this.channel_list = [];\n this.channel_list_state = ''; // The IRCd type as mentioned in the 002 numeric\n\n this.ircd = '';\n this.connection = {\n server: '',\n port: 6667,\n tls: false,\n path: '',\n // Server password\n password: '',\n direct: false,\n encoding: 'utf8',\n bncnetid: '',\n nick: ''\n };\n this.settings = {\n show_raw_caps: false\n };\n this.nick = '';\n this.username = '';\n this.gecos = ''; // SASL password\n\n this.password = '';\n this.away = '';\n\n _vue.default.observable(this); // Some non-enumerable properties (vues $watch won't cover these properties)\n\n\n (0, _common.def)(this, 'appState', appState, false);\n (0, _common.def)(this, 'userDict', userDict, false);\n (0, _common.def)(this, 'bufferDict', bufferDict, false);\n (0, _common.def)(this, 'frameworkClient', null, true);\n (0, _common.def)(this, 'users', (0, _create.default)(null), function (newVal) {\n appState.$set(userDict.networks, _this.id, newVal);\n }); // Pending prviate messages awaiting whois operator check\n\n (0, _common.def)(this, 'pendingPms', [], false);\n bufferDict.$set(bufferDict.networks, this.id, []);\n }\n\n (0, _createClass2.default)(NetworkState, [{\n key: \"connect\",\n value: function connect() {\n var _this$ircClient;\n\n (_this$ircClient = this.ircClient).connect.apply(_this$ircClient, arguments);\n }\n }, {\n key: \"bufferByName\",\n value: function bufferByName(name) {\n return this.appState.getBufferByName(this.id, name);\n }\n }, {\n key: \"serverBuffer\",\n value: function serverBuffer() {\n return this.appState.getBufferByName(this.id, '*');\n }\n }, {\n key: \"setting\",\n value: function setting(name, val) {\n if (typeof val !== 'undefined') {\n this.appState.$set(this.settings, name, val);\n return val;\n }\n\n return this.settings[name];\n }\n }, {\n key: \"isChannelName\",\n value: function isChannelName(input) {\n if (typeof input !== 'string' || !input) {\n return false;\n }\n\n var chanPrefixes = this.ircClient.network.supports('CHANTYPES') || '#&';\n return (0, _indexOf.default)(chanPrefixes).call(chanPrefixes, input[0]) > -1;\n }\n }, {\n key: \"showServerBuffer\",\n value: function showServerBuffer(tabName) {\n var _this2 = this;\n\n this.appState.$emit('active.component', null);\n this.appState.setActiveBuffer(this.id, this.serverBuffer().name); // Hacky, but the server buffer component listens for events to switch\n // between tabs\n\n (0, _setImmediate2.default)(function () {\n _this2.appState.$emit('server.tab.show', tabName || 'settings');\n });\n }\n /**\n * Check if a nick is exempt from block PM's\n * @param {String} nick of the user to check\n * @returns {Boolean} If the boolean is null a whois check is required\n */\n\n }, {\n key: \"isNickExemptFromPmBlocks\",\n value: function isNickExemptFromPmBlocks(nick) {\n // Check if nick is op of shared channel\n var buffers = this.appState.getBuffersWithUser(this.id, nick);\n\n for (var i = 0; i < buffers.length; i++) {\n var buffer = buffers[i];\n\n if (buffer.isUserAnOp(nick)) {\n return true;\n }\n }\n\n var user = this.appState.getUser((0, _indexOf.default)(this), nick);\n\n if (!user || !user.hasWhois) {\n // if we have not seen or whois the user they might be a network oper\n // so return null then a whois can be performed\n return null;\n }\n\n if (user.operator) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"currentUser\",\n value: function currentUser() {\n return this.appState.getUser(this.id, this.nick);\n }\n }, {\n key: \"userByName\",\n value: function userByName(nick) {\n return this.appState.getUser(this.id, nick);\n }\n }, {\n key: \"ircClient\",\n get: function get() {\n if (!this.frameworkClient) {\n this.frameworkClient = IrcClient.create(this.appState, this);\n }\n\n return this.frameworkClient;\n }\n }, {\n key: \"buffers\",\n get: function get() {\n return this.bufferDict.networks[this.id];\n }\n }]);\n return NetworkState;\n}();\n\nexports.default = NetworkState;","import { render, staticRenderFns } from \"./UrlEmbed.vue?vue&type=template&id=32b5d18e&\"\nimport script from \"./UrlEmbed.vue?vue&type=script&lang=js&\"\nexport * from \"./UrlEmbed.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UrlEmbed.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar methods = {\n props: {},\n avatar: function avatar(props) {\n // let props = this.props;\n return props.message && props.message.avatar || props.user && props.user.avatar;\n },\n firstNickLetter: function firstNickLetter(props) {\n // let props = this.props;\n return (props.message && props.message.nick || props.user && props.user.nick || '')[0];\n },\n hasAvatar: function hasAvatar(props) {\n // let props = this.props;\n return !!(props.user.avatar && (props.user.avatar.small || props.user.avatar.large));\n },\n isDefault: function isDefault(props) {\n return !this.colour(props) && !this.hasAvatar(props);\n },\n avatarStyle: function avatarStyle(props) {\n // let props = this.props;\n var style = {};\n\n if (this.hasAvatar(props)) {\n var url = props.size === 'small' && this.avatar(props).small ? this.avatar(props).small : // If large was requested but does not exist fallback to small\n this.avatar(props).large || this.avatar(props).small;\n style['background-image'] = \"url(\\\"\".concat(url, \"\\\")\");\n } else {\n style['background-color'] = \"\".concat(this.colour(props));\n }\n\n return style;\n },\n colour: function colour(props) {\n // let props = this.props;\n var user = props.message && props.message.user || props.user;\n return user.getColour();\n }\n};\nvar _default = {\n props: {\n message: Object,\n user: Object,\n size: String\n },\n m: methods\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Avatar\"]\r\nwindow._kiwi_exports.components.Avatar = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('startup-layout',{ref:\"layout\",staticClass:\"kiwi-welcome-znc\",scopedSlots:_vm._u([(!_vm.network || _vm.network.state === 'disconnected')?{key:\"connection\",fn:function(){return [_c('form',{staticClass:\"u-form u-form--big kiwi-welcome-znc-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.formSubmit($event)}}},[_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.greetingText)}}),(_vm.network && (_vm.network.last_error || _vm.network.state_error))?_c('div',{staticClass:\"kiwi-welcome-znc-error\"},[_vm._v(\" We couldn't connect to the server :( \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.network.last_error || _vm.readableStateError(_vm.network.state_error))+\" \")])]):_vm._e(),(_vm.showUser)?_c('input-text',{staticClass:\"kiwi-welcome-znc-nick\",attrs:{\"label\":_vm.$t('username')},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}):_vm._e(),(_vm.showPass)?_c('input-text',{staticClass:\"kiwi-welcome-znc-password\",attrs:{\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}):_vm._e(),(_vm.showNetwork)?_c('input-text',{staticClass:\"kiwi-welcome-znc-channel\",attrs:{\"label\":_vm.$t('network')},model:{value:(_vm.znc_network),callback:function ($$v) {_vm.znc_network=$$v},expression:\"znc_network\"}}):_vm._e(),_c('button',{staticClass:\"u-button u-button-primary u-submit kiwi-welcome-znc-start\",attrs:{\"disabled\":!_vm.readyToStart,\"type\":\"submit\"},domProps:{\"innerHTML\":_vm._s(_vm.buttonText)}})],1)]},proxy:true}:(_vm.network.state !== 'connected')?{key:\"connection\",fn:function(){return [_c('i',{staticClass:\"fa fa-spin fa-spinner\",staticStyle:{\"font-size\":\"2em\",\"margin-top\":\"1em\"}})]},proxy:true}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=script&lang=js&\"","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = parse;\nexports.createNewBlock = createNewBlock;\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar tokens = (0, _create.default)(null);\n/**\n * Token functions may return:\n * null - move forward in the input by the length of the token\n * -1 - do not treat this character as a token and continue as normal content\n * 0+ - move to this point in the input\n */\n\n/* eslint-disable dot-notation */\n\ntokens['_'] = {\n token: '_',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var _context;\n\n if (openToks[this.token]) {\n delete block.styles.underline;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // If this style is alrady open by something else, ignore it\n\n\n if (block.styles.underline === true) {\n return -1;\n } // Underscores may be part of a word or URL so consider it an opening\n\n\n if (pos > 0 && inp[pos - 1] !== ' ') {\n return -1;\n } // token if it's on it's own\n // Only underline if we have a closing _ further on\n\n\n if ((0, _indexOf.default)(_context = inp.substr(pos + 1)).call(_context, this.token) === -1) {\n return -1;\n }\n\n openToks[this.token] = true;\n block.styles.underline = true;\n block.content += this.token;\n return null;\n }\n};\ntokens['*'] = {\n token: '*',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.bold;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // If this style is alrady open by something else, ignore it\n\n\n if (block.styles.bold === true) {\n return -1;\n } // Ignore is after a : character. :* is usually a kiss emoji\n\n\n if (inp[pos - 1] === ':') {\n return -1;\n } // * may be part of a word (ie. pasting code) or URL so only start bolding if * is after a\n // space\n\n\n if (pos > 0 && inp[pos - 1] !== ' ') {\n return -1;\n } // Only style if:\n // * we have a closing * further on\n // * the * further on has a space after it or is the last character\n\n\n var remainingText = inp.substr(pos + 1);\n var nextPos = (0, _indexOf.default)(remainingText).call(remainingText, this.token);\n\n if (nextPos === -1 || nextPos < remainingText.length - 1 && remainingText[nextPos + 1] !== ' ') {\n return -1;\n }\n\n openToks[this.token] = true;\n block.styles.bold = true;\n block.content += this.token;\n return null;\n }\n};\ntokens['**'] = {\n token: '**',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var _context2;\n\n if (openToks[this.token]) {\n delete block.styles.italic;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // If this style is alrady open by something else, ignore it\n\n\n if (block.styles.italic === true) {\n return -1;\n } // Only style if we have a closing ** further on\n\n\n if ((0, _indexOf.default)(_context2 = inp.substr(pos + 1)).call(_context2, this.token) === -1) {\n return -1;\n }\n\n openToks[this.token] = true;\n block.styles.italic = true;\n block.content += this.token;\n return null;\n }\n};\ntokens['`'] = {\n token: '`',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.quote;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // Backticks may be part of a word or NICK so only consider it a codeblock if\n // it's at the start of a scentence or comes after a space\n\n\n if (pos > 0 && inp[pos - 1] !== ' ') {\n return -1;\n } // Find the closing backtick\n\n\n var str = inp.substr(pos + 1);\n var endPos = (0, _indexOf.default)(str).call(str, this.token); // If we don't have a closing backtick further on, don't take this as an opening backtick\n\n if (endPos === -1) {\n return -1;\n } // Only consider the found closing backtick as closing if it comes before a space or is at\n // the end of the text. If it's in the middle of text then it's highly lickely part of that\n // text and not actually closing. eg. `hello and wel`come\n\n\n if (str[endPos + 1] && str[endPos + 1] !== ' ') {\n return -1;\n } // No styling should appear in this codeblock. Add all the content we can\n // before jumping the position forward in the input\n\n\n openToks[this.token] = true;\n block.styles.quote = true;\n block.content += this.token + str.substr(0, endPos);\n block.containsContent = true; // The + 1 because:\n // We added 2 ` characters, but we want the last ` character to call this\n // fn again so it can be closed.\n\n return pos + endPos + 1;\n }\n}; // Bold\n\ntokens['\\x02'] = {\n token: '\\x02',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.bold;\n openToks[this.token] = null;\n } else {\n openToks[this.token] = true;\n block.styles.bold = true;\n }\n\n return null;\n }\n}; // Italic\n\ntokens['\\x1D'] = {\n token: '\\x1D',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.italic;\n openToks[this.token] = null;\n } else {\n openToks[this.token] = true;\n block.styles.italic = true;\n }\n\n return null;\n }\n}; // Underline\n\ntokens['\\x1F'] = {\n token: '\\x1F',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.underline;\n openToks[this.token] = null;\n } else {\n openToks[this.token] = true;\n block.styles.underline = true;\n }\n\n return null;\n }\n}; // Clear all styles\n\ntokens['\\x0F'] = {\n token: '\\x0F',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var _context3, _context4;\n\n (0, _forEach.default)(_context3 = (0, _keys.default)(block.styles)).call(_context3, function (k) {\n return delete block.styles[k];\n });\n (0, _forEach.default)(_context4 = (0, _keys.default)(openToks)).call(_context4, function (k) {\n return delete openToks[k];\n });\n return null;\n }\n}; // Colours\n\ntokens['\\x03'] = {\n token: '\\x03',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var colours = {\n 0: 'white',\n 1: 'black',\n 2: 'blue',\n 3: 'green',\n 4: 'light-red',\n 5: 'brown',\n 6: 'purple',\n 7: 'orange',\n 8: 'yellow',\n 9: 'light-green',\n 10: 'cyan',\n 11: 'light-cyan',\n 12: 'light-blue',\n 13: 'pink',\n 14: 'grey',\n 15: 'light-grey'\n };\n var colourMatchRegexp = /^\\x03(([0-9][0-9]?)(,([0-9][0-9]?))?)/;\n var match = colourMatchRegexp.exec(inp.substr(pos, 6));\n\n if (match) {\n // fg colour = 2, bg colour = 4\n var fgColour = colours[(0, _parseInt2.default)(match[2], 10)];\n var bgColour = colours[(0, _parseInt2.default)(match[4], 10)];\n\n if (typeof fgColour !== 'undefined') {\n block.styles.color = fgColour;\n }\n\n if (typeof bgColour !== 'undefined') {\n block.styles.background = bgColour;\n }\n\n return pos + match[0].length;\n } // 03 without a colour = delete any existing colour\n\n\n delete block.styles.color;\n delete block.styles.background;\n return null;\n }\n}; // Reverse (unimplemented)\n\ntokens['\\x16'] = {\n token: '\\x16',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n return null;\n }\n};\n\nfunction parse(inp, _opts) {\n var opts = _opts || {};\n var block = createNewBlock();\n var blocks = [block];\n var openTokens = (0, _create.default)(null);\n var pos = 0;\n var len = inp.length;\n\n while (pos < len) {\n var tok = findTokenAtPosition();\n\n if (!tok || !opts.extras && tok.extra) {\n block.content += inp[pos];\n block.containsContent = true;\n pos++;\n continue;\n } // Current character is a token of some sort\n\n\n var newBlock = null; // Consecutive tokens can stack up styles into the same blocks. A consecutive\n // token means that the block before it will not have any content yet\n\n if (block.containsContent) {\n newBlock = createNewBlock();\n } else {\n newBlock = block;\n }\n\n (0, _assign.default)(newBlock.styles, block.styles);\n var newPos = tok.fn(inp, pos, newBlock, block, openTokens);\n\n if (newPos === -1) {\n // The token invalidated itself so treat it as content\n block.content += tok.token;\n block.containsContent = true;\n pos += tok.token.length;\n continue;\n }\n\n block = newBlock; // This block may have already been pushed if this is a consecutive token\n\n if (blocks[blocks.length - 1] !== newBlock) {\n blocks.push(newBlock);\n }\n\n if (typeof newPos === 'number') {\n pos = newPos;\n } else {\n pos += tok.token.length;\n }\n }\n\n return blocks;\n\n function findTokenAtPosition() {\n var tok = tokens[inp.substr(pos, 2)] || tokens[inp[pos]];\n return tok;\n }\n}\n\nfunction createNewBlock() {\n var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var styles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';\n var meta = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var newBlock = {\n styles: styles,\n content: content,\n containsContent: !!content,\n type: type,\n meta: meta\n };\n return newBlock;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"MessageFormatter\"]\r\nwindow._kiwi_exports.libs.MessageFormatter = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-input-prompt\",style:({display: _vm.block ? 'block' : 'inline-block'})},[(_vm.state==='pre')?_c('div',{on:{\"click\":_vm.prompt}},[_vm._t(\"default\")],2):_vm._e(),(_vm.state==='prompt')?_c('form',{staticClass:\"u-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.complete($event)}}},[_c('span',{staticClass:\"u-input-prompt-label\"},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"u-input-prompt-inputs\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"u-input\",domProps:{\"value\":(_vm.value)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.cancel($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.value=$event.target.value}}}),_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.complete}},[_vm._v(_vm._s(_vm.$t('ok')))]),(!_vm.hideCancel)?_c('a',{staticClass:\"u-button u-button-warning\",on:{\"click\":_vm.cancel}},[_vm._v(\" \"+_vm._s(_vm.$t('cancel'))+\" \")]):_vm._e()])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _MessageList = _interopRequireDefault(require(\"./MessageList\"));\n\nvar _NetworkSettings = _interopRequireDefault(require(\"./NetworkSettings\"));\n\nvar _ChannelList = _interopRequireDefault(require(\"./ChannelList\"));\n\nvar _default = {\n components: {\n MessageList: _MessageList.default,\n NetworkSettings: _NetworkSettings.default,\n ChannelList: _ChannelList.default\n },\n props: ['network'],\n data: function data() {\n return {\n pluginUiElements: _GlobalApi.default.singleton().serverViewPlugins\n };\n },\n computed: {\n hasMessages: function hasMessages() {\n return this.network.serverBuffer().getMessages().length > 0;\n },\n serverBuffer: function serverBuffer() {\n return this.network.serverBuffer();\n },\n restrictedServer: function restrictedServer() {\n return this.$state.setting('restricted');\n },\n networkConnected: function networkConnected() {\n return this.network.state === 'connected';\n }\n },\n watch: {\n networkConnected: function networkConnected() {\n var _this = this;\n\n this.$nextTick(function () {\n // Vue won't update the tabs being displayed here so we to\n // manually update a property to force a re-render of the tabs\n _this.$refs.tabs.a++;\n });\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.listen(this.$state, 'server.tab.show', function (tabName) {\n _this2.showTab(tabName);\n });\n },\n methods: {\n showTab: function showTab(tabName) {\n this.$refs.tabs.setActiveByName(tabName);\n },\n tabChanged: function tabChanged(tabName) {\n this.serverBuffer.show_input = tabName === 'messages';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ServerView\"]\r\nwindow._kiwi_exports.components.ServerView = exports.default ? exports.default : exports;\r\n","module.exports = __webpack_public_path__ + \"static/img/kiwiLoadingLogo.ee10be5a.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-messageinfo\",on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.message.mentioned_urls.length > 0)?_c('div',{staticClass:\"kiwi-messageinfo-urls\"},_vm._l((_vm.message.mentioned_urls),function(url){return _c('div',{key:url,staticClass:\"kiwi-messageinfo-url\"},[_c('a',{staticClass:\"u-button u-button-secondary\",on:{\"click\":function($event){return _vm.urlPreview(url)}}},[_vm._v(\"Preview\")]),_c('a',{staticClass:\"u-link\",attrs:{\"href\":url,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(url)+\" \")])])}),0):_vm._e(),_c('div',{staticClass:\"kiwi-messageinfo-actions\",class:{'kiwi-messageinfo-actions--open': _vm.requestingInput}},[(!_vm.requestingInput)?_c('a',{staticClass:\"u-link kiwi-messageinfo-reply\",on:{\"click\":_vm.openQuery}},[_vm._v(\" Reply in private \")]):_vm._e(),(_vm.areWeAnOp() && !_vm.isSelf())?_c('div',{staticClass:\"kiwi-messageinfo-opbuttons\"},[_c('input-prompt',{attrs:{\"label\":\"Kick reason:\"},on:{\"submit\":_vm.onKick,\"cancel\":function($event){_vm.requestingInput = false}}},[(!_vm.requestingInput)?_c('a',{staticClass:\"u-link kiwi-messageinfo-kick-user\",on:{\"click\":function($event){_vm.requestingInput = true}}},[_vm._v(\" Kick \"+_vm._s(_vm.message.nick)+\" \")]):_vm._e()]),_c('input-prompt',{attrs:{\"label\":\"Ban reason:\"},on:{\"submit\":_vm.onBan,\"cancel\":function($event){_vm.requestingInput = false}}},[(!_vm.requestingInput)?_c('a',{staticClass:\"u-link kiwi-messageinfo-ban-user\",on:{\"click\":function($event){_vm.requestingInput = true}}},[_vm._v(\" Ban \"+_vm._s(_vm.message.nick)+\" \")]):_vm._e()])],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('input-text', {\n props: ['value', 'label', 'type', 'showPlainText'],\n data: function data() {\n return {\n plainTextEnabled: false,\n inputIdCache: ''\n };\n },\n computed: {\n inputId: function inputId() {\n if (!this.inputIdCache) {\n // eslint-disable-next-line\n this.inputIdCache = 'inp_' + Math.floor(Math.random() * 1e17).toString(36);\n }\n\n return this.inputIdCache;\n },\n currentValue: {\n get: function getCurrentValue() {\n return this.value;\n },\n set: function setCurrentValue(newVal) {\n this.$emit('input', newVal);\n }\n }\n },\n methods: {\n updateValue: function updateValue(newValue) {\n this.$emit('input', newValue);\n },\n isEdgeBrowser: function isEdgeBrowser() {\n var _context;\n\n return (0, _indexOf.default)(_context = navigator.appVersion).call(_context, 'Edge') > -1;\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"InputText\"]\r\nwindow._kiwi_exports.components.utils.InputText = exports.default ? exports.default : exports;\r\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-nicklist-user\",class:[\n _vm.props.nicklist.userMode(_vm.props.user) ?\n 'kiwi-nicklist-user--mode-' + _vm.props.nicklist.userMode(_vm.props.user) :\n '',\n _vm.props.user.away ? 'kiwi-nicklist-user--away' : '',\n _vm.props.user.ignore ? 'kiwi-nicklist-user--ignore' : '',\n _vm.data.staticClass ],attrs:{\"data-nick\":(_vm.props.user.nick||'').toLowerCase()},on:{\"click\":function($event){return _vm.props.nicklist.openUserbox(_vm.props.user)}}},[(_vm.props.m().shouldShowAvatars())?_c('div',{staticClass:\"kiwi-avatar-container\"},[(_vm.props.user)?_c(_vm.injections.components.Avatar,{tag:\"component\",attrs:{\"user\":_vm.props.user,\"size\":\"small\"}}):_vm._e(),_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",attrs:{\"network\":_vm.props.network,\"user\":_vm.props.user,\"toggle\":false}})],1):_c('div',[_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",attrs:{\"network\":_vm.props.network,\"user\":_vm.props.user,\"toggle\":false}})],1),_c('span',{staticClass:\"kiwi-nicklist-user-prefix\"},[_vm._v(\" \"+_vm._s(_vm.props.nicklist.userModePrefix(_vm.props.user))+\" \")]),_c('span',{staticClass:\"kiwi-nicklist-user-nick\",style:({ 'color': _vm.props.m().userColour() })},[_vm._v(_vm._s(_vm.props.user.nick)+\" \")]),_c('span',{staticClass:\"kiwi-nicklist-messageuser\",on:{\"click\":function($event){$event.stopPropagation();return _vm.props.nicklist.openQuery(_vm.props.user)}}},[_c('i',{staticClass:\"fa fa-comment\",attrs:{\"aria-hidden\":\"true\"}})]),_c(_vm.injections.components.TypingStatusIndicator,{tag:\"component\",attrs:{\"user\":_vm.props.user,\"buffer\":_vm.props.nicklist.buffer}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NetworkSettings.vue?vue&type=template&id=5c460638&\"\nimport script from \"./NetworkSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./NetworkSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NetworkSettings.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=style&index=0&lang=less&\"","import { render, staticRenderFns } from \"./Container.vue?vue&type=template&id=0a567944&\"\nimport script from \"./Container.vue?vue&type=script&lang=js&\"\nexport * from \"./Container.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Container.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-input-text\"},[(_vm.label)?_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_c('div',{staticClass:\"u-input-text-inputs\",staticStyle:{\"display\":\"flex\"}},[(_vm.type==='password')?[((_vm.plainTextEnabled && !_vm.isEdgeBrowser() ? 'text' : 'password')==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",class:{'u-form-input-plaintext' : !_vm.isEdgeBrowser() && _vm.showPlainText},attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentValue)?_vm._i(_vm.currentValue,null)>-1:(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"change\":function($event){var $$a=_vm.currentValue,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.currentValue=$$a.concat([$$v]))}else{$$i>-1&&(_vm.currentValue=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.currentValue=$$c}}}}):((_vm.plainTextEnabled && !_vm.isEdgeBrowser() ? 'text' : 'password')==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",class:{'u-form-input-plaintext' : !_vm.isEdgeBrowser() && _vm.showPlainText},attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.currentValue,null)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"change\":function($event){_vm.currentValue=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",class:{'u-form-input-plaintext' : !_vm.isEdgeBrowser() && _vm.showPlainText},attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\",\"type\":_vm.plainTextEnabled && !_vm.isEdgeBrowser() ? 'text' : 'password'},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}),(_vm.showPlainText && !_vm.isEdgeBrowser())?_c('i',{staticClass:\"u-input-text-plaintext fa fa-eye\",class:{'u-input-text-plaintext--active': _vm.plainTextEnabled},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){_vm.plainTextEnabled = !_vm.plainTextEnabled}}}):_vm._e()]:(_vm.type==='number')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",attrs:{\"id\":_vm.inputId,\"type\":\"number\"},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}):(_vm.type==='textarea')?_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",attrs:{\"id\":_vm.inputId},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}),(_vm.$slots.default)?_c('div',{staticClass:\"u-input-text-c\"},[_vm._t(\"default\")],2):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar createdInstance = null;\n\nvar ThemeManager = /*#__PURE__*/function () {\n function ThemeManager(state) {\n (0, _classCallCheck2.default)(this, ThemeManager);\n this.state = state;\n this.listenForIrcEvents();\n this.varsEl = null;\n }\n\n (0, _createClass2.default)(ThemeManager, [{\n key: \"themeVar\",\n value: function themeVar(varName) {\n var _context;\n\n if (!this.varsEl) {\n this.varsEl = document.querySelector('.kiwi-wrap');\n }\n\n var styles = window.getComputedStyle(this.varsEl);\n var v = styles.getPropertyValue('--kiwi-' + varName);\n return (0, _trim.default)(_context = v || '').call(_context);\n }\n }, {\n key: \"availableThemes\",\n value: function availableThemes() {\n return this.state.settings.themes;\n }\n }, {\n key: \"currentTheme\",\n value: function currentTheme() {\n var state = this.state;\n var currentThemeName = state.setting('theme');\n currentThemeName = currentThemeName.toLowerCase();\n var theme = (0, _find.default)(_lodash.default).call(_lodash.default, state.settings.themes, function (t) {\n var isMatch = t.name.toLowerCase() === currentThemeName;\n return isMatch;\n }); // If no theme was set, use the first one in our theme list\n\n if (!theme) {\n theme = state.settings.themes[0];\n }\n\n return theme;\n }\n }, {\n key: \"setTheme\",\n value: function setTheme(theme) {\n var theTheme = null;\n\n if (typeof theme === 'string') {\n // Make sure this theme exists\n theTheme = (0, _find.default)(_lodash.default).call(_lodash.default, this.availableThemes(), function (t) {\n var isMatch = t.name.toLowerCase() === theme.toLowerCase();\n return isMatch;\n });\n\n if (!theTheme) {\n return;\n }\n } else {\n theTheme = theme;\n }\n\n this.state.setting('theme', theTheme.name);\n this.state.$emit('theme.change');\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var theme = this.currentTheme();\n\n if (!theme) {\n return;\n }\n\n var url = theme.url;\n\n if ((0, _indexOf.default)(url).call(url, 'cb=') > -1) {\n url = url.replace(/cb=[0-9]+/, function () {\n return 'cb=' + (0, _now.default)();\n });\n } else if ((0, _indexOf.default)(url).call(url, '?') > -1) {\n url += '&cb=' + (0, _now.default)();\n } else {\n url += '?cb=' + (0, _now.default)();\n }\n\n theme.url = url;\n this.state.$emit('theme.change');\n }\n }, {\n key: \"setCustomThemeUrl\",\n value: function setCustomThemeUrl(url) {\n var theme = (0, _find.default)(_lodash.default).call(_lodash.default, ThemeManager.instance().availableThemes(), {\n name: 'custom'\n });\n\n if (theme) {\n theme.url = url;\n }\n\n if (theme.name === 'custom') {\n this.state.$emit('theme.change');\n }\n } // When we get a CTCP 'kiwi theme reload' then reload our theme. Handy for theme devs\n\n }, {\n key: \"listenForIrcEvents\",\n value: function listenForIrcEvents() {\n var _this = this;\n\n this.state.$on('irc.ctcp request', function (event, network) {\n var _context2;\n\n var ctcpType = (event.type || '').toLowerCase();\n\n if (ctcpType === 'kiwi' && (0, _indexOf.default)(_context2 = event.message).call(_context2, 'theme reload') > -1) {\n _this.reload();\n }\n });\n }\n }], [{\n key: \"themeUrl\",\n value: function themeUrl(theme) {\n var parts = theme.url.split('?');\n var url = parts[0];\n var qs = parts[1] || '';\n\n if (url[url.length - 1] !== '/') {\n url += '/';\n }\n\n return url + 'theme.css' + (qs ? '?' + qs : '');\n }\n }]);\n return ThemeManager;\n}();\n\nexports.default = ThemeManager;\n\nThemeManager.instance = function instance(state) {\n if (!createdInstance) {\n createdInstance = new ThemeManager(state);\n }\n\n return createdInstance;\n};\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ThemeManager\"]\r\nwindow._kiwi_exports.libs.ThemeManager = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-input-confirm kiwi-theme-bg\"},[(_vm.state==='pre')?_c('div',{on:{\"click\":_vm.prompt}},[_vm._t(\"default\")],2):_vm._e(),(_vm.state==='prompt')?[_c('span',{staticClass:\"u-input-confirm-label\"},[_vm._v(_vm._s(_vm.label))]),_c('a',{staticClass:\"u-button\",class:['u-button-'+_vm.connoteCss.yes],on:{\"click\":function($event){return _vm.complete(true)}}},[_vm._v(\" \"+_vm._s(_vm.$t('yes'))+\" \")]),_c('a',{staticClass:\"u-button\",class:['u-button-'+_vm.connoteCss.no],on:{\"click\":function($event){return _vm.complete(false)}}},[_vm._v(\" \"+_vm._s(_vm.$t('no'))+\" \")])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Converts a hex CSS color value to RGB.\n * Adapted from http://stackoverflow.com/a/5624139.\n *\n * @param {String} _hex The hexadecimal color value\n * @return {Object} The RGB representation\n */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.hex2rgb = hex2rgb;\nexports.rgb2hex = rgb2hex;\nexports.rgb2hsl = rgb2hsl;\nexports.hsl2rgb = hsl2rgb;\nexports.rgb2rgbString = rgb2rgbString;\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nfunction hex2rgb(_hex) {\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\n var hex = _hex.replace(shorthandRegex, function (m, r, g, b) {\n return r + r + g + g + b + b;\n });\n\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: (0, _parseInt2.default)(result[1], 16),\n g: (0, _parseInt2.default)(result[2], 16),\n b: (0, _parseInt2.default)(result[3], 16)\n } : null;\n}\n/**\n * Converts an RGB color value to a hex string.\n * @param {Object} rgb RGB as r, g, and b keys\n * @return {String} Hex color string\n */\n\n\nfunction rgb2hex(rgb) {\n var _context;\n\n return '#' + (0, _map.default)(_context = ['r', 'g', 'b']).call(_context, function (key) {\n var _context2;\n\n return (0, _slice.default)(_context2 = '0' + rgb[key].toString(16)).call(_context2, -2);\n }).join('');\n}\n/**\n * Converts an RGB color value to HSL. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes r, g, and b are contained in the set [0, 255] and\n * returns h, s, and l in the set [0, 1].\n *\n * @param Object rgb RGB as r, g, and b keys\n * @return Object HSL as h, s, and l keys\n */\n\n\nfunction rgb2hsl(rgb) {\n var r = rgb.r;\n var g = rgb.g;\n var b = rgb.b;\n r /= 255;\n g /= 255;\n b /= 255;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n if (max === r) {\n h = (g - b) / d + (g < b ? 6 : 0);\n } else if (max === g) {\n h = (b - r) / d + 2;\n } else if (max === b) {\n h = (r - g) / d + 4;\n }\n\n h /= 6;\n }\n\n return {\n h: h,\n s: s,\n l: l\n };\n}\n/**\n * Converts an HSL color value to RGB. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes h, s, and l are contained in the set [0, 1] and\n * returns r, g, and b in the set [0, 255].\n *\n * @param Object hsl HSL as h, s, and l keys\n * @return Object RGB as r, g, and b values\n */\n\n\nfunction hsl2rgb(hsl) {\n function hue2rgb(_p, _q, _t) {\n var p = _p;\n var q = _q;\n var t = _t;\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n var h = hsl.h;\n var s = hsl.s;\n var l = hsl.l;\n var r = 0;\n var g = 0;\n var b = 0;\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255)\n };\n}\n\nfunction rgb2rgbString(rgb) {\n return 'rgb(' + [rgb.r, rgb.g, rgb.b].join(',') + ')';\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"Colours\"]\r\nwindow._kiwi_exports.helpers.Colours = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./SelfUser.vue?vue&type=template&id=cd4c5738&\"\nimport script from \"./SelfUser.vue?vue&type=script&lang=js&\"\nexport * from \"./SelfUser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SelfUser.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageList.vue?vue&type=template&id=4bc10cb4&\"\nimport script from \"./MessageList.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageList.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./ServerView.vue?vue&type=template&id=604d1314&\"\nimport script from \"./ServerView.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServerView.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _includes = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/includes\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _some = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/some\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _reduce = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reduce\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _common = require(\"./common\");\n\nvar _batchedAdd = _interopRequireDefault(require(\"../batchedAdd\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"../bufferTools\"));\n\n/** @module */\nvar nextBufferId = 0;\n/** The IRC buffer instance */\n\nvar BufferState = /*#__PURE__*/function () {\n function BufferState(name, networkid, state, messageDict) {\n (0, _classCallCheck2.default)(this, BufferState);\n // Enumerable properties that become reactive under Vue\n this.id = nextBufferId++;\n this.networkid = networkid;\n this.name = name;\n this.topics = [];\n this.key = '';\n this.joined = false;\n this.enabled = true;\n this.created_at = null;\n this.users = (0, _create.default)(null);\n this.modes = (0, _create.default)(null);\n this.flags = {\n unread: 0,\n has_opened: false,\n channel_badkey: false,\n chathistory_available: true,\n requested_modes: false,\n requested_banlist: false,\n is_requesting_chathistory: false\n };\n this.settings = {};\n this.last_read = 0;\n this.active_timeout = null;\n this.message_count = 0;\n this.current_input = '';\n this.input_history = [];\n this.input_history_pos = 0;\n this.show_input = true;\n this.latest_messages = []; // Counter for chathistory requests. While this value is 0, it means that this buffer is\n // still loading messages\n\n this.chathistory_request_count = 0;\n\n _vue.default.observable(this); // Some non-enumerable properties (vues $watch won't cover these properties)\n\n\n (0, _common.def)(this, 'state', state, false);\n (0, _common.def)(this, 'messageDict', messageDict, false);\n var messagesObj = {\n networkid: this.networkid,\n buffer: this.name,\n messages: [],\n messageIds: (0, _create.default)(null)\n };\n this.messageDict.push(messagesObj);\n (0, _common.def)(this, 'messagesObj', messagesObj, false);\n (0, _common.def)(this, 'isMessageTrimming', true, true);\n (0, _common.def)(this, 'addMessageBatch', createMessageBatch(this), false);\n (0, _common.def)(this, 'addUserBatch', createUserBatch(this), false); // poll who to update away status if away-notify is not enabled\n\n if (this.isChannel()) {\n maybeStartWhoLoop(this);\n } // When the network re-connects, we reset the chathistory request counter.\n // This will make the `getLoadingState()` stay as 'loading' while the chathistory reloads.\n\n\n function onNetworkConnecting(event) {\n if (event.network === this.getNetwork()) {\n this.chathistory_request_count = 0;\n }\n }\n\n function onNetworkMotd(event, network) {\n if (network === this.getNetwork() && this.isQuery()) {\n this.requestLatestScrollback();\n }\n } // Clean up the previous event and itself when the buffer is closed.\n\n\n function onBufferClose(event) {\n if (event.buffer === this) {\n this.state.$off('network.connecting', onNetworkConnectingBound);\n this.state.$off('buffer.close', onBufferCloseBound);\n this.state.$off('irc.motd', onNetworkMotdBound);\n }\n }\n\n var onNetworkConnectingBound = (0, _bind.default)(onNetworkConnecting).call(onNetworkConnecting, this);\n var onBufferCloseBound = (0, _bind.default)(onBufferClose).call(onBufferClose, this);\n var onNetworkMotdBound = (0, _bind.default)(onNetworkMotd).call(onNetworkMotd, this);\n state.$on('network.connecting', onNetworkConnectingBound);\n state.$on('buffer.close', onBufferCloseBound);\n state.$on('irc.motd', onNetworkMotdBound);\n\n if (this.isQuery() && this.getNetwork().ircClient.chathistory.isSupported()) {\n // Get PM message histories, while channel buffers request it after their nicklist\n // has been received\n this.requestLatestScrollback();\n }\n }\n\n (0, _createClass2.default)(BufferState, [{\n key: \"getNetwork\",\n value: function getNetwork() {\n return this.state.getNetwork(this.networkid);\n }\n }, {\n key: \"getMessages\",\n value: function getMessages() {\n var bufMessages = (0, _find.default)(_lodash.default).call(_lodash.default, this.messageDict, {\n networkid: this.networkid,\n buffer: this.name\n });\n return bufMessages ? bufMessages.messages : [];\n }\n }, {\n key: \"clearMessages\",\n value: function clearMessages() {\n var _context;\n\n (0, _splice.default)(_context = this.messagesObj.messages).call(_context, 0, this.messagesObj.messages.length);\n this.messagesObj.messageIds = (0, _create.default)(null);\n } // Remove a block of messages between a time (server-time) range. Inclusive.\n\n }, {\n key: \"clearMessageRange\",\n value: function clearMessageRange(startTime, endTime) {\n var _context2,\n _this = this;\n\n this.messagesObj.messages = (0, _filter.default)(_context2 = this.messagesObj.messages).call(_context2, function (message) {\n if (message.server_time < startTime || message.server_time > endTime) {\n return true;\n } // This message will be removed\n\n\n delete _this.messagesObj.messageIds[message.id];\n return false;\n }); // Mark that something changed\n\n this.message_count++;\n }\n }, {\n key: \"isServer\",\n value: function isServer() {\n return this.name === '*';\n }\n }, {\n key: \"isChannel\",\n value: function isChannel() {\n var chanPrefixes = ['#', '&'];\n var ircNetwork = this.getNetwork().ircClient.network;\n\n if (ircNetwork && ircNetwork.options.CHANTYPES) {\n chanPrefixes = ircNetwork.options.CHANTYPES;\n }\n\n return (0, _indexOf.default)(chanPrefixes).call(chanPrefixes, this.name[0]) > -1;\n }\n }, {\n key: \"isQuery\",\n value: function isQuery() {\n var chanPrefixes = ['#', '&'];\n var ircNetwork = this.getNetwork().ircClient.network;\n\n if (ircNetwork && ircNetwork.options.CHANTYPES) {\n chanPrefixes = ircNetwork.options.CHANTYPES;\n }\n\n return (0, _indexOf.default)(chanPrefixes).call(chanPrefixes, this.name[0]) === -1 && !this.isSpecial() && !this.isServer();\n }\n }, {\n key: \"isSpecial\",\n value: function isSpecial() {\n // Special buffer names (Usually controller queries, like *status or *raw).\n // Server buffer '*' is not included in this classification.\n var name = this.name;\n return name[0] === '*' && name.length > 1;\n }\n }, {\n key: \"isUserAnOp\",\n value: function isUserAnOp(nick) {\n var user = this.state.getUser(this.networkid, nick);\n\n if (!user) {\n return false;\n }\n\n var userBufferInfo = user.buffers[this.id];\n\n if (!userBufferInfo) {\n return false;\n }\n\n var modes = userBufferInfo.modes;\n var opModes = ['Y', 'y', 'q', 'a', 'o', 'h'];\n var hasOp = (0, _find.default)(_lodash.default).call(_lodash.default, modes, function (mode) {\n return (0, _indexOf.default)(opModes).call(opModes, mode.toLowerCase()) > -1;\n });\n return !!hasOp;\n }\n /**\n * Get a users prefix symbol on a buffer from its modes\n * @param {Object} user The user object\n */\n\n }, {\n key: \"userModePrefix\",\n value: function userModePrefix(user) {\n // The user may not be on the buffer\n if (!user.buffers[this.id]) {\n return '';\n }\n\n var modes = user.buffers[this.id].modes;\n\n if (modes.length === 0) {\n return '';\n }\n\n var network = this.getNetwork();\n var netPrefixes = network.ircClient.network.options.PREFIX; // Find the first (highest) netPrefix in the users buffer modes\n\n var prefix = (0, _find.default)(_lodash.default).call(_lodash.default, netPrefixes, function (p) {\n return (0, _indexOf.default)(modes).call(modes, p.mode) > -1;\n });\n return prefix ? prefix.symbol : '';\n }\n /**\n * Get a users mode on a buffer\n * @param user {Object} The user object\n */\n\n }, {\n key: \"userMode\",\n value: function userMode(user) {\n // The user may not be on the buffer\n if (!user.buffers[this.id]) {\n return '';\n }\n\n var modes = user.buffers[this.id].modes;\n\n if (modes.length === 0) {\n return '';\n } // if there is only one mode just return it\n\n\n if (modes.length === 1) {\n return modes[0];\n }\n\n var network = this.getNetwork();\n var netPrefixes = network.ircClient.network.options.PREFIX; // Find the first (highest) netPrefix in the users buffer modes\n\n var prefix = (0, _find.default)(_lodash.default).call(_lodash.default, netPrefixes, function (p) {\n return (0, _indexOf.default)(modes).call(modes, p.mode) > -1;\n });\n return prefix ? prefix.mode : '';\n }\n }, {\n key: \"setting\",\n value: function setting(name, val) {\n if (typeof val !== 'undefined') {\n this.state.$set(this.settings, name, val);\n return val;\n } // Check the buffer specific settings before reverting to global settings\n\n\n var result = typeof this.settings[name] !== 'undefined' ? this.settings[name] : this.state.setting('buffers.' + name);\n return result;\n }\n }, {\n key: \"rename\",\n value: function rename(newName) {\n var network = this.getNetwork();\n var oldName = this.name;\n var setActive = this.state.getActiveBuffer() === this;\n this.name = newName;\n\n if (setActive) {\n this.state.setActiveBuffer(network.id, newName);\n } // update the buffer name on our messages\n\n\n var bufferMessages = (0, _find.default)(_lodash.default).call(_lodash.default, this.messageDict, {\n networkid: network.id,\n buffer: oldName\n });\n bufferMessages.buffer = newName;\n }\n }, {\n key: \"flag\",\n value: function flag(name, val) {\n if (typeof val !== 'undefined') {\n this.state.$set((0, _flags.default)(this), name, val);\n return val;\n }\n\n return (0, _flags.default)(this)[name];\n }\n }, {\n key: \"requestScrollback\",\n value: function requestScrollback(_direction) {\n var _this2 = this;\n\n var direction = _direction || 'backward';\n var time = '';\n var chathistoryFuncName = 'before'; // Going backwards takes the earliest message we already have and requests messages\n // before it. Going forward takes the last message we have and requests messages after\n // it.\n\n if (direction === 'backward') {\n var _context3;\n\n var lastMessage = (0, _reduce.default)(_context3 = this.getMessages()).call(_context3, function (earliest, current) {\n var ignoreTypes = ['traffic', 'topic', 'connection', 'presence'];\n var validType = (0, _indexOf.default)(ignoreTypes).call(ignoreTypes, earliest.type) === -1;\n\n if (validType && earliest.time && earliest.time < current.time) {\n return earliest;\n }\n\n return current;\n }, this.getMessages()[0]);\n chathistoryFuncName = 'before';\n time = lastMessage ? new Date(lastMessage.server_time) : new Date();\n } else if (direction === 'forward') {\n var _context4;\n\n var firstMessage = (0, _reduce.default)(_context4 = this.getMessages()).call(_context4, function (latest, current) {\n var ignoreTypes = ['traffic', 'topic', 'connection', 'presence'];\n var validType = (0, _indexOf.default)(ignoreTypes).call(ignoreTypes, latest.type) === -1;\n\n if (validType && latest.time && latest.time > current.time) {\n return latest;\n }\n\n return current;\n }, this.getMessages()[0]);\n chathistoryFuncName = 'after';\n time = firstMessage ? new Date(firstMessage.server_time) : new Date();\n } else {\n throw new Error('Invalid direction for requestScrollback(): ' + _direction);\n }\n\n var ircClient = this.getNetwork().ircClient;\n this.flag('is_requesting_chathistory', true);\n this.chathistory_request_count += 1;\n var existingMessageIds = (0, _assign.default)({}, this.messagesObj.messageIds);\n ircClient.chathistory[chathistoryFuncName](this.name, time).then(function (event) {\n var _context5;\n\n if (!event) {\n _this2.flag('chathistory_available', false);\n\n return;\n } // The BNC server may reply with messages that are already in the buffer.\n // If we get no new messages that we didn't already have, assume that we have\n // all the available history\n\n\n var hasNewMessages = (0, _some.default)(_context5 = event.commands).call(_context5, function (msg) {\n return msg.tags.msgid && !existingMessageIds[msg.tags.msgid];\n }); // If there are new messages, then there could be more in the backlog.\n // If there are no new messages, then the chat history is empty.\n\n _this2.flag('chathistory_available', hasNewMessages);\n }).finally(function () {\n _this2.flag('is_requesting_chathistory', false);\n });\n }\n }, {\n key: \"requestLatestScrollback\",\n value: function requestLatestScrollback() {\n var _this3 = this;\n\n var ircClient = this.getNetwork().ircClient;\n this.flag('is_requesting_chathistory', true);\n this.chathistory_request_count += 1;\n ircClient.chathistory.before(this.name, '*').finally(function () {\n _this3.flag('is_requesting_chathistory', false);\n });\n }\n }, {\n key: \"markAsRead\",\n value: function markAsRead(delayed) {\n if (this.active_timeout) {\n clearTimeout(this.active_timeout);\n this.active_timeout = null;\n }\n\n if (delayed) {\n var _context6;\n\n this.active_timeout = (0, _setTimeout2.default)((0, _bind.default)(_context6 = this.markAsRead).call(_context6, this), 10000, false);\n } else {\n this.last_read = (0, _now.default)();\n this.flag('highlight', false); // If running under a bouncer, set it on the server-side too\n\n var network = this.getNetwork();\n var allowedUpdate = !network ? false : this.isChannel() || this.isQuery();\n\n if (allowedUpdate && network.connection.bncnetid) {\n network.ircClient.bnc.bufferSeen(network.connection.bncnetid, this.name);\n }\n }\n }\n }, {\n key: \"incrementFlag\",\n value: function incrementFlag(flagName) {\n (0, _flags.default)(this)[flagName] = ((0, _flags.default)(this)[flagName] || 0) + 1;\n }\n }, {\n key: \"addUser\",\n value: function addUser(user) {\n this.addUserBatch(user);\n }\n }, {\n key: \"hasNick\",\n value: function hasNick(nick) {\n var nickLower = nick.toLowerCase();\n return nickLower in this.users || this.isQuery() && this.name.toLowerCase() === nickLower;\n }\n }, {\n key: \"hasMode\",\n value: function hasMode(mode) {\n var _context7;\n\n return (0, _indexOf.default)(_context7 = (0, _keys.default)(this.modes)).call(_context7, mode) > -1;\n }\n }, {\n key: \"shouldShareTyping\",\n value: function shouldShareTyping() {\n var network = this.getNetwork();\n\n if (!this.setting('share_typing')) {\n // Feature disabled\n return false;\n }\n\n if (!this.isChannel() && !this.isQuery()) {\n // Qnly share tying with channels and queries\n return false;\n }\n\n if (this.isChannel() && !this.joined) {\n // Channel is in an unjoined state\n return false;\n }\n\n if (this.hasMode('m') && !this.userMode(network.currentUser())) {\n // Channel is moderated (+m) and we do not have a user mode +v or above\n return false;\n }\n\n return true;\n }\n }, {\n key: \"removeUser\",\n value: function removeUser(nick) {\n var userObj = this.state.getUser(this.networkid, nick); // A user could be queued to be added, so make sure it's not there as it\n // would just be added again. Eg. user joins/parts during a flood\n\n _lodash.default.pull(this.addUserBatch.queue(), userObj);\n\n this.state.$delete(this.users, nick.toLowerCase());\n\n if (userObj) {\n delete userObj.buffers[this.id];\n }\n }\n }, {\n key: \"clearUsers\",\n value: function clearUsers() {\n var _context8,\n _this4 = this;\n\n // Users could be queued to be added, so make sure to clear them as they\n // would just be added again. Eg. user joins/parts during a flood\n this.addUserBatch && (0, _splice.default)(_context8 = this.addUserBatch.queue()).call(_context8, 0);\n\n _lodash.default.each(this.users, function (userObj, nick) {\n delete userObj.buffers[_this4.id];\n });\n\n this.state.$set(this, 'users', {});\n }\n }, {\n key: \"addMessage\",\n value: function addMessage(message) {\n this.addMessageBatch(message);\n }\n }, {\n key: \"updateLatestMessages\",\n value: function updateLatestMessages(message) {\n var _context9,\n _this5 = this;\n\n if (!(0, _includes.default)(_context9 = ['privmsg', 'notice']).call(_context9, message.type)) {\n return;\n }\n\n var isNewer = function isNewer(msg) {\n return _this5.latest_messages[0].time <= msg.time && _this5.latest_messages[0].instance_num < msg.instance_num;\n };\n\n if (!this.latest_messages[0] || isNewer(message)) {\n this.latest_messages.unshift(message);\n }\n\n if (this.latest_messages.length > 5) {\n // restrict array to 5 elements\n this.latest_messages.length = 5;\n }\n }\n }, {\n key: \"getLatestMessage\",\n value: function getLatestMessage() {\n return this.latest_messages[0];\n }\n }, {\n key: \"say\",\n value: function say(message) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var network = this.getNetwork();\n var newMessage = {\n time: (0, _now.default)(),\n nick: network.nick,\n message: message,\n type: opts.type || 'privmsg'\n };\n this.state.addMessage(this, newMessage);\n var fnNames = {\n privmsg: 'say',\n action: 'action',\n notice: 'notice'\n };\n var fnName = fnNames[opts.type] || 'say';\n network.ircClient[fnName](this.name, message);\n }\n }, {\n key: \"join\",\n value: function join() {\n if (!this.isChannel()) {\n return;\n }\n\n var network = this.getNetwork();\n network.ircClient.join(this.name, this.key || '');\n }\n }, {\n key: \"part\",\n value: function part(reason) {\n if (!this.isChannel()) {\n return;\n }\n\n var network = this.getNetwork();\n network.ircClient.part(this.name, reason || '');\n }\n }, {\n key: \"scrollToMessage\",\n value: function scrollToMessage(id) {\n this.state.$emit('messagelist.scrollto', {\n id: id\n });\n }\n }, {\n key: \"getLoadingState\",\n value: function getLoadingState() {\n var networkState = this.getNetwork().state;\n var historySupport = !!this.getNetwork().ircClient.chathistory.isSupported();\n var messagesInBatchQueue = this.addMessageBatch.queue().length; // Hack; We need to make vue aware that we depend on message_count in order to\n // update the loading state.\n // eslint-disable-next-line no-unused-vars\n\n var messageCount = this.message_count;\n\n if (networkState === 'disconnected') {\n return 'disconnected';\n } else if (networkState === 'connecting') {\n return 'connecting';\n } else if (networkState === 'connected' && this.enabled && historySupport && ((0, _flags.default)(this).is_requesting_chathistory || // If chathistory is supported then a request will always be made when first\n // joining a channel. If request_count===0 then we're still waiting for it\n // to happen.\n this.chathistory_request_count === 0 || // keep in loading state while the batch is being processed\n messagesInBatchQueue > 0)) {\n return 'loading';\n }\n\n return 'done';\n }\n }, {\n key: \"isReady\",\n value: function isReady() {\n return this.getLoadingState() === 'done';\n }\n }, {\n key: \"topic\",\n get: function get() {\n return this.topics.length === 0 ? '' : this.topics[this.topics.length - 1];\n },\n set: function set(newVal) {\n this.topics.push(newVal);\n }\n }]);\n return BufferState;\n}();\n/**\n * Batch up floods of addUsers for a huge performance gain.\n * Generally happens when reconnecting to a BNC\n */\n\n\nexports.default = BufferState;\n\nfunction createUserBatch(bufferState) {\n var addSingleUser = function addSingleUser(u) {\n bufferState.state.$set(bufferState.users, u.nick.toLowerCase(), u);\n };\n\n var addMultipleUsers = function addMultipleUsers(users) {\n var o = _lodash.default.clone(bufferState.users);\n\n (0, _forEach.default)(users).call(users, function (u) {\n o[u.nick.toLowerCase()] = u;\n });\n bufferState.users = o;\n };\n\n return (0, _batchedAdd.default)(addSingleUser, addMultipleUsers, 2);\n}\n/**\n * batch up floods of new messages for a huge performance gain\n */\n\n\nfunction createMessageBatch(bufferState) {\n var addSingleMessage = function addSingleMessage(newMessage) {\n if (bufferState.messagesObj.messageIds[newMessage.id]) {\n return;\n }\n\n bufferState.updateLatestMessages(newMessage);\n bufferState.messagesObj.messages.push(newMessage);\n bufferState.messagesObj.messageIds[newMessage.id] = newMessage;\n\n if (bufferState.isMessageTrimming) {\n trimMessages();\n }\n\n bufferTools.orderedMessages(bufferState, {\n inPlace: true,\n noFilter: true\n });\n bufferState.message_count++;\n };\n\n var addMultipleMessages = function addMultipleMessages(newMessages) {\n var toAdd = (0, _filter.default)(newMessages).call(newMessages, function (msg) {\n return !bufferState.messagesObj.messageIds[msg.id];\n });\n\n if (toAdd.length > 0) {\n var _context10;\n\n bufferState.messagesObj.messages = (0, _concat.default)(_context10 = bufferState.messagesObj.messages).call(_context10, toAdd);\n (0, _forEach.default)(toAdd).call(toAdd, function (msg) {\n bufferState.updateLatestMessages(msg);\n bufferState.messagesObj.messageIds[msg.id] = msg;\n });\n\n if (bufferState.isMessageTrimming) {\n trimMessages();\n }\n\n bufferTools.orderedMessages(bufferState, {\n inPlace: true,\n noFilter: true\n });\n } // Trigger Vue's reactivity on the buffer whether messages were added or not, just in case\n // anything was depending on the batch queue which has now been emptied.\n\n\n bufferState.message_count++;\n };\n\n var trimMessages = function trimMessages() {\n var scrollbackSize = bufferState.setting('scrollback_size');\n var length = bufferState.messagesObj.messages.length;\n\n if (bufferState.messagesObj.messages.length > scrollbackSize) {\n var _context11;\n\n var removed = (0, _splice.default)(_context11 = bufferState.messagesObj.messages).call(_context11, 0, length - scrollbackSize);\n (0, _forEach.default)(removed).call(removed, function (msg) {\n return delete bufferState.messagesObj.messageIds[msg.id];\n });\n }\n };\n\n return (0, _batchedAdd.default)(addSingleMessage, addMultipleMessages, 4);\n} // Update our user list status every 30seconds to get each users current away status\n\n\nfunction maybeStartWhoLoop(bufferState) {\n var network = bufferState.state.getNetwork(bufferState.networkid);\n\n if (network.state === 'connected') {\n // network is connected start the loop if its needed\n nextLoop();\n } else {\n // Network is not coonnected. Wait until it is\n var on001 = function on001(command, event, eventNetwork) {\n if (eventNetwork === network) {\n bufferState.state.$off('irc.raw.001', on001);\n nextLoop();\n }\n };\n\n bufferState.state.$on('irc.raw.001', on001);\n }\n\n function nextLoop() {\n (0, _setTimeout2.default)(updateWhoStatusLoop, 30000);\n }\n\n function updateWhoStatusLoop() {\n network = bufferState.state.getNetwork(bufferState.networkid); // Make sure the network still exists\n\n if (!network) {\n return;\n } // Make sure the buffer still exists\n\n\n if (!network.bufferByName(bufferState.name)) {\n return;\n }\n\n var whoLoop = bufferState.setting('who_loop');\n var isJoined = bufferState.joined;\n var hasAwayNotify = network.ircClient.network.cap.isEnabled('away-notify');\n var networkConnected = network.state === 'connected';\n\n if (whoLoop && networkConnected && isJoined && !hasAwayNotify) {\n network.ircClient.who(bufferState.name, function () {\n nextLoop();\n });\n } else {\n nextLoop();\n }\n }\n}","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=style&index=0&id=7979fe60&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=style&index=0&id=7979fe60&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar methods = {\n props: {},\n toggleSelfAway: function toggleSelfAway(props) {\n // let props = this.props;\n if (props.isUserSelf) {\n var val = props.user.isAway();\n props.network.ircClient.raw('AWAY', val ? '' : 'Currently away');\n }\n },\n isUserSelf: function isUserSelf(props) {\n // let props = this.props;\n if (props.toggle === false) {\n return false;\n }\n\n var user = (0, _state.default)().getUser(props.network.id, props.network.nick);\n return props.user === user;\n },\n shouldShowStatus: function shouldShowStatus(props) {\n // let props = this.props;\n if (!(0, _state.default)().setting('showAwayStatusIndicators')) {\n return false;\n }\n\n if (props.network.state !== 'connected') {\n return false;\n }\n\n var awayNotifyEnabled = props.network.ircClient.network.cap.isEnabled('away-notify');\n return (0, _state.default)().setting('buffers.who_loop') || awayNotifyEnabled;\n }\n};\nvar _default = {\n props: {\n network: Object,\n user: Object,\n toggle: Boolean\n },\n m: methods\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"AwayStatusIndicator\"]\r\nwindow._kiwi_exports.components.AwayStatusIndicator = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = bouncerMiddleware;\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _ircFramework = require(\"irc-framework\");\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\n/**\n * Adds the BOUNCER IRCv3 spec to irc-framework\n */\nfunction bouncerMiddleware() {\n var networks = [];\n var buffers = {};\n return function middleware(client, rawEvents, parsedEvents) {\n client.requestCap('bouncer');\n addFunctionsToClient(client);\n rawEvents.use(theMiddleware);\n };\n\n function theMiddleware(command, message, rawLine, client, next) {\n var _context, _context2, _context3;\n\n if (command !== 'BOUNCER') {\n next();\n return;\n }\n\n var params = message.params;\n\n if (params[0] === 'listnetworks' && (0, _indexOf.default)(_context = ['end', 'RPL_OK']).call(_context, params[1]) > -1) {\n client.command_handler.emit('bouncer networks', networks);\n networks = [];\n } else if (params[0] === 'listnetworks') {\n var tags = _ircFramework.MessageTags.decode(params[2]);\n\n networks.push({\n networkId: params[1],\n name: tags.network,\n host: tags.host,\n port: (0, _parseInt2.default)(tags.port, 10),\n tls: tags.tls === '1',\n connected: tags.state === 'connected',\n nick: tags.nick,\n currentNick: tags.currentNick,\n password: tags.password || '',\n account: tags.account || '',\n account_password: tags.account_password || ''\n });\n } else if (params[0] === 'listbuffers' && (0, _indexOf.default)(_context2 = ['end', 'RPL_OK']).call(_context2, params[2]) > -1) {\n var netId = params[1] || '';\n var detectedBuffers = buffers[netId] || [];\n delete buffers[netId];\n client.command_handler.emit('bouncer buffers', detectedBuffers);\n client.command_handler.emit('bouncer buffers ' + netId, detectedBuffers);\n } else if (params[0] === 'listbuffers') {\n var _netId = params[1] || '';\n\n var _tags = _ircFramework.MessageTags.decode(params[2]);\n\n buffers[_netId] = buffers[_netId] || [];\n\n buffers[_netId].push({\n networkId: _netId,\n network: _tags.network,\n name: _tags.buffer,\n topic: _tags.topic,\n joined: _tags.joined === '1',\n seen: _tags.seen,\n notify: _tags.notify || 'highlight'\n });\n } else if (params[0] === 'state') {\n client.command_handler.emit('bouncer state', {\n networkId: params[1],\n network: params[2],\n state: params[3]\n });\n } // BOUNCER addnetwork NetID Network1 ERR_NAMEINUSE\n\n\n if (params[0] === 'addnetwork' && params[3].substr(0, 4) === 'ERR_') {\n var netName = (params[2] || '').toLowerCase();\n var eventObj = {\n error: params[3],\n reason: params[4] || ''\n };\n client.command_handler.emit('bouncer addnetwork error', eventObj);\n client.command_handler.emit('bouncer addnetwork error ' + netName, eventObj);\n } else if (params[0] === 'addnetwork' && (0, _indexOf.default)(_context3 = ['end', 'RPL_OK']).call(_context3, params[3]) > -1) {\n // BOUNCER addnetwork 5 Network1 RPL_OK\n var _netId2 = params[1] || '';\n\n var _netName = (params[2] || '').toLowerCase();\n\n var _eventObj = {\n networkId: _netId2,\n network: _netName\n };\n client.command_handler.emit('bouncer addnetwork ok', _eventObj);\n client.command_handler.emit('bouncer addnetwork ok ' + _netName, _eventObj);\n }\n }\n}\n\nfunction addFunctionsToClient(client) {\n var bnc = client.bnc = {};\n\n bnc.tags = function tags() {\n var token = client.network.supports('bouncer');\n return !token || typeof token !== 'string' ? {} : _ircFramework.MessageTags.decode(token) || {};\n };\n\n bnc.hasNetwork = function hasNetwork() {\n var token = client.network.supports('bouncer');\n\n if (!token || token === true) {\n return false;\n }\n\n var tags = _ircFramework.MessageTags.decode(token);\n\n return tags && !!tags.network;\n };\n\n bnc.getNetworks = function getNetworks() {\n return new _promise.default(function (resolve, reject) {\n client.raw('BOUNCER listnetworks');\n client.once('bouncer networks', function (networks) {\n resolve(networks);\n });\n });\n };\n\n bnc.getBuffers = function getBuffers(netId) {\n return new _promise.default(function (resolve, reject) {\n client.raw('BOUNCER listbuffers ' + netId);\n client.once('bouncer buffers ' + netId, function (buffers) {\n resolve(buffers);\n });\n });\n };\n\n bnc.closeBuffer = function closeBuffer(netId, bufferName) {\n return new _promise.default(function (resolve, reject) {\n var _context4;\n\n client.raw((0, _concat.default)(_context4 = \"BOUNCER delbuffer \".concat(netId, \" \")).call(_context4, bufferName));\n });\n };\n\n bnc.bufferSeen = function bufferSeen(netId, bufferName, seenTime) {\n return new _promise.default(function (resolve, reject) {\n var _context5, _context6;\n\n // 1 tells the bouncer to use the current time\n var timeStr = seenTime ? Misc.dateIso(seenTime) : '1';\n client.raw((0, _concat.default)(_context5 = (0, _concat.default)(_context6 = \"BOUNCER changebuffer \".concat(netId, \" \")).call(_context6, bufferName, \" seen=\")).call(_context5, timeStr));\n });\n };\n\n bnc.addNetwork = function addNetwork(netName, host, port, tls, nick, user, password) {\n var tags = {};\n tags.network = netName;\n tags.host = host;\n tags.port = port;\n tags.tls = tls ? 1 : 0;\n tags.nick = nick;\n tags.password = password;\n\n if (user) {\n tags.user = user;\n }\n\n var tagString = createTagString(tags);\n return new _promise.default(function (resolve, reject) {\n client.raw('BOUNCER addnetwork ' + tagString);\n client.once('bouncer addnetwork ok ' + netName.toLowerCase(), onOk);\n client.once('bouncer addnetwork error', onError);\n\n function onOk(event) {\n client.off('bouncer addnetwork error', onError);\n resolve(event);\n }\n\n function onError(event) {\n client.off('bouncer addnetwork ok ' + netName.toLowerCase(), onOk);\n reject({\n error: event.error,\n reason: event.reason\n });\n }\n });\n };\n\n bnc.removeNetwork = function removeNetwork(netId, bufferName) {\n return new _promise.default(function (resolve, reject) {\n client.raw(\"BOUNCER delnetwork \".concat(netId));\n });\n };\n\n bnc.saveNetwork = function saveNetwork(netId, opts) {\n var tags = {};\n\n if (typeof opts.network !== 'undefined') {\n tags.network = opts.network;\n }\n\n if (typeof opts.host !== 'undefined') {\n tags.host = opts.host;\n }\n\n if (typeof opts.port !== 'undefined') {\n tags.port = opts.port;\n }\n\n if (typeof opts.tls !== 'undefined') {\n tags.tls = opts.tls ? 1 : 0;\n }\n\n if (typeof opts.nick !== 'undefined') {\n tags.nick = opts.nick;\n }\n\n if (typeof opts.user !== 'undefined') {\n tags.user = opts.user;\n }\n\n if (typeof opts.password !== 'undefined') {\n tags.password = opts.password;\n }\n\n if (typeof opts.account_password !== 'undefined') {\n tags.account_password = opts.account_password;\n }\n\n if (typeof opts.account !== 'undefined') {\n tags.account = opts.account;\n }\n\n var tagString = createTagString(tags);\n return new _promise.default(function (resolve, reject) {\n if (tagString.length === 0) {\n resolve();\n } else {\n var _context7;\n\n client.raw((0, _concat.default)(_context7 = \"BOUNCER changenetwork \".concat(netId, \" \")).call(_context7, tagString));\n }\n });\n };\n}\n\nfunction createTagString(tags) {\n var _context8;\n\n var tagParts = [];\n (0, _forEach.default)(_context8 = (0, _keys.default)(tags)).call(_context8, function (tag) {\n var val = tags[tag];\n\n if (typeof val !== 'undefined') {\n val = val.toString().replace(' ', '\\\\s').replace(';', '\\\\:');\n tagParts.push(tag + '=' + val);\n } else {\n tagParts.push(tag);\n }\n });\n return tagParts.join(';');\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"BouncerMiddleware\"]\r\nwindow._kiwi_exports.libs.BouncerMiddleware = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-inputtool-emoji\"},[_c('div',{staticClass:\"kiwi-inputtool-emoji-palette\",on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":function($event){$event.preventDefault();}}},_vm._l((_vm.emojis),function(text,eCode){return _c('div',{key:eCode,staticClass:\"kiwi-inputtool-emoji-emoji\",style:({'background-image':(\"url(\" + _vm.location + eCode + \".png)\")}),attrs:{\"data-code\":text + ' '},on:{\"click\":_vm.onImgClick}})}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-notconnected kiwi-warning-block\",class:{ connecting: _vm.shouldShowLoading }},[(!_vm.shouldShowLoading)?[_c('div',{staticClass:\"kiwi-notconnected-caption\"},[_c('span',[_vm._v(_vm._s(_vm.$t('not_connected')))]),(!_vm.shouldShowLoading)?_c('i',{staticClass:\"fa fa-frown-o\",attrs:{\"aria-hidden\":\"true\"}}):_vm._e()]),_c('div',{staticClass:\"kiwi-notconnected-buttons\"},[(_vm.isChannel())?[_c('span',{staticClass:\"kiwi-notconnected-button\",attrs:{\"disabled\":!_vm.readyToStart},on:{\"click\":_vm.reconnect}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('reconnect_channel', {channel: _vm.buffer.name}))+\" \")])]:(_vm.isServer())?[_c('span',{staticClass:\"kiwi-notconnected-button\",attrs:{\"disabled\":!_vm.readyToStart},on:{\"click\":_vm.reconnect}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('reconnect_network', {network: _vm.buffer.getNetwork().name}))+\" \")])]:(_vm.isQuery())?[_c('span',{staticClass:\"kiwi-notconnected-button\",attrs:{\"disabled\":!_vm.readyToStart},on:{\"click\":_vm.reconnect}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('reconnect_query', {user: _vm.buffer.name}))+\" \")])]:_vm._e(),(!_vm.restrictedServer)?_c('a',{staticClass:\"kiwi-notconnected-button kiwi-notconnected-button-settings\",on:{\"click\":_vm.showNetworkSettings}},[_c('i',{staticClass:\"fa fa-cogs\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e()],2)]:_c('div',{staticClass:\"kiwi-notconnected-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \"),_c('i',{staticClass:\"fa fa-refresh fa-spin kiwi-notconnected-bigicon\",attrs:{\"aria-hidden\":\"true\"}})]),_c('captcha',{staticClass:\"kiwi-notconnected-captcha\",attrs:{\"network\":_vm.network}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./NicklistUser.vue?vue&type=template&id=0543df6d&functional=true&\"\nimport script from \"./NicklistUser.vue?vue&type=script&lang=js&\"\nexport * from \"./NicklistUser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NicklistUser.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./TypingUsersList.vue?vue&type=template&id=28f29f38&\"\nimport script from \"./TypingUsersList.vue?vue&type=script&lang=js&\"\nexport * from \"./TypingUsersList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypingUsersList.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n data: function data() {\n return {\n closing: false\n };\n },\n computed: {\n backgroundStyle: function backgroundStyle() {\n var style = {};\n var options = this.$state.settings.startupOptions;\n\n if (options.infoBackground) {\n style['background-image'] = \"url(\".concat(options.infoBackground, \")\");\n }\n\n return style;\n },\n backgroundImage: function backgroundImage() {\n return this.$state.settings.startupOptions.infoBackground || '';\n },\n infoContent: function infoContent() {\n return this.$state.settings.startupOptions.infoContent || '';\n }\n },\n methods: {\n close: function close() {\n var _this = this;\n\n this.closing = true;\n\n var startApp = function startApp(event) {\n _this.$el.removeEventListener('transitionend', startApp);\n\n _this.$state.persistence.watchStateForChanges(); // Hacky to be using $parent but this component should only be used in a sepcific\n // scope within startup screens\n\n\n _this.$parent.$emit('start');\n };\n\n this.$el.addEventListener('transitionend', startApp, false);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"CommonLayout\"]\r\nwindow._kiwi_exports.components.startups.CommonLayout = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _about = _interopRequireDefault(require(\"./about.html\"));\n\nvar firstRun = true;\nvar ctor = {\n data: function data() {\n return {\n about_open: false\n };\n },\n computed: {\n networks: function networks() {\n return this.$state.networks;\n },\n aboutContent: function aboutContent() {\n return _about.default;\n }\n },\n methods: {\n addNetwork: function addNetwork() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var network = this.$state.addNetwork(TextFormatting.t('new_network'), nick, {});\n network.showServerBuffer('settings');\n },\n toggleStateBrowser: function toggleStateBrowser() {\n this.$state.$emit('statebrowser.show');\n },\n init: function init() {\n var _this = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this.$state.persistence.watchStateForChanges();\n\n _this.$emit('start', {\n fallbackComponent: _this.constructor\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n }\n },\n created: function () {\n var _created = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (firstRun) {\n this.init();\n firstRun = false;\n }\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function created() {\n return _created.apply(this, arguments);\n }\n\n return created;\n }()\n};\nvar _default = ctor;\nexports.default = _default;\n(0, _state.default)().getStartups().kiwiirccom = ctor;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"thirdparty\"]) window._kiwi_exports[\"thirdparty\"] = {};\nwindow._kiwi_exports[\"thirdparty\"][\"kiwiirccom\"]\r\nwindow._kiwi_exports.thirdparty.kiwiirccom = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-channelinfo\"},[_c('form',{staticClass:\"u-form kiwi-channelinfo-basicmodes\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('label',{staticClass:\"kiwi-channelinfo-topic\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_topic')))]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.topic),expression:\"topic\",modifiers:{\"lazy\":true}}],attrs:{\"rows\":\"2\"},domProps:{\"value\":(_vm.topic)},on:{\"change\":function($event){_vm.topic=$event.target.value}}})]),(_vm.buffer.topics.length > 1)?_c('div',{staticClass:\"kiwi-channelinfo-previoustopics\"},[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.showPrevTopics = !_vm.showPrevTopics}}},[_vm._v(\" Previous topics \"),_c('i',{class:'fa fa-caret-' + (_vm.showPrevTopics ? 'up' : 'down')})]),(_vm.showPrevTopics)?_c('ul',_vm._l((_vm.prevTopics),function(topicText,idx){return _c('li',{key:idx},[_c('span',[_vm._v(_vm._s(topicText.trim()))])])}),0):_vm._e()]):_vm._e(),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_moderated')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeM),expression:\"modeM\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeM)?_vm._i(_vm.modeM,null)>-1:(_vm.modeM)},on:{\"change\":function($event){var $$a=_vm.modeM,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeM=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeM=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeM=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_invite')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeI),expression:\"modeI\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeI)?_vm._i(_vm.modeI,null)>-1:(_vm.modeI)},on:{\"change\":function($event){var $$a=_vm.modeI,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeI=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeI=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeI=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_moderated_topic')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeT),expression:\"modeT\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeT)?_vm._i(_vm.modeT,null)>-1:(_vm.modeT)},on:{\"change\":function($event){var $$a=_vm.modeT,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeT=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeT=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeT=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_external')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeN),expression:\"modeN\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeN)?_vm._i(_vm.modeN,null)>-1:(_vm.modeN)},on:{\"change\":function($event){var $$a=_vm.modeN,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeN=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeN=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeN=$$c}}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('password')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.modeK),expression:\"modeK\",modifiers:{\"lazy\":true}}],staticClass:\"u-input\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.modeK)},on:{\"change\":function($event){_vm.modeK=$event.target.value}}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setInterval2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-interval\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar WindowTitle = /*#__PURE__*/function () {\n function WindowTitle(state) {\n var _this = this;\n\n (0, _classCallCheck2.default)(this, WindowTitle);\n this.state = state;\n this.title = state.settings.windowTitle || '';\n this.alert = false; // Update the window title if we have one\n\n if (state.settings.windowTitle) {\n this.updateTitle();\n }\n\n state.$watch('settings.windowTitle', function (newVal) {\n _this.updateTitle(newVal);\n });\n state.$watch('ui.app_has_focus', function (newVal) {\n if (newVal && _this.alertTmr) {\n _this.stopAlert();\n }\n });\n state.$on('notification.title', function (enable) {\n if (enable) {\n _this.startAlert();\n } else {\n _this.stopAlert();\n }\n });\n }\n\n (0, _createClass2.default)(WindowTitle, [{\n key: \"startAlert\",\n value: function startAlert() {\n var _this2 = this;\n\n if (this.alertTmr) {\n return;\n }\n\n this.alertTmr = (0, _setInterval2.default)(function () {\n _this2.updateTitle();\n }, 1000);\n }\n }, {\n key: \"stopAlert\",\n value: function stopAlert() {\n if (this.alertTmr) {\n clearInterval(this.alertTmr);\n this.alertTmr = null;\n }\n\n this.updateTitle();\n }\n }, {\n key: \"updateTitle\",\n value: function updateTitle(newTitle) {\n if (typeof newTitle === 'string') {\n this.title = newTitle;\n }\n\n if (this.alertTmr && !this.alert) {\n window.document.title = '* ' + this.title;\n this.alert = true;\n } else {\n window.document.title = this.title;\n this.alert = false;\n }\n }\n }]);\n return WindowTitle;\n}();\n\nexports.default = WindowTitle;","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _Avatar = _interopRequireDefault(require(\"./Avatar\"));\n\nvar _default = {\n components: {\n AwayStatusIndicator: _AwayStatusIndicator.default,\n Avatar: _Avatar.default\n },\n props: ['network'],\n data: function data() {\n return {\n is_usermenu_open: false\n };\n },\n computed: {\n networkName: function networkName() {\n var name = TextFormatting.t('no_network');\n\n if (this.network) {\n name = this.network.name;\n }\n\n return name;\n },\n getUser: function getUser() {\n return this.network && this.network.currentUser() ? this.network.currentUser() : null;\n },\n isConnected: function isConnected() {\n return this.network && this.network.state === 'connected';\n }\n },\n methods: {\n clickForget: function clickForget() {\n var msg = 'This will delete all stored networks and start fresh. Are you sure?';\n /* eslint-disable no-restricted-globals, no-alert */\n\n var confirmed = confirm(msg);\n\n if (!confirmed) {\n return;\n }\n\n this.$state.persistence.forgetState();\n window.location.reload();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StateBrowserUsermenu\"]\r\nwindow._kiwi_exports.components.StateBrowserUsermenu = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Command input Alias + re-writing\n *\n * Variables used in aliases:\n * - $0 = the command being run\n * - $1 = first param of input\n * - $N = Nth param of input\n * - $1+2 = first param of input and the next 2 words\n * - $2+4 = second param of input and the next 4 words\n * - $2+ = second param of input and all words after\n * - $variable = variable as set in the vars object\n */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar AliasRewriter = /*#__PURE__*/function () {\n function AliasRewriter() {\n (0, _classCallCheck2.default)(this, AliasRewriter);\n // Max alias recursion depth\n this.recursiveDepth = 3; // Current alias recursion depth\n\n this.depth = 0;\n this.aliases = {};\n }\n /** Reset the current aliases object from a newline delimited string of aliases */\n\n\n (0, _createClass2.default)(AliasRewriter, [{\n key: \"importFromString\",\n value: function importFromString(str) {\n var _context,\n _this = this;\n\n // Clear out the current aliases before adding new ones in\n this.aliases = {};\n (0, _forEach.default)(_context = str.split('\\n')).call(_context, function (line) {\n var _context2;\n\n if (line[0] !== '/') {\n return;\n }\n\n var spaceSep = (0, _indexOf.default)(line).call(line, ' ');\n\n if (spaceSep === -1) {\n return;\n }\n\n var command = line.substring(0, spaceSep);\n var actions = (0, _trim.default)(_context2 = line.substring(spaceSep + 1)).call(_context2);\n\n if (!actions) {\n return;\n }\n\n _this.aliases[command.toLowerCase()] = actions;\n });\n } // Takes an array of words to process!\n\n }, {\n key: \"processInput\",\n value: function processInput(input, vars) {\n var words = input || [];\n var alias = this.aliases[words[0].toLowerCase()];\n var aliasLen;\n var currentAliasWord = '';\n var currentAliasWordLen = 0;\n var processedConditionals = false;\n var compiled = []; // If an alias wasn't found, return the original input\n\n if (!alias) return input; // Split the alias up into useable words\n\n alias = alias.split(' ');\n aliasLen = alias.length; // Iterate over each word and pop them into the final compiled array.\n // Any $ words are processed with the result ending into the compiled array.\n\n for (var i = 0; i < aliasLen; i++) {\n currentAliasWord = alias[i];\n currentAliasWordLen = currentAliasWord.length; // $var? word makes this command only run if the var exists\n\n if (!processedConditionals && currentAliasWord[0] === '$' && currentAliasWord[currentAliasWordLen - 1] === '?') {\n var checkVar = currentAliasWord.substr(1, currentAliasWordLen - 2);\n\n if (!vars[checkVar]) {\n compiled = [];\n break;\n } else {\n continue;\n }\n } else {\n processedConditionals = true;\n } // Non $ word\n\n\n if (currentAliasWord[0] !== '$') {\n compiled.push(currentAliasWord);\n continue;\n } // Refering to an input word ($N)\n\n\n if ((currentAliasWord[1] || '').match(/\\d/)) {\n var num = currentAliasWord.match(/\\$(\\d+)(\\+)?(\\d+)?/); // Did we find anything or does the word it refers to non-existant?\n\n if (!num || !words[num[1]]) continue;\n\n if (num[2] === '+' && num[3]) {\n // Add X number of words\n compiled = (0, _concat.default)(compiled).call(compiled, (0, _slice.default)(words).call(words, (0, _parseInt2.default)(num[1], 10), (0, _parseInt2.default)(num[1], 10) + (0, _parseInt2.default)(num[3], 10)));\n } else if (num[2] === '+') {\n // Add the remaining of the words\n compiled = (0, _concat.default)(compiled).call(compiled, (0, _slice.default)(words).call(words, (0, _parseInt2.default)(num[1], 10)));\n } else {\n // Add a single word\n compiled.push(words[(0, _parseInt2.default)(num[1], 10)]);\n }\n\n continue;\n } // Refering to a variable\n\n\n if (typeof vars[currentAliasWord.substr(1)] !== 'undefined') {\n // Get the variable\n compiled.push(vars[currentAliasWord.substr(1)]);\n continue;\n }\n }\n\n return compiled;\n }\n /** Take a string input, process any aliases and output the finalised string */\n\n }, {\n key: \"process\",\n value: function process(input, vars) {\n var line = input || '';\n var words = line.split(' ');\n var firstWord = (words[0] || '').toLowerCase();\n this.depth++;\n\n if (this.depth >= this.recursiveDepth) {\n this.depth--;\n return line;\n }\n\n if (this.aliases[firstWord]) {\n words = this.processInput(words, vars);\n firstWord = (words[0] || '').toLowerCase();\n\n if (this.aliases[firstWord]) {\n words = this.process(words.join(' '), vars).split(' ');\n }\n }\n\n this.depth--;\n return words.join(' ');\n }\n }]);\n return AliasRewriter;\n}();\n\nexports.default = AliasRewriter;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"AliasRewriter\"]\r\nwindow._kiwi_exports.libs.AliasRewriter = exports.default ? exports.default : exports;\r\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _MediaViewer = _interopRequireDefault(require(\"./MediaViewer\"));\n\nvar _MessageInfo = _interopRequireDefault(require(\"./MessageInfo\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar methods = {\n props: {},\n displayNick: function displayNick() {\n var props = this.props;\n var suffix = props.message.nick ? ':' : '';\n return props.message.nick + suffix;\n },\n userMode: function userMode(user) {\n var props = this.props;\n return props.ml.buffer.userMode(user);\n },\n userModePrefix: function userModePrefix(user) {\n var props = this.props;\n return props.ml.buffer.userModePrefix(user);\n }\n};\nvar _default = {\n inject: {\n components: {\n default: {\n MessageInfo: _MessageInfo.default,\n MediaViewer: _MediaViewer.default\n }\n }\n },\n props: {\n ml: Object,\n message: Object,\n idx: Number,\n m: {\n default: function m() {\n // vue uses this function to generate the prop. `this`==null Return our own function\n return function n() {\n // Give our methods some props context before its function is called.\n // This is only safe because the function on the methods object is called on\n // the same js tick\n methods.props = this;\n return methods;\n };\n }\n }\n }\n};\nexports.default = _default;","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _default = {\n props: ['network', 'buffer', 'sidebarState'],\n data: function data() {\n return {\n self: this,\n pluginUiSections: _GlobalApi.default.singleton().aboutBufferPlugins,\n closedSections: {}\n };\n },\n computed: {\n b: function b() {\n return this.buffer || {};\n },\n formattedTopic: function formattedTopic() {\n var blocks = (0, _MessageParser.default)(this.b.topic || '', {\n extras: false\n });\n var content = (0, _Html.default)(blocks);\n return content;\n },\n highlights: function highlights() {\n var _context, _context2, _context3, _context4, _context5, _context6;\n\n // Tap into buffer.message_count to force vuejs to update this function when\n // it changes\n\n /* eslint-disable no-unused-vars */\n var tmp = this.buffer.message_count;\n return (0, _sort.default)(_context = (0, _filter.default)(_context2 = (0, _filter.default)(_context3 = (0, _filter.default)(_context4 = (0, _filter.default)(_context5 = (0, _filter.default)(_context6 = this.buffer.getMessages()).call(_context6, function (m) {\n return m.isHighlight;\n })).call(_context5, function (m) {\n return m.type !== 'traffic';\n })).call(_context4, function (m) {\n return m.type !== 'topic';\n })).call(_context3, function (m) {\n return m.type !== 'mode';\n })).call(_context2, function (m) {\n return m.html;\n })).call(_context, function (a, b) {\n return b.time - a.time;\n });\n }\n },\n methods: {\n toggleSection: function toggleSection(section) {\n this.$set(this.closedSections, section, !this.closedSections[section]);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SidebarAboutBuffer\"]\r\nwindow._kiwi_exports.components.SidebarAboutBuffer = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n props: ['error']\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StartupError\"]\r\nwindow._kiwi_exports.components.StartupError = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=script&lang=js&\"","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _construct = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/reflect/construct\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/getPrototypeOf\"));\n\nvar _eventemitter = _interopRequireDefault(require(\"eventemitter3\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _json = _interopRequireDefault(require(\"json5\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _compareVersions = _interopRequireDefault(require(\"compare-versions\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _Logger = _interopRequireDefault(require(\"./Logger\"));\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = (0, _construct.default)(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_construct.default) return false; if (_construct.default.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call((0, _construct.default)(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar singletonInstance = null;\nvar pluginsToInit = [];\nvar nextPluginId = 0;\n/** The global kiwi API instance */\n\nvar GlobalApi = /*#__PURE__*/function (_EventEmitter) {\n (0, _inherits2.default)(GlobalApi, _EventEmitter);\n\n var _super = _createSuper(GlobalApi);\n\n function GlobalApi() {\n var _this;\n\n (0, _classCallCheck2.default)(this, GlobalApi);\n _this = _super.call(this); // Version information from DefinePlugin in vue.config.js\n\n _this.version = __VERSION__; // eslint-disable-line no-undef\n\n _this.commithash = __COMMITHASH__; // eslint-disable-line no-undef\n\n /** A reference to the internal Vuejs instance */\n\n _this.Vue = _vue.default;\n /** Expose JSON5 so that plugins can use the same config format */\n\n _this.JSON5 = _json.default;\n /** The applications internal state */\n\n _this.state = null;\n /** The applications ThemeManager */\n\n _this.themes = null;\n _this.controlInputPlugins = [];\n _this.stateBrowserPlugins = [];\n _this.channelHeaderPlugins = [];\n _this.queryHeaderPlugins = [];\n _this.sideBarPlugins = [];\n _this.userboxButtonPlugins = [];\n _this.appSettingsPlugins = [];\n _this.serverViewPlugins = [];\n _this.aboutBufferPlugins = [];\n _this.tabs = (0, _create.default)(null);\n _this.isReady = false;\n /* eslint-disable no-underscore-dangle */\n\n _this.exports = window._kiwi_exports || {};\n\n _this.on('init', function () {\n _this.isReady = true;\n\n _this.initPlugins();\n });\n\n return _this;\n }\n\n (0, _createClass2.default)(GlobalApi, [{\n key: \"versionMatches\",\n value: function versionMatches(v) {\n return (0, _compareVersions.default)(this.version, v) >= 0;\n }\n /**\n * Register a plugin with kiwi\n *\n * Plugins being loaded at startup will be registered once Kiwi is ready. At any\n * other point the plugin will be registered instantly\n * @param {String} pluginName The name of this plugin\n * @param {Function} fn A callback function to start the plugin. function(kiwi, logger)\n */\n\n }, {\n key: \"plugin\",\n value: function plugin(pluginName, fn) {\n var plugin = {\n name: pluginName,\n fn: fn\n };\n\n if (this.isReady) {\n this.initPlugin(plugin);\n } else {\n pluginsToInit.push(plugin);\n }\n } // Init any plugins that were added before we were ready\n\n }, {\n key: \"initPlugins\",\n value: function initPlugins() {\n var _this2 = this;\n\n (0, _forEach.default)(pluginsToInit).call(pluginsToInit, function (plugin) {\n return _this2.initPlugin(plugin);\n });\n pluginsToInit = [];\n }\n }, {\n key: \"initPlugin\",\n value: function initPlugin(plugin) {\n var pluginLogger = _Logger.default.namespace(\"Plugin \".concat(plugin.name));\n\n try {\n plugin.fn(this, pluginLogger);\n this.state.$emit('plugin.loaded', {\n name: plugin.name\n });\n } catch (err) {\n pluginLogger.error(err.stack);\n }\n }\n /**\n * Get a reference to an internal Kiwi module\n *\n * E.g. require('helpers/TextFormatting');\n * @param {String} mod The module path\n */\n\n }, {\n key: \"require\",\n value: function require(modPath) {\n var path = modPath.replace(/\\//g, '.');\n\n var mod = _lodash.default.get(this.exports, path);\n\n if (typeof mod === 'undefined') {\n _Logger.default.error('Module does not exist: ' + modPath);\n }\n\n return mod;\n }\n }, {\n key: \"setState\",\n value: function setState(state) {\n var _this3 = this;\n\n this.state = state; // Hacky, but since Vues emitter doesnt support 'all', hijack its $emit call\n // so that we can forward the event on to plugins\n\n var stateEmit = this.state.$emit;\n var thisEmit = this.emit;\n\n this.state.$emit = function () {\n var _context3;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n try {\n var _context, _context2;\n\n thisEmit.call.apply(thisEmit, (0, _concat.default)(_context = [_this3, 'all', args[0]]).call(_context, (0, _toConsumableArray2.default)((0, _slice.default)(args).call(args, 1))));\n thisEmit.call.apply(thisEmit, (0, _concat.default)(_context2 = [_this3]).call(_context2, args));\n } catch (err) {\n _Logger.default.error(err.stack);\n }\n\n return stateEmit.call.apply(stateEmit, (0, _concat.default)(_context3 = [_this3.state]).call(_context3, args));\n }; // Let plugins emit events into the internal state\n\n\n this.emit = function () {\n var _context4, _context5;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n stateEmit.call.apply(stateEmit, (0, _concat.default)(_context4 = [_this3.state]).call(_context4, args));\n thisEmit.call.apply(thisEmit, (0, _concat.default)(_context5 = [_this3]).call(_context5, args));\n };\n }\n }, {\n key: \"setThemeManager\",\n value: function setThemeManager(themeManager) {\n this.themes = themeManager;\n }\n /**\n * Change the logging level output\n * @param {number} newLevel The new logging level\n */\n\n }, {\n key: \"logLevel\",\n value: function logLevel(newLevel) {\n _Logger.default.setLevel(newLevel);\n }\n }, {\n key: \"addUi\",\n\n /**\n * Add a DOM element to different parts of the Kiwi UI\n * - addUi('input', domElement)\n * - addUi('browser', domElement)\n * - addUi('header_channel', domElement)\n * - addUi('header_query', domElement)\n * @param {string} type Where this DOM element should be added\n * @param {element} element The HTML element to add\n * @param {object} args Optional arguments for this plugis\n */\n value: function addUi(type, element) {\n var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var plugin = {\n el: element,\n id: nextPluginId++,\n args: args\n };\n\n switch (type) {\n case 'input':\n this.controlInputPlugins.push(plugin);\n break;\n\n case 'browser':\n this.stateBrowserPlugins.push(plugin);\n break;\n\n case 'header_channel':\n this.channelHeaderPlugins.push(plugin);\n break;\n\n case 'header_query':\n this.queryHeaderPlugins.push(plugin);\n break;\n\n case 'userbox_button':\n this.userboxButtonPlugins.push(plugin);\n break;\n\n case 'about_buffer':\n this.aboutBufferPlugins.push(plugin);\n break;\n\n default:\n break;\n }\n }\n /**\n * Add a Vue component as a tab to different tabbed views in the Kiwi API\n * - addTab('channel', 'title', component, props)\n * - addTab('settings', 'title', component, props)\n * - addTab('server', 'title', component, props)\n * @param {String} type The type of tab to add. This determines where it will be shown\n * @param {String} title The title shown on the tab\n * @param {Component} component The vuejs component that is displayed for this tab\n * @param {Object} props Optional properties for the vuejs component\n */\n\n }, {\n key: \"addTab\",\n value: function addTab(type, title, component, props) {\n var plugin = {\n id: nextPluginId++,\n title: title,\n component: component,\n props: props\n };\n\n switch (type) {\n case 'channel':\n this.sideBarPlugins.push(plugin);\n break;\n\n case 'settings':\n this.appSettingsPlugins.push(plugin);\n break;\n\n case 'server':\n this.serverViewPlugins.push(plugin);\n break;\n\n default:\n break;\n }\n }\n /**\n * Register a Vue component that may be shown in future. It is shown over the entire\n * client alongside the StateBrowser\n * @param {String} name A name to reference this view in future\n * @param {Component} component The vuejs component to create the view\n * @param {Object} props Optional properties the the vuejs component\n */\n\n }, {\n key: \"addView\",\n value: function addView(name, component, props) {\n this.tabs[name] = {\n id: nextPluginId++,\n component: _vue.default.extend(component),\n props: props || {}\n };\n }\n /**\n * Show a previously registered view\n * @param {String} name The name of previously registered view to show\n */\n\n }, {\n key: \"showView\",\n value: function showView(name) {\n // null disables any active component and reverts the UI back to the buffers\n var tab = this.tabs[name];\n\n if (tab) {\n this.state.$emit('active.component', tab.component, tab.props);\n } else {\n this.state.$emit('active.component', null);\n }\n }\n /**\n * Show a Vuejs component in the sidebar\n * @param {Object} component The vuejs component to render\n */\n\n }, {\n key: \"showInSidebar\",\n value: function showInSidebar(component) {\n this.state.$emit('sidebar.component', component);\n }\n /**\n * Add a custom startup screen that may be loaded by the configuration file\n * @param {String} name The name of this startup screen\n * @param {Object} ctor The constructor object for the vuejs component\n */\n\n }, {\n key: \"addStartup\",\n value: function addStartup(name, ctor) {\n var startups = this.state.getStartups();\n startups[name] = ctor;\n }\n /**\n *\n * @param {String} dest The module path to replace\n * @param {Object} source The new module to insert in place\n */\n\n }, {\n key: \"replaceModule\",\n value: function replaceModule(dest, source) {\n var mod = this.require(dest);\n\n if (!mod) {\n throw new Error(\"The module \".concat(dest, \" does not exist\"));\n }\n\n Misc.replaceObjectProps(mod, source);\n }\n }, {\n key: \"log\",\n get: function get() {\n return _Logger.default;\n }\n }], [{\n key: \"singleton\",\n value: function singleton() {\n singletonInstance = singletonInstance || new GlobalApi();\n return singletonInstance;\n }\n }]);\n return GlobalApi;\n}(_eventemitter.default);\n\nexports.default = GlobalApi;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"GlobalApi\"]\r\nwindow._kiwi_exports.libs.GlobalApi = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingStatusIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingStatusIndicator.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _CommonLayout = _interopRequireDefault(require(\"./CommonLayout\"));\n\nvar log = _Logger.default.namespace('Startup/kiwiBnc');\n\nvar _default = {\n components: {\n StartupLayout: _CommonLayout.default\n },\n data: function data() {\n return {\n loading: false,\n username: '',\n password: '',\n statusMessage: ''\n };\n },\n computed: {\n greetingText: function greetingText() {\n var greeting = this.$state.settings.startupOptions.greetingText;\n return typeof greeting === 'string' ? greeting : this.$t('start_greeting');\n },\n buttonText: function buttonText() {\n if (this.loading) {\n return '';\n }\n\n var greeting = this.$state.settings.startupOptions.buttonText;\n return typeof greeting === 'string' ? greeting : this.$t('start_button');\n }\n },\n methods: {\n startUp: function () {\n var _startUp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var _this = this;\n\n var bncnet, cleanUpEvents, onRegistered, onError, onClose;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n this.statusMessage = this.$t('logging_in');\n this.loading = true;\n bncnet = this.getBncNetwork();\n\n cleanUpEvents = function cleanUpEvents() {\n bncnet.ircClient.off('registered', onRegistered);\n bncnet.ircClient.off('irc error', onError);\n bncnet.ircClient.off('close', onClose);\n };\n\n onRegistered = /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var bncNetworks, i, network, buffers;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cleanUpEvents();\n _context.next = 3;\n return bncnet.ircClient.bnc.getNetworks();\n\n case 3:\n bncNetworks = _context.sent;\n i = 0;\n\n case 5:\n if (!(i < bncNetworks.length)) {\n _context.next = 22;\n break;\n }\n\n network = bncNetworks[i];\n network.buffers = [];\n _context.prev = 8;\n _context.next = 11;\n return bncnet.ircClient.bnc.getBuffers(network.name);\n\n case 11:\n buffers = _context.sent;\n network.buffers = buffers;\n _context.next = 18;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](8);\n // Log the error here or something\n log.error(_context.t0);\n\n case 18:\n _this.addNetworkToState(network);\n\n case 19:\n i++;\n _context.next = 5;\n break;\n\n case 22:\n _this.monitorNetworkChanges(bncnet, bncNetworks);\n\n _this.$refs.layout.close();\n\n case 24:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[8, 15]]);\n }));\n\n return function onRegistered() {\n return _ref.apply(this, arguments);\n };\n }();\n\n onError = function onError(event) {\n cleanUpEvents();\n _this.statusMessage = _this.$t('invalid_login');\n _this.loading = false;\n };\n\n onClose = function onClose(event) {\n cleanUpEvents();\n _this.statusMessage = _this.$t('invalid_login');\n _this.loading = false;\n };\n\n bncnet.ircClient.once('registered', onRegistered);\n bncnet.ircClient.once('irc error', onError);\n bncnet.ircClient.once('close', onClose);\n bncnet.ircClient.connect();\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function startUp() {\n return _startUp.apply(this, arguments);\n }\n\n return startUp;\n }(),\n getBncNetwork: function getBncNetwork() {\n var bnc = this.$state.setting('bnc');\n\n if (bnc.network) {\n bnc.username = this.username;\n bnc.password = this.password;\n return bnc.network;\n }\n\n var options = this.$state.settings.startupOptions; // Indicate that all our connections will be going through a BNC\n\n bnc.active = true;\n bnc.server = options.server || '';\n bnc.port = options.port || 6667;\n bnc.tls = !!options.tls;\n bnc.username = this.username;\n bnc.password = this.password;\n var bncnet = this.$state.addNetwork('bnccontrol', this.username, {\n server: bnc.server,\n port: bnc.port,\n tls: bnc.tls\n });\n bnc.network = bncnet;\n return bncnet;\n },\n addNetworkToState: function addNetworkToState(network) {\n var _context3,\n _this2 = this;\n\n // Expects network to be in the format of:\n // {\n // \"buffers\":[{\"channel\":\"1\",\"name\":\"#prawnsalad\",\"joined\":\"1\"}],\n // \"name\":\"freenode\",\n // \"channel\":\"1\",\n // \"connected\":\"1\",\n // \"host\":\"irc.freenode.net\",\n // \"port\":\"6667\",\n // \"tls\":\"0\",\n // \"nick\":\"notprawn99829\"\n // },\n var net = this.$state.addNetwork(network.name, network.nick, {\n server: network.host,\n port: network.port,\n tls: network.tls,\n password: network.password,\n bncname: network.name,\n username: network.user\n });\n (0, _forEach.default)(_context3 = network.buffers).call(_context3, function (buffer) {\n var newBuffer = _this2.$state.addBuffer(net.id, buffer.name);\n\n if (buffer.joined) {\n newBuffer.enabled = true;\n }\n\n if (buffer.seen) {\n newBuffer.last_read = new Date(buffer.seen).getTime();\n }\n });\n },\n monitorNetworkChanges: function monitorNetworkChanges(bncNet, bncNetworks) {\n var _this3 = this;\n\n var existingNets = (0, _create.default)(null);\n\n function rememberNetworks() {\n var _context4;\n\n (0, _forEach.default)(_context4 = this.$state.networks).call(_context4, function (network) {\n if (!network.connection.bncname) {\n return;\n }\n\n existingNets[network.connection.bncname] = {\n name: network.connection.bncname,\n host: network.connection.server,\n port: network.connection.port,\n tls: network.connection.tls,\n password: network.password,\n nick: network.nick,\n username: network.username\n };\n });\n }\n\n rememberNetworks();\n\n var saveState = function saveState(newVal) {\n var _context5;\n\n (0, _forEach.default)(_context5 = _this3.$state.networks).call(_context5, function (network) {\n // Only deal with BNC networks\n if (network.name === 'bnccontrol') {\n return;\n }\n\n var bncName = network.connection.bncname;\n var current = existingNets[bncName] || {};\n var tags = {};\n\n if (network.connection.server !== current.host) {\n tags.host = network.connection.server;\n }\n\n if (network.connection.port !== current.port) {\n tags.port = network.connection.port;\n }\n\n if (network.connection.tls !== current.tls) {\n tags.tls = network.connection.tls;\n }\n\n if (network.password !== current.password) {\n tags.password = network.password;\n }\n\n if (network.nick !== current.nick) {\n tags.nick = network.nick;\n }\n\n if (network.username !== current.username) {\n tags.user = network.username;\n } // A newly added network would not have a current name property set yet.\n // Only save the network if we've entered a host.\n\n\n if (!current.name && tags.host) {\n network.connection.bncname = network.name;\n bncNet.ircClient.bnc.addNetwork(network.name, tags.host, tags.port, tags.tls, tags.nick, tags.user, tags.password);\n } else if (current.name) {\n bncNet.ircClient.bnc.saveNetwork(bncName, tags);\n }\n });\n rememberNetworks();\n };\n\n var debouncedSaveState = _lodash.default.debounce(saveState, 2000);\n\n this.$state.$watch('networks', debouncedSaveState, {\n deep: true\n }); // Just before we connect to a network, make sure the BNC is sabed and connected to\n // it or at least trying to connect.\n\n this.$state.$on('network.connecting', function (event) {\n saveState();\n var netName = event.network.connection.bncname;\n var networkFromBnc = (0, _find.default)(_lodash.default).call(_lodash.default, bncNetworks, {\n name: netName\n });\n\n if (networkFromBnc && !networkFromBnc.connected) {\n bncNet.ircClient.raw('BOUNCER connect ' + netName);\n }\n }); // Very hacky until we have network name renaming on the bnc. When a new network\n // is added, change the name to the next available network name.\n\n this.$state.$on('network.new', function (event) {\n var currentNum = 1;\n var existingNet = true;\n\n while (existingNet) {\n existingNet = (0, _find.default)(_lodash.default).call(_lodash.default, _this3.$state.networks, {\n name: 'Network' + currentNum\n });\n\n if (!existingNet) {\n event.network.name = 'Network' + currentNum;\n }\n\n currentNum++;\n }\n });\n this.$state.$on('network.removed', function (event) {\n bncNet.ircClient.bnc.removeNetwork(event.network.connection.bncname);\n });\n this.$state.$on('buffer.close', function (event) {\n var buffer = event.buffer;\n var network = event.buffer.getNetwork();\n var bncName = network.connection.bncname;\n\n if (bncName) {\n bncNet.ircClient.bnc.closeBuffer(bncName, buffer.name);\n }\n });\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"KiwiBnc\"]\r\nwindow._kiwi_exports.components.startups.KiwiBnc = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-nicklist\",class:{\n 'kiwi-nicklist--filtering': _vm.filter_visible,\n 'kiwi-nicklist--avatars': _vm.shouldShowAvatars\n }},[_c('div',{staticClass:\"kiwi-nicklist-usercount\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user_filter),expression:\"user_filter\"}],ref:\"user_filter\",attrs:{\"placeholder\":_vm.$t('filter_users')},domProps:{\"value\":(_vm.user_filter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.user_filter=$event.target.value}}}),_c('i',{staticClass:\"fa fa-search\",attrs:{\"aria-hidden\":\"true\"}})]),_c('DynamicScroller',{staticClass:\"kiwi-nicklist-users\",attrs:{\"items\":_vm.sortedUsers,\"min-item-size\":34,\"key-field\":'nick'},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var item = ref.item;\n var index = ref.index;\n var active = ref.active;\nreturn [_c('DynamicScrollerItem',{attrs:{\"item\":item,\"active\":active,\"size-dependencies\":[],\"data-index\":index}},[_c('nicklist-user',{key:item.nick,attrs:{\"user\":item,\"nicklist\":_vm.self,\"network\":_vm.network}})],1)]}}])}),_c('div',{staticClass:\"cabrito-users\"},[_c('div',[_c('i',{staticClass:\"fa fa-users\",attrs:{\"aria-hidden\":\"true\"}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.sortedUsers.length)+\" \")])]),_c('div',{staticClass:\"cabrito-status\"})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _CommonLayout = _interopRequireDefault(require(\"./CommonLayout\"));\n\nvar _default = {\n components: {\n StartupLayout: _CommonLayout.default\n },\n data: function data() {\n return {\n network: null,\n network_extras: null,\n username: '',\n password: '',\n znc_network: '',\n showNetwork: true,\n showPass: true,\n showUser: true,\n show_password_box: false\n };\n },\n computed: {\n greetingText: function greetingText() {\n var greeting = this.$state.settings.startupOptions.greetingText;\n return typeof greeting === 'string' ? greeting : this.$t('start_greeting');\n },\n buttonText: function buttonText() {\n var greeting = this.$state.settings.startupOptions.buttonText;\n return typeof greeting === 'string' ? greeting : this.$t('start_button');\n },\n readyToStart: function readyToStart() {\n return this.username && (this.password || this.showPass === false);\n },\n infoContent: function infoContent() {\n return this.$state.settings.startupOptions.infoContent || '';\n }\n },\n created: function created() {\n var options = this.$state.settings.startupOptions;\n this.username = options.username || '';\n this.password = options.password || '';\n this.znc_network = window.location.hash.substr(1) || options.network || '';\n this.showNetwork = typeof options.showNetwork === 'boolean' ? options.showNetwork : true;\n this.showUser = typeof options.showUser === 'boolean' ? options.showUser : true;\n this.showPass = typeof options.showPass === 'boolean' ? options.showPass : true;\n\n if (options.autoConnect && this.username && this.password) {\n this.startUp();\n }\n },\n methods: {\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n formSubmit: function formSubmit() {\n if (this.readyToStart) {\n this.startUp();\n }\n },\n addNetwork: function addNetwork(netName) {\n var options = this.$state.settings.startupOptions;\n var password = this.username;\n\n if (netName) {\n password += '/' + netName;\n }\n\n password += ':' + this.password;\n var net = this.$state.addNetwork(netName, 'ZNC', {\n server: (0, _trim.default)(_lodash.default).call(_lodash.default, options.server),\n port: options.port,\n tls: options.tls,\n password: password\n });\n return net;\n },\n startUp: function startUp() {\n var _this = this;\n\n if (this.network) {\n this.$state.removeNetwork(this.network.id);\n }\n\n var netList = _lodash.default.compact(this.znc_network.split(','));\n\n if (netList.length === 0) {\n netList.push('');\n } // add our first network and make sure we can connect\n // before trying to add other networks.\n\n\n var net = this.network = this.addNetwork(netList.shift());\n this.network_extras = netList;\n\n var onRegistered = function onRegistered() {\n var _context;\n\n _this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n (0, _forEach.default)(_context = _this.network_extras).call(_context, function (netName, idx) {\n var extraNet = _this.addNetwork((0, _trim.default)(_lodash.default).call(_lodash.default, netName));\n\n extraNet.ircClient.connect();\n });\n\n _this.$refs.layout.close();\n };\n\n var onClosed = function onClosed() {\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n net.ircClient.once('registered', onRegistered);\n net.ircClient.once('close', onClosed);\n net.ircClient.connect();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"ZncLogin\"]\r\nwindow._kiwi_exports.components.startups.ZncLogin = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MediaViewer.vue?vue&type=template&id=47b80fad&\"\nimport script from \"./MediaViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaViewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MediaViewer.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _strftime = _interopRequireDefault(require(\"strftime\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"@/libs/bufferTools\"));\n\nvar _BufferKey = _interopRequireDefault(require(\"./BufferKey\"));\n\nvar _MessageListMessageCompact = _interopRequireDefault(require(\"./MessageListMessageCompact\"));\n\nvar _MessageListMessageModern = _interopRequireDefault(require(\"./MessageListMessageModern\"));\n\nvar _MessageListMessageInline = _interopRequireDefault(require(\"./MessageListMessageInline\"));\n\nvar _LoadingAnimation = _interopRequireDefault(require(\"./LoadingAnimation.vue\"));\n\nrequire('@/libs/polyfill/Element.closest');\n\nvar log = _Logger.default.namespace('MessageList.vue'); // If we're scrolled up more than this many pixels, don't auto scroll down to the bottom\n// of the message list\n\n\nvar BOTTOM_SCROLL_MARGIN = 60;\nvar _default = {\n components: {\n BufferKey: _BufferKey.default,\n MessageListMessageModern: _MessageListMessageModern.default,\n MessageListMessageCompact: _MessageListMessageCompact.default,\n MessageListMessageInline: _MessageListMessageInline.default,\n LoadingAnimation: _LoadingAnimation.default\n },\n props: ['buffer'],\n data: function data() {\n return {\n smooth_scroll: false,\n auto_scroll: true,\n force_smooth_scroll: null,\n chathistoryAvailable: true,\n hover_nick: '',\n message_info_open: null,\n timeToClose: false,\n startClosing: false,\n selectedMessages: (0, _create.default)(null)\n };\n },\n computed: {\n thisMl: function thisMl() {\n return this;\n },\n listType: function listType() {\n if (this.$state.setting('messageLayout')) {\n log.info('Deprecation Warning: The config option \\'messageLayout\\' has been moved to buffers.messageLayout');\n }\n\n return this.buffer.setting('messageLayout') || this.$state.setting('messageLayout');\n },\n useExtraFormatting: function useExtraFormatting() {\n // Enables simple markdown formatting\n return this.buffer.setting('extra_formatting');\n },\n shouldShowChathistoryTools: function shouldShowChathistoryTools() {\n // Only show it if we're connected\n if (this.buffer.getNetwork().state !== 'connected') {\n return false;\n }\n\n var isCorrectBufferType = this.buffer.isChannel() || this.buffer.isQuery();\n var isSupported = !!this.buffer.getNetwork().ircClient.chathistory.isSupported();\n return isCorrectBufferType && isSupported && (0, _flags.default)(this.buffer).chathistory_available;\n },\n shouldRequestChannelKey: function shouldRequestChannelKey() {\n return this.buffer.getNetwork().state === 'connected' && this.buffer.isChannel() && (0, _flags.default)(this.buffer).channel_badkey;\n },\n ourNick: function ourNick() {\n return this.buffer ? this.buffer.getNetwork().nick : '';\n },\n filteredMessagesGroupedDay: function filteredMessagesGroupedDay() {\n var _context;\n\n // Group messages by day\n var days = [];\n var lastDay = null;\n (0, _forEach.default)(_context = this.filteredMessages).call(_context, function (message) {\n var day = Math.floor(message.time / 1000 / 86400);\n\n if (!lastDay || day !== lastDay) {\n days.push({\n dayNum: day,\n messages: []\n });\n lastDay = day;\n }\n\n days[days.length - 1].messages.push(message);\n });\n return days;\n },\n filteredMessages: function filteredMessages() {\n return bufferTools.orderedMessages(this.buffer);\n },\n shouldShowJoiningLoader: function shouldShowJoiningLoader() {\n return this.buffer.isChannel() && this.buffer.enabled && !this.buffer.joined && this.buffer.getNetwork().state === 'connected';\n }\n },\n watch: {\n filteredMessages: function filteredMessages() {\n var _this = this;\n\n // Data has changed and now preparing to update the DOM.\n // Check our scrolling state before the DOM updates so that we know if we're scrolled\n // at the bottom before new messages are added\n this.checkScrollingState(); // Wait until after the DOM has updated before possibly scrolling down based on the\n // previous check\n\n this.$nextTick(function () {\n _this.maybeScrollToBottom();\n });\n },\n buffer: function buffer(newBuffer, oldBuffer) {\n var _this2 = this;\n\n if (oldBuffer) {\n oldBuffer.isMessageTrimming = true;\n }\n\n if (!newBuffer) {\n return;\n }\n\n this.message_info_open = null;\n\n if (this.buffer.getNetwork().state === 'connected') {\n (0, _flags.default)(newBuffer).has_opened = true;\n }\n\n this.auto_scroll = true;\n this.force_smooth_scroll = false;\n this.$nextTick(function () {\n _this2.scrollToBottom();\n });\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.addCopyListeners();\n this.$nextTick(function () {\n _this3.scrollToBottom(); // this.smooth_scroll = true;\n\n });\n this.listen(this.$state, 'mediaviewer.opened', function () {\n _this3.$nextTick(_this3.maybeScrollToBottom.apply(_this3));\n });\n this.listen(this.$state, 'messagelist.scrollto', function (opt) {\n if (opt && opt.id) {\n _this3.maybeScrollToId(opt.id);\n }\n });\n },\n methods: {\n isHoveringOverMessage: function isHoveringOverMessage(message) {\n return message.nick && message.nick.toLowerCase() === this.hover_nick.toLowerCase();\n },\n toggleMessageInfo: function toggleMessageInfo(message) {\n if (!message) {\n this.message_info_open = null;\n } else if (this.message_info_open === message) {// It's already open, so don't do anything\n } else if (this.canShowInfoForMessage(message)) {\n var _context2;\n\n // If in the process of selecting text, don't show the info box\n var sel = window.getSelection();\n\n if (sel.rangeCount > 0) {\n var range = sel.getRangeAt(0);\n\n if (range && !range.collapsed) {\n return;\n }\n }\n\n this.message_info_open = message;\n this.$nextTick((0, _bind.default)(_context2 = this.maybeScrollToBottom).call(_context2, this));\n }\n },\n shouldShowUnreadMarker: function shouldShowUnreadMarker(message) {\n var _context3;\n\n var idx = (0, _indexOf.default)(_context3 = this.filteredMessages).call(_context3, message);\n var previous = this.filteredMessages[idx - 1];\n var current = this.filteredMessages[idx];\n var lastRead = this.buffer.last_read;\n\n if (!lastRead) {\n return false;\n }\n\n if (!current) {\n return false;\n } // If the last message has been read, and this message not read\n\n\n if (previous && previous.time < lastRead && current.time > lastRead) {\n return true;\n }\n\n return false;\n },\n shouldShowDateChangeMarker: function shouldShowDateChangeMarker(idx) {\n var previous = this.filteredMessages[idx - 1];\n var current = this.filteredMessages[idx];\n\n if (!previous && new Date(current.time).getDay() !== new Date().getDay()) {\n // The first message of the lsit and it's not today\n return true;\n } else if (!previous) {\n // The first message of the lsit but it's today\n return false;\n } // If the last message has been read, and this message not read\n\n\n if (new Date(previous.time).getDay() !== new Date(current.time).getDay()) {\n return true;\n }\n\n return false;\n },\n canShowInfoForMessage: function canShowInfoForMessage(message) {\n var showInfoForTypes = ['privmsg', 'notice', 'action'];\n return (0, _indexOf.default)(showInfoForTypes).call(showInfoForTypes, message.type) > -1;\n },\n bufferSetting: function bufferSetting(key) {\n return this.buffer.setting(key);\n },\n formatTime: function formatTime(time) {\n return (0, _strftime.default)(this.buffer.setting('timestamp_format') || '%T', new Date(time));\n },\n formatTimeFull: function formatTimeFull(time) {\n var format = this.buffer.setting('timestamp_full_format');\n return format ? (0, _strftime.default)(format, new Date(time)) : new Date(time).toLocaleString();\n },\n formatMessage: function formatMessage(message) {\n return message.toHtml(this);\n },\n isMessageHighlight: function isMessageHighlight(message) {\n // Highlighting ourselves when we join or leave a channel is silly\n if (message.type === 'traffic') {\n return false;\n }\n\n return message.isHighlight;\n },\n userColour: function userColour(user) {\n if (user && this.bufferSetting('colour_nicknames_in_messages')) {\n return user.getColour();\n }\n\n return '';\n },\n openUserBox: function openUserBox(nick) {\n var user = this.$state.getUser(this.buffer.networkid, nick);\n\n if (user) {\n this.$state.$emit('userbox.show', user, {\n buffer: this.buffer\n });\n }\n },\n onListClick: function onListClick(event) {\n this.toggleMessageInfo();\n },\n onMessageDblClick: function onMessageDblClick(event, message) {\n clearTimeout(this.messageClickTmr);\n var dataNick = event.target.getAttribute('data-nick');\n\n if (!dataNick) {\n return;\n }\n\n var network = this.buffer.getNetwork();\n var user = network.userByName(dataNick); // The user might have left use dataNick as fallback\n\n var nick = user && user.nick ? user.nick : dataNick;\n this.$state.$emit('input.insertnick', nick);\n },\n onMessageClick: function onMessageClick(event, message, delay) {\n // Delaying the click for 200ms allows us to check for a second click. ie. double click\n // Quick hack as we only need double click for nicks, nothing else\n if (delay && event.target.getAttribute('data-nick')) {\n clearTimeout(this.messageClickTmr);\n this.messageClickTmr = (0, _setTimeout2.default)(this.onMessageClick, 200, event, message, false);\n return;\n }\n\n var isLink = event.target.tagName === 'A';\n var channelName = event.target.getAttribute('data-channel-name');\n\n if (channelName && isLink) {\n var network = this.buffer.getNetwork();\n this.$state.addBuffer(this.buffer.networkid, channelName);\n network.ircClient.join(channelName);\n this.$state.setActiveBuffer(this.buffer.networkid, channelName);\n return;\n }\n\n var userNick = event.target.getAttribute('data-nick');\n\n if (userNick && isLink) {\n this.openUserBox(userNick);\n return;\n }\n\n var url = event.target.getAttribute('data-url');\n\n if (url && isLink) {\n if (this.$state.setting('buffers.inline_link_auto_previews')) {\n message.embed.type = 'url';\n message.embed.payload = url;\n } else {\n this.$state.$emit('mediaviewer.show', url);\n }\n }\n\n if (this.message_info_open && this.message_info_open !== message) {\n // Clicking on another message while another info is open, just close the info\n this.toggleMessageInfo();\n event.preventDefault();\n return;\n }\n\n if (this.$state.ui.is_touch && this.$state.setting('buffers.show_message_info')) {\n if (this.canShowInfoForMessage(message) && event.target.nodeName === 'A') {\n // We show message info boxes on touch screen devices so that the user has an\n // option to preview the links or do other stuff.\n event.preventDefault();\n }\n\n this.toggleMessageInfo(message);\n }\n },\n checkScrollingState: function checkScrollingState() {\n var el = this.$el;\n var scrolledUpByPx = el.scrollHeight - (el.offsetHeight + el.scrollTop); // We need to know at this point (before the DOM has updated with new messages) if we\n // are at the bottom of the messagelist or not, otherwise once the DOM has updated then\n // it is too late to determine if we should auto scroll down\n\n if (scrolledUpByPx > BOTTOM_SCROLL_MARGIN) {\n this.auto_scroll = false;\n this.buffer.isMessageTrimming = false;\n } else {\n this.auto_scroll = true;\n this.buffer.isMessageTrimming = true;\n }\n\n if (this.force_smooth_scroll !== null) {\n this.smooth_scroll = this.force_smooth_scroll;\n this.force_smooth_scroll = null; // TODO: Enabling smooth_scroll breaks the auto-scroll-to-bottom on fast buffers as\n // it takes time to scroll down and it looks like we're scrolled too far up when\n // detecting if were scrolled up or not. Look into ways around this so that we\n // can enable it as it does look a lot better.\n // } else if (scrolledUpByPx < BOTTOM_SCROLL_MARGIN) {\n // this.smooth_scroll = true;\n } else {\n this.smooth_scroll = false;\n }\n },\n onListResize: function onListResize(e) {\n // The messagelist has resized or had new content added so check if we should auto\n // scroll down to the bottom\n this.maybeScrollToBottom();\n },\n scrollToBottom: function scrollToBottom() {\n this.$el.scrollTop = this.$el.scrollHeight;\n },\n maybeScrollToBottom: function maybeScrollToBottom() {\n if (this.auto_scroll) {\n this.scrollToBottom();\n }\n },\n maybeScrollToId: function maybeScrollToId(id) {\n var messageElement = this.$el.querySelector('.kiwi-messagelist-message[data-message-id=\"' + id + '\"]');\n\n if (messageElement && messageElement.offsetTop) {\n this.$el.scrollTop = messageElement.offsetTop;\n this.auto_scroll = false;\n }\n },\n getSelectedMessages: function getSelectedMessages() {\n var sel = document.getSelection();\n var r = sel.getRangeAt(0);\n var messageEls = (0, _toConsumableArray2.default)(this.$el.querySelectorAll('.kiwi-messagelist-message'));\n var selectedMessageEls = (0, _filter.default)(messageEls).call(messageEls, function (el) {\n return r.intersectsNode(el);\n });\n return selectedMessageEls;\n },\n restrictTextSelection: function restrictTextSelection() {\n // Prevents the selection cursor escaping the message list.\n document.querySelector('body').classList.add('kiwi-unselectable');\n this.$el.style.userSelect = 'text';\n },\n unrestrictTextSelection: function unrestrictTextSelection() {\n // Allows all page elements to be selected again.\n document.querySelector('body').classList.remove('kiwi-unselectable');\n this.$el.style.userSelect = 'auto';\n },\n removeSelections: function removeSelections() {\n var removeNative = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.selectedMessages = (0, _create.default)(null);\n var selection = document.getSelection();\n\n if (removeNative && selection) {\n // stops the native browser selection being left behind after ctrl+c\n selection.removeAllRanges();\n }\n },\n addCopyListeners: function addCopyListeners() {\n var _this4 = this;\n\n // Better copy pasting\n var LogFormatter = function LogFormatter(msg) {\n var _context4;\n\n var text = '';\n\n switch (msg.type) {\n case 'privmsg':\n text = (0, _concat.default)(_context4 = \"<\".concat(msg.nick, \"> \")).call(_context4, msg.message);\n break;\n\n case 'nick':\n case 'mode':\n case 'action':\n case 'traffic':\n text = \"\".concat(msg.message);\n break;\n\n default:\n text = msg.message;\n }\n\n if (text.length) {\n var _context5;\n\n return (0, _concat.default)(_context5 = \"[\".concat(new Date(msg.time).toLocaleTimeString({\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n }), \"] \")).call(_context5, text);\n }\n\n return null;\n };\n\n var copyData = '';\n var selecting = false;\n var selectionChangeOff = null;\n this.listen(document, 'selectstart', function (e) {\n if (!_this4.$el.contains(e.target)) {\n // Selected elsewhere on the page\n copyData = '';\n\n _this4.removeSelections();\n\n return;\n }\n\n _this4.removeSelections();\n\n selectionChangeOff = _this4.listen(document, 'selectionchange', onSelectionChange);\n });\n this.listen(document, 'mouseup', function (e) {\n selectionChangeOff && selectionChangeOff();\n\n _this4.unrestrictTextSelection();\n\n if (selecting) {\n e.preventDefault();\n }\n\n selecting = false;\n });\n\n var onSelectionChange = function onSelectionChange(e) {\n if (!_this4.$el) {\n return true;\n }\n\n copyData = ''; // Store the text data to be copied in this.\n\n var selection = document.getSelection();\n\n if (!selection || !selection.anchorNode || !selection.anchorNode.parentNode.closest('.' + _this4.$el.className)) {\n _this4.unrestrictTextSelection();\n\n _this4.removeSelections();\n\n return true;\n }\n\n _this4.removeSelections(); // Prevent the selection escaping the message list\n\n\n _this4.restrictTextSelection();\n\n if (selection.rangeCount > 0) {\n var _context6, _context7;\n\n selecting = true;\n\n var selectedMesssageEls = _this4.getSelectedMessages();\n\n var selectedMessages = [];\n (0, _forEach.default)(selectedMesssageEls).call(selectedMesssageEls, function (el) {\n var m = _this4.buffer.messagesObj.messageIds[el.dataset.messageId];\n\n if (m) {\n selectedMessages.push(m);\n }\n }); // If only 1 message is selected then treat the selection as native text\n // selection. Most likely copying part of a message only.\n\n if (selectedMessages.length === 1) {\n selectedMessages = [];\n }\n\n _this4.selectedMessages = (0, _create.default)(null);\n (0, _forEach.default)(selectedMessages).call(selectedMessages, function (m) {\n _this4.selectedMessages[m.id] = m;\n }); // Iterate through the selected messages, format and store as a\n // string to be used in the copy handler\n\n copyData = (0, _map.default)(_context6 = (0, _filter.default)(_context7 = (0, _sort.default)(selectedMessages).call(selectedMessages, function (a, b) {\n return a.time > b.time ? 1 : -1;\n })).call(_context7, function (m) {\n var _context8;\n\n return (0, _trim.default)(_context8 = m.message).call(_context8).length;\n })).call(_context6, LogFormatter).join('\\r\\n');\n } else {\n _this4.unrestrictTextSelection();\n }\n\n return false;\n };\n\n this.listen(document, 'copy', function (e) {\n if (!copyData || !copyData.length) {\n // Just do a normal copy if no special data\n return true;\n }\n\n if (navigator.clipboard) {\n // Supports Clipboard API\n navigator.clipboard.writeText(copyData);\n } else {\n var input = document.createElement('textarea');\n document.body.appendChild(input);\n input.innerHTML = copyData;\n input.select();\n document.execCommand('copy');\n document.body.removeChild(input);\n }\n\n return true;\n });\n },\n // Move a messages embeded content to the main media preview\n openEmbedInPreview: function openEmbedInPreview(message) {\n // First open the embed in the main media preview\n var embed = message.embed;\n\n if (embed.type === 'url') {\n this.$state.$emit('mediaviewer.show', embed.payload);\n } else if (embed.type === 'component') {\n this.$state.$emit('mediaviewer.show', {\n component: embed.payload\n });\n } // Remove the embed from the message\n\n\n embed.payload = null;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageList\"]\r\nwindow._kiwi_exports.components.MessageList = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _Avatar = _interopRequireDefault(require(\"./Avatar\"));\n\n// This component simply wraps the Avatar component so that plugins may override this messagelist\n// avatar separately than the nicklist avatar\nvar _default = {\n c: {\n Avatar: _Avatar.default\n },\n props: ['message', 'user']\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageListAvatar\"]\r\nwindow._kiwi_exports.components.MessageListAvatar = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-serverselector\",class:{'kiwi-serverselector--custom': _vm.presetServer === 'custom'}},[(_vm.usePreset && _vm.presetNetworks.length > 0)?_c('div',{staticClass:\"kiwi-serverselector-presets\"},[_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('server')))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.presetServer),expression:\"presetServer\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.presetServer=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"custom\"}},[_vm._v(\"Custom Server\")]),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"-----------------\")]),_vm._l((_vm.presetNetworks),function(s){return _c('option',{key:s.name,domProps:{\"value\":_vm.toUri(s)}},[_vm._v(_vm._s(s.name))])})],2)])]):_vm._e(),(_vm.showCustom || _vm.presetNetworks.length === 0 || !_vm.usePreset)?[_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"kiwi-networksettings-connection-address\",attrs:{\"label\":_vm.$t('server')},model:{value:(_vm.connection.server),callback:function ($$v) {_vm.$set(_vm.connection, \"server\", $$v)},expression:\"connection.server\"}}),_c('input-text',{staticClass:\"kiwi-networksettings-connection-port\",attrs:{\"label\":_vm.$t('settings_port'),\"type\":\"number\"},model:{value:(_vm.connection.port),callback:function ($$v) {_vm.$set(_vm.connection, \"port\", $$v)},expression:\"connection.port\"}},[_c('span',{staticClass:\"fa-stack fa-lg kiwi-customserver-tls\",class:{ 'kiwi-customserver-tls--enabled' : _vm.connection.tls },on:{\"click\":_vm.toggleTls}},[(_vm.connection.tls)?_c('i',{staticClass:\"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock\"}):_c('i',{staticClass:\"fa fa-unlock fa-stack-1x kiwi-customserver-tls-minus\"})])])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-wrap kiwi-wrap-error\"},[_c('h2',[_vm._v(\"Kiwi IRC could not start :(\")]),_c('div',[_vm._v(_vm._s(_vm.error))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ZncLogin.vue?vue&type=template&id=d0abb22c&\"\nimport script from \"./ZncLogin.vue?vue&type=script&lang=js&\"\nexport * from \"./ZncLogin.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZncLogin.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('input-prompt', {\n props: ['label', 'hideCancel', 'noprompt', 'block'],\n data: function data() {\n return {\n value: '',\n state: 'pre'\n };\n },\n created: function created() {\n if (this.noprompt) {\n this.prompt();\n }\n },\n methods: {\n prompt: function prompt() {\n var _this = this;\n\n this.state = 'prompt';\n this.$nextTick(function () {\n _this.$el.querySelector('input').focus();\n });\n },\n complete: function complete() {\n this.$emit('submit', this.value);\n this.state = 'pre';\n },\n cancel: function cancel() {\n this.$emit('cancel');\n this.state = 'pre';\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"InputPrompt\"]\r\nwindow._kiwi_exports.components.utils.InputPrompt = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./AwayStatusIndicator.vue?vue&type=template&id=3462e1e5&functional=true&\"\nimport script from \"./AwayStatusIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./AwayStatusIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AwayStatusIndicator.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AutoComplete.vue?vue&type=template&id=7ce603d2&\"\nimport script from \"./AutoComplete.vue?vue&type=script&lang=js&\"\nexport * from \"./AutoComplete.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AutoComplete.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./ChannelList.vue?vue&type=template&id=20211d72&\"\nimport script from \"./ChannelList.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelList.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar ipRegex = _interopRequireWildcard(require(\"ip-regex\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar IrcdDiffs = _interopRequireWildcard(require(\"@/helpers/IrcdDiffs\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _Avatar = _interopRequireDefault(require(\"./Avatar\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _default = {\n components: {\n Avatar: _Avatar.default,\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: ['buffer', 'network', 'user'],\n data: function data() {\n return {\n self: this,\n whoisRequested: false,\n whoisLoading: false,\n pluginUiButtonElements: _GlobalApi.default.singleton().userboxButtonPlugins\n };\n },\n computed: {\n // Channel modes differ on some IRCds so get them from the network options\n availableChannelModes: function availableChannelModes() {\n var availableModes = [];\n var prefixes = this.network.ircClient.network.options.PREFIX;\n var knownPrefix = {\n q: 'Owner',\n a: 'Admin',\n o: 'Operator',\n h: 'Half-Operator',\n v: 'Voice'\n };\n\n if (!IrcdDiffs.isAChannelModeAdmin(this.network)) {\n delete knownPrefix.a;\n }\n\n if (!IrcdDiffs.isQChannelModeOwner(this.network)) {\n delete knownPrefix.q;\n }\n\n if (!IrcdDiffs.supportsHalfOp(this.network)) {\n delete knownPrefix.h;\n }\n\n (0, _forEach.default)(prefixes).call(prefixes, function (prefix) {\n var mode = prefix.mode;\n\n if (knownPrefix[mode]) {\n availableModes.push({\n mode: mode,\n description: knownPrefix[mode]\n });\n }\n });\n return availableModes;\n },\n areWeAnOp: function areWeAnOp() {\n if (!this.buffer) {\n return false;\n }\n\n return this.buffer.isUserAnOp(this.buffer.getNetwork().nick);\n },\n realname: function realname() {\n var _context;\n\n return (0, _trim.default)(_context = this.user.realname || '').call(_context);\n },\n formattedRealname: function formattedRealname() {\n var blocks = (0, _MessageParser.default)(this.realname, {\n extras: false\n });\n var content = (0, _Html.default)(blocks, false);\n return content;\n },\n isUserOnBuffer: function isUserOnBuffer() {\n if (!this.buffer) {\n return false;\n }\n\n if (!this.user.buffers[this.buffer.id]) {\n // Probably switched buffer while the userbox was open\n return false;\n }\n\n return true;\n },\n userMode: {\n get: function getUserMode() {\n if (!this.buffer) {\n return '';\n }\n\n var userBufferInfo = this.user.buffers[this.buffer.id];\n\n if (!userBufferInfo) {\n // Probably switched buffer while the userbox was open\n return '';\n }\n\n var modes = userBufferInfo.modes;\n return modes.length > 0 ? modes[0] : '';\n },\n // Switch the current user mode for the new one\n set: function setUserMode(newVal) {\n var _context2;\n\n var client = this.network.ircClient;\n var oldVal = this.userMode;\n var changes = [];\n var targets = [];\n\n if (oldVal) {\n changes.push('-' + oldVal);\n targets.push(this.user.nick);\n }\n\n if (newVal) {\n changes.push('+' + newVal);\n targets.push(this.user.nick);\n }\n\n var params = (0, _concat.default)(_context2 = ['MODE', this.buffer.name, changes.join('')]).call(_context2, targets);\n client.raw(params);\n }\n },\n userChannels: function userChannels() {\n var _context3;\n\n var channels = (0, _trim.default)(_context3 = this.user.channels).call(_context3).split(' ');\n\n for (var i = 0; i < channels.length; i++) {\n channels[i] = TextFormatting.linkifyChannels(channels[i]);\n }\n\n return channels.join(' ');\n },\n isSelf: function isSelf() {\n return this.user === this.network.currentUser();\n }\n },\n watch: {\n user: function watchUser() {\n // Reset the whois view since the user is now different\n this.whoisRequested = false;\n this.whoisLoading = false;\n }\n },\n methods: {\n userModeOnThisBuffer: function userModeOnBuffer(user) {\n if (!this.buffer) {\n return '';\n }\n\n var userBufferInfo = user.buffers[this.buffer.id];\n var modes = userBufferInfo.modes;\n return modes.length > 0 ? modes[0] : '';\n },\n openQuery: function openQuery() {\n var buffer = this.$state.addBuffer(this.network.id, this.user.nick);\n this.$state.setActiveBuffer(this.network.id, buffer.name);\n\n if (this.$state.ui.is_narrow) {\n this.$state.$emit('userbox.hide');\n }\n },\n onChannelsClick: function onChannelsClick(event) {\n var channelName = event.target.getAttribute('data-channel-name');\n\n if (channelName) {\n var network = this.buffer.getNetwork();\n this.$state.addBuffer(this.buffer.networkid, channelName);\n network.ircClient.join(channelName);\n }\n },\n updateWhoisData: function updateWhoisData() {\n var _this = this;\n\n this.whoisRequested = true;\n this.whoisLoading = true;\n this.network.ircClient.whois(this.user.nick, function () {\n _this.whoisLoading = false;\n });\n },\n kickUser: function kickUser() {\n var reason = this.$state.setting('buffers.default_kick_reason');\n this.network.ircClient.raw('KICK', this.buffer.name, this.user.nick, reason);\n },\n createBanMask: function createBanMask() {\n // try to ban via user account first\n if (this.user.account) {\n var _context4;\n\n // if EXTBAN is supported use that\n var extban = IrcdDiffs.extbanAccount(this.network);\n\n if (extban) {\n return extban + ':' + this.user.account;\n } // if the account name is in the host ban the host\n // Eg. user@network/user/accountname\n\n\n if ((0, _indexOf.default)(_context4 = this.user.host.toLowerCase()).call(_context4, this.user.account.toLowerCase()) > -1) {\n return '*!*@' + this.user.host;\n }\n } // if an ip address is in the host and not the whole host ban the ip\n // Eg. user@gateway/1.2.3.4\n\n\n var ipTest = new RegExp('(' + ipRegex.v4().source + '|' + ipRegex.v6().source + ')');\n\n if (ipTest.test(this.user.host)) {\n var match = this.user.host.match(ipTest)[0];\n\n if (match !== this.user.host) {\n return '*!*@*' + match + '*';\n }\n } // if an 8 char hex is the username ban by username. Commonly used in gateways\n // Eg. 59d4c432@a.clients.kiwiirc.com\n\n\n var hexTest = /^([a-f0-9]{8})$/i;\n\n if (hexTest.test(this.user.username)) {\n var _match = this.user.username.match(hexTest)[0];\n return '*!' + _match + '@*';\n } // fallback to default_ban_mask from config\n\n\n var mask = this.$state.setting('buffers.default_ban_mask');\n mask = mask.replace('%n', this.user.nick);\n mask = mask.replace('%i', this.user.username);\n mask = mask.replace('%h', this.user.host);\n return mask;\n },\n banUser: function banUser() {\n if (!this.user.username || !this.user.host) {\n return;\n }\n\n var banMask = this.createBanMask();\n this.network.ircClient.raw('MODE', this.buffer.name, '+b', banMask);\n },\n kickbanUser: function kickbanuser() {\n if (!this.user.username || !this.user.host) {\n return;\n }\n\n var banMask = this.createBanMask();\n var reason = this.$state.setting('buffers.default_kick_reason');\n this.network.ircClient.raw('MODE', this.buffer.name, '+b', banMask);\n this.network.ircClient.raw('KICK', this.buffer.name, this.user.nick, reason);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"UserBox\"]\r\nwindow._kiwi_exports.components.UserBox = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/**\n * batchedAdd prevents a flood of new inserts into state. Based on JS ticks, inserts /sec are\n * counted by each JS tick that inserts an item. Eg. 10 inserts in 1 tick = 1 count. 10 inserts\n * on different JS ticks = 10 counts.\n * After X counts/sec, batch each second worth of new items at the same time.\n */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = batchedAdd;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nfunction batchedAdd(singleFn, batchedFn) {\n var numInsertsSec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3;\n var inTick = false;\n var queue = [];\n var numInLastSec = 0;\n var queueLoopTmr = null;\n var loopInterval = 1000;\n var checkSecRateTmr = null;\n\n function queueLoop() {\n numInLastSec = 0;\n\n if (queue.length) {\n // emptying queue before calling batchedFn in case that function triggers\n // code that needs to see that the queue has been processed.\n var q = queue;\n queue = [];\n batchedFn(q);\n queueLoopTmr = (0, _setTimeout2.default)(queueLoop, loopInterval);\n } else {\n queueLoopTmr = null;\n }\n }\n\n function maybeStartLoop() {\n if (!queueLoopTmr) {\n queueLoopTmr = (0, _setTimeout2.default)(queueLoop, loopInterval);\n }\n } // Reset numInLastSec after loopInterval. This allows enough time for the counter to\n // increase to detect batching. Only needs to run if we are not currently batching and\n // only needs to run once at a time.\n\n\n function resetAddCounter() {\n if (!queueLoopTmr && !checkSecRateTmr) {\n checkSecRateTmr = (0, _setTimeout2.default)(function () {\n checkSecRateTmr = null;\n\n if (!queueLoopTmr) {\n numInLastSec = 0;\n }\n }, loopInterval);\n }\n }\n\n function batchFn(item) {\n if (!inTick) {\n numInLastSec++;\n } // If already queuing or we reached our limit on items/sec, queue the item\n\n\n if (queue.length || numInLastSec > numInsertsSec) {\n queue.push(item);\n maybeStartLoop();\n } else {\n inTick = true;\n (0, _setTimeout2.default)(function () {\n inTick = false;\n });\n singleFn(item);\n resetAddCounter();\n }\n }\n\n batchFn.queue = function getQueue() {\n return queue;\n };\n\n return batchFn;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"batchedAdd\"]\r\nwindow._kiwi_exports.libs.batchedAdd = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar embedlyTagIncluded = false;\nvar _default = {\n props: ['url', 'showPin', 'iframeSandboxOptions'],\n data: function data() {\n return {\n debouncedUpdateEmbed: null\n };\n },\n computed: {\n settings: function settings() {\n return this.$state.setting('embedly');\n }\n },\n watch: {\n url: function url() {\n this.updateEmbed();\n }\n },\n created: function created() {\n this.updateEmbed();\n },\n methods: {\n updateEmbed: function updateEmbed() {\n var _this = this;\n\n var checkEmbedlyAndShowCard = function checkEmbedlyAndShowCard() {\n // If the embedly function doesn't exist it's probably still loading\n // the embedly script\n if (typeof window.embedly !== 'function') {\n (0, _setTimeout2.default)(checkEmbedlyAndShowCard, 100);\n return;\n }\n\n _this.$nextTick(function () {\n window.embedly('card', _this.$refs.embedlyLink);\n\n _this.$emit('setHeight', 'auto');\n\n if (_this.showPin) {\n // This is inline so set a max height\n _this.$el.style.maxHeight = (_this.settings.maxHeight || 400) + 'px';\n } else {\n // This is main media view set a relative max height\n _this.$emit('setMaxHeight', '54%');\n }\n });\n };\n\n if (!embedlyTagIncluded) {\n var head = document.getElementsByTagName('head')[0];\n var script = document.createElement('script');\n script.type = 'text/javascript';\n var embedlyUrl = this.$state.getSetting('settings.embedly.script') || '//cdn.embedly.com/widgets/platform.js';\n script.src = embedlyUrl;\n head.appendChild(script);\n embedlyTagIncluded = true;\n }\n\n checkEmbedlyAndShowCard();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"UrlEmbed\"]\r\nwindow._kiwi_exports.components.UrlEmbed = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-header kiwi-theme-bg\",on:{\"click\":_vm.onHeaderClick}},[(_vm.isChannel())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_vm._v(_vm._s(_vm.buffer.name))])]),(_vm.isJoined && _vm.isConnected)?_c('div',{key:_vm.buffer.id,staticClass:\"kiwi-header-options\"},[_vm._l((_vm.pluginUiChannelElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:({\n el: plugin.el,\n props: {\n kiwi: {\n buffer: _vm.buffer,\n containerheader: _vm.self,\n }\n }\n }),expression:\"{\\n el: plugin.el,\\n props: {\\n kiwi: {\\n buffer: buffer,\\n containerheader: self,\\n }\\n }\\n }\"}],key:plugin.id,staticClass:\"kiwi-header-option\"})}),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-about\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'about'\n }},[_c('a',{attrs:{\"title\":_vm.$t('more_information')},on:{\"click\":function($event){return _vm.sidebarState.toggleAbout()}}},[_c('i',{staticClass:\"fa fa-info\",attrs:{\"aria-hidden\":\"true\"}})])]),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-nicklist\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'nicklist'\n || _vm.sidebarSection === 'user'\n }},[_c('a',{attrs:{\"title\":_vm.$t('person', {count: Object.keys(_vm.buffer.users).length})},on:{\"click\":function($event){return _vm.sidebarState.toggleNicklist()}}},[_c('i',{staticClass:\"fa fa-users\",attrs:{\"aria-hidden\":\"true\"}}),_c('span',[_vm._v(_vm._s(Object.keys(_vm.buffer.users).length))])])]),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-settings\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'settings'\n }},[_c('a',{attrs:{\"title\":_vm.$t('channel_settings')},on:{\"click\":function($event){return _vm.sidebarState.toggleBufferSettings()}}},[_c('i',{staticClass:\"fa fa-cog\",attrs:{\"aria-hidden\":\"true\"}})])]),(_vm.sidebarState.isPinned)?_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-unpinsidebar\"},[_c('a',{on:{\"click\":function($event){return _vm.sidebarState.unpin()}}},[_c('i',{staticClass:\"fa fa-thumb-tack\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e()],2):_vm._e(),(!_vm.isJoined && _vm.isConnected)?_c('div',{staticClass:\"kiwi-header-notjoined\"},[_c('a',{staticClass:\"u-link kiwi-header-join-channel-button\",on:{\"click\":_vm.joinCurrentBuffer}},[_vm._v(\" \"+_vm._s(_vm.$t('container_join'))+\" \")])]):_vm._e(),_c('transition',{attrs:{\"name\":\"kiwi-header-prompttrans\"}},[(_vm.prompts.closeChannel)?_c('input-confirm',{staticClass:\"kiwi-header-prompt\",attrs:{\"label\":_vm.$t('prompt_leave_channel'),\"flip-connotation\":true},on:{\"ok\":_vm.closeCurrentBuffer,\"submit\":function($event){_vm.prompts.closeChannel=false}}}):_vm._e()],1)]:(_vm.isServer())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_vm._v(\" \"+_vm._s(_vm.buffer.getNetwork().name)+\" \")])]),_c('div',{staticClass:\"kiwi-header-server-connection\"},[(_vm.buffer.getNetwork().state === 'disconnected')?_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.onConnectButtonClick}},[_vm._v(\" \"+_vm._s(_vm.$t('connect'))+\" \")]):(_vm.buffer.getNetwork().state === 'connecting')?_c('span',[_c('i',{staticClass:\"fa fa-spin fa-spinner\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \")]):_vm._e()])]:(_vm.isQuery())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_c('away-status-indicator',{staticClass:\"kiwi-header-awaystatus\",attrs:{\"network\":_vm.buffer.getNetwork(),\"user\":_vm.network.userByName(_vm.buffer.name)}}),_vm._v(\" \"+_vm._s(_vm.buffer.name)+\" \")],1)]),_c('div',{key:_vm.buffer.id,staticClass:\"kiwi-header-options\"},[(_vm.userOnline)?_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-user\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'user'\n }},[_c('a',{on:{\"click\":function($event){return _vm.toggleUser()}}},[_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e(),_vm._l((_vm.pluginUiQueryElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:({\n el: plugin.el,\n props: {\n kiwi: {\n buffer: _vm.buffer,\n containerheader: _vm.self,\n }\n }\n }),expression:\"{\\n el: plugin.el,\\n props: {\\n kiwi: {\\n buffer: buffer,\\n containerheader: self,\\n }\\n }\\n }\"}],key:plugin.id,staticClass:\"kiwi-header-option\"})}),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-leave\"},[_c('a',{on:{\"click\":_vm.closeCurrentBuffer}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])])],2)]:(_vm.isSpecial())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_vm._v(_vm._s(_vm.buffer.name))])]),_c('div',{staticClass:\"kiwi-header-options\"},[_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-leave\"},[_c('a',{on:{\"click\":_vm.closeCurrentBuffer}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])])])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n\nrequire(\"./kiwiirccom\");","import { render, staticRenderFns } from \"./ControlInput.vue?vue&type=template&id=48a56a6c&\"\nimport script from \"./ControlInput.vue?vue&type=script&lang=js&\"\nexport * from \"./ControlInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ControlInput.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./kiwiirccom.vue?vue&type=template&id=5b797949&\"\nimport script from \"./kiwiirccom.vue?vue&type=script&lang=js&\"\nexport * from \"./kiwiirccom.vue?vue&type=script&lang=js&\"\nimport style0 from \"./kiwiirccom.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{staticClass:\"kiwi-loading-logo\",attrs:{\"src\":require(\"../res/kiwiLoadingLogo.png\")}}),_c('canvas',{staticClass:\"kiwi-loading-animation\"})])}]\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar _ChannelInfo = _interopRequireDefault(require(\"./ChannelInfo\"));\n\nvar _ChannelBanlist = _interopRequireDefault(require(\"./ChannelBanlist\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n ChannelInfo: _ChannelInfo.default,\n ChannelBanlist: _ChannelBanlist.default,\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: ['buffer', 'sidebarState'],\n data: function data() {\n return {\n self: this,\n pluginUiChannelElements: _GlobalApi.default.singleton().channelHeaderPlugins,\n pluginUiQueryElements: _GlobalApi.default.singleton().queryHeaderPlugins,\n prompts: {\n closeChannel: false\n }\n };\n },\n computed: {\n isJoined: function isJoined() {\n var buffer = this.buffer;\n return buffer.getNetwork().state === 'connected' && buffer.joined;\n },\n isConnected: function isConnected() {\n return this.buffer.getNetwork().state === 'connected';\n },\n formattedTopic: function formattedTopic() {\n var blocks = (0, _MessageParser.default)(this.buffer.topic, {\n extras: false\n });\n var content = (0, _Html.default)(blocks);\n return content;\n },\n network: function network() {\n return this.buffer.getNetwork();\n },\n sidebarSection: function sidebarSection() {\n return this.sidebarState.section();\n },\n userOnline: function userOnline() {\n var user = this.$state.getUser(this.buffer.getNetwork().id, this.buffer.name);\n return !!user;\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.$state, 'document.clicked', function (e) {\n // If clicking anywhere else on the page, close all our prompts\n if (!_this.$el.contains(e.target)) {\n var _context;\n\n (0, _forEach.default)(_context = (0, _keys.default)(_this.prompts)).call(_context, function (prompt) {\n _this.prompts[prompt] = false;\n });\n }\n });\n },\n methods: {\n showPrompt: function showPrompt(prompt) {\n this.prompts[prompt] = true;\n },\n isChannel: function isChannel() {\n return this.buffer.isChannel();\n },\n isServer: function isServer() {\n return this.buffer.isServer();\n },\n isQuery: function isQuery() {\n return this.buffer.isQuery();\n },\n isSpecial: function isSpecial() {\n return this.buffer.isSpecial();\n },\n showNetworkSettings: function showNetworkSettings(network) {\n network.showServerBuffer('settings');\n },\n onConnectButtonClick: function onConnectButtonClick() {\n var network = this.buffer.getNetwork();\n\n if (!network.connection.server) {\n network.showServerBuffer('settings');\n } else {\n network.ircClient.connect();\n }\n },\n toggleUser: function toggleUser() {\n var user = this.$state.getUser(this.buffer.getNetwork().id, this.buffer.name);\n this.sidebarState.toggleUser(user);\n },\n joinCurrentBuffer: function joinCurrentBuffer() {\n var network = this.buffer.getNetwork();\n this.buffer.enabled = true;\n network.ircClient.join(this.buffer.name);\n },\n closeCurrentBuffer: function closeCurrentBuffer() {\n this.$state.removeBuffer(this.buffer);\n },\n onHeaderClick: function onHeaderClick(event) {\n var channelName = event.target.getAttribute('data-channel-name');\n\n if (channelName) {\n var network = this.buffer.getNetwork();\n this.$state.addBuffer(this.buffer.networkid, channelName);\n network.ircClient.join(channelName);\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ContainerHeader\"]\r\nwindow._kiwi_exports.components.ContainerHeader = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-channelbanlist\"},[_c('form',{staticClass:\"u-form kiwi-channelbanlist\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.updateBanlist}},[_vm._v(_vm._s(_vm.$t('bans_refresh')))]),(_vm.banlist.length > 0)?_c('table',{staticClass:\"kiwi-channelbanlist-table\"},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('bans_user')))]),_c('th'),_c('th')]),_vm._l((_vm.banlist),function(ban){return _c('tr',{key:ban.banned,attrs:{\"title\":'By ' + ban.banned_by}},[_c('td',{staticClass:\"kiwi-channelbanlist-table-mask\"},[_vm._v(_vm._s(ban.banned))]),_c('td',{staticClass:\"kiwi-channelbanlist-table-bannedat\"},[_vm._v(\" \"+_vm._s((new Date(ban.banned_at * 1000)).toDateString())+\" \")]),_c('td',{staticClass:\"kiwi-channelbanlist-table-actions\"},[_c('i',{staticClass:\"fa fa-trash\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.removeBan(ban.banned)}}})])])})],2):(_vm.is_refreshing)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('bans_refreshing'))+\" \")]):_c('div',{staticClass:\"kiwi-channelbanlist-empty\"},[_vm._v(\" \"+_vm._s(_vm.$t('bans_nobody'))+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{key:_vm.url,staticClass:\"kiwi-mediaviewer-embedly\"},[_c('a',{ref:\"embedlyLink\",staticClass:\"kiwi-embedly-card\",attrs:{\"href\":_vm.url,\"data-card-key\":_vm.settings.key,\"data-card-chrome\":\"0\",\"data-card-controls\":\"0\",\"data-card-recommend\":\"0\"}},[_vm._v(_vm._s(_vm.$t('media_loading', {url: _vm.url})))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarState.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarState.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _BouncerProvider = _interopRequireDefault(require(\"@/libs/BouncerProvider\"));\n\nvar _IPC = _interopRequireDefault(require(\"@/libs/IPC\"));\n\nvar firstRun = true;\nvar _default = {\n data: function data() {\n return {\n hasOtherTab: false,\n addedNetworkToExisting: false,\n server: null,\n readyToShowOptions: false\n };\n },\n computed: {\n networks: function networks() {\n return this.$state.networks;\n },\n hasFragment: function hasFragment() {\n return window.location.hash && window.location.hash.length > 1;\n }\n },\n created: function created() {\n var _this = this;\n\n this.$state.setting('allowRegisterProtocolHandler', true);\n var server = null;\n\n if (this.hasFragment) {\n server = this.parseFragment();\n this.server = server;\n }\n\n if (server) {\n this.findOtherTabs().then(function (hasOtherTab) {\n if (hasOtherTab) {\n _this.hasOtherTab = true; // Don't start the main kiwi app here as it's already open elsewhere\n } else {\n _this.listenForOtherTabs();\n\n _this.init();\n }\n\n _this.readyToShowOptions = true;\n });\n } else {\n this.listenForOtherTabs();\n this.init();\n }\n },\n methods: {\n listenForOtherTabs: function listenForOtherTabs() {\n var _this2 = this;\n\n _IPC.default.on('message', function (e) {\n // respond to other tabs that are looking\n var msg = e.data;\n\n if (msg.type === 'ping' && _this2.networks.length > 0) {\n _IPC.default.send({\n type: 'pong'\n });\n } else if (msg.type === 'addNetwork') {\n var _context;\n\n var network = (0, _find.default)(_context = _this2.networks).call(_context, function (n) {\n return n.name === msg.server;\n });\n\n if (!network) {\n network = _this2.$state.addNetwork(msg.server, msg.nick || 'Guest' + Math.floor(Math.random() * 100), msg);\n }\n\n network.showServerBuffer('settings');\n }\n });\n },\n addEmptyNetwork: function addEmptyNetwork() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var network = this.$state.addNetwork(TextFormatting.t('new_network'), nick, {});\n network.showServerBuffer('settings');\n },\n findOtherTabs: function findOtherTabs() {\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", new _promise.default(function (resolve, reject) {\n var handleIPCMessage = function handleIPCMessage(e) {\n var msg = e.data;\n\n if (msg.type === 'pong') {\n clearTimeout(timer);\n resolve(true);\n }\n };\n\n var timer = (0, _setTimeout2.default)(function (e) {\n _IPC.default.removeListener('message', handleIPCMessage);\n\n resolve(false);\n }, 200);\n\n _IPC.default.on('message', handleIPCMessage);\n\n _IPC.default.send({\n type: 'ping'\n });\n }));\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee);\n }))();\n },\n addNetworkToExistingTab: function addNetworkToExistingTab() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var con = this.server;\n this.$state.addNetwork(TextFormatting.t('new_network'), nick, {});\n\n _IPC.default.send({\n nick: nick,\n server: con.server,\n port: con.port,\n tls: con.tls,\n password: con.password || '',\n type: 'addNetwork'\n });\n\n window.location.hash = '';\n this.addedNetworkToExisting = true;\n },\n addNetwork: function addNetwork() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.server) {\n return;\n }\n\n var con = this.server;\n\n if (temporary) {\n this.$state.persistence.storageKey = null;\n this.$state.persistence.forgetState();\n this.init();\n }\n\n var network = this.$state.getNetworkFromAddress(con.server);\n\n if (!network) {\n network = this.$state.addNetwork(con.server, con.nick || 'Guest' + Math.floor(Math.random() * 100), {\n server: con.server,\n port: con.port,\n tls: con.tls,\n password: con.password || ''\n });\n }\n\n window.location.hash = '';\n network.showServerBuffer('settings');\n this.$emit('start', {\n fallbackComponent: this.constructor\n });\n },\n parseFragment: function parseFragment() {\n if (window.location.hash.substr(1)) {\n var fragment = window.location.hash.substr(1); // Check to see if we're dealing with an encoded irc: uri (browsers do this\n // when clicking an IRC link)\n\n var uriCheck = fragment.substr(0, 7).toLowerCase();\n\n if (uriCheck === 'ircs%3a' || uriCheck.substr(0, 6) === 'irc%3a') {\n fragment = decodeURIComponent(fragment);\n }\n\n var connections = Misc.parseIrcUri(fragment);\n var con = connections[0];\n return con;\n }\n\n return null;\n },\n toggleStateBrowser: function toggleStateBrowser() {\n this.$state.$emit('statebrowser.show');\n },\n init: function init() {\n var _this3 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var persistSetting, _context3, controllerNet, bouncer;\n\n return _regenerator.default.wrap(function _callee2$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (firstRun) {\n _context4.next = 2;\n break;\n }\n\n return _context4.abrupt(\"return\");\n\n case 2:\n firstRun = false; // persist the buffers in the state by default\n\n persistSetting = _this3.$state.settings.startupOptions.remember_buffers;\n\n if (typeof persistSetting === 'undefined') {\n _this3.$state.persistence.includeBuffers = true;\n } else {\n _this3.$state.persistence.includeBuffers = !!persistSetting;\n }\n\n _this3.$state.persistence.watchStateForChanges();\n\n if (_this3.$state.settings.startupOptions.bouncer) {\n controllerNet = (0, _find.default)(_context3 = _this3.$state.networks).call(_context3, function (n) {\n return n.is_bnc;\n });\n\n if (controllerNet) {\n bouncer = new _BouncerProvider.default(_this3.$state);\n bouncer.enable(controllerNet.connection.server, controllerNet.connection.port, controllerNet.connection.tls, controllerNet.connection.direct, controllerNet.connection.path);\n }\n } // force restricted: false as users need access\n // to network settings to add a network\n\n\n _this3.$state.setSetting('settings.restricted', false);\n\n _this3.$emit('start', {\n fallbackComponent: _this3.constructor\n });\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee2);\n }))();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"Personal\"]\r\nwindow._kiwi_exports.components.startups.Personal = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _includes = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/includes\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/symbol\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _setTimeout3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _setInterval3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-interval\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _json = _interopRequireDefault(require(\"json5\"));\n\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\n\nvar _i18nextXhrBackend = _interopRequireDefault(require(\"i18next-xhr-backend\"));\n\nvar _vueI18next = _interopRequireDefault(require(\"@panter/vue-i18next\"));\n\nvar _vueVirtualScroller = _interopRequireDefault(require(\"vue-virtual-scroller\"));\n\nrequire(\"vue-virtual-scroller/dist/vue-virtual-scroller.css\");\n\nrequire(\"whatwg-fetch\");\n\nrequire(\"intersection-observer\");\n\nvar _available = _interopRequireDefault(require(\"@/res/locales/available.json\"));\n\nvar _enUs = _interopRequireDefault(require(\"@/../static/locales/en-us.json\"));\n\nvar _App = _interopRequireDefault(require(\"@/components/App\"));\n\nvar _StartupError = _interopRequireDefault(require(\"@/components/StartupError\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _ConfigLoader = _interopRequireDefault(require(\"@/libs/ConfigLoader\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _InputHandler = _interopRequireDefault(require(\"@/libs/InputHandler\"));\n\nvar _StatePersistence = _interopRequireDefault(require(\"@/libs/StatePersistence\"));\n\nvar Storage = _interopRequireWildcard(require(\"@/libs/storage/Local\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _AudioManager = require(\"@/libs/AudioManager\");\n\nvar _SoundBleep = require(\"@/libs/SoundBleep\");\n\nvar _WindowTitle = _interopRequireDefault(require(\"@/libs/WindowTitle\"));\n\nvar _configTemplates = require(\"@/res/configTemplates\");\n\nrequire(\"@/components/utils/TabbedView\");\n\nrequire(\"@/components/utils/InputText\");\n\nrequire(\"@/components/utils/IrcInput\");\n\nrequire(\"@/components/utils/InputPrompt\");\n\nrequire(\"@/components/utils/InputConfirm\");\n\nrequire(\"@/thirdparty/\");\n\n// fetch polyfill\n// polyfill for vue-virtual-scroller & ie11\n// Global utilities\n_vue.default.use(_vueVirtualScroller.default);\n\nvar logLevelMatch = window.location.href.match(/kiwi-loglevel=(\\d)/);\n\nif (logLevelMatch && logLevelMatch[1]) {\n var newLevel = (0, _parseInt2.default)(logLevelMatch[1], 10);\n\n _Logger.default.setLevel(newLevel);\n\n (0, _Logger.default)('Logging level set to', newLevel);\n}\n\nvar log = _Logger.default.namespace('main'); // Add the global API as soon as possible so that things can start listening to it\n\n\nvar api = window.kiwi = _GlobalApi.default.singleton(); // Third party imports now have access to the state and api\n\n/* eslint-disable import/first */\n\n\nfunction getQueryVariable(variable) {\n var query = window.location.search.substring(1);\n var vars = query.split('&');\n\n for (var i = 0; i < vars.length; i++) {\n var pair = vars[i].split('=');\n\n if (pair[0] === variable) {\n return pair[1];\n }\n }\n\n return false;\n} // Add a handy this.listen() fn to Vue instances. Saves on the need to add an event listener\n// and then manually remove them all the time.\n\n\n_vue.default.mixin({\n beforeDestroy: function beforeDestroy() {\n var _context;\n\n (0, _forEach.default)(_context = this.listeningEvents || []).call(_context, function (fn) {\n return fn();\n });\n },\n methods: {\n listen: function listen(source, event, fn) {\n this.listeningEvents = this.listeningEvents || [];\n\n var off = function off() {\n (source.removeEventListener || source.$off || source.off).call(source, event, fn);\n };\n\n this.listeningEvents.push(off);\n (source.addEventListener || source.$on || source.on).call(source, event, fn);\n return off;\n },\n listenOnce: function listenOnce(source, event, _fn) {\n var fn = _fn;\n this.listeningEvents = this.listeningEvents || [];\n\n var off = function off() {\n (source.removeEventListener || source.$off || source.off).call(source, event, fn);\n };\n\n this.listeningEvents.push(off);\n\n if (source.addEventListener) {\n // Create our own once handler as the DOM doesn't support this itself\n fn = function onceFn() {\n source.removeEventListener(event, onceFn);\n fn.apply(void 0, arguments);\n };\n\n source.addEventListener(event, fn);\n } else {\n (source.$once || source.once).call(source, event, fn);\n }\n\n return off;\n }\n }\n}); // Timer functions that are auto cleaned up when a component is destroyed\n\n\n_vue.default.mixin({\n beforeDestroy: function beforeDestroy() {\n var _context2;\n\n (0, _forEach.default)(_context2 = this.timerEvents || []).call(_context2, function (tmr) {\n return clearTimeout(tmr);\n });\n },\n methods: {\n setInterval: function (_setInterval) {\n function setInterval() {\n return _setInterval.apply(this, arguments);\n }\n\n setInterval.toString = function () {\n return _setInterval.toString();\n };\n\n return setInterval;\n }(function () {\n this.timerEvents = this.timerEvents || [];\n\n var v = _setInterval3.default.apply(void 0, arguments);\n\n this.timerEvents.push(v);\n return v;\n }),\n setTimeout: function (_setTimeout) {\n function setTimeout() {\n return _setTimeout.apply(this, arguments);\n }\n\n setTimeout.toString = function () {\n return _setTimeout.toString();\n };\n\n return setTimeout;\n }(function () {\n this.timerEvents = this.timerEvents || [];\n\n var v = _setTimeout3.default.apply(void 0, arguments);\n\n this.timerEvents.push(v);\n return v;\n })\n }\n}); // Make the state available to all components by default\n\n\n_vue.default.mixin({\n computed: {\n $state: function $state() {\n return (0, _state.default)();\n }\n }\n}); // Allow adding existing raw elements to component templates\n// Eg:
\n// Eg: \n\n\n_vue.default.directive('rawElement', {\n bind: function bind(el, binding) {\n if (binding.value.nodeName) {\n el.appendChild(binding.value);\n } else if (binding.value.el) {\n var rawEl = binding.value.el;\n el.appendChild(rawEl); // Add any data attributes to the raw element\n\n if (binding.value.data) {\n var _context3;\n\n (0, _forEach.default)(_context3 = (0, _keys.default)(binding.value.data)).call(_context3, function (key) {\n rawEl.dataset[key] = binding.value.data[key];\n });\n } // Add any properties to the raw element\n\n\n if (binding.value.props) {\n var _context4;\n\n (0, _forEach.default)(_context4 = (0, _keys.default)(binding.value.props)).call(_context4, function (key) {\n rawEl[key] = binding.value.props[key];\n });\n }\n }\n }\n}); // Register a global custom directive called `v-focus`\n\n\n_vue.default.directive('focus', {\n // Support conditional eg. v-focus=\"false\"\n bind: function bind(el, bindings) {\n el.dataset.focus = bindings.value === undefined || !!bindings.value;\n },\n // When the bound element is inserted into the DOM...\n inserted: function inserted(el) {\n // dataset properties are strings\n if (el.dataset.focus !== 'true') {\n return;\n } // Element is input so focus it\n\n\n if (el.tagName === 'INPUT') {\n el.focus();\n return;\n } // Try to focus the first input element\n\n\n var input = el.getElementsByTagName('input')[0];\n\n if (input) {\n input.focus();\n }\n }\n});\n\nvar ROSymbol = (0, _symbol.default)('resizeobserver');\n\n_vue.default.directive('resizeobserver', {\n bind: function bind(el, bindings) {\n var cb = bindings.value || function noop() {};\n\n el[ROSymbol] = new ResizeObserver(cb);\n el[ROSymbol].observe(el);\n },\n unbind: function unbind(el) {\n el[ROSymbol].unobserve(el);\n }\n});\n\nloadApp();\n\nfunction loadApp() {\n var configFile = 'static/config.json';\n var configObj = null;\n /**\n * Finding the config file\n * In order, looks in the following places:\n * 1. If a 'config' argument is in the query string, static/config_THEVALUE_.json\n * 2. If a window.kiwiConfig function exists, use it's return value as the config object.\n * 3. If a is found, then the content becomes the config\n * URL.\n * 4. If a is found, then the\n * content becomes the config JSON without making another web request.\n */\n\n if (getQueryVariable('config')) {\n configFile = 'static/config_' + getQueryVariable('config') + '.json';\n } else if (typeof window.kiwiConfig === 'function') {\n try {\n configObj = window.kiwiConfig();\n } catch (err) {\n log.error('Config file: ' + err.stack);\n showError();\n }\n } else if (document.querySelector('meta[name=\"kiwiconfig\"]')) {\n configFile = document.querySelector('meta[name=\"kiwiconfig\"]').content;\n } else if (document.querySelector('script[name=\"kiwiconfig\"]')) {\n var configContents = document.querySelector('script[name=\"kiwiconfig\"]').innerHTML;\n\n try {\n configObj = _json.default.parse(configContents);\n } catch (parseErr) {\n log.error('Config file: ' + parseErr.stack);\n showError();\n }\n }\n\n var configLoader = new _ConfigLoader.default();\n configLoader.addValueReplacement('protocol', window.location.protocol).addValueReplacement('wsprotocol', window.location.protocol === 'https:' ? 'wss:' : 'ws:').addValueReplacement('tls', window.location.protocol === 'https:').addValueReplacement('hostname', window.location.hostname).addValueReplacement('host', window.location.host).addValueReplacement('port', window.location.port || (window.location.protocol === 'https:' ? 443 : 80)).addValueReplacement('hash', (window.location.hash || '').substr(1)).addValueReplacement('query', (window.location.search || '').substr(1)).addValueReplacement('referrer', window.document.referrer);\n (configObj ? configLoader.loadFromObj(configObj) : configLoader.loadFromUrl(configFile)).then(applyConfig).then(initState).then(initInputCommands).then(initLocales).then(initThemes).then(loadPlugins).then(initSound).then(startApp).catch(showError);\n}\n\nfunction applyConfig(config) {\n Misc.dedotObject(config); // if we have a config template apply that before other configs\n\n if (_configTemplates.configTemplates[config.template]) {\n applyConfigObj(_configTemplates.configTemplates[config.template], (0, _state.default)().settings);\n }\n\n applyConfigObj(config, (0, _state.default)().settings);\n} // Recursively merge an object onto another via Vue.$set\n\n\nfunction applyConfigObj(obj, target) {\n _lodash.default.each(obj, function (val, key) {\n if ((0, _typeof2.default)(val) === 'object') {\n if ((0, _typeof2.default)(target[key]) !== 'object') {\n // Create the correct type of object\n var newVal = _lodash.default.isArray(val) ? [] : {};\n\n _vue.default.set(target, key, newVal);\n }\n\n applyConfigObj(val, target[key]);\n } else {\n _vue.default.set(target, key, val);\n }\n });\n}\n\nfunction loadPlugins() {\n return new _promise.default(function (resolve, reject) {\n var plugins = (0, _state.default)().settings.plugins || [];\n var pluginIdx = -1;\n loadNextScript();\n\n function loadNextScript(sSrc, fOnload) {\n var _context5;\n\n var plugin = plugins[++pluginIdx];\n\n if (!plugin) {\n resolve();\n return;\n }\n\n if ((0, _indexOf.default)(_context5 = plugin.url).call(_context5, '.js') > -1) {\n // The plugin is a .js file so inject it as a script\n var scr = document.createElement('script');\n\n scr.onerror = function () {\n var _context6;\n\n log.error((0, _concat.default)(_context6 = \"Error loading plugin '\".concat(plugin.name, \"' from '\")).call(_context6, plugin.url, \"'\"));\n loadNextScript();\n };\n\n scr.onload = function () {\n loadNextScript();\n };\n\n document.body.appendChild(scr);\n scr.src = plugin.url;\n } else {\n // Treat the plugin as a HTML document and just inject it into the document\n fetch(plugin.url).then(function (response) {\n return response.text();\n }).then(function (pluginRaw) {\n var el = document.createElement('div');\n el.id = 'kiwi_plugin_' + plugin.name.replace(/[ \"']/g, '');\n el.style.display = 'none';\n el.innerHTML = pluginRaw; // The browser won't execute any script elements so we need to extract them and\n // place them into the DOM using our own script elements\n\n var scripts = (0, _toConsumableArray2.default)(el.querySelectorAll('script')); // IE11 does not support nodes.forEach()\n\n (0, _forEach.default)(scripts).call(scripts, function (limitedScr) {\n limitedScr.parentElement.removeChild(limitedScr);\n var scr = document.createElement('script');\n scr.text = limitedScr.text;\n el.appendChild(scr);\n });\n document.body.appendChild(el);\n loadNextScript();\n }).catch(function () {\n var _context7;\n\n log.error((0, _concat.default)(_context7 = \"Error loading plugin '\".concat(plugin.name, \"' from '\")).call(_context7, plugin.url, \"'\"));\n loadNextScript();\n });\n }\n }\n });\n}\n\nfunction initLocales() {\n _vue.default.use(_vueI18next.default); // Make the translation services available via the global API\n\n\n api.i18n = _i18next.default;\n\n _i18next.default.use(_i18nextXhrBackend.default);\n\n _i18next.default.init({\n whitelist: _available.default.locales,\n fallbackLng: 'en-us',\n lowerCaseLng: true,\n backend: {\n loadPath: 'static/locales/{{lng}}.json',\n // allow cross domain requests\n crossDomain: false,\n // allow credentials on cross domain requests\n withCredentials: false\n },\n interpolation: {\n // We let vuejs handle HTML output escaping\n escapeValue: false\n }\n }); // Build in the english translation so it can be used as a fallback\n\n\n _i18next.default.addResourceBundle('en-us', 'translation', _enUs.default); // Override the $t function so that empty translations fallback to en-us\n\n\n _vue.default.mixin({\n computed: {\n $t: function $t() {\n var _this = this;\n\n return function (key, options) {\n var val = _this.$i18n.i18next.t(key, options, _this.$i18n.i18nLoadedAt);\n\n if (!val) {\n var opts = options || {};\n opts.lng = 'en-us';\n val = _this.$i18n.i18next.t(key, opts, _this.$i18n.i18nLoadedAt);\n }\n\n return val;\n };\n }\n }\n });\n\n var setDefaultLanguage = function setDefaultLanguage() {\n var defaultLang = (0, _state.default)().setting('language');\n var preferredLangs = _lodash.default.clone(window.navigator && window.navigator.languages) || []; // our configs default lang overrides all others\n\n if (defaultLang) {\n preferredLangs.unshift(defaultLang);\n } // set a default language\n\n\n _i18next.default.changeLanguage('en-us'); // Go through our browser languages until we find one that we support\n\n\n for (var idx = 0; idx < preferredLangs.length; idx++) {\n var lang = preferredLangs[idx]; // if this is a language such as 'fr', add a following one of 'fr-fr' to cover\n // both cases\n\n if (lang.length === 2) {\n (0, _splice.default)(preferredLangs).call(preferredLangs, idx + 1, 0, lang + '-' + lang);\n }\n\n if ((0, _includes.default)(_lodash.default).call(_lodash.default, _available.default.locales, lang.toLowerCase())) {\n _i18next.default.changeLanguage(lang, function (err, t) {\n if (err) {\n // setting the language failed so set default again\n _i18next.default.changeLanguage('en-us');\n }\n });\n\n break;\n }\n }\n };\n\n setDefaultLanguage(); // Update the language if the setting changes.\n\n (0, _state.default)().$watch('user_settings.language', function (lang) {\n if (!lang && !(0, _state.default)().setting('language')) {\n setDefaultLanguage();\n } else {\n _i18next.default.changeLanguage(lang || (0, _state.default)().setting('language') || 'en-us');\n }\n });\n}\n\nfunction initState() {\n return _initState.apply(this, arguments);\n}\n\nfunction _initState() {\n _initState = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var stateKey, persistLog, persist;\n return _regenerator.default.wrap(function _callee$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n stateKey = (0, _state.default)().settings.startupOptions.state_key; // Default to a preset key if it wasn't set\n\n if (typeof stateKey === 'undefined') {\n stateKey = 'kiwi-state';\n }\n\n persistLog = _Logger.default.namespace('StatePersistence');\n persist = new _StatePersistence.default(stateKey || '', (0, _state.default)(), Storage, persistLog);\n persist.includeBuffers = !!(0, _state.default)().settings.startupOptions.remember_buffers;\n\n if (!stateKey) {\n _context8.next = 8;\n break;\n }\n\n _context8.next = 8;\n return persist.loadStateIfExists();\n\n case 8:\n api.setState((0, _state.default)());\n\n case 9:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee);\n }));\n return _initState.apply(this, arguments);\n}\n\nfunction initThemes() {\n var themeMgr = _ThemeManager.default.instance((0, _state.default)());\n\n api.setThemeManager(themeMgr);\n var argTheme = getQueryVariable('theme');\n\n if (argTheme) {\n themeMgr.setTheme(argTheme);\n }\n}\n\nfunction initSound() {\n var sound = new _SoundBleep.SoundBleep();\n var bleep = new _AudioManager.AudioManager(sound);\n bleep.listen((0, _state.default)());\n bleep.watchForMessages((0, _state.default)());\n}\n\nfunction initInputCommands() {\n /* eslint-disable no-new */\n new _InputHandler.default((0, _state.default)());\n}\n\nfunction startApp() {\n new _WindowTitle.default((0, _state.default)());\n api.emit('init');\n /* eslint-disable no-new */\n\n new _vue.default({\n el: '#app',\n render: function render(h) {\n return h(_App.default);\n },\n i18n: new _vueI18next.default(_i18next.default)\n });\n api.emit('ready');\n}\n\nfunction showError(err) {\n if (err) {\n log.error('Error starting Kiwi IRC:', err);\n } else {\n log.error('Unknown error starting Kiwi IRC');\n }\n /* eslint-disable no-new */\n\n\n new _vue.default({\n el: '#app',\n render: function render(h) {\n return h(_StartupError.default, {\n props: {\n error: err\n }\n });\n }\n });\n}","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.configTemplates = void 0;\n\n/**\n * Configuration templates\n *\n * All the default values for config options throughout kiwi are set here, under\n * the 'default' template object below.\n * If a 'default.template' value is set in the user config, this is used to\n * find the next template object below and is merged over the default config\n * template.\n * The user config (config.json by default) is then merged over the resulting\n * config object.\n *\n * The advanced settings dialog also displays these settings by iterating\n * through the keys. The values must not be null otherwise they will not be\n * shown.\n */\nvar configTemplates = {\n default: {\n plugins: [],\n windowTitle: 'Kiwi IRC - The web IRC client',\n useMonospace: false,\n language: '',\n theme: 'Default',\n themes: [{\n name: 'Default',\n url: 'static/themes/default'\n }],\n // Restricted to a single IRC server\n restricted: true,\n // The startup screen\n startupScreen: 'customServer',\n // Where to find the kiwi server\n kiwiServer: '/webirc/kiwiirc/',\n // If active, all connections will be routed via this BNC server. Network settings\n // will be read and updated to the BNC as they are changed.\n bnc: {\n active: false,\n server: '',\n port: 6667,\n tls: false,\n path: '',\n username: '',\n password: ''\n },\n warnOnExit: true,\n quitMessage: 'Page closed',\n // Default buffer settings\n buffers: {\n messageLayout: 'modern',\n alert_on: 'highlight',\n timestamp_format: '%H:%M:%S',\n // If timestamp_full_format is falsy, the browsers locale date format will be used\n timestamp_full_format: '',\n show_timestamps: true,\n scrollback_size: 250,\n show_hostnames: false,\n show_joinparts: true,\n show_topics: true,\n show_nick_changes: true,\n show_mode_changes: true,\n show_presence_changes: true,\n traffic_as_activity: false,\n coloured_nicklist: true,\n colour_nicknames_in_messages: true,\n block_pms: false,\n show_emoticons: true,\n extra_formatting: true,\n mute_sound: false,\n hide_message_counts: false,\n show_realnames: false,\n default_ban_mask: '*!%i@%h',\n default_kick_reason: 'Your behaviour is not conducive to the desired environment.',\n shared_input: false,\n show_message_info: true,\n who_loop: true,\n share_typing: true,\n // flash_title: message/highlight/off\n flash_title: 'message',\n nicklist_avatars: false,\n show_link_previews: true,\n inline_link_auto_previews: true,\n inline_link_auto_preview_whitelist: '.*',\n show_buffer_groups: true\n },\n // Startup screen default\n startupOptions: {\n server: '',\n port: 6667,\n tls: false,\n channel: '',\n nick: 'kiwi_?',\n direct: false,\n state_key: 'kiwi-state',\n remember_buffers: true,\n nick_format: ''\n },\n autoReconnect: false,\n disconnectOnSaslFail: true,\n allowRegisterProtocolHandler: false,\n noticeActiveBuffer: true,\n nicklistGroupAway: false,\n showChanlistModes: false,\n showAutocomplete: true,\n showEmojiPicker: true,\n showColorPicker: false,\n showSendButton: false,\n showAwayStatusIndicators: true,\n sidebarDefault: 'nicklist',\n showRaw: false,\n useBufferHistory: true,\n hideSettings: null,\n highlights: '',\n teamHighlights: false,\n aliases: \"\\n# General aliases\\n/p /part $1+\\n/me /action $destination $1+\\n/j /join $1+\\n/q /query $1+\\n/w /whois $1+\\n/raw /quote $1+\\n/connect /server $1+\\n/disconnect /quit $1+\\n/cycle $channel? /lines /part $channel | /join $channel\\n/active /back $1+\\n/umode /mode $nick $1+\\n\\n# Op related aliases\\n/op /quote mode $channel +o $1+\\n/deop /quote mode $channel -o $1+\\n/hop /quote mode $channel +h $1+\\n/dehop /quote mode $channel -h $1+\\n/voice /quote mode $channel +v $1+\\n/devoice /quote mode $channel -v $1+\\n/k /kick $channel $1+\\n/bans /mode $channel +b\\n/ban /quote mode $channel +b $1+\\n/unban /quote mode $channel -b $1+\\n\\n# Misc aliases\\n/slap /me slaps $1 around a bit with a large trout\\n/tick /msg $channel \\u2714\",\n embedly: {\n Key: ''\n },\n\n /* eslint-disable quote-props */\n emojis: {\n '-___-': '1f611',\n ':\\'-)': '1f602',\n '\\':-)': '1f605',\n '\\':-D': '1f605',\n '>:-)': '1f606',\n '\\':-(': '1f613',\n '>:-(': '1f620',\n ':\\'-(': '1f622',\n 'O:-)': '1f607',\n '0:-3': '1f607',\n '0:-)': '1f607',\n '0;^)': '1f607',\n 'O;-)': '1f607',\n '0;-)': '1f607',\n 'O:-3': '1f607',\n '-__-': '1f611',\n ':-Þ': '1f61b',\n '<3': '2764',\n '3': '1f494',\n ':\\')': '1f602',\n ':-D': '1f603',\n '\\':)': '1f605',\n '\\'=)': '1f605',\n '\\':D': '1f605',\n '\\'=D': '1f605',\n '>:)': '1f606',\n '>;)': '1f606',\n '>=)': '1f606',\n 'XD': '1f606',\n ';-)': '1f609',\n '*-)': '1f609',\n ';-]': '1f609',\n ';^)': '1f609',\n '\\':(': '1f613',\n '\\'=(': '1f613',\n ':-*': '1f618',\n ':^*': '1f618',\n '>:P': '1f61c',\n 'X-P': '1f61c',\n '>:[': '1f61e',\n ':-(': '1f61e',\n ':-[': '1f61e',\n '>:(': '1f620',\n ':\\'(': '1f622',\n ';-(': '1f622',\n '>.<': '1f623',\n '#-)': '1f635',\n '%-)': '1f635',\n 'X-)': '1f635',\n '\\\\0/': '1f646',\n '\\\\O/': '1f646',\n '0:3': '1f607',\n '0:)': '1f607',\n 'O:)': '1f607',\n 'O=)': '1f607',\n 'O:3': '1f607',\n 'B-)': '1f60e',\n '8-)': '1f60e',\n 'B-D': '1f60e',\n '8-D': '1f60e',\n '-_-': '1f611',\n '>:\\\\': '1f615',\n '>:/': '1f615',\n ':-/': '1f615',\n ':-.': '1f615',\n ':-P': '1f61b',\n ':Þ': '1f61b',\n ':-b': '1f61b',\n ':-O': '1f62e',\n 'O_O': '1f62e',\n '>:O': '1f62e',\n ':-X': '1f636',\n ':-#': '1f636',\n ':-)': '1f642',\n '(y)': '1f44d',\n ':D': '1f603',\n '=D': '1f603',\n ';)': '1f609',\n '*)': '1f609',\n ';]': '1f609',\n ';D': '1f609',\n ':*': '1f618',\n '=*': '1f618',\n ':(': '1f61e',\n ':[': '1f61e',\n '=(': '1f61e',\n ':@': '1f620',\n ';(': '1f622',\n 'D:': '1f628',\n ':$': '1f633',\n '=$': '1f633',\n '#)': '1f635',\n '%)': '1f635',\n 'X)': '1f635',\n 'B)': '1f60e',\n '8)': '1f60e',\n ':/': '1f615',\n ':\\\\': '1f615',\n '=/': '1f615',\n '=\\\\': '1f615',\n ':L': '1f615',\n '=L': '1f615',\n ':P': '1f61b',\n ':p': '1f61b',\n '=P': '1f61b',\n ':b': '1f61b',\n ':O': '1f62e',\n ':X': '1f636',\n ':#': '1f636',\n '=X': '1f636',\n '=#': '1f636',\n ':)': '1f642',\n '=]': '1f642',\n '=)': '1f642',\n ':]': '1f642'\n },\n emojiLocation: 'https://kiwiirc.com/shared/emoji/',\n textFormats: {\n user: '%nick',\n user_full: '%nick (%username@%host)',\n channel_join: '→ %text',\n channel_part: '← %text (%reason)',\n channel_quit: '← %text (%reason)',\n channel_kicked: '← %text (%reason)',\n channel_selfkick: '× %text (%reason)',\n channel_badpassword: '× %text',\n channel_topic: 'ⓘ %text',\n channel_banned: '× %text',\n channel_badkey: '⚠ %text',\n channel_inviteonly: '⚠ %channel %text',\n channel_alreadyin: '⚠ %nick %text',\n channel_limitreached: '⚠ %channel %text',\n channel_invalid_name: '⚠ %channel %text',\n channel_topic_setby: 'ⓘ %text',\n channel_has_been_invited: 'ⓘ %nick %text',\n server_connecting: '%text',\n server_connecting_error: '%text',\n mode: 'ⓘ %text',\n selfmode: 'ⓘ %nick %text',\n nickname_alreadyinuse: '⚠ %text',\n network_disconnected: '%text',\n network_connected: '%text',\n whois_channels: '%text',\n whois_idle_and_signon: '%text',\n whois_away: '%text',\n whois_server: '%text',\n whois_idle: '%text',\n whois_notfound: 'ⓘ %text',\n nick_changed: 'ⓘ %text',\n applet_notfound: '⚠ %text',\n encoding_changed: 'ⓘ %text',\n encoding_invalid: '⚠ %text',\n settings_saved: 'ⓘ %text',\n ignore_title: '%text:',\n ignore_none: '%text',\n ignore_nick: '%text',\n ignore_stop_notice: '%text',\n ignore_stopped: '%text',\n chanop_privs_needed: '⚠ %text',\n no_such_nick: 'ⓘ %nick: %text',\n unknown_command: 'ⓘ %text',\n motd: '%text',\n ctcp_response: '[CTCP %nick reply] %message',\n ctcp_request: '[CTCP %nick] %message',\n privmsg: '%text',\n notice: '[NOTICE] %text',\n action: '* %nick %text',\n whois_ident: '%nick [%nick!%ident@%host] * %text',\n whois_error: '[%nick] %text',\n whois: '%text',\n whowas_ident: 'was [%nick!%ident@%host] * %name',\n whowas_server: 'using %server (%info)',\n whowas_error: '[%nick] %text',\n who: '%nick [%nick!%ident@%host] * %realname',\n quit: '%text',\n rejoin: '%text',\n set_setting: 'ⓘ %text',\n list_aliases: 'ⓘ %text',\n ignored_pattern: 'ⓘ %text',\n wallops: '[WALLOPS] %text',\n message_nick: '%prefix%nick',\n general_error: '%text'\n },\n presetNetworks: []\n },\n // Config template for those hardcore irc veterans\n irc: {\n showEmojiPicker: false,\n sidebarDefault: 'nicklist',\n buffers: {\n messageLayout: 'inline',\n show_hostnames: true,\n coloured_nicklist: false,\n colour_nicknames_in_messages: false,\n show_emoticons: false,\n show_message_info: false,\n share_typing: false,\n inline_link_auto_previews: false\n }\n },\n // Config template for working as part of a team\n team: {\n teamHighlights: true,\n buffers: {\n messageLayout: 'modern',\n show_joinparts: false,\n show_nick_changes: true,\n show_mode_changes: true,\n show_realnames: true\n }\n }\n};\nexports.configTemplates = configTemplates;","import { render, staticRenderFns } from \"./ChannelInfo.vue?vue&type=template&id=118a686e&\"\nimport script from \"./ChannelInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelInfo.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _url = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/url\"));\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _Captcha = _interopRequireDefault(require(\"@/components/Captcha\"));\n\nvar _ServerSelector = _interopRequireDefault(require(\"./ServerSelector\"));\n\nvar _default = {\n components: {\n ServerSelector: _ServerSelector.default,\n Captcha: _Captcha.default\n },\n props: ['network'],\n data: function data() {\n return {\n server_type: 'network',\n znc_username: '',\n znc_network: '',\n znc_password: '',\n show_advanced: false,\n switch_tabs_on_connect: false,\n network_list: []\n };\n },\n computed: {\n settingShowRaw: {\n get: function get() {\n return this.network.setting('show_raw');\n },\n set: function set(val) {\n return this.network.setting('show_raw', val);\n }\n },\n directWs: {\n get: function get() {\n if (!this.network.connection.direct) {\n return '';\n }\n\n var connection = this.network.connection;\n var addr = '';\n addr += connection.tls ? 'wss://' : 'ws://';\n addr += connection.server;\n var port = (0, _parseInt2.default)(connection.port, 10);\n\n if ((0, _isNan.default)(port)) {\n port = connection.tls ? 443 : 80;\n } // Only include the port if needed\n\n\n if (connection.tls && port !== 443 || !connection.tls && port !== 80) {\n addr += ':' + connection.port;\n }\n\n addr += connection.path;\n return addr;\n },\n set: function set(newVal) {\n var url = null;\n\n try {\n url = new _url.default(newVal);\n } catch (e) {\n return;\n }\n\n var connection = this.network.connection;\n connection.tls = url.protocol.toLowerCase() === 'wss:';\n connection.server = url.hostname;\n var port = (0, _parseInt2.default)(url.port, 10);\n\n if ((0, _isNan.default)(port)) {\n port = url.protocol.toLowerCase() === 'wss:' ? 443 : 80;\n }\n\n connection.port = port;\n var u = url.href.replace(url.protocol + '//', '');\n connection.path = u.substr((0, _indexOf.default)(u).call(u, '/'));\n }\n }\n },\n watch: {\n znc_username: function znc_username() {\n this.setZncPass();\n },\n znc_network: function znc_network() {\n this.setZncPass();\n },\n znc_password: function znc_password() {\n this.setZncPass();\n },\n 'network.state': function networkState() {\n if (!this.switch_tabs_on_connect) {\n return;\n }\n\n if (this.network.state === 'connected') {\n this.switch_tabs_on_connect = false;\n this.$state.$emit('server.tab.show', 'messages');\n } else if (this.network.state_error) {\n this.switch_tabs_on_connect = false;\n }\n }\n },\n created: function created() {\n var isZnc = !!(this.network.connection.password || '').match(/^(.*)\\/(.*):(.*)$/);\n this.server_type = isZnc ? 'znc' : 'network';\n\n if (isZnc) {\n var match = (this.network.connection.password || '').match(/^(.*)\\/(.*):(.*)$/);\n this.znc_username = match[1] || '';\n this.znc_network = match[2] || '';\n this.znc_password = match[3] || '';\n }\n\n this.network_list = this.$state.setting('presetNetworks') || [];\n },\n methods: {\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n connect: function connect() {\n this.switch_tabs_on_connect = true;\n this.network.ircClient.connect();\n },\n reconnect: function reconnect() {\n this.network.ircClient.connect();\n },\n removeNetwork: function removeNetwork() {\n /* eslint-disable no-restricted-globals, no-alert */\n var confirmed = confirm('Really remove this network? This cannot be undone!');\n\n if (!confirmed) {\n return;\n }\n\n this.$state.removeNetwork(this.network.id);\n this.$state.$emit('active.component');\n },\n setZncPass: function setZncPass() {\n var _context, _context2;\n\n var newPass = (0, _concat.default)(_context = (0, _concat.default)(_context2 = \"\".concat(this.znc_username, \"/\")).call(_context2, this.znc_network, \":\")).call(_context, this.znc_password);\n this.network.connection.password = newPass;\n this.network.connection.nick = this.znc_username;\n },\n toggleTls: function toggleTls() {\n var connection = this.network.connection;\n connection.tls = !connection.tls; // Switching the port only if were currently using the most common TLS/plain text ports\n\n if (connection.tls && connection.port === 6667) {\n connection.port = 6697;\n } else if (!connection.tls && connection.port === 6697) {\n connection.port = 6667;\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"NetworkSettings\"]\r\nwindow._kiwi_exports.components.NetworkSettings = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-statebrowser-channel\",class:{\n 'kiwi-statebrowser-channel-active': _vm.isActiveBuffer(),\n 'kiwi-statebrowser-channel-notjoined': _vm.buffer.isChannel() &&\n !_vm.buffer.joined\n },attrs:{\"data-name\":_vm.buffer.name.toLowerCase()}},[_c('div',{staticClass:\"kiwi-statebrowser-channel-name\",on:{\"click\":function($event){return _vm.$emit('selected')}}},[(_vm.buffer.isQuery() && _vm.awayNotifySupported())?_c('away-status-indicator',{attrs:{\"network\":_vm.network,\"user\":_vm.network.userByName(_vm.buffer.name)}}):_vm._e(),_vm._v(_vm._s(_vm.buffer.name)+\" \")],1),_c('div',{staticClass:\"kiwi-statebrowser-buffer-actions\"},[_c('div',{staticClass:\"kiwi-statebrowser-channel-labels\"},[(_vm.buffer.flags.unread && _vm.showMessageCounts(_vm.buffer))?_c('div',{staticClass:\"kiwi-statebrowser-channel-label\",class:[\n _vm.buffer.flags.highlight ?\n 'kiwi-statebrowser-channel-label--highlight' :\n ''\n ]},[_vm._v(\" \"+_vm._s(_vm.buffer.flags.unread > 999 ? \"999+\": _vm.buffer.flags.unread)+\" \")]):_vm._e()]),_c('div',{staticClass:\"kiwi-statebrowser-channel-leave\",on:{\"click\":function($event){return _vm.closeBuffer(_vm.buffer)}}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _default2 = {\n props: {\n usePreset: {\n type: Boolean,\n default: true\n },\n networkList: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n connection: {\n type: Object,\n default: function _default() {}\n }\n },\n data: function data() {\n return {\n name: '',\n presetNetworks: [],\n showCustom: true,\n willEmit: false\n };\n },\n computed: {\n presetServer: {\n set: function set(newVal) {\n if (newVal === 'custom') {\n this.name = '';\n this.connection.server = '';\n this.connection.port = 6697;\n this.connection.tls = true;\n this.showCustom = true;\n } else {\n var addr = Misc.parsePresetServer(newVal);\n this.name = addr.name;\n this.connection.server = addr.server;\n this.connection.port = addr.port;\n this.connection.tls = addr.tls;\n this.showCustom = false;\n }\n },\n get: function get() {\n return this.showCustom ? 'custom' : this.toUri(this.connection);\n }\n }\n },\n created: function created() {\n if (this.networkList) {\n this.importUris(this.networkList);\n } // If the given network is in the preset server list, select it\n\n\n var con = this.connection;\n\n if ((0, _find.default)(_lodash.default).call(_lodash.default, this.presetNetworks, function (s) {\n var match = s.server === con.server && s.port === con.port && s.tls === con.tls;\n return match;\n })) {\n this.showCustom = false;\n }\n },\n methods: {\n toUri: function toUri(s) {\n var _context, _context2;\n\n return (0, _concat.default)(_context = (0, _concat.default)(_context2 = \"\".concat(s.server, \":\")).call(_context2, s.tls ? '+' : '')).call(_context, s.port);\n },\n toggleTls: function toggleTls() {\n this.connection.tls = !this.connection.tls; // Switching the port only if were currently using the most common TLS/plain text ports\n\n if (this.connection.tls && this.connection.port === 6667) {\n this.connection.port = 6697;\n } else if (!this.connection.tls && this.connection.port === 6697) {\n this.connection.port = 6667;\n }\n },\n importUris: function importUris(serverList) {\n // [ 'freenode|irc.freenode.net:+6697', 'irc.snoonet.org:6667' ]\n var servers = (0, _map.default)(serverList).call(serverList, function (s) {\n return Misc.parsePresetServer(s);\n });\n this.$set(this, 'presetNetworks', servers);\n }\n }\n};\nexports.default = _default2;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ServerSelector\"]\r\nwindow._kiwi_exports.components.ServerSelector = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.linkifyChannels = linkifyChannels;\nexports.createNickColour = createNickColour;\nexports.toInt = toInt;\nexports.hexVal = hexVal;\nexports.mapRange = mapRange;\nexports.formatAndT = formatAndT;\nexports.formatUser = formatUser;\nexports.formatUserFull = formatUserFull;\nexports.formatText = formatText;\nexports.formatDuration = formatDuration;\nexports.formatNumber = formatNumber;\nexports.t = t;\nexports.channelRegex = exports.urlRegex = void 0;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _parseFloat2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-float\"));\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar ipRegex = _interopRequireWildcard(require(\"ip-regex\"));\n\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\n\nvar murmurhash3 = _interopRequireWildcard(require(\"murmurhash3js\"));\n\nvar urlRegex = new RegExp( // Detect either a protocol or 'www.' to start a URL\n/(([A-Za-z][A-Za-z0-9-]*:\\/\\/)|(www\\.))/.source + '(' + // Hostname and tld\n/([\\w\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF.-]+\\.[a-zA-Z]{2,63})/.source + '|' + // IPv4 address\nipRegex.v4().source + '|' + // IPv6 address\n'(\\\\[?' + ipRegex.v6().source + '\\\\]?)' + ')' + // Optional port..\n/(:[0-9]+)?/.source + // Optional path..\n/(\\/[\\w\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF!:.?$'()[\\]*,;~+=&%@!\\-/]*)?/.source + // Optional fragment\n/(#.*)?/.source, 'i');\nexports.urlRegex = urlRegex;\nvar channelRegex = /(^|\\s)([@+~&%}]*)([#&][^ .,\\007<>\\n\\r]+?)([:;.,<>\\n\\r]+)?$/i;\nexports.channelRegex = channelRegex;\n\nfunction linkifyChannels(word) {\n // \"@#kiwiirc,\" = 3 parts. (prefix=@)(channel=#kiwiirc)(suffix=,)\n return word.replace(channelRegex, function (match, mLead, mPrefix, mChannel, mSuffix) {\n var _context, _context2, _context3, _context4;\n\n var chan = _lodash.default.escape((0, _trim.default)(mChannel).call(mChannel));\n\n var lead = _lodash.default.escape(mLead);\n\n var prefix = _lodash.default.escape(mPrefix);\n\n var suffix = _lodash.default.escape(mSuffix);\n\n var link = (0, _concat.default)(_context = \"\")).call(_context, chan, \"\");\n return (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = \"\".concat(lead)).call(_context4, prefix)).call(_context3, link)).call(_context2, suffix);\n });\n}\n/**\n * Convert a nickname string to a colour code\n * Uses these properties from the CSS theme file:\n * --kiwi-nickcolour-count: 200; - number of available nick colours\n * --kiwi-nickcolour-hueoffset: 0; - moves the hue value by hueoffset amounts\n * --kiwi-nickcolour-saturation: 70; - the nick saturation in HSL value\n * --kiwi-nickcolour-lightness: 40; - the nick lightness in HSL value\n */\n\n\nfunction createNickColour(nick) {\n var _context5, _context6;\n\n var themeMngr = _ThemeManager.default.instance();\n\n var nickLower = (nick || '').toLowerCase();\n var nickNum = murmurhash3.x86.hash32(nickLower);\n var bucketSize = toInt(themeMngr.themeVar('nickcolour-count')) || 200;\n var hueOffset = toInt(themeMngr.themeVar('nickcolour-hueoffset'));\n var hsl = {\n h: mapRange(Math.abs(nickNum) % bucketSize, 0, bucketSize, 0, 360) + hueOffset,\n s: toInt(themeMngr.themeVar('nickcolour-saturation')) || 70,\n l: toInt(themeMngr.themeVar('nickcolour-lightness')) || 40\n };\n return (0, _concat.default)(_context5 = (0, _concat.default)(_context6 = \"hsl(\".concat(hsl.h, \", \")).call(_context6, hsl.s, \"%, \")).call(_context5, hsl.l, \"%)\");\n}\n/**\n * Parse a string to an int, where NaN is 0\n * @param {string} inp\n */\n\n\nfunction toInt(inp) {\n var int = (0, _parseInt2.default)(inp, 10);\n\n if ((0, _isNan.default)(int)) {\n int = 0;\n }\n\n return int;\n}\n/**\n * Extract a substring from a hex string and parse it as an integer\n * @param {string} hash - Source hex string\n * @param {number} index - Start index of substring\n * @param {number} [length] - Length of substring. Defaults to 1.\n */\n\n\nfunction hexVal(hash, index, len) {\n return (0, _parseInt2.default)(hash.substr(index, len || 1), 16);\n}\n/*\n * Re-maps a number from one range to another\n * http://processing.org/reference/map_.html\n */\n\n\nfunction mapRange(value, vMin, vMax, dMin, dMax) {\n var vValue = (0, _parseFloat2.default)(value);\n var vRange = vMax - vMin;\n var dRange = dMax - dMin;\n return (vValue - vMin) * dRange / vRange + dMin;\n}\n/**\n * Format a string according to the configured textFormats, including a\n * translation for the %text formatting variable\n */\n\n\nfunction formatAndT(formatId, formatParams, localeId, localeParams) {\n var body = t(localeId, localeParams);\n\n if (formatParams) {\n formatParams.text = body;\n body = formatText(formatId, formatParams);\n } else {\n body = formatText(formatId, {\n text: body\n });\n }\n\n return body;\n}\n/**\n * Create a user reference string similar to 'nick'\n */\n\n\nfunction formatUser(fNick) {\n var nick = fNick; // Allow passing of a user object or irc-framework event\n\n if ((0, _typeof2.default)(nick) === 'object') {\n nick = nick.nick;\n }\n\n return formatText('user', {\n nick: nick\n });\n}\n/**\n * Create a full user reference similar to 'nick (user@host)'\n */\n\n\nfunction formatUserFull(fNick, fUsername, fHost) {\n var nick = '';\n var username = '';\n var host = ''; // Allow passing of a user object or irc-framework event\n\n if ((0, _typeof2.default)(fNick) === 'object') {\n var user = fNick;\n nick = user.nick;\n username = user.username || user.ident;\n host = user.hostname || user.host;\n } else {\n nick = fNick;\n username = fUsername;\n host = fHost;\n }\n\n return formatText('user_full', {\n nick: nick,\n username: username,\n host: host\n });\n}\n/**\n * Format a string according to the configured textFormats\n */\n\n\nfunction formatText(formatId, formatParams) {\n var format = (0, _state.default)().setting('textFormats.' + formatId);\n var params = formatParams; // Most texts only have a 'text' variable so allow passing of a string for this\n // variable as shorthand.\n\n if (typeof params === 'string') {\n params = {\n text: params\n };\n } // Expand a user mask into its individual parts (nick, ident, hostname)\n\n\n if (params.user) {\n params.nick = params.user.nick || '';\n params.username = params.user.username || '';\n params.host = params.user.hostname || '';\n params.prefix = params.user.prefix || '';\n } // Do the magic. Use the %shorthand syntax to produce output.\n\n\n var result = format.replace(/%([A-Z]{2,})/ig, function (match, key) {\n var ret = '';\n\n if (typeof params[key] !== 'undefined') {\n ret = params[key];\n }\n\n return ret;\n });\n return result;\n} // Convert a given duration in seconds to human readable weeks,days,hours,minutes,seconds\n// only showing the duration parts that are used eg 3666 --> 1 hour, 1 minute, 6 seconds\n\n\nfunction formatDuration(timeSeconds) {\n var seconds = timeSeconds;\n var weeks = Math.floor(seconds / (3600 * 24 * 7));\n seconds -= weeks * 3600 * 24 * 7;\n var days = Math.floor(seconds / (3600 * 24));\n seconds -= days * 3600 * 24;\n var hours = Math.floor(seconds / 3600);\n seconds -= hours * 3600;\n var minutes = Math.floor(seconds / 60);\n seconds -= minutes * 60;\n var tmp = [];\n weeks && tmp.push(t('week', {\n count: weeks\n }));\n (weeks || days) && tmp.push(t('day', {\n count: days\n }));\n (days || hours) && tmp.push(t('hour', {\n count: hours\n }));\n (days || hours || minutes) && tmp.push(t('minute', {\n count: minutes\n }));\n tmp.push(t('second', {\n count: seconds\n }));\n return tmp.join(' ');\n}\n\nfunction formatNumber(num) {\n return num.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n}\n\nfunction t(key, options) {\n var val = _i18next.default.t(key, options);\n\n if (!val) {\n var opts = options || {};\n opts.lng = 'en-us';\n val = _i18next.default.t(key, opts);\n }\n\n return val;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"TextFormatting\"]\r\nwindow._kiwi_exports.helpers.TextFormatting = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-buffersettings\"},[_c('div',{staticClass:\"kiwi-buffersettings-alerts\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_notify')))]),_c('hr'),_c('form',{staticClass:\"u-form\"},[_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingAlertOn),expression:\"settingAlertOn\"}],attrs:{\"type\":\"radio\",\"name\":\"alert_on\",\"value\":\"message\"},domProps:{\"checked\":_vm._q(_vm.settingAlertOn,\"message\")},on:{\"change\":function($event){_vm.settingAlertOn=\"message\"}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_all')))])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingAlertOn),expression:\"settingAlertOn\"}],attrs:{\"type\":\"radio\",\"name\":\"alert_on\",\"value\":\"highlight\"},domProps:{\"checked\":_vm._q(_vm.settingAlertOn,\"highlight\")},on:{\"change\":function($event){_vm.settingAlertOn=\"highlight\"}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_mentioned')))])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingAlertOn),expression:\"settingAlertOn\"}],attrs:{\"type\":\"radio\",\"name\":\"alert_on\",\"value\":\"never\"},domProps:{\"checked\":_vm._q(_vm.settingAlertOn,\"never\")},on:{\"change\":function($event){_vm.settingAlertOn=\"never\"}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_never')))])])]),_c('h3',[_vm._v(_vm._s(_vm.$t('settings')))]),_c('hr'),_c('form',{staticClass:\"u-form\"},[_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_mute')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingMuteSound),expression:\"settingMuteSound\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingMuteSound)?_vm._i(_vm.settingMuteSound,null)>-1:(_vm.settingMuteSound)},on:{\"change\":function($event){var $$a=_vm.settingMuteSound,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingMuteSound=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingMuteSound=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingMuteSound=$$c}}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_show_message_counts')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingHideMessageCount),expression:\"settingHideMessageCount\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingHideMessageCount)?_vm._i(_vm.settingHideMessageCount,null)>-1:(_vm.settingHideMessageCount)},on:{\"change\":function($event){var $$a=_vm.settingHideMessageCount,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingHideMessageCount=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingHideMessageCount=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingHideMessageCount=$$c}}}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./TextStyle.vue?vue&type=template&id=2a7204ee&\"\nimport script from \"./TextStyle.vue?vue&type=script&lang=js&\"\nexport * from \"./TextStyle.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextStyle.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.create = create;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\nvar _defineProperties = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-properties\"));\n\nvar _getOwnPropertyDescriptors = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors\"));\n\nvar _getOwnPropertyDescriptor = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\"));\n\nvar _getOwnPropertySymbols = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/slicedToArray\"));\n\nvar _entries = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/entries\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _defineProperty3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _strftime = _interopRequireDefault(require(\"strftime\"));\n\nvar _ircFramework = _interopRequireDefault(require(\"irc-framework\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar IrcdDiffs = _interopRequireWildcard(require(\"@/helpers/IrcdDiffs\"));\n\nvar _TypingMiddleware = _interopRequireDefault(require(\"./TypingMiddleware\"));\n\nvar _ChathistoryMiddleware = _interopRequireDefault(require(\"./ChathistoryMiddleware\"));\n\nvar ServerConnection = _interopRequireWildcard(require(\"./ServerConnection\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) symbols = (0, _filter.default)(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor.default)(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context27; (0, _forEach.default)(_context27 = ownKeys(Object(source), true)).call(_context27, function (key) { (0, _defineProperty3.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { var _context28; (0, _forEach.default)(_context28 = ownKeys(Object(source))).call(_context28, function (key) { (0, _defineProperty2.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }\n\nfunction create(state, network) {\n var networkid = network.id;\n var ircClient = new _ircFramework.default.Client({\n // Most options are set under the overloaded .connect()\n version: null,\n enable_chghost: true,\n enable_setname: true,\n message_max_length: 350\n });\n ircClient.requestCap('znc.in/self-message');\n ircClient.use((0, _ChathistoryMiddleware.default)());\n ircClient.use(clientMiddleware(state, network));\n ircClient.use((0, _TypingMiddleware.default)()); // Overload the connect() function to make sure we are connecting with the\n // most recent connection details from the network state\n\n var originalIrcClientConnect = ircClient.connect;\n\n ircClient.connect = function connect() {\n // Set some defaults if we don't have eveything\n if (!network.connection.nick) {\n network.connection.nick = 'Guest' + Math.floor(Math.random() * 100);\n }\n\n ircClient.options.host = network.connection.server;\n ircClient.options.port = network.connection.port;\n ircClient.options.tls = network.connection.tls;\n ircClient.options.path = network.connection.path;\n ircClient.options.password = network.connection.password;\n\n if (network.password) {\n ircClient.options.account = {\n account: network.connection.nick,\n password: network.password\n };\n } else {\n // No password so give an empty account config. This forces irc-framework to keep\n // the server password (options.password) separate from SASL\n ircClient.options.account = {};\n }\n\n ircClient.options.nick = network.connection.nick;\n ircClient.options.username = network.username || network.connection.nick;\n ircClient.options.gecos = network.gecos || 'https://kiwiirc.com/';\n ircClient.options.encoding = network.connection.encoding;\n ircClient.options.auto_reconnect = !!state.setting('autoReconnect'); // Apply any irc-fw options specified in kiwiirc config\n\n var configOptions = state.setting('ircFramework');\n\n if (configOptions) {\n (0, _assign.default)(ircClient.options, configOptions);\n }\n\n var eventObj = {\n network: network,\n transport: null\n };\n state.$emit('network.connecting', eventObj);\n\n if (eventObj.transport) {\n // A plugin might use its own transport of some kind\n ircClient.options.transport = eventObj.transport;\n } else if (!network.connection.direct) {\n // A direct connection uses a websocket to connect (note: some browsers limit\n // the number of connections to the same host!).\n // A non-direct connection will connect via the configured kiwi server using\n // with our own irc-framework compatible transport.\n ircClient.options.transport = ServerConnection.createChannelConstructor(state.settings.kiwiServer, (window.location.hash || '').substr(1), networkid);\n } else {\n // Use the irc-framework default transport\n ircClient.options.transport = undefined;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n originalIrcClientConnect.apply(ircClient, args);\n }; // Overload the raw() function so that we can emit outgoing IRC messages to plugins\n\n\n var originalIrcClientRaw = ircClient.raw;\n\n ircClient.raw = function raw() {\n var message = null;\n\n if ((arguments.length <= 0 ? undefined : arguments[0]) instanceof _ircFramework.default.Message) {\n message = arguments.length <= 0 ? undefined : arguments[0];\n } else {\n var rawString = ircClient.rawString.apply(ircClient, arguments);\n message = _ircFramework.default.ircLineParser(rawString);\n }\n\n var eventObj = {\n network: network,\n message: message,\n handled: false\n };\n state.$emit('ircout', eventObj);\n\n if (!eventObj.handled) {\n originalIrcClientRaw.apply(ircClient, [message]);\n }\n };\n\n ircClient.on('raw', function (event) {\n if (!network.setting('show_raw') && !state.setting('showRaw')) {\n return;\n }\n\n var buffer = state.getOrAddBufferByName(networkid, '*raw');\n state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: (event.from_server ? '[S] ' : '[C] ') + event.line\n });\n });\n ircClient.on('typing', function (event) {\n var user = state.getUser(network.id, event.nick);\n\n if (user) {\n user.typingStatus(event.target, event.status);\n }\n });\n return ircClient;\n}\n\nfunction clientMiddleware(state, network) {\n var networkid = network.id; // eslint-disable-next-line\n\n var numConnects = 0;\n var isRegistered = false;\n return function middlewareFn(client, rawEvents, parsedEvents) {\n parsedEvents.use(parsedEventsHandler);\n rawEvents.use(rawEventsHandler);\n client.on('connecting', function () {\n network.state_error = '';\n network.state = 'connecting';\n network.last_error = '';\n network.last_error_numeric = 0;\n });\n client.on('connected', function () {\n network.state_error = '';\n network.state = 'connected';\n });\n client.on('socket close', function (err) {\n var _context;\n\n isRegistered = false;\n network.state = 'disconnected';\n network.state_error = err || '';\n (0, _forEach.default)(_context = network.buffers).call(_context, function (buffer) {\n if (!buffer) {\n return;\n }\n\n buffer.joined = false;\n buffer.clearUsers();\n });\n });\n };\n\n function rawEventsHandler(command, event, rawLine, client, next) {\n // Allow plugins to override raw IRC events\n var eventObj = _objectSpread(_objectSpread({}, event), {}, {\n raw: rawLine,\n handled: false\n });\n\n state.$emit('irc.raw', command, eventObj, network);\n\n if (eventObj.handled) {\n return;\n }\n\n state.$emit('irc.raw.' + command, command, eventObj, network);\n\n if (eventObj.handled) {\n return;\n }\n\n if (command === '002') {\n // Your host is server.example.net, running version InspIRCd-2.0\n var param = event.params[1] || '';\n var m = param.match(/running version (.*)$/);\n network.ircd = m ? m[1] : '';\n } // SASL failed auth\n\n\n if (command === '904') {\n if (!network.state !== 'connected') {\n network.last_error = 'Invalid login';\n\n if (state.setting('disconnectOnSaslFail')) {\n network.ircClient.connection.end();\n }\n }\n\n var serverBuffer = network.serverBuffer();\n state.addMessage(serverBuffer, {\n time: (0, _now.default)(),\n nick: '*',\n message: 'Invalid login'\n });\n }\n\n if (command === 'CAP' && network.setting('show_raw_caps')) {\n var _context2;\n\n var params = (0, _toConsumableArray2.default)(event.params);\n\n if ((0, _indexOf.default)(_context2 = params[params.length - 1]).call(_context2, ' ') > -1) {\n params[params.length - 1] = ':' + params[params.length - 1];\n }\n\n var buffer = network.serverBuffer();\n state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: event.command + ' ' + params.join(' ')\n });\n }\n\n next();\n }\n\n function parsedEventsHandler(command, event, client, next) {\n // Trigger this event through the state object first. If it's been handled\n // somewhere else then we ignore it.\n var ircEventObj = {\n handled: false\n };\n state.$emit('irc.' + command, event, network, ircEventObj);\n\n if (ircEventObj.handled) {\n next();\n return;\n } // Ignore any of the control messages. They're transport related to kiwi internals\n\n\n if (event && event.command === 'CONTROL') {\n next();\n return;\n } // If there is a time difference between this client and the server, convert it\n // to match our local time so it makes sense to the user\n\n\n var eventTime = event && event.time ? network.ircClient.network.timeToLocal(event.time) : (0, _now.default)();\n var serverTime = event && event.time || 0;\n\n if (command === 'channel_redirect') {\n var b = network.bufferByName(event.from);\n\n if (b) {\n (0, _flags.default)(b).redirect_to = event.to;\n }\n }\n\n if (command === 'registered') {\n isRegistered = true;\n network.nick = event.nick;\n state.addUser(networkid, {\n nick: event.nick,\n username: client.user.username\n });\n var serverBuffer = network.serverBuffer();\n state.addMessage(serverBuffer, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: TextFormatting.t('connected_to', {\n network: client.network.name\n })\n }); // Get some extra info about ourselves\n\n client.raw('WHO ' + event.nick);\n\n if (network.auto_commands) {\n var _context3;\n\n (0, _forEach.default)(_context3 = network.auto_commands.split('\\n')).call(_context3, function (line) {\n state.$emit('input.raw', line[0] === '/' ? line : \"/\".concat(line));\n });\n } // Join our channels\n // If under bouncer mode, the bouncer will send the channels were joined to instead.\n\n\n if (!network.connection.bncnetid) {\n var _context4;\n\n (0, _forEach.default)(_context4 = network.buffers).call(_context4, function (buffer) {\n if (buffer.isChannel() && buffer.enabled) {\n client.join(buffer.name, buffer.key);\n }\n });\n }\n\n numConnects++;\n }\n\n if (command === 'server options') {\n // If the network name has changed from the irc-framework default, update ours\n // Also if it isn't a BNC network as the name is then derived from the BNC info instead\n if (client.network.name !== 'Network' && !network.connection.bncnetid) {\n network.name = client.network.name;\n }\n } // Show unhandled data from the server in the servers tab\n\n\n if (command === 'unknown command') {\n if (event.command === '486') {\n // You must log in with services to message this user\n var targetNick = event.params[1];\n var buffer = state.getOrAddBufferByName(network.id, targetNick);\n state.addMessage(buffer, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: event.params[2],\n type: 'error'\n });\n } else {\n var _buffer = network.serverBuffer();\n\n var message = ''; // Only show non-numeric commands\n\n if (!event.command.match(/^\\d+$/)) {\n message += event.command + ' ';\n }\n\n var containsNick = event.params[0] === network.ircClient.user.nick;\n var isChannelMessage = network.isChannelName(event.params[1]); // Strip out the nick if it's the first params (many commands include this)\n\n if (containsNick && isChannelMessage) {\n var _context5;\n\n var channelBuffer = network.bufferByName(event.params[1]);\n\n if (channelBuffer) {\n _buffer = channelBuffer;\n }\n\n message += (0, _slice.default)(_context5 = event.params).call(_context5, 2).join(', ');\n } else if (containsNick) {\n var _context6;\n\n message += (0, _slice.default)(_context6 = event.params).call(_context6, 1).join(', ');\n } else {\n message += event.params.join(', ');\n }\n\n state.addMessage(_buffer, {\n nick: '',\n message: message\n });\n }\n }\n\n if (command.toLowerCase() === 'batch start chathistory' && client.chathistory) {\n var _context7;\n\n // We have a new batch of messages. To prevent duplicate messages being shown, we remove\n // all messages we have locally in the range of these new messages so that the new block\n // of messages we recieved are displayed accurately. Each message in the block will\n // trigger a 'message' event after this.\n var startTime = 0;\n var endTime = 0;\n (0, _forEach.default)(_context7 = event.commands).call(_context7, function (message) {\n if (message.time && message.time > endTime) {\n endTime = message.time;\n }\n\n if (message.time && message.time < startTime) {\n startTime = message.time;\n }\n });\n\n if (!startTime || !endTime) {\n return;\n }\n\n var _buffer2 = state.getBufferByName(networkid, event.params[0]);\n\n if (_buffer2) {\n _buffer2.clearMessageRange(startTime, endTime);\n }\n }\n\n if (command === 'message') {\n var isPrivateMessage = false;\n var bufferName = event.from_server ? '*' : event.target; // If the message came from a batch then params[0] is the bufferName\n\n if (event.batch && event.batch.type === 'chathistory' && event.batch.params[0]) {\n bufferName = event.batch.params[0];\n isPrivateMessage = !network.isChannelName(bufferName);\n } else if (!event.from_server && event.target === client.user.nick) {\n // PMs should go to a buffer with the name of the other user\n isPrivateMessage = true;\n bufferName = event.nick;\n } // Chanserv sometimes PMs messages about a channel on join in the format of\n // [#channel] welcome!\n // Redirect these to #channel\n\n\n if (event.nick.toLowerCase() === 'chanserv' && isPrivateMessage && event.message[0] === '[') {\n var _context8;\n\n bufferName = event.message.substr(1, (0, _indexOf.default)(_context8 = event.message).call(_context8, ']') - 1);\n } // Notices from somewhere when we don't have an existing buffer for them should go into\n // the server tab. ie. notices from servers\n\n\n if (event.type === 'notice') {\n var existingBuffer = state.getBufferByName(networkid, bufferName);\n var noticeActiveBuffer = state.setting('noticeActiveBuffer');\n var activeBuffer = state.getActiveBuffer();\n var hasActiveBuffer = activeBuffer && activeBuffer.networkid === networkid; // If we don't have a buffer for this notice sender, either show it in our active\n // buffer or the server buffer\n\n if (!existingBuffer) {\n if (noticeActiveBuffer && hasActiveBuffer) {\n bufferName = activeBuffer.name;\n } else {\n bufferName = '*';\n }\n }\n }\n\n var PM_BLOCK_BLOCKED = false; // const PM_BLOCK_NOT_BLOCKED = true;\n\n var PM_BLOCK_REQUIRES_CHECK = null;\n var pmBlock = network.isNickExemptFromPmBlocks(event.nick);\n var blockNewPms = state.setting('buffers.block_pms');\n\n var _buffer3 = state.getBufferByName(networkid, bufferName);\n\n var textFormatType = 'privmsg';\n\n if (event.type === 'action') {\n textFormatType = 'action';\n } else if (event.type === 'notice') {\n textFormatType = 'notice';\n }\n\n var messageBody = TextFormatting.formatText(textFormatType, {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n text: event.message\n });\n var _message = {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: messageBody,\n type: event.type,\n tags: event.tags || {}\n }; // If this is a new PM and the sending user is not exempt from blocks, ignore it\n\n if (blockNewPms && isPrivateMessage && !_buffer3 && pmBlock === PM_BLOCK_BLOCKED) {\n return;\n } // If we need to manually check if this user is blocked..\n // PM_BLOCK_REQUIRES_CHECK means we should whois the user to get their oper status. We\n // allways allow messages from opers.\n\n\n if (blockNewPms && isPrivateMessage && !_buffer3 && pmBlock === PM_BLOCK_REQUIRES_CHECK) {\n // if the nick is in pendingPms it has already issued a whois request\n var awaitingWhois = !!(0, _find.default)(_lodash.default).call(_lodash.default, network.pendingPms, {\n nick: event.nick\n });\n network.pendingPms.push({\n bufferName: bufferName,\n message: _message\n }); // Don't send another whois if we are already awaiting another\n\n if (awaitingWhois) {\n return;\n }\n\n network.ircClient.whois(event.nick, event.nick, function (whoisData) {\n var _context9;\n\n (0, _forEach.default)(_context9 = network.pendingPms).call(_context9, function (pm, idx, obj) {\n var nickLower = pm.message.nick.toLowerCase();\n\n if (nickLower === whoisData.nick.toLowerCase()) {\n if (whoisData.operator) {\n _buffer3 = state.getOrAddBufferByName(network.id, pm.bufferName);\n state.addMessage(_buffer3, pm.message);\n }\n\n (0, _splice.default)(obj).call(obj, idx, 1);\n }\n });\n });\n return;\n } // Make sure we have a buffer for our message\n\n\n if (!_buffer3) {\n _buffer3 = state.getOrAddBufferByName(networkid, bufferName);\n }\n\n state.addMessage(_buffer3, _message);\n }\n\n if (command === 'wallops') {\n var _buffer4 = state.getOrAddBufferByName(networkid, '*');\n\n var _messageBody = TextFormatting.formatText('wallops', {\n text: event.message\n });\n\n state.addMessage(_buffer4, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: _messageBody,\n type: 'wallops'\n });\n }\n\n if (command === 'join') {\n // If we have any buffers marked as being redirected to this new channel, update\n // that buffer instead of creating a new one\n if (event.nick === client.user.nick) {\n var _context10;\n\n (0, _forEach.default)(_context10 = network.buffers).call(_context10, function (b) {\n if (((0, _flags.default)(b).redirect_to || '').toLowerCase() === event.channel.toLowerCase()) {\n state.$delete((0, _flags.default)(b), 'redirect_to');\n b.rename(event.channel);\n }\n });\n }\n\n var _buffer5 = state.getOrAddBufferByName(networkid, event.channel); // The case does not match, update buffer.name to the casing sent by the server\n\n\n if (_buffer5.name !== event.channel) {\n _buffer5.rename(event.channel);\n }\n\n state.addUserToBuffer(_buffer5, {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n realname: event.gecos,\n account: event.account || ''\n });\n\n if (event.nick === client.user.nick) {\n _buffer5.enabled = true;\n _buffer5.joined = true;\n (0, _flags.default)(_buffer5).channel_badkey = false;\n network.ircClient.raw('MODE', event.channel);\n network.ircClient.who(event.channel);\n }\n\n var nick = _buffer5.setting('show_hostnames') ? TextFormatting.formatUserFull(event) : TextFormatting.formatUser(event);\n\n var _messageBody2 = TextFormatting.formatAndT('channel_join', null, 'has_joined', {\n nick: nick\n });\n\n state.addMessage(_buffer5, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: _messageBody2,\n type: 'traffic',\n type_extra: 'join'\n });\n }\n\n if (command === 'kick') {\n var _buffer6 = state.getOrAddBufferByName(networkid, event.channel);\n\n state.removeUserFromBuffer(_buffer6, event.kicked);\n var _messageBody3 = '';\n\n if (event.kicked === client.user.nick) {\n _buffer6.joined = false;\n\n _buffer6.clearUsers();\n\n _messageBody3 = TextFormatting.formatAndT('channel_selfkick', {\n reason: event.message\n }, 'kicked_you_from', {\n nick: TextFormatting.formatUser(event),\n channel: event.channel\n });\n } else {\n _messageBody3 = TextFormatting.formatAndT('channel_kicked', {\n reason: event.message\n }, 'was_kicked_from', {\n nick: event.kicked,\n channel: event.channel,\n chanop: TextFormatting.formatUser(event.nick)\n });\n }\n\n state.addMessage(_buffer6, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: _messageBody3,\n type: 'traffic',\n type_extra: 'kick'\n });\n }\n\n if (command === 'part') {\n var _buffer7 = state.getBufferByName(networkid, event.channel);\n\n if (!_buffer7) {\n return;\n }\n\n state.removeUserFromBuffer(_buffer7, event.nick);\n\n if (event.nick === client.user.nick) {\n _buffer7.joined = false;\n _buffer7.enabled = false;\n\n _buffer7.clearUsers();\n } // Remove the user from network state if no remaining common channels\n\n\n var remainingBuffers = state.getBuffersWithUser(networkid, event.nick);\n\n if (remainingBuffers.length === 0) {\n state.removeUser(networkid, {\n nick: event.nick\n });\n }\n\n var _nick = _buffer7.setting('show_hostnames') ? TextFormatting.formatUserFull(event) : TextFormatting.formatUser(event);\n\n var _messageBody4 = TextFormatting.formatAndT('channel_part', {\n reason: event.message\n }, 'has_left', {\n nick: _nick\n });\n\n state.addMessage(_buffer7, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: _messageBody4,\n type: 'traffic',\n type_extra: 'part'\n });\n }\n\n if (command === 'quit') {\n var buffers = state.getBuffersWithUser(networkid, event.nick);\n (0, _forEach.default)(buffers).call(buffers, function (buffer) {\n if (!buffer) {\n return;\n }\n\n if (event.nick === client.user.nick) {\n buffer.joined = false;\n buffer.clearUsers();\n }\n\n var nick = buffer.setting('show_hostnames') ? TextFormatting.formatUserFull(event) : TextFormatting.formatUser(event);\n var messageBody = TextFormatting.formatAndT('channel_quit', {\n reason: event.message\n }, 'has_left', {\n nick: nick\n });\n state.addMessage(buffer, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: messageBody,\n type: 'traffic',\n type_extra: 'quit'\n });\n });\n state.removeUser(networkid, {\n nick: event.nick\n });\n }\n\n if (command === 'invite') {\n var _buffer8 = network.serverBuffer();\n\n state.addMessage(_buffer8, {\n nick: '*',\n message: TextFormatting.t('invited_you', {\n nick: event.nick,\n channel: event.channel\n })\n });\n }\n\n if (command === 'account') {\n state.addUser(networkid, {\n nick: event.nick,\n account: event.account || ''\n });\n }\n\n if (command === 'whois') {\n var _context11;\n\n var obj = {\n nick: event.nick,\n host: event.hostname,\n username: event.ident,\n away: event.away || '',\n realname: event.real_name,\n hasWhois: true\n }; // Some other optional bits of info\n\n (0, _forEach.default)(_context11 = ['actual_host', 'helpop', 'bot', 'server', 'server_info', 'operator', 'channels', 'modes', 'idle', 'logon', 'registered_nick', 'account', 'secure', 'certfp', 'special']).call(_context11, function (prop) {\n if (typeof event[prop] !== 'undefined') {\n obj[prop] = event[prop];\n }\n });\n state.addUser(networkid, obj);\n }\n\n if (command === 'away') {\n state.addUser(networkid, {\n nick: event.nick,\n away: event.message || ''\n });\n\n var _buffer9 = state.getActiveBuffer();\n\n if (_buffer9 && event.nick === network.nick) {\n network.away = 'away';\n state.addMessage(_buffer9, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n type: 'presence',\n message: event.message\n });\n }\n }\n\n if (command === 'back') {\n state.addUser(networkid, {\n nick: event.nick,\n away: ''\n });\n\n var _buffer10 = state.getActiveBuffer();\n\n if (_buffer10 && event.nick === network.nick) {\n network.away = '';\n state.addMessage(_buffer10, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n type: 'presence',\n message: event.message\n });\n }\n }\n\n if (command === 'wholist') {\n state.usersTransaction(networkid, function (users) {\n var _context12;\n\n (0, _forEach.default)(_context12 = event.users).call(_context12, function (eventUser) {\n var _context13;\n\n var userObj = {\n nick: eventUser.nick,\n host: eventUser.hostname || undefined,\n username: eventUser.ident || undefined,\n away: eventUser.away ? 'Away' : '',\n realname: eventUser.real_name,\n account: eventUser.account || undefined\n };\n var user = state.addUser(networkid, userObj, users);\n\n if (!user) {\n // Should never happen as this network should always exist\n return;\n }\n\n var buffer = network.bufferByName(eventUser.channel);\n\n if (!buffer || !user.buffers[buffer.id]) {\n return;\n } // Add all the user channel modes\n\n\n var modes = user.buffers[buffer.id].modes;\n (0, _forEach.default)(_context13 = eventUser.channel_modes).call(_context13, function (mode) {\n if ((0, _indexOf.default)(modes).call(modes, mode) === -1) {\n modes.push(mode);\n }\n });\n });\n });\n }\n\n if (command === 'channel list start') {\n network.channel_list_cache = [];\n network.channel_list_state = 'updating';\n }\n\n if (command === 'channel list') {\n var _context14;\n\n network.channel_list_state = 'updating'; // Filter private channels from the channel list\n\n var filteredEvent = (0, _filter.default)(_lodash.default).call(_lodash.default, event, function (o) {\n return o.channel !== '*';\n }); // Store the channels in channel_list_cache before moving it all to\n // channel_list at the end. This gives a huge performance boost since\n // it doesn't need to be all reactive for every update\n\n network.channel_list_cache = (0, _concat.default)(_context14 = network.channel_list_cache || []).call(_context14, filteredEvent);\n }\n\n if (command === 'channel list end') {\n network.channel_list = network.channel_list_cache || [];\n network.channel_list_state = 'updated';\n delete network.channel_list_cache;\n }\n\n if (command === 'motd') {\n var _buffer11 = network.serverBuffer();\n\n var _messageBody5 = TextFormatting.formatText('motd', {\n text: event.motd\n });\n\n state.addMessage(_buffer11, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody5,\n type: 'motd'\n });\n }\n\n if (command === 'nick in use' && !client.connection.registered) {\n var _context15;\n\n var newNick = client.user.nick + rand(1, 100);\n\n var _messageBody6 = TextFormatting.formatAndT('nickname_alreadyinuse', null, 'nick_in_use_retrying', {\n nick: client.user.nick,\n newnick: newNick\n });\n\n (0, _forEach.default)(_context15 = network.buffers).call(_context15, function (b) {\n state.addMessage(b, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody6,\n type: 'error'\n });\n });\n client.changeNick(newNick);\n }\n\n if (command === 'nick in use' && client.connection.registered) {\n var _buffer12 = state.getActiveBuffer();\n\n _buffer12 && state.addMessage(_buffer12, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n type: 'error',\n message: \"The nickname '\".concat(event.nick, \"' is already in use!\")\n });\n }\n\n if (command === 'nick') {\n if (event.nick === client.user.nick) {\n network.nick = event.new_nick;\n }\n\n state.changeUserNick(networkid, event.nick, event.new_nick);\n\n var _messageBody7 = TextFormatting.formatAndT('nick_changed', null, 'now_known_as', {\n nick: event.nick,\n newnick: event.new_nick\n });\n\n var _buffers = state.getBuffersWithUser(networkid, event.new_nick);\n\n (0, _forEach.default)(_buffers).call(_buffers, function (buffer) {\n state.addMessage(buffer, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody7,\n type: 'nick'\n });\n });\n }\n\n if (command === 'userlist') {\n var _context16, _context17;\n\n var _buffer13 = state.getOrAddBufferByName(networkid, event.channel);\n\n var hadExistingUsers = (0, _filter.default)(_context16 = (0, _keys.default)(_buffer13.users)).call(_context16, function (u) {\n return u !== network.ircClient.user.nick;\n }).length > 0;\n var users = [];\n (0, _forEach.default)(_context17 = event.users).call(_context17, function (user) {\n users.push({\n user: {\n nick: user.nick,\n username: user.ident,\n hostname: user.hostname\n },\n modes: user.modes\n });\n });\n state.addMultipleUsersToBuffer(_buffer13, users);\n\n if (!hadExistingUsers && network.ircClient.chathistory.isSupported()) {\n var correctBuffer = _buffer13.isChannel() || _buffer13.isQuery(); // TODO: If this is a reconnect (numConnects > 1) then paginate backwards\n // until we reach our last message.\n // OR\n // Add a marker at the gap between this new chathistory block starts and when\n // the existing messages end so that we can add a \"load missing messages\"\n // button there or have it auto request them when it scrolls into view\n\n\n if (correctBuffer) {\n _buffer13.requestLatestScrollback();\n }\n }\n }\n\n if (command === 'user updated') {\n var user = network.userByName(event.nick);\n\n if (user) {\n var _context18;\n\n (0, _forEach.default)(_context18 = (0, _entries.default)(event)).call(_context18, function (_ref) {\n var _ref2 = (0, _slicedToArray2.default)(_ref, 2),\n key = _ref2[0],\n val = _ref2[1];\n\n if ((0, _indexOf.default)(key).call(key, 'new_') !== 0) {\n return;\n }\n\n var paramName = key.substr(4);\n\n switch (paramName) {\n case 'gecos':\n user.realname = val;\n break;\n\n case 'ident':\n user.username = val;\n break;\n\n case 'hostname':\n user.host = val;\n break;\n\n default:\n }\n });\n }\n }\n\n if (command === 'channel info') {\n var _buffer14 = network.bufferByName(event.channel);\n\n if (!_buffer14) {\n return;\n }\n\n if (event.modes) {\n var _context19;\n\n var modeStrs = [];\n (0, _forEach.default)(_context19 = event.modes).call(_context19, function (mode) {\n var adding = mode.mode[0] === '+';\n var modeChar = mode.mode.substr(1);\n\n if (adding) {\n state.$set(_buffer14.modes, modeChar, mode.param);\n } else if (!adding) {\n state.$delete(_buffer14.modes, modeChar);\n }\n\n modeStrs.push(mode.mode + (mode.param ? ' ' + mode.param : ''));\n });\n\n if ((0, _flags.default)(_buffer14).requested_modes) {\n state.addMessage(_buffer14, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: _buffer14.name + ' ' + modeStrs.join(', ')\n });\n }\n }\n\n if (event.created_at) {\n _buffer14.created_at = new Date(event.created_at * 1000);\n }\n\n if (event.created_at && (0, _flags.default)(_buffer14).requested_modes) {\n var tFormat = _buffer14.setting('timestamp_full_format');\n\n var timeCreated = tFormat ? (0, _strftime.default)(tFormat, new Date(event.created_at * 1000)) : new Date(event.created_at * 1000).toLocaleString();\n state.addMessage(_buffer14, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: _buffer14.name + ' ' + timeCreated\n });\n }\n }\n\n if (command === 'mode') {\n var _buffer15 = network.bufferByName(event.target);\n\n var _modeStrs = {};\n\n if (_buffer15) {\n var _context20;\n\n // Join all the same mode changes together so they can be shown on one\n // line such as \"prawnsalad sets +b on nick1, nick2\"\n (0, _forEach.default)(_context20 = event.modes).call(_context20, function (mode) {\n _modeStrs[mode.mode] = _modeStrs[mode.mode] || []; // If this mode has a user prefix then we need to update the user object\n\n var prefix = (0, _find.default)(_lodash.default).call(_lodash.default, network.ircClient.network.options.PREFIX, {\n mode: mode.mode[1]\n });\n\n if (prefix) {\n var _user = state.getUser(network.id, mode.param);\n\n if (_user) {\n var adding = mode.mode[0] === '+';\n var modes = _user.buffers[_buffer15.id].modes;\n var modeIdx = (0, _indexOf.default)(modes).call(modes, prefix.mode); // Add or remove the mode from the users mode list\n\n if (adding && modeIdx === -1) {\n modes.push(prefix.mode);\n } else if (!adding && modeIdx > -1) {\n (0, _splice.default)(modes).call(modes, modeIdx, 1);\n }\n }\n\n _modeStrs[mode.mode].push({\n target: mode.param\n });\n } else {\n // Not a user prefix, add it as a channel mode\n // TODO: Why are these not appearing as the 'channel info' command?\n var _adding = mode.mode[0] === '+';\n\n var modeChar = mode.mode.substr(1);\n\n if (_adding) {\n state.$set(_buffer15.modes, modeChar, mode.param);\n } else if (!_adding) {\n state.$delete(_buffer15.modes, modeChar);\n }\n\n _modeStrs[mode.mode].push({\n target: _buffer15.name,\n param: mode.param\n });\n }\n }); // Mode -> locale ID mappings\n // If a mode isn't found here, the local ID modes_other is used\n\n var modeLocaleIds = {\n '+o': 'modes_give_ops',\n '-o': 'modes_take_ops',\n '+h': 'modes_give_halfops',\n '-h': 'modes_take_halfops',\n '+v': 'modes_give_voice',\n '-v': 'modes_take_voice',\n '+a': 'modes_give_admin',\n '-a': 'modes_take_admin',\n '+q': 'modes_give_owner',\n '-q': 'modes_take_owner',\n '+b': 'modes_gives_ban',\n '-b': 'modes_takes_ban'\n }; // Some IRCd differences\n\n if (!IrcdDiffs.isQChannelModeOwner(network)) {\n delete modeLocaleIds['+q'];\n delete modeLocaleIds['-q'];\n }\n\n if (!IrcdDiffs.isAChannelModeAdmin(network)) {\n delete modeLocaleIds['+a'];\n delete modeLocaleIds['-a'];\n }\n\n if (!IrcdDiffs.supportsHalfOp(network)) {\n delete modeLocaleIds['+h'];\n delete modeLocaleIds['-h'];\n } // Some modes have specific data for its locale data while most\n // use a default. The returned objects are passed to the translation\n // functions to build the translation\n\n\n var modeLocaleDataBuilders = {\n default: function _default(targets, mode) {\n return {\n mode: mode + (targets[0].param ? ' ' + targets[0].param : ''),\n target: (0, _map.default)(targets).call(targets, function (t) {\n return t.target;\n }).join(', '),\n nick: event.nick\n };\n },\n b: function b(targets, mode) {\n return {\n mode: mode,\n target: targets[0].param ? targets[0].param : '',\n nick: event.nick\n };\n }\n }; // Show one line per mode, listing each effecting user\n\n _lodash.default.each(_modeStrs, function (targets, mode) {\n // Find a locale data builder for this mode\n var builders = modeLocaleDataBuilders;\n var localeDataFn = builders[mode[1]] || builders.default;\n var localeData = localeDataFn(targets, mode); // Translate using the built locale data\n\n var localeKey = modeLocaleIds[mode] || 'modes_other';\n var text = TextFormatting.t(localeKey, localeData);\n var messageBody = TextFormatting.formatText('mode', {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n target: (0, _map.default)(targets).call(targets, function (t) {\n return t.target;\n }).join(', '),\n text: text\n });\n state.addMessage(_buffer15, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: messageBody,\n type: 'mode'\n });\n });\n } else {\n var _context21;\n\n // target is not a channel buffer (user mode ?)\n // if mode had param, show in a new line\n var modeslines = {}; // Group each - or + modes to each of their own message lines\n\n (0, _forEach.default)(_context21 = event.modes).call(_context21, function (mode) {\n if (mode.param) {\n modeslines[mode.mode] = ' ' + mode.param;\n } else if (mode.mode[0] === '-') {\n var _context22;\n\n if (!modeslines['-']) {\n modeslines['-'] = '';\n }\n\n modeslines['-'] += (0, _slice.default)(_context22 = mode.mode).call(_context22, 1);\n } else {\n if (!modeslines['+']) {\n modeslines['+'] = '';\n }\n\n if (mode.mode[0] === '+') {\n var _context23;\n\n modeslines['+'] += (0, _slice.default)(_context23 = mode.mode).call(_context23, 1);\n } else {\n modeslines['+'] += mode.mode;\n }\n }\n });\n\n var _serverBuffer = network.serverBuffer();\n\n _lodash.default.each(modeslines, function (mode, value) {\n var text = TextFormatting.t('modes_other', {\n nick: event.nick,\n target: event.target,\n mode: value + mode\n });\n var messageBody = TextFormatting.formatText('mode', {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n target: event.target,\n text: text\n });\n state.addMessage(_serverBuffer, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: messageBody,\n type: 'mode'\n });\n });\n }\n }\n\n if (command === 'banlist') {\n var _buffer16 = state.getBufferByName(networkid, event.channel);\n\n if (_buffer16 && (0, _flags.default)(_buffer16).requested_banlist) {\n if (!event.bans || event.bans.length === 0) {\n state.addMessage(_buffer16, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: TextFormatting.t('bans_nobody'),\n type: 'banlist'\n });\n } else {\n var banText = '';\n\n _lodash.default.each(event.bans, function (ban) {\n var _context24, _context25;\n\n var dateStr = new Date(ban.banned_at * 1000).toDateString();\n banText += (0, _concat.default)(_context24 = (0, _concat.default)(_context25 = \"+b \".concat(ban.banned, \" [by \")).call(_context25, ban.banned_by, \", \")).call(_context24, dateStr, \"]\\n\");\n });\n\n state.addMessage(_buffer16, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: banText,\n type: 'banlist'\n });\n }\n\n (0, _flags.default)(_buffer16).requested_banlist = false;\n }\n }\n\n if (command === 'topic') {\n var _context26;\n\n var _buffer17 = state.getOrAddBufferByName(networkid, event.channel);\n\n _buffer17.topic = event.topic || '';\n var _messageBody8 = '';\n\n if (event.nick) {\n _messageBody8 = TextFormatting.formatAndT('channel_topic', null, 'changed_topic_to', {\n nick: event.nick,\n topic: event.topic\n });\n } else if ((0, _trim.default)(_context26 = _buffer17.topic).call(_context26)) {\n _messageBody8 = TextFormatting.formatText('channel_topic', _buffer17.topic);\n }\n\n if (_messageBody8) {\n state.addMessage(_buffer17, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody8,\n type: 'topic'\n });\n }\n }\n\n if (command === 'help') {\n var _buffer18 = state.getOrAddBufferByName(networkid, '*help');\n\n state.addMessage(_buffer18, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: event.help,\n type: 'help',\n tags: event.tags || {}\n });\n }\n\n if (command === 'ctcp response' || command === 'ctcp request') {\n var _buffer19 = network.bufferByName(event.target) || network.serverBuffer();\n\n var textFormatId = command === 'ctcp response' ? 'ctcp_response' : 'ctcp_request';\n\n var _messageBody9 = TextFormatting.formatText(textFormatId, {\n nick: event.nick,\n message: event.message,\n type: event.type\n });\n\n state.addMessage(_buffer19, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody9,\n type: 'error'\n });\n\n if (command === 'ctcp request' && event.type === 'VERSION') {\n client.ctcpResponse(event.nick, 'VERSION', 'Kiwi IRC');\n }\n }\n\n if (command === 'nick invalid') {\n var _messageBody10 = TextFormatting.formatText('general_error', {\n text: event.reason\n });\n\n var _buffer20 = state.getActiveBuffer();\n\n state.addMessage(_buffer20, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody10,\n type: 'error'\n });\n\n if (!isRegistered) {\n network.last_error_numeric = 432;\n network.last_error = event.reason;\n network.ircClient.quit();\n }\n }\n\n if (command === 'irc error') {\n var _buffer21;\n\n if (event.channel || event.nick) {\n _buffer21 = state.getOrAddBufferByName(network.id, event.channel || event.nick);\n }\n\n if (!_buffer21) {\n _buffer21 = network.serverBuffer();\n }\n\n if (!_buffer21) {\n // we could not find a buffer, this is likely because the network was removed\n return;\n } // TODO: Some of these errors contain a .error property whcih we can match against,\n // ie. password_mismatch.\n\n\n if (event.error === 'bad_channel_key') {\n (0, _flags.default)(_buffer21).channel_badkey = true;\n } // ignore error 432 (erroneous nickname) as it is handled above\n\n\n if (event.reason && network.last_error_numeric !== 432) {\n if (!isRegistered) {\n network.last_error = event.reason;\n }\n\n var _messageBody11 = TextFormatting.formatText('general_error', {\n text: event.reason || event.error\n });\n\n state.addMessage(_buffer21, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody11,\n type: 'error'\n });\n } // Getting an error about a channel while we are not joined means that we couldn't join\n // or do some action on it. Disable it until we manually reattempt to join.\n\n\n if (_buffer21.isChannel() && !_buffer21.joined) {\n _buffer21.enabled = false;\n }\n }\n\n next();\n }\n}\n\nfunction rand(min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"IrcClient\"]\r\nwindow._kiwi_exports.libs.IrcClient = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MessageListMessageModern.vue?vue&type=template&id=fe3ccb9c&scoped=true&functional=true&\"\nimport script from \"./MessageListMessageModern.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListMessageModern.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageListMessageModern.vue?vue&type=style&index=0&id=fe3ccb9c&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n \"fe3ccb9c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=6e1b8873&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./InputText.vue?vue&type=template&id=54bd521c&\"\nimport script from \"./InputText.vue?vue&type=script&lang=js&\"\nexport * from \"./InputText.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputText.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-personal\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('personal_client')))]),_c('p',[_vm._v(_vm._s(_vm.$t('personal_addjoin')))]),_c('p',[_vm._v(_vm._s(_vm.$t('personal_return')))]),_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.addNetwork}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_add'))+\" \")]),_vm._v(\" \"),_c('br'),(_vm.networks.length>0)?_c('a',{staticClass:\"u-link kiwi-personal-existing-networks\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_saved'))+\" \")]):_vm._e(),_c('div',{staticClass:\"kiwi-aboutnew-content\",class:{'kiwi-aboutnew-content--open': _vm.about_open},domProps:{\"innerHTML\":_vm._s(_vm.aboutContent)}}),_c('div',{staticClass:\"kiwi-aboutnew\"},[_c('div',{staticClass:\"kiwi-aboutnew-sep\"}),_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.about_open=!_vm.about_open}}},[_vm._v(\" Link to your network / channel \")]),_c('div',{staticClass:\"kiwi-aboutnew-help\"},[_c('a',{on:{\"click\":function($event){_vm.about_open=!_vm.about_open}}},[_c('i',{staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\"}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2e10eb24&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n/* eslint-disable */\n// command descriptions can be either a static string or a translation key prefixed with locale_id_\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = [{\n command: 'msg',\n alias: [],\n description: 'locale_id_command_msg'\n}, {\n command: 'action',\n alias: [],\n description: 'locale_id_command_action'\n}, {\n command: 'join',\n alias: [],\n description: 'locale_id_command_join'\n}, {\n command: 'part',\n alias: [],\n description: 'locale_id_command_part'\n}, {\n command: 'cycle',\n alias: [],\n description: 'locale_id_command_cycle'\n}, {\n command: 'nick',\n alias: [],\n description: 'locale_id_command_nick'\n}, {\n command: 'query',\n alias: [],\n description: 'locale_id_command_query'\n}, {\n command: 'invite',\n alias: [],\n description: 'locale_id_command_invite'\n}, {\n command: 'topic',\n alias: [],\n description: 'locale_id_command_topic'\n}, {\n command: 'notice',\n alias: [],\n description: 'locale_id_command_notice'\n}, {\n command: 'quote',\n alias: [],\n description: 'locale_id_command_quote'\n}, {\n command: 'kick',\n alias: [],\n description: 'locale_id_command_kick'\n}, {\n command: 'clear',\n alias: [],\n description: 'locale_id_command_clear'\n}, {\n command: 'ctcp',\n alias: [],\n description: 'locale_id_command_ctcp'\n}, {\n command: 'quit',\n alias: [],\n description: 'locale_id_command_quit'\n}, {\n command: 'server',\n alias: [],\n description: 'locale_id_command_server'\n}, {\n command: 'whois',\n alias: [],\n description: 'locale_id_command_whois'\n}, {\n command: 'whowas',\n alias: [],\n description: 'locale_id_command_whowas'\n}, {\n command: 'away',\n alias: [],\n description: 'locale_id_command_away'\n}, {\n command: 'back',\n alias: ['active'],\n description: 'locale_id_command_back'\n}, {\n command: 'encoding',\n alias: [],\n description: 'locale_id_command_encoding'\n}, {\n command: 'ignore',\n alias: [],\n description: 'locale_id_command_ignore'\n}, {\n command: 'unignore',\n alias: [],\n description: 'locale_id_command_unignore'\n}, {\n command: 'dice',\n alias: [],\n description: 'locale_id_command_dice'\n}];\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"res\"]) window._kiwi_exports[\"res\"] = {};\nwindow._kiwi_exports[\"res\"][\"autocompleteCommands\"]\r\nwindow._kiwi_exports.res.autocompleteCommands = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar StatePersistence = /*#__PURE__*/function () {\n function StatePersistence(storageKey, state, storage, logger) {\n (0, _classCallCheck2.default)(this, StatePersistence);\n this.storageKey = storageKey;\n this.state = state;\n this.storage = storage;\n this.logger = logger;\n this.isPersisting = false;\n this.includeBuffers = true;\n this.watcher = null;\n this.state.persistence = this;\n }\n\n (0, _createClass2.default)(StatePersistence, [{\n key: \"loadStateIfExists\",\n value: function () {\n var _loadStateIfExists = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var storedState;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (this.storageKey) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n _context.next = 4;\n return this.storage.get(this.storageKey);\n\n case 4:\n storedState = _context.sent;\n\n if (storedState) {\n if (this.logger) {\n this.logger('Importing state', storedState);\n }\n\n this.state.importState(storedState);\n }\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function loadStateIfExists() {\n return _loadStateIfExists.apply(this, arguments);\n }\n\n return loadStateIfExists;\n }()\n }, {\n key: \"stopWatchingState\",\n value: function stopWatchingState() {\n if (this.watcher) {\n this.watcher();\n this.watcher = null;\n }\n }\n }, {\n key: \"watchStateForChanges\",\n value: function watchStateForChanges() {\n var _this = this;\n\n if (!this.storageKey) {\n return;\n } // Throttle saving the state into storage so we don't thrash the disk\n\n\n var debouncedSaveState = _lodash.default.debounce(function () {\n if (_this.logger) {\n _this.logger('State updated, setting localStorage');\n }\n\n _this.storage.set(_this.storageKey, _this.state.exportState(_this.includeBuffers));\n }, 1000);\n\n this.state.$watch('networks', debouncedSaveState, {\n deep: true\n });\n this.state.$watch('user_settings', debouncedSaveState, {\n deep: true\n }); // We need to touch each property of each buffer for that we want to save our state on.\n // If any of the properties change then the $watch()er will call debouncedSaveState()\n\n this.watcher = this.state.$watch(function () {\n var _context2;\n\n var watchVals = [];\n (0, _forEach.default)(_context2 = _this.state.networks).call(_context2, function (network) {\n var _context3, _context4;\n\n var buffersVals = [];\n buffersVals.push((0, _map.default)(_context3 = network.buffers).call(_context3, function (b) {\n return b.name;\n }).join(','));\n (0, _forEach.default)(_context4 = network.buffers).call(_context4, function (buffer) {\n buffersVals.push([buffer.name, buffer.settings, buffer.joined, buffer.enabled, buffer.last_read]);\n });\n watchVals.push(buffersVals);\n });\n return (0, _stringify.default)(watchVals);\n }, debouncedSaveState);\n this.isPersisting = true;\n }\n }, {\n key: \"forgetState\",\n value: function () {\n var _forgetState = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n return _regenerator.default.wrap(function _callee2$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n this.state.resetState();\n _context5.next = 3;\n return this.storage.set(this.storageKey, null);\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function forgetState() {\n return _forgetState.apply(this, arguments);\n }\n\n return forgetState;\n }()\n }]);\n return StatePersistence;\n}();\n\nexports.default = StatePersistence;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"StatePersistence\"]\r\nwindow._kiwi_exports.libs.StatePersistence = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./ServerSelector.vue?vue&type=template&id=f413800a&\"\nimport script from \"./ServerSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServerSelector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n props: ['network'],\n data: function data() {\n return {\n recaptchaUrl: '',\n recaptchaSiteId: '',\n recaptchaResponse: '',\n showCaptcha: false\n };\n },\n created: function created() {\n var _this = this;\n\n var options = this.$state.settings.startupOptions;\n this.recaptchaSiteId = options.recaptchaSiteId || '';\n this.recaptchaUrl = options.recaptchaUrl || 'https://www.google.com/recaptcha/api.js';\n this.listen(this.$state, 'network.connecting', function (event) {\n event.network.ircClient.once('socket connected', function () {\n if (_this.recaptchaResponse) {\n event.network.ircClient.raw('CAPTCHA', _this.recaptchaResponse);\n }\n });\n });\n this.listen(this.$state, 'irc.raw.CAPTCHA', function (command, event, network) {\n if (network !== _this.network) {\n return;\n }\n\n if (event.params[0] === 'NEEDED') {\n _this.loadRecaptcha();\n }\n });\n },\n methods: {\n loadRecaptcha: function loadRecaptcha() {\n var _this2 = this;\n\n this.showCaptcha = true; // Recaptcha calls this callback once it's loaded and ready to be used\n\n window.recaptchaLoaded = function () {\n window.grecaptcha.render(_this2.$refs.captchacontainer, {\n sitekey: _this2.recaptchaSiteId,\n callback: _this2.recaptchaSuccess,\n 'expired-callback': _this2.recaptchaExpired\n });\n };\n\n var scr = document.createElement('script');\n scr.src = this.recaptchaUrl + '?onload=recaptchaLoaded&render=explicit';\n scr.defer = true;\n this.$el.appendChild(scr);\n },\n recaptchaSuccess: function recaptchaSuccess(response) {\n this.recaptchaResponse = response; // If we have a network instance already, send the captcha response\n\n if (this.network && this.network.state === 'connecting') {\n this.network.ircClient.raw('CAPTCHA', response);\n }\n\n this.showCaptcha = false;\n },\n recaptchaExpired: function recaptchaExpired() {\n this.recaptchaResponse = '';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Captcha\"]\r\nwindow._kiwi_exports.components.Captcha = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./StateBrowser.vue?vue&type=template&id=3ba70edc&\"\nimport script from \"./StateBrowser.vue?vue&type=script&lang=js&\"\nexport * from \"./StateBrowser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StateBrowser.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./CommonLayout.vue?vue&type=template&id=5651b698&\"\nimport script from \"./CommonLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./CommonLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CommonLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./LoadingAnimation.vue?vue&type=template&id=0d280fd9&\"\nimport script from \"./LoadingAnimation.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingAnimation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingAnimation.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-channellist\",class:{'kiwi-channellist-padding-top': !_vm.list.length}},[_c('div',{staticClass:\"kiwi-channellist-content-container\"},[_c('div',{staticClass:\"kiwi-channellist-nav\"},[_c('form',{staticClass:\"u-form u-form--big kiwi-channellist-search\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.search),expression:\"search\"}],staticClass:\"u-input\",attrs:{\"placeholder\":_vm.$t('do_search')},domProps:{\"value\":(_vm.search)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.search=$event.target.value}}}),_c('a',{staticClass:\"u-button kiwi-channellist-refresh\",class:{\n 'u-button-primary': !_vm.isLoading,\n 'u-button-secondary': _vm.isLoading,\n },on:{\"click\":_vm.maybeUpdateList}},[(!_vm.isLoading)?_c('i',{staticClass:\"fa fa-refresh\",attrs:{\"aria-hidden\":\"true\"}}):_c('i',{staticClass:\"fa fa-refresh fa-spin\",attrs:{\"aria-hidden\":\"true\"}})])]),(_vm.list.length)?_c('div',{staticClass:\"kiwi-channellist-pagination\"},[_c('a',{on:{\"click\":_vm.prevPage}},[_c('i',{staticClass:\"fa fa-step-backward\",attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"+_vm._s(_vm.page + 1)+\" / \"+_vm._s(_vm.maxPages + 1)+\" \"),_c('a',{on:{\"click\":_vm.nextPage}},[_c('i',{staticClass:\"fa fa-step-forward\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e()]),_c('div',{staticClass:\"kiwi-channellist-table\"},[(!_vm.isLoading && !_vm.noResults)?_c('table',{key:_vm.last_updated,attrs:{\"width\":\"100%\"}},[_c('tbody',_vm._l((_vm.paginated),function(channel){return _c('tr',{key:channel.channel},[_c('td',{staticClass:\"kiwi-channellist-user-center\"},[(channel.num_users >= 0)?_c('span',{staticClass:\"kiwi-channellist-users\"},[_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(channel.num_users)+\" \")]):_vm._e()]),_c('td',[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.joinChannel(channel.channel)}}},[_vm._v(\" \"+_vm._s(channel.channel)+\" \")])]),_c('td',{staticClass:\"kiwi-channellist-table-topic\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formatAndTrimTopic(channel.topic))}})]),_c('td',{staticClass:\"kiwi-channellist-user-center\"},[_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":function($event){return _vm.joinChannel(channel.channel)}}},[_vm._v(\" \"+_vm._s(_vm.$t('container_join'))+\" \")])])])}),0)]):(_vm.noResults)?_c('div',{staticClass:\"kiwi-channellist-info\"},[_c('p',[_vm._v(_vm._s(_vm.$t('channel_list_nonefound')))])]):_c('div',{staticClass:\"kiwi-channellist-info\"},[_vm._v(_vm._s(_vm.$t('channel_list_fetch')))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=style&index=0&lang=less&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _localesList = _interopRequireDefault(require(\"@/res/localesList\"));\n\nvar _SettingsAliases = _interopRequireDefault(require(\"./SettingsAliases\"));\n\nvar _SettingsAdvanced = _interopRequireDefault(require(\"./SettingsAdvanced\"));\n\n/**\n * Returns an object for a vuejs computated property on a state settings value\n * This allows default settings from the server config, but overrides with user config\n */\nfunction bindSetting(settingName) {\n return {\n get: function settingGetter() {\n return this.$state.setting(settingName);\n },\n set: function settingSetter(newVal) {\n this.$state.setting(settingName, newVal);\n }\n };\n}\n\nvar _default = {\n components: {\n SettingsAliases: _SettingsAliases.default,\n SettingsAdvanced: _SettingsAdvanced.default\n },\n data: function data() {\n return {\n theme: '',\n customThemeUrl: '',\n pluginUiElements: _GlobalApi.default.singleton().appSettingsPlugins,\n localesList: _localesList.default\n };\n },\n computed: {\n themeSupportsMonospace: function themeSupportsMonospace() {\n var themeMgr = _ThemeManager.default.instance();\n\n var val = themeMgr.themeVar('supports-monospace');\n return val === '1';\n },\n canRegisterProtocolHandler: function canRegisterProtocolHandler() {\n return !!navigator.registerProtocolHandler && this.$state.setting('allowRegisterProtocolHandler');\n },\n timestamps_24h: {\n get: function get24Timestamps() {\n // %H is 24 hour format\n return this.$state.setting('buffers.timestamp_format').substr(0, 2) === '%H';\n },\n set: function set24Timestamps(newVal) {\n var newFormat = newVal ? '%H:%M:%S' : '%l:%M:%S %p';\n this.$state.setting('buffers.timestamp_format', newFormat);\n }\n },\n settings: function getSettings() {\n return this.$state.settings;\n },\n settingShowAutoComplete: bindSetting('showAutocomplete'),\n settingUseMonospace: bindSetting('useMonospace'),\n settingHighlights: bindSetting('highlights'),\n settingBufferColourNicknames: bindSetting('buffers.colour_nicknames_in_messages'),\n settingBufferShowTimestamps: bindSetting('buffers.show_timestamps'),\n settingBufferShowEmoticons: bindSetting('buffers.show_emoticons'),\n settingBufferBlockPms: bindSetting('buffers.block_pms'),\n settingBufferScrollbackSize: bindSetting('buffers.scrollback_size'),\n settingBufferExtraFormatting: bindSetting('buffers.extra_formatting'),\n settingBufferTrafficAsActivity: bindSetting('buffers.traffic_as_activity'),\n settingBufferMuteSound: bindSetting('buffers.mute_sound'),\n settingBufferShareTyping: bindSetting('buffers.share_typing'),\n settingBufferInlineLinkPreviews: bindSetting('buffers.inline_link_auto_previews'),\n settingDefaultBanMask: bindSetting('buffers.default_ban_mask'),\n settingDefaultKickReason: bindSetting('buffers.default_kick_reason'),\n settingAdvancedEnable: {\n get: function getSettingShowAdvancedTab() {\n return this.$state.ui.show_advanced_tab;\n },\n set: function setSettingShowAdvancedTab(newVal) {\n this.$state.ui.show_advanced_tab = newVal;\n }\n },\n settingLanguage: {\n get: function getSettingLanguage() {\n return this.$state.setting('language') || '';\n },\n set: function setSettingLanguage(newVal) {\n this.$state.setting('language', newVal || null);\n }\n },\n messageLayouts: function messageLayouts() {\n return {\n traditional: 'compact',\n modern: 'modern',\n inline: 'inline'\n };\n },\n settingMessageLayout: {\n set: function setSettingMessageLayout(newVal) {\n var l = this.messageLayouts;\n this.$state.setting('buffers.messageLayout', l[newVal] || l.modern);\n },\n get: function get() {\n var s = this.$state.setting('buffers.messageLayout');\n\n var l = _lodash.default.invert(this.messageLayouts);\n\n return l[s];\n }\n }\n },\n created: function created() {\n this.listenForThemeSettings();\n },\n methods: {\n closeSettings: function closeSettings() {\n this.$state.$emit('active.component');\n },\n refreshTheme: function refreshTheme() {\n _ThemeManager.default.instance().reload();\n },\n listenForThemeSettings: function listenForThemeSettings() {\n var _this = this;\n\n var themeMgr = _ThemeManager.default.instance();\n\n var watches = []; // Called when the current theme changes (including url refreshes)\n\n var updateFn = function updateFn() {\n var theme = themeMgr.currentTheme();\n _this.theme = theme.name;\n _this.customThemeUrl = theme.name === 'custom' ? theme.url : '';\n };\n\n var watchTheme = function watchTheme(newVal) {\n themeMgr.setTheme(newVal);\n };\n\n var watchCustomThemeUrl = function watchCustomThemeUrl(newVal) {\n if (themeMgr.currentTheme().name === 'custom') {\n themeMgr.setCustomThemeUrl(newVal);\n }\n }; // Remove all our attached events to cleanup\n\n\n var teardownFn = function teardownFn() {\n _this.$state.$off('theme.change', updateFn);\n\n (0, _forEach.default)(watches).call(watches, function (unwatchFn) {\n return unwatchFn();\n });\n\n _this.$off('hook:destroy', teardownFn);\n }; // Update our info with the latest theme settings before we start\n // listening for changes\n\n\n updateFn();\n this.$state.$on('theme.change', updateFn);\n this.$once('hook:destroyed', teardownFn); // $watch returns a function to stop watching the data field. Add them into\n // an array to make it easier to iterate over them all and unwatch them all\n // when needed.\n\n watches = [this.$watch('theme', watchTheme), this.$watch('customThemeUrl', watchCustomThemeUrl)];\n },\n enableAdvancedTab: function enableAdvancedTab() {\n var _this2 = this;\n\n this.settingAdvancedEnable = true;\n this.$nextTick(function () {\n _this2.$refs.tabs.setActiveByName('advanced');\n\n _this2.$el.scrollTop = 0;\n });\n },\n makeDefaultProtocolHandler: function makeDefaultProtocolHandler() {\n navigator.registerProtocolHandler('irc', document.location.origin + document.location.pathname + '#%s', 'Kiwi IRC');\n navigator.registerProtocolHandler('ircs', document.location.origin + document.location.pathname + '#%s', 'Kiwi IRC');\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"AppSettings\"]\r\nwindow._kiwi_exports.components.AppSettings = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UrlEmbed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UrlEmbed.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=script&lang=js&\"","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.get = get;\nexports.set = set;\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar supportedCached = null;\n\nfunction get(name) {\n if (!isSupported()) {\n return _promise.default.resolve();\n }\n\n return new _promise.default(function (resolve) {\n resolve(window.localStorage.getItem(name));\n });\n}\n\nfunction set(name, val) {\n if (!isSupported()) {\n return _promise.default.resolve();\n }\n\n return new _promise.default(function (resolve) {\n resolve(window.localStorage.setItem(name, val));\n });\n}\n\nfunction isSupported() {\n if (supportedCached === null) {\n supportedCached = storageAvailable('localStorage');\n }\n\n return supportedCached;\n} // https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#Testing_for_availability\n\n\nfunction storageAvailable(type) {\n var storage;\n\n try {\n var x = '__storage_test__';\n storage = window[type];\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n } catch (e) {\n return e instanceof DOMException && ( // everything except Firefox\n e.code === 22 || // Firefox\n e.code === 1014 || // test name field too, because code might not be present\n // everything except Firefox\n e.name === 'QuotaExceededError' || // Firefox\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && // acknowledge QuotaExceededError only if there's something already stored\n storage.length !== 0;\n }\n}","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n data: function data() {\n return {\n logo: '',\n c: '',\n x: '',\n Y: [],\n t: 0,\n fontSize: 72,\n font: 'bold ' + 72 + 'px verdana',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eu arcu ipsum. ',\n animationFrame: null,\n destroying: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.logo = this.$el.querySelector('.kiwi-loading-logo');\n this.c = this.$el.querySelector('.kiwi-loading-animation');\n this.x = this.c.getContext('2d');\n var tmpText = '';\n\n for (var i = 0; i < 9; i += 1) {\n tmpText += this.text;\n }\n\n this.text = String(tmpText).match(/.{1,43}/g);\n this.c.width = 1256;\n this.c.height = 1080;\n\n for (var _i = 0; _i < this.text.length; _i += 1) {\n this.Y.push(_i * this.fontSize - 1600);\n }\n\n this.logo.onload = function () {\n if (_this.destroying) {\n // the component has already been destroyed, we nolonger need the animation\n return;\n }\n\n _this.draw();\n };\n },\n beforeDestroy: function beforeDestroy() {\n this.destroying = true;\n cancelAnimationFrame(this.animationFrame);\n },\n methods: {\n draw: function draw() {\n this.x.clearRect(0, 0, this.c.width, this.c.height);\n this.x.globalCompositeOperation = 'source-over';\n this.x.drawImage(this.logo, 0, 0, this.c.width, this.c.height);\n this.x.globalCompositeOperation = 'xor';\n this.x.fillStyle = '#000';\n this.x.font = this.font;\n\n for (var i = 0; i < this.text.length; i += 1) {\n if (this.t % 4.5 < 2) {\n this.Y[i] += (250 + (10 + i) / this.text.length * 4000) / 120;\n\n if (this.Y[i] > i * this.fontSize) {\n this.Y[i] = i * this.fontSize;\n }\n } else {\n if (this.text.length - (this.t % 4.5 - 2) / 2.5 * this.text.length * 1.75 < i) {\n this.Y[i] += 10 + this.Y[i] / 20;\n }\n\n if (this.Y[i] > 1080 || this.Y[i] < 0) {\n this.Y[i] = -1500 + i * this.fontSize;\n }\n }\n\n if (this.Y[i] > -100) {\n this.x.fillText(this.text[i], 0, this.fontSize + this.Y[i]);\n }\n }\n\n this.x.globalCompositeOperation = 'source-out';\n this.x.drawImage(this.logo, 0, 0, this.c.width, this.c.height);\n this.x.globalCompositeOperation = 'source-over';\n this.x.globalAlpha = 0.1;\n this.x.drawImage(this.logo, 0, 0, this.c.width, this.c.height);\n this.x.globalAlpha = 1;\n this.animationFrame = requestAnimationFrame(this.draw);\n this.t += 1 / 40;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"LoadingAnimation\"]\r\nwindow._kiwi_exports.components.LoadingAnimation = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n'kiwi public'; // Do channels support half-op mode\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.supportsHalfOp = supportsHalfOp;\nexports.isAChannelModeAdmin = isAChannelModeAdmin;\nexports.isQChannelModeOwner = isQChannelModeOwner;\nexports.extbanAccount = extbanAccount;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nfunction supportsHalfOp(network) {\n var ircdType = network.ircd.toLowerCase();\n var notSupported = ['ircd-seven', 'charybdis'];\n\n for (var i = 0; i < notSupported.length; i++) {\n if ((0, _indexOf.default)(ircdType).call(ircdType, notSupported[i]) > -1) {\n return false;\n }\n }\n\n return true;\n} // Does channel mode +a = admin\n\n\nfunction isAChannelModeAdmin(network) {\n var ircdType = network.ircd.toLowerCase();\n var notAdmin = ['ircd-seven', 'charybdis'];\n\n for (var i = 0; i < notAdmin.length; i++) {\n if ((0, _indexOf.default)(ircdType).call(ircdType, notAdmin[i]) > -1) {\n return false;\n }\n }\n\n return true;\n} // Does channel mode +q = owner\n\n\nfunction isQChannelModeOwner(network) {\n var ircdType = network.ircd.toLowerCase();\n var notOwner = ['ircd-seven', 'charybdis'];\n\n for (var i = 0; i < notOwner.length; i++) {\n if ((0, _indexOf.default)(ircdType).call(ircdType, notOwner[i]) > -1) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction extbanAccount(network) {\n // Eg. InspIRCd-2.0\n // Eg. UnrealIRCd-4.0.17\n // Eg. ircd-seven-1.1.7\n // Eg. u2.10.12.10+snircd(1.3.4a)\n var ircdType = network.ircd.toLowerCase(); // Eg. ~,qjncrRa\n // Eg. ,qjncrRa\n\n var extban = network.ircClient.network.supports('EXTBAN') || '';\n\n if (!extban) {\n return '';\n }\n\n var prefix = extban.split(',')[0];\n var type = 'a'; // https://docs.inspircd.org/3/modules/services_account/#extended-bans\n\n if ((0, _indexOf.default)(ircdType).call(ircdType, 'inspircd') > -1) {\n type = 'R';\n }\n\n return prefix + type;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"IrcdDiffs\"]\r\nwindow._kiwi_exports.helpers.IrcdDiffs = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./IrcInput.vue?vue&type=template&id=88f3ca5a&\"\nimport script from \"./IrcInput.vue?vue&type=script&lang=js&\"\nexport * from \"./IrcInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IrcInput.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-bufferkey kiwi-warning-block\"},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.joinChannel($event)}}},[_c('label',[_vm._v(_vm._s(_vm.$t('bufferkey_input')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.buffer.key),expression:\"buffer.key\"},{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.buffer.key)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.buffer, \"key\", $event.target.value)}}}),_c('div',{staticClass:\"kiwi-bufferkey-buttons\"},[_c('span',{staticClass:\"kiwi-bufferkey-button\",on:{\"click\":_vm.joinChannel}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('bufferkey_rejoin', {channel: _vm.buffer.name}))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"","var render = function (_h,_vm) {\nvar _obj;\nvar _c=_vm._c;return (_vm.props.user && _vm.$options.m.status(_vm.props) !== '')?_c('span',{staticClass:\"kiwi-typingstatusindicator kiwi-typing\",class:( _obj = {\n 'kiwi-typingstatusindicator--paused': _vm.$options.m.status(_vm.props) === 'paused'\n }, _obj[_vm.data.staticClass] = true, _obj )}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./MessageListAvatar.vue?vue&type=template&id=482f7543&functional=true&\"\nimport script from \"./MessageListAvatar.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListAvatar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('input-confirm', {\n props: ['label', 'flipConnotation'],\n data: function data() {\n return {\n state: 'pre'\n };\n },\n computed: {\n connoteCss: function connoteCss() {\n return {\n yes: this.flipConnotation ? 'warning' : 'primary',\n no: this.flipConnotation ? 'primary' : 'warning'\n };\n }\n },\n created: function created() {\n if (!this.$slots.default) {\n this.state = 'prompt';\n }\n },\n methods: {\n prompt: function prompt() {\n this.state = 'prompt';\n },\n complete: function complete(val) {\n this.$emit('submit', val);\n this.$emit(val ? 'ok' : 'cancel');\n this.state = 'pre';\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"InputConfirm\"]\r\nwindow._kiwi_exports.components.utils.InputConfirm = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=130392b4&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Welcome.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./AppSettings.vue?vue&type=template&id=8f888884&\"\nimport script from \"./AppSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./AppSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppSettings.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-aboutbuffer\"},[_c('h3',[_vm._v(_vm._s(_vm.b.name))]),_c('div',{staticClass:\"kiwi-aboutbuffer-section\",class:{'kiwi-aboutbuffer-section--closed': _vm.closedSections.about}},[_c('h4',{on:{\"click\":function($event){return _vm.toggleSection('about')}}},[_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"+_vm._s(_vm.$t('about'))+\" \")]),_c('div',[(_vm.b.topic)?_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.formattedTopic)}}):_c('p',[_vm._v(_vm._s(_vm.$t('no_topic_set')))]),(_vm.b.created_at)?_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('created_at', { when: new Intl.DateTimeFormat().format(_vm.b.created_at) }))+\" \")]):_vm._e(),_c('p',{staticClass:\"kiwi-aboutbuffer-usercount\"},[_c('a',{staticClass:\"u-link \",on:{\"click\":function($event){return _vm.sidebarState.showNicklist()}}},[_vm._v(\" \"+_vm._s(_vm.$t('person', {count: Object.keys(_vm.b.users || {}).length}))+\" \")])])])]),_c('div',{staticClass:\"kiwi-aboutbuffer-section\",class:{'kiwi-aboutbuffer-section--closed': _vm.closedSections.highlights}},[_c('h4',{on:{\"click\":function($event){return _vm.toggleSection('highlights')}}},[_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"+_vm._s(_vm.$t('highlights'))+\" \")]),_c('div',[(_vm.highlights.length > 0)?_c('ul',_vm._l((_vm.highlights),function(msg){return _c('li',{key:msg.id,staticClass:\"kiwi-aboutbuffer-highlight\",on:{\"click\":function($event){return _vm.buffer.scrollToMessage(msg.id)}}},[_vm._v(\" \"+_vm._s(msg.nick ? msg.nick + ': ' : '')),_c('span',{domProps:{\"innerHTML\":_vm._s(msg.html)}})])}),0):_c('p',[_vm._v(_vm._s(_vm.$t('nobody_mentioned_you')))])])]),_vm._l((_vm.pluginUiSections),function(plugin){return _c('div',{key:plugin.id,staticClass:\"kiwi-aboutbuffer-section\",class:{'kiwi-aboutbuffer-section--closed': _vm.closedSections[plugin.id]}},[_c('h4',{on:{\"click\":function($event){return _vm.toggleSection(plugin.id)}}},[_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"+_vm._s(plugin.args.title)+\" \")]),_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:({\n el: plugin.el,\n props: {\n kiwi: {\n buffer: _vm.buffer,\n aboutbuffer: _vm.self,\n }\n }\n }),expression:\"{\\n el: plugin.el,\\n props: {\\n kiwi: {\\n buffer: buffer,\\n aboutbuffer: self,\\n }\\n }\\n }\"}]})])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _xhr = _interopRequireDefault(require(\"xhr\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _json = _interopRequireDefault(require(\"json5\"));\n\nvar _Logger = _interopRequireDefault(require(\"./Logger\"));\n\nvar log = _Logger.default.namespace('ConfigLoader');\n\nvar ConfigLoader = /*#__PURE__*/function () {\n function ConfigLoader() {\n (0, _classCallCheck2.default)(this, ConfigLoader);\n this.config = (0, _create.default)(null);\n this.valReplacements = (0, _create.default)(null);\n }\n\n (0, _createClass2.default)(ConfigLoader, [{\n key: \"addValueReplacement\",\n value: function addValueReplacement(key, value) {\n this.valReplacements[key] = value;\n return this;\n }\n }, {\n key: \"loadFromUrl\",\n value: function loadFromUrl(configUrl) {\n var _this = this;\n\n return new _promise.default(function (resolve, reject) {\n (0, _xhr.default)({\n url: configUrl\n }, function (err, response) {\n if (err) {\n reject();\n return;\n }\n\n var configObj = null;\n\n try {\n configObj = _json.default.parse(response.body);\n } catch (parseErr) {\n log.error('Config ' + parseErr.message);\n var errMsg = 'Config file error: ' + parseErr.message.replace('JSON5: ', ''); // Convert \"at 22:16\" to \"at line 22, position 16\"\n\n /* eslint-disable arrow-body-style */\n\n errMsg = errMsg.replace(/at (\\d+):(\\d+)/g, function (m, m1, m2) {\n var _context;\n\n return (0, _concat.default)(_context = \"line \".concat(m1, \", position \")).call(_context, m2);\n });\n reject(errMsg);\n return;\n }\n\n _this.setConfig(configObj);\n\n resolve(_this.config);\n });\n });\n }\n }, {\n key: \"loadFromObj\",\n value: function loadFromObj(configObj) {\n var _this2 = this;\n\n return new _promise.default(function (resolve, reject) {\n _this2.setConfig(configObj);\n\n resolve(_this2.config);\n });\n }\n }, {\n key: \"setConfig\",\n value: function setConfig(confObj) {\n var _this3 = this;\n\n var walkObject = function walkObject(obj, target) {\n _lodash.default.each(obj, function (_val, key) {\n var val = _val;\n\n if (typeof val === 'string') {\n val = _this3.insertReplacements(val);\n target[key] = val;\n } else if ((0, _typeof2.default)(val) === 'object') {\n target[key] = _lodash.default.isArray(val) ? [] : {};\n walkObject(val, target[key]);\n } else {\n target[key] = val;\n }\n });\n };\n\n this.config = (0, _create.default)(null);\n walkObject(confObj, this.config);\n }\n }, {\n key: \"insertReplacements\",\n value: function insertReplacements(input) {\n var out = input;\n var keys = (0, _keys.default)(this.valReplacements);\n\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i];\n\n if (input === '{{' + k + '}}') {\n // If we have an exact match, return the exact replacement value we have as\n // it may not be a string\n return this.valReplacements[k];\n }\n\n out = out.replace('{{' + k + '}}', this.valReplacements[k]);\n }\n\n return out;\n }\n }]);\n return ConfigLoader;\n}();\n\nexports.default = ConfigLoader;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ConfigLoader\"]\r\nwindow._kiwi_exports.libs.ConfigLoader = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _default = {\n props: ['filter', 'buffer', 'items'],\n data: function data() {\n return {\n items_: [{\n text: 'anick1',\n type: 'user'\n }, {\n text: 'anick2',\n type: 'user'\n }, {\n text: 'bnick3',\n type: 'user'\n }, {\n text: 'cnick4'\n }, {\n text: 'dnick5'\n }],\n selected_idx: 0\n };\n },\n computed: {\n filteredItems: function filteredItems() {\n var _context, _context2;\n\n var filterVal = ((0, _filter.default)(this) || '').toLowerCase();\n return (0, _sort.default)(_context = (0, _filter.default)(_context2 = (0, _lodash.default)(this.items)).call(_context2, function (item) {\n var _context3, _context4;\n\n var s = false;\n\n if ((0, _indexOf.default)(_context3 = item.text.toLowerCase()).call(_context3, filterVal) === 0) {\n s = true;\n }\n\n (0, _forEach.default)(_context4 = item.alias || []).call(_context4, function (alias) {\n var _context5;\n\n if ((0, _indexOf.default)(_context5 = alias.toLowerCase()).call(_context5, filterVal) === 0) {\n s = true;\n }\n });\n return s;\n })).call(_context, function (a, b) {\n return a.text.localeCompare(b.text);\n }).value();\n },\n filteredAndLimitedItems: function filteredAndLimitedItems() {\n var _context6,\n _this = this;\n\n return (0, _filter.default)(_context6 = this.filteredItems).call(_context6, function (item, itemIdx, items) {\n var numItems = items.length - 1;\n var idxFrom = _this.selected_idx - 3;\n var idxTo = _this.selected_idx + 3;\n var isInRange = false; // Adjust the number of items before and after the selected item\n // when we reach either end of the list.\n // If we don't do this then this:\n // * Item 1\n // * item 2\n // * Item 3\n // * Item 4\n // * Item 5 < selected\n // Can turn into this:\n // * Item 4\n // * Item 5 < selected\n\n if (idxFrom < 0) {\n idxTo += -idxFrom;\n idxFrom = 0;\n } else if (idxTo > numItems) {\n idxFrom -= idxTo - numItems;\n idxTo = numItems;\n }\n\n if (itemIdx >= idxFrom && itemIdx <= idxTo) {\n isInRange = true;\n } // Keep track of the pre-limited index for item selection\n\n\n item.idx = itemIdx;\n return isInRange;\n });\n },\n selectedItem: function selectedItem() {\n var item = this.filteredItems[this.selected_idx];\n return item || null;\n }\n },\n watch: {\n selected_idx: function watchSelectedIdx() {\n var _this2 = this;\n\n // nextTick() as the DOM hasn't updated yet\n this.$nextTick(function () {\n var el = _this2.$el.querySelector('.kiwi-autocomplete-item--selected');\n\n if (!el) {\n return;\n }\n\n _this2.$el.scrollTop = el.offsetTop - el.getBoundingClientRect().height * 2;\n });\n this.tempCurrentItem();\n },\n filter: function watchFilter() {\n var numItems = this.filteredAndLimitedItems.length - 1;\n\n if (this.selected_idx > numItems) {\n this.selected_idx = numItems;\n }\n }\n },\n mounted: function mounted() {\n this.tempCurrentItem();\n },\n methods: {\n handleOnKeyDown: function handleOnKeyDown(event) {\n var handled = false;\n var cancelKeyCodes = [13, // return\n 32, // space\n 186, // semi-colon\n 188, // comma\n 190 // period\n ];\n\n if ((0, _indexOf.default)(cancelKeyCodes).call(cancelKeyCodes, event.keyCode) > -1) {\n // If no item is selected (ie. on an empty list), leave the return key\n // to do its default action as if the autocomplete box isn't active.\n if (!this.selectedItem) {\n this.cancel();\n } else {\n this.selectCurrentItem();\n\n if (event.keyCode === 13) {\n event.preventDefault();\n }\n\n handled = true;\n }\n } else if (event.keyCode === 38 || event.keyCode === 9 && event.shiftKey) {\n // Up or tab + shift\n if (this.selected_idx > 0) {\n this.selected_idx--;\n } else {\n // Wrap around to the end\n this.selected_idx = this.filteredItems.length - 1;\n }\n\n event.preventDefault();\n handled = true;\n } else if (event.keyCode === 40 && !event.altKey || event.keyCode === 9) {\n // Down or tab\n if (this.selected_idx < this.filteredItems.length - 1) {\n this.selected_idx++;\n } else {\n // Wrap around to the start\n this.selected_idx = 0;\n }\n\n event.preventDefault();\n handled = true;\n } else if (event.keyCode === 16) {\n handled = true;\n }\n\n return handled;\n },\n openQuery: function openQuery(nick) {\n var buffer = this.$state.addBuffer(this.buffer.networkid, nick);\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n this.cancel();\n },\n tempCurrentItem: function tempCurrentItem() {\n var item = this.selectedItem;\n\n if (!item) {\n return;\n }\n\n this.$emit('temp', item.value || item.text, item);\n },\n selectCurrentItem: function selectCurrentItem() {\n var item = this.selectedItem;\n var value = '';\n\n if (item) {\n value = item.value || item.text;\n }\n\n this.$emit('selected', value, item);\n },\n cancel: function cancel() {\n this.$emit('cancel');\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"AutoComplete\"]\r\nwindow._kiwi_exports.components.AutoComplete = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./TabbedView.vue?vue&type=template&id=6c7be4c1&\"\nimport script from \"./TabbedView.vue?vue&type=script&lang=js&\"\nexport * from \"./TabbedView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TabbedView.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _lastIndexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/last-index-of\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _BouncerProvider = _interopRequireDefault(require(\"@/libs/BouncerProvider\"));\n\nvar _Captcha = _interopRequireDefault(require(\"@/components/Captcha\"));\n\nvar _CommonLayout = _interopRequireDefault(require(\"./CommonLayout\"));\n\nvar log = _Logger.default.namespace('Welcome.vue');\n\nvar _default = {\n components: {\n Captcha: _Captcha.default,\n StartupLayout: _CommonLayout.default\n },\n data: function data() {\n return {\n errorMessage: '',\n network: null,\n channel: '',\n nick: '',\n password: '',\n showChannel: true,\n showPass: true,\n toggablePass: true,\n showNick: true,\n show_password_box: false,\n connectWithoutChannel: false,\n showPlainText: false,\n captchaReady: false\n };\n },\n computed: {\n startupOptions: function startupOptions() {\n return this.$state.settings.startupOptions;\n },\n greetingText: function greetingText() {\n var greeting = this.$state.settings.startupOptions.greetingText;\n return typeof greeting === 'string' ? greeting : this.$t('start_greeting');\n },\n footerText: function footerText() {\n var footer = this.$state.settings.startupOptions.footerText;\n return typeof footer === 'string' ? footer : '';\n },\n buttonText: function buttonText() {\n var greeting = this.$state.settings.startupOptions.buttonText;\n return typeof greeting === 'string' ? greeting : this.$t('start_button');\n },\n isNickValid: function isNickValid() {\n var nickPatternStr = this.$state.setting('startupOptions.nick_format');\n var nickPattern = '';\n\n if (!nickPatternStr) {\n // Nicks cannot start with [0-9- ]\n // ? is not a valid nick character but we allow it as it gets replaced\n // with a number.\n nickPattern = /^[a-z_\\\\[\\]{}^`|][a-z0-9_\\-\\\\[\\]{}^`|]*$/i;\n } else {\n // Support custom pattern matches. Eg. only '@example.com' may be allowed\n // on some IRCDs\n var pattern = '';\n var flags = '';\n\n if (nickPatternStr[0] === '/') {\n // Custom regex\n var pos = (0, _lastIndexOf.default)(nickPatternStr).call(nickPatternStr, '/');\n pattern = nickPatternStr.substring(1, pos);\n flags = nickPatternStr.substr(pos + 1);\n } else {\n // Basic contains rule\n pattern = _lodash.default.escapeRegExp(nickPatternStr);\n flags = 'i';\n }\n\n try {\n nickPattern = new RegExp(pattern, flags);\n } catch (error) {\n log.error('Nick format error: ' + error.message);\n return false;\n }\n }\n\n return this.nick.match(nickPattern);\n },\n readyToStart: function readyToStart() {\n var ready = !!this.nick;\n\n if (!this.connectWithoutChannel && !this.channel) {\n ready = false;\n } // Make sure the channel name starts with a common channel prefix\n\n\n if (!this.connectWithoutChannel) {\n var bufferObjs = Misc.extractBuffers(this.channel);\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj) {\n var _context;\n\n if ((0, _indexOf.default)(_context = '#&').call(_context, bufferObj.name[0]) === -1) {\n ready = false;\n }\n });\n } // If toggling the password is is disabled, assume it is required\n\n\n if (!this.toggablePass && !this.password) {\n ready = false;\n }\n\n if (!this.isNickValid) {\n ready = false;\n }\n\n return ready;\n }\n },\n watch: {\n show_password_box: function show_password_box(newVal) {\n if (newVal === false) {\n // clear the password when show password is unchecked\n this.password = '';\n }\n }\n },\n created: function created() {\n var _context2;\n\n var options = this.startupOptions;\n var connectOptions = this.connectOptions(); // Take some settings from a previous network if available\n\n var previousNet = null;\n\n if ((0, _trim.default)(_context2 = connectOptions.hostname).call(_context2)) {\n var _context3;\n\n previousNet = this.$state.getNetworkFromAddress((0, _trim.default)(_context3 = connectOptions.hostname).call(_context3));\n }\n\n if (previousNet && previousNet.connection.nick) {\n this.nick = previousNet.connection.nick;\n } else if (Misc.queryStringVal('nick')) {\n this.nick = Misc.queryStringVal('nick');\n } else {\n this.nick = options.nick;\n }\n\n this.nick = this.processNickRandomNumber(this.nick || '');\n\n if (options.password) {\n this.password = options.password;\n } else if (previousNet && previousNet.password) {\n this.password = previousNet.password;\n this.show_password_box = true;\n } else {\n this.password = '';\n }\n\n if (this.$state.checkPassword()) {\n this.$state.registerMounted(); // eslint-disable-next-line no-unused-expressions\n\n this.registeredFlag = false;\n }\n\n this.channel = decodeURIComponent(window.location.hash) || options.channel || '';\n this.showChannel = typeof options.showChannel === 'boolean' ? options.showChannel : true;\n this.showNick = typeof options.showNick === 'boolean' ? options.showNick : true;\n this.showPass = typeof options.showPassword === 'boolean' ? options.showPassword : true;\n this.toggablePass = typeof options.toggablePassword === 'boolean' ? options.toggablePassword : true;\n this.connectWithoutChannel = !!options.allowNoChannel;\n\n if (options.bouncer) {\n this.toggablePass = false;\n this.showPass = true;\n this.showChannel = false;\n this.connectWithoutChannel = true;\n var bouncer = new _BouncerProvider.default(this.$state);\n bouncer.enable(connectOptions.hostname, connectOptions.port, connectOptions.tls, connectOptions.direct, connectOptions.direct_path);\n }\n\n if (options.autoConnect && this.nick && (this.channel || this.connectWithoutChannel)) {\n this.startUp();\n }\n },\n methods: {\n onAltClose: function onAltClose(event) {\n if (event.channel) {\n this.channel = event.channel;\n }\n\n if (event.nick) {\n this.nick = event.nick;\n }\n\n if (event.password) {\n this.password = event.password;\n }\n\n if (event.error) {\n this.errorMessage = event.error;\n }\n\n this.$state.settings.startupOptions.altComponent = null;\n },\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n formSubmit: function formSubmit() {\n if (this.readyToStart) {\n this.startUp();\n }\n },\n startUp: function startUp() {\n var _this = this;\n\n this.errorMessage = '';\n var options = (0, _assign.default)({}, this.$state.settings.startupOptions);\n var connectOptions = this.connectOptions();\n var netAddress = (0, _trim.default)(_lodash.default).call(_lodash.default, connectOptions.hostname); // Check if we have this network already\n\n var net = this.network || this.$state.getNetworkFromAddress(netAddress);\n var password = this.password; // If the network doesn't already exist, add a new one\n\n net = net || this.$state.addNetwork('Network', this.nick, {\n server: netAddress,\n port: connectOptions.port,\n tls: connectOptions.tls,\n password: password,\n encoding: (0, _trim.default)(_lodash.default).call(_lodash.default, options.encoding),\n direct: connectOptions.direct,\n path: connectOptions.direct_path || '',\n gecos: options.gecos,\n username: options.username\n }); // Clear the server buffer in case it already existed and contains messages relating to\n // the previous connection, such as errors. They are now redundant since this is a\n // new connection.\n\n net.serverBuffer().clearMessages(); // If we retreived an existing network, update the nick+password with what\n // the user has just put in place\n\n net.connection.nick = this.nick;\n\n if (options.bouncer) {\n var _context4;\n\n // Bouncer mode uses server PASS\n net.connection.password = (0, _concat.default)(_context4 = \"\".concat(this.nick, \":\")).call(_context4, password);\n net.password = '';\n } else {\n net.connection.password = '';\n net.password = password;\n }\n\n if ((0, _trim.default)(_lodash.default).call(_lodash.default, options.encoding || '')) {\n net.connection.encoding = (0, _trim.default)(_lodash.default).call(_lodash.default, options.encoding);\n }\n\n this.network = net; // Only switch to the first channel we join if multiple are being joined\n\n var hasSwitchedActiveBuffer = false;\n var bufferObjs = Misc.extractBuffers(this.channel);\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj) {\n var newBuffer = _this.$state.addBuffer(net.id, bufferObj.name);\n\n newBuffer.enabled = true;\n\n if (newBuffer && !hasSwitchedActiveBuffer) {\n _this.$state.setActiveBuffer(net.id, newBuffer.name);\n\n hasSwitchedActiveBuffer = true;\n }\n\n if (bufferObj.key) {\n newBuffer.key = bufferObj.key;\n }\n }); // switch to server buffer if no channels are joined\n\n if (!options.bouncer && !hasSwitchedActiveBuffer) {\n this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n\n net.ircClient.connect();\n\n var onRegistered = function onRegistered() {\n if (_this.$refs.layout) {\n _this.$refs.layout.close();\n }\n\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n var onClosed = function onClosed() {\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n net.ircClient.once('registered', onRegistered);\n net.ircClient.once('close', onClosed);\n },\n processNickRandomNumber: function processNickRandomNumber(nick) {\n // Replace ? with a random number\n var tmp = (nick || '').replace(/\\?/g, function () {\n return Math.floor(Math.random() * 100).toString();\n });\n return (0, _trim.default)(_lodash.default).call(_lodash.default, tmp);\n },\n handleCaptcha: function handleCaptcha(isReady) {\n this.captchaReady = isReady;\n },\n connectOptions: function connectOptions() {\n var options = (0, _assign.default)({}, this.$state.settings.startupOptions);\n var connectOptions = Misc.connectionInfoFromConfig(options); // If a server isn't specified in the config, set some defaults\n // The webircgateway will have a default network set and will connect\n // there instead. This just removes the requirement of specifying the same\n // irc network address in both the server-side and client side configs\n\n connectOptions.hostname = connectOptions.hostname || 'default';\n\n if (!connectOptions.port && connectOptions.direct) {\n connectOptions.port = connectOptions.tls ? 443 : 80;\n } else if (!connectOptions.port && !connectOptions.direct) {\n connectOptions.port = connectOptions.tls ? 6697 : 6667;\n }\n\n return connectOptions;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"Welcome\"]\r\nwindow._kiwi_exports.components.startups.Welcome = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _default = {\n data: function data() {\n return {\n title: 'Where are you connecting today?',\n buttonText: '',\n server_type: 'default',\n server: '',\n tls: false,\n nick: '',\n password: '',\n encoding: 'utf8',\n channel: '',\n znc_network: '',\n znc_network_support: true,\n direct: false,\n direct_path: '',\n show_type_switcher: true,\n show_password_box: false,\n is_connecting: false,\n network: null\n };\n },\n created: function () {\n var _created = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var _this = this;\n\n var saveThisSessionsState, network, fragment, uriCheck, connections, con;\n return _regenerator.default.wrap(function _callee$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n saveThisSessionsState = false; // If we have networks from a previous state, launch directly into it\n\n if (this.$state.networks.length > 0) {\n network = this.$state.networks[0];\n this.$state.setActiveBuffer(network.id, network.serverBuffer().name);\n saveThisSessionsState = true;\n this.$emit('start');\n } else if (window.location.hash.substr(1)) {\n fragment = window.location.hash.substr(1); // Check to see if we're dealing with an encoded irc: uri (browsers do this\n // when clicking an IRC link)\n\n uriCheck = fragment.substr(0, 7).toLowerCase();\n\n if (uriCheck === 'ircs%3a' || uriCheck.substr(0, 6) === 'irc%3a') {\n fragment = decodeURIComponent(fragment);\n }\n\n connections = Misc.parseIrcUri(fragment); // If more than 1 connection string is given, skip the connection screen\n // and add them all right away.\n\n if (connections.length === 0) {\n saveThisSessionsState = true;\n this.applyDefaults();\n } else if (connections.length === 1) {\n saveThisSessionsState = false;\n this.server_type = 'default_simple';\n this.show_type_switcher = false;\n con = connections[0];\n this.server = con.server + ':' + con.port;\n this.tls = con.tls;\n this.nick = this.processNickRandomNumber(con.nick);\n this.channel = con.channels.join(',');\n this.direct = con.direct;\n this.encoding = con.encoding;\n\n if (con.params.type === 'znc') {\n // Older ZNC versions only support user:pass while newer supports\n // user/network:pass. Setting the network to _ denotes that we are\n // connecting to an older ZNC without network support.\n if (con.params.network === '_') {\n this.znc_network_support = false;\n } else {\n this.znc_network = con.params.network || '';\n }\n\n this.server_type = 'znc';\n this.title = 'Enter your password to connect to ZNC';\n } else {\n this.title = 'Enter a nickname to join';\n }\n } else if (connections.length > 1) {\n saveThisSessionsState = false;\n (0, _forEach.default)(connections).call(connections, function (con, idx) {\n var _context;\n\n var net = _this.$state.addNetwork(con.server, con.nick, {\n server: con.server,\n port: con.port,\n tls: con.tls,\n password: con.password || ''\n });\n\n (0, _forEach.default)(_context = con.channels).call(_context, function (channelName) {\n var buffer = _this.$state.addBuffer(net.id, channelName);\n\n buffer.enabled = true;\n }); // Set the first server buffer active\n\n if (idx === 0) {\n _this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n });\n this.$emit('start');\n }\n } else {\n saveThisSessionsState = true;\n this.applyDefaults();\n }\n\n if (this.$state.settings.startupOptions.greetingText) {\n this.title = this.$state.settings.startupOptions.greetingText;\n }\n\n if (this.$state.settings.startupOptions.buttonText) {\n this.buttonText = this.$state.settings.startupOptions.buttonText;\n } else {\n this.buttonText = this.$t('connect');\n }\n\n if (saveThisSessionsState) {\n this.$state.persistence.watchStateForChanges();\n }\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee, this);\n }));\n\n function created() {\n return _created.apply(this, arguments);\n }\n\n return created;\n }(),\n methods: {\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n startUp: function startUp() {\n var _this2 = this;\n\n var net;\n\n if (!this.nick) {\n this.$el.querySelector('.kiwi-customserver-nick input').focus();\n return;\n }\n\n var nick = this.nick;\n\n if (this.server_type === 'znc') {\n // Older ZNC versions only support user:pass while newer supports user/network:pass\n var password = nick;\n\n if (this.znc_network) {\n password += '/' + this.znc_network;\n }\n\n password += ':' + this.password;\n net = this.$state.addNetwork('ZNC', 'ZNC', {\n server: this.server.split(':')[0],\n port: (0, _parseInt2.default)(this.server.split(':')[1] || 6667, 10),\n tls: this.tls,\n password: password\n });\n } else {\n net = this.$state.addNetwork('Network', nick, {\n server: this.server.split(':')[0],\n port: (0, _parseInt2.default)(this.server.split(':')[1] || 6667, 10),\n tls: this.tls,\n password: this.password,\n direct: this.direct,\n path: this.direct_path,\n encoding: this.encoding\n });\n }\n\n if (net) {\n var hasSetActiveBuffer = false;\n var bufferObjs = Misc.extractBuffers(this.channel);\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj, idx) {\n var buffer = _this2.$state.addBuffer(net.id, bufferObj.name);\n\n buffer.enabled = true;\n\n if (bufferObj.key) {\n buffer.key = bufferObj.key;\n }\n\n if (idx === 0) {\n _this2.$state.setActiveBuffer(net.id, buffer.name);\n\n hasSetActiveBuffer = true;\n }\n });\n\n if (!hasSetActiveBuffer) {\n this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n\n this.is_connecting = true;\n this.network = net;\n net.ircClient.connect();\n\n var onRegistered = function onRegistered() {\n (0, _setTimeout2.default)(function () {\n _this2.is_connecting = false;\n }, 1000);\n\n _this2.$emit('start');\n\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n var onClosed = function onClosed() {\n (0, _setTimeout2.default)(function () {\n _this2.is_connecting = false;\n }, 1000);\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n net.ircClient.once('registered', onRegistered);\n net.ircClient.once('close', onClosed);\n }\n },\n processNickRandomNumber: function processNickRandomNumber(nick) {\n // Replace ? with a random number\n var tmp = (nick || '').replace(/\\?/g, function () {\n return Math.floor(Math.random() * 100).toString();\n });\n return (0, _trim.default)(_lodash.default).call(_lodash.default, tmp);\n },\n infoClick: function infoClick() {\n if (this.network) {\n var net = this.network;\n this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n\n this.$emit('start');\n },\n applyDefaults: function applyDefaults() {\n this.server = this.$state.settings.startupOptions.server;\n this.tls = this.$state.settings.startupOptions.tls;\n this.nick = this.processNickRandomNumber(this.$state.settings.startupOptions.nick);\n this.channel = this.$state.settings.startupOptions.channel;\n this.direct = this.$state.settings.startupOptions.direct;\n this.direct_path = this.$state.settings.startupOptions.direct_path;\n this.encoding = this.$state.settings.startupOptions.encoding; // Only include the port in the server box if it's not the default\n\n if (this.$state.settings.startupOptions.port.toString() !== '6667') {\n this.server += ':' + this.$state.settings.startupOptions.port.toString();\n }\n\n this.title = 'Where are you connecting today?';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"CustomServer\"]\r\nwindow._kiwi_exports.components.startups.CustomServer = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListAvatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListAvatar.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _reverse = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reverse\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _default = {\n props: ['network'],\n data: function data() {\n return {\n sidebarOpen: false,\n page: 0,\n page_size: 200,\n search: '',\n last_updated: 0\n };\n },\n computed: {\n noResults: function noResults() {\n return this.listState === 'updated' && this.filteredList.length === 0;\n },\n isLoading: function isLoading() {\n return this.listState === 'updating';\n },\n listState: function listState() {\n return this.network.channel_list_state;\n },\n list: function list() {\n return this.network.channel_list || [];\n },\n filteredList: function filteredList() {\n var _this = this,\n _context4;\n\n var list = [];\n\n if (this.search.length <= 2) {\n list = this.list;\n } else {\n var _context;\n\n list = (0, _filter.default)(_context = this.list).call(_context, function (channel) {\n var _context2, _context3;\n\n var found = false;\n\n if ((0, _indexOf.default)(_context2 = channel.channel.toLowerCase()).call(_context2, _this.search) > -1) {\n found = true;\n }\n\n if ((0, _indexOf.default)(_context3 = channel.topic.toLowerCase()).call(_context3, _this.search) > -1) {\n found = true;\n }\n\n return found;\n });\n }\n\n return (0, _reverse.default)(_context4 = _lodash.default.sortBy(list, 'num_users')).call(_context4);\n },\n paginated: function paginated() {\n var offset = this.page * this.page_size;\n var list = this.filteredList;\n var channels = [];\n\n for (var i = offset; i < offset + this.page_size; i++) {\n if (list[i]) {\n channels.push(list[i]);\n }\n }\n\n return channels;\n },\n maxPages: function maxPages() {\n return Math.floor(this.filteredList.length / this.page_size);\n },\n canGoForward: function canGoForward() {\n return this.page * this.page_size >= this.filteredList.length;\n },\n canGoBackward: function canGoBackward() {\n return this.page > 0;\n }\n },\n watch: {\n search: function search() {\n this.page = 0;\n }\n },\n methods: {\n nextPage: function nextPage() {\n if (this.page < this.maxPages) {\n this.page++;\n }\n },\n prevPage: function prevPage() {\n if (this.page > 0) {\n this.page--;\n }\n },\n maybeUpdateList: function maybeUpdateList() {\n if (this.listState !== 'updating') {\n this.network.ircClient.raw('LIST');\n }\n },\n formatAndTrimTopic: function formatAndTrimTopic(rawTopic) {\n var showModes = this.$state.setting('showChanlistModes');\n var topic = showModes ? rawTopic : rawTopic.replace(/^\\[([^\\]]+)\\] ?/, '');\n var blocks = (0, _MessageParser.default)(topic, {\n extras: false\n });\n var content = (0, _Html.default)(blocks);\n return content;\n },\n joinChannel: function joinChannel(channelName) {\n this.$state.addBuffer(this.network.id, channelName);\n this.network.ircClient.join(channelName);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ChannelList\"]\r\nwindow._kiwi_exports.components.ChannelList = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserBuffer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserBuffer.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/values\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _TypingStatusIndicator = _interopRequireDefault(require(\"./TypingStatusIndicator\"));\n\nvar _default = {\n components: {\n TypingStatusIndicator: _TypingStatusIndicator.default\n },\n props: ['buffer'],\n computed: {\n users: function users() {\n if (this.buffer.isQuery()) {\n // if this is a query return the target as users\n var network = this.$state.getActiveNetwork();\n var user = this.$state.getUser(network.id, this.buffer.name);\n return user ? (0, _defineProperty2.default)({}, user.nick, user) : {};\n }\n\n return this.buffer.users;\n },\n typingUsers: function typingUsers() {\n var _context,\n _this = this;\n\n var myNick = this.$state.getActiveNetwork().nick;\n return (0, _filter.default)(_context = (0, _values.default)(this.users)).call(_context, function (u) {\n return u.nick !== myNick && u.typingStatus(_this.buffer.name).status;\n });\n }\n },\n methods: {\n userColour: function userColour(user) {\n return user && this.buffer.setting('colour_nicknames_in_messages') ? user.getColour() : '';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"TypingUsersList\"]\r\nwindow._kiwi_exports.components.TypingUsersList = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-sidebar kiwi-theme-bg\",class:['kiwi-sidebar-section-' + _vm.section]},[(!_vm.sidebarState.isOpen)?_c('span',{staticClass:\"kiwi-sidebar-options\"},[_c('div',{staticClass:\"kiwi-sidebar-close\",on:{\"click\":function($event){return _vm.sidebarState.close()}}},[_vm._v(\" \"+_vm._s(_vm.$t('close'))),_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e(),(_vm.sidebarState.activeComponent)?[_c(_vm.sidebarState.activeComponent,{tag:\"component\",attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}})]:(_vm.buffer)?[(_vm.buffer.isChannel())?[(_vm.section === 'settings')?_c('div',{staticClass:\"kiwi-sidebar-buffersettings\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('tabbed-view',[_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings'),\"focus\":true}},[_c('h3',[_vm._v(_vm._s(_vm.$t('channel_settings')))]),_c('hr'),_c('channel-info',{attrs:{\"buffer\":_vm.buffer}}),_c('div',{staticClass:\"kiwi-sidebar-settings\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('side_settings')))]),_c('hr'),_c('form',{staticClass:\"u-form\"},[_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_joins')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowJoinParts),expression:\"settingShowJoinParts\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowJoinParts)?_vm._i(_vm.settingShowJoinParts,null)>-1:(_vm.settingShowJoinParts)},on:{\"change\":function($event){var $$a=_vm.settingShowJoinParts,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowJoinParts=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowJoinParts=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowJoinParts=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_topics')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowTopics),expression:\"settingShowTopics\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowTopics)?_vm._i(_vm.settingShowTopics,null)>-1:(_vm.settingShowTopics)},on:{\"change\":function($event){var $$a=_vm.settingShowTopics,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowTopics=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowTopics=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowTopics=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_nick_changes')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowNickChanges),expression:\"settingShowNickChanges\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowNickChanges)?_vm._i(_vm.settingShowNickChanges,null)>-1:(_vm.settingShowNickChanges)},on:{\"change\":function($event){var $$a=_vm.settingShowNickChanges,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowNickChanges=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowNickChanges=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowNickChanges=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_mode_changes')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowModeChanges),expression:\"settingShowModeChanges\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowModeChanges)?_vm._i(_vm.settingShowModeChanges,null)>-1:(_vm.settingShowModeChanges)},on:{\"change\":function($event){var $$a=_vm.settingShowModeChanges,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowModeChanges=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowModeChanges=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowModeChanges=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_formatting')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingExtraFormatting),expression:\"settingExtraFormatting\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingExtraFormatting)?_vm._i(_vm.settingExtraFormatting,null)>-1:(_vm.settingExtraFormatting)},on:{\"change\":function($event){var $$a=_vm.settingExtraFormatting,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingExtraFormatting=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingExtraFormatting=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingExtraFormatting=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_colours')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingColouredNicklist),expression:\"settingColouredNicklist\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingColouredNicklist)?_vm._i(_vm.settingColouredNicklist,null)>-1:(_vm.settingColouredNicklist)},on:{\"change\":function($event){var $$a=_vm.settingColouredNicklist,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingColouredNicklist=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingColouredNicklist=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingColouredNicklist=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_share_typing')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShareTyping),expression:\"settingShareTyping\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShareTyping)?_vm._i(_vm.settingShareTyping,null)>-1:(_vm.settingShareTyping)},on:{\"change\":function($event){var $$a=_vm.settingShareTyping,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShareTyping=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShareTyping=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShareTyping=$$c}}}})])])])],1),_c('tabbed-tab',{attrs:{\"header\":_vm.$t('access')}},[_c('a',{staticClass:\"u-link kiwi-sidebar-accesstab\",class:{\n 'kiwi-sidebar-accesstab--active': _vm.accessTab === 'banlist'\n },on:{\"click\":function($event){_vm.accessTab='banlist'}}},[_vm._v(\" \"+_vm._s(_vm.$t('banned'))+\" \")]),_c('a',{staticClass:\"u-link kiwi-sidebar-accesstab\",class:{\n 'kiwi-sidebar-accesstab--active': _vm.accessTab === 'invitelist'\n },on:{\"click\":function($event){_vm.accessTab='invitelist'}}},[_vm._v(\" \"+_vm._s(_vm.$t('invited'))+\" \")]),(_vm.accessTab==='banlist')?_c('channel-banlist',{attrs:{\"buffer\":_vm.buffer}}):_vm._e(),(_vm.accessTab==='invitelist')?_c('channel-invitelist',{attrs:{\"buffer\":_vm.buffer}}):_vm._e()],1),_c('tabbed-tab',{attrs:{\"header\":_vm.$t('notifications')}},[_c('buffer-settings',{attrs:{\"buffer\":_vm.buffer}})],1),_vm._l((_vm.pluginUiElements),function(item){return _c('tabbed-tab',{key:item.id,attrs:{\"header\":item.title}},[_c(item.component,_vm._b({tag:\"div\"},'div',item.props,false))],1)})],2)],1):(_vm.section === 'user')?_c('div',{staticClass:\"kiwi-sidebar-userbox\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('user-box',{attrs:{\"user\":_vm.sidebarState.sidebarUser,\"buffer\":_vm.buffer,\"network\":_vm.network}})],1):(_vm.section === 'nicklist')?_c('nicklist',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}):(_vm.section === 'about')?_c('sidebar-about-buffer',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}):_vm._e()]:(_vm.buffer.isQuery())?[(_vm.section === 'user')?_c('div',{staticClass:\"kiwi-sidebar-userbox\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('user-box',{attrs:{\"user\":_vm.sidebarState.sidebarUser,\"buffer\":_vm.buffer,\"network\":_vm.network}})],1):_vm._e()]:_vm._e()]:[_vm._v(\" \"+_vm._s(_vm.$t('side_buffer'))+\" \")]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _default = {\n components: {\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: {\n network: Object\n },\n data: function data() {\n return {\n new_nick: '',\n error_message: '',\n self_user_settings_open: false\n };\n },\n computed: {\n modeString: function modeString() {\n var _context;\n\n var str = '';\n (0, _forEach.default)(_context = this.network.ircClient.user.modes).call(_context, function (mode) {\n str += mode;\n }); // Only show the + if there are modes to show\n\n if (str) {\n str = '+' + str;\n }\n\n return str;\n },\n netUser: function netUser() {\n return this.network.ircClient.user;\n },\n awayStatus: {\n get: function get() {\n return this.network.currentUser().away;\n },\n set: function set(val) {\n this.network.ircClient.raw('AWAY', val ? 'Currently away' : '');\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.network.ircClient, 'nick in use', function (event) {\n _this.error_message = TextFormatting.t('error_nick_in_use', {\n nick: event.nick\n });\n });\n },\n methods: {\n openSelfActions: function openSelfActions() {\n this.self_user_settings_open = true;\n },\n openProfile: function openProfile() {\n this.$state.$emit('userbox.show', this.network.currentUser());\n },\n closeSelfUser: function closeSelfUser() {\n this.$emit('close');\n },\n onNewNickSubmit: function onNewNickSubmit(newVal) {\n this.new_nick = newVal;\n this.changeNick();\n },\n changeNick: function changeNick() {\n var _context2;\n\n var nick = (0, _trim.default)(_context2 = this.new_nick).call(_context2);\n\n if (nick.length === 0) {\n this.error_message = TextFormatting.t('error_empty_nick');\n return;\n }\n\n if (nick.match(/(^[0-9])|(\\s)/)) {\n this.error_message = TextFormatting.t('error_no_number');\n return;\n }\n\n this.error_message = '';\n this.network.ircClient.changeNick(nick);\n this.userNameCancel();\n },\n userNameCancel: function userNameCancel() {\n this.self_user_settings_open = false;\n },\n networkSupportsAway: function networkSupportsAway() {\n return this.network.ircClient.network.cap.isEnabled('away-notify');\n },\n checkUserAway: function checkUserAway() {\n return !!this.network.currentUser().away;\n },\n getUserFromString: function getUserFromString(name) {\n return this.$state.getUser(this.network.id, name);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SelfUser\"]\r\nwindow._kiwi_exports.components.SelfUser = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.extractBuffers = extractBuffers;\nexports.extractURL = extractURL;\nexports.stripStyles = stripStyles;\nexports.mentionsNick = mentionsNick;\nexports.queryStringVal = queryStringVal;\nexports.networkErrorMessage = networkErrorMessage;\nexports.connectionInfoFromConfig = connectionInfoFromConfig;\nexports.matchUri = matchUri;\nexports.parseIrcUri = parseIrcUri;\nexports.parsePresetServer = parsePresetServer;\nexports.dedotObject = dedotObject;\nexports.replaceObjectProps = replaceObjectProps;\nexports.dateIso = dateIso;\nexports.parseIntZero = parseIntZero;\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _strftime = _interopRequireDefault(require(\"strftime\"));\n\nvar _TextFormatting = require(\"./TextFormatting\");\n\nvar strftimeUTC = _strftime.default.timezone('+0');\n/**\n * Extract an array of buffers from a string, parsing multiple buffer names and channel keys\n * \"#chan,#chan2\" => 2 channels without a key\n * \"#chan,#chan2 key\" => 2 channels, the first having a key\n * \"#chan,#chan2 key1,key2\" => 2 channels, both having a key\n * \"#chan,#chan2 ,key2\" => 2 channels, the second having a key\n * @param {string} str List of buffer names and channel keys\n */\n\n\nfunction extractBuffers(str) {\n var spaceIdx = (0, _indexOf.default)(str).call(str, ' ');\n if (spaceIdx === -1) spaceIdx = str.length;\n var bufferNames = str.substr(0, spaceIdx).split(',');\n var keys = str.substr(spaceIdx + 1).split(',');\n var buffers = [];\n (0, _forEach.default)(bufferNames).call(bufferNames, function (bufferName, idx) {\n // return if bufferName is empty\n if (!(0, _trim.default)(bufferName).call(bufferName)) {\n return;\n }\n\n buffers.push({\n name: bufferName,\n key: keys[idx] || ''\n });\n });\n return buffers;\n}\n\nfunction extractURL(str) {\n var matches = str.match(_TextFormatting.urlRegex);\n return matches ? matches[0] : '';\n}\n\nfunction stripStyles(str) {\n return str.replace(/(\\x03[0-9]{0,2})?([\\x02\\x16\\x1d\\x1f]+)?/g, '');\n}\n/**\n * Does a string mention a nickname?\n * @param {string} input The string to search within\n * @param {string} nick The nick to search for\n */\n\n\nfunction mentionsNick(input, nick) {\n var _context, _context2, _context3;\n\n if ((0, _indexOf.default)(_context = input.toLowerCase()).call(_context, nick.toLowerCase()) === -1) {\n return false;\n }\n\n var punc = '\\\\s,.!:;+()\\\\[\\\\]?¿\\\\/<>@-';\n\n var escapedNick = _lodash.default.escapeRegExp(nick);\n\n var stylesStrippedInput = stripStyles(input);\n var r = new RegExp((0, _concat.default)(_context2 = (0, _concat.default)(_context3 = \"(^|[\".concat(punc, \"])\")).call(_context3, escapedNick, \"([\")).call(_context2, punc, \"]|$)\"), 'i');\n return r.test(stylesStrippedInput);\n}\n/**\n * Get a query string value from the current URL\n * @param {string} _name The query string variable name\n * @param {string} _url The full URL to extract the variable from\n */\n\n\nfunction queryStringVal(_name, _url) {\n var url = _url || window.location.href;\n\n var name = _lodash.default.escapeRegExp(_name);\n\n var regex = new RegExp('[?&]' + name + '(=([^]*)|&|#|$)');\n var results = regex.exec(url);\n\n if (!results) {\n return null;\n }\n\n if (!results[2]) {\n return '';\n }\n\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n}\n/**\n * Convert a known error code to a human readable message\n * @param {string} err The error message from the network connection\n */\n\n\nfunction networkErrorMessage(err) {\n var errs = {\n err_unknown_host: 'Unknown domain name or host',\n err_forbidden: 'Forbidden to connect',\n err_timeout: 'Took too long to connect',\n err_refused: 'The server refused the connection',\n err_tls: 'Could not connect securely',\n err_proxy: 'The Kiwi IRC server had an error'\n };\n return errs[err] || 'Unknown error';\n}\n/**\n * Take a users connection object (usually from startupOptions) and normalise a connection\n * settings object. Parses websocket/direct/kiwiServer/etc options and creates a single\n * object that Kiwi can consistently read from.\n * @param {Object} config User provided connection config object\n */\n\n\nfunction connectionInfoFromConfig(config) {\n var connection = {\n tls: false,\n port: 0,\n hostname: '',\n direct: false,\n direct_path: ''\n };\n var wsUri = config.websocket ? matchUri(config.websocket) : null;\n\n if (wsUri) {\n var _context4;\n\n connection.direct = true;\n connection.tls = (0, _indexOf.default)(_context4 = ['wss', 'https', 'ircs']).call(_context4, wsUri.protocol) > -1;\n connection.port = wsUri.port;\n connection.hostname = wsUri.hostname;\n connection.direct_path = wsUri.path;\n\n if (wsUri.search) {\n connection.direct_path += '?' + wsUri.search;\n }\n } else {\n connection.tls = config.tls;\n connection.port = config.port;\n connection.hostname = config.server;\n connection.direct = !!config.direct;\n connection.direct_path = config.direct_path || '';\n }\n\n return connection;\n}\n\nfunction matchUri(uri) {\n var reg = /(?:([a-z]+):\\/\\/)?([a-z.0-9-]+)(?::(?:(\\+)?([0-9]+)))?(?:\\/([^?]*))?(?:\\?(.*))?/;\n /*\n 0: \"ws://hostname.com:6676/erferf?foo=val\"\n 1: \"ws\"\n 2: \"hostname.com\"\n 3: undefined\n 4: \"6676\"\n 5: \"erferf\"\n 6: \"foo=var\"\n */\n\n var m = uri.match(reg);\n\n if (!m) {\n return null;\n }\n\n return {\n protocol: (m[1] || '').toLowerCase(),\n hostname: m[2] || '',\n port: parseIntZero(m[4] || ''),\n path: '/' + (m[5] || ''),\n search: m[6] || ''\n };\n}\n/**\n * Parse a connection string into an object\n * E.g. [ircs?://]irc.network.net:[+]6667/channel?nick=mynick;\n * Multiple connections may be given, separated by ;\n * @param {string} str The connection string URI\n */\n\n\nfunction parseIrcUri(str) {\n var _context5;\n\n var reg = /(?:(ircs?):\\/\\/)?([a-z.0-9-]+)(?::(?:(\\+)?([0-9]+)))?(?:\\/([^?]*))?(?:\\?(.*))?/;\n var connections = [];\n (0, _forEach.default)(_context5 = str.split(';')).call(_context5, function (connectionString) {\n var _context6, _context7;\n\n if (!connectionString) {\n return;\n }\n\n var m = connectionString.match(reg);\n\n if (!m) {\n return;\n }\n\n var tls = m[1] === 'ircs' || !!m[3];\n var params = (0, _create.default)(null);\n (0, _forEach.default)(_context6 = (m[6] || '').split('&')).call(_context6, function (p) {\n var parts = p.split('=');\n\n if (parts.length === 2) {\n params[parts[0].toLowerCase()] = parts[1];\n }\n });\n var channels = m[5] || params.channel || '';\n channels = (0, _map.default)(_context7 = (0, _lodash.default)(channels.split(',')).compact()).call(_context7, function (_channelName) {\n var hasPrefix = _channelName[0] === '#' || _channelName[0] === '&';\n var channelName = hasPrefix ? _channelName : '#' + _channelName;\n return channelName;\n });\n connections.push({\n tls: tls,\n server: m[2],\n port: (0, _parseInt2.default)(m[4] || (tls ? 6697 : 6667), 10),\n channels: channels,\n nick: params.nick || '',\n encoding: params.encoding || 'utf8',\n params: params\n });\n });\n return connections;\n}\n/**\n * Parse preset server string to an object\n * format: freenode|irc.freenode.net:+6697\n * @param {string} input Preset server string\n */\n\n\nfunction parsePresetServer(input) {\n var ret = {\n name: '',\n server: '',\n port: 6667,\n tls: false\n };\n\n ret.toUri = function () {\n var _context8, _context9;\n\n return (0, _concat.default)(_context8 = (0, _concat.default)(_context9 = \"\".concat(ret.server, \":\")).call(_context9, ret.tls ? '+' : '')).call(_context8, ret.port);\n };\n\n var val = input;\n var pipePos = (0, _indexOf.default)(val).call(val, '|');\n\n if (pipePos > -1) {\n ret.name = val.substr(0, pipePos);\n val = val.substr(pipePos + 1);\n }\n\n var colonPos = (0, _indexOf.default)(val).call(val, ':');\n\n if (colonPos === -1) {\n ret.server = val;\n val = '';\n } else {\n ret.server = val.substr(0, colonPos);\n val = val.substr(colonPos + 1);\n }\n\n if (val[0] === '+') {\n ret.tls = true;\n val = val.substr(1);\n }\n\n if (val.length > 0) {\n ret.port = (0, _parseInt2.default)(val, 10);\n val = '';\n }\n\n if (!ret.name) {\n ret.name = ret.server;\n }\n\n return ret;\n}\n/**\n * Scan though an object and extend any dot notated keys\n * @param {Object} confObj Source object to traverse\n */\n\n\nfunction dedotObject(confObj, _place) {\n var place = _place || [];\n var regex = /\\w\\.\\w/;\n\n _lodash.default.each(confObj, function (val, key) {\n var ourPlace = (0, _concat.default)(place).call(place, [key]);\n\n if ((0, _typeof2.default)(val) === 'object') {\n dedotObject(confObj[key], ourPlace);\n return;\n }\n\n if (regex.test(key)) {\n delete confObj[key];\n\n _lodash.default.set(confObj, ourPlace.join('.'), val);\n }\n });\n}\n/**\n * Replace the target object with source, while keeping the target object reference intact.\n * Delete all the properties from the target object and copy the properties from source\n * over to the target.\n * a = {one: 1, two: 2, three: 3}\n * b = {four: 4, five: 5, six: 6}\n * replaceObjectProps(a, b)\n * a.one === undefined;\n * a.six === 6;\n * @param {Object} target The target object that will be replaced\n * @param {Object} source The source object from which all properties will be copied from\n */\n\n\nfunction replaceObjectProps(target, source) {\n var _context10, _context11;\n\n (0, _forEach.default)(_context10 = (0, _keys.default)(target)).call(_context10, function (prop) {\n return delete target[prop];\n });\n (0, _forEach.default)(_context11 = (0, _keys.default)(source)).call(_context11, function (prop) {\n target[prop] = source[prop];\n });\n}\n/**\n * Create an ISO8601 formatted date\n * @param {Date} date The date object to create the time from. Defaults to the current time\n */\n\n\nfunction dateIso(date) {\n var d = date || new Date();\n return strftimeUTC('%Y-%m-%dT%H:%M:%S.%LZ', d);\n}\n/**\n * Cast a string to an int, returning 0 if it fails\n * @param {String} inp The number as a string to convert to an int\n */\n\n\nfunction parseIntZero(inp) {\n var int = (0, _parseInt2.default)(inp, 10);\n return (0, _isNan.default)(int) ? 0 : int;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"Misc\"]\r\nwindow._kiwi_exports.helpers.Misc = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _eventEmitter = _interopRequireDefault(require(\"event-emitter\"));\n\nvar NetworkProvider = /*#__PURE__*/function () {\n function NetworkProvider() {\n (0, _classCallCheck2.default)(this, NetworkProvider);\n (0, _eventEmitter.default)(this);\n this.providers = [];\n }\n\n (0, _createClass2.default)(NetworkProvider, [{\n key: \"addProvider\",\n value: function addProvider(provider) {\n var _this = this;\n\n this.providers.push(provider);\n provider.on('networks', function (networks) {\n _this.emit('networks', _this.availableNetworks());\n });\n }\n }, {\n key: \"availableNetworks\",\n value: function availableNetworks() {\n var _context;\n\n var networks = (0, _create.default)(null);\n (0, _forEach.default)(_context = this.providers).call(_context, function (provider) {\n var pType = provider.type;\n\n if (provider.networks.length > 0) {\n var _context2;\n\n networks[pType] = networks[pType] || [];\n networks[pType] = (0, _concat.default)(_context2 = networks[pType]).call(_context2, provider.networks);\n }\n });\n return networks;\n }\n }]);\n return NetworkProvider;\n}();\n\nexports.default = NetworkProvider;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"NetworkProvider\"]\r\nwindow._kiwi_exports.libs.NetworkProvider = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\n\nvar _construct = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/reflect/construct\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/getPrototypeOf\"));\n\nvar _eventemitter = _interopRequireDefault(require(\"eventemitter3\"));\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = (0, _construct.default)(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_construct.default) return false; if (_construct.default.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call((0, _construct.default)(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar IpcBroadcastChannel = /*#__PURE__*/function (_EventEmitter) {\n (0, _inherits2.default)(IpcBroadcastChannel, _EventEmitter);\n\n var _super = _createSuper(IpcBroadcastChannel);\n\n function IpcBroadcastChannel() {\n var _context;\n\n var _this;\n\n (0, _classCallCheck2.default)(this, IpcBroadcastChannel);\n _this = _super.call(this);\n _this.bc = new BroadcastChannel('kiwi-ipc');\n _this.bc.onmessage = (0, _bind.default)(_context = _this.onmessage).call(_context, (0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n (0, _createClass2.default)(IpcBroadcastChannel, [{\n key: \"send\",\n value: function send(msg) {\n if (this.bc) {\n this.bc.postMessage(msg);\n }\n }\n }, {\n key: \"onmessage\",\n value: function onmessage(msg) {\n this.emit('message', msg);\n }\n }]);\n return IpcBroadcastChannel;\n}(_eventemitter.default);\n\nvar IpcLocalStorage = /*#__PURE__*/function (_EventEmitter2) {\n (0, _inherits2.default)(IpcLocalStorage, _EventEmitter2);\n\n var _super2 = _createSuper(IpcLocalStorage);\n\n function IpcLocalStorage() {\n var _context2;\n\n var _this2;\n\n (0, _classCallCheck2.default)(this, IpcLocalStorage);\n _this2 = _super2.call(this);\n window.addEventListener('storage', (0, _bind.default)(_context2 = _this2.onmessage).call(_context2, (0, _assertThisInitialized2.default)(_this2)));\n return _this2;\n }\n\n (0, _createClass2.default)(IpcLocalStorage, [{\n key: \"send\",\n value: function send(msg) {\n localStorage.setItem('kiwi-ipc', (0, _stringify.default)(msg));\n localStorage.removeItem('kiwi-ipc');\n }\n }, {\n key: \"onmessage\",\n value: function onmessage(msg) {\n if (msg.key === 'kiwi-ipc' && msg.newValue) {\n try {\n var parsedMsg = {\n data: JSON.parse(msg.newValue)\n };\n this.emit('message', parsedMsg);\n } catch (e) {\n this.emit('error');\n }\n }\n }\n }]);\n return IpcLocalStorage;\n}(_eventemitter.default);\n\nvar _default = window.BroadcastChannel ? new IpcBroadcastChannel() : new IpcLocalStorage();\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"IPC\"]\r\nwindow._kiwi_exports.libs.IPC = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=style&index=0&lang=less&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/slicedToArray\"));\n\nvar _entries = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/entries\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"@/libs/bufferTools\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar _StateBrowserBuffer = _interopRequireDefault(require(\"./StateBrowserBuffer\"));\n\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n Buffer: _StateBrowserBuffer.default\n },\n props: ['network', 'sidebarState'],\n data: function data() {\n return {\n collapsed: false,\n channel_filter: '',\n channel_filter_display: false,\n channel_add_display: false,\n channel_add_input_has_focus: false,\n channel_add_input: '',\n show_channels: true,\n show_queries: true\n };\n },\n computed: {\n serverBuffer: function serverBuffer() {\n return this.network.serverBuffer();\n },\n isActiveNetwork: function isActiveNetwork() {\n return this.$state.getActiveNetwork() === this.network;\n },\n totalNetworkCount: function totalNetworkCount() {\n return this.$state.networks.length;\n },\n serverUnread: function serverUnread() {\n var _context;\n\n if (!this.collapsed) {\n return (0, _flags.default)(this.serverBuffer).unread;\n }\n\n var totalUnread = 0;\n (0, _forEach.default)(_context = this.network.buffers).call(_context, function (buffer) {\n if (buffer.isSpecial()) {\n return;\n }\n\n totalUnread += (0, _flags.default)(buffer).unread;\n });\n return totalUnread;\n },\n serverHighlight: function serverHighlight() {\n var _context2;\n\n if (!this.collapsed) {\n return (0, _flags.default)(this.serverBuffer).highlight;\n }\n\n var highlight = false;\n (0, _forEach.default)(_context2 = this.network.buffers).call(_context2, function (buffer) {\n if (buffer.isSpecial()) {\n return;\n }\n\n if ((0, _flags.default)(buffer).highlight) {\n highlight = true;\n }\n });\n return highlight;\n },\n filteredBuffers: function filteredBuffers() {\n var filter = this.channel_filter;\n var filtered = [];\n\n if (!filter) {\n filtered = this.network.buffers;\n } else {\n filtered = (0, _filter.default)(_lodash.default).call(_lodash.default, this.network.buffers, function (buffer) {\n var name = buffer.name.toLowerCase();\n return (0, _indexOf.default)(name).call(name, filter) > -1;\n });\n }\n\n return bufferTools.orderBuffers(filtered);\n },\n filteredBuffersByType: function filteredBuffersByType() {\n var _context3, _context4;\n\n var types = {\n other: [],\n channels: [],\n queries: []\n };\n (0, _forEach.default)(_context3 = this.filteredBuffers).call(_context3, function (bufferObj) {\n if (bufferObj.isChannel()) {\n types.channels.push(bufferObj);\n } else if (bufferObj.isQuery()) {\n types.queries.push(bufferObj);\n } else {\n // This is buffers like *raw, *bnc, *status etc\n types.other.push(bufferObj);\n }\n });\n (0, _forEach.default)(_context4 = (0, _entries.default)(types)).call(_context4, function (_ref) {\n var _ref2 = (0, _slicedToArray2.default)(_ref, 2),\n type = _ref2[0],\n buffers = _ref2[1];\n\n // Always show channels type as it has join controls\n if (type !== 'channels' && !buffers.length) {\n delete types[type];\n }\n });\n return types;\n },\n channelActivity: function channelActivity() {\n return this.activityFromBuffers(this.filteredBuffersByType.channels);\n },\n queryActivity: function queryActivity() {\n return this.activityFromBuffers(this.filteredBuffersByType.queries);\n },\n showBufferGroups: function showBufferGroups() {\n return this.$state.setting('buffers.show_buffer_groups');\n }\n },\n methods: {\n activityFromBuffers: function activityFromBuffers(buffers) {\n var totalUnread = 0;\n var highlight = false;\n (0, _forEach.default)(buffers).call(buffers, function (buffer) {\n if (buffer.isSpecial()) {\n return;\n }\n\n totalUnread += (0, _flags.default)(buffer).unread;\n\n if (!highlight && (0, _flags.default)(buffer).highlight) {\n highlight = true;\n }\n });\n return {\n highlights: highlight,\n unread: totalUnread\n };\n },\n onNewChannelInputFocus: function onNewChannelInputFocus() {\n // Auto insert the # if no value is already in. Easier for mobile users\n if (!this.channel_add_input) {\n this.channel_add_input = '#';\n }\n\n this.channel_add_input_has_focus = true;\n },\n onNewChannelInputBlur: function onNewChannelInputBlur() {\n // Remove the # since we may have auto inserted it as they tabbed past\n if (this.channel_add_input === '#') {\n this.channel_add_input = '';\n } // If nothing was entered into the input box, hide it just to clean up the UI\n\n\n if (!this.channel_add_input) {\n this.channel_add_display = false;\n }\n\n this.channel_add_input_has_focus = false;\n },\n submitNewChannelForm: function submitNewChannelForm() {\n var _this = this;\n\n var newChannelVal = this.channel_add_input;\n this.channel_add_input = '#';\n var network = this.network;\n var bufferObjs = Misc.extractBuffers(newChannelVal); // Only switch to the first channel we join if multiple are being joined\n\n var hasSwitchedActiveBuffer = false;\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj) {\n var chanName = bufferObj.name;\n var ignoreNames = ['#0', '0', '&0'];\n\n if ((0, _indexOf.default)(ignoreNames).call(ignoreNames, chanName) > -1 || chanName.replace(/[#&]/g, '') === '') {\n return;\n }\n\n var newBuffer = _this.$state.addBuffer(network.id, chanName);\n\n if (newBuffer && !hasSwitchedActiveBuffer) {\n _this.$state.setActiveBuffer(network.id, newBuffer.name);\n\n hasSwitchedActiveBuffer = true;\n }\n\n if (bufferObj.key) {\n newBuffer.key = bufferObj.key;\n }\n\n if (network.isChannelName(chanName)) {\n network.ircClient.join(chanName, bufferObj.key);\n }\n });\n },\n onChannelFilterInputBlur: function onChannelFilterInputBlur() {\n var _this2 = this;\n\n // Hacky, but if we remove the channel filter UI at this blur event and the user\n // clicked a link in this filter UI, then the click event will not hit the target\n // link as it has been removed before the event reaches it.\n (0, _setTimeout2.default)(function () {\n _this2.closeFilterChannel();\n }, 200);\n },\n showMessageCounts: function showMessageCounts(buffer) {\n return !buffer.setting('hide_message_counts');\n },\n setActiveBuffer: function setActiveBuffer(buffer) {\n // Clear any active component to show the buffer again\n this.$state.$emit('active.component', null);\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n\n if (this.$state.ui.is_narrow) {\n this.$state.$emit('statebrowser.hide');\n }\n },\n showNetworkSettings: function showNetworkSettings(network) {\n network.showServerBuffer('settings');\n },\n showNetworkChannels: function showNetworkChannels(network) {\n network.showServerBuffer('channels');\n },\n onSearchChannelClick: function onSearchChannelClick() {\n // If we have no other buffers than the server buffer, take them straight\n // to the channel list for searching\n if (this.network.buffers.length > 1) {\n this.toggleFilterChannel();\n } else {\n this.network.showServerBuffer('channels');\n }\n },\n toggleAddChannel: function toggleAddChannel() {\n this.channel_add_display = !this.channel_add_display;\n this.channel_filter_display = false;\n },\n toggleFilterChannel: function toggleFilterChannel() {\n this.channel_filter_display = !this.channel_filter_display;\n this.channel_add_display = false;\n },\n toggleSection: function toggleSection(type) {\n if (type === 'channels') {\n this.show_channels = !this.show_channels;\n } else if (type === 'queries') {\n this.show_queries = !this.show_queries;\n }\n },\n closeFilterChannel: function closeFilterChannel() {\n this.channel_filter = '';\n this.channel_filter_display = false;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StateBrowserNetwork\"]\r\nwindow._kiwi_exports.components.StateBrowserNetwork = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n components: {},\n props: ['buffer', 'message'],\n data: function data() {\n return {\n requestingInput: false\n };\n },\n computed: {},\n methods: {\n urlPreview: function urlPreview(url) {\n this.$state.$emit('mediaviewer.show', url);\n },\n areWeAnOp: function areWeAnOp() {\n var ourNick = this.buffer.getNetwork().nick;\n return this.buffer.isUserAnOp(ourNick);\n },\n isSelf: function isSelf() {\n var user = this.$state.getUser(this.buffer.getNetwork().id, this.message.nick);\n return this.buffer.getNetwork().ircClient.user.nick === user.nick;\n },\n onBan: function onBan(reason) {\n var network = this.buffer.getNetwork();\n network.ircClient.mode(this.buffer.name, '+b', this.message.nick);\n },\n onKick: function onKick(promptedReason) {\n var network = this.buffer.getNetwork();\n var defaultReason = this.$state.setting('buffers.default_kick_reason');\n var reason = promptedReason || defaultReason;\n network.ircClient.raw('KICK', this.buffer.name, this.message.nick, reason);\n },\n openQuery: function openQuery() {\n var network = this.buffer.getNetwork();\n var buffer = this.$state.addBuffer(network.id, this.message.nick);\n this.$state.setActiveBuffer(network.id, buffer.name);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageInfo\"]\r\nwindow._kiwi_exports.components.MessageInfo = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-container\",class:{\n /* 'kiwi-container-' + bufferType: true, */\n 'kiwi-container--sidebar-drawn': _vm.sidebarState.isDrawn,\n 'kiwi-container--sidebar-open': _vm.sidebarState.isOpen,\n 'kiwi-container--no-sidebar': _vm.buffer && _vm.buffer.isSpecial,\n}},[(_vm.buffer)?[_c('div',{staticClass:\"kiwi-container-toggledraw-statebrowser\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_c('div',{staticClass:\"kiwi-container-toggledraw-statebrowser-messagecount\",class:[\n _vm.unreadMessages.highlight ?\n 'kiwi-container-toggledraw-statebrowser-messagecount--highlight' :\n '' ]},[_c('span',{staticClass:\"kiwi-container-statebrowser-messagecount-alert\"},[_vm._v(\" \"+_vm._s(_vm.unreadMessages.count > 999 ? '999+' : _vm.unreadMessages.count)+\" \")]),_vm._m(0)])]),_c('container-header',{attrs:{\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}),_vm._t(\"before\"),(_vm.buffer.getNetwork().state !== 'connected' && !_vm.buffer.isServer())?_c('not-connected',{attrs:{\"buffer\":_vm.buffer,\"network\":_vm.buffer.getNetwork()}}):_vm._e(),_c('div',{staticClass:\"kiwi-container-content\"},[(_vm.buffer.isServer())?[_c('server-view',{attrs:{\"network\":_vm.network}})]:[_c('message-list',{attrs:{\"buffer\":_vm.buffer}}),(!_vm.buffer.isSpecial())?_c('sidebar',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}):_vm._e()],_vm._t(\"after\")],2)]:[_c('div',{staticClass:\"kiwi-container-empty\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('container_welcome')))]),_c('a',{staticClass:\"u-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('container_statebrowser'))+\" \")])])]],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"kiwi-container-statebrowser-messagecount-close\"},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])}]\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./SidebarState.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarState.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar Vue = require('vue');\n\nVue.component('tabbed-tab', {\n props: {\n header: {\n status: String\n },\n focus: {\n status: Boolean\n },\n name: {\n status: String\n }\n },\n data: function data() {\n return {\n active: false\n };\n },\n template: 'Some quick examples on how you can link directly to your network or channels. Even better, embed them into an iframe directly on your website.
As a bonus, you can link to multiple IRC networks at the same time:
Or maybe you host a ZNC server and want to link to it:
All your settings and networks will be remembered for when you come back. You won't need to be re-entering your favourite networks every time you open Kiwi anymore.
Now that over 50% of internet usage is now on mobile, Kiwi has complete mobile support with new layouts and messages. Everything is accessible with just your fingers.
Opening photos and videos within Kiwi now gets pinned at the bottom of the screen. This lets you switch channels, keep talking without it going off-screen, and have that permenant youtube video playing while you're talking.
When connecting to a ZNC server, Kiwi will now automatically detect it and look for any other networks in your ZNC account. If any are found then they are shown in a list - just one click away from connecting to it.
A full alias editor to create command aliases to handle users in your channel, administrate your network or project, or even join multiple commands into a single helpful command. Created by a simple text editor that lets you copy/paste/share your aliases wherever you please.
If you're a power IRC user or like to get indepth, Kiwi now uses the raw IRC protocol directly in the browser. Look at the raw IRC messages going back and forth, send raw commands, or use it's scripting to test out new protocol ideas and experiments.
IRC is being pushed forward by the IRCv3 working group which brings us new features that any IRC client can be using. Not only taking part, but Kiwi is one of the most IRCv3 complete web clients that exists.
\";\n// Exports\nmodule.exports = code;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-serverview\"},[_c('div',{staticClass:\"kiwi-serverview-inner\"},[_c('tabbed-view',{key:_vm.network.id,ref:\"tabs\",on:{\"changed\":_vm.tabChanged}},[_c('tabbed-tab',{attrs:{\"header\":_vm.$t('messages'),\"focus\":_vm.hasMessages,\"name\":\"messages\"}},[_c('message-list',{attrs:{\"buffer\":_vm.serverBuffer}})],1),(!_vm.restrictedServer)?_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings'),\"focus\":!_vm.hasMessages,\"name\":\"settings\"}},[_c('network-settings',{attrs:{\"network\":_vm.network}})],1):_vm._e(),(_vm.networkConnected)?_c('tabbed-tab',{attrs:{\"header\":_vm.$t('channels'),\"name\":\"channels\"}},[_c('channel-list',{attrs:{\"network\":_vm.network}})],1):_vm._e(),_vm._l((_vm.pluginUiElements),function(item){return _c('tabbed-tab',{key:item.id,attrs:{\"header\":item.title}},[_c(item.component,_vm._b({tag:\"div\"},'div',item.props,false))],1)})],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _NetworkProvider = _interopRequireDefault(require(\"@/libs/NetworkProvider\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _StateBrowserNetwork = _interopRequireDefault(require(\"./StateBrowserNetwork\"));\n\nvar _StateBrowserUsermenu = _interopRequireDefault(require(\"./StateBrowserUsermenu\"));\n\nvar _AppSettings = _interopRequireDefault(require(\"./AppSettings\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar netProv = new _NetworkProvider.default();\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n StateBrowserNetwork: _StateBrowserNetwork.default,\n StateBrowserUsermenu: _StateBrowserUsermenu.default\n },\n props: ['networks', 'sidebarState'],\n data: function data() {\n return {\n self: this,\n show_provided_networks: false,\n provided_networks: (0, _create.default)(null),\n pluginUiElements: _GlobalApi.default.singleton().stateBrowserPlugins\n };\n },\n computed: {\n getNetwork: function getNetwork() {\n return this.$state.getActiveNetwork();\n },\n isPersistingState: function isPersistingState() {\n return !!this.$state.persistence;\n },\n isRestrictedServer: function isRestrictedServer() {\n return !!this.$state.settings.restricted;\n },\n networksToShow: function networksToShow() {\n var _context;\n\n return (0, _filter.default)(_context = this.networks).call(_context, function (net) {\n return !net.hidden;\n });\n }\n },\n created: function created() {\n var _this = this;\n\n netProv.on('networks', function (networks) {\n _this.provided_networks = networks;\n });\n },\n methods: {\n clickAddNetwork: function clickAddNetwork() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var network = this.$state.getNetworkFromAddress('');\n\n if (typeof network === 'undefined') {\n network = this.$state.addNetwork('Network', nick, {});\n }\n\n network.showServerBuffer('settings');\n },\n clickAppSettings: function clickAppSettings() {\n this.$state.$emit('active.component.toggle', _AppSettings.default);\n },\n hideStatebrowser: function hideStatebrowser() {\n this.$state.$emit('statebrowser.hide');\n },\n connectProvidedNetwork: function connectProvidedNetwork(pNet) {\n var net = this.$state.addNetwork(pNet.name, pNet.nick, {\n server: pNet.server,\n port: pNet.port,\n tls: pNet.tls,\n password: pNet.password\n });\n net.ircClient.connect();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StateBrowser\"]\r\nwindow._kiwi_exports.components.StateBrowser = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=style&index=0&lang=less&\"","import { render, staticRenderFns } from \"./UserBox.vue?vue&type=template&id=5798a3ae&\"\nimport script from \"./UserBox.vue?vue&type=script&lang=js&\"\nexport * from \"./UserBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserBox.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-settings-advanced\"},[_c('div',{staticClass:\"kiwi-settings-advanced-notice\"},[_vm._v(_vm._s(_vm.$t('settings_advanced_header')))]),_c('form',{staticClass:\"u-form\"},[_c('div',{staticClass:\"kiwi-settings-advanced-filter-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterString),expression:\"filterString\"}],staticClass:\"u-input\",attrs:{\"placeholder\":_vm.$t('settings_advanced_filter')},domProps:{\"value\":(_vm.filterString)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.filterString=$event.target.value}}}),(!_vm.filterString)?_c('i',{staticClass:\"fa fa-search\",attrs:{\"aria-hidden\":\"true\"}}):_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){_vm.filterString = ''}}})]),_c('table',{staticClass:\"u-table kiwi-settings-advanced-table\",attrs:{\"cellspacing\":\"0\"}},[(_vm.filteredSettings.length === 0)?_c('tr',[_c('td',{staticClass:\"kiwi-settings-advanced-noresult\"},[_vm._v(\" \"+_vm._s(_vm.filterString)+\" - \"+_vm._s(_vm.$t('not_found'))+\" \")])]):_vm._l((_vm.filteredSettings),function(setting){return _c('tr',{key:setting.key,class:{'kiwi-advanced-setting': !setting.modified,\n 'kiwi-advanced-setting--modified': setting.modified,\n }},[_c('td',[_c('label',{attrs:{\"for\":'setting-' + setting.key}},[_vm._v(_vm._s(setting.key))])]),(setting.modified)?_c('td',[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.resetValue($event, setting.key)}}},[_vm._v(\" \"+_vm._s(_vm.$t('settings_advanced_reset'))+\" \"),_c('i',{staticClass:\"fa fa-undo\",staticStyle:{\"margin-left\":\"10px\"}})])]):_c('td'),_c('td',[(setting.type === 'boolean')?_c('input',{attrs:{\"id\":'setting-' + setting.key,\"type\":\"checkbox\"},domProps:{\"checked\":setting.val},on:{\"change\":function($event){return _vm.updateSetting($event, setting.key)}}}):(setting.type === 'number')?_c('input',{staticClass:\"u-input\",attrs:{\"id\":'setting-' + setting.key,\"type\":\"number\"},domProps:{\"value\":setting.val},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }return $event.target.blur()},\"change\":function($event){return _vm.updateSetting($event, setting.key)},\"blur\":function($event){return _vm.updateSetting($event, setting.key)}}}):_c('input',{staticClass:\"u-input\",attrs:{\"id\":'setting-' + setting.key},domProps:{\"value\":setting.val},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }return $event.target.blur()},\"blur\":function($event){return _vm.updateSetting($event, setting.key)}}})])])})],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _interopRequireWildcard = require(\"@babel/runtime-corejs3/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _lastIndexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/last-index-of\"));\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/values\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar htmlparser = _interopRequireWildcard(require(\"htmlparser2\"));\n\nvar Colours = _interopRequireWildcard(require(\"@/helpers/Colours\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('irc-input', {\n props: ['placeholder'],\n data: function data() {\n return {\n last_known_value: '',\n text_value: '',\n current_el: null,\n current_el_pos: 0,\n default_colour: null,\n code_map: (0, _create.default)(null)\n };\n },\n computed: {\n editor: function editor() {\n return this.$refs.editor;\n }\n },\n mounted: function mounted() {\n this.resetStyles();\n },\n methods: {\n onTextInput: function onTextInput(event) {\n // Mobile devices trigger a textInput event for things such as autocompletion\n // and suggested words. Unfortunately they end with a return character which\n // is not what we expect, so prevent the original event from inserting anything\n // and manually place it in with the current word.\n if (event.data[event.data.length - 1] === '\\n') {\n var _context;\n\n event.preventDefault();\n this.setCurrentWord((0, _trim.default)(_context = event.data).call(_context));\n }\n },\n onPaste: function onPaste(event) {\n var _this = this;\n\n event.preventDefault();\n\n if (typeof event.clipboardData !== 'undefined') {\n var _context2;\n\n var ignoreThisPaste = false;\n var clpData = event.clipboardData;\n (0, _forEach.default)(_context2 = clpData.types).call(_context2, function (type) {\n var ignoreTypes = ['Files', 'image'];\n (0, _forEach.default)(ignoreTypes).call(ignoreTypes, function (ig) {\n if ((0, _indexOf.default)(type).call(type, ig) > -1) {\n ignoreThisPaste = true;\n }\n });\n });\n\n if (ignoreThisPaste) {\n return;\n }\n\n document.execCommand('insertText', false, clpData.getData('text/plain'));\n } else {\n // IE11\n var clpText = window.clipboardData.getData('Text');\n\n if (!clpText) {\n return;\n }\n\n var selection = window.getSelection();\n var range = selection.getRangeAt(0);\n\n if (range) {\n range.deleteContents();\n range.insertNode(document.createTextNode(clpText));\n }\n }\n\n (0, _setTimeout2.default)(function () {\n _this.updateValueProps();\n }, 0);\n },\n onFocus: function onFocus(event) {\n // when the input is empty there are no children to remember the current colour\n // so upon regaining focus we must set the current colour again\n if (!this.getRawText() && this.default_colour) {\n this.setColour(this.default_colour.code, this.default_colour.colour);\n }\n\n this.$emit('focus', event);\n },\n updateValueProps: function updateValueProps() {\n var selection = window.getSelection();\n\n if (selection.rangeCount === 0) {\n return;\n }\n\n this.current_el_pos = selection.anchorOffset;\n this.current_el = selection.anchorNode;\n this.maybeEmitInput();\n },\n selectionToEnd: function selectionToEnd() {\n // Move the caret to the end\n var el = this.$refs.editor.lastChild || this.$refs.editor;\n this.current_el = el;\n\n if (el.nodeType === 3) {\n this.current_el_pos = el.length;\n } else {\n this.current_el_pos = 0;\n }\n },\n setValue: function setValue(newVal) {\n this.value = newVal;\n this.$refs.editor.innerHTML = newVal;\n },\n getValue: function getValue() {\n return this.$refs.editor.innerHTML;\n },\n maybeEmitInput: function maybeEmitInput() {\n var currentHtml = this.$refs.editor.innerHTML;\n\n if (this.last_known_value !== currentHtml) {\n this.$emit('input', currentHtml);\n this.last_known_value = currentHtml;\n }\n },\n buildIrcText: function buildIrcText() {\n var _this2 = this,\n _context6;\n\n var source = this.$refs.editor.innerHTML;\n var textValue = ''; // Toggles are IRC style and colour codes that should be reset at the end of\n // the current tag\n\n var toggles = [];\n\n function addToggle(t) {\n toggles[toggles.length - 1] += t;\n }\n\n function getToggles() {\n return toggles[toggles.length - 1];\n }\n\n var parser = new htmlparser.Parser({\n onopentag: function onopentag(name, attribs) {\n toggles.push('');\n var codeLookup = '';\n\n if (attribs.style) {\n var _context3, _context4, _context5;\n\n var match = attribs.style.match(/color: ([^;]+)/);\n\n if (match) {\n codeLookup = match[1];\n var mappedCode = _this2.code_map[codeLookup];\n\n if (!mappedCode) {\n // If we didn't have an IRC code for this colour, convert the\n // colour to its hex form and check if we have that instead\n var m = codeLookup.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\n\n if (m) {\n var hex = Colours.rgb2hex({\n r: (0, _parseInt2.default)(m[1], 10),\n g: (0, _parseInt2.default)(m[2], 10),\n b: (0, _parseInt2.default)(m[3], 10)\n });\n mappedCode = _this2.code_map[hex];\n }\n }\n\n if (mappedCode) {\n textValue += '\\x03' + mappedCode;\n addToggle('\\x03' + mappedCode);\n }\n }\n\n if ((0, _indexOf.default)(_context3 = attribs.style).call(_context3, 'bold') > -1) {\n textValue += '\\x02';\n addToggle('\\x02');\n }\n\n if ((0, _indexOf.default)(_context4 = attribs.style).call(_context4, 'italic') > -1) {\n textValue += '\\x1d';\n addToggle('\\x1d');\n }\n\n if ((0, _indexOf.default)(_context5 = attribs.style).call(_context5, 'underline') > -1) {\n textValue += '\\x1f';\n addToggle('\\x1f');\n } // Welcome to the IE/Edge sucks section, time to do crazy things\n // IE11 doesnt support document.execCommand('styleWithCSS')\n // so we have individual nodes instead, which are handled below\n\n } else if (attribs.color) {\n // IE likes to remove spaces from rgb(1, 2, 3)\n // it also likes converting rgb to hex\n var _mappedCode = _this2.code_map[attribs.color] || _this2.code_map[attribs.color.replace(/,/g, ', ')] || _this2.code_map[Colours.hex2rgb(attribs.color)];\n\n if (_mappedCode) {\n textValue += '\\x03' + _mappedCode;\n addToggle('\\x03' + _mappedCode);\n }\n } else if (name === 'strong') {\n textValue += '\\x02';\n addToggle('\\x02');\n } else if (name === 'em') {\n textValue += '\\x1d';\n addToggle('\\x1d');\n } else if (name === 'u') {\n textValue += '\\x1f';\n addToggle('\\x1f');\n } else if (name === 'div' || name === 'br') {\n // divs and breaks are both considered newlines. For each line we need to\n // close all current toggles and then reopen them for the next so that the\n // styles continue .\n textValue += getToggles();\n textValue += '\\n';\n textValue += getToggles();\n }\n\n if (attribs.src && _this2.code_map[attribs.src]) {\n textValue += _this2.code_map[attribs.src];\n }\n },\n ontext: function ontext(text) {\n textValue += text;\n },\n onclosetag: function onclosetag(tagName) {\n textValue += getToggles();\n toggles.pop();\n }\n }, {\n decodeEntities: true\n });\n parser.write(source);\n parser.end(); // Firefox likes to add