Commit 2e8c10ea authored by Guus der Kinderen's avatar Guus der Kinderen Committed by daryl herzmann

New inVerse plugin (#825)

A new Openfire plugin, that bundles the third party 'inVerse' web client.
parent 59d93d8f
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>inVerse Plugin Changelog</title>
<style type="text/css">
BODY {
font-size : 100%;
}
BODY, TD, TH {
font-family : tahoma, verdana, arial, helvetica, sans-serif;
font-size : 0.8em;
}
H2 {
font-size : 10pt;
font-weight : bold;
padding-left : 1em;
}
A:hover {
text-decoration : none;
}
H1 {
font-family : tahoma, arial, helvetica, sans-serif;
font-size : 1.4em;
font-weight: bold;
border-bottom : 1px #ccc solid;
padding-bottom : 2px;
}
TT {
font-family : courier new;
font-weight : bold;
color : #060;
}
PRE {
font-family : courier new;
font-size : 100%;
}
</style>
</head>
<body>
<h1>
inVerse Plugin Changelog
</h1>
<p><b>3.0.3 Alpha 1</b> -- June 19th, 2017</p>
<ul>
<li>Initial release.</li>
<li>Based on <a href="https://github.com/jcbrand/converse.js/commit/068be7bfeead28f3df2585873fa66f5e2d58c6dc">commit 068be7b</a>
of Converse, which is a commit newer than the 3.0.2 release, which was the latest official release at the time.</li>
</ul>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>config</servlet-name>
<servlet-class>org.igniterealtime.openfire.plugin.inverse.ConfigServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>config</servlet-name>
<url-pattern>/config.json</url-pattern>
</servlet-mapping>
</web-app>
\ No newline at end of file
<!doctype html>
<html class="no-js" lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>inVerse</title>
<link rel="shortcut icon" type="image/ico" href="inverse/css/images/favicon.ico"/>
<link type="text/css" rel="stylesheet" media="screen" href="inverse/css/inverse.min.css" />
<![if gte IE 9]>
<script src="inverse/dist/inverse.min.js"></script>
<![endif]>
</head>
<body>
<div class="content">
<div class="inner-content">
<h1 class="brand-heading"><i class="icon-conversejs"></i> inVerse</h1>
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$( document ).ready( function()
{
var config = {};
$.getJSON( 'config.json', function ( config )
{
converse.initialize( config );
});
});
</script>
</body>
</html>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="12px" viewBox="0 0 24 12" zoomAndPan="disable">
<line x1="0" y1="0" x2="12" y2="12" style="stroke:#ccc;stroke-width:1.5" />
<line x1="24" y1="0" x2="12" y2="12" style="stroke:#ccc;stroke-width:1.5" />
</svg>
\ No newline at end of file
<!--
Tessellate 1.0 by HTML5 UP
html5up.net | @n33co
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000px" height="1000px" viewBox="0 0 1000 1000" zoomAndPan="disable">
<style type="text/css"><![CDATA[
line
{
stroke: rgba(255,255,255,0.1);
stroke-width: 0.85px;
}
]]></style>
<line x1="-180" y1="0" x2="820" y2="1000" />
<line x1="-380" y1="0" x2="620" y2="1000" />
<line x1="-530" y1="0" x2="470" y2="1000" />
<line x1="-655" y1="0" x2="345" y2="1000" />
<line x1="-755" y1="0" x2="245" y2="1000" />
<line x1="-830" y1="0" x2="170" y2="1000" />
<line x1="-880" y1="0" x2="120" y2="1000" />
<line x1="-920" y1="0" x2="80" y2="1000" />
<line x1="-950" y1="0" x2="50" y2="1000" />
<line x1="-970" y1="0" x2="30" y2="1000" />
<line x1="-985" y1="0" x2="15" y2="1000" />
<line x1="-995" y1="0" x2="5" y2="1000" />
</svg>
\ No newline at end of file
<!--
Tessellate 1.0 by HTML5 UP
html5up.net | @n33co
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000px" height="1000px" viewBox="0 0 1000 1000" zoomAndPan="disable">
<style type="text/css"><![CDATA[
line
{
stroke: rgba(255,255,255,0.1);
stroke-width: 0.85px;
}
]]></style>
<line x1="180" y1="0" x2="1180" y2="1000" />
<line x1="380" y1="0" x2="1380" y2="1000" />
<line x1="530" y1="0" x2="1530" y2="1000" />
<line x1="655" y1="0" x2="1655" y2="1000" />
<line x1="755" y1="0" x2="1775" y2="1000" />
<line x1="830" y1="0" x2="1830" y2="1000" />
<line x1="880" y1="0" x2="1880" y2="1000" />
<line x1="920" y1="0" x2="1920" y2="1000" />
<line x1="950" y1="0" x2="1970" y2="1000" />
<line x1="970" y1="0" x2="1970" y2="1000" />
<line x1="985" y1="0" x2="1985" y2="1000" />
<line x1="995" y1="0" x2="1995" y2="1000" />
</svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="12px" viewBox="0 0 24 12" zoomAndPan="disable">
<line x1="0" y1="0" x2="12" y2="12" style="stroke:rgba(255,255,255,0.65);stroke-width:1" />
<line x1="24" y1="0" x2="12" y2="12" style="stroke:rgba(255,255,255,0.65);stroke-width:1" />
</svg>
\ No newline at end of file
/*!
* Converse.js (Web-based XMPP instant messaging client)
* http://conversejs.org
*
* Copyright (c) 2012-2014, JC Brand <jc@opkode.com>
* Licensed under the Mozilla Public License
*/@font-face{font-family:Converse-js;src:url(../fonticons/fonts/icomoon.eot?wvi0ht);src:url(../fonticons/fonts/icomoon.eot?wvi0ht#iefix) format("embedded-opentype"),url(../fonticons/fonts/icomoon.ttf?wvi0ht) format("truetype"),url(../fonticons/fonts/icomoon.woff?wvi0ht) format("woff"),url(../fonticons/fonts/icomoon.svg?wvi0ht#icomoon) format("svg");font-weight:400;font-style:normal}.icon-conversejs{font-family:Converse-js;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-conversejs:before{content:"\e600"}#converse-embedded-chat .icon-address-book:before,#conversejs .icon-address-book:before{content:"\270f"}#converse-embedded-chat .icon-angry:before,#conversejs .icon-angry:before{content:"\e03f"}#converse-embedded-chat .icon-attachment:before,#conversejs .icon-attachment:before{content:"\e032"}#converse-embedded-chat .icon-away:before,#conversejs .icon-away:before{content:"\25fb"}#converse-embedded-chat .icon-blocked:before,#conversejs .icon-blocked:before{content:"\2718"}#converse-embedded-chat .icon-bold:before,#conversejs .icon-bold:before{content:"\e04d"}#converse-embedded-chat .icon-bubbles-2:before,#conversejs .icon-bubbles-2:before{content:"\e016"}#converse-embedded-chat .icon-bubbles-3:before,#conversejs .icon-bubbles-3:before{content:"\e017"}#converse-embedded-chat .icon-bubbles:before,#conversejs .icon-bubbles:before{content:"\e015"}#converse-embedded-chat .icon-camera-2:before,#conversejs .icon-camera-2:before{content:"\2616"}#converse-embedded-chat .icon-camera:before,#conversejs .icon-camera:before{content:"\e003"}#converse-embedded-chat .icon-cancel-circle:before,#conversejs .icon-cancel-circle:before{content:"\e058"}#converse-embedded-chat .icon-chat:before,#conversejs .icon-chat:before{content:"\25fc"}#converse-embedded-chat .icon-checkbox-checked:before,#conversejs .icon-checkbox-checked:before{content:"\2611"}#converse-embedded-chat .icon-checkbox-partial:before,#conversejs .icon-checkbox-partial:before{content:"\2b28"}#converse-embedded-chat .icon-checkbox-unchecked:before,#conversejs .icon-checkbox-unchecked:before{content:"\2b27"}#converse-embedded-chat .icon-checkmark:before,#conversejs .icon-checkmark:before{content:"\2713"}#converse-embedded-chat .icon-close:before,#conversejs .icon-close:before{content:"\2715"}#converse-embedded-chat .icon-closed:before,#conversejs .icon-closed:before{content:"\25ba"}#converse-embedded-chat .icon-cog:before,#conversejs .icon-cog:before{content:"\e02f"}#converse-embedded-chat .icon-cogs:before,#conversejs .icon-cogs:before{content:"\e022"}#converse-embedded-chat .icon-confused:before,#conversejs .icon-confused:before{content:"\2368"}#converse-embedded-chat .icon-cool:before,#conversejs .icon-cool:before{content:"\e040"}#converse-embedded-chat .icon-database:before,#conversejs .icon-database:before{content:"\f1c0"}#converse-embedded-chat .icon-dnd:before,#conversejs .icon-dnd:before{content:"\e004"}#converse-embedded-chat .icon-envelop:before,#conversejs .icon-envelop:before{content:"\2709"}#converse-embedded-chat .icon-evil:before,#conversejs .icon-evil:before{content:"\261f"}#converse-embedded-chat .icon-eye-blocked:before,#conversejs .icon-eye-blocked:before{content:"\e031"}#converse-embedded-chat .icon-eye:before,#conversejs .icon-eye:before{content:"\e030"}#converse-embedded-chat .icon-globe:before,#conversejs .icon-globe:before{content:"\f0ac"}#converse-embedded-chat .icon-grin:before,#conversejs .icon-grin:before{content:"\e041"}#converse-embedded-chat .icon-happy:before,#conversejs .icon-happy:before{content:"\263b"}#converse-embedded-chat .icon-headphones:before,#conversejs .icon-headphones:before{content:"\266c"}#converse-embedded-chat .icon-heart:before,#conversejs .icon-heart:before{content:"\2764"}#converse-embedded-chat .icon-hide-users:before,#conversejs .icon-hide-users:before{content:"\e01c"}#converse-embedded-chat .icon-home:before,#conversejs .icon-home:before{content:"\e000"}#converse-embedded-chat .icon-idcard-dark:before,#conversejs .icon-idcard-dark:before{content:"\f2c2"}#converse-embedded-chat .icon-idcard:before,#conversejs .icon-idcard:before{content:"\f2c3"}#converse-embedded-chat .icon-image:before,#conversejs .icon-image:before{content:"\2b14"}#converse-embedded-chat .icon-info-2:before,#conversejs .icon-info-2:before{content:"i"}#converse-embedded-chat .icon-info:before,#conversejs .icon-info:before{content:"\2360"}#converse-embedded-chat .icon-italic:before,#conversejs .icon-italic:before{content:"\e04f"}#converse-embedded-chat .icon-key-2:before,#conversejs .icon-key-2:before{content:"\e029"}#converse-embedded-chat .icon-key:before,#conversejs .icon-key:before{content:"\e028"}#converse-embedded-chat .icon-legal:before,#conversejs .icon-legal:before{content:"\f0e3"}#converse-embedded-chat .icon-lock:before,#conversejs .icon-lock:before{content:"\e027"}#converse-embedded-chat .icon-logout:before,#conversejs .icon-logout:before{content:"\e601"}#converse-embedded-chat .icon-leave:before,#conversejs .icon-leave:before{content:"\e601"}#converse-embedded-chat .icon-minus:before,#conversejs .icon-minus:before{content:"\e05a"}#converse-embedded-chat .icon-music:before,#conversejs .icon-music:before{content:"\266b"}#converse-embedded-chat .icon-new-tab:before,#conversejs .icon-new-tab:before{content:"\e053"}#converse-embedded-chat .icon-newspaper:before,#conversejs .icon-newspaper:before{content:"\e001"}#converse-embedded-chat .icon-notebook:before,#conversejs .icon-notebook:before{content:"\2710"}#converse-embedded-chat .icon-notification:before,#conversejs .icon-notification:before{content:"\e01f"}#converse-embedded-chat .icon-offline:before,#conversejs .icon-offline:before{content:"\e002"}#converse-embedded-chat .icon-online:before,#conversejs .icon-online:before{content:"\25fc"}#converse-embedded-chat .icon-opened:before,#conversejs .icon-opened:before{content:"\25bc"}#converse-embedded-chat .icon-pencil:before,#conversejs .icon-pencil:before{content:"\270e"}#converse-embedded-chat .icon-phone-hang-up:before,#conversejs .icon-phone-hang-up:before{content:"\260e"}#converse-embedded-chat .icon-phone:before,#conversejs .icon-phone:before{content:"\260f"}#converse-embedded-chat .icon-play:before,#conversejs .icon-play:before{content:"\25d9"}#converse-embedded-chat .icon-plus:before,#conversejs .icon-plus:before{content:"\271a"}#converse-embedded-chat .icon-pushpin:before,#conversejs .icon-pushpin:before{content:"\e012"}#converse-embedded-chat .icon-quotes-left:before,#conversejs .icon-quotes-left:before{content:"\e01d"}#converse-embedded-chat .icon-radio-checked:before,#conversejs .icon-radio-checked:before{content:"\2b26"}#converse-embedded-chat .icon-radio-unchecked:before,#conversejs .icon-radio-unchecked:before{content:"\2b25"}#converse-embedded-chat .icon-remove:before,#conversejs .icon-remove:before{content:"\2715"}#converse-embedded-chat .icon-trash:before,#conversejs .icon-trash:before{content:"\e02d"}#converse-embedded-chat .icon-room-info:before,#conversejs .icon-room-info:before{content:"\e059"}#converse-embedded-chat .icon-sad:before,#conversejs .icon-sad:before{content:"\2639"}#converse-embedded-chat .icon-save:before,#conversejs .icon-save:before{content:"\f0c7"}#converse-embedded-chat .icon-search:before,#conversejs .icon-search:before{content:"\e021"}#converse-embedded-chat .icon-shocked:before,#conversejs .icon-shocked:before{content:"\2364"}#converse-embedded-chat .icon-show-users:before,#conversejs .icon-show-users:before{content:"\e01e"}#converse-embedded-chat .icon-smiley:before,#conversejs .icon-smiley:before{content:"\263a"}#converse-embedded-chat .icon-snowflake:before,#conversejs .icon-snowflake:before{content:"\f2dc"}#converse-embedded-chat .icon-spell-check:before,#conversejs .icon-spell-check:before{content:"\e045"}#converse-embedded-chat .icon-spinner:before,#conversejs .icon-spinner:before{content:"\231b"}#converse-embedded-chat .icon-strikethrough:before,#conversejs .icon-strikethrough:before{content:"\e050"}#converse-embedded-chat .icon-thumbs-up:before,#conversejs .icon-thumbs-up:before{content:"\261d"}#converse-embedded-chat .icon-tongue:before,#conversejs .icon-tongue:before{content:"\e038"}#converse-embedded-chat .icon-unavailable:before,#converse-embedded-chat .icon-underline:before,#conversejs .icon-unavailable:before,#conversejs .icon-underline:before{content:"\e04e"}#converse-embedded-chat .icon-unlocked:before,#conversejs .icon-unlocked:before{content:"\e025"}#converse-embedded-chat .icon-user:before,#conversejs .icon-user:before{content:"\e01a"}#converse-embedded-chat .icon-users:before,#conversejs .icon-users:before{content:"\e01b"}#converse-embedded-chat .icon-warning:before,#conversejs .icon-warning:before{content:"\26a0"}#converse-embedded-chat .icon-wink:before,#conversejs .icon-wink:before{content:"\e03a"}#converse-embedded-chat .icon-wondering:before,#conversejs .icon-wondering:before{content:"\2369"}#converse-embedded-chat .icon-wrench:before,#conversejs .icon-wrench:before{content:"\e024"}#converse-embedded-chat .icon-xa:before,#conversejs .icon-xa:before{content:"\e602"}#converse-embedded-chat .icon-youtube:before,#conversejs .icon-youtube:before{content:"\e055"}#converse-embedded-chat .icon-zoom-in:before,#conversejs .icon-zoom-in:before{content:"\e02b"}#converse-embedded-chat .icon-zoom-out:before,#conversejs .icon-zoom-out:before{content:"\e02a"}#converse-embedded-chat [data-icon]:before,#conversejs [data-icon]:before{content:attr(data-icon);font-family:Converse-js;font-variant:normal;font-weight:400;line-height:1;speak:none;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#converse-embedded-chat [class*=" icon-"]:before,#converse-embedded-chat [class^=icon-]:before,#conversejs [class*=" icon-"]:before,#conversejs [class^=icon-]:before{background-position:14px 14px;background-image:none;font-family:Converse-js;font-style:normal;font-variant:normal;font-weight:400;width:auto;height:auto;line-height:1;speak:none;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#conversejs{/*!
Pure v0.6.1-pre
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
https://github.com/yahoo/pure/blob/master/LICENSE.md
*//*!
normalize.css v^3.0 | MIT License | git.io/normalize
Copyright (c) Nicolas Gallagher and Jonathan Neal
*//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css *//*!
Pure v0.6.1-pre
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
https://github.com/yahoo/pure/blob/master/LICENSE.md
*//*!
Pure v0.6.1-pre
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
https://github.com/yahoo/pure/blob/master/LICENSE.md
*/-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#conversejs html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}#conversejs body{margin:0}#conversejs article,#conversejs aside,#conversejs details,#conversejs figcaption,#conversejs figure,#conversejs footer,#conversejs header,#conversejs hgroup,#conversejs main,#conversejs menu,#conversejs nav,#conversejs section,#conversejs summary{display:block}#conversejs audio,#conversejs canvas,#conversejs progress,#conversejs video{display:inline-block;vertical-align:baseline}#conversejs audio:not([controls]){display:none;height:0}#conversejs [hidden],#conversejs template{display:none}#conversejs a{background-color:transparent}#conversejs a:active,#conversejs a:hover{outline:0}#conversejs abbr[title]{border-bottom:1px dotted}#conversejs b,#conversejs strong{font-weight:700}#conversejs dfn{font-style:italic}#conversejs h1{font-size:2em;margin:.67em 0}#conversejs mark{background:#ff0;color:#000}#conversejs small{font-size:80%}#conversejs sub,#conversejs sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}#conversejs sup{top:-.5em}#conversejs sub{bottom:-.25em}#conversejs img{border:0}#conversejs svg:not(:root){overflow:hidden}#conversejs figure{margin:1em 40px}#conversejs hr{box-sizing:content-box;height:0}#conversejs pre{overflow:auto}#conversejs code,#conversejs kbd,#conversejs pre,#conversejs samp{font-family:monospace,monospace;font-size:1em}#conversejs button,#conversejs input,#conversejs optgroup,#conversejs select,#conversejs textarea{color:inherit;font:inherit;margin:0}#conversejs button{overflow:visible}#conversejs button,#conversejs select{text-transform:none}#conversejs button,#conversejs html input[type=button],#conversejs input[type=reset],#conversejs input[type=submit]{-webkit-appearance:button;cursor:pointer}#conversejs button[disabled],#conversejs html input[disabled]{cursor:default}#conversejs button::-moz-focus-inner,#conversejs input::-moz-focus-inner{border:0;padding:0}#conversejs input{line-height:normal}#conversejs input[type=checkbox],#conversejs input[type=radio]{box-sizing:border-box;padding:0}#conversejs input[type=number]::-webkit-inner-spin-button,#conversejs input[type=number]::-webkit-outer-spin-button{height:auto}#conversejs input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}#conversejs input[type=search]::-webkit-search-cancel-button,#conversejs input[type=search]::-webkit-search-decoration{-webkit-appearance:none}#conversejs fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}#conversejs legend{border:0;padding:0}#conversejs textarea{overflow:auto}#conversejs optgroup{font-weight:700}#conversejs table{border-collapse:collapse;border-spacing:0}#conversejs td,#conversejs th{padding:0}#conversejs .hidden,#conversejs [hidden]{display:none!important}#conversejs .pure-img{max-width:100%;height:auto;display:block}#conversejs .pure-form input[type=color],#conversejs .pure-form input[type=date],#conversejs .pure-form input[type=datetime-local],#conversejs .pure-form input[type=datetime],#conversejs .pure-form input[type=email],#conversejs .pure-form input[type=month],#conversejs .pure-form input[type=number],#conversejs .pure-form input[type=password],#conversejs .pure-form input[type=search],#conversejs .pure-form input[type=tel],#conversejs .pure-form input[type=text],#conversejs .pure-form input[type=time],#conversejs .pure-form input[type=url],#conversejs .pure-form input[type=week],#conversejs .pure-form select,#conversejs .pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#conversejs .pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#conversejs .pure-form input[type=color]{padding:.2em .5em}#conversejs .pure-form input[type=color]:focus,#conversejs .pure-form input[type=date]:focus,#conversejs .pure-form input[type=datetime-local]:focus,#conversejs .pure-form input[type=datetime]:focus,#conversejs .pure-form input[type=email]:focus,#conversejs .pure-form input[type=month]:focus,#conversejs .pure-form input[type=number]:focus,#conversejs .pure-form input[type=password]:focus,#conversejs .pure-form input[type=search]:focus,#conversejs .pure-form input[type=tel]:focus,#conversejs .pure-form input[type=text]:focus,#conversejs .pure-form input[type=time]:focus,#conversejs .pure-form input[type=url]:focus,#conversejs .pure-form input[type=week]:focus,#conversejs .pure-form select:focus,#conversejs .pure-form textarea:focus{outline:0;border-color:#1a9707}#conversejs .pure-form input:not([type]):focus{outline:0;border-color:#1a9707}#conversejs .pure-form input[type=checkbox]:focus,#conversejs .pure-form input[type=file]:focus,#conversejs .pure-form input[type=radio]:focus{outline:thin solid #1a9707;outline:1px auto #1a9707}#conversejs .pure-form .pure-checkbox,#conversejs .pure-form .pure-radio{margin:.5em 0;display:block}#conversejs .pure-form input[type=color][disabled],#conversejs .pure-form input[type=date][disabled],#conversejs .pure-form input[type=datetime-local][disabled],#conversejs .pure-form input[type=datetime][disabled],#conversejs .pure-form input[type=email][disabled],#conversejs .pure-form input[type=month][disabled],#conversejs .pure-form input[type=number][disabled],#conversejs .pure-form input[type=password][disabled],#conversejs .pure-form input[type=search][disabled],#conversejs .pure-form input[type=tel][disabled],#conversejs .pure-form input[type=text][disabled],#conversejs .pure-form input[type=time][disabled],#conversejs .pure-form input[type=url][disabled],#conversejs .pure-form input[type=week][disabled],#conversejs .pure-form select[disabled],#conversejs .pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}#conversejs .pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}#conversejs .pure-form input[readonly],#conversejs .pure-form select[readonly],#conversejs .pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}#conversejs .pure-form input:focus:invalid,#conversejs .pure-form select:focus:invalid,#conversejs .pure-form textarea:focus:invalid{color:#b94a48;border-color:#e9322d}#conversejs .pure-form input[type=checkbox]:focus:invalid:focus,#conversejs .pure-form input[type=file]:focus:invalid:focus,#conversejs .pure-form input[type=radio]:focus:invalid:focus{outline-color:#e9322d}#conversejs .pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}#conversejs .pure-form select[multiple]{height:auto}#conversejs .pure-form label{margin:.5em 0 .2em}#conversejs .pure-form fieldset{margin:0;padding:.35em 0 .35em;border:0}#conversejs .pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}#conversejs .pure-form-stacked input[type=color],#conversejs .pure-form-stacked input[type=date],#conversejs .pure-form-stacked input[type=datetime-local],#conversejs .pure-form-stacked input[type=datetime],#conversejs .pure-form-stacked input[type=email],#conversejs .pure-form-stacked input[type=file],#conversejs .pure-form-stacked input[type=month],#conversejs .pure-form-stacked input[type=number],#conversejs .pure-form-stacked input[type=password],#conversejs .pure-form-stacked input[type=search],#conversejs .pure-form-stacked input[type=tel],#conversejs .pure-form-stacked input[type=text],#conversejs .pure-form-stacked input[type=time],#conversejs .pure-form-stacked input[type=url],#conversejs .pure-form-stacked input[type=week],#conversejs .pure-form-stacked label,#conversejs .pure-form-stacked select,#conversejs .pure-form-stacked textarea{display:block;margin:.25em 0}#conversejs .pure-form-stacked input:not([type]){display:block;margin:.25em 0}#conversejs .pure-form-aligned .pure-help-inline,#conversejs .pure-form-aligned input,#conversejs .pure-form-aligned select,#conversejs .pure-form-aligned textarea,#conversejs .pure-form-message-inline{display:inline-block;vertical-align:middle}#conversejs .pure-form-aligned textarea{vertical-align:top}#conversejs .pure-form-aligned .pure-control-group{margin-bottom:.5em}#conversejs .pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}#conversejs .pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}#conversejs .pure-form .pure-input-rounded,#conversejs .pure-form input.pure-input-rounded{border-radius:2em;padding:.5em 1em}#conversejs .pure-form .pure-group fieldset{margin-bottom:10px}#conversejs .pure-form .pure-group input,#conversejs .pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}#conversejs .pure-form .pure-group input:focus,#conversejs .pure-form .pure-group textarea:focus{z-index:3}#conversejs .pure-form .pure-group input:first-child,#conversejs .pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}#conversejs .pure-form .pure-group input:first-child:last-child,#conversejs .pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}#conversejs .pure-form .pure-group input:last-child,#conversejs .pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}#conversejs .pure-form .pure-group button{margin:.35em 0}#conversejs .pure-form .pure-input-1{width:100%}#conversejs .pure-form .pure-input-3-4{width:75%}#conversejs .pure-form .pure-input-2-3{width:66%}#conversejs .pure-form .pure-input-1-2{width:50%}#conversejs .pure-form .pure-input-1-3{width:33%}#conversejs .pure-form .pure-input-1-4{width:25%}#conversejs .pure-form .pure-help-inline,#conversejs .pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}#conversejs .pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width:480px){#conversejs .pure-form button[type=submit]{margin:.7em 0 0}#conversejs .pure-form input:not([type]),#conversejs .pure-form input[type=color],#conversejs .pure-form input[type=date],#conversejs .pure-form input[type=datetime-local],#conversejs .pure-form input[type=datetime],#conversejs .pure-form input[type=email],#conversejs .pure-form input[type=month],#conversejs .pure-form input[type=number],#conversejs .pure-form input[type=password],#conversejs .pure-form input[type=search],#conversejs .pure-form input[type=tel],#conversejs .pure-form input[type=text],#conversejs .pure-form input[type=time],#conversejs .pure-form input[type=url],#conversejs .pure-form input[type=week],#conversejs .pure-form label{margin-bottom:.3em;display:block}#conversejs .pure-group input:not([type]),#conversejs .pure-group input[type=color],#conversejs .pure-group input[type=date],#conversejs .pure-group input[type=datetime-local],#conversejs .pure-group input[type=datetime],#conversejs .pure-group input[type=email],#conversejs .pure-group input[type=month],#conversejs .pure-group input[type=number],#conversejs .pure-group input[type=password],#conversejs .pure-group input[type=search],#conversejs .pure-group input[type=tel],#conversejs .pure-group input[type=text],#conversejs .pure-group input[type=time],#conversejs .pure-group input[type=url],#conversejs .pure-group input[type=week]{margin-bottom:0}#conversejs .pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}#conversejs .pure-form-aligned .pure-controls{margin:1.5em 0 0 0}#conversejs .pure-form .pure-help-inline,#conversejs .pure-form-message,#conversejs .pure-form-message-inline{display:block;font-size:.75em;padding:.2em 0 .8em}}#conversejs .pure-button{display:inline-block;zoom:1;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#conversejs .pure-button::-moz-focus-inner{padding:0;border:0}#conversejs .pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#444;color:rgba(0,0,0,.8);border:1px solid #999;border:none transparent;background-color:#e6e6e6;text-decoration:none;border-radius:2px}#conversejs .pure-button-hover,#conversejs .pure-button:focus,#conversejs .pure-button:hover{background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}#conversejs .pure-button:focus{outline:0}#conversejs .pure-button-active,#conversejs .pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset}#conversejs .pure-button-disabled,#conversejs .pure-button-disabled:active,#conversejs .pure-button-disabled:focus,#conversejs .pure-button-disabled:hover,#conversejs .pure-button[disabled]{border:none;background-image:none;-khtml-opacity:.4;-moz-opacity:.4;opacity:.4;cursor:not-allowed;box-shadow:none}#conversejs .pure-button-hidden{display:none}#conversejs .pure-button::-moz-focus-inner{padding:0;border:0}#conversejs .pure-button-primary,#conversejs .pure-button-selected,#conversejs a.pure-button-primary,#conversejs a.pure-button-selected{background-color:#0078e7;color:#fff}#conversejs *,#conversejs :after,#conversejs :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media screen and (max-width:480px){#conversejs{margin:0;right:10px;left:10px;bottom:5px}}@media screen and (max-height:450px){#conversejs{margin:0;right:10px;left:10px;bottom:5px}}#conversejs ul li{height:auto}#conversejs a,#conversejs article,#conversejs aside,#conversejs audio,#conversejs blockquote,#conversejs canvas,#conversejs caption,#conversejs dd,#conversejs details,#conversejs div,#conversejs dl,#conversejs dt,#conversejs em,#conversejs embed,#conversejs fieldset,#conversejs figcaption,#conversejs figure,#conversejs footer,#conversejs form,#conversejs h1,#conversejs h2,#conversejs h3,#conversejs h4,#conversejs h5,#conversejs h6,#conversejs header,#conversejs hgroup,#conversejs img,#conversejs label,#conversejs legend,#conversejs li,#conversejs mark,#conversejs menu,#conversejs nav,#conversejs ol,#conversejs output,#conversejs p,#conversejs pre,#conversejs ruby,#conversejs section,#conversejs span,#conversejs strong,#conversejs summary,#conversejs table,#conversejs tbody,#conversejs td,#conversejs tfoot,#conversejs th,#conversejs thead,#conversejs time,#conversejs tr,#conversejs ul,#conversejs video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}#conversejs button,#conversejs input[type=button],#conversejs input[type=password],#conversejs input[type=submit],#conversejs input[type=text],#conversejs textarea{font-size:16px;padding:.25em;min-height:0}#conversejs strong{font-weight:700}#conversejs ol,#conversejs ul{list-style:none}#conversejs li{height:10px}#conversejs dl,#conversejs ol,#conversejs ul{font:inherit;margin:0}#conversejs a,#conversejs a:visited{text-decoration:none;color:#578ea9;text-shadow:none}#converse-embedded-chat,#conversejs{bottom:0;color:#818479;direction:ltr;display:block;font-family:Helvetica,Arial,sans-serif;font-size:16px;height:35px;position:fixed;right:0;width:auto;z-index:1031}@media screen and (max-height:450px){#converse-embedded-chat,#conversejs{width:100%;width:100vw}}@media screen and (max-width:480px){#converse-embedded-chat,#conversejs{width:100%;width:100vw}}#converse-embedded-chat ::-webkit-input-placeholder,#conversejs ::-webkit-input-placeholder{color:#a8aba1}#converse-embedded-chat ::-moz-placeholder,#conversejs ::-moz-placeholder{color:#a8aba1}#converse-embedded-chat :-ms-input-placeholder,#conversejs :-ms-input-placeholder{color:#a8aba1}#converse-embedded-chat :-moz-placeholder,#conversejs :-moz-placeholder{color:#a8aba1}#converse-embedded-chat ::placeholder,#conversejs ::placeholder{color:#a8aba1}#converse-embedded-chat .circle,#conversejs .circle{border-radius:50%}#converse-embedded-chat ::selection,#conversejs ::selection{background-color:#dcf9f6}#converse-embedded-chat ::-moz-selection,#conversejs ::-moz-selection{background-color:#dcf9f6}#converse-embedded-chat .no-text-select,#conversejs .no-text-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#converse-embedded-chat .emoticon,#conversejs .emoticon{font-size:16px}@keyframes fadein{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadein{0%{opacity:0}100%{opacity:1}}#converse-embedded-chat .visible,#conversejs .visible{visibility:visible;opacity:1;-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-duration:350ms;-moz-animation-duration:350ms;animation-duration:350ms;-webkit-animation-timing-function:ease;-moz-animation-timing-function:ease;animation-timing-function:ease}#converse-embedded-chat .hidden,#conversejs .hidden{opacity:0;display:none}#converse-embedded-chat .locked,#conversejs .locked{padding-right:22px}@-webkit-keyframes spin{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(359deg)}}@-moz-keyframes spin{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(359deg)}}@keyframes spin{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}}#converse-embedded-chat .spinner,#conversejs .spinner{-webkit-animation:spin 2s infinite,linear;-moz-animation:spin 2s infinite,linear;animation:spin 2s infinite,linear;display:block;text-align:center;margin:1em}#converse-embedded-chat .spinner:before,#conversejs .spinner:before{font-size:24px;font-family:Converse-js!important;content:"\231b"}#converse-embedded-chat .left,#conversejs .left{float:left}#converse-embedded-chat .right,#conversejs .right{float:right}#converse-embedded-chat .centered,#conversejs .centered{text-align:center;display:block;margin:0;padding:10% 0}#converse-embedded-chat .hor_centered,#conversejs .hor_centered{text-align:center;display:block;margin:0 auto;clear:both}#converse-embedded-chat .button-group,#converse-embedded-chat .input-button-group,#conversejs .button-group,#conversejs .input-button-group{display:table}#converse-embedded-chat .button-group,#conversejs .button-group{width:100%}#converse-embedded-chat .input-button-group button,#converse-embedded-chat .input-button-group input,#conversejs .input-button-group button,#conversejs .input-button-group input{display:table-cell}#converse-embedded-chat .error,#conversejs .error{color:#a53214}#converse-embedded-chat .reg-feedback,#conversejs .reg-feedback{font-size:85%}#converse-embedded-chat #converse-login .conn-feedback,#converse-embedded-chat .reg-feedback,#conversejs #converse-login .conn-feedback,#conversejs .reg-feedback{display:block;text-align:center;width:100%}#converse-embedded-chat a.restore-chat,#conversejs a.restore-chat{padding:1px 0 1px 5px;color:#fff;line-height:15px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#converse-embedded-chat a.restore-chat:visited,#conversejs a.restore-chat:visited{color:#fff}#converse-embedded-chat .activated,#conversejs .activated{display:block!important}#converse-embedded-chat .pure-button,#conversejs .pure-button{border-radius:7px}#converse-embedded-chat .button-primary,#conversejs .button-primary{color:#fff;background-color:#e7a151}#converse-embedded-chat .button-secondary,#conversejs .button-secondary{color:#fff;background-color:#387592}#converse-embedded-chat .button-cancel,#conversejs .button-cancel{color:#fff;background-color:#818479}#converse-embedded-chat form.pure-form.converse-form,#conversejs form.pure-form.converse-form{background:#fff;padding:0 1em}#converse-embedded-chat form.pure-form.converse-form legend,#conversejs form.pure-form.converse-form legend{color:#818479}#converse-embedded-chat form.pure-form.converse-form label,#conversejs form.pure-form.converse-form label{margin-top:1em;font-size:18px}#converse-embedded-chat form.pure-form.converse-form input[type=button],#converse-embedded-chat form.pure-form.converse-form input[type=number],#converse-embedded-chat form.pure-form.converse-form input[type=password],#converse-embedded-chat form.pure-form.converse-form input[type=submit],#converse-embedded-chat form.pure-form.converse-form input[type=text],#conversejs form.pure-form.converse-form input[type=button],#conversejs form.pure-form.converse-form input[type=number],#conversejs form.pure-form.converse-form input[type=password],#conversejs form.pure-form.converse-form input[type=submit],#conversejs form.pure-form.converse-form input[type=text]{padding:.5em}#converse-embedded-chat form.pure-form.converse-form input[type=button],#converse-embedded-chat form.pure-form.converse-form input[type=submit],#conversejs form.pure-form.converse-form input[type=button],#conversejs form.pure-form.converse-form input[type=submit]{padding-left:1em;padding-right:1em;margin:.5em 0;border:none}#converse-embedded-chat form.pure-form.converse-form input.error,#conversejs form.pure-form.converse-form input.error{border:1px solid #a53214;color:#818479}#converse-embedded-chat form.pure-form.converse-form .form-help,#conversejs form.pure-form.converse-form .form-help{color:gray;font-size:85%;padding-top:.5em}#converse-embedded-chat form.pure-form.converse-form .form-help:hover,#conversejs form.pure-form.converse-form .form-help:hover{color:#818479}#converse-embedded-chat form.pure-form.converse-centered-form,#conversejs form.pure-form.converse-centered-form{text-align:center;width:100%}#converse-embedded-chat .chat-textarea-chatbox-selected,#conversejs .chat-textarea-chatbox-selected{border:1px solid #578308;margin:0}#converse-embedded-chat .chat-textarea-chatroom-selected,#conversejs .chat-textarea-chatroom-selected{border:2px solid #578ea9;margin:0}#converse-embedded-chat .dropdown dt,#converse-embedded-chat .dropdown ul,#conversejs .dropdown dt,#conversejs .dropdown ul{margin:0;padding:0}body{width:100%;height:100%;font-family:Lora,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#fff;background-color:#578ea9}body .brand-heading{font-size:600%;margin-left:-10%}body .brand-heading .icon-conversejs{font-size:88%}body div.content{height:100vh;width:100vw;position:fixed;background-color:#578ea9}body div.content .inner-content{text-align:center;padding:7%;padding-left:-webkit-calc(5% + 250px);padding-left:calc(5% + 250px)}body div.content .inner-content p.no-chats{padding-right:10%;font-size:120%}#conversejs{width:100vw;height:100vh}#conversejs form.pure-form.converse-form{margin:1em}#conversejs form.pure-form.converse-form legend{color:#818479}#conversejs form.pure-form.converse-form label{margin-top:1em}#conversejs form.pure-form.converse-form input[type=button],#conversejs form.pure-form.converse-form input[type=number],#conversejs form.pure-form.converse-form input[type=password],#conversejs form.pure-form.converse-form input[type=submit],#conversejs form.pure-form.converse-form input[type=text]{height:2.2em}#conversejs form.pure-form.converse-form input[type=button],#conversejs form.pure-form.converse-form input[type=submit]{padding-left:1em;padding-right:1em;margin-right:1em}#converse-embedded-chat .flyout,#conversejs .flyout{border-radius:7px;bottom:6px;display:block;position:absolute}@media screen and (max-height:450px){#converse-embedded-chat .flyout,#conversejs .flyout{border-radius:0}}@media screen and (max-width:480px){#converse-embedded-chat .flyout,#conversejs .flyout{border-radius:0}}@media screen and (max-height:450px){#converse-embedded-chat .flyout,#conversejs .flyout{bottom:0}}@media screen and (max-width:480px){#converse-embedded-chat .flyout,#conversejs .flyout{bottom:0}}#converse-embedded-chat .chat-head,#conversejs .chat-head{color:#fff;font-size:100%;height:62px;margin:0;padding:.5em;position:relative}#converse-embedded-chat .chat-head .avatar,#conversejs .chat-head .avatar{margin-right:.5em;border-radius:50%;float:left}#converse-embedded-chat .chat-head.chat-head-chatbox,#conversejs .chat-head.chat-head-chatbox{background-color:#3aa569}#converse-embedded-chat .chat-head .user-custom-message,#conversejs .chat-head .user-custom-message{color:#fff;font-size:75%;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding-top:.2em}#converse-embedded-chat .chatbox-btn,#conversejs .chatbox-btn{border-radius:25%;border:none;color:#fff;cursor:pointer;display:inline-block;float:right;font-size:16px;margin:0 .2em;padding:.3em;text-decoration:none}#converse-embedded-chat .chatbox-btn:active,#conversejs .chatbox-btn:active{position:relative;top:1px}#converse-embedded-chat .chatbox-btn.button-on,#conversejs .chatbox-btn.button-on{background-color:#fff;color:#3aa569}#converse-embedded-chat .chatbox,#conversejs .chatbox{display:block;text-align:left;float:right;height:35px;margin:0 .5em;width:100%}@media screen and (max-height:450px){#converse-embedded-chat .chatbox,#conversejs .chatbox{margin:0;width:100%}}@media screen and (max-width:480px){#converse-embedded-chat .chatbox,#conversejs .chatbox{margin:0;width:100%}}#converse-embedded-chat .chatbox .box-flyout,#conversejs .chatbox .box-flyout{background-color:#fff;box-shadow:1px 3px 5px 3px rgba(0,0,0,.4);height:100%;min-height:50%;min-width:100%;width:100%;z-index:1}@media screen and (max-height:450px){#converse-embedded-chat .chatbox .box-flyout,#conversejs .chatbox .box-flyout{height:400px;width:100%;height:100vh}}@media screen and (max-width:480px){#converse-embedded-chat .chatbox .box-flyout,#conversejs .chatbox .box-flyout{height:400px;width:100%;height:100vh}}#converse-embedded-chat .chatbox .chat-title,#conversejs .chatbox .chat-title{color:#fff;line-height:15px;display:block;text-overflow:ellipsis;overflow:hidden}#converse-embedded-chat .chatbox .chat-title a,#conversejs .chatbox .chat-title a{color:#fff;width:100%}#converse-embedded-chat .chatbox .chat-body,#conversejs .chatbox .chat-body{background-color:#fff;border-bottom-left-radius:7px;border-bottom-right-radius:7px;border-top:0;height:289px;height:-webkit-calc(100% - 62px);height:calc(100% - 62px)}@media screen and (max-height:450px){#converse-embedded-chat .chatbox .chat-body,#conversejs .chatbox .chat-body{border-bottom-left-radius:0;border-bottom-right-radius:0}}@media screen and (max-width:480px){#converse-embedded-chat .chatbox .chat-body,#conversejs .chatbox .chat-body{border-bottom-left-radius:0;border-bottom-right-radius:0}}#converse-embedded-chat .chatbox .chat-body p,#conversejs .chatbox .chat-body p{color:#818479;font-size:16px;margin:0;padding:5px}#converse-embedded-chat .chatbox .chat-body .chat-info,#conversejs .chatbox .chat-body .chat-info{line-height:22px;color:#3aa569;font-size:16px;margin:.3em}#converse-embedded-chat .chatbox .chat-body .chat-info.chat-event,#conversejs .chatbox .chat-body .chat-info.chat-event{clear:left;font-style:italic}#converse-embedded-chat .chatbox .chat-body .chat-info.chat-error,#conversejs .chatbox .chat-body .chat-info.chat-error{color:#d24e2b;font-weight:700}#converse-embedded-chat .chatbox .chat-body .chat-info.chat-date,#conversejs .chatbox .chat-body .chat-info.chat-date{display:inline-block;margin-top:1em}#converse-embedded-chat .chatbox .chat-body .chat-image,#conversejs .chatbox .chat-body .chat-image{max-height:24em}#converse-embedded-chat .chatbox .chat-body .chat-action,#conversejs .chatbox .chat-body .chat-action{font-style:italic}#converse-embedded-chat .chatbox .chat-body .chat-message,#conversejs .chatbox .chat-body .chat-message{margin:.3em}#converse-embedded-chat .chatbox .chat-body .chat-message span.chat-msg-author,#conversejs .chatbox .chat-body .chat-message span.chat-msg-author{font-weight:700;white-space:nowrap;float:left;text-overflow:ellipsis;overflow:hidden}#converse-embedded-chat .chatbox .chat-body .chat-message span.chat-msg-them,#conversejs .chatbox .chat-body .chat-message span.chat-msg-them{color:#e77051}#converse-embedded-chat .chatbox .chat-body .chat-message span.chat-msg-me,#conversejs .chatbox .chat-body .chat-message span.chat-msg-me{color:#578ea9}#converse-embedded-chat .chatbox .chat-body .chat-message span.chat-msg-content,#conversejs .chatbox .chat-body .chat-message span.chat-msg-content{max-width:100%;word-wrap:break-word}#converse-embedded-chat .chatbox .chat-body .delayed .chat-msg-them,#conversejs .chatbox .chat-body .delayed .chat-msg-them{color:#fb5d50}#converse-embedded-chat .chatbox .chat-body .delayed .chat-msg-me,#conversejs .chatbox .chat-body .delayed .chat-msg-me{color:#7eabbb}#converse-embedded-chat .chatbox .new-msgs-indicator,#conversejs .chatbox .new-msgs-indicator{position:absolute;width:100%;cursor:pointer;background-color:#3aa569;color:#fcfdfd;padding:.5em;font-size:.9em;text-align:center;z-index:20;white-space:nowrap}#converse-embedded-chat .chatbox .chat-content,#conversejs .chatbox .chat-content{position:relative;padding:.5em;font-size:13px;color:#818479;overflow-y:auto;border:0;background-color:#fff;line-height:1.3em;height:206px;height:calc(100% - 100px)}#converse-embedded-chat .chatbox .chat-content-sendbutton,#conversejs .chatbox .chat-content-sendbutton{height:calc(100% - 132px)}#converse-embedded-chat .chatbox .dropdown,#conversejs .chatbox .dropdown{background-color:#fcfdfd}#converse-embedded-chat .chatbox .dropdown dd,#conversejs .chatbox .dropdown dd{margin:0;padding:0;position:relative}#converse-embedded-chat .chatbox form.sendXMPPMessage,#conversejs .chatbox form.sendXMPPMessage{-moz-background-clip:padding;-webkit-background-clip:padding-box;border-bottom-left-radius:7px;border-bottom-right-radius:7px;background-clip:padding-box;border-top:1px solid #bbb;border:0;margin:0;padding:0;position:relative;height:99px;min-width:100%}@media screen and (max-height:450px){#converse-embedded-chat .chatbox form.sendXMPPMessage,#conversejs .chatbox form.sendXMPPMessage{width:100%}}@media screen and (max-width:480px){#converse-embedded-chat .chatbox form.sendXMPPMessage,#conversejs .chatbox form.sendXMPPMessage{width:100%}}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-textarea,#conversejs .chatbox form.sendXMPPMessage .chat-textarea{border-bottom-left-radius:7px;border-bottom-right-radius:7px;border:0;height:70px;padding:.5em;width:100%;resize:none}#converse-embedded-chat .chatbox form.sendXMPPMessage .send-button,#conversejs .chatbox form.sendXMPPMessage .send-button{position:absolute;left:3px;width:-webkit-calc(100% - 6px);width:calc(100% - 6px);background-color:#3aa569;color:#fff;font-size:80%;height:27px;bottom:-30px}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar{box-sizing:border-box;margin:0;padding:5px;height:29px;display:block;background-color:#e7fbf0}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar a,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar a{font-size:16px;color:#818479;text-decoration:none;text-shadow:none}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toolbar-picker-panel a,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toolbar-picker-panel a{color:#578ea9}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .chat-toolbar-text,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .chat-toolbar-text{font-size:12px;padding-right:3px}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .unencrypted,#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .unencrypted a,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .unencrypted,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .unencrypted a{color:#818479}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .unencrypted .toolbar-picker-panel a,#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .unencrypted a .toolbar-picker-panel a,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .unencrypted .toolbar-picker-panel a,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .unencrypted a .toolbar-picker-panel a{color:#578ea9}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .unverified,#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .unverified a,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .unverified,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .unverified a{color:#cf5300}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .private,#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .private a,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .private,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .private a{color:#4b7003}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-clear,#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-occupants,#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-otr,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-clear,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-occupants,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-otr{float:right}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar li,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar li{display:inline-block;list-style:none;padding:0 3px 0 3px;cursor:pointer;margin-top:1px}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar li:hover,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar li:hover{cursor:pointer}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar ul,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar ul{background:#fff;bottom:100%;box-shadow:-1px -1px 2px 0 rgba(0,0,0,.4);display:none;font-size:12px;margin:0;position:absolute;right:0}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar ul li,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar ul li{cursor:pointer;list-style:none;position:relative}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar ul li a:hover,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar ul li a:hover{color:#8f2831}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar li,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar li{margin-left:0}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-smiley,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-smiley{color:#818479;padding-left:5px}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-smiley ul,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-smiley ul{left:0}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-smiley ul li,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-smiley ul li{font-size:16px;padding:5px;z-index:98}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-smiley ul li:hover,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-smiley ul li:hover{background-color:#dcf9f6}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-otr ul li,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-otr ul li{padding:7px;background-color:#fff;display:block;z-index:99}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-otr ul li a,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-otr ul li a{-moz-transition:background-color .2s ease-in-out;-webkit-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out;display:block;padding:1px;text-decoration:none}#converse-embedded-chat .chatbox form.sendXMPPMessage .chat-toolbar .toggle-otr ul li:hover,#conversejs .chatbox form.sendXMPPMessage .chat-toolbar .toggle-otr ul li:hover{background-color:#dcf9f6}#converse-embedded-chat .chatbox .dragresize,#conversejs .chatbox .dragresize{background:0 0;border:0;margin:0;position:absolute;top:0;z-index:20}#converse-embedded-chat .chatbox .dragresize-top,#conversejs .chatbox .dragresize-top{cursor:n-resize;height:5px;width:100%}#converse-embedded-chat .chatbox .dragresize-left,#conversejs .chatbox .dragresize-left{cursor:w-resize;width:5px;height:100%;left:0}#converse-embedded-chat .chatbox .dragresize-topleft,#conversejs .chatbox .dragresize-topleft{cursor:nw-resize;width:15px;height:15px;top:0;left:0}#conversejs .chatbox-btn{font-size:18px;margin:0 .3em}#conversejs .flyout{border:1.2em solid #3aa569;border-top:.8em solid #3aa569;border-radius:0;bottom:0}#conversejs .chat-head{font-size:20px;padding:0}#conversejs .chat-head .user-custom-message{font-size:66%;height:auto;line-height:22px}#conversejs .chat-head.chat-head-chatbox .close-chatbox-button{display:none}#conversejs .chat-head .avatar{border-radius:25%}#conversejs .chatbox{height:100%;margin:0;width:-webkit-calc(100% - 250px);width:calc(100% - 250px);margin:0}#conversejs .chatbox .box-flyout{background-color:#3aa569;width:-webkit-calc(100% - 250px);width:calc(100% - 250px);box-shadow:none;min-width:auto}#conversejs .chatbox .chat-body{background-color:#3aa569;border-top-left-radius:7px;border-top-right-radius:7px}#conversejs .chatbox .chat-body .chat-message{font-size:14px;line-height:20px;margin:.5em 0}#conversejs .chatbox .chat-content{padding:0 1em 1em 1em;border-top-left-radius:7px;border-top-right-radius:7px}#conversejs .chatbox .chat-title{font-size:26px;line-height:26px}#conversejs .chatbox form.sendXMPPMessage ul{width:100%}#conversejs .chatbox form.sendXMPPMessage .toggle-smiley{padding-left:.5em}#conversejs .chatbox form.sendXMPPMessage .toggle-smiley ul li{padding:.5em}#conversejs #controlbox{margin-right:1em}@media screen and (max-width:480px){#conversejs #controlbox{margin:0}}@media screen and (max-height:450px){#conversejs #controlbox{margin:0}}#conversejs #controlbox .controlbox-head{background-color:#578ea9;border-top-left-radius:7px;border-top-right-radius:7px;color:#fff;height:62px;margin:0;padding:6px 6px 6px 0}@media screen and (max-height:450px){#conversejs #controlbox .controlbox-head{border-top-left-radius:0;border-top-right-radius:0}}@media screen and (max-width:480px){#conversejs #controlbox .controlbox-head{border-top-left-radius:0;border-top-right-radius:0}}#conversejs #controlbox form.search-xmpp-contact{margin:0;padding-left:5px;padding:0 0 5px 5px}#conversejs #controlbox form.search-xmpp-contact input{width:8em}#conversejs #controlbox .msgs-indicator{border-radius:3px;background-color:#e77051;color:#fff;font-size:14px;font-weight:400;padding:0 4px;text-shadow:none}#conversejs #controlbox a.subscribe-to-user{padding-left:2em;font-weight:700}#conversejs #controlbox #converse-register{background:#fff}#conversejs #controlbox #converse-register .title{font-weight:700}#conversejs #controlbox #converse-register .info{font-style:italic;color:green;font-size:85%;margin:5px 0}#conversejs #controlbox #converse-register .form-errors{color:red;display:none}#conversejs #controlbox #converse-register .provider-title{font-size:22px}#conversejs #controlbox #converse-register .provider-score{width:178px;margin-bottom:8px}#conversejs #controlbox #converse-register .form-help .url{font-weight:700;color:#578ea9}#conversejs #controlbox #converse-register .input-group{display:table;margin:auto;width:100%}#conversejs #controlbox #converse-register .input-group span{overflow-x:hidden;text-overflow:ellipsis;max-width:110px}#conversejs #controlbox #converse-register .input-group input[name=username],#conversejs #controlbox #converse-register .input-group span{display:table-cell;text-align:left}#conversejs #controlbox #converse-register .instructions{color:gray;font-size:85%}#conversejs #controlbox #converse-register .instructions:hover{color:#818479}#conversejs #controlbox #converse-login,#conversejs #controlbox #converse-register{margin-top:2em}#conversejs #controlbox #converse-login .login-anon,#conversejs #controlbox #converse-register .login-anon{height:auto;white-space:normal}#conversejs #controlbox #converse-login .save-submit,#conversejs #controlbox #converse-register .save-submit{color:#3aa569}#conversejs #controlbox #converse-login input,#conversejs #controlbox #converse-register input{width:100%;margin:.5em 0}#conversejs #controlbox #users .add-converse-contact{margin:0 0 .75em 0}#conversejs #controlbox #chatrooms form.add-chatroom{margin:0;padding:0}#conversejs #controlbox #chatrooms form.add-chatroom input[type=button],#conversejs #controlbox #chatrooms form.add-chatroom input[type=submit],#conversejs #controlbox #chatrooms form.add-chatroom input[type=text]{width:100%}#conversejs #controlbox #chatrooms .rooms-list-container{text-align:left;margin:0}#conversejs #controlbox #chatrooms .rooms-list-container .rooms-toggle{display:block;color:#818479;margin-top:1em}#conversejs #controlbox #chatrooms .rooms-list-container .rooms-toggle:hover{color:#585b51}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list{margin:.5em 0;text-align:left}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dt{border:none;color:#818479;font-weight:400;padding:0;padding-bottom:.5em;text-shadow:0 1px 0 #fafafa}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom{border:none;clear:both;color:#818479;display:block;overflow:hidden;padding:.3em 0;text-shadow:0 1px 0 #fafafa;word-wrap:break-word}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom a:hover{color:#206485}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom.unread-msgs .open-room{max-width:55%;width:auto;font-weight:700}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom a.room-info:before{font-size:15px}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom a.open-room{float:left;width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:.5em}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom .remove-bookmark{color:#a8aba1}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom .remove-bookmark.button-on{color:#578ea9}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom .remove-bookmark.button-on:hover{color:#206485}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom .room-info{font-size:14px;font-style:normal;font-weight:400}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom li.room-info{display:block;margin-left:5px}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom p.room-info{line-height:22px;margin:0;display:block;white-space:normal}#conversejs #controlbox #chatrooms .rooms-list-container dl.rooms-list dd.available-chatroom div.room-info{padding:.3em 0;clear:left;width:100%}#conversejs #controlbox .dropdown a{width:143px;display:inline-block}#conversejs #controlbox .dropdown li{list-style:none;padding-left:0}#conversejs #controlbox .dropdown dd ul{padding:0;list-style:none;position:absolute;left:0;top:0;border:1px solid #b1bfc4;width:100%;z-index:21;background-color:#fcfdfd}#conversejs #controlbox .dropdown dd ul li:hover{background-color:#dcf9f6}#conversejs #controlbox .dropdown dd.search-xmpp{display:none;width:100%}#conversejs #controlbox .dropdown dd.search-xmpp ul{box-shadow:1px 4px 10px 1px rgba(0,0,0,.4)}#conversejs #controlbox .dropdown dd.search-xmpp ul li:hover{background-color:#fcfdfd}#conversejs #controlbox .dropdown dt a span{cursor:pointer;display:block;padding:4px 7px 0 5px}#conversejs #controlbox #select-xmpp-status{display:none;float:right;margin-right:.5em}#conversejs #controlbox #controlbox-tabs{text-align:center;display:inline;overflow:hidden;list-style-type:none}#conversejs #controlbox #controlbox-tabs li{float:left;list-style:none;padding-left:0;text-shadow:#fff 0 1px 0;width:40%}#conversejs #controlbox #controlbox-tabs li a{background-color:#fff;border-bottom:1px solid #ccc;border-top-left-radius:5px;border-top-right-radius:5px;box-shadow:inset 2px -2px 20px rgba(0,0,0,.3);color:#818479;display:block;font-size:14px;height:61px;line-height:61px;margin:0;text-align:center;text-decoration:none}#conversejs #controlbox #controlbox-tabs li a.contacts-tab .msgs-indicator{background-color:#3aa569}#conversejs #controlbox #controlbox-tabs li a.rooms-tab .msgs-indicator{background-color:#e77051}#conversejs #controlbox #controlbox-tabs li a .msgs-indicator{border:solid #fff 2px;opacity:.8;border-top-right-radius:5px;float:right}#conversejs #controlbox #controlbox-tabs li a:hover{color:#818479}#conversejs #controlbox #controlbox-tabs li a:hover .msgs-indicator{opacity:1}#conversejs #controlbox #controlbox-tabs li a.current,#conversejs #controlbox #controlbox-tabs li a.current:hover{box-shadow:none;border-bottom:0;height:62px;cursor:default;color:#818479}#conversejs #controlbox .fancy-dropdown{border:1px solid #b1bfc4;height:30px;border-radius:5px;text-align:left}#conversejs #controlbox .fancy-dropdown .choose-xmpp-status,#conversejs #controlbox .fancy-dropdown .toggle-xmpp-contact-form{line-height:30px;text-shadow:0 1px 0 #fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}#conversejs #controlbox .fancy-dropdown .choose-xmpp-status:hover,#conversejs #controlbox .fancy-dropdown .toggle-xmpp-contact-form:hover{color:#206485}#conversejs #controlbox .fancy-dropdown .toggle-xmpp-contact-form{padding:0 .5em;width:100%}#conversejs #controlbox .fancy-dropdown.no-border{border:0}#conversejs #controlbox #fancy-xmpp-status-select .xmpp-status{padding:0 .5em}#conversejs #controlbox #fancy-xmpp-status-select a.change-xmpp-status-message{line-height:30px;float:right;clear:right;width:12px;color:#578ea9}#conversejs #controlbox #fancy-xmpp-status-select a.change-xmpp-status-message:hover{color:#206485}#conversejs #controlbox #fancy-xmpp-status-select fieldset{padding:0;margin-top:-1px}#conversejs #controlbox #fancy-xmpp-status-select input{height:31px;width:-webkit-calc(100% - 40px);width:calc(100% - 40px);padding:0 0 0 .5em}#conversejs #controlbox #fancy-xmpp-status-select input[type=submit]{height:31px;width:40px;padding:1px;float:right}#conversejs #controlbox .controlbox-pane{padding:1.2em;background-color:#fff;border:0;font-size:16px;position:absolute;text-align:center;width:100%;overflow-y:auto;overflow-x:hidden}#conversejs #controlbox .controlbox-pane label{font-size:16px;font-weight:700;height:auto;margin:4px}#conversejs #controlbox .controlbox-pane dd{margin-left:0;margin-bottom:0}#conversejs #controlbox .controlbox-pane dd.odd{background-color:#dceac5}#conversejs #controlbox #users{overflow-y:hidden}#conversejs #controlbox .add-xmpp-contact{background:0 0;padding:1em .5em}#conversejs #controlbox .add-xmpp-contact input{margin:0 0 1rem;width:100%}#conversejs #controlbox .add-xmpp-contact button{width:100%}#conversejs #controlbox .xmpp-status-menu{text-align:left;box-shadow:1px 4px 10px 1px rgba(0,0,0,.4)}#conversejs #controlbox .xmpp-status-menu li{padding:2px}#conversejs #controlbox .xmpp-status-menu li a{width:100%;padding:.3em}#conversejs #controlbox .xmpp-status-menu li a.logout,#conversejs #controlbox .xmpp-status-menu li a.logout span{color:#d24e2b}#conversejs #controlbox .set-xmpp-status{background:0 0;margin:1em 0 .5em 0}#conversejs #controlbox .set-xmpp-status .dropdown dd ul{z-index:22}#conversejs .toggle-controlbox{background-color:#578ea9;border-top-left-radius:5px;border-top-right-radius:5px;color:#0a0a0a;float:right;height:100%;margin:0 .5em;padding:10px 8px 0 8px}#conversejs .toggle-controlbox span{color:#fff}#conversejs #controlbox{min-width:250px;width:200px;float:left;margin:0}#conversejs #controlbox #login-dialog .brand-heading,#conversejs #controlbox #register .brand-heading{font-size:600%;margin:10% 0 0 0;color:#387592}#conversejs #controlbox #login-dialog .converse-form,#conversejs #controlbox #register .converse-form{margin-top:4em}#conversejs #controlbox.fullscreen{width:100%}#conversejs #controlbox.fullscreen .box-flyout{width:100%}#conversejs #controlbox .box-flyout{border:0;background-color:#fff;min-width:250px;width:200px;z-index:1;background-color:#578ea9}#conversejs #controlbox .controlbox-head{height:63px;padding:6px 0 6px 0;margin-top:.5em}#conversejs #controlbox #converse-login,#conversejs #controlbox #converse-register{margin:30%;margin-top:15%}#conversejs #controlbox #converse-login #available-chatrooms,#conversejs #controlbox #converse-register #available-chatrooms{padding:0 1em 2em 1em}#conversejs #controlbox #converse-login input[type=submit],#conversejs #controlbox #converse-register input[type=submit]{width:auto;margin-top:1.5em}#conversejs #controlbox #controlbox-tabs li{width:50%}#conversejs #controlbox #controlbox-tabs li a{height:62px;line-height:62px;font-size:18px}#conversejs #controlbox #controlbox-tabs li a.current,#conversejs #controlbox #controlbox-tabs li a.current:hover{height:63px}#conversejs #controlbox .controlbox-pane{height:-webkit-calc(100% - 63px);height:calc(100% - 63px);border-bottom-left-radius:0;border-bottom-right-radius:0}#conversejs #converse-roster{text-align:left;width:100%;position:relative;margin:1em 0 0 0;height:194px;height:calc(100% - 60px - 20px);overflow:hidden;padding:0;padding-bottom:3em}#conversejs #converse-roster.no-contact-requests{height:calc(100% - 30px - 20px)}#conversejs #converse-roster #online-count{display:none}#conversejs #converse-roster .search-xmpp ul li.chat-info{padding-left:10px}#conversejs #converse-roster .roster-filter-form{margin:0 0 .5em 0;width:100%}#conversejs #converse-roster .roster-filter-form .roster-filter{float:left;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABNSURBVHjaXI7BDcAwCAMvyQjMyQ6dAbZiKfqoUK34g2zJh1dENIC7M8pMAPYdzAVY3d0ajNz9aypS/b5R6o+ZPdqoKgCq6h80KH3xDgBqNR97p8oAGQAAAABJRU5ErkJggg==) no-repeat right -20px center;border:1px solid #999;font-size:16px;height:30px;margin:0;padding:0;padding-left:.4em;width:53%}#conversejs #converse-roster .roster-filter-form .roster-filter.x{background-position:right 3px center}#conversejs #converse-roster .roster-filter-form .roster-filter.onX{cursor:pointer}#conversejs #converse-roster .roster-filter-form .roster-filter-state{display:none}#conversejs #converse-roster .roster-filter-form .state-type{float:left;border:1px solid #999;font-size:calc(16px - 2px);height:30px;margin:0;padding:0;padding-left:.4em;width:53%;display:none}#conversejs #converse-roster .roster-filter-form .state-type-state{display:inline-block}#conversejs #converse-roster .roster-filter-form .filter-type{display:table-cell;float:right;font-size:calc(16px - 2px);height:30px;padding:0;width:47%;border-radius:0;border:1px solid}#conversejs #converse-roster .roster-contacts{padding:0;margin:0;height:100%;overflow-x:hidden;overflow-y:auto;display:none}#conversejs #converse-roster .roster-contacts dt.roster-group{border:none;color:#818479;display:none;font-weight:400;margin:1em 0 .5em 0;text-shadow:0 1px 0 #fafafa}#conversejs #converse-roster .roster-contacts dt.roster-group .group-toggle{color:#818479;display:block;width:100%}#conversejs #converse-roster .roster-contacts dt.roster-group .group-toggle:hover{color:#585b51}#conversejs #converse-roster .roster-contacts dd{border:none;clear:both;color:#818479;display:block;height:24px;overflow-y:hidden;text-shadow:0 1px 0 #fafafa;line-height:16px;width:100%;height:30px;margin:0;padding:.5em 0 0 0}#conversejs #converse-roster .roster-contacts dd a:hover{color:#206485}#conversejs #converse-roster .roster-contacts dd .open-chat{margin:auto;padding:0;width:85%}#conversejs #converse-roster .roster-contacts dd .open-chat.unread-msgs{font-weight:700}#conversejs #converse-roster .roster-contacts dd .open-chat.unread-msgs .contact-name{width:70%}#conversejs #converse-roster .roster-contacts dd .open-chat .msgs-indicator{background-color:#3aa569;opacity:1;border-radius:10%;padding:0 .2em;font-size:14px}#conversejs #converse-roster .roster-contacts dd .open-chat .contact-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0;margin:0;max-width:80%;float:none;height:30px}#conversejs #converse-roster .roster-contacts dd .open-chat .contact-name.unread-msgs{max-width:60%}#conversejs #converse-roster .roster-contacts dd .open-chat .avatar{float:left;display:inline-block;height:30px}#conversejs #converse-roster .roster-contacts dd.requesting-xmpp-contact .request-actions{padding:0 0 0 .3em;float:right}#conversejs #converse-roster .roster-contacts dd.requesting-xmpp-contact .open-chat{max-width:70%}#conversejs #converse-roster .roster-contacts dd.requesting-xmpp-contact .open-chat .req-contact-name{width:100%}#conversejs #converse-roster .roster-contacts dd.requesting-xmpp-contact .req-contact-name{line-height:22px;width:69%;padding:0}#conversejs #converse-roster .roster-contacts dd.current-xmpp-contact span{font-size:16px;float:left;margin-right:.5em}#conversejs #converse-roster .roster-contacts dd.odd{background-color:#dceac5}#conversejs #converse-roster .roster-contacts dd a,#conversejs #converse-roster .roster-contacts dd span{display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#conversejs #converse-roster .roster-contacts dd span{padding:0;height:100%}#conversejs #converse-roster .roster-contacts dd a.decline-xmpp-request{margin-left:5px}#conversejs #converse-roster .roster-contacts dd a.remove-xmpp-contact{font-size:10px;float:right;margin:0;padding:0;color:#a8aba1}#conversejs #converse-roster .roster-contacts dd a.remove-xmpp-contact:hover{color:#818479}#conversejs #converse-roster span.pending-contact-name{line-height:22px;width:100%}#conversejs #controlbox #chatrooms .bookmarks-list dl.rooms-list.bookmarks dd.available-chatroom a.open-room{width:80%}#converse-embedded-chat .new-chatroom-nick,#conversejs .new-chatroom-nick{margin:1em auto}#converse-embedded-chat .add-chatroom input[type=button],#converse-embedded-chat .add-chatroom input[type=submit],#conversejs .add-chatroom input[type=button],#conversejs .add-chatroom input[type=submit]{margin:.3em 0}#converse-embedded-chat .chat-head-chatroom,#conversejs .chat-head-chatroom{background-color:#e77051}#converse-embedded-chat .chat-head-chatroom .chatbox-btn.button-on,#conversejs .chat-head-chatroom .chatbox-btn.button-on{background-color:#fff;color:#e77051}#converse-embedded-chat .chat-head-chatroom .chatroom-description,#conversejs .chat-head-chatroom .chatroom-description{color:#fff;font-size:80%;font-style:italic;height:1.3em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;margin-top:.3em}#converse-embedded-chat .chatroom,#conversejs .chatroom{width:300px}@media screen and (max-height:450px){#converse-embedded-chat .chatroom,#conversejs .chatroom{width:100%}}@media screen and (max-width:480px){#converse-embedded-chat .chatroom,#conversejs .chatroom{width:100%}}#converse-embedded-chat .chatroom .box-flyout,#conversejs .chatroom .box-flyout{min-width:300px;width:300px}@media screen and (max-height:450px){#converse-embedded-chat .chatroom .box-flyout,#conversejs .chatroom .box-flyout{height:400px;width:100%;height:100vh}}@media screen and (max-width:480px){#converse-embedded-chat .chatroom .box-flyout,#conversejs .chatroom .box-flyout{height:400px;width:100%;height:100vh}}#converse-embedded-chat .chatroom .box-flyout .chatroom-body,#conversejs .chatroom .box-flyout .chatroom-body{height:289px;border-bottom-left-radius:7px;border-bottom-right-radius:7px;height:-webkit-calc(100% - 62px);height:calc(100% - 62px);background-color:#fff;border-top:0;width:100%}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-info,#conversejs .chatroom .box-flyout .chatroom-body .chat-info{color:#e77051}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .mentioned,#conversejs .chatroom .box-flyout .chatroom-body .mentioned{font-weight:700}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-message .chat-msg-them,#conversejs .chatroom .box-flyout .chatroom-body .chat-message .chat-msg-them{color:#3aa569}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .disconnect-msg,#conversejs .chatroom .box-flyout .chatroom-body .disconnect-msg{padding:2em 2em 0 2em}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area,#conversejs .chatroom .box-flyout .chatroom-body .chat-area{word-wrap:break-word;height:100%;width:70%;float:left;min-width:100%}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area .new-msgs-indicator,#conversejs .chatroom .box-flyout .chatroom-body .chat-area .new-msgs-indicator{background-color:#e77051;max-width:70%}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area .chat-content,#conversejs .chatroom .box-flyout .chatroom-body .chat-area .chat-content{padding:0 .5em 0 .5em}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area.full,#conversejs .chatroom .box-flyout .chatroom-body .chat-area.full{min-width:100%}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area.full .new-msgs-indicator,#conversejs .chatroom .box-flyout .chatroom-body .chat-area.full .new-msgs-indicator{min-width:100%}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants,#conversejs .chatroom .box-flyout .chatroom-body .occupants{overflow-x:hidden;overflow-y:hidden;float:right;vertical-align:top;background-color:#fff;border-left:1px solid #818479;border-bottom-right-radius:7px;width:30%;height:100%;padding:.5em}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants .occupants-heading,#conversejs .chatroom .box-flyout .chatroom-body .occupants .occupants-heading{padding:.3em 0;font-weight:700}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants .chatroom-features,#conversejs .chatroom .box-flyout .chatroom-body .occupants .chatroom-features{position:absolute;bottom:.5em;width:25%;width:-webkit-calc(30% - 1em);width:calc(30% - 1em)}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants .awesomplete ul,#conversejs .chatroom .box-flyout .chatroom-body .occupants .awesomplete ul{padding:0}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants .awesomplete ul li,#conversejs .chatroom .box-flyout .chatroom-body .occupants .awesomplete ul li{padding:.5em}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul{padding:.3em 0;overflow-x:hidden;overflow-y:auto;list-style:none}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul.occupant-list,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul.occupant-list{overflow-y:auto;height:-webkit-calc(100% - 220px);height:calc(100% - 220px)}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul.features-list,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul.features-list{padding-top:0}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li{cursor:default;display:block;font-size:14px;overflow:hidden;padding:.2em .5em .2em 0;text-overflow:ellipsis;white-space:nowrap}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li [class*=" icon-"],#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li [class^=icon-],#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li [class*=" icon-"],#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li [class^=icon-]{padding-right:.5em}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li.feature,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.feature{font-size:10px}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li.occupant,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.occupant{cursor:pointer}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status{display:inline-block;margin-right:.5em;width:.5em;height:.5em}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-chat,#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-online,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-chat,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-online{background-color:#1a9707}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-dnd,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-dnd{background-color:red}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-away,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-away{background-color:#ff8c00}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-xa,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.occupant .occupant-status.occupant-xa{background-color:orange}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .occupants ul li.moderator,#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.moderator{color:#e77051}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container,#conversejs .chatroom .box-flyout .chatroom-body .chatroom-form-container{background-color:#fff;border-radius:7px;border:0;color:#818479;font-size:16px;height:289px;width:100%;height:-webkit-calc(100% - 62px);height:calc(100% - 62px);overflow-y:auto;position:absolute}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container .validation-message,#conversejs .chatroom .box-flyout .chatroom-body .chatroom-form-container .validation-message{font-size:90%;color:#a53214}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container .chatroom-form input[type=text],#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container .chatroom-form label,#conversejs .chatroom .box-flyout .chatroom-body .chatroom-form-container .chatroom-form input[type=text],#conversejs .chatroom .box-flyout .chatroom-body .chatroom-form-container .chatroom-form label{display:block}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container input[type=button],#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container input[type=submit],#conversejs .chatroom .box-flyout .chatroom-body .chatroom-form-container input[type=button],#conversejs .chatroom .box-flyout .chatroom-body .chatroom-form-container input[type=submit]{margin:0 .5em}#converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container .button-primary,#conversejs .chatroom .box-flyout .chatroom-body .chatroom-form-container .button-primary{background-color:#e77051}#converse-embedded-chat .chatroom form.sendXMPPMessage .chat-toolbar,#conversejs .chatroom form.sendXMPPMessage .chat-toolbar{background-color:#ffece7}#converse-embedded-chat .chatroom form.sendXMPPMessage .chat-textarea,#conversejs .chatroom form.sendXMPPMessage .chat-textarea{border-bottom-right-radius:0}#converse-embedded-chat .chatroom form.sendXMPPMessage .send-button,#conversejs .chatroom form.sendXMPPMessage .send-button{background-color:#e77051}#converse-embedded-chat .chatroom .room-invite .invited-contact,#conversejs .chatroom .room-invite .invited-contact{margin:-1px 0 0 -1px;width:100%;border:1px solid #999}#conversejs .chat-head-chatroom{height:62px;font-size:20px}#conversejs .chat-head-chatroom .close-chatbox-button:before{content:"\e601"}#conversejs .chat-head-chatroom .chatroom-description{font-size:66%;margin-top:3px}#conversejs .chatroom{width:-webkit-calc(100% - 250px);width:calc(100% - 250px)}#conversejs .chatroom .box-flyout{background-color:#e77051;border:1.2em solid #e77051;border-top:.8em solid #e77051;width:-webkit-calc(100% - 250px);width:calc(100% - 250px)}#conversejs .chatroom .box-flyout .chatroom-body{border-top-left-radius:7px;border-top-right-radius:7px}#conversejs .chatroom .box-flyout .chatroom-body .chat-area{border-top-left-radius:7px;min-width:auto}#conversejs .chatroom .box-flyout .chatroom-body .chat-area .chat-content{border-top-left-radius:7px;padding:0 1em 1em 1em}#conversejs .chatroom .box-flyout .chatroom-body .chat-area.full{max-width:100%}#conversejs .chatroom .box-flyout .chatroom-body .chat-area.full .new-msgs-indicator{max-width:100%}#conversejs .chatroom .box-flyout .chatroom-body .occupants{border-top-right-radius:7px;padding:1em}#conversejs .chatroom .box-flyout .chatroom-body .occupants .occupants-heading{font-size:18px}#conversejs .chatroom .box-flyout .chatroom-body .occupants .chatroom-features{bottom:1em;width:25%;width:-webkit-calc(30% - 2em);width:calc(30% - 2em)}#conversejs .chatroom .box-flyout .chatroom-body .occupants ul.occupant-list{height:-webkit-calc(100% - 212px);height:calc(100% - 212px)}#conversejs .chatroom .box-flyout .chatroom-body .occupants ul.occupant-list li{font-size:14px;width:100%}#conversejs .chatroom .box-flyout .chatroom-body .occupants ul li.feature{font-size:14px}#conversejs .chatroom .room-invite span .invited-contact{margin:0 0 .5em -1px}#conversejs .chatbox.headlines .chat-head.chat-head-chatbox{background-color:#e7a151}#conversejs .chatbox.headlines .chat-body{background-color:#e7a151;border-radius:7px}#conversejs .chatbox.headlines .chat-body .chat-message span.chat-msg-them{color:#d2842b}#conversejs .chatbox.headlines .chat-content{height:100%;border-radius:7px}#conversejs .chatbox.headlines .box-flyout{background-color:#e7a151}#conversejs .chatbox.headlines .chat-head.chat-head-chatbox{background-color:#e7a151}#conversejs .chatbox.headlines .flyout{border:1.2em solid #e7a151;border-top:.8em solid #e7a151}#converse-embedded-chat [hidden],#conversejs [hidden]{display:none}#converse-embedded-chat .visually-hidden,#conversejs .visually-hidden{position:absolute;clip:rect(0,0,0,0)}#converse-embedded-chat div.awesomplete,#conversejs div.awesomplete{display:inline-block;position:relative}#converse-embedded-chat div.awesomplete>input,#conversejs div.awesomplete>input{display:block}#converse-embedded-chat div.awesomplete>ul,#conversejs div.awesomplete>ul{position:absolute;left:0;right:0;z-index:1;min-width:100%;box-sizing:border-box;list-style:none;padding:0;border-radius:.3em;margin:.2em 0 0;background:rgba(255,255,255,.9);background:linear-gradient(to bottom right,#fff,rgba(255,255,255,.8));border:1px solid rgba(0,0,0,.3);box-shadow:.05em .2em .6em rgba(0,0,0,.2);text-shadow:none}#converse-embedded-chat div.awesomplete>ul:empty,#converse-embedded-chat div.awesomplete>ul[hidden],#conversejs div.awesomplete>ul:empty,#conversejs div.awesomplete>ul[hidden]{display:none}@supports (transform:scale(0)){#converse-embedded-chat div.awesomplete>ul,#conversejs div.awesomplete>ul{transition:.3s cubic-bezier(.4,.2,.5,1.4);transform-origin:1.43em -.43em}#converse-embedded-chat div.awesomplete>ul:empty,#converse-embedded-chat div.awesomplete>ul[hidden],#conversejs div.awesomplete>ul:empty,#conversejs div.awesomplete>ul[hidden]{opacity:0;transform:scale(0);display:block;transition-timing-function:ease}}#converse-embedded-chat div.awesomplete>ul:before,#conversejs div.awesomplete>ul:before{content:"";position:absolute;top:-.43em;left:1em;width:0;height:0;background:#fff;border:inherit;border-right:0;border-bottom:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#converse-embedded-chat div.awesomplete>ul>li,#conversejs div.awesomplete>ul>li{text-overflow:ellipsis;overflow-x:hidden;position:relative;cursor:pointer}#converse-embedded-chat div.awesomplete>ul>li:hover,#conversejs div.awesomplete>ul>li:hover{background:#e77051;color:#fff}#converse-embedded-chat div.awesomplete>ul>li[aria-selected=true],#conversejs div.awesomplete>ul>li[aria-selected=true]{background:#3d6d8f;color:#fff}#converse-embedded-chat div.awesomplete mark,#conversejs div.awesomplete mark{background:#ffb9a7}#converse-embedded-chat div.awesomplete li:hover mark,#conversejs div.awesomplete li:hover mark{background:#a53214;color:#fff}#converse-embedded-chat div.awesomplete li[aria-selected=true] mark,#conversejs div.awesomplete li[aria-selected=true] mark{background:#3d6b00;color:inherit}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="icomoon" horiz-adv-x="512">
<font-face units-per-em="512" ascent="438.8571428571429" descent="-73.14285714285714" />
<missing-glyph horiz-adv-x="512" />
<glyph unicode="&#x20;" horiz-adv-x="128" d="" />
<glyph unicode="&#x231b;" glyph-name="spinner" d="M192 384c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM327.765 327.765c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM416 192c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32s-32-14.327-32-32zM359.765 56.235c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32s-32-14.327-32-32zM224.001 0c0 0 0 0 0 0 0-17.673 14.327-32 32-32s32 14.327 32 32c0 0 0 0 0 0s0 0 0 0c0 17.673-14.327 32-32 32s-32-14.327-32-32c0 0 0 0 0 0zM88.236 56.235c0 0 0 0 0 0 0-17.673 14.327-32 32-32s32 14.327 32 32c0 0 0 0 0 0s0 0 0 0c0 17.673-14.327 32-32 32s-32-14.327-32-32c0 0 0 0 0 0zM72.236 327.765c0 0 0 0 0 0 0-26.51 21.49-48 48-48s48 21.49 48 48c0 0 0 0 0 0s0 0 0 0c0 26.51-21.49 48-48 48s-48-21.49-48-48c0 0 0 0 0 0zM28 192c0-19.882 16.117-36 36-36s36 16.118 36 36c0 19.882-16.118 36-36 36s-36-16.118-36-36z" />
<glyph unicode="&#x2360;" glyph-name="info" d="M256 448c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM256-16c-114.875 0-208 93.125-208 208s93.125 208 208 208 208-93.125 208-208-93.125-208-208-208zM224 320h64v-64h-64zM320 64h-128v32h32v96h-32v32h96v-128h32z" />
<glyph unicode="&#x2364;" glyph-name="shocked" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM192 96c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM320 272c0-26.509 14.327-48 32-48s32 21.49 32 48c0 26.51-14.327 48-32 48s-32-21.49-32-48zM128 272c0-26.509 14.327-48 32-48s32 21.49 32 48c0 26.51-14.327 48-32 48s-32-21.49-32-48z" />
<glyph unicode="&#x2368;" glyph-name="confused" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM128 288c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32s-32-14.327-32-32zM320 288c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32s-32-14.327-32-32zM363.053 128h32.432c4.623-36.253-16.226-72.265-51.979-85.28-41.452-15.088-87.45 6.358-102.54 47.808-9.054 24.872-36.653 37.741-61.524 28.686-22.781-8.294-35.478-32.149-30.494-55.212h-32.43c-4.621 36.254 16.225 72.264 51.978 85.28 41.452 15.089 87.451-6.358 102.541-47.807 9.052-24.874 36.653-37.741 61.522-28.686 22.781 8.292 35.478 32.149 30.494 55.211z" />
<glyph unicode="&#x2369;" glyph-name="wondering" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM372.87 147.19l11.244-38.388-218.504-64.001-11.244 38.388zM128 288c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32zM320 288c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32z" />
<glyph unicode="&#x25ba;" glyph-name="closed" d="M96 384l320-192-320-192z" />
<glyph unicode="&#x25bc;" glyph-name="opened" d="M448 352l-192-320-192 320z" />
<glyph unicode="&#x25fb;" glyph-name="away" d="M256 352c-27.466 0-53.994-4.331-78.847-12.871-23.356-8.027-44.153-19.372-61.814-33.722-33.107-26.899-51.339-61.492-51.339-97.407 0-20.149 5.594-39.689 16.626-58.076 11.376-18.96 28.491-36.293 49.494-50.126 15.178-9.996 25.39-25.974 28.088-43.947 0.9-5.992 1.464-12.044 1.685-18.062 3.735 3.097 7.375 6.423 10.94 9.988 12.077 12.076 28.39 18.745 45.251 18.745 2.684 0 5.381-0.168 8.078-0.512 10.487-1.333 21.199-2.010 31.838-2.010 27.467 0 53.994 4.33 78.847 12.871 23.356 8.027 44.153 19.372 61.814 33.722 33.107 26.898 51.339 61.492 51.339 97.407s-18.232 70.508-51.339 97.407c-17.661 14.349-38.458 25.695-61.814 33.722-24.853 8.54-51.38 12.871-78.847 12.871zM256 416v0c141.385 0 256-93.125 256-208 0-114.876-114.615-208-256-208-13.578 0-26.905 0.867-39.912 2.522-54.989-54.989-120.625-64.85-184.088-66.298v13.458c34.268 16.789 64 47.37 64 82.318 0 4.877-0.379 9.665-1.082 14.348-57.898 38.132-94.918 96.377-94.918 161.652 0 114.875 114.615 208 256 208z" />
<glyph unicode="&#x25fc;" glyph-name="online" d="M256 416c141.385 0 256-93.125 256-208 0-114.876-114.615-208-256-208-13.578 0-26.905 0.867-39.912 2.522-54.989-54.989-120.625-64.85-184.088-66.298v13.458c34.268 16.789 64 47.37 64 82.318 0 4.877-0.379 9.665-1.082 14.348-57.898 38.132-94.918 96.377-94.918 161.652 0 114.875 114.615 208 256 208z" />
<glyph unicode="&#x260e;" glyph-name="phone-hang-up" d="M508.689 160.003c4.002-27.741 6.608-65.696-5.832-80.223-20.571-24.022-150.856-24.022-150.856 24.021 0 24.199 21.428 40.067 0.856 64.089-20.236 23.631-56.513 24.015-96.857 24.021-40.343-0.006-76.621-0.39-96.857-24.021-20.571-24.023 0.857-39.89 0.857-64.089 0-48.043-130.285-48.043-150.857-24.022-12.439 14.527-9.834 52.482-5.831 80.223 3.080 18.519 10.862 38.498 35.774 63.997 0 0.001 0.001 0.001 0.001 0.002 37.369 34.871 93.923 63.369 214.913 63.984v0.015c0.672 0 1.332-0.005 2-0.007 0.669 0.002 1.328 0.007 2 0.007v-0.014c120.99-0.615 177.544-29.113 214.913-63.984 0.001-0.001 0.001-0.002 0.001-0.002 24.912-25.498 32.695-45.477 35.775-63.997z" />
<glyph unicode="&#x260f;" glyph-name="phone" d="M352 128c-32-32-32-64-64-64s-64 32-96 64-64 64-64 96 32 32 64 64-64 128-96 128-96-96-96-96c0-64 65.75-193.75 128-256s192-128 256-128c0 0 96 64 96 96s-96 128-128 96z" />
<glyph unicode="&#x2611;" glyph-name="checkbox-checked" d="M0 448v-512h512v512h-512zM480-32h-448v448h448v-448zM384 336l-160-160-96 96-64-64 160-160 224 224-64 64z" />
<glyph unicode="&#x261d;" glyph-name="thumbs-up" d="M464 160c36.5 0 16-96-16-96 16 0 0-80-32-80 0-32-32-48-64-48-135.176 0-87.632 33.825-224 48v256c120.461 36.134 240 126.712 240 208 26.5 0 96-32 0-192 0 0 80 0 96 0 48 0 32-96 0-96zM96 240v-256h32v-16h-64c-17.6 0-32 21.6-32 48v192c0 26.4 14.4 48 32 48h64v-16h-32z" />
<glyph unicode="&#x261f;" glyph-name="evil" d="M319.998 224c-17.673 0-32 14.327-31.999 32.001 0 0.585 0.018 1.165 0.049 1.742 1.016 23.727 22.606 39.473 40.796 48.569 17.371 8.685 34.551 13.030 35.274 13.211 8.573 2.144 17.259-3.069 19.403-11.642 2.142-8.573-3.070-17.259-11.642-19.403-8.813-2.225-19.261-6.060-28.468-10.675 5.324-5.715 8.587-13.376 8.587-21.803 0-17.673-14.327-32-32-32zM140.121 288.478c-8.572 2.143-13.784 10.83-11.641 19.402 2.143 8.573 10.83 13.786 19.403 11.642 0.722-0.181 17.903-4.525 35.274-13.211 18.191-9.095 39.78-24.842 40.796-48.569 0.031-0.577 0.049-1.158 0.049-1.742 0-17.673-14.327-32-32-32s-32 14.327-32 32c0 8.427 3.263 16.088 8.587 21.803-9.207 4.615-19.656 8.45-28.468 10.675zM256 80c40.777 0 76.462 21.796 96.049 54.37l41.164-24.698c-27.981-46.535-78.958-77.672-137.213-77.672s-109.232 31.137-137.213 77.672l41.164 24.698c19.587-32.574 55.271-54.37 96.049-54.37zM512 416c0 22.758-4.762 44.4-13.326 64-16.788-38.418-48.224-68.966-87.247-84.589-43.097 32.98-96.968 52.589-155.427 52.589s-112.33-19.609-155.427-52.589c-39.024 15.623-70.459 46.171-87.247 84.589-8.564-19.6-13.326-41.242-13.326-64 0-36.787 12.425-70.664 33.294-97.689-21.185-37.271-33.294-80.375-33.294-126.311 0-141.385 114.615-256 256-256s256 114.615 256 256c0 45.936-12.109 89.040-33.294 126.311 20.869 27.025 33.294 60.902 33.294 97.689zM256-16c-114.875 0-208 93.125-208 208s93.125 208 208 208 208-93.125 208-208-93.125-208-208-208z" />
<glyph unicode="&#x2639;" glyph-name="sad" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM128 288c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32zM320 288c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32zM159.951 57.63l-41.164 24.698c27.981 46.535 78.958 77.672 137.213 77.672s109.231-31.137 137.213-77.672l-41.164-24.698c-19.587 32.574-55.271 54.37-96.049 54.37-40.779 0-76.462-21.796-96.049-54.37z" />
<glyph unicode="&#x263a;" glyph-name="smiley" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM128 288c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32zM320 288c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32zM352.049 134.37l41.164-24.698c-27.981-46.535-78.958-77.672-137.213-77.672s-109.232 31.137-137.213 77.672l41.164 24.698c19.587-32.574 55.271-54.37 96.049-54.37s76.462 21.796 96.049 54.37z" />
<glyph unicode="&#x263b;" glyph-name="happy" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM256 148.62c57.975 0 113.115 15.403 160 42.46-7.287-89.219-76.564-159.080-160-159.080-83.434 0-152.711 69.936-160 159.152 46.885-27.056 102.025-42.532 160-42.532zM128 272c0-26.509 14.327-48 32-48s32 21.49 32 48c0 26.51-14.327 48-32 48s-32-21.49-32-48zM320 272c0-26.509 14.327-48 32-48s32 21.49 32 48c0 26.51-14.327 48-32 48s-32-21.49-32-48z" />
<glyph unicode="&#x266b;" glyph-name="music" d="M160 352l352 96v-368c0-44.183-50.145-80-112-80s-112 35.817-112 80c0 44.183 50.145 80 112 80 17.179 0 33.451-2.766 48-7.703v164.794l-224-61.091v-240c0-44.183-50.144-80-112-80s-112 35.817-112 80c0 44.183 50.144 80 112 80 17.179 0 33.451-2.766 48-7.703v263.703z" />
<glyph unicode="&#x26a0;" glyph-name="warning" d="M256 368.638l-172.417-368.638h344.834l-172.417 368.638zM256 448v0c11.035 0 22.070-7.441 30.442-22.324l218.536-435.556c16.745-29.766 2.5-54.12-31.651-54.12h-434.654c-34.152 0-48.395 24.354-31.652 54.12l218.537 435.556c8.372 14.883 19.407 22.324 30.442 22.324zM224 64c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32s-32-14.327-32-32zM256 256c17.673 0 32-14.327 32-32l-10-96h-44l-10 96c0 17.673 14.327 32 32 32z" />
<glyph unicode="&#x270e;" glyph-name="pencil" d="M432 448c44.182 0 80-35.817 80-80 0-18.010-5.955-34.629-16-48l-32-32-112 112 32 32c13.371 10.045 29.989 16 48 16zM32 80l-32-144 144 32 296 296-112 112-296-296zM357.789 266.211l-224-224-27.578 27.578 224 224 27.578-27.578z" />
<glyph unicode="&#x270f;" glyph-name="address-book" d="M480 320c17.673 0 32 14.327 32 32v64h-64v32h-416c-17.6 0-32-14.399-32-32v-448c0-17.6 14.398-32 32-32h416v128h32c17.673 0 32 14.327 32 32v64h-64v32h32c17.673 0 32 14.327 32 32v64h-64v32h32zM288 319.835c35.255 0 63.835-28.58 63.835-63.835s-28.58-63.835-63.835-63.835c-35.255 0-63.835 28.58-63.835 63.835s28.58 63.835 63.835 63.835zM128-32h-32v448h32v-448zM384 64h-192v32c0 35.347 28.654 64 64 64v0h64c35.348 0 64-28.653 64-64v-32z" />
<glyph unicode="&#x2710;" glyph-name="notebook" d="M449.18 416h-385.18v-64h-46.82c-8.8 0-17.18-6.264-17.18-15.064v-32c0-8.8 8.38-16.936 17.18-16.936h46.82v-32h-46.82c-8.8 0-17.18-6.264-17.18-15.064v-32c0-8.8 8.38-16.936 17.18-16.936h46.82v-32h-46.82c-8.8 0-17.18-6.264-17.18-15.064v-32c0-8.799 8.38-16.936 17.18-16.936h46.82v-32h-46.82c-8.8 0-17.18-6.264-17.18-15.064v-32c0-8.8 8.38-16.936 17.18-16.936h46.82v-64h385.18c17.674 0 30.82 15.263 30.82 32.936v416c0 17.673-13.146 31.064-30.82 31.064zM160-32h-64v32h17.18c8.8 0 14.82 8.136 14.82 16.936v32c0 8.801-6.021 15.064-14.82 15.064h-17.18v32h17.18c8.8 0 14.82 8.136 14.82 16.936v32c0 8.801-6.021 15.064-14.82 15.064h-17.18v32h17.18c8.8 0 14.82 8.136 14.82 16.936v32c0 8.801-6.021 15.064-14.82 15.064h-17.18v32h17.18c8.8 0 14.82 8.136 14.82 16.936v32c0 8.801-6.020 15.064-14.82 15.064h-17.18v32h64v-416z" />
<glyph unicode="&#x2713;" glyph-name="checkmark" d="M432 384l-240-240-112 112-80-80 192-192 320 320z" />
<glyph unicode="&#x2715;" glyph-name="close" d="M507.331 36.67c-0.002 0.002-0.004 0.004-0.006 0.005l-155.322 155.325 155.322 155.325c0.002 0.002 0.004 0.003 0.006 0.005 1.672 1.673 2.881 3.627 3.656 5.708 2.123 5.688 0.912 12.341-3.662 16.915l-73.373 73.373c-4.574 4.573-11.225 5.783-16.914 3.66-2.080-0.775-4.035-1.984-5.709-3.655 0-0.002-0.002-0.003-0.004-0.005l-155.324-155.326-155.324 155.325c-0.002 0.002-0.003 0.003-0.005 0.005-1.673 1.671-3.627 2.88-5.707 3.655-5.69 2.124-12.341 0.913-16.915-3.66l-73.374-73.374c-4.574-4.574-5.784-11.226-3.661-16.914 0.776-2.080 1.985-4.036 3.656-5.708 0.002-0.001 0.003-0.003 0.005-0.005l155.325-155.324-155.325-155.326c-0.001-0.002-0.003-0.003-0.004-0.005-1.671-1.673-2.88-3.627-3.657-5.707-2.124-5.688-0.913-12.341 3.661-16.915l73.374-73.373c4.575-4.574 11.226-5.784 16.915-3.661 2.080 0.776 4.035 1.985 5.708 3.656 0.001 0.002 0.003 0.003 0.005 0.005l155.324 155.325 155.324-155.325c0.002-0.001 0.004-0.003 0.006-0.004 1.674-1.672 3.627-2.881 5.707-3.657 5.689-2.123 12.342-0.913 16.914 3.661l73.373 73.374c4.574 4.574 5.785 11.227 3.662 16.915-0.776 2.080-1.985 4.034-3.657 5.707z" />
<glyph unicode="&#x2718;" glyph-name="blocked" d="M0 192c0-141.385 114.615-256 256-256s256 114.615 256 256-114.614 256-256 256c-141.385 0-256-114.615-256-256zM448 192c0-36.618-10.256-70.84-28.044-99.956l-263.911 263.912c29.115 17.789 63.337 28.044 99.955 28.044 106.038 0 192-85.961 192-192zM64 192c0 36.618 10.256 70.839 28.045 99.956l263.911-263.912c-29.117-17.789-63.338-28.044-99.956-28.044-106.038 0-192 85.961-192 192z" />
<glyph unicode="&#x271a;" glyph-name="plus" d="M496 256h-176v176c0 8.836-7.164 16-16 16h-96c-8.836 0-16-7.164-16-16v-176h-176c-8.836 0-16-7.164-16-16v-96c0-8.836 7.164-16 16-16h176v-176c0-8.836 7.164-16 16-16h96c8.836 0 16 7.164 16 16v176h176c8.836 0 16 7.164 16 16v96c0 8.836-7.164 16-16 16z" />
<glyph unicode="&#x2764;" glyph-name="heart" d="M512 268.922c0 81.229-65.85 147.078-147.078 147.078-43.181 0-82.015-18.609-108.922-48.245-26.907 29.636-65.741 48.245-108.922 48.245-81.229 0-147.078-65.849-147.078-147.078 0-43.181 18.609-82.015 48.245-108.922h-0.245l160-160c16-16 32-32 48-32s32 16 48 32l160 160h-0.245c29.636 26.907 48.245 65.741 48.245 108.922zM420.734 207.384l-161.989-162.129c-0.839-0.839-1.766-1.766-2.745-2.74-0.98 0.975-1.907 1.901-2.745 2.74l-161.989 162.128c-17.583 15.964-27.266 37.819-27.266 61.539 0 45.809 37.269 83.078 83.078 83.078 23.72 0 45.575-9.683 61.538-27.266l47.384-52.19 47.384 52.189c15.964 17.584 37.818 27.267 61.538 27.267 45.809 0 83.078-37.269 83.078-83.078 0-23.72-9.684-45.575-27.266-61.538z" />
<glyph unicode="&#x2b14;" glyph-name="image" d="M448 352h-384v-320h384v320zM512 416v0-448h-512v448h512zM416 64h-320v64l96 160 131.5-160 92.5 64v-32zM320 272c0-26.509 21.49-48 48-48s48 21.49 48 48c0 26.51-21.49 48-48 48s-48-21.49-48-48z" />
<glyph unicode="&#x2b25;" glyph-name="radio-unchecked" d="M256 448c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM256 0c-106.039 0-192 85.961-192 192s85.961 192 192 192c106.039 0 192-85.961 192-192s-85.961-192-192-192z" />
<glyph unicode="&#x2b26;" glyph-name="radio-checked" d="M256 448c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM256 0c-106.039 0-192 85.961-192 192s85.961 192 192 192c106.039 0 192-85.961 192-192s-85.961-192-192-192zM160 192c0-53.020 42.981-96 96-96s96 42.981 96 96c0 53.019-42.981 96-96 96s-96-42.98-96-96z" />
<glyph unicode="&#x2b27;" glyph-name="checkbox-unchecked" d="M0 448v-512h512v512h-512zM480-32h-448v448h448v-448z" />
<glyph unicode="&#x2b28;" glyph-name="checkbox-partial" d="M0 448v-512h512v512h-512zM480-32h-448v448h448v-448zM128 320h256v-256h-256z" />
<glyph unicode="&#xe000;" glyph-name="home" d="M512 152.778l-256 198.713-256-198.714v81.019l256 198.713 256-198.714zM448 160v-192h-128v128h-128v-128h-128v192l192 144z" />
<glyph unicode="&#xe001;" glyph-name="newspaper" d="M448 320v64h-448v-352c0-17.673 14.327-32 32-32h432c26.511 0 48 21.489 48 48v272h-64zM416 32h-384v320h384v-320zM64 288h320v-32h-320zM256 224h128v-32h-128zM256 160h128v-32h-128zM256 96h96v-32h-96zM64 224h160v-160h-160z" />
<glyph unicode="&#xe002;" glyph-name="offline" d="M256 416c-141.382 0-256-93.106-256-208.004 0-65.249 37.368-123.33 95.271-161.451 0.698-4.701 0.729-9.658 0.729-14.545 0-34.956-29.743-65.404-64-82.184v-13.816c63.465 1.443 129.008 11.21 184.002 66.18 13.009-1.652 26.43-2.18 39.998-2.18 141.382 0 256 93.13 256 207.996 0 114.898-114.618 208.004-256 208.004zM162.909 350.542c1.575 0.325 3.576-0.156 5.089-0.722 1.109-0.411 2.017-1.288 2.909-2.188l82.913-82.905 82.905 82.905c0.9 0.9 1.808 1.777 2.909 2.188 3.049 1.133 7.006 0.248 9.457-2.188l39.277-39.268c2.428-2.452 2.583-5.694 1.45-8.728-0.411-1.109-0.558-2.017-1.45-2.909l-83.643-82.913 83.643-82.905c0.892-0.892 1.039-1.8 1.45-2.909 1.141-3.041 0.993-7.005-1.45-9.456l-39.277-39.269c-2.451-2.436-6.423-2.591-9.457-1.459-1.101 0.411-2.009 0.559-2.909 1.459l-82.905 82.905-82.913-82.905c-0.892-0.9-1.8-1.048-2.909-1.459-3.041-1.14-7.005-0.993-9.449 1.459l-38.547 39.269c-2.436 2.451-3.313 6.423-2.18 9.456 0.403 1.109 1.28 2.017 2.18 2.909l82.905 82.905-82.905 82.913c-0.9 0.892-1.777 1.8-2.18 2.909-1.148 3.041-0.271 6.276 2.18 8.728l38.547 39.268c1.218 1.218 2.785 2.592 4.36 2.91z" />
<glyph unicode="&#xe004;" glyph-name="busy" d="M256 416c-141.382 0-256-93.106-256-208.004 0-65.249 37.368-123.33 95.271-161.451 0.698-4.701 0.729-9.658 0.729-14.545 0-34.956-29.743-65.404-64-82.184v-13.816c63.465 1.443 129.008 11.21 184.002 66.18 13.009-1.652 26.43-2.18 39.998-2.18 141.382 0 256 93.13 256 207.996 0 114.898-114.618 208.004-256 208.004zM77.816 256h347.64c6.408 0 11.637-5.229 11.637-11.636v-69.819c0-6.407-5.229-11.636-11.637-11.636h-347.64c-6.408 0-11.636 5.229-11.636 11.636v69.819c0 6.407 5.228 11.636 11.636 11.636z" />
<glyph unicode="&#xe012;" glyph-name="pushpin" d="M272 448l-48-48 48-48-112-128h-112l88-88-136-180.308v-19.692h19.692l180.308 136 88-88v112l128 112 48-48 48 48-240 240zM224 176l-32 32 112 112 32-32-112-112z" />
<glyph unicode="&#xe015;" glyph-name="bubbles" horiz-adv-x="576" d="M544-2.583c0-22.75 13.014-42.454 32-52.092v-7.969c-5.313-0.727-10.736-1.112-16.25-1.112-34.004 0-64.674 14.264-86.361 37.132-13.111-3.491-27.001-5.376-41.389-5.376-79.529 0-144 57.308-144 128s64.471 128 144 128c79.529 0 144-57.308 144-128 0-27.674-9.882-53.296-26.678-74.233-3.412-7.412-5.322-15.656-5.322-24.35zM115.339 337.407c-33.107-26.899-51.339-61.492-51.339-97.407 0-20.149 5.594-39.689 16.626-58.075 11.376-18.96 28.491-36.293 49.494-50.126 15.178-9.996 25.39-25.974 28.088-43.947 0.9-5.992 1.464-12.044 1.685-18.062 3.735 3.097 7.375 6.423 10.94 9.988 12.077 12.076 28.39 18.745 45.251 18.745 2.684 0 5.381-0.168 8.078-0.512 10.474-1.331 21.172-2.008 31.797-2.010v-64c-13.564 0.001-26.877 0.869-39.871 2.521-54.989-54.989-120.625-64.85-184.088-66.298v13.458c34.268 16.789 64 47.37 64 82.318 0 4.877-0.379 9.665-1.082 14.348-57.898 38.132-94.918 96.377-94.918 161.652 0 114.875 114.615 208 256 208 139.229 0 252.496-90.307 255.918-202.76-20.548 9.158-42.92 14.711-66.131 16.289-5.765 28.034-22.701 54.408-49.126 75.878-17.661 14.349-38.458 25.695-61.814 33.722-24.853 8.54-51.38 12.871-78.847 12.871s-53.994-4.331-78.847-12.871c-23.356-8.027-44.153-19.372-61.814-33.722z" />
<glyph unicode="&#xe016;" glyph-name="bubbles2" horiz-adv-x="576" d="M240 448v0c132.548 0 240-86.957 240-194.224s-107.452-194.224-240-194.224c-12.729 0-25.223 0.81-37.417 2.355-51.553-51.347-111.086-60.554-170.583-61.907v12.567c32.126 15.677 58 44.233 58 76.867 0 4.553-0.356 9.024-1.015 13.397-54.279 35.607-88.985 89.994-88.985 150.945 0 107.267 107.452 194.224 240 194.224zM498 12.657c0-27.971 18.157-52.449 46-65.886v-10.771c-51.563 1.159-98.893 9.051-143.571 53.063-10.57-1.325-21.397-2.020-32.429-2.020-47.735 0-91.704 12.879-126.807 34.52 72.337 0.253 140.63 23.427 192.417 65.336 26.104 21.126 46.697 45.913 61.207 73.674 15.383 29.433 23.183 60.791 23.183 93.203 0 5.224-0.225 10.418-0.629 15.584 36.285-29.967 58.629-70.811 58.629-115.838 0-52.244-30.079-98.861-77.12-129.382-0.571-3.748-0.88-7.58-0.88-11.483z" />
<glyph unicode="&#xe017;" glyph-name="bubbles3" horiz-adv-x="576" d="M240 384c-25.333 0-49.791-3.975-72.693-11.814-21.462-7.347-40.557-17.718-56.751-30.823-30.022-24.295-46.556-55.401-46.556-87.587 0-17.995 5.033-35.474 14.96-51.949 10.343-17.17 25.949-32.897 45.13-45.479 15.22-9.984 25.468-25.976 28.181-43.975 0.451-2.995 0.815-6.003 1.090-9.016 1.361 1.26 2.712 2.557 4.057 3.897 12.069 12.020 28.344 18.656 45.161 18.656 2.674 0 5.359-0.168 8.047-0.509 9.68-1.226 19.562-1.848 29.374-1.848 25.333 0 49.79 3.974 72.692 11.814 21.463 7.346 40.558 17.717 56.752 30.822 30.023 24.295 46.556 55.401 46.556 87.587s-16.533 63.291-46.556 87.587c-16.194 13.106-35.289 23.476-56.752 30.823-22.902 7.839-47.359 11.814-72.692 11.814zM240 448v0c132.548 0 240-86.957 240-194.224s-107.452-194.224-240-194.224c-12.729 0-25.223 0.81-37.417 2.355-51.553-51.347-111.086-60.554-170.583-61.907v12.567c32.126 15.677 58 44.233 58 76.867 0 4.553-0.356 9.024-1.015 13.397-54.279 35.607-88.985 89.994-88.985 150.945 0 107.267 107.452 194.224 240 194.224zM498 12.657c0-27.971 18.157-52.449 46-65.886v-10.771c-51.563 1.159-98.893 9.051-143.571 53.063-10.57-1.325-21.397-2.020-32.429-2.020-47.735 0-91.704 12.879-126.807 34.52 72.337 0.253 140.63 23.427 192.417 65.336 26.104 21.126 46.697 45.913 61.207 73.674 15.383 29.433 23.183 60.791 23.183 93.203 0 5.224-0.225 10.418-0.629 15.584 36.285-29.967 58.629-70.811 58.629-115.838 0-52.244-30.079-98.861-77.12-129.382-0.571-3.748-0.88-7.58-0.88-11.483z" />
<glyph unicode="&#xe01a;" glyph-name="user" d="M424-64h-336c-13.255 0-24 10.745-24 24 0 34.431 14.534 76.102 38.879 111.471 20.346 29.559 45.342 51.81 72.339 64.805-11.899 10.822-22.147 24.013-30.254 39.061-13 24.131-19.873 52.024-19.873 80.664 0 39.803 13.102 77.411 36.893 105.895 24.832 29.73 58.221 46.104 94.016 46.104s69.184-16.374 94.017-46.105c23.79-28.484 36.893-66.091 36.893-105.895 0-28.64-6.872-56.533-19.872-80.664-8.107-15.048-18.355-28.239-30.255-39.061 26.997-12.995 51.993-35.246 72.339-64.805 24.344-35.368 38.878-77.039 38.878-111.47 0-13.255-10.745-24-24-24zM115.037-16h281.926c-4.613 19.67-14.26 41.192-27.381 60.255-20.727 30.113-46.588 49.811-72.819 55.463-11.053 2.382-18.944 12.155-18.944 23.462v17.146c0 8.63 4.633 16.595 12.135 20.861 29.739 16.916 48.956 54.133 48.956 94.813 0 57.346-37.192 104-82.909 104s-82.909-46.654-82.909-104c0-40.68 19.217-77.896 48.957-94.813 7.501-4.267 12.134-12.231 12.134-20.861v-17.146c0-11.307-7.892-21.080-18.944-23.462-26.231-5.652-52.092-25.35-72.82-55.463-13.123-19.063-22.768-40.585-27.382-60.255z" />
<glyph unicode="&#xe01b;" glyph-name="users" d="M488-64h-336c-13.255 0-24 10.745-24 24 0 34.431 14.534 76.102 38.879 111.471 20.346 29.559 45.342 51.81 72.339 64.805-11.899 10.822-22.147 24.013-30.254 39.061-13 24.131-19.873 52.024-19.873 80.664 0 39.803 13.102 77.411 36.893 105.895 24.832 29.73 58.221 46.104 94.016 46.104s69.184-16.374 94.017-46.105c23.79-28.484 36.893-66.091 36.893-105.895 0-28.64-6.872-56.533-19.872-80.664-8.107-15.048-18.355-28.239-30.255-39.061 26.997-12.995 51.993-35.246 72.339-64.805 24.344-35.368 38.878-77.039 38.878-111.47 0-13.255-10.745-24-24-24zM179.037-16h281.926c-4.613 19.67-14.26 41.192-27.381 60.255-20.727 30.113-46.588 49.811-72.819 55.463-11.053 2.382-18.944 12.155-18.944 23.462v17.146c0 8.63 4.633 16.595 12.135 20.861 29.739 16.916 48.956 54.133 48.956 94.813 0 57.346-37.192 104-82.909 104s-82.909-46.654-82.909-104c0-40.68 19.217-77.896 48.957-94.813 7.501-4.267 12.134-12.231 12.134-20.861v-17.146c0-11.307-7.892-21.080-18.944-23.462-26.231-5.652-52.092-25.35-72.82-55.463-13.123-19.063-22.768-40.585-27.382-60.255zM98.557 16h-47.52c4.614 19.67 14.259 41.192 27.38 60.255 20.728 30.113 46.589 49.811 72.82 55.463 11.053 2.382 18.944 12.155 18.944 23.462v17.146c0 8.63-4.633 16.595-12.134 20.861-29.74 16.917-48.957 54.133-48.957 94.813 0 57.346 37.192 104 82.909 104 3.127 0 6.213-0.226 9.251-0.651 13.179 14.667 28.117 26.587 44.321 35.502-16.596 8.616-34.75 13.149-53.571 13.149-35.795 0-69.184-16.374-94.017-46.105-23.79-28.484-36.892-66.092-36.892-105.895 0-28.64 6.872-56.533 19.873-80.664 8.107-15.048 18.355-28.238 30.254-39.061-26.997-12.995-51.993-35.246-72.339-64.805-24.345-35.368-38.879-77.039-38.879-111.47 0-13.255 10.745-24 24-24h66.193c0.738 15.513 3.599 31.706 8.364 48z" />
<glyph unicode="&#xe01c;" glyph-name="hide-users" d="M461.118-64h-317.491c-12.525 0-22.678 10.153-22.678 22.678 0 32.534 13.733 71.91 36.738 105.331 19.225 27.931 42.844 48.956 68.354 61.235-11.244 10.226-20.927 22.69-28.588 36.909-12.284 22.802-18.779 49.159-18.779 76.221 0 37.61 12.381 73.147 34.861 100.062 23.464 28.093 55.014 43.565 88.837 43.565s65.373-15.472 88.838-43.565c22.48-26.915 34.861-62.451 34.861-100.062 0-27.063-6.493-53.419-18.777-76.221-7.661-14.219-17.344-26.683-28.589-36.909 25.51-12.279 49.129-33.304 68.354-61.235 23.003-33.42 36.736-72.795 36.736-105.329 0-12.525-10.153-22.678-22.678-22.678zM169.175-18.644h266.396c-4.359 18.587-13.474 38.923-25.873 56.936-19.586 28.454-44.022 47.067-68.808 52.408-10.444 2.251-17.901 11.486-17.901 22.169v16.202c0 8.154 4.378 15.681 11.466 19.712 28.101 15.984 46.26 51.151 46.26 89.59 0 54.187-35.144 98.271-78.342 98.271s-78.342-44.084-78.342-98.271c0-38.439 18.159-73.605 46.26-89.59 7.088-4.032 11.466-11.558 11.466-19.712v-16.202c0-10.684-7.457-19.919-17.901-22.169-24.786-5.341-49.222-23.953-68.808-52.408-12.4-18.013-21.514-38.349-25.874-56.936zM93.128 11.593h-44.903c4.36 18.587 13.474 38.923 25.872 56.936 19.586 28.454 44.023 47.067 68.809 52.408 10.444 2.251 17.9 11.486 17.9 22.169v16.202c0 8.154-4.378 15.681-11.465 19.712-28.102 15.985-46.26 51.151-46.26 89.59 0 54.187 35.144 98.271 78.342 98.271 2.954 0 5.871-0.214 8.742-0.615 12.453 13.859 26.568 25.123 41.88 33.546-15.682 8.142-32.836 12.425-50.62 12.425-33.823 0-65.373-15.472-88.838-43.565-22.48-26.915-34.86-62.452-34.86-100.062 0-27.063 6.493-53.419 18.778-76.22 7.66-14.219 17.344-26.683 28.588-36.91-25.51-12.279-49.129-33.304-68.354-61.235-23.004-33.42-36.737-72.795-36.737-105.329 0-12.525 10.153-22.678 22.678-22.678h62.547c0.698 14.659 3.401 29.959 7.903 45.356zM363.512 412.513v-27.615c0-2.542 2.061-4.603 4.603-4.603h138.077c2.542 0 4.603 2.061 4.603 4.603v27.615c0 2.542-2.061 4.602-4.603 4.602h-138.077c-2.542 0-4.603-2.061-4.603-4.602z" />
<glyph unicode="&#xe01d;" glyph-name="quotes-left" d="M112.5 224c61.856 0 112-50.145 112-112s-50.144-112-112-112-112 50.144-112 112l-0.5 16c0 123.712 100.288 224 224 224v-64c-42.737 0-82.917-16.643-113.137-46.863-5.817-5.818-11.126-12.008-15.915-18.51 5.719 0.9 11.58 1.373 17.552 1.373zM400.5 224c61.855 0 112-50.145 112-112s-50.145-112-112-112-112 50.144-112 112l-0.5 16c0 123.712 100.288 224 224 224v-64c-42.737 0-82.917-16.643-113.137-46.863-5.818-5.818-11.127-12.008-15.916-18.51 5.72 0.9 11.58 1.373 17.553 1.373z" />
<glyph unicode="&#xe01e;" glyph-name="show-users" d="M461.118-64h-317.491c-12.525 0-22.678 10.153-22.678 22.678 0 32.534 13.733 71.91 36.738 105.331 19.225 27.931 42.844 48.956 68.354 61.235-11.244 10.226-20.927 22.69-28.588 36.909-12.284 22.802-18.779 49.159-18.779 76.221 0 37.61 12.381 73.147 34.861 100.062 23.464 28.093 55.014 43.565 88.837 43.565s65.373-15.472 88.838-43.565c22.48-26.915 34.861-62.451 34.861-100.062 0-27.063-6.493-53.419-18.777-76.221-7.661-14.219-17.344-26.683-28.589-36.909 25.51-12.279 49.129-33.304 68.354-61.235 23.003-33.42 36.736-72.795 36.736-105.329 0-12.525-10.153-22.678-22.678-22.678zM169.175-18.644h266.396c-4.359 18.587-13.474 38.923-25.873 56.936-19.586 28.454-44.022 47.067-68.808 52.408-10.444 2.251-17.901 11.486-17.901 22.169v16.202c0 8.154 4.378 15.681 11.466 19.712 28.101 15.984 46.26 51.151 46.26 89.59 0 54.187-35.144 98.271-78.342 98.271s-78.342-44.084-78.342-98.271c0-38.439 18.159-73.605 46.26-89.59 7.088-4.032 11.466-11.558 11.466-19.712v-16.202c0-10.684-7.457-19.919-17.901-22.169-24.786-5.341-49.222-23.953-68.808-52.408-12.4-18.013-21.514-38.349-25.874-56.936zM93.128 11.593h-44.903c4.36 18.587 13.474 38.923 25.872 56.936 19.586 28.454 44.023 47.067 68.809 52.408 10.444 2.251 17.9 11.486 17.9 22.169v16.202c0 8.154-4.378 15.681-11.465 19.712-28.102 15.985-46.26 51.151-46.26 89.59 0 54.187 35.144 98.271 78.342 98.271 2.954 0 5.871-0.214 8.742-0.615 12.453 13.859 26.568 25.123 41.88 33.546-15.682 8.142-32.836 12.425-50.62 12.425-33.823 0-65.373-15.472-88.838-43.565-22.48-26.915-34.86-62.452-34.86-100.062 0-27.063 6.493-53.419 18.778-76.22 7.66-14.219 17.344-26.683 28.588-36.91-25.51-12.279-49.129-33.304-68.354-61.235-23.004-33.42-36.737-72.795-36.737-105.329 0-12.525 10.153-22.678 22.678-22.678h62.547c0.698 14.659 3.401 29.959 7.903 45.356zM512.211 397.587h-48.225v48.225c0 2.421-1.963 4.384-4.384 4.384h-26.305c-2.421 0-4.384-1.963-4.384-4.384v-48.225h-48.225c-2.421 0-4.384-1.963-4.384-4.384v-26.305c0-2.421 1.963-4.384 4.384-4.384h48.225v-48.225c0-2.421 1.963-4.384 4.384-4.384h26.305c2.421 0 4.384 1.963 4.384 4.384v48.225h48.225c2.421 0 4.384 1.963 4.384 4.384v26.304c0 2.421-1.963 4.384-4.384 4.384z" />
<glyph unicode="&#xe01f;" glyph-name="notification" d="M256 400c-55.559 0-107.792-21.636-147.078-60.922s-60.922-91.519-60.922-147.078c0-55.559 21.636-107.792 60.922-147.078s91.519-60.922 147.078-60.922c55.559 0 107.792 21.636 147.078 60.922s60.922 91.519 60.922 147.078c0 55.559-21.636 107.792-60.922 147.078s-91.519 60.922-147.078 60.922zM256 448v0c141.385 0 256-114.615 256-256s-114.615-256-256-256c-141.385 0-256 114.615-256 256s114.615 256 256 256zM224 96h64v-64h-64zM224 352h64v-192h-64z" />
<glyph unicode="&#xe021;" glyph-name="search" d="M496.131 12.302l-121.276 103.147c-12.537 11.283-25.945 16.463-36.776 15.963 28.628 33.534 45.921 77.039 45.921 124.588 0 106.039-85.961 192-192 192s-192-85.961-192-192 85.961-192 192-192c47.549 0 91.054 17.293 124.588 45.922-0.5-10.831 4.68-24.239 15.963-36.776l103.147-121.276c17.661-19.623 46.511-21.277 64.11-3.678s15.946 46.449-3.677 64.11zM192 128c-70.692 0-128 57.308-128 128s57.308 128 128 128 128-57.308 128-128-57.307-128-128-128z" />
<glyph unicode="&#xe022;" glyph-name="cogs" d="M181.861 86.974l20.649 28.908-22.627 22.628-28.909-20.648c-5.361 2.997-11.102 5.387-17.133 7.096l-5.841 35.042h-32l-5.84-35.043c-6.031-1.709-11.772-4.099-17.133-7.096l-28.909 20.649-22.628-22.628 20.649-28.908c-2.997-5.36-5.387-11.103-7.096-17.133l-35.043-5.841v-32l35.043-5.841c1.709-6.030 4.099-11.772 7.096-17.133l-20.649-28.908 22.627-22.628 28.909 20.648c5.361-2.997 11.102-5.387 17.133-7.096l5.841-35.042h32l5.84 35.043c6.031 1.709 11.772 4.099 17.133 7.096l28.909-20.648 22.627 22.628-20.649 28.908c2.997 5.36 5.387 11.103 7.096 17.133l35.044 5.84v32l-35.043 5.841c-1.709 6.030-4.099 11.772-7.096 17.133zM112 16c-17.674 0-32 14.327-32 32s14.326 32 32 32 32-14.327 32-32-14.326-32-32-32zM512 256v32l-33.691 6.125c-0.621 4.023-1.416 7.989-2.362 11.895l28.779 18.55-12.246 29.564-33.472-7.234c-2.107 3.455-4.363 6.81-6.746 10.065l19.503 28.171-22.628 22.627-28.171-19.503c-3.256 2.383-6.61 4.638-10.065 6.747l7.234 33.472-29.564 12.247-18.55-28.779c-3.906 0.946-7.872 1.741-11.895 2.362l-6.126 33.691h-32l-6.126-33.691c-4.023-0.621-7.988-1.416-11.895-2.362l-18.549 28.779-29.564-12.246 7.234-33.472c-3.455-2.108-6.81-4.364-10.065-6.747l-28.171 19.503-22.627-22.627 19.503-28.171c-2.383-3.255-4.639-6.61-6.747-10.065l-33.472 7.234-12.246-29.564 28.779-18.55c-0.946-3.906-1.741-7.871-2.362-11.895l-33.692-6.126v-32l33.691-6.125c0.621-4.023 1.416-7.989 2.362-11.895l-28.779-18.55 12.246-29.564 33.472 7.234c2.108-3.455 4.364-6.809 6.747-10.065l-19.503-28.171 22.627-22.628 28.171 19.503c3.255-2.383 6.61-4.638 10.065-6.746l-7.234-33.472 29.564-12.246 18.551 28.779c3.905-0.946 7.871-1.741 11.894-2.362l6.126-33.692h32l6.126 33.691c4.022 0.621 7.988 1.416 11.895 2.362l18.55-28.779 29.564 12.246-7.234 33.472c3.455 2.108 6.81 4.363 10.065 6.746l28.171-19.503 22.628 22.628-19.503 28.171c2.383 3.256 4.638 6.61 6.746 10.065l33.472-7.234 12.246 29.565-28.779 18.55c0.946 3.906 1.741 7.871 2.362 11.895l33.691 6.125zM336 202.4c-38.439 0-69.6 31.161-69.6 69.6s31.16 69.6 69.6 69.6 69.6-31.161 69.6-69.6c0-38.439-31.16-69.6-69.6-69.6z" />
<glyph unicode="&#xe024;" glyph-name="wrench" d="M501.467 39.062l-230.276 197.38c10.724 20.149 16.809 43.141 16.809 67.558 0 79.529-64.471 144-144 144-14.547 0-28.586-2.166-41.823-6.177l83.195-83.195c12.445-12.445 12.445-32.81 0-45.255l-50.745-50.745c-12.445-12.445-32.81-12.445-45.255 0l-83.195 83.195c-4.011-13.237-6.177-27.276-6.177-41.823 0-79.529 64.471-144 144-144 24.417 0 47.409 6.085 67.558 16.81l197.38-230.276c11.454-13.362 31.008-14.113 43.452-1.669l50.746 50.746c12.444 12.444 11.693 31.997-1.669 43.451z" />
<glyph unicode="&#xe025;" glyph-name="unlocked" d="M384 416h-64c-52.935 0-96-43.065-96-96v-96h-200c-13.2 0-24-10.8-24-24v-240c0-13.2 10.8-24 24-24h272c13.2 0 24 10.8 24 24v240c0 13.2-10.8 24-24 24h-8v96c0 17.645 14.355 32 32 32h64c17.645 0 32-14.355 32-32v-96h64v96c0 52.935-43.065 96-96 96zM192 0h-64l13.92 69.6c-8.404 5.766-13.92 15.437-13.92 26.4 0 17.673 14.327 32 32 32s32-14.327 32-32c0-10.963-5.516-20.634-13.92-26.4l13.92-69.6z" />
<glyph unicode="&#xe027;" glyph-name="lock-2" d="M296 224h-8v96c0 52.935-43.065 96-96 96h-64c-52.935 0-96-43.065-96-96v-96h-8c-13.2 0-24-10.8-24-24v-240c0-13.2 10.8-24 24-24h272c13.2 0 24 10.8 24 24v240c0 13.2-10.8 24-24 24zM192 0h-64l13.92 69.6c-8.404 5.766-13.92 15.437-13.92 26.4 0 17.673 14.327 32 32 32s32-14.327 32-32c0-10.963-5.516-20.634-13.92-26.4l13.92-69.6zM224 224h-128v96c0 17.645 14.355 32 32 32h64c17.645 0 32-14.355 32-32v-96z" />
<glyph unicode="&#xe028;" glyph-name="key" d="M352 448c-88.365 0-160-71.634-160-160 0-10.013 0.929-19.808 2.688-29.312l-194.688-194.688v-96c0-17.673 14.327-32 32-32h32v32h64v64h64v64h64l41.521 41.521c17.005-6.158 35.348-9.521 54.479-9.521 88.365 0 160 71.634 160 160s-71.635 160-160 160zM399.937 287.937c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z" />
<glyph unicode="&#xe02a;" glyph-name="zoomout" d="M496.131 12.302l-121.276 103.147c-12.537 11.283-25.945 16.463-36.776 15.963 28.628 33.534 45.921 77.039 45.921 124.588 0 106.039-85.961 192-192 192s-192-85.961-192-192 85.961-192 192-192c47.549 0 91.054 17.293 124.588 45.922-0.5-10.831 4.68-24.239 15.963-36.776l103.147-121.276c17.661-19.623 46.511-21.277 64.11-3.678s15.946 46.449-3.677 64.11zM192 128c-70.692 0-128 57.308-128 128s57.308 128 128 128 128-57.308 128-128-57.307-128-128-128zM96 288h192v-64h-192z" />
<glyph unicode="&#xe02b;" glyph-name="zoomin" d="M496.131 12.302l-121.276 103.147c-12.537 11.283-25.945 16.463-36.776 15.963 28.628 33.534 45.921 77.039 45.921 124.588 0 106.039-85.961 192-192 192s-192-85.961-192-192 85.961-192 192-192c47.549 0 91.054 17.293 124.588 45.922-0.5-10.831 4.68-24.239 15.963-36.776l103.147-121.276c17.661-19.623 46.511-21.277 64.11-3.678s15.946 46.449-3.677 64.11zM192 128c-70.692 0-128 57.308-128 128s57.308 128 128 128 128-57.308 128-128-57.307-128-128-128zM224 352h-64v-64h-64v-64h64v-64h64v64h64v64h-64z" />
<glyph unicode="&#xe02d;" glyph-name="remove" d="M400 384h-288c-26.51 0-48-21.49-48-48v-16h384v16c0 26.51-21.49 48-48 48zM316.16 416l7.058-50.5h-134.436l7.057 50.5h120.321zM320 448h-128c-13.2 0-25.495-10.696-27.321-23.769l-9.357-66.962c-1.827-13.073 7.478-23.769 20.678-23.769h160c13.2 0 22.505 10.696 20.679 23.769l-9.357 66.962c-1.827 13.073-14.122 23.769-27.322 23.769v0zM408 288h-304c-17.6 0-30.696-14.341-29.103-31.869l26.206-288.263c1.593-17.527 17.297-31.868 34.897-31.868h240c17.6 0 33.304 14.341 34.897 31.868l26.205 288.263c1.594 17.528-11.502 31.869-29.102 31.869zM192 0h-48l-16 224h64v-224zM288 0h-64v224h64v-224zM368 0h-48v224h64l-16-224z" />
<glyph unicode="&#xe02f;" glyph-name="cog" d="M512 143.953v96.094l-73.387 12.231c-2.979 9.066-6.611 17.834-10.847 26.25l43.227 60.517-67.948 67.949-60.413-43.152c-8.455 4.277-17.269 7.944-26.384 10.951l-12.201 73.207h-96.094l-12.201-73.208c-9.115-3.007-17.929-6.674-26.383-10.951l-60.414 43.152-67.949-67.949 43.227-60.518c-4.235-8.415-7.867-17.183-10.846-26.249l-73.387-12.23v-96.094l73.559-12.26c2.98-8.984 6.605-17.674 10.821-26.015l-43.374-60.724 67.949-67.948 60.827 43.447c8.301-4.175 16.945-7.764 25.882-10.717l12.289-73.736h96.094l12.289 73.737c8.937 2.953 17.581 6.542 25.883 10.716l60.826-43.446 67.948 67.948-43.372 60.723c4.216 8.341 7.839 17.031 10.82 26.016l73.559 12.259zM256 128c-35.346 0-64 28.653-64 64 0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.347-28.653-64-64-64z" />
<glyph unicode="&#xe030;" glyph-name="eye" d="M256 352c-111.659 0-208.441-65.021-256-160 47.559-94.979 144.341-160 256-160 111.657 0 208.439 65.021 256 160-47.558 94.979-144.343 160-256 160zM382.225 267.148c30.081-19.187 55.571-44.887 74.717-75.148-19.146-30.261-44.637-55.961-74.718-75.149-37.797-24.108-81.445-36.851-126.224-36.851-44.78 0-88.428 12.743-126.225 36.852-30.080 19.186-55.57 44.886-74.717 75.148 19.146 30.262 44.637 55.962 74.717 75.148 1.959 1.25 3.938 2.461 5.929 3.65-4.979-13.664-7.704-28.411-7.704-43.798 0-70.692 57.308-128 128-128s128 57.308 128 128c0 15.387-2.725 30.134-7.704 43.799 1.99-1.189 3.969-2.401 5.929-3.651zM256 243c0-26.51-21.49-48-48-48s-48 21.49-48 48 21.49 48 48 48 48-21.49 48-48z" />
<glyph unicode="&#xe031;" glyph-name="eye-blocked" d="M419.661 299.792c38.822-27.515 70.685-64.546 92.339-107.792-47.561-94.979-144.343-160-256-160-31.283 0-61.396 5.106-89.589 14.542l38.978 38.978c16.529-3.65 33.486-5.52 50.611-5.52 44.779 0 88.427 12.743 126.223 36.852 30.081 19.188 55.572 44.888 74.718 75.149-18.526 29.283-43.007 54.275-71.825 73.247l34.545 34.544zM256 99c-11.362 0-22.376 1.488-32.864 4.267l156.593 156.592c2.781-10.486 4.271-21.497 4.271-32.859 0-70.692-57.308-128-128-128zM480 448h-26.869l-109.806-109.806c-27.538 8.962-56.877 13.806-87.325 13.806-111.659 0-208.441-65.021-256-160 21.329-42.596 52.564-79.154 90.597-106.534l-90.597-90.597v-26.869h26.869l453.131 453.131v26.869zM208 291c24.022 0 43.923-17.647 47.446-40.685l-54.762-54.762c-23.037 3.524-40.684 23.425-40.684 47.447 0 26.51 21.49 48 48 48zM55.058 192c19.146 30.262 44.637 55.962 74.717 75.148 1.959 1.25 3.938 2.461 5.929 3.65-4.979-13.664-7.704-28.411-7.704-43.798 0-29.262 9.825-56.224 26.349-77.781l-29.275-29.275c-28.036 18.821-51.877 43.386-70.016 72.056z" />
<glyph unicode="&#xe032;" glyph-name="attachment" d="M348.916 284.476l-32.476 32.461-162.405-162.371c-26.907-26.896-26.907-70.524 0-97.422 26.902-26.896 70.53-26.896 97.437 0l194.886 194.854c44.857 44.831 44.857 117.531 0 162.363-44.833 44.852-117.556 44.852-162.391 0l-204.615-204.589c-0.145-0.152-0.306-0.288-0.438-0.423-62.551-62.548-62.551-163.928 0-226.453 62.527-62.528 163.934-62.528 226.494 0 0.137 0.137 0.258 0.284 0.41 0.438l0.016-0.017 139.666 139.646-32.493 32.46-139.665-139.631c-0.148-0.134-0.282-0.285-0.423-0.422-44.537-44.529-116.99-44.529-161.538 0-44.531 44.521-44.531 116.961 0 161.489 0.152 0.152 0.302 0.291 0.444 0.423l-0.023 0.030 204.64 204.583c26.856 26.869 70.572 26.869 97.443 0 26.856-26.867 26.856-70.574 0-97.42l-194.886-194.85c-8.968-8.961-23.527-8.961-32.486 0-8.947 8.943-8.947 23.516 0 32.46l162.403 162.391z" />
<glyph unicode="&#xe038;" glyph-name="tongue" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM128 288c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32zM320 288c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32zM384 160v-32h-32v-48c0-26.51-21.49-48-48-48s-48 21.49-48 48v48h-128v32h256z" />
<glyph unicode="&#xe03a;" glyph-name="wink" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM271.37 92.486c70.124 13.853 124.555 45.771 144.227 88.297-10.827-83.978-80.759-148.783-165.425-148.783-59.621 0-111.929 32.141-141.446 80.474 35.205-27.529 97.267-32.904 162.644-19.988zM320 272c0-26.509 14.327-48 32-48s32 21.49 32 48c0 26.51-14.327 48-32 48s-32-21.49-32-48zM176 262.25c-20.898 0-38.667-7.828-45.258-18.75-1.77 2.933-2.742 16.087-2.742 19.375 0 15.533 21.49 28.125 48 28.125s48-12.592 48-28.125c0-3.288-0.972-16.442-2.742-19.375-6.591 10.922-24.36 18.75-45.258 18.75z" />
<glyph unicode="&#xe03f;" glyph-name="angry" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM352.049 57.63c-19.587 32.574-55.272 54.37-96.049 54.37s-76.462-21.796-96.049-54.37l-41.164 24.698c27.98 46.535 78.958 77.672 137.213 77.672s109.232-31.137 137.213-77.672l-41.164-24.698zM383.521 307.88c2.142-8.572-3.070-17.259-11.641-19.402-8.813-2.225-19.261-6.060-28.468-10.675 5.324-5.715 8.587-13.376 8.587-21.803 0-17.673-14.327-32-32-32s-32 14.327-32 32c0 0.585 0.018 1.165 0.049 1.742 1.016 23.727 22.606 39.473 40.796 48.569 17.371 8.685 34.551 13.030 35.274 13.211 8.573 2.144 17.259-3.069 19.403-11.642zM128.479 307.88c2.144 8.573 10.83 13.786 19.403 11.642 0.723-0.181 17.903-4.526 35.274-13.211 18.19-9.096 39.78-24.842 40.796-48.569 0.031-0.577 0.049-1.157 0.049-1.742 0-17.673-14.327-32-32-32s-32 14.327-32 32c0 8.427 3.263 16.088 8.587 21.803-9.207 4.615-19.655 8.45-28.468 10.675-8.571 2.143-13.783 10.83-11.641 19.402z" />
<glyph unicode="&#xe040;" glyph-name="cool" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM400 320c8.8 0 16-7.2 16-16v-48c0-17.6-14.4-32-32-32h-64c-17.6 0-32 14.4-32 32h-64c0-17.6-14.4-32-32-32h-64c-17.6 0-32 14.4-32 32v48c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-16h64v16c0 8.8 7.2 16 16 16h96zM256 64c46.604 0 87.386 24.909 109.773 62.139l27.44-16.467c-27.983-46.535-78.958-77.672-137.213-77.672-24.229 0-47.192 5.398-67.77 15.041l16.581 27.639c15.677-6.857 32.982-10.68 51.189-10.68z" />
<glyph unicode="&#xe041;" glyph-name="grin" d="M256-64c141.385 0 256 114.615 256 256s-114.615 256-256 256-256-114.615-256-256 114.615-256 256-256zM256 400c114.875 0 208-93.125 208-208s-93.125-208-208-208-208 93.125-208 208 93.125 208 208 208zM96 192v-32c0-70.4 57.6-128 128-128h64c70.4 0 128 57.6 128 128v32h-320zM192 69.506c-13.269 4.729-25.462 12.411-35.772 22.723-18.203 18.201-28.228 42.27-28.228 67.771h64v-90.494zM288 64h-64v96h64v-96zM355.772 92.229c-10.312-10.312-22.505-17.994-35.772-22.723v90.494h64c0-25.501-10.024-49.57-28.228-67.771zM112.676 256c0.001 0 0 0 0 0 4.884 0 9.054 3.528 9.862 8.345 3.079 18.342 18.834 31.655 37.462 31.655s34.383-13.313 37.462-31.655c0.808-4.816 4.978-8.345 9.861-8.345 4.884 0 9.054 3.528 9.862 8.344 0.541 3.218 0.814 6.467 0.814 9.656 0 31.981-26.019 58-58 58s-58-26.019-58-58c0-3.189 0.274-6.438 0.814-9.656 0.81-4.816 4.98-8.344 9.863-8.344zM304.676 256c0.001 0 0 0 0 0 4.885 0 9.056 3.528 9.862 8.345 3.079 18.342 18.834 31.655 37.462 31.655s34.383-13.313 37.462-31.655c0.808-4.816 4.979-8.345 9.861-8.345s9.054 3.528 9.861 8.344c0.541 3.218 0.814 6.467 0.814 9.656 0 31.981-26.019 58-58 58s-58-26.019-58-58c0-3.189 0.272-6.438 0.813-9.656 0.812-4.816 4.982-8.344 9.865-8.344z" />
<glyph unicode="&#xe045;" glyph-name="spell-check" d="M64 320h64v-96h32v192c0 17.6-14.4 32-32 32h-64c-17.6 0-32-14.4-32-32v-192h32v96zM64 416h64v-64h-64v64zM480 416v32h-96c-17.601 0-32-14.4-32-32v-160c0-17.6 14.399-32 32-32h96v32h-96v160h96zM320 368v48c0 17.6-14.4 32-32 32h-96v-224h96c17.6 0 32 14.4 32 32v48c0 17.6-4.4 32-22 32 17.6 0 22 14.4 22 32zM288 256h-64v64h64v-64zM288 352h-64v64h64v-64zM416 160l-208-224-112 144 41 35 71-74 176 151z" />
<glyph unicode="&#xe04d;" glyph-name="bold" d="M353.94 205.674c18.749 22.271 30.060 51.004 30.060 82.326 0 70.58-57.421 128-128 128h-160v-448h192c70.579 0 128 57.421 128 128 0 46.478-24.899 87.248-62.060 109.674zM192 352h50.75c27.984 0 50.75-28.71 50.75-64s-22.766-64-50.75-64h-50.75v128zM271.5 32h-79.5v128h79.5c29.225 0 53-28.71 53-64s-23.775-64-53-64z" />
<glyph unicode="&#xe04e;" glyph-name="underline" d="M352 416h64v-208c0-79.529-71.634-144-160-144s-160 64.471-160 144v208h64v-208c0-20.083 9.119-39.352 25.677-54.253 18.448-16.602 43.423-25.747 70.323-25.747s51.875 9.145 70.323 25.747c16.558 14.901 25.677 34.17 25.677 54.253v208zM96 32h320v-64h-320z" />
<glyph unicode="&#xe04f;" glyph-name="italic" d="M448 416v-32h-64l-160-384h64v-32h-224v32h64l160 384h-64v32z" />
<glyph unicode="&#xe050;" glyph-name="strikethrough" d="M512 192v-32h-117.253c13.752-19.255 21.253-41.346 21.253-64 0-35.439-18.33-69.513-50.29-93.482-29.679-22.259-68.642-34.518-109.71-34.518-41.069 0-80.031 12.259-109.71 34.518-31.96 23.969-50.29 58.043-50.29 93.482h64c0-34.691 43.963-64 96-64s96 29.309 96 64c0 34.691-43.963 64-96 64h-256v32h149.759c-1.169 0.827-2.328 1.662-3.469 2.518-31.96 23.97-50.29 58.043-50.29 93.482s18.33 69.512 50.29 93.482c29.679 22.259 68.641 34.518 109.71 34.518 41.068 0 80.031-12.259 109.71-34.518 31.96-23.97 50.29-58.043 50.29-93.482h-64c0 34.691-43.963 64-96 64s-96-29.309-96-64c0-34.691 43.963-64 96-64 39.489 0 77.027-11.339 106.241-32h149.759z" />
<glyph unicode="&#xe053;" glyph-name="newtab" d="M96 416v-384h384v384h-384zM448 64h-320v320h320v-320zM64 0v320l-32 32v-384h384l-32 32zM214.627 105.373l96 96 73.373-73.373v192h-192l73.373-73.373-96-96z" />
<glyph unicode="&#xe058;" glyph-name="cancel-circle" d="M256 448c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM384 274.745l-82.744-82.745 82.744-82.744v-45.256h-45.256l-82.744 82.744-82.745-82.744h-45.255v45.256l82.745 82.744-82.745 82.745v45.255h45.255l82.745-82.745 82.744 82.745h45.256v-45.255z" />
<glyph unicode="&#xe059;" glyph-name="room-info" d="M256 448c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM224 352h64v-64h-64v64zM320 32h-128v32h32v128h-32v32h96v-160h32v-32z" />
<glyph unicode="&#xe05a;" glyph-name="minus" d="M0 240v-96c0-8.836 7.164-16 16-16h480c8.836 0 16 7.164 16 16v96c0 8.836-7.164 16-16 16h-480c-8.836 0-16-7.164-16-16z" />
<glyph unicode="&#xe600;" glyph-name="conversejs" horiz-adv-x="410" d="M33.015 447.986c-18.29 0-33.005-14.716-33.005-33.006v-384.702c0-18.289 14.716-33.024 33.005-33.024h343.955c18.289 0 33.024 14.734 33.024 33.024v384.702c0 18.29-14.734 33.006-33.024 33.006h-343.955zM40.939 440.833h328.786c17.749 0 32.049-14.301 32.049-32.049v-126.414l-49.425-56.1h-286.825l-5.535-4.597-50.344-58.178-0.809 88.756 0.257 2.685c-0.116 1.109-0.184 2.224-0.184 3.365v150.482c0 17.749 14.283 32.049 32.031 32.049zM283.212 386.719c-29.102 0-52.698-23.577-52.698-52.679s23.595-52.699 52.698-52.699c29.103 0 52.699 23.596 52.699 52.698s-23.596 52.68-52.699 52.68zM124.749 165.96c0.451 0.011 0.906 0 1.361 0 29.102 0 52.679-23.577 52.679-52.68s-23.577-52.698-52.679-52.698c-29.102 0-52.698 23.596-52.698 52.698 0 28.648 22.864 51.958 51.338 52.68z" />
<glyph unicode="&#xe601;" glyph-name="exit" d="M384 128v64h-160v64h160v64l96-96zM352 160v-128h-160v-96l-192 96v416h352v-160h-32v128h-256l128-64v-288h128v96z" />
<glyph unicode="&#xe602;" glyph-name="xa" d="M353.825-63.334c-7.731 0.602-18.904 2.467-26.955 4.5-31.274 7.894-61.113 27.811-80.623 53.813l-4.316 5.753-6.785 0.453c-3.732 0.249-9.418 0.76-12.637 1.137l-5.853 0.684-4.602-4.351c-42.045-39.748-93.922-58.769-167.866-61.551l-11.84-0.446v14.216l3.395 1.834c13.346 7.21 24.137 15.128 33.861 24.846 12.21 12.202 19.795 24.279 23.617 37.604 2.056 7.17 3.198 16.552 2.683 22.043-0.975 10.388-0.341 9.2-7.671 14.407-17.231 12.243-36.264 30.14-47.508 44.673-15.707 20.301-27.456 42.712-33.645 64.178-10.544 36.569-8.728 76.714 5.058 111.801 35.493 90.335 141.651 150.144 257.076 144.836 36.486-1.678 67.24-8.061 98.589-20.463 70.337-27.827 121.201-80.164 138.156-142.162 4.647-16.993 6.614-33.061 6.051-49.422-0.656-19.032-3.22-33.797-8.839-50.891l-2.351-7.154 1.998-5.519c12.073-33.352 12.431-69.262 1.027-103.235-3.092-9.213-11.693-26.695-17.157-34.876-14.281-21.379-32.64-38.056-55.062-50.013-23.134-12.337-52.597-18.66-77.8-16.696v0zM377.786-23.706c11.009 1.306 24.373 5.429 35.034 10.81 19.764 9.974 38.827 29.211 48.958 49.404 25.974 51.769 9.822 114.568-37.703 146.593-11.748 7.916-25.447 13.569-40.299 16.629-10.827 2.231-29.448 2.262-40.399 0.069-73.502-14.72-112.105-95.584-78.077-163.556 12.747-25.462 36.724-46.281 63.726-55.333 15.912-5.334 30.803-6.744 48.76-4.614v0zM375.29 48.832l-30.783 31.428v84.055h37.938v-67.702l24.959-25.537c13.728-14.045 24.952-25.75 24.943-26.012s-5.924-6.592-13.145-14.067l-13.13-13.591-30.783 31.428zM168.934 47.403c2.823 2.651 7.016 6.212 9.318 7.912 9.934 7.338 23.738 12.284 34.286 12.284h3.566l-0.527 5.169c-0.906 8.889-0.505 29.149 0.744 37.519 4.928 33.042 18.965 61.7 41.608 84.95 12.924 13.27 25.206 22.282 40.984 30.072 19.443 9.6 37.712 14.121 59.903 14.825 29.371 0.931 55.94-6.053 81.034-21.303l7.155-4.348v2.429c-0.006 3.828-1.878 14.427-3.697 20.909-6.327 22.551-20.584 44.728-39.897 62.056-30.675 27.525-68.606 44.102-116.477 50.902-10.048 1.428-39.526 2.019-50.95 1.022-46.279-4.040-86.225-19.189-119.439-45.298-6.522-5.127-21.262-20.093-26.063-26.464-27.791-36.876-33.073-78.924-14.783-117.696 10.785-22.863 29.244-43.615 53.472-60.116 10.876-7.408 18.928-16.448 24.006-26.957 3.623-7.497 5.441-14.452 6.362-24.327 0.394-4.229 0.855-8.399 1.024-9.265 0.303-1.552 0.329-1.557 1.774-0.336 0.806 0.682 3.776 3.409 6.599 6.061h-0.002z" />
<glyph unicode="&#xf0ac;" glyph-name="globe" d="M219.429 395.429q59.715 0 110.143-29.429t79.857-79.857 29.428-110.143-29.428-110.143-79.857-79.857-110.143-29.428-110.143 29.428-79.857 79.857-29.428 110.143 29.428 110.143 79.857 79.857 110.143 29.429zM297.714 246.572q-0.572-0.286-2.714-2.714t-3.857-2.714q0.572 0 1.286 1.429t1.428 3.143 1 2q1.714 2 6.286 4.286 4 1.714 14.857 3.429 9.714 2.285 14.572-3.143-0.572 0.571 2.714 3.714t4.143 3.429q0.857 0.571 4.286 1.285t4.286 2.143l0.572 6.286q-3.428-0.286-5 2t-1.857 6q0-0.571-1.714-2.286 0 2-1.286 2.286t-3.286-0.286-2.572-0.286q-2.857 0.857-4.286 2.143t-2.286 4.715-1.143 4.285q-0.572 1.429-2.714 3.143t-2.714 2.857q-0.286 0.572-0.714 1.572t-0.857 1.857-1.143 1.572-1.572 0.714-2-1.429-2.143-2.857-1.286-1.428q-0.857 0.571-1.714 0.428t-1.286-0.286-1.286-0.857-1.428-1q-0.857-0.571-2.428-0.857t-2.428-0.572q4.286 1.429-0.286 3.143-2.857 1.143-4.572 0.857 2.572 1.143 2.143 3.429t-2.428 4h1.428q-0.286 1.143-2.428 2.428t-5 2.429-3.714 1.714q-2.286 1.428-9.714 2.714t-9.428 0.143q-1.428-1.715-1.286-3t1.143-4 1-3.572q0.286-1.714-1.572-3.714t-1.857-3.429q0-2 4-4.428t2.857-6.143q-0.857-2.286-4.572-4.571t-4.572-3.429q-1.428-2.286-0.428-5.286t3-4.714q0.572-0.571 0.428-1.143t-1-1.286-1.572-1.143-1.857-1l-0.857-0.571q-3.143-1.429-5.857 1.714t-3.857 7.428q-2 7.143-4.572 8.572-6.572 2.286-8.286-0.285-1.429 3.714-11.714 7.428-7.143 2.571-16.572 1.143 1.714 0.286 0 4.286-2 4.286-5.428 3.428 0.857 1.715 1.143 5t0.286 3.857q0.857 3.714 3.429 6.572 0.286 0.286 2 2.428t2.714 3.857 0.143 1.714q10-1.143 14.286 3.143 1.429 1.428 3.286 4.857t3 4.857q2.571 1.714 4 1.572t4.143-1.572 4.143-1.428q4-0.286 4.429 3.143t-2.143 5.715q3.429-0.286 0.857 4.857-1.143 2-2.286 2.572-3.429 1.143-7.714-1.428-2.286-1.143 0.571-2.286-0.286 0.286-2.714-3t-4.714-5-4.571 1.428q-0.286 0.286-1.571 3.857t-2.714 3.857q-2.286 0-4.571-4.285 0.857 2.285-3.143 4.285t-6.857 2.286q5.428 3.428-2.286 7.714-2 1.143-5.857 1.428t-5.571-1.143q-1.429-2-1.571-3.286t1.429-2.285 3-1.572 3.286-1.143 2.429-0.857q4-2.857 2.286-4-0.571-0.286-2.429-1t-3.286-1.286-1.714-1.143q-0.857-1.143 0-4t-0.571-4q-1.429 1.428-2.571 5t-2 4.714q2-2.572-7.143-1.714l-2.857 0.285q-1.143 0-4.572-0.572t-5.857-0.285-3.857 2.285q-1.143 2.286 0 5.715 0.286 1.143 1.143 0.572-1.143 0.857-3.143 2.714t-2.857 2.428q-13.143-4.286-26.857-11.714 1.714-0.286 3.429 0.285 1.429 0.572 3.714 1.857t2.857 1.572q9.714 4 12 2l1.429 1.428q4-4.572 5.714-7.143-2 1.143-8.571 0.285-5.714-1.714-6.286-3.428 2-3.428 1.429-5.143-1.143 0.857-3.286 2.857t-4.143 3.143-4.286 1.429q-4.572 0-6.286-0.286-41.715-22.857-67.143-63.428 2-2 3.428-2.286 1.143-0.285 1.428-2.571t0.715-3.143 3.285 0.857q2.572-2.286 0.857-5.428 0.285 0.285 12.572-7.715 5.428-4.857 6-6 0.857-3.143-2.857-5.143-0.285 0.571-2.572 2.571t-2.572 1.143q-0.857-1.429 0.143-5.286t3-3.571q-2 0-2.715-4.572t-0.715-10.143-0.285-6.714l0.572-0.286q-0.857-3.429 1.572-9.857t6.143-5.572q-3.715-0.857 5.715-12.286 1.715-2.286 2.285-2.571 0.857-0.571 3.428-2.143t4.285-2.857 2.857-3q1.143-1.429 2.857-6.429t4-6.714q-0.572-1.715 2.715-5.715t3-6.572q-0.285 0-0.715-0.285t-0.715-0.286q0.857-2 4.428-4t4.429-3.714q0.286-0.857 0.571-2.857t0.857-3.143 2.286-0.572q0.571 5.714-6.857 17.714-4.285 7.143-4.857 8.286-0.857 1.428-1.572 4.428t-1.285 4.143q0.572 0 1.715-0.428t2.428-1 2.143-1.143 0.572-0.857q-0.857-2 0.572-5t3.429-5.285 4.857-5.428 3.429-3.715q1.714-1.714 4-5.572t0-3.857q2.571 0 5.714-3t4.857-5.572q1.429-2.286 2.286-7.428t1.429-6.857q0.571-2 2.429-3.857t3.571-2.715l4.571-2.285t3.714-2q1.429-0.572 5.286-3t6.143-3.286q2.857-1.143 4.571-1.143t4.143 0.714 3.857 1q4.286 0.572 8.286-4.285t6-6q10.286-5.428 15.714-3.143-0.571-0.285 0.143-2.143t2.286-4.428 2.571-4.143 1.571-2.428q1.429-1.714 5.143-4.285t5.143-4.286q1.714 1.143 2 2.572-0.857-2.285 2-5.714t5.143-2.857q4 0.857 4 9.143-8.857-4.285-14 5.143 0 0.285-0.714 1.572t-1.143 2.428-0.714 2.428 0 2.143 1.429 0.857q2.571 0 2.857 1t-0.571 3.572-1.143 3.714q-0.286 2.286-3.143 5.715t-3.429 4.285q-1.429-2.572-4.571-2.285t-4.572 2.572q0-0.286-0.429-1.572t-0.429-1.857q-3.714 0-4.286 0.286 0.286 0.857 0.714 5t1 6.428q0.286 1.143 1.571 3.428t2.143 4.143 1.143 3.572-1.286 2.715-5 0.714q-5.429-0.285-7.429-5.714-0.286-0.857-0.857-3t-1.429-3.286-2.571-2q-2-0.857-6.857-0.572t-6.857 1.428q-3.714 2.286-6.429 8.286t-2.714 10.572q0 2.857 0.714 7.572t0.857 7.143-1.571 7q0.857 0.572 2.571 2.715t2.857 3q0.571 0.285 1.286 0.428t1.286 0 1.143 0.428 0.857 1.714q-0.286 0.286-1.143 0.857-0.857 0.857-1.143 0.857 2-0.857 8.143 0.428t7.857-0.428q4.286-3.143 6.286 0.572 0 0.286-0.714 2.715t-0.143 3.857q1.429-7.714 8.286-2.572 0.857-0.857 4.429-1.428t5-1.428q0.857-0.572 2-1.572t1.571-1.285 1.429 0.143 2.429 1.857q2.857-4 3.429-6.857 3.143-11.428 5.428-12.572 2-0.857 3.143-0.572t1.286 2.715 0 4-0.429 3.572l-0.286 2.285v5.143l-0.286 2.285q-4.286 0.857-5.286 3.428t0.429 5.286 4.286 5.285q0.286 0.286 2.286 1t4.429 1.857 3.572 2.286q6 5.429 4.286 10 2 0 3.143 2.571-0.286 0-1.428 0.857t-2.143 1.429-1.286 0.571q2.572 1.429 0.572 4.571 1.428 0.857 2.143 3.143t2.143 2.857q2.572-3.429 6-0.571 2.286 2.286 0.286 4.571 1.428 2 5.857 3t5.286 2.714q2-0.571 2.286 0.571t0.286 3.429 0.857 3.429q1.143 1.429 4.286 2.571t3.714 1.429l4.857 3.143q0.857 1.143 0 1.143 5.143-0.571 8.857 3.143 2.857 3.143-1.714 5.714 0.857 1.714-0.857 2.714t-4.286 1.571q0.857 0.286 3.286 0.143t3 0.429q4.286 2.857-2 4.571-4.857 1.429-12.286-3.429zM251.143-4q58.857 10.286 100.285 54-0.857 0.857-3.572 1.286t-3.572 1q-5.143 2-6.857 2.285 0.286 2-0.714 3.715t-2.286 2.572-3.572 2.285-3.143 2q-0.572 0.572-2 1.715t-2 1.572-2.143 1.285-2.428 0.572-2.857-0.285l-0.857-0.286q-0.857-0.285-1.572-0.714t-1.572-0.857-1.143-0.857 0-0.715q-6 4.857-10.286 6.286-1.428 0.285-3.143 1.572t-3 2-2.857 0.428-3.286-2q-1.428-1.428-1.714-4.286t-0.572-3.714q-2 1.428 0 5t0.572 5.285q-0.857 1.715-3 1.286t-3.428-1.286-3.286-2.428-2.572-1.857-2.428-1.572-2.428-2.143q-0.857-1.143-1.714-3.428t-1.428-3.143q-0.572 1.143-3.286 1.857t-2.714 1.572q0.572-2.857 1.143-10t1.428-10.857q2-8.857-3.428-13.714-7.714-7.143-8.286-11.428-1.143-6.286 3.429-7.428 0-2-2.286-5.857t-2-6.143q0-1.715 0.571-4.572z" />
<glyph unicode="&#xf0c0;" glyph-name="group" horiz-adv-x="549" d="M169.429 176q-46.285-1.428-75.715-36.572h-38.285q-23.428 0-39.428 11.572t-16 33.857q0 100.857 35.428 100.857 1.715 0 12.428-6t27.857-12.143 34-6.143q19.143 0 38 6.572-1.429-10.572-1.429-18.857 0-39.715 23.143-73.143zM475.428-6q0-34.285-20.857-54.143t-55.428-19.857h-249.714q-34.572 0-55.428 19.857t-20.857 54.143q0 15.143 1 29.572t4 31.143 7.572 31 12.285 27.857 17.715 23.143 24.428 15.286 31.857 5.714q2.857 0 12.286-6.143t20.857-13.715 30.572-13.714 38.572-6.143 38.572 6.143 30.572 13.714 20.857 13.715 12.286 6.143q17.428 0 31.857-5.714t24.428-15.286 17.714-23.143 12.286-27.857 7.572-31 4-31.143 1-29.572zM182.857 358.857q0-30.286-21.429-51.714t-51.715-21.428-51.715 21.428-21.428 51.714 21.428 51.714 51.715 21.428 51.715-21.428 21.428-51.714zM384 249.143q0-45.429-32.143-77.572t-77.572-32.143-77.572 32.143-32.143 77.572 32.143 77.571 77.572 32.143 77.572-32.143 32.143-77.571zM548.572 184.857q0-22.286-16-33.857t-39.428-11.572h-38.286q-29.428 35.143-75.714 36.572 23.143 33.429 23.143 73.143 0 8.286-1.428 18.857 18.857-6.572 38-6.572 16.857 0 34 6.143t27.857 12.143 12.428 6q35.428 0 35.428-100.857zM512 358.857q0-30.286-21.428-51.714t-51.714-21.428-51.714 21.428-21.428 51.714 21.428 51.714 51.714 21.428 51.714-21.428 21.428-51.714z" />
<glyph unicode="&#xf0c7;" glyph-name="save" d="M109.715-6.857h219.429v109.714h-219.429v-109.714zM365.714-6.857h36.572v256q0 4-2.857 11t-5.714 9.857l-80.286 80.286q-2.857 2.857-9.714 5.714t-11.143 2.857v-118.857q0-11.429-8-19.429t-19.428-8h-164.571q-11.428 0-19.428 8t-8 19.428v118.857h-36.572v-365.715h36.572v118.857q0 11.428 8 19.428t19.428 8h237.715q11.428 0 19.428-8t8-19.428v-118.857zM256 258.286v91.428q0 3.714-2.714 6.428t-6.428 2.714h-54.857q-3.714 0-6.429-2.714t-2.714-6.428v-91.428q0-3.715 2.714-6.429t6.428-2.714h54.857q3.714 0 6.429 2.714t2.714 6.429zM438.857 249.143v-265.143q0-11.428-8-19.428t-19.428-8h-384q-11.428 0-19.428 8t-8 19.428v384q0 11.429 8 19.429t19.428 8h265.143q11.428 0 25.143-5.714t21.714-13.715l80-80q8-8 13.714-21.714t5.714-25.143z" />
<glyph unicode="&#xf0e3;" glyph-name="legal" d="M506-6.857q0-15.143-10.572-25.715l-30.572-30.857q-11.143-10.572-26-10.572-15.143 0-25.714 10.572l-103.714 104q-10.857 10.286-10.857 25.715 0 15.143 12.286 27.428l-73.143 73.143-36-36q-4-4-9.714-4t-9.714 4q0.571-0.572 3.571-3.428t3.571-3.714 2.857-3.286 2.857-3.857 1.714-3.857 1.571-4.714 0.429-5.143q0-10.857-8-19.428-0.857-0.857-4.714-5.143t-5.429-5.857-5.286-4.714-6.286-4.428-6.286-2.572-7.428-1.286q-11.428 0-19.428 8l-116.572 116.572q-8 8-8 19.428 0 3.714 1.286 7.428t2.572 6.286 4.428 6.286 4.715 5.286 5.857 5.428 5.143 4.714q8.572 8 19.428 8 2.857 0 5.143-0.429t4.715-1.571 3.857-1.714 3.857-2.857 3.285-2.857 3.715-3.571 3.428-3.571q-4 4-4 9.714t4 9.714l99.429 99.429q4 4 9.714 4t9.714-4q-0.571 0.572-3.571 3.428t-3.571 3.714-2.857 3.286-2.857 3.857-1.714 3.857-1.571 4.714-0.429 5.143q0 10.857 8 19.428 0.857 0.857 4.714 5.143t5.428 5.857 5.286 4.714 6.286 4.429 6.286 2.571 7.428 1.286q11.428 0 19.428-8l116.572-116.572q8-8 8-19.428 0-3.714-1.286-7.428t-2.572-6.285-4.428-6.286-4.714-5.285-5.857-5.428-5.143-4.714q-8.572-8-19.428-8-2.857 0-5.143 0.429t-4.714 1.571-3.857 1.714-3.857 2.857-3.286 2.857-3.714 3.571-3.428 3.571q4-4 4-9.714t-4-9.714l-36-36 73.143-73.143q12.286 12.286 27.428 12.286 14.857 0 26-10.572l103.714-103.715q10.572-11.143 10.572-26z" />
<glyph unicode="&#xf1c0;" glyph-name="database" d="M219.429 212.572q67.715 0 126.571 12.286t92.857 36.286v-48.572q0-19.714-29.428-36.571t-80-26.715-110-9.857-110 9.857-80 26.715-29.428 36.571v48.572q34-24 92.857-36.286t126.572-12.286zM219.429-6.857q67.715 0 126.571 12.285t92.857 36.286v-48.572q0-19.715-29.428-36.572t-80-26.715-110-9.857-110 9.857-80 26.715-29.428 36.572v48.572q34-24 92.857-36.286t126.572-12.285zM219.429 102.857q67.715 0 126.571 12.285t92.857 36.286v-48.572q0-19.715-29.428-36.572t-80-26.715-110-9.857-110 9.857-80 26.715-29.428 36.572v48.572q34-24 92.857-36.286t126.572-12.285zM219.429 432q59.429 0 110-9.857t80-26.714 29.428-36.572v-36.572q0-19.714-29.428-36.571t-80-26.715-110-9.857-110 9.857-80 26.715-29.428 36.571v36.572q0 19.714 29.428 36.572t80 26.714 110 9.857z" />
<glyph unicode="&#xf2c2;" glyph-name="idcard-dark" horiz-adv-x="585" d="M256 85.715q0 15.428-2.143 28.714t-7 25.715-14.571 19.572-23.143 7.143q-18.285-18.285-44.571-18.285t-44.572 18.285q-13.428 0-23.143-7.143t-14.572-19.572-7-25.715-2.143-28.714q0-15.715 9-26.715t21.572-11h121.715q12.571 0 21.571 11t9 26.715zM219.429 212.572q0 22.857-16 38.857t-38.857 16-38.857-16-16-38.857 16-38.857 38.857-16 38.857 16 16 38.857zM512 75.428v18.286q0 4-2.572 6.572t-6.572 2.572h-201.143q-4 0-6.572-2.572t-2.572-6.572v-18.286q0-4 2.572-6.572t6.572-2.572h201.143q4 0 6.572 2.572t2.572 6.572zM402.286 148.572v18.286q0 4-2.572 6.572t-6.572 2.571h-91.428q-4 0-6.572-2.571t-2.572-6.572v-18.286q0-4 2.572-6.572t6.572-2.572h91.428q4 0 6.572 2.572t2.572 6.572zM512 148.572v18.286q0 4-2.572 6.572t-6.572 2.571h-54.857q-4 0-6.572-2.571t-2.572-6.572v-18.286q0-4 2.572-6.572t6.572-2.572h54.857q4 0 6.572 2.572t2.572 6.572zM512 221.715v18.286q0 4-2.572 6.572t-6.572 2.571h-201.143q-4 0-6.572-2.571t-2.572-6.572v-18.286q0-4 2.572-6.572t6.572-2.571h201.143q4 0 6.572 2.571t2.572 6.572zM36.572 322.286h512v27.429q0 4-2.572 6.571t-6.572 2.572h-493.714q-4 0-6.572-2.572t-2.572-6.571v-27.429zM585.143 349.715v-347.428q0-18.857-13.428-32.286t-32.285-13.428h-493.714q-18.857 0-32.285 13.428t-13.428 32.286v347.428q0 18.857 13.428 32.285t32.285 13.428h493.714q18.857 0 32.285-13.428t13.428-32.285z" />
<glyph unicode="&#xf2c3;" glyph-name="idcard" horiz-adv-x="585" d="M256 85.715q0-15.715-9-26.715t-21.572-11h-121.715q-12.572 0-21.572 11t-9 26.715q0 15.428 2.143 28.714t7 25.715 14.572 19.572 23.143 7.143q18.285-18.285 44.572-18.285t44.571 18.285q13.428 0 23.143-7.143t14.571-19.572 7-25.715 2.143-28.714zM219.429 212.572q0-22.857-16-38.857t-38.857-16-38.857 16-16 38.857 16 38.857 38.857 16 38.857-16 16-38.857zM512 93.715v-18.286q0-4-2.572-6.572t-6.572-2.572h-201.143q-4 0-6.572 2.572t-2.572 6.572v18.286q0 4 2.572 6.572t6.572 2.572h201.143q4 0 6.572-2.572t2.572-6.572zM402.286 166.857v-18.286q0-4-2.572-6.572t-6.572-2.572h-91.428q-4 0-6.572 2.572t-2.572 6.572v18.286q0 4 2.572 6.572t6.572 2.571h91.428q4 0 6.572-2.571t2.572-6.572zM512 166.857v-18.286q0-4-2.572-6.572t-6.572-2.572h-54.857q-4 0-6.572 2.572t-2.572 6.572v18.286q0 4 2.572 6.572t6.572 2.571h54.857q4 0 6.572-2.571t2.572-6.572zM512 240v-18.286q0-4-2.572-6.572t-6.572-2.571h-201.143q-4 0-6.572 2.571t-2.572 6.572v18.286q0 4 2.572 6.572t6.572 2.571h201.143q4 0 6.572-2.571t2.572-6.572zM548.572 2.286v320h-512v-320q0-3.715 2.715-6.428t6.428-2.715h493.714q3.715 0 6.428 2.715t2.715 6.428zM585.143 349.715v-347.428q0-18.857-13.428-32.286t-32.285-13.428h-493.714q-18.857 0-32.285 13.428t-13.428 32.286v347.428q0 18.857 13.428 32.285t32.285 13.428h493.714q18.857 0 32.285-13.428t13.428-32.285z" />
<glyph unicode="&#xf2dc;" glyph-name="snowflake" horiz-adv-x="476" d="M447.428 112.857l-47.714-9.428 53.143-30.572q6.572-3.715 8.428-11t-1.857-13.857q-4-6.572-11.143-8.428t-13.714 1.857l-53.143 30.285 15.714-45.714q3.714-10.857-3.428-18.143t-17.286-5.857-13.857 12l-29.143 85.714-77.428 44.572v-89.428l59.428-68q4.572-5.143 4.857-11.143t-3.143-10.428-8.143-7.143-10.572-1.572-10.428 6.285l-32 36.572v-61.143q0-7.428-5.428-12.857t-12.857-5.428-12.857 5.428-5.428 12.857v61.143l-32-36.572q-4.572-5.143-10.428-6.285t-10.572 1.572-8.143 7.143-3.143 10.428 4.857 11.143l59.429 68v89.428l-77.428-44.572-29.143-85.714q-3.715-10.572-13.857-12t-17.285 5.857-3.428 18.143l15.715 45.715-53.143-30.286q-6.572-3.714-13.715-1.857t-11.143 8.428q-3.715 6.572-1.857 13.857t8.428 11l53.143 30.572-47.715 9.428q-8.285 1.715-12 8.286t-2.428 13.285 7.285 11.428 14.285 3l88.572-17.714 77.428 44.857-77.428 44.857-88.572-17.715q-1.143-0.286-3.715-0.286-7.715 0-12.572 5.143t-5.428 11.429 3.143 12.286 11.428 7.428l47.715 9.428-53.143 30.572q-6.572 3.714-8.428 11t1.857 13.857 11.143 8.572 13.715-2l53.143-30.286-15.715 45.714q-3.715 10.857 3.428 18.143t17.285 5.857 13.857-12l29.143-85.714 77.429-44.571v89.429l-59.428 68q-4.572 5.143-4.857 11.143t3.143 10.428 8.143 7.143 10.571 1.571 10.428-6.285l32-36.572v61.143q0 7.428 5.428 12.857t12.857 5.428 12.857-5.428 5.428-12.857v-61.143l32 36.572q4.572 5.143 10.428 6.285t10.572-1.571 8.143-7.143 3.143-10.428-4.857-11.143l-59.428-68v-89.429l77.428 44.572 29.143 85.715q3.714 10.571 13.857 12t17.286-5.857 3.428-18.143l-15.714-45.714 53.143 30.285q6.572 3.715 13.714 1.857t11.143-8.429q3.714-6.572 1.857-13.857t-8.428-11l-53.143-30.571 47.714-9.428q7.714-1.429 11.428-7.428t3.143-12.286-5.428-11.428-12.572-5.143q-2.572 0-3.714 0.286l-88.572 17.715-77.428-44.857 77.428-44.857 88.572 17.715q8.286 1.714 14.286-3t7.286-11.428-2.428-13.286-12-8.285z" />
</font></defs></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<class>org.igniterealtime.openfire.plugin.inverse.InversePlugin</class>
<name>inVerse</name>
<description>Adds the (third-party) inVerse web client to Openfire.</description>
<author>Guus der Kinderen</author>
<version>3.0.3 Alpha 1</version>
<date>06/19/2017</date>
<minServerVersion>4.1.5</minServerVersion>
<adminconsole>
<tab id="tab-server">
<sidebar id="webclients" name="${admin.sidebar.webclients.name}" description="${admin.sidebar.webclients.description}">
<item id="inverse-config" name="${admin.sidebar.webclients.item.inverse.name}" description="${admin.sidebar.webclients.item.inverse.description}" url="inverse-config.jsp"/>
</sidebar>
</tab>
</adminconsole>
</plugin>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>plugins</artifactId>
<groupId>org.igniterealtime.openfire</groupId>
<version>4.2.0-SNAPSHOT</version>
</parent>
<groupId>org.igniterealtime.openfire.plugins</groupId>
<artifactId>inverse</artifactId>
<name>Inverse Webchat Plugin</name>
<version>3.0.3-Alpha-1</version>
<build>
<sourceDirectory>src/java</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
</plugin>
<!-- Compiles the Openfire Admin Console JSP pages. -->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jspc-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<artifactId>json</artifactId>
<groupId>org.json</groupId>
<version>20160810</version>
</dependency>
</dependencies>
</project>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>inVerse Plugin Readme</title>
<style type="text/css">
BODY {
font-size : 100%;
}
BODY, TD, TH {
font-family : tahoma, verdana, arial, helvetica, sans-serif;
font-size : 0.8em;
}
H3 {
font-size : 10pt;
font-style: italic;
color: #004444;
}
H2 {
font-size : 10pt;
font-weight : bold;
}
A:hover {
text-decoration : none;
}
H1 {
font-family : tahoma, arial, helvetica, sans-serif;
font-size : 1.4em;
font-weight: bold;
border-bottom : 1px #ccc solid;
padding-bottom : 2px;
}
TT {
font-family : courier new;
font-weight : bold;
color : #060;
}
PRE {
font-family : courier new;
font-size : 100%;
}
#datatable TH {
color : #fff;
background-color : #2A448C;
text-align : left;
}
#datatable TD {
background-color : #FAF6EF;
}
#datatable .name {
background-color : #DCE2F5;
}
</style>
</head>
<body>
<h1>
inVerse Plugin Readme
</h1>
<h2>Overview</h2>
<p>
The inVerse plugin adds the web client to Openfire. inVerse is a third party web client implementation. It's project
home page is <a href="https://github.com/jcbrand/inverse.js">https://github.com/jcbrand/inverse.js</a>
</p>
<h2>Installation</h2>
<p>
Copy inverse.jar into the plugins directory of your Openfire installation. The plugin will then be automatically
deployed. To upgrade to a new version, copy the new inverse.jar file over the existing file.
</p>
<h2>Configuration</h2>
<p>
The plugin is configured via the Openfire Admin Console. After installation, a new Admin Console page is available.
The page can be found under the "Server" tab and "Web Clients" sub-tab. The name of the page is "inVerse".
</p>
<p>
inVerse depends on HTTP binding, and will not work if the HTTP binding service of Openfire is disabled.
</p>
<h2>Using the Plugin</h2>
<p>
When properly configured, the inVerse web client will be made available on the same ports as the HTTP binding
interface. The exact URLs for your instance of Openfire are displayed on the inVerse Configuration Admin Console page.
By default, these URLs are:
</p>
<ul>
<li><tt>http://&lt;your-server-name&gt;:7070/inverse/</tt> (unencrypted HTTP)</li>
<li><tt>https://&lt;your-server-name&gt;:7443/inverse/</tt> (encrypted HTTPS)</li>
</ul>
<p>
After opening one of these addresses in a browser, the user is presented with a login form.
</p>
</body>
</html>
admin.sidebar.webclients.name=Web Clients
admin.sidebar.webclients.description=Manage Web Clients
admin.sidebar.webclients.item.inverse.name=inVerse
admin.sidebar.webclients.item.inverse.description=Manage inVerse Webchat
global.click_edit=Click to edit...
global.save_settings=Save Settings
admin.error=Internal server error
global.csrf.failed=CSRF Error: No changes made, you'll need to retry.
warning.httpbinding.disabled=The HTTP Binding service appears to be disabled! inVerse will not work without this service. {0}Please enable the HTTP Binding service here!{1}
properties.save.success=Properties successfully saved.
config.page.title=inVerse Web Client Configuration
config.page.description=This page allows you to configure the inVerse web chat application.
config.page.link.unsecure=End-users can use inVerse (using an unencrypted HTTP connection) by opening the following address in a browser: <a href="{0}">{0}</a>.
config.page.link.secure=inVerse is available via an encrypted HTTPS address at: <a href="{0}">{0}</a>.
config.page.debug.header=Webclient Debug Setting
config.page.debug.description=If set to true, debugging output will be logged to the browser console.
config.page.debug.enabled=Enabled
config.page.debug.enabled_info=Debug information will be printed to the Javascript console of the client browser.
config.page.debug.disabled=Disabled
config.page.debug.disabled_info=Client-sided debug information will not be generated.
config.page.general.header=Web Client Settings
config.page.general.description=Use this form to apply configuration changes to the inVerse web client.
config.page.default_domain.description=Specify a domain to act as the default for user JIDs. This allows users to log \
in with only the username part of their JID, instead of the full JID. For example, if <tt>default_domain</tt> \
is <tt>example.org</tt>, then the user: <tt>johnny@example.org</tt> can log in with only <tt>johnny</tt>. JIDs \
with other domains are still allowed but need to be provided in full. To specify only one domain and disallow other\
domains, see the <em>locked domain</em> option.
config.page.default_domain.label=Default Domain
config.page.locked_domain.label=Locked Domain
config.page.locked_domain.description=When enabled, users from domains other than the one specified cannot use the client.
config.page.language.header=inVerse Language
config.page.language.description=The selection made here affects the language of the inVerse user interface.
\ No newline at end of file
/*
* Copyright (C) 2017 Ignite Realtime Foundation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.igniterealtime.openfire.plugin.inverse;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.Writer;
import java.util.HashSet;
import java.util.Set;
/**
* Generates a JSON object that contains configuration for the inVerse web application.
*
* @author Guus der Kinderen, guus@gmail.com
*/
public class ConfigServlet extends HttpServlet
{
private static final Logger Log = LoggerFactory.getLogger( ConfigServlet.class );
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException
{
Log.trace( "Processing doGet()" );
final String defaultDomain = JiveGlobals.getProperty( "inverse.config.default_domain", XMPPServer.getInstance().getServerInfo().getXMPPDomain() );
final boolean lockedDomain = JiveGlobals.getBooleanProperty( "inverse.config.locked_domain", false );
final String endpoint = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/http-bind/";
final boolean debug = JiveGlobals.getBooleanProperty( "inverse.config.debug", false );
// The language of the inVerse UI.
final Language language = InversePlugin.getLanguage();
final JSONObject config = new JSONObject();
config.put( "auto_away", 300); // TODO make configurable.
config.put( "notify_all_room_messages", new JSONArray() ); // TODO make configurable.
config.put( "i18n", language.getCode() );
config.put( lockedDomain ? "locked_domain" : "default_domain", defaultDomain );
if ( XMPPServer.getInstance().getIQRegisterHandler().isInbandRegEnabled() )
{
config.put( "registration_domain", defaultDomain );
}
config.put( "domain_placeholder", defaultDomain );
config.put( "bosh_service_url", endpoint );
config.put( "debug", debug );
final JSONArray whitelistedPlugins = new JSONArray(); // TODO make configurable.
whitelistedPlugins.put( "converse-singleton" );
whitelistedPlugins.put( "converse-inverse" );
config.put( "whitelisted_plugins", whitelistedPlugins );
final JSONArray blacklistedPlugins = new JSONArray(); // TODO make configurable.
blacklistedPlugins.put( "converse-minimize" );
blacklistedPlugins.put( "converse-dragresize" );
config.put( "blacklisted_plugins", blacklistedPlugins );
config.put( "auto_reconnect", true ); // TODO make configurable.
config.put( "message_carbons", true ); // TODO make configurable.
config.put( "message_archiving", "always" ); // TODO make configurable.
config.put( "roster_groups", true ); // TODO make configurable.
// inVerse.js requires some hard-coded converse.js configuration options (look in the upstream source of
// src/converse-inverse.js at the settings in passed into `updateSettings`). We should not allow overrides of
// these configu options (if only, because inVerse will override them anyways):
// chatview_avatar_height: 44,
// chatview_avatar_width: 44,
// hide_open_bookmarks: true,
// show_controlbox_by_default: true,
// sticky_controlbox: true,
try ( final Writer writer = response.getWriter() )
{
writer.write( config.toString( 2 ) );
writer.flush();
}
}
}
\ No newline at end of file
/*
* Copyright (C) 2017 Ignite Realtime Foundation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.igniterealtime.openfire.plugin.inverse;
import org.apache.tomcat.InstanceManager;
import org.apache.tomcat.SimpleInstanceManager;
import org.eclipse.jetty.apache.jsp.JettyJasperInitializer;
import org.eclipse.jetty.plus.annotation.ContainerInitializer;
import org.eclipse.jetty.webapp.WebAppContext;
import org.jivesoftware.admin.AuthCheckFilter;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
import org.jivesoftware.openfire.http.HttpBindManager;
import org.jivesoftware.util.JiveGlobals;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.util.*;
/**
* An Openfire plugin that integrates the Inverse web client.
*
* @author Guus der Kinderen, guus.der.kinderen@gmail.com
*/
public class InversePlugin implements Plugin
{
private static final Logger Log = LoggerFactory.getLogger( InversePlugin.class );
private final String[] publicResources = new String[]
{
"inverse/inverse",
"inverse/index.html",
"inverse/config.json"
};
private WebAppContext context = null;
@Override
public void initializePlugin( PluginManager manager, File pluginDirectory )
{
for ( final String publicResource : publicResources )
{
AuthCheckFilter.addExclude( publicResource );
}
// Add the Webchat sources to the same context as the one that's providing the BOSH interface.
context = new WebAppContext( null, pluginDirectory.getPath() + File.separator + "classes/", "/inverse" );
context.setClassLoader( this.getClass().getClassLoader() );
// Ensure the JSP engine is initialized correctly (in order to be able to cope with Tomcat/Jasper precompiled JSPs).
final List<ContainerInitializer> initializers = new ArrayList<>();
initializers.add( new ContainerInitializer( new JettyJasperInitializer(), null ) );
context.setAttribute("org.eclipse.jetty.containerInitializers", initializers);
context.setAttribute( InstanceManager.class.getName(), new SimpleInstanceManager());
HttpBindManager.getInstance().addJettyHandler( context );
}
@Override
public void destroyPlugin()
{
if ( context != null )
{
HttpBindManager.getInstance().removeJettyHandler( context );
context.destroy();
context = null;
}
for ( final String publicResource : publicResources )
{
AuthCheckFilter.removeExclude( publicResource );
}
}
public static Language getLanguage()
{
final String inverseLanguage = JiveGlobals.getProperty( "inverse.config.language" );
if ( inverseLanguage != null )
{
final Language result = Language.byConverseCode( inverseLanguage );
if ( result != null )
{
return result;
}
else
{
Log.warn( "The value '{}' of property 'inverse.config.language' cannot be mapped to a language code that is understood by Inverse.", inverseLanguage );
}
}
final Language result = Language.byLocale( JiveGlobals.getLocale() );
if ( result != null )
{
return result;
}
else
{
Log.warn( "The Openfire locale '{}' cannot be mapped to a language code that is understood by Inverse.", JiveGlobals.getLocale() );
}
return Language.English;
}
}
/*
* Copyright (C) 2017 Ignite Realtime Foundation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.igniterealtime.openfire.plugin.inverse;
import java.util.Locale;
/**
* Languages as defined by Converse.JS.
*
* @author Guus der Kinderen, guus.der.kinderen@gmail.com
*/
public enum Language
{
Afrikaans ("af"),
Bahasa_Indonesia ("id"),
BrazilianPortuguese ("pt_br"),
Catalan ("ca"),
Chinese ("zh"),
Dutch ("nl"),
English ("en"),
French ("fr"),
German ("de"),
Hebrew ("he"),
Hungarian ("hu"),
Italian ("it"),
Japanese ("ja"),
Norwegian ("nb"),
Polish ("pl"),
Russian ("ru"),
Spanish ("es"),
Ukrainian ("uk");
private final String code;
Language( String code )
{
this.code = code;
}
public String getCode()
{
return code;
}
public static Language byConverseCode( final String converseCode )
{
for ( final Language language : values() )
{
if ( language.getCode().equalsIgnoreCase( converseCode ) )
{
return language;
}
}
return null;
}
public static Language byLocale( final Locale locale )
{
for ( final Language language : values() )
{
if ( locale.getLanguage().equals( new Locale( language.getCode() ).getLanguage() ) )
{
return language;
}
}
return null;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>
\ No newline at end of file
<!--
- Copyright (C) 2017 Ignite Realtime Foundation. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-->
<%@ page errorPage="error.jsp" %>
<%@ page import="org.jivesoftware.openfire.XMPPServer" %>
<%@ page import="org.jivesoftware.util.CookieUtils" %>
<%@ page import="org.jivesoftware.util.ParamUtils" %>
<%@ page import="org.jivesoftware.util.StringUtils" %>
<%@ page import="org.jivesoftware.util.JiveGlobals" %>
<%@ page import="java.util.List" %>
<%@ page import="org.xmpp.packet.JID" %>
<%@ page import="org.jivesoftware.openfire.muc.MultiUserChatService" %>
<%@ page import="org.jivesoftware.openfire.muc.MUCRoom" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.net.URLDecoder" %>
<%@ page import="org.jivesoftware.openfire.http.HttpBindManager" %>
<%@ page import="org.igniterealtime.openfire.plugin.inverse.Language" %>
<%@ page import="org.igniterealtime.openfire.plugin.inverse.InversePlugin" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager" />
<% webManager.init(request, response, session, application, out ); %>
<%
String update = request.getParameter("update");
String success = request.getParameter("success");
String error = null;
final Cookie csrfCookie = CookieUtils.getCookie( request, "csrf");
String csrfParam = ParamUtils.getParameter( request, "csrf");
if (update != null ) {
if (csrfCookie == null || csrfParam == null || !csrfCookie.getValue().equals(csrfParam)) {
update = null;
error = "csrf";
}
}
csrfParam = StringUtils.randomString( 15 );
CookieUtils.setCookie(request, response, "csrf", csrfParam, -1);
pageContext.setAttribute("csrf", csrfParam);
HttpBindManager httpBindManager = HttpBindManager.getInstance();
if ( error == null && update != null )
{
if ( "general".equals( update ) )
{
if ( ParamUtils.getParameter( request, "default_domain" ) != null )
{
JiveGlobals.setProperty( "inverse.config.default_domain", URLEncoder.encode( ParamUtils.getParameter( request, "default_domain" ), "UTF-8" ) );
}
else
{
JiveGlobals.deleteProperty( "inverse.config.default_domain" );
}
JiveGlobals.setProperty( "inverse.config.locked_domain", Boolean.toString( ParamUtils.getBooleanParameter( request, "locked_domain" ) ) );
response.sendRedirect("inverse-config.jsp?success=update");
return;
}
if ( "language".equals( update ) )
{
if ( ParamUtils.getParameter( request, "language" ) != null )
{
JiveGlobals.setProperty( "inverse.config.language", URLEncoder.encode( ParamUtils.getParameter( request, "language" ) , "UTF-8" ) );
}
response.sendRedirect("inverse-config.jsp?success=update");
return;
}
if ( "debug".equals( update ) )
{
if ( ParamUtils.getParameter( request, "debugEnabled" ) != null )
{
JiveGlobals.setProperty( "inverse.config.debug", Boolean.toString( ParamUtils.getBooleanParameter( request, "debugEnabled" ) ) );
}
response.sendRedirect("inverse-config.jsp?success=update");
return;
}
// Should not happen. Indicates that a form wasn't processed above.
response.sendRedirect("inverse-config.jsp?noupdate");
return;
}
// Read all updated values from the properties.
final boolean debugEnabled = JiveGlobals.getBooleanProperty( "inverse.config.debug", false );
final String defaultDomain = JiveGlobals.getProperty( "inverse.config.default_domain", XMPPServer.getInstance().getServerInfo().getXMPPDomain() );
final boolean lockedDomain = JiveGlobals.getBooleanProperty( "inverse.config.locked_domain", false );
%>
<html>
<head>
<title><fmt:message key="config.page.title"/></title>
<meta name="pageID" content="inverse-config"/>
</head>
<body>
<% if ( !httpBindManager.isHttpBindEnabled() ) { %>
<div class="jive-warning">
<table cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr><td class="jive-icon"><img src="images/warning-16x16.gif" width="16" height="16" border="0" alt=""></td>
<td class="jive-icon-label">
<fmt:message key="warning.httpbinding.disabled">
<fmt:param value="<a href=\"../../http-bind.jsp\">"/>
<fmt:param value="</a>"/>
</fmt:message>
</td></tr>
</tbody>
</table>
</div><br>
<% } %>
<% if (error != null) { %>
<div class="jive-error">
<table cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr><td class="jive-icon"><img src="images/error-16x16.gif" width="16" height="16" border="0" alt=""></td>
<td class="jive-icon-label">
<% if ( "csrf".equalsIgnoreCase( error ) ) { %>
<fmt:message key="global.csrf.failed" />
<% } else { %>
<fmt:message key="admin.error" />: <c:out value="error"></c:out>
<% } %>
</td></tr>
</tbody>
</table>
</div><br>
<% } %>
<% if (success != null) { %>
<div class="jive-success">
<table cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr><td class="jive-icon"><img src="images/success-16x16.gif" width="16" height="16" border="0" alt=""></td>
<td class="jive-icon-label">
<fmt:message key="properties.save.success" />
</td></tr>
</tbody>
</table>
</div><br>
<% } %>
<p>
<fmt:message key="config.page.description">
<fmt:param value=""/>
</fmt:message>
<% if ( httpBindManager.isHttpBindActive() ) {
final String unsecuredAddress = "http://" + XMPPServer.getInstance().getServerInfo().getHostname() + ":" + httpBindManager.getHttpBindUnsecurePort() + "/inverse/";
%>
<fmt:message key="config.page.link.unsecure">
<fmt:param value="<%=unsecuredAddress%>"/>
</fmt:message>
<% } %>
<% if ( httpBindManager.isHttpsBindActive() ) {
final String securedAddress = "https://" + XMPPServer.getInstance().getServerInfo().getHostname() + ":" + httpBindManager.getHttpBindSecurePort() + "/inverse/";
%>
<fmt:message key="config.page.link.secure">
<fmt:param value="<%=securedAddress%>"/>
</fmt:message>
<% } %>
</p>
<br>
<div class="jive-contentBoxHeader"><fmt:message key="config.page.general.header" /></div>
<div class="jive-contentBox">
<p><fmt:message key="config.page.general.description" /></p>
<form action="inverse-config.jsp">
<input type="hidden" name="csrf" value="${csrf}"/>
<input type="hidden" name="update" value="general"/>
<table cellpadding="3" cellspacing="0" border="0">
<tbody>
<tr valign="top">
<td colspan="2" style="padding-bottom: .5em;">
<fmt:message key="config.page.default_domain.description"/>
</td>
</tr>
<tr valign="top">
<td width="1%" nowrap>
<b><label for="default_domain"><fmt:message key="config.page.default_domain.label" /></label></b>
</td>
<td width="99%">
<input type="text" name="default_domain" id="default_domain" size="30" value="<%=defaultDomain%>">
</td>
</tr>
<tr valign="top">
<td colspan="2">
<input type="checkbox" name="locked_domain" id="locked_domain" <%= lockedDomain ? "checked" : "" %>/>&nbsp;
<label for="locked_domain">
<b><fmt:message key="config.page.locked_domain.label"/></b> - <fmt:message key="config.page.locked_domain.description"/>
</label>
</td>
</tr>
</tbody>
</table>
<br>
<input type="submit" value="<fmt:message key="global.save_settings" />">
</form>
</div>
<div class="jive-contentBoxHeader"><fmt:message key="config.page.language.header" /></div>
<div class="jive-contentBox">
<p><fmt:message key="config.page.language.description" /></p>
<form action="inverse-config.jsp">
<input type="hidden" name="csrf" value="${csrf}">
<input type="hidden" name="update" value="language"/>
<table cellpadding="3" cellspacing="0" border="0">
<tbody>
<%
final Language currentLanguage = InversePlugin.getLanguage();
for ( final Language language : Language.values() )
{
%>
<tr valign="top">
<td width="1%" nowrap>
<input type="radio" name="language" value="<%=language.getCode()%>" id="<%=language.getCode()%>" <%= (currentLanguage == language ? "checked" : "") %>>
</td>
<td width="99%">
<label for="<%=language.getCode()%>">
<%= language %>
</label>
</td>
</tr>
<%
}
%>
</tbody>
</table>
<br>
<input type="submit" value="<fmt:message key="global.save_settings" />">
</form>
</div>
<div class="jive-contentBoxHeader"><fmt:message key="config.page.debug.header" /></div>
<div class="jive-contentBox">
<p><fmt:message key="config.page.debug.description" /></p>
<form action="inverse-config.jsp">
<input type="hidden" name="csrf" value="${csrf}">
<input type="hidden" name="update" value="debug"/>
<table cellpadding="3" cellspacing="0" border="0">
<tbody>
<tr valign="top">
<td width="1%" nowrap>
<input type="radio" name="debugEnabled" value="true" id="rb01" <%= (debugEnabled ? "checked" : "") %>>
</td>
<td width="99%">
<label for="rb01">
<b><fmt:message key="config.page.debug.enabled" /></b> - <fmt:message key="config.page.debug.enabled_info" />
</label>
</td>
</tr>
<tr valign="top">
<td width="1%" nowrap>
<input type="radio" name="debugEnabled" value="false" id="rb02" <%= (!debugEnabled ? "checked" : "") %>>
</td>
<td width="99%">
<label for="rb02">
<b><fmt:message key="config.page.debug.disabled" /></b> - <fmt:message key="config.page.debug.disabled_info" />
</label>
</td>
</tr>
</tbody>
</table>
<br>
<input type="submit" value="<fmt:message key="global.save_settings" />">
</form>
</div>
</body>
</html>
......@@ -23,6 +23,7 @@
<module>fastpath</module>
<module>gojara</module>
<module>hazelcast</module>
<module>inverse</module>
<!-- jnsapi not in Maven Central-->
<!--<module>jingleNodes</module>-->
<module>jmxweb</module>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment