=1-t)return H[K-1];var q=W%1,ut=W|0;return $.lerp(H[ut],H[ut+1],q)}return B}(),$}(),r=function(x,B,F){return B===void 0&&(B=0),F===void 0&&(F=Math.pow(10,B)),Math.round(F*x)/F},o={grad:360/400,turn:360,rad:360/(Math.PI*2)},a=e.hexToHsva=function(){function $(x){return P(u(x))}return $}(),u=e.hexToRgba=function(){function $(x){return x[0]==="#"&&(x=x.substring(1)),x.length<6?{r:parseInt(x[0]+x[0],16),g:parseInt(x[1]+x[1],16),b:parseInt(x[2]+x[2],16),a:x.length===4?r(parseInt(x[3]+x[3],16)/255,2):1}:{r:parseInt(x.substring(0,2),16),g:parseInt(x.substring(2,4),16),b:parseInt(x.substring(4,6),16),a:x.length===8?r(parseInt(x.substring(6,8),16)/255,2):1}}return $}(),i=e.parseHue=function(){function $(x,B){return B===void 0&&(B="deg"),Number(x)*(o[B]||1)}return $}(),l=e.hslaStringToHsva=function(){function $(x){var B=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i,F=B.exec(x);return F?h({h:i(F[1],F[2]),s:Number(F[3]),l:Number(F[4]),a:F[5]===void 0?1:Number(F[5])/(F[6]?100:1)}):{h:0,s:0,v:0,a:1}}return $}(),p=e.hslStringToHsva=l,h=e.hslaToHsva=function(){function $(x){var B=x.h,F=x.s,H=x.l,K=x.a;return F*=(H<50?H:100-H)/100,{h:B,s:F>0?2*F/(H+F)*100:0,v:H+F,a:K}}return $}(),s=e.hsvaToHex=function(){function $(x){return A(m(x))}return $}(),d=e.hsvaToHsla=function(){function $(x){var B=x.h,F=x.s,H=x.v,K=x.a,W=(200-F)*H/100;return{h:r(B),s:r(W>0&&W<200?F*H/100/(W<=100?W:200-W)*100:0),l:r(W/2),a:r(K,2)}}return $}(),c=e.hsvaToHslString=function(){function $(x){var B=d(x),F=B.h,H=B.s,K=B.l;return"hsl("+F+", "+H+"%, "+K+"%)"}return $}(),g=e.hsvaToHsvString=function(){function $(x){var B=M(x),F=B.h,H=B.s,K=B.v;return"hsv("+F+", "+H+"%, "+K+"%)"}return $}(),f=e.hsvaToHsvaString=function(){function $(x){var B=M(x),F=B.h,H=B.s,K=B.v,W=B.a;return"hsva("+F+", "+H+"%, "+K+"%, "+W+")"}return $}(),v=e.hsvaToHslaString=function(){function $(x){var B=d(x),F=B.h,H=B.s,K=B.l,W=B.a;return"hsla("+F+", "+H+"%, "+K+"%, "+W+")"}return $}(),m=e.hsvaToRgba=function(){function $(x){var B=x.h,F=x.s,H=x.v,K=x.a;B=B/360*6,F=F/100,H=H/100;var W=Math.floor(B),q=H*(1-F),ut=H*(1-(B-W)*F),ct=H*(1-(1-B+W)*F),Q=W%6;return{r:[H,ut,q,q,ct,H][Q]*255,g:[ct,H,H,ut,q,q][Q]*255,b:[q,q,ct,H,H,ut][Q]*255,a:r(K,2)}}return $}(),E=e.hsvaToRgbString=function(){function $(x){var B=m(x),F=B.r,H=B.g,K=B.b;return"rgb("+r(F)+", "+r(H)+", "+r(K)+")"}return $}(),I=e.hsvaToRgbaString=function(){function $(x){var B=m(x),F=B.r,H=B.g,K=B.b,W=B.a;return"rgba("+r(F)+", "+r(H)+", "+r(K)+", "+r(W,2)+")"}return $}(),O=e.hsvaStringToHsva=function(){function $(x){var B=/hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i,F=B.exec(x);return F?M({h:i(F[1],F[2]),s:Number(F[3]),v:Number(F[4]),a:F[5]===void 0?1:Number(F[5])/(F[6]?100:1)}):{h:0,s:0,v:0,a:1}}return $}(),b=e.hsvStringToHsva=O,S=e.rgbaStringToHsva=function(){function $(x){var B=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i,F=B.exec(x);return F?P({r:Number(F[1])/(F[2]?100/255:1),g:Number(F[3])/(F[4]?100/255:1),b:Number(F[5])/(F[6]?100/255:1),a:F[7]===void 0?1:Number(F[7])/(F[8]?100:1)}):{h:0,s:0,v:0,a:1}}return $}(),T=e.rgbStringToHsva=S,C=function(x){var B=x.toString(16);return B.length<2?"0"+B:B},A=e.rgbaToHex=function(){function $(x){var B=x.r,F=x.g,H=x.b,K=x.a,W=K<1?C(r(K*255)):"";return"#"+C(r(B))+C(r(F))+C(r(H))+W}return $}(),P=e.rgbaToHsva=function(){function $(x){var B=x.r,F=x.g,H=x.b,K=x.a,W=Math.max(B,F,H),q=W-Math.min(B,F,H),ut=q?W===B?(F-H)/q:W===F?2+(H-B)/q:4+(B-F)/q:0;return{h:60*(ut<0?ut+6:ut),s:W?q/W*100:0,v:W/255*100,a:K}}return $}(),M=e.roundHsva=function(){function $(x){return{h:r(x.h),s:r(x.s),v:r(x.v),a:r(x.a,2)}}return $}(),w=e.rgbaToRgb=function(){function $(x){var B=x.r,F=x.g,H=x.b;return{r:B,g:F,b:H}}return $}(),V=e.hslaToHsl=function(){function $(x){var B=x.h,F=x.s,H=x.l;return{h:B,s:F,l:H}}return $}(),U=e.hsvaToHsv=function(){function $(x){var B=M(x),F=B.h,H=B.s,K=B.v;return{h:F,s:H,v:K}}return $}(),j=/^#?([0-9A-F]{3,8})$/i,G=e.validHex=function(){function $(x,B){var F=j.exec(x),H=F?F[1].length:0;return H===3||H===6||!!B&&H===4||!!B&&H===8}return $}()},92868:function(y,e){"use strict";e.__esModule=!0,e.EventEmitter=void 0;/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
- */var t=e.EventEmitter=function(){function n(){this.listeners={}}var r=n.prototype;return r.on=function(){function o(a,s){this.listeners[a]=this.listeners[a]||[],this.listeners[a].push(s)}return o}(),r.off=function(){function o(a,s){var u=this.listeners[a];if(!u)throw new Error('There is no listeners for "'+a+'"');this.listeners[a]=u.filter(function(l){return l!==s})}return o}(),r.emit=function(){function o(a){var s=this.listeners[a];if(s){for(var u=arguments.length,l=new Array(u>1?u-1:0),p=1;p1?i-1:0),p=1;p1?p-1:0),i=1;i1?f-1:0),d=1;d1?p-1:0),s=1;s1?h-1:0),d=1;dd?d:f}return p}(),n=e.clamp01=function(){function p(f){return f<0?0:f>1?1:f}return p}(),r=e.scale=function(){function p(f,i,d){return(f-i)/(d-i)}return p}(),o=e.round=function(){function p(f,i){if(!f||isNaN(f))return f;var d,c,g,v;return i|=0,d=Math.pow(10,i),f*=d,v=+(f>0)|-(f<0),g=Math.abs(f%1)>=.4999999999854481,c=Math.floor(f),g&&(f=c+(v>0)),(g?f:Math.round(f))/d}return p}(),a=e.toFixed=function(){function p(f,i){return i===void 0&&(i=0),Number(f).toFixed(Math.max(i,0))}return p}(),s=e.inRange=function(){function p(f,i){return i&&f>=i[0]&&f<=i[1]}return p}(),u=e.keyOfMatchingRange=function(){function p(f,i){for(var d=0,c=Object.keys(i);dd?d:h}return p}(),n=e.clamp01=function(){function p(h){return h<0?0:h>1?1:h}return p}(),r=e.scale=function(){function p(h,s,d){return(h-s)/(d-s)}return p}(),o=e.round=function(){function p(h,s){if(!h||isNaN(h))return h;var d,c,g,f;return s|=0,d=Math.pow(10,s),h*=d,f=+(h>0)|-(h<0),g=Math.abs(h%1)>=.4999999999854481,c=Math.floor(h),g&&(h=c+(f>0)),(g?h:Math.round(h))/d}return p}(),a=e.toFixed=function(){function p(h,s){return s===void 0&&(s=0),Number(h).toFixed(Math.max(s,0))}return p}(),u=e.inRange=function(){function p(h,s){return s&&h>=s[0]&&h<=s[1]}return p}(),i=e.keyOfMatchingRange=function(){function p(h,s){for(var d=0,c=Object.keys(s);d1?v-1:0),m=1;m1?C-1:0),P=1;P=0;--nt){var pt=this.tryEntries[nt],Et=pt.completion;if(pt.tryLoc==="root")return tt("end");if(pt.tryLoc<=this.prev){var st=T.call(pt,"catchLoc"),yt=T.call(pt,"finallyLoc");if(st&&yt){if(this.prev=0;--tt){var nt=this.tryEntries[tt];if(nt.tryLoc<=this.prev&&T.call(nt,"finallyLoc")&&this.prev=0;--k){var tt=this.tryEntries[k];if(tt.finallyLoc===et)return this.complete(tt.completion,tt.afterLoc),rt(tt),F}}return ot}(),catch:function(){function ot(et){for(var k=this.tryEntries.length-1;k>=0;--k){var tt=this.tryEntries[k];if(tt.tryLoc===et){var nt=tt.completion;if(nt.type==="throw"){var pt=nt.arg;rt(tt)}return pt}}throw Error("illegal catch attempt")}return ot}(),delegateYield:function(){function ot(et,k,tt){return this.delegate={iterator:mt(et),resultName:k,nextLoc:tt},this.method==="next"&&(this.arg=O),F}return ot}()},b}function n(O,b,S,T,C,A,P){try{var M=O[A](P),w=M.value}catch(V){return void S(V)}M.done?b(w):Promise.resolve(w).then(T,C)}function r(O){return function(){var b=this,S=arguments;return new Promise(function(T,C){var A=O.apply(b,S);function P(w){n(A,T,C,P,M,"next",w)}function M(w){n(A,T,C,P,M,"throw",w)}P(void 0)})}}/**
+ */var r=e.createStore=function(){function p(h,s){if(s)return s(p)(h);var d,c=[],g=function(){function m(){return d}return m}(),f=function(){function m(E){c.push(E)}return m}(),v=function(){function m(E){d=h(d,E);for(var I=0;I1?f-1:0),m=1;m1?C-1:0),P=1;P=0;--nt){var pt=this.tryEntries[nt],Et=pt.completion;if(pt.tryLoc==="root")return tt("end");if(pt.tryLoc<=this.prev){var st=T.call(pt,"catchLoc"),yt=T.call(pt,"finallyLoc");if(st&&yt){if(this.prev=0;--tt){var nt=this.tryEntries[tt];if(nt.tryLoc<=this.prev&&T.call(nt,"finallyLoc")&&this.prev=0;--k){var tt=this.tryEntries[k];if(tt.finallyLoc===et)return this.complete(tt.completion,tt.afterLoc),rt(tt),F}}return ot}(),catch:function(){function ot(et){for(var k=this.tryEntries.length-1;k>=0;--k){var tt=this.tryEntries[k];if(tt.tryLoc===et){var nt=tt.completion;if(nt.type==="throw"){var pt=nt.arg;rt(tt)}return pt}}throw Error("illegal catch attempt")}return ot}(),delegateYield:function(){function ot(et,k,tt){return this.delegate={iterator:mt(et),resultName:k,nextLoc:tt},this.method==="next"&&(this.arg=O),F}return ot}()},b}function n(O,b,S,T,C,A,P){try{var M=O[A](P),w=M.value}catch(V){return void S(V)}M.done?b(w):Promise.resolve(w).then(T,C)}function r(O){return function(){var b=this,S=arguments;return new Promise(function(T,C){var A=O.apply(b,S);function P(w){n(A,T,C,P,M,"next",w)}function M(w){n(A,T,C,P,M,"throw",w)}P(void 0)})}}/**
* Browser-agnostic abstraction of key-value web storage.
*
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
- */var o=e.IMPL_MEMORY=0,a=e.IMPL_HUB_STORAGE=1,s=e.IMPL_INDEXED_DB=2,u=1,l="para-tgui",p="storage-v1",f="readonly",i="readwrite",d=function(b){return function(){try{return!!b()}catch(S){return!1}}},c=d(function(){return window.hubStorage&&window.hubStorage.getItem}),g=d(function(){return(window.indexedDB||window.msIndexedDB)&&(window.IDBTransaction||window.msIDBTransaction)}),v=function(){function O(){this.impl=o,this.store={}}var b=O.prototype;return b.get=function(){var S=r(t().mark(function(){function C(A){return t().wrap(function(){function P(M){for(;;)switch(M.prev=M.next){case 0:return M.abrupt("return",this.store[A]);case 1:case"end":return M.stop()}}return P}(),C,this)}return C}()));function T(C){return S.apply(this,arguments)}return T}(),b.set=function(){var S=r(t().mark(function(){function C(A,P){return t().wrap(function(){function M(w){for(;;)switch(w.prev=w.next){case 0:this.store[A]=P;case 1:case"end":return w.stop()}}return M}(),C,this)}return C}()));function T(C,A){return S.apply(this,arguments)}return T}(),b.remove=function(){var S=r(t().mark(function(){function C(A){return t().wrap(function(){function P(M){for(;;)switch(M.prev=M.next){case 0:this.store[A]=void 0;case 1:case"end":return M.stop()}}return P}(),C,this)}return C}()));function T(C){return S.apply(this,arguments)}return T}(),b.clear=function(){var S=r(t().mark(function(){function C(){return t().wrap(function(){function A(P){for(;;)switch(P.prev=P.next){case 0:this.store={};case 1:case"end":return P.stop()}}return A}(),C,this)}return C}()));function T(){return S.apply(this,arguments)}return T}(),O}(),h=function(){function O(){this.impl=a}var b=O.prototype;return b.get=function(){var S=r(t().mark(function(){function C(A){var P;return t().wrap(function(){function M(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,window.hubStorage.getItem("paradise-"+A);case 2:if(P=w.sent,typeof P!="string"){w.next=5;break}return w.abrupt("return",JSON.parse(P));case 5:case"end":return w.stop()}}return M}(),C)}return C}()));function T(C){return S.apply(this,arguments)}return T}(),b.set=function(){function S(T,C){window.hubStorage.setItem("paradise-"+T,JSON.stringify(C))}return S}(),b.remove=function(){function S(T){window.hubStorage.removeItem("paradise-"+T)}return S}(),b.clear=function(){function S(){window.hubStorage.clear()}return S}(),O}(),m=function(){function O(){this.impl=s,this.dbPromise=new Promise(function(S,T){var C=window.indexedDB||window.msIndexedDB,A=C.open(l,u);A.onupgradeneeded=function(){try{A.result.createObjectStore(p)}catch(P){T(new Error("Failed to upgrade IDB: "+A.error))}},A.onsuccess=function(){return S(A.result)},A.onerror=function(){T(new Error("Failed to open IDB: "+A.error))}})}var b=O.prototype;return b.getStore=function(){var S=r(t().mark(function(){function C(A){return t().wrap(function(){function P(M){for(;;)switch(M.prev=M.next){case 0:return M.abrupt("return",this.dbPromise.then(function(w){return w.transaction(p,A).objectStore(p)}));case 1:case"end":return M.stop()}}return P}(),C,this)}return C}()));function T(C){return S.apply(this,arguments)}return T}(),b.get=function(){var S=r(t().mark(function(){function C(A){var P;return t().wrap(function(){function M(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.getStore(f);case 2:return P=w.sent,w.abrupt("return",new Promise(function(V,U){var j=P.get(A);j.onsuccess=function(){return V(j.result)},j.onerror=function(){return U(j.error)}}));case 4:case"end":return w.stop()}}return M}(),C,this)}return C}()));function T(C){return S.apply(this,arguments)}return T}(),b.set=function(){var S=r(t().mark(function(){function C(A,P){var M;return t().wrap(function(){function w(V){for(;;)switch(V.prev=V.next){case 0:return V.next=2,this.getStore(i);case 2:M=V.sent,M.put(P,A);case 4:case"end":return V.stop()}}return w}(),C,this)}return C}()));function T(C,A){return S.apply(this,arguments)}return T}(),b.remove=function(){var S=r(t().mark(function(){function C(A){var P;return t().wrap(function(){function M(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.getStore(i);case 2:P=w.sent,P.delete(A);case 4:case"end":return w.stop()}}return M}(),C,this)}return C}()));function T(C){return S.apply(this,arguments)}return T}(),b.clear=function(){var S=r(t().mark(function(){function C(){var A;return t().wrap(function(){function P(M){for(;;)switch(M.prev=M.next){case 0:return M.next=2,this.getStore(i);case 2:A=M.sent,A.clear();case 4:case"end":return M.stop()}}return P}(),C,this)}return C}()));function T(){return S.apply(this,arguments)}return T}(),O}(),E=function(){function O(){this.backendPromise=r(t().mark(function(){function S(){var T;return t().wrap(function(){function C(A){for(;;)switch(A.prev=A.next){case 0:if(!(!Byond.TRIDENT&&c())){A.next=2;break}return A.abrupt("return",new h);case 2:if(!g()){A.next=12;break}return A.prev=3,T=new m,A.next=7,T.dbPromise;case 7:return A.abrupt("return",T);case 10:A.prev=10,A.t0=A.catch(3);case 12:return A.abrupt("return",new v);case 13:case"end":return A.stop()}}return C}(),S,null,[[3,10]])}return S}()))()}var b=O.prototype;return b.get=function(){var S=r(t().mark(function(){function C(A){var P;return t().wrap(function(){function M(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.backendPromise;case 2:return P=w.sent,w.abrupt("return",P.get(A));case 4:case"end":return w.stop()}}return M}(),C,this)}return C}()));function T(C){return S.apply(this,arguments)}return T}(),b.set=function(){var S=r(t().mark(function(){function C(A,P){var M;return t().wrap(function(){function w(V){for(;;)switch(V.prev=V.next){case 0:return V.next=2,this.backendPromise;case 2:return M=V.sent,V.abrupt("return",M.set(A,P));case 4:case"end":return V.stop()}}return w}(),C,this)}return C}()));function T(C,A){return S.apply(this,arguments)}return T}(),b.remove=function(){var S=r(t().mark(function(){function C(A){var P;return t().wrap(function(){function M(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.backendPromise;case 2:return P=w.sent,w.abrupt("return",P.remove(A));case 4:case"end":return w.stop()}}return M}(),C,this)}return C}()));function T(C){return S.apply(this,arguments)}return T}(),b.clear=function(){var S=r(t().mark(function(){function C(){var A;return t().wrap(function(){function P(M){for(;;)switch(M.prev=M.next){case 0:return M.next=2,this.backendPromise;case 2:return A=M.sent,M.abrupt("return",A.clear());case 4:case"end":return M.stop()}}return P}(),C,this)}return C}()));function T(){return S.apply(this,arguments)}return T}(),O}(),I=e.storage=new E},25328:function(y,e){"use strict";e.__esModule=!0,e.toTitleCase=e.multiline=e.decodeHtmlEntities=e.createSearch=e.createGlobPattern=e.capitalize=e.buildQueryString=void 0;function t(i,d){var c=typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(c)return(c=c.call(i)).next.bind(c);if(Array.isArray(i)||(c=n(i))||d&&i&&typeof i.length=="number"){c&&(i=c);var g=0;return function(){return g>=i.length?{done:!0}:{done:!1,value:i[g++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(i,d){if(i){if(typeof i=="string")return r(i,d);var c={}.toString.call(i).slice(8,-1);return c==="Object"&&i.constructor&&(c=i.constructor.name),c==="Map"||c==="Set"?Array.from(i):c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?r(i,d):void 0}}function r(i,d){(d==null||d>i.length)&&(d=i.length);for(var c=0,g=Array(d);c=s.length?{done:!0}:{done:!1,value:s[g++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(s,d){if(s){if(typeof s=="string")return r(s,d);var c={}.toString.call(s).slice(8,-1);return c==="Object"&&s.constructor&&(c=s.constructor.name),c==="Map"||c==="Set"?Array.from(s):c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?r(s,d):void 0}}function r(s,d){(d==null||d>s.length)&&(d=s.length);for(var c=0,g=Array(d);c",apos:"'"};return d.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(c,function(v,h){return g[h]}).replace(/?([0-9]+);/gi,function(v,h){var m=parseInt(h,10);return String.fromCharCode(m)}).replace(/?([0-9a-f]+);/gi,function(v,h){var m=parseInt(h,16);return String.fromCharCode(m)})}return i}(),f=e.buildQueryString=function(){function i(d){return Object.keys(d).map(function(c){return encodeURIComponent(c)+"="+encodeURIComponent(d[c])}).join("&")}return i}()},69214:function(y,e){"use strict";e.__esModule=!0,e.throttle=e.sleep=e.debounce=void 0;/**
+ */var o=e.multiline=function(){function s(d){if(Array.isArray(d))return s(d.join(""));for(var c=d.split("\n"),g,f=t(c),v;!(v=f()).done;)for(var m=v.value,E=0;E",apos:"'"};return d.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(c,function(f,v){return g[v]}).replace(/?([0-9]+);/gi,function(f,v){var m=parseInt(v,10);return String.fromCharCode(m)}).replace(/?([0-9a-f]+);/gi,function(f,v){var m=parseInt(v,16);return String.fromCharCode(m)})}return s}(),h=e.buildQueryString=function(){function s(d){return Object.keys(d).map(function(c){return encodeURIComponent(c)+"="+encodeURIComponent(d[c])}).join("&")}return s}()},69214:function(y,e){"use strict";e.__esModule=!0,e.throttle=e.sleep=e.debounce=void 0;/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
- */var t=e.debounce=function(){function o(a,s,u){u===void 0&&(u=!1);var l;return function(){for(var p=arguments.length,f=new Array(p),i=0;i=s)a.apply(null,i),u=c;else{var g;l=setTimeout(function(){return p.apply(void 0,i)},s-(c-((g=u)!=null?g:0)))}}return p}()}return o}()},90286:function(y,e){"use strict";e.__esModule=!0,e.createUuid=void 0;/**
+ */var t=e.debounce=function(){function o(a,u,i){i===void 0&&(i=!1);var l;return function(){for(var p=arguments.length,h=new Array(p),s=0;s
=u)a.apply(null,s),i=c;else{var g;l=setTimeout(function(){return p.apply(void 0,s)},u-(c-((g=i)!=null?g:0)))}}return p}()}return o}()},90286:function(y,e){"use strict";e.__esModule=!0,e.createUuid=void 0;/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
@@ -66,83 +66,83 @@
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
- */var r=function(h,m){return h+m},o=function(h,m){return h-m},a=function(h,m){return h*m},s=function(h,m){return h/m},u=e.vecAdd=function(){function v(){for(var h=arguments.length,m=new Array(h),E=0;E=l.length?{done:!0}:{done:!1,value:l[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(l,p){if(l){if(typeof l=="string")return a(l,p);var f={}.toString.call(l).slice(8,-1);return f==="Object"&&l.constructor&&(f=l.constructor.name),f==="Map"||f==="Set"?Array.from(l):f==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f)?a(l,p):void 0}}function a(l,p){(p==null||p>l.length)&&(p=l.length);for(var f=0,i=Array(p);f0&&s.currentTime>=h.options.end&&h.stop()}),s.play(),this.onPlaySubscribers.forEach(function(d){return d()})}return i}(),u.stop=function(){function i(){this.element&&(r.log("stopping"),this.element.pause(),this.element=null,this.onStopSubscribers.forEach(function(l){return l()}))}return i}(),u.setVolume=function(){function i(l){this.volume=l,this.element&&(this.element.volume=l)}return i}(),u.onPlay=function(){function i(l){this.onPlaySubscribers.push(l)}return i}(),u.onStop=function(){function i(l){this.onStopSubscribers.push(l)}return i}(),a}()},70949:function(y,e){"use strict";e.__esModule=!0,e.audioReducer=void 0;/**
+ * @file
+ * @copyright 2020 Aleksej Komarov
+ * @license MIT
+ */var t={visible:!1,playing:!1,track:null},n=e.audioReducer=function(){function r(o,a){o===void 0&&(o=t);var u=a.type,i=a.payload;return u==="audio/playing"?Object.assign({},o,{visible:!0,playing:!0}):u==="audio/stopped"?Object.assign({},o,{visible:!1,playing:!1}):u==="audio/playMusic"?Object.assign({},o,{meta:i}):u==="audio/stopMusic"?Object.assign({},o,{visible:!1,playing:!1,meta:null}):u==="audio/toggle"?Object.assign({},o,{visible:!o.visible}):o}return r}()},32559:function(y,e){"use strict";e.__esModule=!0,e.selectAudio=void 0;/**
+ * @file
+ * @copyright 2020 Aleksej Komarov
+ * @license MIT
+ */var t=e.selectAudio=function(){function n(r){return r.audio}return n}()},15039:function(y,e,t){"use strict";e.__esModule=!0,e.ChatPageSettings=void 0;var n=t(89005),r=t(85307),o=t(36036),a=t(37152),u=t(69126),i=t(23429);/**
+ * @file
+ * @copyright 2020 Aleksej Komarov
+ * @license MIT
+ */var l=e.ChatPageSettings=function(){function p(h,s){var d=(0,r.useSelector)(s,i.selectCurrentChatPage),c=(0,r.useDispatch)(s);return(0,n.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,n.createComponentVNode)(2,o.Stack,{align:"center",children:[!d.isMain&&(0,n.createComponentVNode)(2,o.Stack.Item,{children:(0,n.createComponentVNode)(2,o.Button,{tooltip:"Reorder tab to the left",icon:"angle-left",onClick:function(){function g(){return c((0,a.moveChatPageLeft)({pageId:d.id}))}return g}()})}),(0,n.createComponentVNode)(2,o.Stack.Item,{grow:!0,ml:.5,children:(0,n.createComponentVNode)(2,o.Input,{width:"100%",value:d.name,onChange:function(){function g(f,v){return c((0,a.updateChatPage)({pageId:d.id,name:v}))}return g}()})}),!d.isMain&&(0,n.createComponentVNode)(2,o.Stack.Item,{ml:.5,children:(0,n.createComponentVNode)(2,o.Button,{tooltip:"Reorder tab to the right",icon:"angle-right",onClick:function(){function g(){return c((0,a.moveChatPageRight)({pageId:d.id}))}return g}()})}),(0,n.createComponentVNode)(2,o.Stack.Item,{children:(0,n.createComponentVNode)(2,o.Button.Checkbox,{content:"Mute",checked:d.hideUnreadCount,icon:d.hideUnreadCount?"bell-slash":"bell",tooltip:"Disables unread counter",onClick:function(){function g(){return c((0,a.updateChatPage)({pageId:d.id,hideUnreadCount:!d.hideUnreadCount}))}return g}()})}),(0,n.createComponentVNode)(2,o.Stack.Item,{children:(0,n.createComponentVNode)(2,o.Button,{content:"Remove",icon:"times",color:"red",disabled:d.isMain,onClick:function(){function g(){return c((0,a.removeChatPage)({pageId:d.id}))}return g}()})})]}),(0,n.createComponentVNode)(2,o.Divider),(0,n.createComponentVNode)(2,o.Section,{title:"Messages to display",level:2,children:[u.MESSAGE_TYPES.filter(function(g){return!g.important&&!g.admin}).map(function(g){return(0,n.createComponentVNode)(2,o.Button.Checkbox,{checked:d.acceptedTypes[g.type],onClick:function(){function f(){return c((0,a.toggleAcceptedType)({pageId:d.id,type:g.type}))}return f}(),children:g.name},g.type)}),(0,n.createComponentVNode)(2,o.Collapsible,{mt:1,color:"transparent",title:"Admin stuff",children:u.MESSAGE_TYPES.filter(function(g){return!g.important&&g.admin}).map(function(g){return(0,n.createComponentVNode)(2,o.Button.Checkbox,{checked:d.acceptedTypes[g.type],onClick:function(){function f(){return c((0,a.toggleAcceptedType)({pageId:d.id,type:g.type}))}return f}(),children:g.name},g.type)})})]})]})}return p}()},44675:function(y,e,t){"use strict";e.__esModule=!0,e.ChatPanel=void 0;var n=t(89005),r=t(35840),o=t(36036),a=t(15916);function u(p,h){p.prototype=Object.create(h.prototype),p.prototype.constructor=p,i(p,h)}function i(p,h){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(s,d){return s.__proto__=d,s},i(p,h)}/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
-*/var s=(0,n.createLogger)("AudioPlayer"),u=e.AudioPlayer=function(){function l(){var f=this;this.node=document.createElement("audio"),this.node.style.setProperty("display","none"),document.body.appendChild(this.node),this.playing=!1,this.volume=1,this.options={},this.onPlaySubscribers=[],this.onStopSubscribers=[],this.node.addEventListener("canplaythrough",function(){s.log("canplaythrough"),f.playing=!0,f.node.playbackRate=f.options.pitch||1,f.node.currentTime=f.options.start||0,f.node.volume=f.volume,f.node.play();for(var i=r(f.onPlaySubscribers),d;!(d=i()).done;){var c=d.value;c()}}),this.node.addEventListener("ended",function(){s.log("ended"),f.stop()}),this.node.addEventListener("error",function(i){f.playing&&(s.log("playback error",i.error),f.stop())}),this.playbackInterval=setInterval(function(){if(f.playing){var i=f.options.end>0&&f.node.currentTime>=f.options.end;i&&f.stop()}},1e3)}var p=l.prototype;return p.destroy=function(){function f(){this.node&&(this.node.stop(),document.removeChild(this.node),clearInterval(this.playbackInterval))}return f}(),p.play=function(){function f(i,d){d===void 0&&(d={}),this.node&&(s.log("playing",i,d),this.options=d,this.node.src=i)}return f}(),p.stop=function(){function f(){if(this.node){if(this.playing)for(var i=r(this.onStopSubscribers),d;!(d=i()).done;){var c=d.value;c()}s.log("stopping"),this.playing=!1,this.node.src=""}}return f}(),p.setVolume=function(){function f(i){this.node&&(this.volume=i,this.node.volume=i)}return f}(),p.onPlay=function(){function f(i){this.node&&this.onPlaySubscribers.push(i)}return f}(),p.onStop=function(){function f(i){this.node&&this.onStopSubscribers.push(i)}return f}(),l}()},70949:function(y,e){"use strict";e.__esModule=!0,e.audioReducer=void 0;/**
+*/var l=e.ChatPanel=function(p){function h(){var d;return d=p.call(this)||this,d.ref=(0,n.createRef)(),d.state={scrollTracking:!0},d.handleScrollTrackingChange=function(c){return d.setState({scrollTracking:c})},d}u(h,p);var s=h.prototype;return s.componentDidMount=function(){function d(){a.chatRenderer.mount(this.ref.current),a.chatRenderer.events.on("scrollTrackingChanged",this.handleScrollTrackingChange),this.componentDidUpdate()}return d}(),s.componentWillUnmount=function(){function d(){a.chatRenderer.events.off("scrollTrackingChanged",this.handleScrollTrackingChange)}return d}(),s.componentDidUpdate=function(){function d(c){requestAnimationFrame(function(){a.chatRenderer.ensureScrollTracking()});var g=!c||(0,r.shallowDiffers)(this.props,c);g&&a.chatRenderer.assignStyle({width:"100%","white-space":"pre-wrap","font-size":this.props.fontSize,"line-height":this.props.lineHeight})}return d}(),s.render=function(){function d(){var c=this.state.scrollTracking;return(0,n.createFragment)([(0,n.createVNode)(1,"div","Chat",null,1,null,null,this.ref),!c&&(0,n.createComponentVNode)(2,o.Button,{className:"Chat__scrollButton",icon:"arrow-down",onClick:function(){function g(){return a.chatRenderer.scrollToBottom()}return g}(),children:"Scroll to bottom"})],0)}return d}(),h}(n.Component)},41125:function(y,e,t){"use strict";e.__esModule=!0,e.ChatTabs=void 0;var n=t(89005),r=t(85307),o=t(36036),a=t(37152),u=t(23429),i=t(36471);/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
- */var t={visible:!1,playing:!1,track:null},n=e.audioReducer=function(){function r(o,a){o===void 0&&(o=t);var s=a.type,u=a.payload;return s==="audio/playing"?Object.assign({},o,{visible:!0,playing:!0}):s==="audio/stopped"?Object.assign({},o,{visible:!1,playing:!1}):s==="audio/playMusic"?Object.assign({},o,{meta:u}):s==="audio/stopMusic"?Object.assign({},o,{visible:!1,playing:!1,meta:null}):s==="audio/toggle"?Object.assign({},o,{visible:!o.visible}):o}return r}()},32559:function(y,e){"use strict";e.__esModule=!0,e.selectAudio=void 0;/**
+ */var l=function(s){var d=s.value;return(0,n.createComponentVNode)(2,o.Box,{style:{"font-size":"0.7em","border-radius":"0.25em",width:"1.7em","line-height":"1.55em","background-color":"crimson",color:"#fff"},children:Math.min(d,99)})},p=e.ChatTabs=function(){function h(s,d){var c=(0,r.useSelector)(d,u.selectChatPages),g=(0,r.useSelector)(d,u.selectCurrentChatPage),f=(0,r.useDispatch)(d);return(0,n.createComponentVNode)(2,o.Flex,{align:"center",children:[(0,n.createComponentVNode)(2,o.Flex.Item,{children:(0,n.createComponentVNode)(2,o.Tabs,{textAlign:"center",children:c.map(function(v){return(0,n.createComponentVNode)(2,o.Tabs.Tab,{selected:v===g,rightSlot:!v.hideUnreadCount&&v.unreadCount>0&&(0,n.createComponentVNode)(2,l,{value:v.unreadCount}),onClick:function(){function m(){return f((0,a.changeChatPage)({pageId:v.id}))}return m}(),children:v.name},v.id)})})}),(0,n.createComponentVNode)(2,o.Flex.Item,{ml:1,children:(0,n.createComponentVNode)(2,o.Button,{color:"transparent",icon:"plus",onClick:function(){function v(){f((0,a.addChatPage)()),f((0,i.openChatSettings)())}return v}()})})]})}return h}()},37152:function(y,e,t){"use strict";e.__esModule=!0,e.updateMessageCount=e.updateChatPage=e.toggleAcceptedType=e.saveChatToDisk=e.removeChatPage=e.rebuildChat=e.moveChatPageRight=e.moveChatPageLeft=e.loadChat=e.clearChat=e.changeScrollTracking=e.changeChatPage=e.addChatPage=void 0;var n=t(85307),r=t(41950);/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
- */var t=e.selectAudio=function(){function n(r){return r.audio}return n}()},15039:function(y,e,t){"use strict";e.__esModule=!0,e.ChatPageSettings=void 0;var n=t(89005),r=t(85307),o=t(36036),a=t(37152),s=t(69126),u=t(23429);/**
+ */var o=e.loadChat=(0,n.createAction)("chat/load"),a=e.rebuildChat=(0,n.createAction)("chat/rebuild"),u=e.clearChat=(0,n.createAction)("chat/clear"),i=e.updateMessageCount=(0,n.createAction)("chat/updateMessageCount"),l=e.addChatPage=(0,n.createAction)("chat/addPage",function(){return{payload:(0,r.createPage)()}}),p=e.changeChatPage=(0,n.createAction)("chat/changePage"),h=e.updateChatPage=(0,n.createAction)("chat/updatePage"),s=e.toggleAcceptedType=(0,n.createAction)("chat/toggleAcceptedType"),d=e.removeChatPage=(0,n.createAction)("chat/removePage"),c=e.changeScrollTracking=(0,n.createAction)("chat/changeScrollTracking"),g=e.saveChatToDisk=(0,n.createAction)("chat/saveToDisk"),f=e.moveChatPageLeft=(0,n.createAction)("chat/movePageLeft"),v=e.moveChatPageRight=(0,n.createAction)("chat/movePageRight")},69126:function(y,e){"use strict";e.__esModule=!0,e.MESSAGE_TYPE_WARNING=e.MESSAGE_TYPE_UNKNOWN=e.MESSAGE_TYPE_SYSTEM=e.MESSAGE_TYPE_RADIO=e.MESSAGE_TYPE_OOC=e.MESSAGE_TYPE_MENTORPM=e.MESSAGE_TYPE_MENTORCHAT=e.MESSAGE_TYPE_LOCALCHAT=e.MESSAGE_TYPE_INTERNAL=e.MESSAGE_TYPE_INFO=e.MESSAGE_TYPE_EVENTCHAT=e.MESSAGE_TYPE_DEVCHAT=e.MESSAGE_TYPE_DEBUG=e.MESSAGE_TYPE_DEADCHAT=e.MESSAGE_TYPE_COMBAT=e.MESSAGE_TYPE_ATTACKLOG=e.MESSAGE_TYPE_ADMINPM=e.MESSAGE_TYPE_ADMINLOG=e.MESSAGE_TYPE_ADMINCHAT=e.MESSAGE_TYPES=e.MESSAGE_SAVE_INTERVAL=e.MESSAGE_PRUNE_INTERVAL=e.MAX_VISIBLE_MESSAGES=e.MAX_PERSISTED_MESSAGES=e.IMAGE_RETRY_MESSAGE_AGE=e.IMAGE_RETRY_LIMIT=e.IMAGE_RETRY_DELAY=e.COMBINE_MAX_TIME_WINDOW=e.COMBINE_MAX_MESSAGES=void 0;/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
- */var l=e.ChatPageSettings=function(){function p(f,i){var d=(0,r.useSelector)(i,u.selectCurrentChatPage),c=(0,r.useDispatch)(i);return(0,n.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,n.createComponentVNode)(2,o.Stack,{align:"center",children:[!d.isMain&&(0,n.createComponentVNode)(2,o.Stack.Item,{children:(0,n.createComponentVNode)(2,o.Button,{tooltip:"Reorder tab to the left",icon:"angle-left",onClick:function(){function g(){return c((0,a.moveChatPageLeft)({pageId:d.id}))}return g}()})}),(0,n.createComponentVNode)(2,o.Stack.Item,{grow:!0,ml:.5,children:(0,n.createComponentVNode)(2,o.Input,{width:"100%",value:d.name,onChange:function(){function g(v,h){return c((0,a.updateChatPage)({pageId:d.id,name:h}))}return g}()})}),!d.isMain&&(0,n.createComponentVNode)(2,o.Stack.Item,{ml:.5,children:(0,n.createComponentVNode)(2,o.Button,{tooltip:"Reorder tab to the right",icon:"angle-right",onClick:function(){function g(){return c((0,a.moveChatPageRight)({pageId:d.id}))}return g}()})}),(0,n.createComponentVNode)(2,o.Stack.Item,{children:(0,n.createComponentVNode)(2,o.Button.Checkbox,{content:"Mute",checked:d.hideUnreadCount,icon:d.hideUnreadCount?"bell-slash":"bell",tooltip:"Disables unread counter",onClick:function(){function g(){return c((0,a.updateChatPage)({pageId:d.id,hideUnreadCount:!d.hideUnreadCount}))}return g}()})}),(0,n.createComponentVNode)(2,o.Stack.Item,{children:(0,n.createComponentVNode)(2,o.Button,{content:"Remove",icon:"times",color:"red",disabled:d.isMain,onClick:function(){function g(){return c((0,a.removeChatPage)({pageId:d.id}))}return g}()})})]}),(0,n.createComponentVNode)(2,o.Divider),(0,n.createComponentVNode)(2,o.Section,{title:"Messages to display",level:2,children:[s.MESSAGE_TYPES.filter(function(g){return!g.important&&!g.admin}).map(function(g){return(0,n.createComponentVNode)(2,o.Button.Checkbox,{checked:d.acceptedTypes[g.type],onClick:function(){function v(){return c((0,a.toggleAcceptedType)({pageId:d.id,type:g.type}))}return v}(),children:g.name},g.type)}),(0,n.createComponentVNode)(2,o.Collapsible,{mt:1,color:"transparent",title:"Admin stuff",children:s.MESSAGE_TYPES.filter(function(g){return!g.important&&g.admin}).map(function(g){return(0,n.createComponentVNode)(2,o.Button.Checkbox,{checked:d.acceptedTypes[g.type],onClick:function(){function v(){return c((0,a.toggleAcceptedType)({pageId:d.id,type:g.type}))}return v}(),children:g.name},g.type)})})]})]})}return p}()},44675:function(y,e,t){"use strict";e.__esModule=!0,e.ChatPanel=void 0;var n=t(89005),r=t(35840),o=t(36036),a=t(15916);function s(p,f){p.prototype=Object.create(f.prototype),p.prototype.constructor=p,u(p,f)}function u(p,f){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,d){return i.__proto__=d,i},u(p,f)}/**
+ */var t=e.MAX_VISIBLE_MESSAGES=2500,n=e.MAX_PERSISTED_MESSAGES=1e3,r=e.MESSAGE_SAVE_INTERVAL=1e4,o=e.MESSAGE_PRUNE_INTERVAL=6e4,a=e.COMBINE_MAX_TIME_WINDOW=5e3,u=e.COMBINE_MAX_MESSAGES=5,i=e.IMAGE_RETRY_DELAY=250,l=e.IMAGE_RETRY_LIMIT=10,p=e.IMAGE_RETRY_MESSAGE_AGE=6e4,h=e.MESSAGE_TYPE_UNKNOWN="unknown",s=e.MESSAGE_TYPE_INTERNAL="internal",d=e.MESSAGE_TYPE_SYSTEM="system",c=e.MESSAGE_TYPE_LOCALCHAT="localchat",g=e.MESSAGE_TYPE_RADIO="radio",f=e.MESSAGE_TYPE_INFO="info",v=e.MESSAGE_TYPE_WARNING="warning",m=e.MESSAGE_TYPE_DEADCHAT="deadchat",E=e.MESSAGE_TYPE_OOC="ooc",I=e.MESSAGE_TYPE_ADMINPM="adminpm",O=e.MESSAGE_TYPE_MENTORPM="mentorpm",b=e.MESSAGE_TYPE_COMBAT="combat",S=e.MESSAGE_TYPE_ADMINCHAT="adminchat",T=e.MESSAGE_TYPE_MENTORCHAT="mentorchat",C=e.MESSAGE_TYPE_DEVCHAT="devchat",A=e.MESSAGE_TYPE_EVENTCHAT="eventchat",P=e.MESSAGE_TYPE_ADMINLOG="adminlog",M=e.MESSAGE_TYPE_ATTACKLOG="attacklog",w=e.MESSAGE_TYPE_DEBUG="debug",V=e.MESSAGE_TYPES=[{type:d,name:"System Messages",description:"Messages from your client, always enabled",selector:".boldannounceooc",important:!0},{type:c,name:"Local",description:"In-character local messages (say, emote, etc)",selector:".say, .emote"},{type:g,name:"Radio",description:"All departments of radio messages",selector:".alert, .syndradio, .centradio, .airadio, .entradio, .comradio, .secradio, .engradio, .medradio, .sciradio, .supradio, .srvradio, .expradio, .radio, .deptradio, .newscaster, .proradio"},{type:f,name:"Info",description:"Non-urgent messages from the game and items",selector:".notice:not(.pm), .adminnotice, .info, .sinister, .cult"},{type:v,name:"Warnings",description:"Urgent messages from the game and items",selector:".warning:not(.pm), .critical, .userdanger, .italics, .boldannounceic, .boldwarning"},{type:m,name:"Deadchat",description:"All of deadchat",selector:".deadsay"},{type:E,name:"OOC",description:"The bluewall of global OOC messages",selector:".ooc, .adminooc, .interface"},{type:I,name:"Admin PMs",description:"Messages to/from admins (adminhelp)",selector:".adminpm, .adminhelp, .adminticket, .adminticketalt"},{type:O,name:"Mentor PMs",description:"Messages to/from mentors (mentorhelp)",selector:".mentorpm, .mentorhelp"},{type:b,name:"Combat Log",description:"Urist McTraitor has stabbed you with a knife!",selector:".danger"},{type:h,name:"Unsorted",description:"Everything we could not sort, always enabled"},{type:S,name:"Admin Chat",description:"ASAY messages",selector:".admin_channel, .adminsay",admin:!0},{type:T,name:"Mentor Chat",description:"MSAY messages",selector:".mentor_channel",admin:!0},{type:C,name:"Developer Chat",description:"DEVSAY messages",selector:".dev_channel",admin:!0},{type:P,name:"Admin Log",description:"ADMIN LOG: Urist McAdmin has jumped to coordinates X, Y, Z",selector:".log_message",admin:!0},{type:M,name:"Attack Log",description:"Urist McTraitor has shot John Doe",admin:!0},{type:w,name:"Debug Log",description:"DEBUG: SSPlanets subsystem Recover().",selector:".pr_announce, .debug",admin:!0}]},96835:function(y,e,t){"use strict";e.__esModule=!0,e.chatReducer=e.chatMiddleware=e.ChatTabs=e.ChatPanel=e.ChatPageSettings=void 0;var n=t(15039);e.ChatPageSettings=n.ChatPageSettings;var r=t(44675);e.ChatPanel=r.ChatPanel;var o=t(41125);e.ChatTabs=o.ChatTabs;var a=t(84807);e.chatMiddleware=a.chatMiddleware;var u=t(40147);e.chatReducer=u.chatReducer},84807:function(y,e,t){"use strict";e.__esModule=!0,e.chatMiddleware=void 0;var n=s(t(22734)),r=t(27108),o=t(36471),a=t(77034),u=t(37152),i=t(69126),l=t(41950),p=t(15916),h=t(23429);function s(S){return S&&S.__esModule?S:{default:S}}function d(S,T){var C=typeof Symbol!="undefined"&&S[Symbol.iterator]||S["@@iterator"];if(C)return(C=C.call(S)).next.bind(C);if(Array.isArray(S)||(C=c(S))||T&&S&&typeof S.length=="number"){C&&(S=C);var A=0;return function(){return A>=S.length?{done:!0}:{done:!1,value:S[A++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(S,T){if(S){if(typeof S=="string")return g(S,T);var C={}.toString.call(S).slice(8,-1);return C==="Object"&&S.constructor&&(C=S.constructor.name),C==="Map"||C==="Set"?Array.from(S):C==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C)?g(S,T):void 0}}function g(S,T){(T==null||T>S.length)&&(T=S.length);for(var C=0,A=Array(T);C=0;--Et){var st=this.tryEntries[Et],yt=st.completion;if(st.tryLoc==="root")return pt("end");if(st.tryLoc<=this.prev){var Pt=A.call(st,"catchLoc"),Ct=A.call(st,"finallyLoc");if(Pt&&Ct){if(this.prev=0;--pt){var Et=this.tryEntries[pt];if(Et.tryLoc<=this.prev&&A.call(Et,"finallyLoc")&&this.prev=0;--nt){var pt=this.tryEntries[nt];if(pt.finallyLoc===tt)return this.complete(pt.completion,pt.afterLoc),mt(pt),K}}return k}(),catch:function(){function k(tt){for(var nt=this.tryEntries.length-1;nt>=0;--nt){var pt=this.tryEntries[nt];if(pt.tryLoc===tt){var Et=pt.completion;if(Et.type==="throw"){var st=Et.arg;mt(pt)}return st}}throw Error("illegal catch attempt")}return k}(),delegateYield:function(){function k(tt,nt,pt){return this.delegate={iterator:et(tt),resultName:nt,nextLoc:pt},this.method==="next"&&(this.arg=S),K}return k}()},T}function v(S,T,C,A,P,M,w){try{var V=S[M](w),U=V.value}catch(j){return void C(j)}V.done?T(U):Promise.resolve(U).then(A,P)}function m(S){return function(){var T=this,C=arguments;return new Promise(function(A,P){var M=S.apply(T,C);function w(U){v(M,A,P,w,V,"next",U)}function V(U){v(M,A,P,w,V,"throw",U)}w(void 0)})}}/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
-*/var l=e.ChatPanel=function(p){function f(){var d;return d=p.call(this)||this,d.ref=(0,n.createRef)(),d.state={scrollTracking:!0},d.handleScrollTrackingChange=function(c){return d.setState({scrollTracking:c})},d}s(f,p);var i=f.prototype;return i.componentDidMount=function(){function d(){a.chatRenderer.mount(this.ref.current),a.chatRenderer.events.on("scrollTrackingChanged",this.handleScrollTrackingChange),this.componentDidUpdate()}return d}(),i.componentWillUnmount=function(){function d(){a.chatRenderer.events.off("scrollTrackingChanged",this.handleScrollTrackingChange)}return d}(),i.componentDidUpdate=function(){function d(c){requestAnimationFrame(function(){a.chatRenderer.ensureScrollTracking()});var g=!c||(0,r.shallowDiffers)(this.props,c);g&&a.chatRenderer.assignStyle({width:"100%","white-space":"pre-wrap","font-size":this.props.fontSize,"line-height":this.props.lineHeight})}return d}(),i.render=function(){function d(){var c=this.state.scrollTracking;return(0,n.createFragment)([(0,n.createVNode)(1,"div","Chat",null,1,null,null,this.ref),!c&&(0,n.createComponentVNode)(2,o.Button,{className:"Chat__scrollButton",icon:"arrow-down",onClick:function(){function g(){return a.chatRenderer.scrollToBottom()}return g}(),children:"Scroll to bottom"})],0)}return d}(),f}(n.Component)},41125:function(y,e,t){"use strict";e.__esModule=!0,e.ChatTabs=void 0;var n=t(89005),r=t(85307),o=t(36036),a=t(37152),s=t(23429),u=t(36471);/**
- * @file
- * @copyright 2020 Aleksej Komarov
- * @license MIT
- */var l=function(i){var d=i.value;return(0,n.createComponentVNode)(2,o.Box,{style:{"font-size":"0.7em","border-radius":"0.25em",width:"1.7em","line-height":"1.55em","background-color":"crimson",color:"#fff"},children:Math.min(d,99)})},p=e.ChatTabs=function(){function f(i,d){var c=(0,r.useSelector)(d,s.selectChatPages),g=(0,r.useSelector)(d,s.selectCurrentChatPage),v=(0,r.useDispatch)(d);return(0,n.createComponentVNode)(2,o.Flex,{align:"center",children:[(0,n.createComponentVNode)(2,o.Flex.Item,{children:(0,n.createComponentVNode)(2,o.Tabs,{textAlign:"center",children:c.map(function(h){return(0,n.createComponentVNode)(2,o.Tabs.Tab,{selected:h===g,rightSlot:!h.hideUnreadCount&&h.unreadCount>0&&(0,n.createComponentVNode)(2,l,{value:h.unreadCount}),onClick:function(){function m(){return v((0,a.changeChatPage)({pageId:h.id}))}return m}(),children:h.name},h.id)})})}),(0,n.createComponentVNode)(2,o.Flex.Item,{ml:1,children:(0,n.createComponentVNode)(2,o.Button,{color:"transparent",icon:"plus",onClick:function(){function h(){v((0,a.addChatPage)()),v((0,u.openChatSettings)())}return h}()})})]})}return f}()},37152:function(y,e,t){"use strict";e.__esModule=!0,e.updateMessageCount=e.updateChatPage=e.toggleAcceptedType=e.saveChatToDisk=e.removeChatPage=e.rebuildChat=e.moveChatPageRight=e.moveChatPageLeft=e.loadChat=e.clearChat=e.changeScrollTracking=e.changeChatPage=e.addChatPage=void 0;var n=t(85307),r=t(41950);/**
- * @file
- * @copyright 2020 Aleksej Komarov
- * @license MIT
- */var o=e.loadChat=(0,n.createAction)("chat/load"),a=e.rebuildChat=(0,n.createAction)("chat/rebuild"),s=e.clearChat=(0,n.createAction)("chat/clear"),u=e.updateMessageCount=(0,n.createAction)("chat/updateMessageCount"),l=e.addChatPage=(0,n.createAction)("chat/addPage",function(){return{payload:(0,r.createPage)()}}),p=e.changeChatPage=(0,n.createAction)("chat/changePage"),f=e.updateChatPage=(0,n.createAction)("chat/updatePage"),i=e.toggleAcceptedType=(0,n.createAction)("chat/toggleAcceptedType"),d=e.removeChatPage=(0,n.createAction)("chat/removePage"),c=e.changeScrollTracking=(0,n.createAction)("chat/changeScrollTracking"),g=e.saveChatToDisk=(0,n.createAction)("chat/saveToDisk"),v=e.moveChatPageLeft=(0,n.createAction)("chat/movePageLeft"),h=e.moveChatPageRight=(0,n.createAction)("chat/movePageRight")},69126:function(y,e){"use strict";e.__esModule=!0,e.MESSAGE_TYPE_WARNING=e.MESSAGE_TYPE_UNKNOWN=e.MESSAGE_TYPE_SYSTEM=e.MESSAGE_TYPE_RADIO=e.MESSAGE_TYPE_OOC=e.MESSAGE_TYPE_MENTORPM=e.MESSAGE_TYPE_MENTORCHAT=e.MESSAGE_TYPE_LOCALCHAT=e.MESSAGE_TYPE_INTERNAL=e.MESSAGE_TYPE_INFO=e.MESSAGE_TYPE_EVENTCHAT=e.MESSAGE_TYPE_DEVCHAT=e.MESSAGE_TYPE_DEBUG=e.MESSAGE_TYPE_DEADCHAT=e.MESSAGE_TYPE_COMBAT=e.MESSAGE_TYPE_ATTACKLOG=e.MESSAGE_TYPE_ADMINPM=e.MESSAGE_TYPE_ADMINLOG=e.MESSAGE_TYPE_ADMINCHAT=e.MESSAGE_TYPES=e.MESSAGE_SAVE_INTERVAL=e.MESSAGE_PRUNE_INTERVAL=e.MAX_VISIBLE_MESSAGES=e.MAX_PERSISTED_MESSAGES=e.IMAGE_RETRY_MESSAGE_AGE=e.IMAGE_RETRY_LIMIT=e.IMAGE_RETRY_DELAY=e.COMBINE_MAX_TIME_WINDOW=e.COMBINE_MAX_MESSAGES=void 0;/**
- * @file
- * @copyright 2020 Aleksej Komarov
- * @license MIT
- */var t=e.MAX_VISIBLE_MESSAGES=2500,n=e.MAX_PERSISTED_MESSAGES=1e3,r=e.MESSAGE_SAVE_INTERVAL=1e4,o=e.MESSAGE_PRUNE_INTERVAL=6e4,a=e.COMBINE_MAX_TIME_WINDOW=5e3,s=e.COMBINE_MAX_MESSAGES=5,u=e.IMAGE_RETRY_DELAY=250,l=e.IMAGE_RETRY_LIMIT=10,p=e.IMAGE_RETRY_MESSAGE_AGE=6e4,f=e.MESSAGE_TYPE_UNKNOWN="unknown",i=e.MESSAGE_TYPE_INTERNAL="internal",d=e.MESSAGE_TYPE_SYSTEM="system",c=e.MESSAGE_TYPE_LOCALCHAT="localchat",g=e.MESSAGE_TYPE_RADIO="radio",v=e.MESSAGE_TYPE_INFO="info",h=e.MESSAGE_TYPE_WARNING="warning",m=e.MESSAGE_TYPE_DEADCHAT="deadchat",E=e.MESSAGE_TYPE_OOC="ooc",I=e.MESSAGE_TYPE_ADMINPM="adminpm",O=e.MESSAGE_TYPE_MENTORPM="mentorpm",b=e.MESSAGE_TYPE_COMBAT="combat",S=e.MESSAGE_TYPE_ADMINCHAT="adminchat",T=e.MESSAGE_TYPE_MENTORCHAT="mentorchat",C=e.MESSAGE_TYPE_DEVCHAT="devchat",A=e.MESSAGE_TYPE_EVENTCHAT="eventchat",P=e.MESSAGE_TYPE_ADMINLOG="adminlog",M=e.MESSAGE_TYPE_ATTACKLOG="attacklog",w=e.MESSAGE_TYPE_DEBUG="debug",V=e.MESSAGE_TYPES=[{type:d,name:"System Messages",description:"Messages from your client, always enabled",selector:".boldannounceooc",important:!0},{type:c,name:"Local",description:"In-character local messages (say, emote, etc)",selector:".say, .emote"},{type:g,name:"Radio",description:"All departments of radio messages",selector:".alert, .syndradio, .centradio, .airadio, .entradio, .comradio, .secradio, .engradio, .medradio, .sciradio, .supradio, .srvradio, .expradio, .radio, .deptradio, .newscaster, .proradio"},{type:v,name:"Info",description:"Non-urgent messages from the game and items",selector:".notice:not(.pm), .adminnotice, .info, .sinister, .cult"},{type:h,name:"Warnings",description:"Urgent messages from the game and items",selector:".warning:not(.pm), .critical, .userdanger, .italics, .boldannounceic, .boldwarning"},{type:m,name:"Deadchat",description:"All of deadchat",selector:".deadsay"},{type:E,name:"OOC",description:"The bluewall of global OOC messages",selector:".ooc, .adminooc, .interface"},{type:I,name:"Admin PMs",description:"Messages to/from admins (adminhelp)",selector:".adminpm, .adminhelp, .adminticket, .adminticketalt"},{type:O,name:"Mentor PMs",description:"Messages to/from mentors (mentorhelp)",selector:".mentorpm, .mentorhelp"},{type:b,name:"Combat Log",description:"Urist McTraitor has stabbed you with a knife!",selector:".danger"},{type:f,name:"Unsorted",description:"Everything we could not sort, always enabled"},{type:S,name:"Admin Chat",description:"ASAY messages",selector:".admin_channel, .adminsay",admin:!0},{type:T,name:"Mentor Chat",description:"MSAY messages",selector:".mentor_channel",admin:!0},{type:C,name:"Developer Chat",description:"DEVSAY messages",selector:".dev_channel",admin:!0},{type:P,name:"Admin Log",description:"ADMIN LOG: Urist McAdmin has jumped to coordinates X, Y, Z",selector:".log_message",admin:!0},{type:M,name:"Attack Log",description:"Urist McTraitor has shot John Doe",admin:!0},{type:w,name:"Debug Log",description:"DEBUG: SSPlanets subsystem Recover().",selector:".pr_announce, .debug",admin:!0}]},96835:function(y,e,t){"use strict";e.__esModule=!0,e.chatReducer=e.chatMiddleware=e.ChatTabs=e.ChatPanel=e.ChatPageSettings=void 0;var n=t(15039);e.ChatPageSettings=n.ChatPageSettings;var r=t(44675);e.ChatPanel=r.ChatPanel;var o=t(41125);e.ChatTabs=o.ChatTabs;var a=t(84807);e.chatMiddleware=a.chatMiddleware;var s=t(40147);e.chatReducer=s.chatReducer},84807:function(y,e,t){"use strict";e.__esModule=!0,e.chatMiddleware=void 0;var n=i(t(22734)),r=t(27108),o=t(36471),a=t(77034),s=t(37152),u=t(69126),l=t(41950),p=t(15916),f=t(23429);function i(S){return S&&S.__esModule?S:{default:S}}function d(S,T){var C=typeof Symbol!="undefined"&&S[Symbol.iterator]||S["@@iterator"];if(C)return(C=C.call(S)).next.bind(C);if(Array.isArray(S)||(C=c(S))||T&&S&&typeof S.length=="number"){C&&(S=C);var A=0;return function(){return A>=S.length?{done:!0}:{done:!1,value:S[A++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(S,T){if(S){if(typeof S=="string")return g(S,T);var C={}.toString.call(S).slice(8,-1);return C==="Object"&&S.constructor&&(C=S.constructor.name),C==="Map"||C==="Set"?Array.from(S):C==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C)?g(S,T):void 0}}function g(S,T){(T==null||T>S.length)&&(T=S.length);for(var C=0,A=Array(T);C=0;--Et){var st=this.tryEntries[Et],yt=st.completion;if(st.tryLoc==="root")return pt("end");if(st.tryLoc<=this.prev){var Pt=A.call(st,"catchLoc"),Ct=A.call(st,"finallyLoc");if(Pt&&Ct){if(this.prev=0;--pt){var Et=this.tryEntries[pt];if(Et.tryLoc<=this.prev&&A.call(Et,"finallyLoc")&&this.prev=0;--nt){var pt=this.tryEntries[nt];if(pt.finallyLoc===tt)return this.complete(pt.completion,pt.afterLoc),mt(pt),K}}return k}(),catch:function(){function k(tt){for(var nt=this.tryEntries.length-1;nt>=0;--nt){var pt=this.tryEntries[nt];if(pt.tryLoc===tt){var Et=pt.completion;if(Et.type==="throw"){var st=Et.arg;mt(pt)}return st}}throw Error("illegal catch attempt")}return k}(),delegateYield:function(){function k(tt,nt,pt){return this.delegate={iterator:et(tt),resultName:nt,nextLoc:pt},this.method==="next"&&(this.arg=S),K}return k}()},T}function h(S,T,C,A,P,M,w){try{var V=S[M](w),U=V.value}catch(j){return void C(j)}V.done?T(U):Promise.resolve(U).then(A,P)}function m(S){return function(){var T=this,C=arguments;return new Promise(function(A,P){var M=S.apply(T,C);function w(U){h(M,A,P,w,V,"next",U)}function V(U){h(M,A,P,w,V,"throw",U)}w(void 0)})}}/**
+*/var E=["a","iframe","link","video"],I=function(){var S=m(f().mark(function(){function T(C){var A,P,M;return f().wrap(function(){function w(V){for(;;)switch(V.prev=V.next){case 0:A=(0,h.selectChat)(C.getState()),P=Math.max(0,p.chatRenderer.messages.length-i.MAX_PERSISTED_MESSAGES),M=p.chatRenderer.messages.slice(P).map(function(U){return(0,l.serializeMessage)(U)}),r.storage.set("chat-state",A),r.storage.set("chat-messages",M);case 5:case"end":return V.stop()}}return w}(),T)}return T}()));return function(){function T(C){return S.apply(this,arguments)}return T}()}(),O=function(){var S=m(f().mark(function(){function T(C){var A,P,M,w,V,U,j;return f().wrap(function(){function G($){for(;;)switch($.prev=$.next){case 0:return $.next=2,Promise.all([r.storage.get("chat-state"),r.storage.get("chat-messages")]);case 2:if(A=$.sent,P=A[0],M=A[1],!(P&&P.version<=4)){$.next=8;break}return C.dispatch((0,u.loadChat)()),$.abrupt("return");case 8:if(M){for(w=d(M);!(V=w()).done;)U=V.value,U.html&&(U.html=n.default.sanitize(U.html,{FORBID_TAGS:E}));j=[].concat(M,[(0,l.createMessage)({type:"internal/reconnected"})]),p.chatRenderer.processBatch(j,{prepend:!0})}C.dispatch((0,u.loadChat)(P));case 10:case"end":return $.stop()}}return G}(),T)}return T}()));return function(){function T(C){return S.apply(this,arguments)}return T}()}(),b=e.chatMiddleware=function(){function S(T){var C=!1,A=!1,P=[],M=[];return p.chatRenderer.events.on("batchProcessed",function(w){A&&T.dispatch((0,u.updateMessageCount)(w))}),p.chatRenderer.events.on("scrollTrackingChanged",function(w){T.dispatch((0,u.changeScrollTracking)(w))}),setInterval(function(){return I(T)},i.MESSAGE_SAVE_INTERVAL),function(w){return function(V){var U=V.type,j=V.payload;if(C||(C=!0,O(T)),U==="chat/message"){var G;try{G=JSON.parse(j)}catch(q){return}var $=G.sequence;if(P.includes($))return;var x=P.length;t:if(x>0){if(M.includes($)){M.splice(M.indexOf($),1);break t}var B=P[x-1]+1;if($!==B)for(var F=B;F<$;F++)M.push(F),Byond.sendMessage("chat/resend",F)}p.chatRenderer.processBatch([G.content]);return}if(U===u.loadChat.type){w(V);var H=(0,h.selectCurrentChatPage)(T.getState());p.chatRenderer.changePage(H),p.chatRenderer.onStateLoaded(),A=!0;return}if(U===u.changeChatPage.type||U===u.addChatPage.type||U===u.removeChatPage.type||U===u.toggleAcceptedType.type||U===u.moveChatPageLeft.type||U===u.moveChatPageRight.type){w(V);var K=(0,h.selectCurrentChatPage)(T.getState());p.chatRenderer.changePage(K);return}if(U===u.rebuildChat.type)return p.chatRenderer.rebuildChat(),w(V);if(U===o.updateSettings.type||U===o.loadSettings.type||U===o.addHighlightSetting.type||U===o.removeHighlightSetting.type||U===o.updateHighlightSetting.type){w(V);var W=(0,a.selectSettings)(T.getState());p.chatRenderer.setHighlight(W.highlightSettings,W.highlightSettingById);return}if(U==="roundrestart")return I(T),w(V);if(U===u.saveChatToDisk.type){p.chatRenderer.saveToDisk();return}if(U===u.clearChat.type){p.chatRenderer.clearChat();return}return w(V)}}}return S}()},41950:function(y,e,t){"use strict";e.__esModule=!0,e.serializeMessage=e.isSameMessage=e.createPage=e.createMessage=e.createMainPage=e.canPageAcceptType=void 0;var n=t(90286),r=t(69126);function o(c,g){var f=typeof Symbol!="undefined"&&c[Symbol.iterator]||c["@@iterator"];if(f)return(f=f.call(c)).next.bind(f);if(Array.isArray(c)||(f=a(c))||g&&c&&typeof c.length=="number"){f&&(c=f);var v=0;return function(){return v>=c.length?{done:!0}:{done:!1,value:c[v++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(c,g){if(c){if(typeof c=="string")return u(c,g);var f={}.toString.call(c).slice(8,-1);return f==="Object"&&c.constructor&&(f=c.constructor.name),f==="Map"||f==="Set"?Array.from(c):f==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f)?u(c,g):void 0}}function u(c,g){(g==null||g>c.length)&&(g=c.length);for(var f=0,v=Array(g);f0){if(M.includes($)){M.splice(M.indexOf($),1);break t}var B=P[x-1]+1;if($!==B)for(var F=B;F<$;F++)M.push(F),Byond.sendMessage("chat/resend",F)}p.chatRenderer.processBatch([G.content]);return}if(U===s.loadChat.type){w(V);var H=(0,f.selectCurrentChatPage)(T.getState());p.chatRenderer.changePage(H),p.chatRenderer.onStateLoaded(),A=!0;return}if(U===s.changeChatPage.type||U===s.addChatPage.type||U===s.removeChatPage.type||U===s.toggleAcceptedType.type||U===s.moveChatPageLeft.type||U===s.moveChatPageRight.type){w(V);var K=(0,f.selectCurrentChatPage)(T.getState());p.chatRenderer.changePage(K);return}if(U===s.rebuildChat.type)return p.chatRenderer.rebuildChat(),w(V);if(U===o.updateSettings.type||U===o.loadSettings.type||U===o.addHighlightSetting.type||U===o.removeHighlightSetting.type||U===o.updateHighlightSetting.type){w(V);var W=(0,a.selectSettings)(T.getState());p.chatRenderer.setHighlight(W.highlightSettings,W.highlightSettingById);return}if(U==="roundrestart")return I(T),w(V);if(U===s.saveChatToDisk.type){p.chatRenderer.saveToDisk();return}if(U===s.clearChat.type){p.chatRenderer.clearChat();return}return w(V)}}}return S}()},41950:function(y,e,t){"use strict";e.__esModule=!0,e.serializeMessage=e.isSameMessage=e.createPage=e.createMessage=e.createMainPage=e.canPageAcceptType=void 0;var n=t(90286),r=t(69126);function o(c,g){var v=typeof Symbol!="undefined"&&c[Symbol.iterator]||c["@@iterator"];if(v)return(v=v.call(c)).next.bind(v);if(Array.isArray(c)||(v=a(c))||g&&c&&typeof c.length=="number"){v&&(c=v);var h=0;return function(){return h>=c.length?{done:!0}:{done:!1,value:c[h++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(c,g){if(c){if(typeof c=="string")return s(c,g);var v={}.toString.call(c).slice(8,-1);return v==="Object"&&c.constructor&&(v=c.constructor.name),v==="Map"||v==="Set"?Array.from(c):v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v)?s(c,g):void 0}}function s(c,g){(g==null||g>c.length)&&(g=c.length);for(var v=0,h=Array(g);v=c.length?{done:!0}:{done:!1,value:c[v++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function l(c,g){if(c){if(typeof c=="string")return p(c,g);var f={}.toString.call(c).slice(8,-1);return f==="Object"&&c.constructor&&(f=c.constructor.name),f==="Map"||f==="Set"?Array.from(c):f==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f)?p(c,g):void 0}}function p(c,g){(g==null||g>c.length)&&(g=c.length);for(var f=0,v=Array(g);f0&&(W[ct.id]=Object.assign({},ct,{unreadCount:ct.unreadCount+Q}))}return Object.assign({},g,{pageById:W})}if(v===n.addChatPage.type){var dt;return Object.assign({},g,{currentPageId:m.id,pages:[].concat(g.pages,[m.id]),pageById:Object.assign({},g.pageById,(dt={},dt[m.id]=m,dt))})}if(v===n.changeChatPage.type){var _,rt=m.pageId,it=Object.assign({},g.pageById[rt],{unreadCount:0});return Object.assign({},g,{currentPageId:rt,pageById:Object.assign({},g.pageById,(_={},_[rt]=it,_))})}if(v===n.updateChatPage.type){var mt,ot=m.pageId,et=u(m,o),k=Object.assign({},g.pageById[ot],et);return Object.assign({},g,{pageById:Object.assign({},g.pageById,(mt={},mt[ot]=k,mt))})}if(v===n.toggleAcceptedType.type){var tt,nt=m.pageId,pt=m.type,Et=Object.assign({},g.pageById[nt]);return Et.acceptedTypes=Object.assign({},Et.acceptedTypes),Et.acceptedTypes[pt]=!Et.acceptedTypes[pt],Object.assign({},g,{pageById:Object.assign({},g.pageById,(tt={},tt[nt]=Et,tt))})}if(v===n.removeChatPage.type){var st=m.pageId,yt=Object.assign({},g,{pages:[].concat(g.pages),pageById:Object.assign({},g.pageById)});return delete yt.pageById[st],yt.pages=yt.pages.filter(function(Nt){return Nt!==st}),yt.pages.length===0&&(yt.pages.push(h.id),yt.pageById[h.id]=h,yt.currentPageId=h.id),(!yt.currentPageId||yt.currentPageId===st)&&(yt.currentPageId=yt.pages[0]),yt}if(v===n.moveChatPageLeft.type){var Pt=m.pageId,Ct=Object.assign({},g,{pages:[].concat(g.pages),pageById:Object.assign({},g.pageById)}),lt=Ct.pageById[Pt],gt=Ct.pages.indexOf(lt.id),It=gt-1;if(gt>0&&It>0){var Lt=Ct.pages[gt];Ct.pages[gt]=Ct.pages[It],Ct.pages[It]=Lt}return Ct}if(v===n.moveChatPageRight.type){var Vt=m.pageId,Ot=Object.assign({},g,{pages:[].concat(g.pages),pageById:Object.assign({},g.pageById)}),vt=Ot.pageById[Vt],St=Ot.pages.indexOf(vt.id),At=St+1;if(St>0&&At=C.length?{done:!0}:{done:!1,value:C[M++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(C,A){if(C){if(typeof C=="string")return d(C,A);var P={}.toString.call(C).slice(8,-1);return P==="Object"&&C.constructor&&(P=C.constructor.name),P==="Map"||P==="Set"?Array.from(C):P==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(P)?d(C,A):void 0}}function d(C,A){(A==null||A>C.length)&&(A=C.length);for(var P=0,M=Array(A);P=u.IMAGE_RETRY_LIMIT){c.error("failed to load an image after "+M+" attempts");return}var w=P.src;P.src=null,P.src=w+"#"+M,P.setAttribute("data-reload-n",M+1)},u.IMAGE_RETRY_DELAY)},b=function(A){var P=A.node,M=A.times;if(!(!P||!M)){var w=P.querySelector(".Chat__badge"),V=w||document.createElement("div");V.textContent=M,V.className="Chat__badge",w||P.appendChild(V)}},S=function(){function C(){var P=this;this.loaded=!1,this.rootNode=null,this.queue=[],this.messages=[],this.visibleMessages=[],this.page=null,this.events=new r.EventEmitter,this.scrollNode=null,this.scrollTracking=!0,this.handleScroll=function(M){var w=P.scrollNode,V=w.scrollHeight,U=w.scrollTop+w.offsetHeight,j=Math.abs(V-U)0&&(this.processBatch(this.queue),this.queue=[])}return P}(),A.assignStyle=function(){function P(M){M===void 0&&(M={});for(var w=0,V=Object.keys(M);w{}[\]:;'"|~`_\-\\/]/g,W=String(G).split(/[,|]/).map(function(it){return it.trim()}).filter(function(it){return it&&it.length>1&&H.test(it)&&((H.lastIndex=0)||!0)}),q,ut;if(W.length!==0){for(var ct=[],Q=h(W),X;!(X=Q()).done;){var at=X.value;if(at.charAt(0)==="/"&&at.charAt(at.length-1)==="/"){var ft=at.substring(1,at.length-1);if(/^(\[.*\]|\\.|.)$/.test(ft))continue;ct.push(ft)}else q||(q=[]),at=at.replace(K,"\\$&"),q.push(at)}var dt=ct.join("|"),_="g"+(F?"":"i");try{if(dt)ut=new RegExp("("+dt+")",_);else{var rt=(B?"\\b":"")+"("+q.join("|")+")"+(B?"\\b":"");ut=new RegExp(rt,_)}}catch(it){ut=null}V.highlightParsers||(V.highlightParsers=[]),V.highlightParsers.push({highlightWords:q,highlightRegex:ut,highlightColor:$,highlightWholeMessage:x})}})}return P}(),A.scrollToBottom=function(){function P(){this.scrollNode.scrollTop=this.scrollNode.scrollHeight}return P}(),A.changePage=function(){function P(M){if(!this.isReady()){this.page=M,this.tryFlushQueue();return}this.page=M,this.rootNode.textContent="",this.visibleMessages=[];for(var w=document.createDocumentFragment(),V,U=h(this.messages),j;!(j=U()).done;){var G=j.value;(0,i.canPageAcceptType)(M,G.type)&&(V=G.node,w.appendChild(V),this.visibleMessages.push(G))}V&&(this.rootNode.appendChild(w),V.scrollIntoView())}return P}(),A.getCombinableMessage=function(){function P(M,w,V,U){for(var j=V;j>=U;j--){var G=this.visibleMessages[j],$=!G.type.startsWith(u.MESSAGE_TYPE_INTERNAL)&&(0,i.isSameMessage)(G,M)&&w0){this.visibleMessages=M.slice(w);for(var V=0;V0&&(this.messages=this.messages.slice(j),c.log("pruned "+j+" stored messages"))}}}return P}(),A.rebuildChat=function(){function P(){if(this.isReady()){for(var M=Math.max(0,this.messages.length-u.MAX_VISIBLE_MESSAGES),w=this.messages.slice(M),V=h(w),U;!(U=V()).done;){var j=U.value;j.node=void 0}this.rootNode.textContent="",this.messages=[],this.visibleMessages=[],this.processBatch(w,{notifyListeners:!1})}}return P}(),A.clearChat=function(){function P(){var M=this.visibleMessages;this.visibleMessages=[];for(var w=0;w\n\n\n\n'+$+"
\n\n