PageSourceSearch

https://apostlebrodnax.org/wp-content/plugins/minnit-chat/minnit.js?minnitversion=4.1.5&ver=7.1.2

js apostlebrodnax.org collected 2026-10-05 07:14:49 UTC 26,197 bytes, 451 lines download raw bytes

1(function () {
2  'use strict'
3  function getPhotoFromHTML(thisPhoto) {
4    try {
5      if (thisPhoto.indexOf('src=') > -1) {
6        thisPhoto = thisPhoto.split('src=')[1];
7      }
8      if (thisPhoto.indexOf('"') > -1) {
9        thisPhoto = thisPhoto.split('"')[1];
10      }
11      if (thisPhoto.indexOf("'") > -1) {
12        thisPhoto = thisPhoto.split("'")[1];
13      }
14      if (thisPhoto.slice(-1) == '\\') {
15        thisPhoto = thisPhoto.substring(0, thisPhoto.length - 1);
16      }
17      return encodeURIComponent(thisPhoto);
18    } catch (e) {
19      return '';
20    }
21  }
22  function lookForMinnitChatTags() {
23    if (typeof (document.getElementsByTagName("iframe")) !== 'undefined' && document.getElementsByTagName("iframe") !== null && typeof (document.getElementsByTagName("iframe")[0]) !== 'undefined' && document.getElementsByTagName("iframe")[0] !== null) {
24      //iterate through all iframes and see if any of them are chats; if so, convert them over...
25      document.querySelectorAll('iframe').forEach((IframeTag) => {
26        if (typeof (IframeTag) !== 'undefined' && IframeTag && typeof (IframeTag.src) !== 'undefined' && IframeTag.src) {
27          //valid source, check if this is a Minnit URL
28          if ((IframeTag.src.indexOf('minnit.chat') > -1 || IframeTag.src.indexOf('.minnit.org') > -1 || IframeTag.getAttribute("data-minnitchatembed")) && IframeTag.src.indexOf('nec=') == -1) {
29            var thisTagChatName = IframeTag.src;
30            IframeTag.src = 'about:blank'; //blanks out the iframe until we're done grabbing SSO token and similar checks
31            var urlparams = '';
32            if (thisTagChatName.indexOf('?') > -1) {
33              urlparams = thisTagChatName.split('?')[1].split('nickname').join('');
34              thisTagChatName = thisTagChatName.split('?')[0];
35            }
36            if (thisTagChatName.indexOf('?') > -1) {
37              thisTagChatName = thisTagChatName.split('?')[0];
38            }
39            if (thisTagChatName.length === 0) { thisTagChatName = 'Demo' }
40            var minnitNickname = '';
41            if (typeof (minnitChatOptions.minnitwpusername) !== 'undefined') {
42              minnitNickname = minnitChatOptions.minnitwpusername;
43            }
44            var newEmbedKey = Math.floor(Math.random() * 10000000) + 1;
45            var minnitPhoto = '';
46            if (typeof (minnitChatOptions.minnitwpphoto) !== 'undefined' && minnitChatOptions.minnitwpphoto !== null) {
47              minnitPhoto = getPhotoFromHTML(minnitChatOptions.minnitwpphoto);
48              if (minnitPhoto.indexOf("'") !== -1) {
49                minnitPhoto = minnitPhoto.split("'")[0];
50              }
51              try {
52                minnitPhoto = encodeURIComponent(minnitPhoto);
53              } catch (e) {
54                minnitPhoto = '';
55              }
56            }
57            try {
58              //Attempt to get the user's "actual" photo from navigational bar; this allows us to support buddypress or similar plugins
59              if (((typeof (minnitChatOptions.minnitchatssooauth2) !== 'undefined' && minnitChatOptions.minnitchatssooauth2 == "1") || (typeof (minnitChatOptions.minnitchatpopulateprofilepicture) === 'undefined' || minnitChatOptions.minnitchatpopulateprofilepicture == '1')) && typeof (document.getElementById('wpadminbar') !== 'undefined' && document.getElementById('wpadminbar'))) {
60                var wpAvatars = document.getElementById('wpadminbar').getElementsByClassName('avatar');
61                if (typeof (wpAvatars) !== 'undefined' && wpAvatars !== null && wpAvatars.hasOwnProperty('0') && wpAvatars[0] !== null && wpAvatars[0].src !== null) {
62                  minnitPhoto = encodeURIComponent(wpAvatars[0].src);
63                }
64              }
65            } catch (e) {
66              //Invalid or unknown error as it relates to site's HTML. Safe to ignore, we'll just use what's in the default WordPress account.
67            }
68            var xhttp = new XMLHttpRequest();
69            xhttp.onload = function () {
70              if (typeof (this.responseText) !== 'undefined') {
71                try {
72                  var responseData = JSON.parse(this.responseText);
73                  var ssoToken = '';
74                  if (typeof (responseData.ssotoken) !== 'undefined' && responseData.ssotoken !== null && responseData.ssotoken.length > 0) {
75                    ssoToken = responseData.ssotoken;
76                  }
77                  IframeTag.src = thisTagChatName + '?embed&nec=' + newEmbedKey + '&nickname=' + minnitNickname + '&photo=' + minnitPhoto + '&ssotoken=' + ssoToken + '&' + urlparams;
78                  IframeTag.dataset.nec = newEmbedKey;
79                } catch (e) {
80                  IframeTag.src = thisTagChatName + '?embed&nec=' + newEmbedKey + '&nickname=' + minnitNickname + '&photo=' + minnitPhoto + '&' + urlparams;
81                  IframeTag.dataset.nec = newEmbedKey;
82                }
83              }
84            }
85            xhttp.open("GET", minnitChatOptions.wpurl + '/?minnitpage=minnit-chat-sso-custom-get-token-v1&photourl=' + decodeURIComponent(minnitPhoto));
86            xhttp.send();
87          }
88        }
89      });
90    }
91    if ((typeof (document.getElementsByTagName("minnit-chat")) !== 'undefined' && document.getElementsByTagName("minnit-chat") !== null && typeof (document.getElementsByTagName("minnit-chat")[0]) !== 'undefined' && document.getElementsByTagName("minnit-chat")[0] !== null) || (typeof (document.getElementsByClassName("minnit-chat-sembed")) !== 'undefined' && document.getElementsByClassName("minnit-chat-sembed") !== null && typeof (document.getElementsByClassName("minnit-chat-sembed")[0]) !== 'undefined' && document.getElementsByClassName("minnit-chat-sembed")[0] !== null)) {
92      //an existing tag is present, draw chat here!
93      const chatElements = document.querySelectorAll('minnit-chat, .minnit-chat-sembed');
94      if (chatElements.length > 0) {
95        chatElements.forEach((MinnitChatTag) => {
96          if (!MinnitChatTag.getAttribute('data-minnit-wp-chat-rendered')) {
97            MinnitChatTag.setAttribute('data-minnit-wp-chat-rendered', 'true');
98            var thisTagChatName = MinnitChatTag.getAttribute('data-chatname');
99            var iframeHeight = '70vh';
100            if (typeof (MinnitChatTag.getAttribute('data-height')) !== 'undefined' && MinnitChatTag.getAttribute('data-height') !== null && MinnitChatTag.getAttribute('data-height')) {
101              iframeHeight = MinnitChatTag.getAttribute('data-height');
102            }
103            var iframeWidth = '100%';
104            if (typeof (MinnitChatTag.getAttribute('data-width')) !== 'undefined' && MinnitChatTag.getAttribute('data-width') !== null && MinnitChatTag.getAttribute('data-width')) {
105              iframeWidth = MinnitChatTag.getAttribute('data-width');
106            }
107            if (thisTagChatName.indexOf('script') > -1) {
108              if (thisTagChatName.indexOf('data-chatname="') > -1) {
109                thisTagChatName = thisTagChatName.split('data-chatname="')[1];
110              }
111              if (thisTagChatName.indexOf('"')) {
112                thisTagChatName = thisTagChatName.split('"')[0];
113              }
114            }
115            if (thisTagChatName.indexOf('/') == -1) {
116              //user is not providing full URL  -- automatically craft the default minnit.chat setup (for legacy users)
117              thisTagChatName = 'https://minnit.chat/' + thisTagChatName;
118            }
119            thisTagChatName = thisTagChatName.split(' ').join('').split('<').join('').split('"').join('').split("'").join('');
120            var urlparams = '';
121            if (thisTagChatName.indexOf('?') > -1) {
122              urlparams = thisTagChatName.split('?')[1].split('nickname').join('');
123              thisTagChatName = thisTagChatName.split('?')[0];
124            }
125            if (thisTagChatName.indexOf('?') > -1) {
126              thisTagChatName = thisTagChatName.split('?')[0];
127            }
128            if (thisTagChatName.length === 0) { thisTagChatName = 'Demo' }
129            var minnitNickname = '';
130            if (typeof (minnitChatOptions.minnitwpusername) !== 'undefined') {
131              minnitNickname = minnitChatOptions.minnitwpusername;
132            }
133            var newEmbedKey = Math.floor(Math.random() * 10000000) + 1;
134            var minnitPhoto = '';
135            if (typeof (minnitChatOptions.minnitwpphoto) !== 'undefined' && minnitChatOptions.minnitwpphoto !== null) {
136              minnitPhoto = getPhotoFromHTML(minnitChatOptions.minnitwpphoto);
137              if (minnitPhoto.indexOf("'") !== -1) {
138                minnitPhoto = minnitPhoto.split("'")[0];
139              }
140              try {
141                minnitPhoto = encodeURIComponent(minnitPhoto);
142              } catch (e) {
143                minnitPhoto = '';
144              }
145            }
146            try {
147              //Attempt to get the user's "actual" photo from navigational bar; this allows us to support buddypress or similar plugins
148              if (1 == 2 && typeof (minnitChatOptions.minnitwpusername) !== 'undefined' && typeof (document.getElementById('wpadminbar') !== 'undefined' && document.getElementById('wpadminbar'))) {
149                var wpAvatars = document.getElementById('wpadminbar').getElementsByClassName('avatar');
150                if (typeof (wpAvatars) !== 'undefined' && wpAvatars !== null && wpAvatars.hasOwnProperty('0') && wpAvatars[0] !== null && wpAvatars[0].src !== null) {
151                  minnitPhoto = encodeURIComponent(wpAvatars[0].src);
152                }
153              }
154            } catch (e) {
155              //Invalid or unknown error as it relates to site's HTML. Safe to ignore, we'll just use what's in the default WordPress account.
156            }
157            var xhttp = new XMLHttpRequest();
158            xhttp.onload = function () {
159              if (typeof (this.responseText) !== 'undefined') {
160                try {
161                  var responseData = JSON.parse(this.responseText);
162                  var ssoToken = '';
163                  if (typeof (responseData.ssotoken) !== 'undefined' && responseData.ssotoken !== null && responseData.ssotoken.length > 0) {
164                    ssoToken = responseData.ssotoken;
165                  }
166                  MinnitChatTag.innerHTML = '<iframe src="' + thisTagChatName + '?embed&nec=' + newEmbedKey + '&nickname=' + minnitNickname + '&photo=' + minnitPhoto + '&ssotoken=' + ssoToken + '&' + urlparams + '" data-width="' + iframeWidth + '" data-height="' + iframeHeight + '" data-nec="' + newEmbedKey + '" style="border:none;width:' + iframeWidth + ';height:' + iframeHeight + '" class="minnit-chat-iframe-gutenberg-block" allowTransparency="true"></iframe>';
167                } catch (e) {
168                  MinnitChatTag.innerHTML = '<iframe src="' + thisTagChatName + '?embed&nec=' + newEmbedKey + '&nickname=' + minnitNickname + '&photo=' + minnitPhoto + '&' + urlparams + '" data-nec="' + newEmbedKey + '" data-width="' + iframeWidth + '" data-height="' + iframeHeight + '" style="margin:auto;border:none;width:' + iframeWidth + ';height:' + iframeHeight + '" class="minnit-chat-iframe-gutenberg-block" allowTransparency="true"></iframe>';
169                }
170                if (MinnitChatTag.tagName.toLowerCase() !== "minnit-chat") {
171                  MinnitChatTag.style = 'all: unset; display: inline; width: auto; height: auto; background: transparent; color: inherit; font: inherit; text-align: inherit; margin: 0; padding: 0; border: none; box-shadow: none; outline: none; line-height: inherit; letter-spacing: normal; word-spacing: normal; vertical-align: baseline; overflow: visible; white-space: inherit; position: static; clip: auto; z-index: auto; visibility: inherit; opacity: 1; mix-blend-mode: normal; pointer-events: auto; user-select: text;';
172                }
173              }
174            }
175            xhttp.open("GET", minnitChatOptions.wpurl + '/?minnitpage=minnit-chat-sso-custom-get-token-v1&photourl=' + decodeURIComponent(minnitPhoto));
176            xhttp.send();
177          };
178        });
179      }
180    }
181    Array.prototype.forEach.call(document.getElementsByClassName("minnit-chat-iframe-gutenberg-block"), function (thisChatFrame) {
182      thisChatFrame.setAttribute("style", "margin:auto;border:none;
182width:" + thisChatFrame.getAttribute('data-width') + ";height:" + thisChatFrame.getAttribute('data-height')); //this is to prevent some themes, such as Twenty-Twenty, from setting the iframe width to 0 when the page is resized
183    });
184  }
185  function toggleChat() {
186    if (document.getElementById('minnit-chat-iframe')) {
187      document.getElementById('minnit-chat-iframe').remove();
188      var minnitContainer = document.getElementById('minnit-container');
189      minnitContainer.setAttribute('data-size', 'button');
190    } else {
191      drawChat();
192    }
193  }
194  function drawChat() {
195    var chatname = minnitChatOptions.minnitchatname;
196    if (chatname.indexOf('script') > -1) {
197      if (chatname.indexOf('data-chatname=') > -1) {
198        chatname = chatname.split('data-chatname=')[1];
199      }
200      if (chatname.indexOf(' ')) {
201        chatname = chatname.split(' ')[0];
202      }
203    }
204    if (chatname.indexOf('/') == -1) {
205      //user is not providing full URL  -- automatically craft the default minnit.chat setup (for legacy users)
206      chatname = 'https://minnit.chat/' + chatname;
207    }
208    var urlparams = '';
209    chatname = chatname.split(' ').join('').split('<').join('');
210    if (chatname.indexOf('?') > -1) {
211      urlparams = chatname.split('?')[1].split('nickname').join('');
212      chatname = chatname.split('?')[0];
213    }
214    if (chatname.length === 0) { chatname = 'Demo' }
215    var minnitNickname = '';
216    if (typeof (minnitChatOptions.minnitwpusername) !== 'undefined') {
217      minnitNickname = minnitChatOptions.minnitwpusername;
218    }
219    var minnitPhoto = '';
220    if (typeof (minnitChatOptions.minnitwpphoto) !== 'undefined' && minnitChatOptions.minnitwpphoto !== null) {
221      minnitPhoto = getPhotoFromHTML(minnitChatOptions.minnitwpphoto);
222      if (minnitPhoto.indexOf("'") !== -1) {
223        minnitPhoto = minnitPhoto.split("'")[0];
224      }
225      try {
226        minnitPhoto = encodeURIComponent(minnitPhoto);
227      } catch (e) {
228        minnitPhoto = '';
229      }
230    }
231    try {
232      if (typeof (document.getElementById('wpadminbar') !== 'undefined' && document.getElementById('wpadminbar'))) {
233        //Attempt to get the user's "actual" photo from navigational bar; this allows us to support buddypress or similar plugins
234        var wpAvatars = document.getElementById('wpadminbar').getElementsByClassName('avatar');
235        if (typeof (wpAvatars) !== 'undefined' && wpAvatars !== null && wpAvatars.hasOwnProperty('0') && wpAvatars[0] !== null && wpAvatars[0].src !== null) {
236          minnitPhoto = encodeURIComponent(wpAvatars[0].src);
237        }
238      }
239    } catch (e) {
240      //Invalid or unknown error as it relates to site's HTML. Safe to ignore, we'll just use what's in the default WordPress account.
241    }
242    var vendorIframe = document.createElement('iframe');
243    vendorIframe.width = '100%';
244    vendorIframe.className = 'minnit-chat-iframe';
245    vendorIframe.id = 'minnit-chat-iframe';
246    var minnitContainer = document.getElementById('minnit-container');
247    minnitContainer.setAttribute('data-size', minnitChatOptions.minnitchatsize);
248    var xhttp = new XMLHttpRequest();
249    var newEmbedKey = Math.floor(Math.random() * 10000000) + 1;
250    xhttp.onload = function () {
251      if (typeof (this.responseText) !== 'undefined') {
252        try {
253          var responseData = JSON.parse(this.responseText);
254          var ssoToken = '';
255          if (typeof (responseData.ssotoken) !== 'undefined' && responseData.ssotoken !== null && responseData.ssotoken.length > 0) {
256            ssoToken = responseData.ssotoken;
257          }
258          vendorIframe.src = chatname + '?embed&nec=' + newEmbedKey + '&nickname=' + minnitNickname + '&photo=' + minnitPhoto + '&ssotoken=' + ssoToken + '&' + urlparams;
259        } catch (e) {
260          vendorIframe.src = chatname + '?embed&nec=' + newEmbedKey + '&nickname=' + minnitNickname + '&photo=' + minnitPhoto + '&' + urlparams;
261        }
262        vendorIframe.setAttribute('data-nec', newEmbedKey);
263        minnitContainer.prepend(vendorIframe);
264      }
265    }
266    xhttp.open("GET", minnitChatOptions.wpurl + '/?minnitpage=minnit-chat-sso-custom-get-token-v1&photourl=' + decodeURIComponent(minnitPhoto));
267    xhttp.send();
268  }
269  function drawButton() {
270    var buttoncol = '#aaaaaa';
271    var buttonstrokecol = '#ffffff';
272    if (minnitChatOptions.minnitchatcolor) {
273      //    figure out if the outline should be white, or black, for the logo
274      buttoncol = minnitChatOptions.minnitchatcolor.substr(1);
275      var redCol = parseInt(buttoncol.substr(1, 2), 16);
276      var greenCol = parseInt(buttoncol.substr(3, 2), 16);
277      var blueCol = parseInt(buttoncol.substr(4), 16);
278      if (redCol > 200 && greenCol > 200 && blueCol > 200) {
279        buttonstrokecol = '#000000';
280      }
281      buttoncol = '#' + buttoncol;
282    }
283    var minnitSvg = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
283 <svg class="minnit-emoji" viewBox="-50 40 300 300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><rect width="400%" height="400%" x="-100%" y="-100%" style="fill:' + buttoncol + ';" /><ellipse style="fill:' + buttonstrokecol + ';fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.03318;stroke-opacity:0.231111;paint-order:markers stroke fill" cx="100" cy="181" rx="112.38248" ry="98.500359" /><path style="fill:' + buttonstrokecol + ';fill-rule:evenodd;stroke:none;stroke-opacity:0.231111;paint-order:markers stroke fill" d="m 148.06965,260.97505 c 2.33053,5.29714 2.33053,11.65307 6.14405,17.37288 3.81352,5.71981 11.44049,10.80446 15.678,14.40651 4.23752,3.60205 5.08496,5.72066 1.90632,6.77972 -3.17864,1.05906 -10.38189,1.05906 -18.22052,-2.33089 -7.83863,-3.38995 -16.31304,-10.16947 -23.51647,-16.10171 -7.20342,-5.93224 -13.13551,-11.01689 -11.86477,-16.52498 1.27074,-5.5081 9.74515,-11.44019 16.31354,-12.28803 6.56839,-0.84783 11.22932,3.38937 13.55985,8.6865 z" /></svg> ';
284    var chatButton = document.createElement('minnit-button');
285    chatButton.innerHTML = minnitSvg;
286    chatButton.onclick = toggleChat;
287    if (typeof (minnitChatOptions.minnitchatname) !== 'undefined' && minnitChatOptions.minnitchatname !== null && minnitChatOptions.minnitchatname.length > 0) {
288      var minnitContainer = document.getElementById('minnit-container');
289      minnitContainer.setAttribute('data-size', 'button');
290      minnitContainer.innerHTML = '';
291      minnitContainer.appendChild(chatButton);
292    }
293  }
294  function updateMinnitOptions() {
295    if (!document.getElementById('minnit-container')) {
296      var minnitContainer = document.createElement('minnit-container');
297      minnitContainer.id = 'minnit-container';
298      document.body.appendChild(minnitContainer);
299    }
300    var container = document.getElementById('minnit-container');
301    container.setAttribute('data-placement', minnitChatOptions.minnitplacement);
302    drawButton();
303    lookForMinnitChatTags();
304    setInterval(function () {
305      lookForMinnitChatTags();
306    }, 1000);
307  }
308  if (document.readyState === 'loading') {
309    document.addEventListener('DOMContentLoaded', updateMinnitOptions);
310  } else {
311    updateMinnitOptions();
312  }
313  function createMinnitCookie(name, value, hours) {
314    var expires;
315    if (hours) {
316      var date = new Date();
317      date.setTime(date.getTime() + (hours * 60 * 60 * 1000));
318      expires = "; expires=" + date.toGMTString();
319    } else expires = "";
320    document.cookie = name + "=" + value + expires + "; path=/; SameSite=None; Secure";
321  }
322  function getMinnitCookie(cname) {
323    var name = cname + "=";
324    var decodedCookie = decodeURIComponent(document.cookie);
325    var ca = decodedCookie.split(';');
326    for (var i = 0; i < ca.length; i++) {
327      var c = ca[i];
328      while (c.charAt(0) == ' ') {
329        c = c.substring(1);
330      }
331      if (c.indexOf(name) == 0) {
332        return c.substring(name.length, c.length);
333      }
334    }
335    return "";
336  }
337  function localStorageSupported() {
338    try {
339      if (typeof (localStorage) == 'object') {
340        localStorage.getItem("test");
341        return true;
342      }
343    } catch (e) {
344      return false;
345    }
346    return false;
347  }
348  function createMinnitLocalStorage(name, value, orgid) {
349    name = "minnit" + orgid + "_" + name;
350    if (localStorageSupported()) {
351      localStorage.setItem(name, value);
352    } else {
353      createMinnitCookie(name, value); //fallback for older browsers
354    }
355  }
356  function deleteMinnitLocalStorage(name, orgid) {
357    name = "minnit" + orgid + "_" + name;
358    if (localStorageSupported()) {
359      localStorage.removeItem(name);
360    } else {
361      createMinnitCookie(name, "", -1);
362    }
363  }
364  function getMinnitLocalStorage(name, orgid) {
365    name = "minnit" + orgid + "_" + name;
366    if (localStorageSupported()) {
367      return localStorage.getItem(name);
368    } else {
369      return getMinnitCookie(name); //fallback for older browsers
370    }
371  }
372  window.addEventListener("message", function (event) {
373    if (typeof (event) !== 'undefined' && event !== null && typeof (event.data) === 'string' && event.data !== null && event.data.indexOf('"minnitnec"') > -1) {
374      //find the relevant iframe this is from -- owners are allowed to embed more than one chatroom, so we must make sure we send this to the correct frame
374!
375      try {
376        var eventObj = JSON.parse(event.data);
377        document.querySelectorAll('iframe').forEach((thisEmbed) => {
378          if (typeof (thisEmbed.dataset) !== 'undefined' && thisEmbed.dataset.hasOwnProperty('nec') && thisEmbed.dataset.nec == eventObj.minnitnec) {
379            //convert old local storage items (if any)
380            if (getMinnitLocalStorage("rauthv", "") != null || getMinnitLocalStorage("gauthv", "") != null) {
381              //convert those over...
382              createMinnitLocalStorage("rauthv", getMinnitLocalStorage("rauthv", ""), eventObj.orgid);
383              deleteMinnitLocalStorage("rauthv", "");
384              createMinnitLocalStorage("gauthv", getMinnitLocalStorage("gauthv", ""), eventObj.orgid);
385              deleteMinnitLocalStorage("gauthv", "");
386              createMinnitLocalStorage("gsto", getMinnitLocalStorage("gsto", ""), eventObj.orgid);
387              deleteMinnitLocalStorage("gsto", "");
388              createMinnitLocalStorage("sto", getMinnitLocalStorage("sto", ""), eventObj.orgid);
389              deleteMinnitLocalStorage("sto", "");
390              createMinnitLocalStorage("nickname", getMinnitLocalStorage("nickname", ""), eventObj.orgid);
391              deleteMinnitLocalStorage("nickname", "");
392              createMinnitLocalStorage("guestid", getMinnitLocalStorage("guestid", ""), eventObj.orgid);
393              deleteMinnitLocalStorage("guestid", "");
394            }
395            //now, check what this request was for...
396            switch (eventObj.request) {
397              case "getsigninvars":
398                var postMessageData = {
399                  'minnitnec': eventObj.minnitnec,
400                  'signinvars': true,
401                  'v': 1.2
402                }
403                if (getMinnitLocalStorage("rauthv", eventObj.orgid) != null && getMinnitLocalStorage("rauthv", eventObj.orgid).length > 6) {
404                  postMessageData.rauthv = getMinnitLocalStorage('rauthv', eventObj.orgid);
405                  postMessageData.sto = getMinnitLocalStorage('sto', eventObj.orgid);
406                } else {
407                  postMessageData.gauthv = getMinnitLocalStorage('gauthv', eventObj.orgid);
408                  postMessageData.gsto = getMinnitLocalStorage('gsto', eventObj.orgid);
409                  if (getMinnitLocalStorage('nickname', eventObj.orgid) !== null) {
410                    postMessageData.nickname = getMinnitLocalStorage('nickname', eventObj.orgid);
411                  }
412                }
413                postMessageData.guestid = getMinnitLocalStorage('guestid', eventObj.orgid);
414                thisEmbed.contentWindow.postMessage(JSON.stringify(postMessageData), '*');
415                break;
416              case "setcookie":
417                createMinnitLocalStorage(eventObj.cookiename, eventObj.cookievalue, eventObj.orgid);
418                break;
419              case "getcookie":
420                thisEmbed.contentWindow.postMessage('{"minnitnec": ' + eventObj.minnitnec + ', "cookiename": "' + eventObj.cookiename + '", "cookievalue": "' + getMinnitLocalStorage(eventObj.cookiename) + '"}', '*');
421                break;
422              case "setguest":
423                createMinnitLocalStorage("gsto", eventObj.gsto, eventObj.orgid);
424                createMinnitLocalStorage("gauthv", eventObj.gauthv, eventObj.orgid);
425                if (eventObj.hasOwnProperty('guestid')) {
426                  createMinnitLocalStorage("guestid", eventObj.guestid, eventObj.orgid);
427                }
428                break;
429              case "logout":
430                deleteMinnitLocalStorage("gsto", eventObj.orgid);
431                deleteMinnitLocalStorage("sto", eventObj.orgid);
432                deleteMinnitLocalStorage("gauthv", eventObj.orgid);
433                deleteMinnitLocalStorage("rauthv", eventObj.orgid);
434                deleteMinnitLocalStorage("guestid", eventObj.orgid);
435                deleteMinnitLocalStorage("nickname", eventObj.orgid);
436                break;
437            }
438          }
439        });
440      } catch (err) {
441        //something went amiss
442      }
443    }
444  });
445  window.INSTALL_SCOPE = {
446    setOptions: function setOptions(nextOptions) {
447      minnitChatOptions = nextOptions
448      updateMinnitOptions();
449    }
450  }
451}())

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.