function aa(a){this.id=a;this.version=0}function n(){this.b={};this.a={};this.f={version:0,data:{}};this.B={version:0,data:{}};this.H={}}"undefined"!==typeof module&&(module.o.S=n,module.o.T=aa);function p(a){this.id=a;this.i=this.h=0;this.a=[];this.version=0}function w(a,b){p.call(this,a);this.w=b}w.prototype=Object.create(p);"undefined"!==typeof module&&(module.o.Z=p,module.o.Y=w);function z(a,b){this.l=a.l;this.a=a.userName;this.id=a.id;this.c=a.c;this.version=b;B(this,a,b)}function D(a,b){z.call(this,a,b)}function F(a,b){z.call(this,a,b)}function B(a,b,c){b?(a.text=b.text||"",b.A&&(a.A=b.A),a.m=!!b.m,a.D=!!b.D,b.j&&(a.j={},b.j.forEach(function(b){a.j[b.name]=[];b.users.forEach(function(c){a.j[b.name].push(c)})}))):a.D=!0;a.version=c}function G(a,b,c,d){this.id="string"===typeof a?a:a.id;this.a=[];this.b=b;c&&H(this,c,d)} function H(a,b,c){var d=0;b.forEach(function(a){d=Math.max(ba(this,a,c),d)}.bind(a));ca(a)}function ba(a,b,c){for(var d=!1,g,e=0,l=a.a.length;ea.b;)a.a.shift();return g||0}function da(a){for(var b=I.b[J.id],c=0,d=b.a.length;c=b.a[c].c;c++)if(b.a[c].c===a)return b.a[c];return null}function ca(a){a.a.sort(function(a,c){return a.c-c.c})}D.prototype=Object.create(z);F.prototype=Object.create(z); "undefined"!==typeof module&&(module.o={W:z,V:D,X:F,$:G});function ea(a){this.id=a;this.a={small:"",fa:""};this.F={};this.M=null;this.version=0}"undefined"!==typeof module&&(module.o.U=ea);var K={},L;function fa(){var a;if(!a){for(var b=0,c=navigator.languages.length;bb.getTime()?a.toLocaleTimeString(): a.getTime()>c.getTime()?"hier, "+a.toLocaleTimeString():a.toLocaleString()},g:{fileUploadCancel:"Annuler",neterror:"Impossible de se connecter au chat !"}};K.en={P:"Unknown member",O:"Unknown channel",J:"New message",I:"Network",m:"edited",K:"(only visible to you)",G:function(a){return 1===a.length?a[0]+" is typing":a.join(", ")+" are typing"},C:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"yesterday, "+a.toLocaleTimeString(): a.toLocaleString()},g:{fileUploadCancel:"Cancel",neterror:"Cannot connect to chat !"}};var M=0; function ga(){var a=document.createDocumentFragment(),b=[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:I.a.b[a].name.localeCompare(I.a.b[b].name)});b.forEach(function(b){b=I.a.b[b];if(!b.b){var c=document.createElement("li"),g=document.createElement("a");c.id=b.id;g.href="#"+b.id;b.f?(c.className="slack-context-room slack-group",c.dataset.count=b.a.length):c.className="slack-context-room slack-channel";J===b&&c.classList.add("selected");g.textContent=b.name;c.appendChild(ha());c.appendChild(g);b.i> b.h&&(c.classList.add("unread"),0<=N.indexOf(b)&&c.classList.add("unreadHi"));c&&a.appendChild(c)}});b=I.a.a?Object.keys(I.a.a):[];b.sort(function(a,b){return I.a.a[a].name.localeCompare(I.a.a[b].name)});b.forEach(function(b){if(!I.a.a[b].b){b=document.createElement("li");var c=document.createElement("a");b.id=null.id;c.href="#"+null.id;b.className="slack-context-room slack-ims";c.textContent=null.w.name;b.appendChild(ha());b.appendChild(c);null.w.R||b.classList.add("away");null===J&&b.classList.add("selected"); null.i>null.h&&(b.classList.add("unread"),0<=N.indexOf(null)&&b.classList.add("unreadHi"));b&&a.appendChild(b)}});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a);ia();O();ja(function(b){document.getElementById("slackCtx").style.backgroundImage="url("+b+")"})} function ka(){var a=I.a.H,b;for(b in null.F)if(!null.F[b].b){var c=document.getElementById(b);a[b]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing")}for(var d in I.a.a);la()}function la(){var a=I.a.H;if(J&&a[J.id]){var b=[],c=!1,d;for(d in a[J.id])(a=I.a.a[d])?b.push(a.name):c=!0;c&&(I.f=0);document.getElementById("whoistyping").textContent=L.G(b)}else document.getElementById("whoistyping").textContent=""} function P(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");O()}function ma(){var a=J.name||(J.w?J.w.name:void 0);if(!a){var b=[];J.a.forEach(function(a){b.push(a.name)});a=b.join(", ")}document.getElementById("currentRoomTitle").textContent=a;na();Q();document.getElementById("fileUploadContainer").classList.add("hidden");R();S&&(S=null,T());U&&(U=null,T());la()} function T(){if(S){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){S=null;T()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(V("reply_"+J.id,S,!0))}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";Q()} function W(){if(U){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){U=null;W()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(V("edit_"+J.id,U,!0));document.getElementById("msgInput").value=U.text}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";Q()} window.toggleReaction=function(a,b,c){var d=I.b[a];if(d){a:{for(var g=0,e=d.a.length;g]*)>","g"),function(b,a,c){c=c.split("|");if("@"===a)c[1]?"@"!==c[1][0]&&(c[1]="@"+c[1]):(b=I.a.a[c[0]],c[1]=b?"@"+b.name:L.P),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-user";else if("#"===a)c[1]?"#"!==c[1][0]&&(c[1]="#"+c[1]):(b=I.a.b[c[0]],c[1]=b?"#"+b.name:L.O),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-chan";else if(-1!==c[0].indexOf("://"))c[1]|| (c[1]=c[0]),c[2]="slackmsg-link";else return b;return'"+c[1]+""}),d=qa(d),k=d.length,m=function(b,a,c){for(;b[a];){var d=b[a];if(("A"<=d&&"Z">=d||"a"<=d&&"z">=d||"0"<=d&&"9">=d||-1!=="\u00e0\u00e8\u00ec\u00f2\u00f9\u00c0\u00c8\u00cc\u00d2\u00d9\u00e1\u00e9\u00ed\u00f3\u00fa\u00fd\u00c1\u00c9\u00cd\u00d3\u00da\u00dd\u00e2\u00ea\u00ee\u00f4\u00fb\u00c2\u00ca\u00ce\u00d4\u00db\u00e3\u00f1\u00f5\u00c3\u00d1\u00d5\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u00c4\u00cb\u00cf\u00d6\u00dc\u0178\u00e7\u00c7\u00df\u00d8\u00f8\u00c5\u00e5\u00c6\u00e6\u0153".indexOf(d))&& b[a]!=c&&b[a+1]==c)return!0;a++}return!1},h=function(b){return Object.keys(e).length?'':""};f"!==d[f-1]);f--}else if(!e["slackmsg-style-bold"]&&"*"===q&&d[f+1]&&m(d,f,q))Object.keys(e).length&&(g+=""),e["slackmsg-style-bold"]=!0,g+=h(e);else if(!e["slackmsg-style-strike"]&&"~"===q&&d[f+1]&&m(d,f,q))Object.keys(e).length&& (g+=""),e["slackmsg-style-strike"]=!0,g+=h(e);else if(!e["slackmsg-style-code"]&&"`"===q&&d[f+1]&&m(d,f,q))Object.keys(e).length&&(g+=""),e["slackmsg-style-code"]=!0,g+=h(e);else if(!e["slackmsg-style-italic"]&&"_"===q&&d[f+1]&&m(d,f,q))Object.keys(e).length&&(g+=""),e["slackmsg-style-italic"]=!0,g+=h(e);else{var r=!1,g=g+q;do{if(e["slackmsg-style-bold"]&&"*"!==q&&"*"===d[f+1])delete e["slackmsg-style-bold"],r=!0;else if(e["slackmsg-style-strike"]&&"~"!==q&&"~"===d[f+1])delete e["slackmsg-style-strike"], r=!0;else if(e["slackmsg-style-code"]&&"`"!==q&&"`"===d[f+1])delete e["slackmsg-style-code"],r=!0;else if(e["slackmsg-style-italic"]&&"_"!==q&&"_"===d[f+1])delete e["slackmsg-style-italic"],r=!0;else break;q=d[++f]}while(f"+h(e))}}e&&(g+="");a[b]=l?''+g+"":g}return a.join("
")} function V(a,b,c){b.f?(a=ra(a,b,c),a.classList.add("slackmsg-me_message")):a=ra(a,b,c);b.m&&a.classList.add("slackmsg-edited");b.b&&a.classList.add("slackmsg-notice");return a}function sa(a,b){document.getElementById("linkFavicon").href=a||b?"favicon.png?h="+a+"&m="+b:"favicon_ok.png"} function O(){var a=N.length,b="";if(Y)b="!"+L.I+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else if(a)b="(!"+a+") - ",sa(a,a);else{var a=0,c;for(c in I.a.b){var d=I.a.b[c];d.i>d.h&&a++}a&&(b="("+a+") - ");sa(0,a)}document.title=b} function ta(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(M+3E4Math.abs(d-e.c)?g.classList.add("slackmsg-same-ts"):d=e.c):d=e.c;(!c||c.c<=J.h)&&e.c>J.h&&f.classList.add("slackmsg-first-unread");c=e;g=f;a.appendChild(f)}});var e=document.getElementById("chatWindow");e.textContent="";e.appendChild(a);e.scrollTop=e.scrollHeight-e.clientHeight;window.hasFocus&&R()} function ua(a){function b(b,a){for(a=a||b.target;a!==b.currentTarget&&a;){if(a.classList.contains("slackmsg-item"))return a.id;a=a.parentElement}}for(var c=a.target;c!==a.currentTarget&&c&&!c.classList.contains("slackmsg-hover");){if(c.parentElement&&c.parentElement.classList.contains("slackmsg-hover")){if(a=b(a,c)){a=parseFloat(a.split("_")[1]);var d=da(a);d&&c.classList.contains("slackmsg-hover-reply")?(U&&(U=null,W()),S!==d&&(S=d,T())):d&&c.classList.contains("slackmsg-hover-reaction")?va.N(document.body, function(b){b&&oa(J.id,d.id,b)}):d&&c.classList.contains("slackmsg-hover-edit")?(S&&(S=null,T()),U!==d&&(U=d,W())):d&&c.classList.contains("slackmsg-hover-remove")&&(S&&(S=null,T()),U&&(U=null,W()),wa(d))}break}c=c.parentElement}}function Q(){document.getElementById("msgInput").focus()} function ia(){var a=I.a.b[document.location.hash.substr(1)];a&&a!==J&&(J&&document.getElementById(J.id).classList.remove("selected"),document.getElementById(a.id).classList.add("selected"),document.body.classList.remove("no-room-selected"),J=a,ma(),J.h&&!I.b[J.id]&&(a=new XMLHttpRequest,a.open("GET","api/hist?room="+J.id,!0),a.send(null)))} document.addEventListener("DOMContentLoaded",function(){fa();document.getElementById("chatWindow").addEventListener("click",ua);window.addEventListener("hashchange",function(){document.location.hash&&"#"===document.location.hash[0]&&ia()});document.getElementById("fileUploadCancel").addEventListener("click",function(b){b.preventDefault();document.getElementById("fileUploadError").classList.add("hidden");document.getElementById("fileUploadContainer").classList.add("hidden");document.getElementById("fileUploadInput").value= "";return!1});document.getElementById("fileUploadForm").addEventListener("submit",function(b){b.preventDefault();b=document.getElementById("fileUploadInput");var a=b.value;a&&(a=a.substr(a.lastIndexOf("\\")+1),xa(a,b.files[0],function(b){var a=document.getElementById("fileUploadError");b?(a.textContent=b,a.classList.remove("hidden")):(a.classList.add("hidden"),document.getElementById("fileUploadInput").value="",document.getElementById("fileUploadContainer").classList.add("hidden"))}));return!1}); document.getElementById("attachFile").addEventListener("click",function(b){b.preventDefault();J&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(b){b.preventDefault();b=document.getElementById("msgInput");J&&b.value&&ya(b.value)&&(b.value="",S&&(S=null,T()),U&&(U=null,T()),document.getElementById("slashList").textContent="");Q();return!1});window.addEventListener("blur",function(){window.hasFocus= !1});window.addEventListener("focus",function(){window.hasFocus=!0;M=0;J&&R();Q()});var a=0;document.getElementById("msgInput").addEventListener("input",function(){if(J){var b=Date.now();a+3E3"+a.outerHTML+"":b.style.backgroundImage='url("smile.svg")';(a=window.makeEmoji("paperclip"))?document.getElementById("attachFile").innerHTML= ""+a.outerHTML+"":document.getElementById("attachFile").style.backgroundImage='url("public/paperclip.svg")';b.addEventListener("click",function(){va.N(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");Q()})})}else b.classList.add("hidden")})();Z()});function ha(){var a=document.createElement("span"),b=document.createElement("span"),c=document.createElement("span"),d=document.createElement("span");a.className="typing-container";b.className="typing-dot1";c.className="typing-dot2";d.className="typing-dot3";b.textContent=c.textContent=d.textContent=".";a.appendChild(b);a.appendChild(c);a.appendChild(d);return a} function Ca(a,b,c,d){var g=pa(c);if(g){for(var e=document.createElement("li"),l=document.createElement("a"),f=document.createElement("span"),k=document.createElement("span"),m=[],h=0,q=d.length;hc.bottom||a.screenXc.right)&&b()});m.className="emojibar-overlay";k.className="emojibar";h.className="emojibar-emojis";E.className="emojibar-detail";y.className="emojibar-detail-img";C.className="emojibar-detail-name";q.className=r.className="emojibar-list";t.className="emojibar-search";E.appendChild(y);E.appendChild(C); h.appendChild(l(window.emojiProviderHeader));h.appendChild(q);h.appendChild(l("emojicustom.png"));h.appendChild(r);k.appendChild(h);k.appendChild(E);k.appendChild(t);t.addEventListener("keyup",function(){d()});k.addEventListener("mousemove",function(b){a(b,function(a){var b=a?u[a]||A[a]:null;b?(y.innerHTML=b.g.outerHTML,C.textContent=":"+a+":"):(y.textContent="",C.textContent="")})});k.addEventListener("click",function(b){a(b,function(a){a&&c()&&x&&x(a)})});return{isSupported:f,N:function(a,b){return f()? (x=b,a.appendChild(m),a.appendChild(k),t.value="",d(),t.focus(),!0):!1},search:d,close:b}}();var I,N=[];setInterval(function(){I.a.ca(Date.now())&&ka()},1E3); function Da(a,b){if(a!==J||!window.hasFocus){var c=new RegExp("<@"+null.id),d=!1,g=!1,e=!1;b.forEach(function(b){if(!(parseFloat(b.ts)<=a.h)){g=!0;var f;if(!(f=a instanceof w||b.text.match(c)))a:{f=null.M.da;for(var l=0,h=f.length;la.h){var c=new XMLHttpRequest;c.open("POST","api/markread?room="+a.id+"&ts="+a.i,!0);c.send(null);a.h=a.i}0<=b&&(N.splice(b,1),O());a=document.getElementById(a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}I=new function(){this.f=0;this.a=new n;this.b={}};var ja=function(){function a(a,b){b.sort(function(){return Math.random()-.5});for(var c=0,d=20;dd/(c.height*c.width))for(e=0;e",author_icon:g.a.small,text:c.text,footer:e,ts:c.c}]))}d.open("POST",a,!0);d.send(null);return!0}function wa(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+J.id+"&ts="+a.id,!0);b.send(null)} function oa(a,b,c){var d=new XMLHttpRequest;d.open("POST","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0);d.send(null)};