diff --git a/client/public/js/cryptalk.min.js b/client/public/js/cryptalk.min.js index 6269b42..8f1dbf7 100644 --- a/client/public/js/cryptalk.min.js +++ b/client/public/js/cryptalk.min.js @@ -1 +1 @@ -(function(){"use strict";let index=0,subs={},emits={},noop=function(){};function on(fromId,event,handler,once){let i,item,subscription=[fromId,handler,handler.length>1];(subs[event]||(subs[event]=[])).push(subscription);if(emits[event]){i=0;subscription=[subscription];while(item=emits[event][i++]){emit(0,0,item[0],item[1],subscription);if(once){break}}}}function off(fromId,event,handler){let sub,i=0,toSubs=subs[event];if(toSubs){while(sub=toSubs[i++]){if(sub[0]===fromId&&(!handler||handler===sub[1])){toSubs.splice(--i,1)}}}}function emit(persistent,event,data,callback,explicitSubs){let sub,toSubs=explicitSubs||subs[event]||[],total=toSubs.length,left,loop,answers=[],done;if(subs["*"]){toSubs=toSubs.concat(subs["*"])}loop=left=toSubs.length;if(loop){done=!callback?noop:function(data){if(data){answers.push(data)}if(!--left){callback(answers,total);callback=0}};while(sub=toSubs[--loop]){sub[1](data,sub[2]?done:left--,event)}}if(!left&&callback){callback(answers,total)}if(persistent){(emits[event]||(emits[event]=[])).push([data,callback])}}function Castrato(){this.nodeId=index++;return this}Castrato.prototype.emit=function(persistent,event,data,handler){if(persistent!==true&&persistent!==false){handler=data;data=event;event=persistent;persistent=false}emit(persistent,event,data,handler);return this};Castrato.prototype.on=function(event,handler){on(this.nodeId,event,handler);return this};Castrato.prototype.once=function(event,handler){on(this.nodeId,event,function wrapper(data,done){off(this.nodeId,event,wrapper);handler(data,handler.length>1?done:done())},true);return this};Castrato.prototype.off=function(event,handler){off(this.nodeId,event,handler);return this};Castrato.prototype.destroy=function(){this.nodeId=0;index=0;subs={};emits={};return this};let castrato=new Castrato;function win(mediator){var exports={},focusCallback=function(){mediator.emit("window:focused")},blurCallback=function(){mediator.emit("window:blurred")};exports.setTitle=function(t){document.title=t},exports.getTitle=function(){return document.title};if(window.addEventListener){window.addEventListener("focus",focusCallback,true);window.addEventListener("blur",blurCallback,true)}else{window.observe("focusin",focusCallback);window.observe("focusout",blurCallback)}mediator.on("window:title",exports.setTitle);return exports}function notifications(mediator,settings,win){var enabled=true,native_supported=false,new_title,original_title,blink_timer,interval,last,now=function(){return performance.now()||Date.now()},on=function(){enabled=true},off=function(){enabled=false},resetState=function(){clearTimeout(blink_timer);if(original_title!==undefined)win.setTitle(original_title);original_title=undefined;new_title=undefined},doBlink=function(){if(enabled){if(win.getTitle()===original_title)win.setTitle(new_title);else win.setTitle(original_title);blink_timer=setTimeout(doBlink,interval)}else{resetState()}},enableNative=function(){if(native_supported&&Notification.permission!=="denied"){Notification.requestPermission()}},blinkTitleUntilFocus=function(t,i){interval=i===undefined?1e3:i;if(enabled&&original_title===undefined){new_title=t;original_title=win.getTitle();doBlink()}},notify=function(title,body,icon,fallback){if(enabled&&now()-last>settings.notifications.maxOnePerMs){if(fallback===undefined)fallback=false;if(native_supported&&Notification.permission==="granted"){var n=new Notification(title,{body:body,icon:icon});n.onshow=function(){setTimeout(function(){n.close()},3e3)};last=now()}else if(fallback){blinkTitleUntilFocus("Attention",1e3)}}};native_supported=window.Notification!==undefined;mediator.on("notification:send",function(data){notify(data.title,data.body,data.icon,true)});mediator.on("notification:on",function(){on()});mediator.on("notification:off",function(){off()});enableNative();off();last=now();resetState()}var templates={help:"
                                                                \n"+"Cryptalk, encrypted instant chat.                                      \n"+"                                                                       \n"+"----------------------------------------------------------------------\t\n"+"                                                                       \n"+"Client:                                                    \t\t\t\n"+"\t/key\t\tStrongPassphrase\tSets encryption key                 \n"+"\t/nick\t\tNickName\t\tSets an optional nick                   \n"+"\t/mute  \t\t\t\t\tAudio on\t\t\t\t\t\t\t\t\t\n"+"\t/unmute  \t\t\t\tAudio off\t\t\t\t\t\t\t\t\t\n"+"\t/clear\t\t\t\t\tClear on-screen buffer                      \n"+"\t/help\t\t\t\t\tThis                                        \n"+"\t/title\t\t\t\t\tSet your local page title\t\t\t\t\t\n"+"\t/torch\t\tAfterSeconds\t\tConsole messages are torched  \t\t\n"+"\t\t\t\t\t\tafter this amount of seconds \t\t\t\t\t\n"+"\t\t\t\t\t\t(default 600).\t\t\t\t\t\t\t\t\t\n"+"                                                                       \n"+"Room:                                                    \t\t\t\t\n"+"\t/join\t\tRoomId\t\t\tJoin a room\t                            \n"+"\t/leave\t\t\t\t\tLeave the room                              \n"+"\t/count\t\t\t\t\tCount participants                          \n"+"                                                                       \n"+"Host:  \t\t                                                    \t\n"+"\t/connect\t\t\tConnect to host\t\t\t          \t\t     \t\n"+"\t/disconnect\t\t\t\tDisconnect from host    \t\t\t        \n"+"                                                                       \n"+"You can select any of the five last commands/messages with up/down key.\n"+"                                                                       \n"+"Due to security reasons, /key command is not saved, and command        \n"+"history is  automatically cleared after one minute of inactivity.      \n"+"                                                                       \n"+"It is highly recommended to use incognito mode while chatting, \n"+"to prevent browsers from keeping history or cache.            \n"+"                                                                       \n"+"----------------------------------------------------------------------\t\n"+"
",default_nick:"Anonymous",post:{motd:'
  • {text}
  • ',info:'
  • [{timestamp}] INF> {text}
  • ',server:'
  • [{timestamp}] SRV> {text}
  • ',error:'
  • [{timestamp}] ERR> {text}
  • ',message:'
  • [{timestamp}] MSG> {nick}> {text}
  • '},messages:{key_to_short:"Hmm, that's a weak key, try again...",key_to_long:"Man that's a long key. Make it a tad short, 'kay?",key_ok:"Key set, you can now start communicating.",key_no_host:"You have to connect to a host before setting the key.",join_no_host:"You have to connect to a host before joining a room.",nick_to_short:"Nickname is too short, it has to be at least {nick_minLen} characters long. Try again.",nick_to_long:"Nickname is too long, it can be at most {nick_maxLen} characters long. Try again.",nick_set:"From now on, you're referred to as '{nick}'.",msg_no_room:"You have to join a room before sending messages. See /help.",not_in_room:"You have to be in a room to count participants...",msg_no_key:"You have to set an encryption key before sending a message. See /help.",leave_from_nowhere:"How are you supposed to leave, while being nowhere?",torch_is_now:"Messages are now torched after {ttl} seconds.",torch_not_set:"Invalid torch delay entered, nothing changed. See /help.",title_set:"The title of this window is now '{title}'.",muted:"Notifications and sounds are now muted.",unmuted:"Notifications and sounds are now on.",unrecognized_command:'Unrecognized command: "{commandName}"',room_name_too_long:"Isn't that a bit long?",room_name_too_short:"Nah, too short.",joined_room:"Joined room {roomName}.",left_room:"Left room {roomName}.",already_in_room:"You are already in a room ({room}), try /leave first.",unable_to_decrypt:"Unabled to decrypt received message, keys does not match.",socket_error:"A network error has occurred. A restart may be required to bring back full functionality.
    Examine the logs for more details.",connecting:"Connecting to host {host}...",connected:"A connection to the server has been established. Happy chatting!",disconnected:"Disconnected from host {host}.",already_connected:"You have to disconnect from {host} before joining another.",reconnect_no_host:"There is no host to reconnect with.",host_available:'{index}\t[AVAILABLE]\t{name}\n',host_unavailable:'{index}\t[UNAVAILABLE]\t{name}\n'},server:{person_joined:"A person joined this room.",person_left:"A person left this room.",person_count:"There are {payload} people in this room, including you.",person_single:"You are the only person in this room.",command_failed:"Server command failed, you're probably trying to du something bogus.",bogus:"Received a bogus message from server."},client:{title:"Cryptalk - Offline"}};var settings={title:"Cryptalk - Online",ttl:6e5,motd:"
    \n\n"+"▄████▄   ██▀███ ▓██   ██▓ ██▓███  ▄▄▄█████▓ ▄▄▄       ██▓     ██ ▄█▀  \n"+"▒██▀ ▀█  ▓██ ▒ ██▒▒██  ██▒▓██░  ██▒▓  ██▒ ▓▒▒████▄    ▓██▒     ██▄█▒  \n"+"▒▓█    ▄ ▓██ ░▄█ ▒ ▒██ ██░▓██░ ██▓▒▒ ▓██░ ▒░▒██  ▀█▄  ▒██░    ▓███▄░  \n"+"▒▓▓▄ ▄██▒▒██▀▀█▄   ░ ▐██▓░▒██▄█▓▒ ▒░ ▓██▓ ░ ░██▄▄▄▄██ ▒██░    ▓██ █▄  \n"+"▒ ▓███▀ ░░██▓ ▒██▒ ░ ██▒▓░▒██▒ ░  ░  ▒██▒ ░  ▓█   ▓██▒░██████▒▒██▒ █▄ \n"+"░ ░▒ ▒  ░░ ▒▓ ░▒▓░  ██▒▒▒ ▒▓▒░ ░  ░  ▒ ░░    ▒▒   ▓▒█░░ ▒░▓  ░▒ ▒▒ ▓▒ \n"+"  ░  ▒     ░▒ ░ ▒░▓██ ░▒░ ░▒ ░         ░      ▒   ▒▒ ░░ ░ ▒  ░░ ░▒ ▒░ \n"+"░          ░░   ░ ▒ ▒ ░░  ░░         ░        ░   ▒     ░ ░   ░ ░░ ░  \n"+"░ ░         ░     ░ ░                             ░  ░    ░  ░░  ░    \n"+"░                 ░ ░                                                 \n"+"                                  https://github.com/hexagon/cryptalk \n"+"                                                                      \n"+" Tip of the day: /help                                                \n"+"----------------------------------------------------------------------"+"
    ",nick:{maxLen:20,minLen:2},key:{maxLen:1024,minLen:8},room:{minLen:1,maxLen:64},notifications:{maxOnePerMs:3e3}};var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function commonjsRequire(path){throw new Error('Could not dynamically require "'+path+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var cryptoJs={exports:{}};var core={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory()}})(commonjsGlobal,function(){var CryptoJS=CryptoJS||function(Math,undefined$1){var crypto;if(typeof window!=="undefined"&&window.crypto){crypto=window.crypto}if(typeof self!=="undefined"&&self.crypto){crypto=self.crypto}if(typeof globalThis!=="undefined"&&globalThis.crypto){crypto=globalThis.crypto}if(!crypto&&typeof window!=="undefined"&&window.msCrypto){crypto=window.msCrypto}if(!crypto&&typeof commonjsGlobal!=="undefined"&&commonjsGlobal.crypto){crypto=commonjsGlobal.crypto}if(!crypto&&typeof commonjsRequire==="function"){try{crypto=require("crypto")}catch(err){}}var cryptoSecureRandomInt=function(){if(crypto){if(typeof crypto.getRandomValues==="function"){try{return crypto.getRandomValues(new Uint32Array(1))[0]}catch(err){}}if(typeof crypto.randomBytes==="function"){try{return crypto.randomBytes(4).readInt32LE()}catch(err){}}}throw new Error("Native crypto module could not be used to get secure random number.")};var create=Object.create||function(){function F(){}return function(obj){var subtype;F.prototype=obj;subtype=new F;F.prototype=null;return subtype}}();var C={};var C_lib=C.lib={};var Base=C_lib.Base=function(){return{extend:function(overrides){var subtype=create(this);if(overrides){subtype.mixIn(overrides)}if(!subtype.hasOwnProperty("init")||this.init===subtype.init){subtype.init=function(){subtype.$super.init.apply(this,arguments)}}subtype.init.prototype=subtype;subtype.$super=this;return subtype},create:function(){var instance=this.extend();instance.init.apply(instance,arguments);return instance},init:function(){},mixIn:function(properties){for(var propertyName in properties){if(properties.hasOwnProperty(propertyName)){this[propertyName]=properties[propertyName]}}if(properties.hasOwnProperty("toString")){this.toString=properties.toString}},clone:function(){return this.init.prototype.extend(this)}}}();var WordArray=C_lib.WordArray=Base.extend({init:function(words,sigBytes){words=this.words=words||[];if(sigBytes!=undefined$1){this.sigBytes=sigBytes}else{this.sigBytes=words.length*4}},toString:function(encoder){return(encoder||Hex).stringify(this)},concat:function(wordArray){var thisWords=this.words;var thatWords=wordArray.words;var thisSigBytes=this.sigBytes;var thatSigBytes=wordArray.sigBytes;this.clamp();if(thisSigBytes%4){for(var i=0;i>>2]>>>24-i%4*8&255;thisWords[thisSigBytes+i>>>2]|=thatByte<<24-(thisSigBytes+i)%4*8}}else{for(var j=0;j>>2]=thatWords[j>>>2]}}this.sigBytes+=thatSigBytes;return this},clamp:function(){var words=this.words;var sigBytes=this.sigBytes;words[sigBytes>>>2]&=4294967295<<32-sigBytes%4*8;words.length=Math.ceil(sigBytes/4)},clone:function(){var clone=Base.clone.call(this);clone.words=this.words.slice(0);return clone},random:function(nBytes){var words=[];for(var i=0;i>>2]>>>24-i%4*8&255;hexChars.push((bite>>>4).toString(16));hexChars.push((bite&15).toString(16))}return hexChars.join("")},parse:function(hexStr){var hexStrLength=hexStr.length;var words=[];for(var i=0;i>>3]|=parseInt(hexStr.substr(i,2),16)<<24-i%8*4}return new WordArray.init(words,hexStrLength/2)}};var Latin1=C_enc.Latin1={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var latin1Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;latin1Chars.push(String.fromCharCode(bite))}return latin1Chars.join("")},parse:function(latin1Str){var latin1StrLength=latin1Str.length;var words=[];for(var i=0;i>>2]|=(latin1Str.charCodeAt(i)&255)<<24-i%4*8}return new WordArray.init(words,latin1StrLength)}};var Utf8=C_enc.Utf8={stringify:function(wordArray){try{return decodeURIComponent(escape(Latin1.stringify(wordArray)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(utf8Str){return Latin1.parse(unescape(encodeURIComponent(utf8Str)))}};var BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm=Base.extend({reset:function(){this._data=new WordArray.init;this._nDataBytes=0},_append:function(data){if(typeof data=="string"){data=Utf8.parse(data)}this._data.concat(data);this._nDataBytes+=data.sigBytes},_process:function(doFlush){var processedWords;var data=this._data;var dataWords=data.words;var dataSigBytes=data.sigBytes;var blockSize=this.blockSize;var blockSizeBytes=blockSize*4;var nBlocksReady=dataSigBytes/blockSizeBytes;if(doFlush){nBlocksReady=Math.ceil(nBlocksReady)}else{nBlocksReady=Math.max((nBlocksReady|0)-this._minBufferSize,0)}var nWordsReady=nBlocksReady*blockSize;var nBytesReady=Math.min(nWordsReady*4,dataSigBytes);if(nWordsReady){for(var offset=0;offset>>2]|=typedArray[i]<<24-i%4*8}superInit.call(this,words,typedArrayByteLength)}else{superInit.apply(this,arguments)}};subInit.prototype=WordArray})();return CryptoJS.lib.WordArray})})(libTypedarrays);var encUtf16={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Utf16=C_enc.Utf16BE={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var utf16Chars=[];for(var i=0;i>>2]>>>16-i%4*8&65535;utf16Chars.push(String.fromCharCode(codePoint))}return utf16Chars.join("")},parse:function(utf16Str){var utf16StrLength=utf16Str.length;var words=[];for(var i=0;i>>1]|=utf16Str.charCodeAt(i)<<16-i%2*16}return WordArray.create(words,utf16StrLength*2)}};C_enc.Utf16LE={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var utf16Chars=[];for(var i=0;i>>2]>>>16-i%4*8&65535);utf16Chars.push(String.fromCharCode(codePoint))}return utf16Chars.join("")},parse:function(utf16Str){var utf16StrLength=utf16Str.length;var words=[];for(var i=0;i>>1]|=swapEndian(utf16Str.charCodeAt(i)<<16-i%2*16)}return WordArray.create(words,utf16StrLength*2)}};function swapEndian(word){return word<<8&4278255360|word>>>8&16711935}})();return CryptoJS.enc.Utf16})})(encUtf16);var encBase64={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Base64={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var map=this._map;wordArray.clamp();var base64Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;var byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255;var byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255;var triplet=byte1<<16|byte2<<8|byte3;for(var j=0;j<4&&i+j*.75>>6*(3-j)&63))}}var paddingChar=map.charAt(64);if(paddingChar){while(base64Chars.length%4){base64Chars.push(paddingChar)}}return base64Chars.join("")},parse:function(base64Str){var base64StrLength=base64Str.length;var map=this._map;var reverseMap=this._reverseMap;if(!reverseMap){reverseMap=this._reverseMap=[];for(var j=0;j>>6-i%4*2;var bitsCombined=bits1|bits2;words[nBytes>>>2]|=bitsCombined<<24-nBytes%4*8;nBytes++}}return WordArray.create(words,nBytes)}})();return CryptoJS.enc.Base64})})(encBase64);var encBase64url={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Base64url={stringify:function(wordArray,urlSafe=true){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var map=urlSafe?this._safe_map:this._map;wordArray.clamp();var base64Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;var byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255;var byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255;var triplet=byte1<<16|byte2<<8|byte3;for(var j=0;j<4&&i+j*.75>>6*(3-j)&63))}}var paddingChar=map.charAt(64);if(paddingChar){while(base64Chars.length%4){base64Chars.push(paddingChar)}}return base64Chars.join("")},parse:function(base64Str,urlSafe=true){var base64StrLength=base64Str.length;var map=urlSafe?this._safe_map:this._map;var reverseMap=this._reverseMap;if(!reverseMap){reverseMap=this._reverseMap=[];for(var j=0;j>>6-i%4*2;var bitsCombined=bits1|bits2;words[nBytes>>>2]|=bitsCombined<<24-nBytes%4*8;nBytes++}}return WordArray.create(words,nBytes)}})();return CryptoJS.enc.Base64url})})(encBase64url);var md5={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var T=[];(function(){for(var i=0;i<64;i++){T[i]=Math.abs(Math.sin(i+1))*4294967296|0}})();var MD5=C_algo.MD5=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var H=this._hash.words;var M_offset_0=M[offset+0];var M_offset_1=M[offset+1];var M_offset_2=M[offset+2];var M_offset_3=M[offset+3];var M_offset_4=M[offset+4];var M_offset_5=M[offset+5];var M_offset_6=M[offset+6];var M_offset_7=M[offset+7];var M_offset_8=M[offset+8];var M_offset_9=M[offset+9];var M_offset_10=M[offset+10];var M_offset_11=M[offset+11];var M_offset_12=M[offset+12];var M_offset_13=M[offset+13];var M_offset_14=M[offset+14];var M_offset_15=M[offset+15];var a=H[0];var b=H[1];var c=H[2];var d=H[3];a=FF(a,b,c,d,M_offset_0,7,T[0]);d=FF(d,a,b,c,M_offset_1,12,T[1]);c=FF(c,d,a,b,M_offset_2,17,T[2]);b=FF(b,c,d,a,M_offset_3,22,T[3]);a=FF(a,b,c,d,M_offset_4,7,T[4]);d=FF(d,a,b,c,M_offset_5,12,T[5]);c=FF(c,d,a,b,M_offset_6,17,T[6]);b=FF(b,c,d,a,M_offset_7,22,T[7]);a=FF(a,b,c,d,M_offset_8,7,T[8]);d=FF(d,a,b,c,M_offset_9,12,T[9]);c=FF(c,d,a,b,M_offset_10,17,T[10]);b=FF(b,c,d,a,M_offset_11,22,T[11]);a=FF(a,b,c,d,M_offset_12,7,T[12]);d=FF(d,a,b,c,M_offset_13,12,T[13]);c=FF(c,d,a,b,M_offset_14,17,T[14]);b=FF(b,c,d,a,M_offset_15,22,T[15]);a=GG(a,b,c,d,M_offset_1,5,T[16]);d=GG(d,a,b,c,M_offset_6,9,T[17]);c=GG(c,d,a,b,M_offset_11,14,T[18]);b=GG(b,c,d,a,M_offset_0,20,T[19]);a=GG(a,b,c,d,M_offset_5,5,T[20]);d=GG(d,a,b,c,M_offset_10,9,T[21]);c=GG(c,d,a,b,M_offset_15,14,T[22]);b=GG(b,c,d,a,M_offset_4,20,T[23]);a=GG(a,b,c,d,M_offset_9,5,T[24]);d=GG(d,a,b,c,M_offset_14,9,T[25]);c=GG(c,d,a,b,M_offset_3,14,T[26]);b=GG(b,c,d,a,M_offset_8,20,T[27]);a=GG(a,b,c,d,M_offset_13,5,T[28]);d=GG(d,a,b,c,M_offset_2,9,T[29]);c=GG(c,d,a,b,M_offset_7,14,T[30]);b=GG(b,c,d,a,M_offset_12,20,T[31]);a=HH(a,b,c,d,M_offset_5,4,T[32]);d=HH(d,a,b,c,M_offset_8,11,T[33]);c=HH(c,d,a,b,M_offset_11,16,T[34]);b=HH(b,c,d,a,M_offset_14,23,T[35]);a=HH(a,b,c,d,M_offset_1,4,T[36]);d=HH(d,a,b,c,M_offset_4,11,T[37]);c=HH(c,d,a,b,M_offset_7,16,T[38]);b=HH(b,c,d,a,M_offset_10,23,T[39]);a=HH(a,b,c,d,M_offset_13,4,T[40]);d=HH(d,a,b,c,M_offset_0,11,T[41]);c=HH(c,d,a,b,M_offset_3,16,T[42]);b=HH(b,c,d,a,M_offset_6,23,T[43]);a=HH(a,b,c,d,M_offset_9,4,T[44]);d=HH(d,a,b,c,M_offset_12,11,T[45]);c=HH(c,d,a,b,M_offset_15,16,T[46]);b=HH(b,c,d,a,M_offset_2,23,T[47]);a=II(a,b,c,d,M_offset_0,6,T[48]);d=II(d,a,b,c,M_offset_7,10,T[49]);c=II(c,d,a,b,M_offset_14,15,T[50]);b=II(b,c,d,a,M_offset_5,21,T[51]);a=II(a,b,c,d,M_offset_12,6,T[52]);d=II(d,a,b,c,M_offset_3,10,T[53]);c=II(c,d,a,b,M_offset_10,15,T[54]);b=II(b,c,d,a,M_offset_1,21,T[55]);a=II(a,b,c,d,M_offset_8,6,T[56]);d=II(d,a,b,c,M_offset_15,10,T[57]);c=II(c,d,a,b,M_offset_6,15,T[58]);b=II(b,c,d,a,M_offset_13,21,T[59]);a=II(a,b,c,d,M_offset_4,6,T[60]);d=II(d,a,b,c,M_offset_11,10,T[61]);c=II(c,d,a,b,M_offset_2,15,T[62]);b=II(b,c,d,a,M_offset_9,21,T[63]);H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;var nBitsTotalH=Math.floor(nBitsTotal/4294967296);var nBitsTotalL=nBitsTotal;dataWords[(nBitsLeft+64>>>9<<4)+15]=(nBitsTotalH<<8|nBitsTotalH>>>24)&16711935|(nBitsTotalH<<24|nBitsTotalH>>>8)&4278255360;dataWords[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotalL<<8|nBitsTotalL>>>24)&16711935|(nBitsTotalL<<24|nBitsTotalL>>>8)&4278255360;data.sigBytes=(dataWords.length+1)*4;this._process();var hash=this._hash;var H=hash.words;for(var i=0;i<4;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});function FF(a,b,c,d,x,s,t){var n=a+(b&c|~b&d)+x+t;return(n<>>32-s)+b}function GG(a,b,c,d,x,s,t){var n=a+(b&d|c&~d)+x+t;return(n<>>32-s)+b}function HH(a,b,c,d,x,s,t){var n=a+(b^c^d)+x+t;return(n<>>32-s)+b}function II(a,b,c,d,x,s,t){var n=a+(c^(b|~d))+x+t;return(n<>>32-s)+b}C.MD5=Hasher._createHelper(MD5);C.HmacMD5=Hasher._createHmacHelper(MD5)})(Math);return CryptoJS.MD5})})(md5);var sha1={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var W=[];var SHA1=C_algo.SHA1=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){var H=this._hash.words;var a=H[0];var b=H[1];var c=H[2];var d=H[3];var e=H[4];for(var i=0;i<80;i++){if(i<16){W[i]=M[offset+i]|0}else{var n=W[i-3]^W[i-8]^W[i-14]^W[i-16];W[i]=n<<1|n>>>31}var t=(a<<5|a>>>27)+e+W[i];if(i<20){t+=(b&c|~b&d)+1518500249}else if(i<40){t+=(b^c^d)+1859775393}else if(i<60){t+=(b&c|b&d|c&d)-1894007588}else{t+=(b^c^d)-899497514}e=d;d=c;c=b<<30|b>>>2;b=a;a=t}H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0;H[4]=H[4]+e|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();return this._hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});C.SHA1=Hasher._createHelper(SHA1);C.HmacSHA1=Hasher._createHmacHelper(SHA1)})();return CryptoJS.SHA1})})(sha1);var sha256={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var H=[];var K=[];(function(){function isPrime(n){var sqrtN=Math.sqrt(n);for(var factor=2;factor<=sqrtN;factor++){if(!(n%factor)){return false}}return true}function getFractionalBits(n){return(n-(n|0))*4294967296|0}var n=2;var nPrime=0;while(nPrime<64){if(isPrime(n)){if(nPrime<8){H[nPrime]=getFractionalBits(Math.pow(n,1/2))}K[nPrime]=getFractionalBits(Math.pow(n,1/3));nPrime++}n++}})();var W=[];var SHA256=C_algo.SHA256=Hasher.extend({_doReset:function(){this._hash=new WordArray.init(H.slice(0))},_doProcessBlock:function(M,offset){var H=this._hash.words;var a=H[0];var b=H[1];var c=H[2];var d=H[3];var e=H[4];var f=H[5];var g=H[6];var h=H[7];for(var i=0;i<64;i++){if(i<16){W[i]=M[offset+i]|0}else{var gamma0x=W[i-15];var gamma0=(gamma0x<<25|gamma0x>>>7)^(gamma0x<<14|gamma0x>>>18)^gamma0x>>>3;var gamma1x=W[i-2];var gamma1=(gamma1x<<15|gamma1x>>>17)^(gamma1x<<13|gamma1x>>>19)^gamma1x>>>10;W[i]=gamma0+W[i-7]+gamma1+W[i-16]}var ch=e&f^~e&g;var maj=a&b^a&c^b&c;var sigma0=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22);var sigma1=(e<<26|e>>>6)^(e<<21|e>>>11)^(e<<7|e>>>25);var t1=h+sigma1+ch+K[i]+W[i];var t2=sigma0+maj;h=g;g=f;f=e;e=d+t1|0;d=c;c=b;b=a;a=t1+t2|0}H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0;H[4]=H[4]+e|0;H[5]=H[5]+f|0;H[6]=H[6]+g|0;H[7]=H[7]+h|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();return this._hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});C.SHA256=Hasher._createHelper(SHA256);C.HmacSHA256=Hasher._createHmacHelper(SHA256)})(Math);return CryptoJS.SHA256})})(sha256);var sha224={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,sha256.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_algo=C.algo;var SHA256=C_algo.SHA256;var SHA224=C_algo.SHA224=SHA256.extend({_doReset:function(){this._hash=new WordArray.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var hash=SHA256._doFinalize.call(this);hash.sigBytes-=4;return hash}});C.SHA224=SHA256._createHelper(SHA224);C.HmacSHA224=SHA256._createHmacHelper(SHA224)})();return CryptoJS.SHA224})})(sha224);var sha512={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var Hasher=C_lib.Hasher;var C_x64=C.x64;var X64Word=C_x64.Word;var X64WordArray=C_x64.WordArray;var C_algo=C.algo;function X64Word_create(){return X64Word.create.apply(X64Word,arguments)}var K=[X64Word_create(1116352408,3609767458),X64Word_create(1899447441,602891725),X64Word_create(3049323471,3964484399),X64Word_create(3921009573,2173295548),X64Word_create(961987163,4081628472),X64Word_create(1508970993,3053834265),X64Word_create(2453635748,2937671579),X64Word_create(2870763221,3664609560),X64Word_create(3624381080,2734883394),X64Word_create(310598401,1164996542),X64Word_create(607225278,1323610764),X64Word_create(1426881987,3590304994),X64Word_create(1925078388,4068182383),X64Word_create(2162078206,991336113),X64Word_create(2614888103,633803317),X64Word_create(3248222580,3479774868),X64Word_create(3835390401,2666613458),X64Word_create(4022224774,944711139),X64Word_create(264347078,2341262773),X64Word_create(604807628,2007800933),X64Word_create(770255983,1495990901),X64Word_create(1249150122,1856431235),X64Word_create(1555081692,3175218132),X64Word_create(1996064986,2198950837),X64Word_create(2554220882,3999719339),X64Word_create(2821834349,766784016),X64Word_create(2952996808,2566594879),X64Word_create(3210313671,3203337956),X64Word_create(3336571891,1034457026),X64Word_create(3584528711,2466948901),X64Word_create(113926993,3758326383),X64Word_create(338241895,168717936),X64Word_create(666307205,1188179964),X64Word_create(773529912,1546045734),X64Word_create(1294757372,1522805485),X64Word_create(1396182291,2643833823),X64Word_create(1695183700,2343527390),X64Word_create(1986661051,1014477480),X64Word_create(2177026350,1206759142),X64Word_create(2456956037,344077627),X64Word_create(2730485921,1290863460),X64Word_create(2820302411,3158454273),X64Word_create(3259730800,3505952657),X64Word_create(3345764771,106217008),X64Word_create(3516065817,3606008344),X64Word_create(3600352804,1432725776),X64Word_create(4094571909,1467031594),X64Word_create(275423344,851169720),X64Word_create(430227734,3100823752),X64Word_create(506948616,1363258195),X64Word_create(659060556,3750685593),X64Word_create(883997877,3785050280),X64Word_create(958139571,3318307427),X64Word_create(1322822218,3812723403),X64Word_create(1537002063,2003034995),X64Word_create(1747873779,3602036899),X64Word_create(1955562222,1575990012),X64Word_create(2024104815,1125592928),X64Word_create(2227730452,2716904306),X64Word_create(2361852424,442776044),X64Word_create(2428436474,593698344),X64Word_create(2756734187,3733110249),X64Word_create(3204031479,2999351573),X64Word_create(3329325298,3815920427),X64Word_create(3391569614,3928383900),X64Word_create(3515267271,566280711),X64Word_create(3940187606,3454069534),X64Word_create(4118630271,4000239992),X64Word_create(116418474,1914138554),X64Word_create(174292421,2731055270),X64Word_create(289380356,3203993006),X64Word_create(460393269,320620315),X64Word_create(685471733,587496836),X64Word_create(852142971,1086792851),X64Word_create(1017036298,365543100),X64Word_create(1126000580,2618297676),X64Word_create(1288033470,3409855158),X64Word_create(1501505948,4234509866),X64Word_create(1607167915,987167468),X64Word_create(1816402316,1246189591)];var W=[];(function(){for(var i=0;i<80;i++){W[i]=X64Word_create()}})();var SHA512=C_algo.SHA512=Hasher.extend({_doReset:function(){this._hash=new X64WordArray.init([new X64Word.init(1779033703,4089235720),new X64Word.init(3144134277,2227873595),new X64Word.init(1013904242,4271175723),new X64Word.init(2773480762,1595750129),new X64Word.init(1359893119,2917565137),new X64Word.init(2600822924,725511199),new X64Word.init(528734635,4215389547),new X64Word.init(1541459225,327033209)])},_doProcessBlock:function(M,offset){var H=this._hash.words;var H0=H[0];var H1=H[1];var H2=H[2];var H3=H[3];var H4=H[4];var H5=H[5];var H6=H[6];var H7=H[7];var H0h=H0.high;var H0l=H0.low;var H1h=H1.high;var H1l=H1.low;var H2h=H2.high;var H2l=H2.low;var H3h=H3.high;var H3l=H3.low;var H4h=H4.high;var H4l=H4.low;var H5h=H5.high;var H5l=H5.low;var H6h=H6.high;var H6l=H6.low;var H7h=H7.high;var H7l=H7.low;var ah=H0h;var al=H0l;var bh=H1h;var bl=H1l;var ch=H2h;var cl=H2l;var dh=H3h;var dl=H3l;var eh=H4h;var el=H4l;var fh=H5h;var fl=H5l;var gh=H6h;var gl=H6l;var hh=H7h;var hl=H7l;for(var i=0;i<80;i++){var Wil;var Wih;var Wi=W[i];if(i<16){Wih=Wi.high=M[offset+i*2]|0;Wil=Wi.low=M[offset+i*2+1]|0}else{var gamma0x=W[i-15];var gamma0xh=gamma0x.high;var gamma0xl=gamma0x.low;var gamma0h=(gamma0xh>>>1|gamma0xl<<31)^(gamma0xh>>>8|gamma0xl<<24)^gamma0xh>>>7;var gamma0l=(gamma0xl>>>1|gamma0xh<<31)^(gamma0xl>>>8|gamma0xh<<24)^(gamma0xl>>>7|gamma0xh<<25);var gamma1x=W[i-2];var gamma1xh=gamma1x.high;var gamma1xl=gamma1x.low;var gamma1h=(gamma1xh>>>19|gamma1xl<<13)^(gamma1xh<<3|gamma1xl>>>29)^gamma1xh>>>6;var gamma1l=(gamma1xl>>>19|gamma1xh<<13)^(gamma1xl<<3|gamma1xh>>>29)^(gamma1xl>>>6|gamma1xh<<26);var Wi7=W[i-7];var Wi7h=Wi7.high;var Wi7l=Wi7.low;var Wi16=W[i-16];var Wi16h=Wi16.high;var Wi16l=Wi16.low;Wil=gamma0l+Wi7l;Wih=gamma0h+Wi7h+(Wil>>>0>>0?1:0);Wil=Wil+gamma1l;Wih=Wih+gamma1h+(Wil>>>0>>0?1:0);Wil=Wil+Wi16l;Wih=Wih+Wi16h+(Wil>>>0>>0?1:0);Wi.high=Wih;Wi.low=Wil}var chh=eh&fh^~eh&gh;var chl=el&fl^~el≷var majh=ah&bh^ah&ch^bh&ch;var majl=al&bl^al&cl^bl&cl;var sigma0h=(ah>>>28|al<<4)^(ah<<30|al>>>2)^(ah<<25|al>>>7);var sigma0l=(al>>>28|ah<<4)^(al<<30|ah>>>2)^(al<<25|ah>>>7);var sigma1h=(eh>>>14|el<<18)^(eh>>>18|el<<14)^(eh<<23|el>>>9);var sigma1l=(el>>>14|eh<<18)^(el>>>18|eh<<14)^(el<<23|eh>>>9);var Ki=K[i];var Kih=Ki.high;var Kil=Ki.low;var t1l=hl+sigma1l;var t1h=hh+sigma1h+(t1l>>>0>>0?1:0);var t1l=t1l+chl;var t1h=t1h+chh+(t1l>>>0>>0?1:0);var t1l=t1l+Kil;var t1h=t1h+Kih+(t1l>>>0>>0?1:0);var t1l=t1l+Wil;var t1h=t1h+Wih+(t1l>>>0>>0?1:0);var t2l=sigma0l+majl;var t2h=sigma0h+majh+(t2l>>>0>>0?1:0);hh=gh;hl=gl;gh=fh;gl=fl;fh=eh;fl=el;el=dl+t1l|0;eh=dh+t1h+(el>>>0
    >>0?1:0)|0;dh=ch;dl=cl;ch=bh;cl=bl;bh=ah;bl=al;al=t1l+t2l|0;ah=t1h+t2h+(al>>>0>>0?1:0)|0}H0l=H0.low=H0l+al;H0.high=H0h+ah+(H0l>>>0>>0?1:0);H1l=H1.low=H1l+bl;H1.high=H1h+bh+(H1l>>>0>>0?1:0);H2l=H2.low=H2l+cl;H2.high=H2h+ch+(H2l>>>0>>0?1:0);H3l=H3.low=H3l+dl;H3.high=H3h+dh+(H3l>>>0
    >>0?1:0);H4l=H4.low=H4l+el;H4.high=H4h+eh+(H4l>>>0>>0?1:0);H5l=H5.low=H5l+fl;H5.high=H5h+fh+(H5l>>>0>>0?1:0);H6l=H6.low=H6l+gl;H6.high=H6h+gh+(H6l>>>0>>0?1:0);H7l=H7.low=H7l+hl;H7.high=H7h+hh+(H7l>>>0>>0?1:0)},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+128>>>10<<5)+30]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+128>>>10<<5)+31]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();var hash=this._hash.toX32();return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone},blockSize:1024/32});C.SHA512=Hasher._createHelper(SHA512);C.HmacSHA512=Hasher._createHmacHelper(SHA512)})();return CryptoJS.SHA512})})(sha512);var sha384={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports,sha512.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_x64=C.x64;var X64Word=C_x64.Word;var X64WordArray=C_x64.WordArray;var C_algo=C.algo;var SHA512=C_algo.SHA512;var SHA384=C_algo.SHA384=SHA512.extend({_doReset:function(){this._hash=new X64WordArray.init([new X64Word.init(3418070365,3238371032),new X64Word.init(1654270250,914150663),new X64Word.init(2438529370,812702999),new X64Word.init(355462360,4144912697),new X64Word.init(1731405415,4290775857),new X64Word.init(2394180231,1750603025),new X64Word.init(3675008525,1694076839),new X64Word.init(1203062813,3204075428)])},_doFinalize:function(){var hash=SHA512._doFinalize.call(this);hash.sigBytes-=16;return hash}});C.SHA384=SHA512._createHelper(SHA384);C.HmacSHA384=SHA512._createHmacHelper(SHA384)})();return CryptoJS.SHA384})})(sha384);var sha3={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_x64=C.x64;var X64Word=C_x64.Word;var C_algo=C.algo;var RHO_OFFSETS=[];var PI_INDEXES=[];var ROUND_CONSTANTS=[];(function(){var x=1,y=0;for(var t=0;t<24;t++){RHO_OFFSETS[x+5*y]=(t+1)*(t+2)/2%64;var newX=y%5;var newY=(2*x+3*y)%5;x=newX;y=newY}for(var x=0;x<5;x++){for(var y=0;y<5;y++){PI_INDEXES[x+5*y]=y+(2*x+3*y)%5*5}}var LFSR=1;for(var i=0;i<24;i++){var roundConstantMsw=0;var roundConstantLsw=0;for(var j=0;j<7;j++){if(LFSR&1){var bitPosition=(1<>>24)&16711935|(M2i<<24|M2i>>>8)&4278255360;M2i1=(M2i1<<8|M2i1>>>24)&16711935|(M2i1<<24|M2i1>>>8)&4278255360;var lane=state[i];lane.high^=M2i1;lane.low^=M2i}for(var round=0;round<24;round++){for(var x=0;x<5;x++){var tMsw=0,tLsw=0;for(var y=0;y<5;y++){var lane=state[x+5*y];tMsw^=lane.high;tLsw^=lane.low}var Tx=T[x];Tx.high=tMsw;Tx.low=tLsw}for(var x=0;x<5;x++){var Tx4=T[(x+4)%5];var Tx1=T[(x+1)%5];var Tx1Msw=Tx1.high;var Tx1Lsw=Tx1.low;var tMsw=Tx4.high^(Tx1Msw<<1|Tx1Lsw>>>31);var tLsw=Tx4.low^(Tx1Lsw<<1|Tx1Msw>>>31);for(var y=0;y<5;y++){var lane=state[x+5*y];lane.high^=tMsw;lane.low^=tLsw}}for(var laneIndex=1;laneIndex<25;laneIndex++){var tMsw;var tLsw;var lane=state[laneIndex];var laneMsw=lane.high;var laneLsw=lane.low;var rhoOffset=RHO_OFFSETS[laneIndex];if(rhoOffset<32){tMsw=laneMsw<>>32-rhoOffset;tLsw=laneLsw<>>32-rhoOffset}else{tMsw=laneLsw<>>64-rhoOffset;tLsw=laneMsw<>>64-rhoOffset}var TPiLane=T[PI_INDEXES[laneIndex]];TPiLane.high=tMsw;TPiLane.low=tLsw}var T0=T[0];var state0=state[0];T0.high=state0.high;T0.low=state0.low;for(var x=0;x<5;x++){for(var y=0;y<5;y++){var laneIndex=x+5*y;var lane=state[laneIndex];var TLane=T[laneIndex];var Tx1Lane=T[(x+1)%5+5*y];var Tx2Lane=T[(x+2)%5+5*y];lane.high=TLane.high^~Tx1Lane.high&Tx2Lane.high;lane.low=TLane.low^~Tx1Lane.low&Tx2Lane.low}}var lane=state[0];var roundConstant=ROUND_CONSTANTS[round];lane.high^=roundConstant.high;lane.low^=roundConstant.low}},_doFinalize:function(){var data=this._data;var dataWords=data.words;this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;var blockSizeBits=this.blockSize*32;dataWords[nBitsLeft>>>5]|=1<<24-nBitsLeft%32;dataWords[(Math.ceil((nBitsLeft+1)/blockSizeBits)*blockSizeBits>>>5)-1]|=128;data.sigBytes=dataWords.length*4;this._process();var state=this._state;var outputLengthBytes=this.cfg.outputLength/8;var outputLengthLanes=outputLengthBytes/8;var hashWords=[];for(var i=0;i>>24)&16711935|(laneMsw<<24|laneMsw>>>8)&4278255360;laneLsw=(laneLsw<<8|laneLsw>>>24)&16711935|(laneLsw<<24|laneLsw>>>8)&4278255360;hashWords.push(laneLsw);hashWords.push(laneMsw)}return new WordArray.init(hashWords,outputLengthBytes)},clone:function(){var clone=Hasher.clone.call(this);var state=clone._state=this._state.slice(0);for(var i=0;i<25;i++){state[i]=state[i].clone()}return clone}});C.SHA3=Hasher._createHelper(SHA3);C.HmacSHA3=Hasher._createHmacHelper(SHA3)})(Math);return CryptoJS.SHA3})})(sha3);var ripemd160={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var _zl=WordArray.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]);var _zr=WordArray.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]);var _sl=WordArray.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]);var _sr=WordArray.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]);var _hl=WordArray.create([0,1518500249,1859775393,2400959708,2840853838]);var _hr=WordArray.create([1352829926,1548603684,1836072691,2053994217,0]);var RIPEMD160=C_algo.RIPEMD160=Hasher.extend({_doReset:function(){this._hash=WordArray.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var H=this._hash.words;var hl=_hl.words;var hr=_hr.words;var zl=_zl.words;var zr=_zr.words;var sl=_sl.words;var sr=_sr.words;var al,bl,cl,dl,el;var ar,br,cr,dr,er;ar=al=H[0];br=bl=H[1];cr=cl=H[2];dr=dl=H[3];er=el=H[4];var t;for(var i=0;i<80;i+=1){t=al+M[offset+zl[i]]|0;if(i<16){t+=f1(bl,cl,dl)+hl[0]}else if(i<32){t+=f2(bl,cl,dl)+hl[1]}else if(i<48){t+=f3(bl,cl,dl)+hl[2]}else if(i<64){t+=f4(bl,cl,dl)+hl[3]}else{t+=f5(bl,cl,dl)+hl[4]}t=t|0;t=rotl(t,sl[i]);t=t+el|0;al=el;el=dl;dl=rotl(cl,10);cl=bl;bl=t;t=ar+M[offset+zr[i]]|0;if(i<16){t+=f5(br,cr,dr)+hr[0]}else if(i<32){t+=f4(br,cr,dr)+hr[1]}else if(i<48){t+=f3(br,cr,dr)+hr[2]}else if(i<64){t+=f2(br,cr,dr)+hr[3]}else{t+=f1(br,cr,dr)+hr[4]}t=t|0;t=rotl(t,sr[i]);t=t+er|0;ar=er;er=dr;dr=rotl(cr,10);cr=br;br=t}t=H[1]+cl+dr|0;H[1]=H[2]+dl+er|0;H[2]=H[3]+el+ar|0;H[3]=H[4]+al+br|0;H[4]=H[0]+bl+cr|0;H[0]=t},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotal<<8|nBitsTotal>>>24)&16711935|(nBitsTotal<<24|nBitsTotal>>>8)&4278255360;data.sigBytes=(dataWords.length+1)*4;this._process();var hash=this._hash;var H=hash.words;for(var i=0;i<5;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});function f1(x,y,z){return x^y^z}function f2(x,y,z){return x&y|~x&z}function f3(x,y,z){return(x|~y)^z}function f4(x,y,z){return x&z|y&~z}function f5(x,y,z){return x^(y|~z)}function rotl(x,n){return x<>>32-n}C.RIPEMD160=Hasher._createHelper(RIPEMD160);C.HmacRIPEMD160=Hasher._createHmacHelper(RIPEMD160)})();return CryptoJS.RIPEMD160})})(ripemd160);var hmac={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var Base=C_lib.Base;var C_enc=C.enc;var Utf8=C_enc.Utf8;var C_algo=C.algo;C_algo.HMAC=Base.extend({init:function(hasher,key){hasher=this._hasher=new hasher.init;if(typeof key=="string"){key=Utf8.parse(key)}var hasherBlockSize=hasher.blockSize;var hasherBlockSizeBytes=hasherBlockSize*4;if(key.sigBytes>hasherBlockSizeBytes){key=hasher.finalize(key)}key.clamp();var oKey=this._oKey=key.clone();var iKey=this._iKey=key.clone();var oKeyWords=oKey.words;var iKeyWords=iKey.words;for(var i=0;i>>2]&255;data.sigBytes-=nPaddingBytes}};C_lib.BlockCipher=Cipher.extend({cfg:Cipher.cfg.extend({mode:CBC,padding:Pkcs7}),reset:function(){var modeCreator;Cipher.reset.call(this);var cfg=this.cfg;var iv=cfg.iv;var mode=cfg.mode;if(this._xformMode==this._ENC_XFORM_MODE){modeCreator=mode.createEncryptor}else{modeCreator=mode.createDecryptor;this._minBufferSize=1}if(this._mode&&this._mode.__creator==modeCreator){this._mode.init(this,iv&&iv.words)}else{this._mode=modeCreator.call(mode,this,iv&&iv.words);this._mode.__creator=modeCreator}},_doProcessBlock:function(words,offset){this._mode.processBlock(words,offset)},_doFinalize:function(){var finalProcessedBlocks;var padding=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){padding.pad(this._data,this.blockSize);finalProcessedBlocks=this._process(!!"flush")}else{finalProcessedBlocks=this._process(!!"flush");padding.unpad(finalProcessedBlocks)}return finalProcessedBlocks},blockSize:128/32});var CipherParams=C_lib.CipherParams=Base.extend({init:function(cipherParams){this.mixIn(cipherParams)},toString:function(formatter){return(formatter||this.formatter).stringify(this)}});var C_format=C.format={};var OpenSSLFormatter=C_format.OpenSSL={stringify:function(cipherParams){var wordArray;var ciphertext=cipherParams.ciphertext;var salt=cipherParams.salt;if(salt){wordArray=WordArray.create([1398893684,1701076831]).concat(salt).concat(ciphertext)}else{wordArray=ciphertext}return wordArray.toString(Base64)},parse:function(openSSLStr){var salt;var ciphertext=Base64.parse(openSSLStr);var ciphertextWords=ciphertext.words;if(ciphertextWords[0]==1398893684&&ciphertextWords[1]==1701076831){salt=WordArray.create(ciphertextWords.slice(2,4));ciphertextWords.splice(0,4);ciphertext.sigBytes-=16}return CipherParams.create({ciphertext:ciphertext,salt:salt})}};var SerializableCipher=C_lib.SerializableCipher=Base.extend({cfg:Base.extend({format:OpenSSLFormatter}),encrypt:function(cipher,message,key,cfg){cfg=this.cfg.extend(cfg);var encryptor=cipher.createEncryptor(key,cfg);var ciphertext=encryptor.finalize(message);var cipherCfg=encryptor.cfg;return CipherParams.create({ciphertext:ciphertext,key:key,iv:cipherCfg.iv,algorithm:cipher,mode:cipherCfg.mode,padding:cipherCfg.padding,blockSize:cipher.blockSize,formatter:cfg.format})},decrypt:function(cipher,ciphertext,key,cfg){cfg=this.cfg.extend(cfg);ciphertext=this._parse(ciphertext,cfg.format);var plaintext=cipher.createDecryptor(key,cfg).finalize(ciphertext.ciphertext);return plaintext},_parse:function(ciphertext,format){if(typeof ciphertext=="string"){return format.parse(ciphertext,this)}else{return ciphertext}}});var C_kdf=C.kdf={};var OpenSSLKdf=C_kdf.OpenSSL={execute:function(password,keySize,ivSize,salt){if(!salt){salt=WordArray.random(64/8)}var key=EvpKDF.create({keySize:keySize+ivSize}).compute(password,salt);var iv=WordArray.create(key.words.slice(keySize),ivSize*4);key.sigBytes=keySize*4;return CipherParams.create({key:key,iv:iv,salt:salt})}};var PasswordBasedCipher=C_lib.PasswordBasedCipher=SerializableCipher.extend({cfg:SerializableCipher.cfg.extend({kdf:OpenSSLKdf}),encrypt:function(cipher,message,password,cfg){cfg=this.cfg.extend(cfg);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize);cfg.iv=derivedParams.iv;var ciphertext=SerializableCipher.encrypt.call(this,cipher,message,derivedParams.key,cfg);ciphertext.mixIn(derivedParams);return ciphertext},decrypt:function(cipher,ciphertext,password,cfg){cfg=this.cfg.extend(cfg);ciphertext=this._parse(ciphertext,cfg.format);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize,ciphertext.salt);cfg.iv=derivedParams.iv;var plaintext=SerializableCipher.decrypt.call(this,cipher,ciphertext,derivedParams.key,cfg);return plaintext}})}()})})(cipherCore);var modeCfb={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.mode.CFB=function(){var CFB=CryptoJS.lib.BlockCipherMode.extend();CFB.Encryptor=CFB.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;generateKeystreamAndEncrypt.call(this,words,offset,blockSize,cipher);this._prevBlock=words.slice(offset,offset+blockSize)}});CFB.Decryptor=CFB.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;var thisBlock=words.slice(offset,offset+blockSize);generateKeystreamAndEncrypt.call(this,words,offset,blockSize,cipher);this._prevBlock=thisBlock}});function generateKeystreamAndEncrypt(words,offset,blockSize,cipher){var keystream;var iv=this._iv;if(iv){keystream=iv.slice(0);this._iv=undefined}else{keystream=this._prevBlock}cipher.encryptBlock(keystream,0);for(var i=0;i>24&255)===255){var b1=word>>16&255;var b2=word>>8&255;var b3=word&255;if(b1===255){b1=0;if(b2===255){b2=0;if(b3===255){b3=0}else{++b3}}else{++b2}}else{++b1}word=0;word+=b1<<16;word+=b2<<8;word+=b3}else{word+=1<<24}return word}function incCounter(counter){if((counter[0]=incWord(counter[0]))===0){counter[1]=incWord(counter[1])}return counter}var Encryptor=CTRGladman.Encryptor=CTRGladman.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;var iv=this._iv;var counter=this._counter;if(iv){counter=this._counter=iv.slice(0);this._iv=undefined}incCounter(counter);var keystream=counter.slice(0);cipher.encryptBlock(keystream,0);for(var i=0;i>>2]|=nPaddingBytes<<24-lastBytePos%4*8;data.sigBytes+=nPaddingBytes},unpad:function(data){var nPaddingBytes=data.words[data.sigBytes-1>>>2]&255;data.sigBytes-=nPaddingBytes}};return CryptoJS.pad.Ansix923})})(padAnsix923);var padIso10126={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.Iso10126={pad:function(data,blockSize){var blockSizeBytes=blockSize*4;var nPaddingBytes=blockSizeBytes-data.sigBytes%blockSizeBytes;data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes-1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes<<24],1))},unpad:function(data){var nPaddingBytes=data.words[data.sigBytes-1>>>2]&255;data.sigBytes-=nPaddingBytes}};return CryptoJS.pad.Iso10126})})(padIso10126);var padIso97971={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.Iso97971={pad:function(data,blockSize){data.concat(CryptoJS.lib.WordArray.create([2147483648],1));CryptoJS.pad.ZeroPadding.pad(data,blockSize)},unpad:function(data){CryptoJS.pad.ZeroPadding.unpad(data);data.sigBytes--}};return CryptoJS.pad.Iso97971})})(padIso97971);var padZeropadding={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.ZeroPadding={pad:function(data,blockSize){var blockSizeBytes=blockSize*4;data.clamp();data.sigBytes+=blockSizeBytes-(data.sigBytes%blockSizeBytes||blockSizeBytes)},unpad:function(data){var dataWords=data.words;var i=data.sigBytes-1;for(var i=data.sigBytes-1;i>=0;i--){if(dataWords[i>>>2]>>>24-i%4*8&255){data.sigBytes=i+1;break}}}};return CryptoJS.pad.ZeroPadding})})(padZeropadding);var padNopadding={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}};return CryptoJS.pad.NoPadding})})(padNopadding);var formatHex={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(undefined$1){var C=CryptoJS;var C_lib=C.lib;var CipherParams=C_lib.CipherParams;var C_enc=C.enc;var Hex=C_enc.Hex;var C_format=C.format;C_format.Hex={stringify:function(cipherParams){return cipherParams.ciphertext.toString(Hex)},parse:function(input){var ciphertext=Hex.parse(input);return CipherParams.create({ciphertext:ciphertext})}}})();return CryptoJS.format.Hex})})(formatHex);var aes={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var BlockCipher=C_lib.BlockCipher;var C_algo=C.algo;var SBOX=[];var INV_SBOX=[];var SUB_MIX_0=[];var SUB_MIX_1=[];var SUB_MIX_2=[];var SUB_MIX_3=[];var INV_SUB_MIX_0=[];var INV_SUB_MIX_1=[];var INV_SUB_MIX_2=[];var INV_SUB_MIX_3=[];(function(){var d=[];for(var i=0;i<256;i++){if(i<128){d[i]=i<<1}else{d[i]=i<<1^283}}var x=0;var xi=0;for(var i=0;i<256;i++){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^sx&255^99;SBOX[x]=sx;INV_SBOX[sx]=x;var x2=d[x];var x4=d[x2];var x8=d[x4];var t=d[sx]*257^sx*16843008;SUB_MIX_0[x]=t<<24|t>>>8;SUB_MIX_1[x]=t<<16|t>>>16;SUB_MIX_2[x]=t<<8|t>>>24;SUB_MIX_3[x]=t;var t=x8*16843009^x4*65537^x2*257^x*16843008;INV_SUB_MIX_0[sx]=t<<24|t>>>8;INV_SUB_MIX_1[sx]=t<<16|t>>>16;INV_SUB_MIX_2[sx]=t<<8|t>>>24;INV_SUB_MIX_3[sx]=t;if(!x){x=xi=1}else{x=x2^d[d[d[x8^x2]]];xi^=d[d[xi]]}}})();var RCON=[0,1,2,4,8,16,32,64,128,27,54];var AES=C_algo.AES=BlockCipher.extend({_doReset:function(){var t;if(this._nRounds&&this._keyPriorReset===this._key){return}var key=this._keyPriorReset=this._key;var keyWords=key.words;var keySize=key.sigBytes/4;var nRounds=this._nRounds=keySize+6;var ksRows=(nRounds+1)*4;var keySchedule=this._keySchedule=[];for(var ksRow=0;ksRow>>24;t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[t&255];t^=RCON[ksRow/keySize|0]<<24}else if(keySize>6&&ksRow%keySize==4){t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[t&255]}keySchedule[ksRow]=keySchedule[ksRow-keySize]^t}}var invKeySchedule=this._invKeySchedule=[];for(var invKsRow=0;invKsRow>>24]]^INV_SUB_MIX_1[SBOX[t>>>16&255]]^INV_SUB_MIX_2[SBOX[t>>>8&255]]^INV_SUB_MIX_3[SBOX[t&255]]}}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX)},decryptBlock:function(M,offset){var t=M[offset+1];M[offset+1]=M[offset+3];M[offset+3]=t;this._doCryptBlock(M,offset,this._invKeySchedule,INV_SUB_MIX_0,INV_SUB_MIX_1,INV_SUB_MIX_2,INV_SUB_MIX_3,INV_SBOX);var t=M[offset+1];M[offset+1]=M[offset+3];M[offset+3]=t},_doCryptBlock:function(M,offset,keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX){var nRounds=this._nRounds;var s0=M[offset]^keySchedule[0];var s1=M[offset+1]^keySchedule[1];var s2=M[offset+2]^keySchedule[2];var s3=M[offset+3]^keySchedule[3];var ksRow=4;for(var round=1;round>>24]^SUB_MIX_1[s1>>>16&255]^SUB_MIX_2[s2>>>8&255]^SUB_MIX_3[s3&255]^keySchedule[ksRow++];var t1=SUB_MIX_0[s1>>>24]^SUB_MIX_1[s2>>>16&255]^SUB_MIX_2[s3>>>8&255]^SUB_MIX_3[s0&255]^keySchedule[ksRow++];var t2=SUB_MIX_0[s2>>>24]^SUB_MIX_1[s3>>>16&255]^SUB_MIX_2[s0>>>8&255]^SUB_MIX_3[s1&255]^keySchedule[ksRow++];var t3=SUB_MIX_0[s3>>>24]^SUB_MIX_1[s0>>>16&255]^SUB_MIX_2[s1>>>8&255]^SUB_MIX_3[s2&255]^keySchedule[ksRow++];s0=t0;s1=t1;s2=t2;s3=t3}var t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[s3&255])^keySchedule[ksRow++];var t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[s0&255])^keySchedule[ksRow++];var t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[s1&255])^keySchedule[ksRow++];var t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[s2&255])^keySchedule[ksRow++];M[offset]=t0;M[offset+1]=t1;M[offset+2]=t2;M[offset+3]=t3},keySize:256/32});C.AES=BlockCipher._createHelper(AES)})();return CryptoJS.AES})})(aes);var tripledes={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var BlockCipher=C_lib.BlockCipher;var C_algo=C.algo;var PC1=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];var PC2=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];var BIT_SHIFTS=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28];var SBOX_P=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}];var SBOX_MASK=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679];var DES=C_algo.DES=BlockCipher.extend({_doReset:function(){var key=this._key;var keyWords=key.words;var keyBits=[];for(var i=0;i<56;i++){var keyBitPos=PC1[i]-1;keyBits[i]=keyWords[keyBitPos>>>5]>>>31-keyBitPos%32&1}var subKeys=this._subKeys=[];for(var nSubKey=0;nSubKey<16;nSubKey++){var subKey=subKeys[nSubKey]=[];var bitShift=BIT_SHIFTS[nSubKey];for(var i=0;i<24;i++){subKey[i/6|0]|=keyBits[(PC2[i]-1+bitShift)%28]<<31-i%6;subKey[4+(i/6|0)]|=keyBits[28+(PC2[i+24]-1+bitShift)%28]<<31-i%6}subKey[0]=subKey[0]<<1|subKey[0]>>>31;for(var i=1;i<7;i++){subKey[i]=subKey[i]>>>(i-1)*4+3}subKey[7]=subKey[7]<<5|subKey[7]>>>27}var invSubKeys=this._invSubKeys=[];for(var i=0;i<16;i++){invSubKeys[i]=subKeys[15-i]}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._subKeys)},decryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._invSubKeys)},_doCryptBlock:function(M,offset,subKeys){this._lBlock=M[offset];this._rBlock=M[offset+1];exchangeLR.call(this,4,252645135);exchangeLR.call(this,16,65535);exchangeRL.call(this,2,858993459);exchangeRL.call(this,8,16711935);exchangeLR.call(this,1,1431655765);for(var round=0;round<16;round++){var subKey=subKeys[round];var lBlock=this._lBlock;var rBlock=this._rBlock;var f=0;for(var i=0;i<8;i++){f|=SBOX_P[i][((rBlock^subKey[i])&SBOX_MASK[i])>>>0]}this._lBlock=rBlock;this._rBlock=lBlock^f}var t=this._lBlock;this._lBlock=this._rBlock;this._rBlock=t;exchangeLR.call(this,1,1431655765);exchangeRL.call(this,8,16711935);exchangeRL.call(this,2,858993459);exchangeLR.call(this,16,65535);exchangeLR.call(this,4,252645135);M[offset]=this._lBlock;M[offset+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function exchangeLR(offset,mask){var t=(this._lBlock>>>offset^this._rBlock)&mask;this._rBlock^=t;this._lBlock^=t<>>offset^this._lBlock)&mask;this._lBlock^=t;this._rBlock^=t<192.")}var key1=keyWords.slice(0,2);var key2=keyWords.length<4?keyWords.slice(0,2):keyWords.slice(2,4);var key3=keyWords.length<6?keyWords.slice(0,2):keyWords.slice(4,6);this._des1=DES.createEncryptor(WordArray.create(key1));this._des2=DES.createEncryptor(WordArray.create(key2));this._des3=DES.createEncryptor(WordArray.create(key3))},encryptBlock:function(M,offset){this._des1.encryptBlock(M,offset);this._des2.decryptBlock(M,offset);this._des3.encryptBlock(M,offset)},decryptBlock:function(M,offset){this._des3.decryptBlock(M,offset);this._des2.encryptBlock(M,offset);this._des1.decryptBlock(M,offset)},keySize:192/32,ivSize:64/32,blockSize:64/32});C.TripleDES=BlockCipher._createHelper(TripleDES)})();return CryptoJS.TripleDES})})(tripledes);var rc4={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var RC4=C_algo.RC4=StreamCipher.extend({_doReset:function(){var key=this._key;var keyWords=key.words;var keySigBytes=key.sigBytes;var S=this._S=[];for(var i=0;i<256;i++){S[i]=i}for(var i=0,j=0;i<256;i++){var keyByteIndex=i%keySigBytes;var keyByte=keyWords[keyByteIndex>>>2]>>>24-keyByteIndex%4*8&255;j=(j+S[i]+keyByte)%256;var t=S[i];S[i]=S[j];S[j]=t}this._i=this._j=0},_doProcessBlock:function(M,offset){M[offset]^=generateKeystreamWord.call(this)},keySize:256/32,ivSize:0});function generateKeystreamWord(){var S=this._S;var i=this._i;var j=this._j;var keystreamWord=0;for(var n=0;n<4;n++){i=(i+1)%256;j=(j+S[i])%256;var t=S[i];S[i]=S[j];S[j]=t;keystreamWord|=S[(S[i]+S[j])%256]<<24-n*8}this._i=i;this._j=j;return keystreamWord}C.RC4=StreamCipher._createHelper(RC4);var RC4Drop=C_algo.RC4Drop=RC4.extend({cfg:RC4.cfg.extend({drop:192}),_doReset:function(){RC4._doReset.call(this);for(var i=this.cfg.drop;i>0;i--){generateKeystreamWord.call(this)}}});C.RC4Drop=StreamCipher._createHelper(RC4Drop)})();return CryptoJS.RC4})})(rc4);var rabbit={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var S=[];var C_=[];var G=[];var Rabbit=C_algo.Rabbit=StreamCipher.extend({_doReset:function(){var K=this._key.words;var iv=this.cfg.iv;for(var i=0;i<4;i++){K[i]=(K[i]<<8|K[i]>>>24)&16711935|(K[i]<<24|K[i]>>>8)&4278255360}var X=this._X=[K[0],K[3]<<16|K[2]>>>16,K[1],K[0]<<16|K[3]>>>16,K[2],K[1]<<16|K[0]>>>16,K[3],K[2]<<16|K[1]>>>16];var C=this._C=[K[2]<<16|K[2]>>>16,K[0]&4294901760|K[1]&65535,K[3]<<16|K[3]>>>16,K[1]&4294901760|K[2]&65535,K[0]<<16|K[0]>>>16,K[2]&4294901760|K[3]&65535,K[1]<<16|K[1]>>>16,K[3]&4294901760|K[0]&65535];this._b=0;for(var i=0;i<4;i++){nextState.call(this)}for(var i=0;i<8;i++){C[i]^=X[i+4&7]}if(iv){var IV=iv.words;var IV_0=IV[0];var IV_1=IV[1];var i0=(IV_0<<8|IV_0>>>24)&16711935|(IV_0<<24|IV_0>>>8)&4278255360;var i2=(IV_1<<8|IV_1>>>24)&16711935|(IV_1<<24|IV_1>>>8)&4278255360;var i1=i0>>>16|i2&4294901760;var i3=i2<<16|i0&65535;C[0]^=i0;C[1]^=i1;C[2]^=i2;C[3]^=i3;C[4]^=i0;C[5]^=i1;C[6]^=i2;C[7]^=i3;for(var i=0;i<4;i++){nextState.call(this)}}},_doProcessBlock:function(M,offset){var X=this._X;nextState.call(this);S[0]=X[0]^X[5]>>>16^X[3]<<16;S[1]=X[2]^X[7]>>>16^X[5]<<16;S[2]=X[4]^X[1]>>>16^X[7]<<16;S[3]=X[6]^X[3]>>>16^X[1]<<16;for(var i=0;i<4;i++){S[i]=(S[i]<<8|S[i]>>>24)&16711935|(S[i]<<24|S[i]>>>8)&4278255360;M[offset+i]^=S[i]}},blockSize:128/32,ivSize:64/32});function nextState(){var X=this._X;var C=this._C;for(var i=0;i<8;i++){C_[i]=C[i]}C[0]=C[0]+1295307597+this._b|0;C[1]=C[1]+3545052371+(C[0]>>>0>>0?1:0)|0;C[2]=C[2]+886263092+(C[1]>>>0>>0?1:0)|0;C[3]=C[3]+1295307597+(C[2]>>>0>>0?1:0)|0;C[4]=C[4]+3545052371+(C[3]>>>0>>0?1:0)|0;C[5]=C[5]+886263092+(C[4]>>>0>>0?1:0)|0;C[6]=C[6]+1295307597+(C[5]>>>0>>0?1:0)|0;C[7]=C[7]+3545052371+(C[6]>>>0>>0?1:0)|0;this._b=C[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var gx=X[i]+C[i];var ga=gx&65535;var gb=gx>>>16;var gh=((ga*ga>>>17)+ga*gb>>>15)+gb*gb;var gl=((gx&4294901760)*gx|0)+((gx&65535)*gx|0);G[i]=gh^gl}X[0]=G[0]+(G[7]<<16|G[7]>>>16)+(G[6]<<16|G[6]>>>16)|0;X[1]=G[1]+(G[0]<<8|G[0]>>>24)+G[7]|0;X[2]=G[2]+(G[1]<<16|G[1]>>>16)+(G[0]<<16|G[0]>>>16)|0;X[3]=G[3]+(G[2]<<8|G[2]>>>24)+G[1]|0;X[4]=G[4]+(G[3]<<16|G[3]>>>16)+(G[2]<<16|G[2]>>>16)|0;X[5]=G[5]+(G[4]<<8|G[4]>>>24)+G[3]|0;X[6]=G[6]+(G[5]<<16|G[5]>>>16)+(G[4]<<16|G[4]>>>16)|0;X[7]=G[7]+(G[6]<<8|G[6]>>>24)+G[5]|0}C.Rabbit=StreamCipher._createHelper(Rabbit)})();return CryptoJS.Rabbit})})(rabbit);var rabbitLegacy={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var S=[];var C_=[];var G=[];var RabbitLegacy=C_algo.RabbitLegacy=StreamCipher.extend({_doReset:function(){var K=this._key.words;var iv=this.cfg.iv;var X=this._X=[K[0],K[3]<<16|K[2]>>>16,K[1],K[0]<<16|K[3]>>>16,K[2],K[1]<<16|K[0]>>>16,K[3],K[2]<<16|K[1]>>>16];var C=this._C=[K[2]<<16|K[2]>>>16,K[0]&4294901760|K[1]&65535,K[3]<<16|K[3]>>>16,K[1]&4294901760|K[2]&65535,K[0]<<16|K[0]>>>16,K[2]&4294901760|K[3]&65535,K[1]<<16|K[1]>>>16,K[3]&4294901760|K[0]&65535];this._b=0;for(var i=0;i<4;i++){nextState.call(this)}for(var i=0;i<8;i++){C[i]^=X[i+4&7]}if(iv){var IV=iv.words;var IV_0=IV[0];var IV_1=IV[1];var i0=(IV_0<<8|IV_0>>>24)&16711935|(IV_0<<24|IV_0>>>8)&4278255360;var i2=(IV_1<<8|IV_1>>>24)&16711935|(IV_1<<24|IV_1>>>8)&4278255360;var i1=i0>>>16|i2&4294901760;var i3=i2<<16|i0&65535;C[0]^=i0;C[1]^=i1;C[2]^=i2;C[3]^=i3;C[4]^=i0;C[5]^=i1;C[6]^=i2;C[7]^=i3;for(var i=0;i<4;i++){nextState.call(this)}}},_doProcessBlock:function(M,offset){var X=this._X;nextState.call(this);S[0]=X[0]^X[5]>>>16^X[3]<<16;S[1]=X[2]^X[7]>>>16^X[5]<<16;S[2]=X[4]^X[1]>>>16^X[7]<<16;S[3]=X[6]^X[3]>>>16^X[1]<<16;for(var i=0;i<4;i++){S[i]=(S[i]<<8|S[i]>>>24)&16711935|(S[i]<<24|S[i]>>>8)&4278255360;M[offset+i]^=S[i]}},blockSize:128/32,ivSize:64/32});function nextState(){var X=this._X;var C=this._C;for(var i=0;i<8;i++){C_[i]=C[i]}C[0]=C[0]+1295307597+this._b|0;C[1]=C[1]+3545052371+(C[0]>>>0>>0?1:0)|0;C[2]=C[2]+886263092+(C[1]>>>0>>0?1:0)|0;C[3]=C[3]+1295307597+(C[2]>>>0>>0?1:0)|0;C[4]=C[4]+3545052371+(C[3]>>>0>>0?1:0)|0;C[5]=C[5]+886263092+(C[4]>>>0>>0?1:0)|0;C[6]=C[6]+1295307597+(C[5]>>>0>>0?1:0)|0;C[7]=C[7]+3545052371+(C[6]>>>0>>0?1:0)|0;this._b=C[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var gx=X[i]+C[i];var ga=gx&65535;var gb=gx>>>16;var gh=((ga*ga>>>17)+ga*gb>>>15)+gb*gb;var gl=((gx&4294901760)*gx|0)+((gx&65535)*gx|0);G[i]=gh^gl}X[0]=G[0]+(G[7]<<16|G[7]>>>16)+(G[6]<<16|G[6]>>>16)|0;X[1]=G[1]+(G[0]<<8|G[0]>>>24)+G[7]|0;X[2]=G[2]+(G[1]<<16|G[1]>>>16)+(G[0]<<16|G[0]>>>16)|0;X[3]=G[3]+(G[2]<<8|G[2]>>>24)+G[1]|0;X[4]=G[4]+(G[3]<<16|G[3]>>>16)+(G[2]<<16|G[2]>>>16)|0;X[5]=G[5]+(G[4]<<8|G[4]>>>24)+G[3]|0;X[6]=G[6]+(G[5]<<16|G[5]>>>16)+(G[4]<<16|G[4]>>>16)|0;X[7]=G[7]+(G[6]<<8|G[6]>>>24)+G[5]|0}C.RabbitLegacy=StreamCipher._createHelper(RabbitLegacy)})();return CryptoJS.RabbitLegacy})})(rabbitLegacy);(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports,libTypedarrays.exports,encUtf16.exports,encBase64.exports,encBase64url.exports,md5.exports,sha1.exports,sha256.exports,sha224.exports,sha512.exports,sha384.exports,sha3.exports,ripemd160.exports,hmac.exports,pbkdf2.exports,evpkdf.exports,cipherCore.exports,modeCfb.exports,modeCtr.exports,modeCtrGladman.exports,modeOfb.exports,modeEcb.exports,padAnsix923.exports,padIso10126.exports,padIso97971.exports,padZeropadding.exports,padNopadding.exports,formatHex.exports,aes.exports,tripledes.exports,rc4.exports,rabbit.exports,rabbitLegacy.exports)}})(commonjsGlobal,function(CryptoJS){return CryptoJS})})(cryptoJs);var exports$2={},reDigits=/^\d+$/;exports$2.io=io;exports$2.SHA1=function(string){return cryptoJs.exports.SHA1(string).toString()};exports$2.AES={decrypt:function(string,fgh){return cryptoJs.exports.AES.decrypt(string,fgh).toString(cryptoJs.exports.enc.Utf8)},encrypt:function(string,fgh){return cryptoJs.exports.AES.encrypt(string,fgh).toString()}};exports$2.ssplit=function(string,seperator){var components=string.split(seperator);return[components.shift(),components.join(seperator)]};exports$2.activeElement=function(){try{return document.activeElement}catch(e){return}};exports$2.isDigits=function(value){return reDigits.test(value)};exports$2.template=function(str,map){return str&&str.replace(/{(\w+)}/gi,function(outer,inner){return Object.prototype.hasOwnProperty.call(map,inner)?map[inner]:outer})};exports$2.getJSON=function(path,onSuccess,onError){var request=new XMLHttpRequest;request.open("GET",path,true);request.onreadystatechange=function(){if(this.readyState===4){if(this.status>=200&&this.status<400){try{onSuccess&&onSuccess(JSON.parse(this.responseText))}catch(e){onError&&onError()}}else{onError&&onError()}}};request.send();request=null};exports$2.escapeHtml=function(){var pattern=/[&<>"'/]/g,entities={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return function(string){return String(string).replace(pattern,function(s){return entities[s]})}}();var exports$1={};exports$1.html=function(string){this.forEach(function(element){element.innerHTML=string});return this};exports$1.append=function(string){this.forEach(function(element){element.innerHTML+=string});return this};exports$1.first=function(){return this[0]};exports$1.on=function(eventName,callback){this.forEach(function(element){if(element.addEventListener){element.addEventListener(eventName,callback,false)}else if(element.attachEvent){element.attachEvent("on"+eventName,callback)}});return this};exports$1.focus=function(){if(this[0]){this[0].focus()}return this};function ElementArray(){}ElementArray.prototype=new Array;for(var k in exports$1)ElementArray.prototype[k]=exports$1[k];function Dollar(selector){var match,matches=new ElementArray;if(selector!==undefined){if(selector===document){matches.push(document)}else if(selector===window){matches.push(window)}else{if(match=document.querySelectorAll(selector)){for(var i=0;isettings.key.maxLen){return mediator.emit("console:error",templates.messages.key_to_long)}else if(payload.lengthsettings.nick.maxLen){return mediator("console:error",Dollar.template(templates.messages.nick_to_long,{nick_maxLen:settings.nick.maxLen}))}else if(payload.length0&&ttl<3600){mediator.emit("console:info",Dollar.template(templates.messages.torch_is_now,{ttl:ttl}));settings.ttl=ttl*1e3}else{mediator.emit("console:error",Dollar.template(templates.messages.torch_not_set))}},param:function(p){parameters=Object.assign({},parameters,p)},showNotification:function(type,nick,text){var title=type!=="message"?"Cryptalk":nick,icon=type==="message"?"gfx/icon_128x128.png":type==="error"?"gfx/icon_128x128_error.png":"gfx/icon_128x128_info.png";mediator.emit("notification:send",{title:title.substring(0,20),body:text.substring(0,80),icon:icon});if(type==="message"){mediator.emit("audio:play",sounds.message)}},motd:function(message){commands.post("motd",message)},info:function(message){commands.post("info",message)},error:function(message){commands.post("error",message)},server:function(message){commands.post("server",message)},message:function(data){commands.post("message",data.message,data.nick)},clearInput:function(){components.input[0].value=""},clear:function(){components.chat[0].innerHTML=""},lockInput:function(){components.input[0].setAttribute("disabled","disabled");components.inputWrapper[0].className="loading"},unlockInput:function(){components.input[0].removeAttribute("disabled");components.inputWrapper[0].className="";components.input.focus()},_require:function(filepath,done){commands.lockInput();commands.post("info","Requiring "+filepath+"...");require([filepath],function(){commands.post("info","Successfully required "+filepath+".");commands.unlockInput();done()},function(e){commands.post("error",'An error occurred while trying to load "'+filepath+'":\n'+e);commands.unlockInput();done()})}},onKeyDown=function(e){var buffer,parts,payload,command;if(!e.ctrlKey&&!e.altKey&&components.input[0]!==Dollar.activeElement()){return components.input.focus()}if(e.keyCode!==13||!(buffer=components.input[0].value)){return}if((buffer[0]||buffer.slice(0,1))==="/"){parts=Dollar.ssplit(buffer.slice(1)," ");command=parts[0];payload=parts[1];mediator.emit("command:"+command,payload,function(retvals,recipients){if(!recipients){return commands.post("error",Dollar.template(templates.messages.unrecognized_command,{commandName:command}))}else{commands.clearInput()}})}else{if(!parameters.room||!parameters.key){return!parameters.room?commands.post("error",templates.messages.msg_no_room):commands.post("error",templates.messages.msg_no_key)}mediator.emit("socket:emit",{data:"message:send",payload:{room:Dollar.SHA1(parameters.room),msg:Dollar.AES.encrypt(buffer,Dollar.SHA1(parameters.room)+parameters.key).toString(),nick:parameters.nick?Dollar.AES.encrypt(parameters.nick,Dollar.SHA1(parameters.room)+parameters.key).toString():false}});commands.clearInput()}};Dollar(document).on("keydown",onKeyDown);components.input.focus();for(var commandName in commands){if(commandName!=="_require"&&commandName!=="post"){mediator.on("console:"+commandName,commands[commandName])}}mediator.on("console:require",commands._require);mediator.on("console:post",function(data){commands.post(data.type,data.data,data.nick)})}function room(mediator,settings,templates){var room=false,join=function(payload){if(room!==false){mediator.emit("console:error",Dollar.template(templates.messages.already_in_room,{room:room}))}else if(payload.length>=settings.room.maxLen){mediator.emit("console:error",Dollar.template(templates.messages.room_name_too_long))}else if(payload.length1];(subs[event]||(subs[event]=[])).push(subscription);if(emits[event]){i=0;subscription=[subscription];while(item=emits[event][i++]){emit(0,0,item[0],item[1],subscription);if(once){break}}}}function off(fromId,event,handler){let sub,i=0,toSubs=subs[event];if(toSubs){while(sub=toSubs[i++]){if(sub[0]===fromId&&(!handler||handler===sub[1])){toSubs.splice(--i,1)}}}}function emit(persistent,event,data,callback,explicitSubs){let sub,toSubs=explicitSubs||subs[event]||[],total=toSubs.length,left,loop,answers=[],done;if(subs["*"]){toSubs=toSubs.concat(subs["*"])}loop=left=toSubs.length;if(loop){done=!callback?noop:function(data){if(data){answers.push(data)}if(!--left){callback(answers,total);callback=0}};while(sub=toSubs[--loop]){sub[1](data,sub[2]?done:left--,event)}}if(!left&&callback){callback(answers,total)}if(persistent){(emits[event]||(emits[event]=[])).push([data,callback])}}function Castrato(){this.nodeId=index++;return this}Castrato.prototype.emit=function(persistent,event,data,handler){if(persistent!==true&&persistent!==false){handler=data;data=event;event=persistent;persistent=false}emit(persistent,event,data,handler);return this};Castrato.prototype.on=function(event,handler){on(this.nodeId,event,handler);return this};Castrato.prototype.once=function(event,handler){on(this.nodeId,event,function wrapper(data,done){off(this.nodeId,event,wrapper);handler(data,handler.length>1?done:done())},true);return this};Castrato.prototype.off=function(event,handler){off(this.nodeId,event,handler);return this};Castrato.prototype.destroy=function(){this.nodeId=0;index=0;subs={};emits={};return this};let castrato=new Castrato;function win(mediator){var exports={},focusCallback=function(){mediator.emit("window:focused")},blurCallback=function(){mediator.emit("window:blurred")};exports.setTitle=function(t){document.title=t},exports.getTitle=function(){return document.title};if(window.addEventListener){window.addEventListener("focus",focusCallback,true);window.addEventListener("blur",blurCallback,true)}else{window.observe("focusin",focusCallback);window.observe("focusout",blurCallback)}mediator.on("window:title",exports.setTitle);return exports}function notifications(mediator,settings,win){var enabled=true,native_supported=false,new_title,original_title,blink_timer,interval,last,now=function(){return performance.now()||Date.now()},on=function(){enabled=true},off=function(){enabled=false},resetState=function(){clearTimeout(blink_timer);if(original_title!==undefined)win.setTitle(original_title);original_title=undefined;new_title=undefined},doBlink=function(){if(enabled){if(win.getTitle()===original_title)win.setTitle(new_title);else win.setTitle(original_title);blink_timer=setTimeout(doBlink,interval)}else{resetState()}},enableNative=function(){if(native_supported&&Notification.permission!=="denied"){Notification.requestPermission()}},blinkTitleUntilFocus=function(t,i){interval=i===undefined?1e3:i;if(enabled&&original_title===undefined){new_title=t;original_title=win.getTitle();doBlink()}},notify=function(title,body,icon,fallback){if(enabled&&now()-last>settings.notifications.maxOnePerMs){if(fallback===undefined)fallback=false;if(native_supported&&Notification.permission==="granted"){var n=new Notification(title,{body:body,icon:icon});n.onshow=function(){setTimeout(function(){n.close()},3e3)};last=now()}else if(fallback){blinkTitleUntilFocus("Attention",1e3)}}};native_supported=window.Notification!==undefined;mediator.on("notification:send",function(data){notify(data.title,data.body,data.icon,true)});mediator.on("notification:on",function(){on()});mediator.on("notification:off",function(){off()});enableNative();off();last=now();resetState()}var templates={help:"
                                                                    \n"+"Cryptalk, encrypted instant chat.                                      \n"+"                                                                       \n"+"----------------------------------------------------------------------\t\n"+"                                                                       \n"+"Client:                                                    \t\t\t\n"+"\t/key\t\tStrongPassphrase\tSets encryption key                 \n"+"\t/nick\t\tNickName\t\tSets an optional nick                   \n"+"\t/mute  \t\t\t\t\tAudio on\t\t\t\t\t\t\t\t\t\n"+"\t/unmute  \t\t\t\tAudio off\t\t\t\t\t\t\t\t\t\n"+"\t/clear\t\t\t\t\tClear on-screen buffer                      \n"+"\t/help\t\t\t\t\tThis                                        \n"+"\t/title\t\t\t\t\tSet your local page title\t\t\t\t\t\n"+"\t/torch\t\tAfterSeconds\t\tConsole messages are torched  \t\t\n"+"\t\t\t\t\t\tafter this amount of seconds \t\t\t\t\t\n"+"\t\t\t\t\t\t(default 600).\t\t\t\t\t\t\t\t\t\n"+"                                                                       \n"+"Room:                                                    \t\t\t\t\n"+"\t/join\t\tRoomId\t\t\tJoin a room\t                            \n"+"\t/leave\t\t\t\t\tLeave the room                              \n"+"\t/count\t\t\t\t\tCount participants                          \n"+"                                                                       \n"+"Host:  \t\t                                                    \t\n"+"\t/connect\t\t\tConnect to host\t\t\t          \t\t     \t\n"+"\t/disconnect\t\t\t\tDisconnect from host    \t\t\t        \n"+"                                                                       \n"+"You can select any of the five last commands/messages with up/down key.\n"+"                                                                       \n"+"Due to security reasons, /key command is not saved, and command        \n"+"history is  automatically cleared after one minute of inactivity.      \n"+"                                                                       \n"+"It is highly recommended to use incognito mode while chatting, \n"+"to prevent browsers from keeping history or cache.            \n"+"                                                                       \n"+"----------------------------------------------------------------------\t\n"+"
    ",default_nick:"Anonymous",post:{motd:'
  • {text}
  • ',info:'
  • [{timestamp}] INF> {text}
  • ',server:'
  • [{timestamp}] SRV> {text}
  • ',error:'
  • [{timestamp}] ERR> {text}
  • ',message:'
  • [{timestamp}] MSG> {nick}> {text}
  • '},messages:{key_to_short:"Hmm, that's a weak key, try again...",key_to_long:"Man that's a long key. Make it a tad short, 'kay?",key_ok:"Key set, you can now start communicating.",key_no_host:"You have to connect to a host before setting the key.",join_no_host:"You have to connect to a host before joining a room.",nick_to_short:"Nickname is too short, it has to be at least {nick_minLen} characters long. Try again.",nick_to_long:"Nickname is too long, it can be at most {nick_maxLen} characters long. Try again.",nick_set:"From now on, you're referred to as '{nick}'.",msg_no_room:"You have to join a room before sending messages. See /help.",not_in_room:"You have to be in a room to count participants...",msg_no_key:"You have to set an encryption key before sending a message. See /help.",leave_from_nowhere:"How are you supposed to leave, while being nowhere?",torch_is_now:"Messages are now torched after {ttl} seconds.",torch_not_set:"Invalid torch delay entered, nothing changed. See /help.",title_set:"The title of this window is now '{title}'.",muted:"Notifications and sounds are now muted.",unmuted:"Notifications and sounds are now on.",unrecognized_command:'Unrecognized command: "{commandName}"',room_name_too_long:"Isn't that a bit long?",room_name_too_short:"Nah, too short.",joined_room:"Joined room {roomName}.",left_room:"Left room {roomName}.",already_in_room:"You are already in a room ({room}), try /leave first.",unable_to_decrypt:"Unabled to decrypt received message, keys does not match.",socket_error:"A network error has occurred. A restart may be required to bring back full functionality.
    Examine the logs for more details.",connecting:"Connecting to host {host}...",connected:"A connection to the server has been established. Happy chatting!",disconnected:"Disconnected from host {host}.",already_connected:"You have to disconnect from {host} before joining another.",reconnect_no_host:"There is no host to reconnect with.",host_available:'{index}\t[AVAILABLE]\t{name}\n',host_unavailable:'{index}\t[UNAVAILABLE]\t{name}\n'},server:{person_joined:"A person joined this room.",person_left:"A person left this room.",person_count:"There are {payload} people in this room, including you.",person_single:"You are the only person in this room.",command_failed:"Server command failed, you're probably trying to du something bogus.",bogus:"Received a bogus message from server."},client:{title:"Cryptalk - Offline"}};var settings={title:"Cryptalk - Online",ttl:6e5,motd:"
    \n\n"+"▄████▄   ██▀███ ▓██   ██▓ ██▓███  ▄▄▄█████▓ ▄▄▄       ██▓     ██ ▄█▀  \n"+"▒██▀ ▀█  ▓██ ▒ ██▒▒██  ██▒▓██░  ██▒▓  ██▒ ▓▒▒████▄    ▓██▒     ██▄█▒  \n"+"▒▓█    ▄ ▓██ ░▄█ ▒ ▒██ ██░▓██░ ██▓▒▒ ▓██░ ▒░▒██  ▀█▄  ▒██░    ▓███▄░  \n"+"▒▓▓▄ ▄██▒▒██▀▀█▄   ░ ▐██▓░▒██▄█▓▒ ▒░ ▓██▓ ░ ░██▄▄▄▄██ ▒██░    ▓██ █▄  \n"+"▒ ▓███▀ ░░██▓ ▒██▒ ░ ██▒▓░▒██▒ ░  ░  ▒██▒ ░  ▓█   ▓██▒░██████▒▒██▒ █▄ \n"+"░ ░▒ ▒  ░░ ▒▓ ░▒▓░  ██▒▒▒ ▒▓▒░ ░  ░  ▒ ░░    ▒▒   ▓▒█░░ ▒░▓  ░▒ ▒▒ ▓▒ \n"+"  ░  ▒     ░▒ ░ ▒░▓██ ░▒░ ░▒ ░         ░      ▒   ▒▒ ░░ ░ ▒  ░░ ░▒ ▒░ \n"+"░          ░░   ░ ▒ ▒ ░░  ░░         ░        ░   ▒     ░ ░   ░ ░░ ░  \n"+"░ ░         ░     ░ ░                             ░  ░    ░  ░░  ░    \n"+"░                 ░ ░                                                 \n"+"                                  https://github.com/hexagon/cryptalk \n"+"                                                                      \n"+" Tip of the day: /help                                                \n"+"----------------------------------------------------------------------"+"
    ",nick:{maxLen:20,minLen:2},key:{maxLen:1024,minLen:8},room:{minLen:1,maxLen:64},notifications:{maxOnePerMs:3e3}};var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function commonjsRequire(path){throw new Error('Could not dynamically require "'+path+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var cryptoJs={exports:{}};var core={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory()}})(commonjsGlobal,function(){var CryptoJS=CryptoJS||function(Math,undefined$1){var crypto;if(typeof window!=="undefined"&&window.crypto){crypto=window.crypto}if(typeof self!=="undefined"&&self.crypto){crypto=self.crypto}if(typeof globalThis!=="undefined"&&globalThis.crypto){crypto=globalThis.crypto}if(!crypto&&typeof window!=="undefined"&&window.msCrypto){crypto=window.msCrypto}if(!crypto&&typeof commonjsGlobal!=="undefined"&&commonjsGlobal.crypto){crypto=commonjsGlobal.crypto}if(!crypto&&typeof commonjsRequire==="function"){try{crypto=require("crypto")}catch(err){}}var cryptoSecureRandomInt=function(){if(crypto){if(typeof crypto.getRandomValues==="function"){try{return crypto.getRandomValues(new Uint32Array(1))[0]}catch(err){}}if(typeof crypto.randomBytes==="function"){try{return crypto.randomBytes(4).readInt32LE()}catch(err){}}}throw new Error("Native crypto module could not be used to get secure random number.")};var create=Object.create||function(){function F(){}return function(obj){var subtype;F.prototype=obj;subtype=new F;F.prototype=null;return subtype}}();var C={};var C_lib=C.lib={};var Base=C_lib.Base=function(){return{extend:function(overrides){var subtype=create(this);if(overrides){subtype.mixIn(overrides)}if(!subtype.hasOwnProperty("init")||this.init===subtype.init){subtype.init=function(){subtype.$super.init.apply(this,arguments)}}subtype.init.prototype=subtype;subtype.$super=this;return subtype},create:function(){var instance=this.extend();instance.init.apply(instance,arguments);return instance},init:function(){},mixIn:function(properties){for(var propertyName in properties){if(properties.hasOwnProperty(propertyName)){this[propertyName]=properties[propertyName]}}if(properties.hasOwnProperty("toString")){this.toString=properties.toString}},clone:function(){return this.init.prototype.extend(this)}}}();var WordArray=C_lib.WordArray=Base.extend({init:function(words,sigBytes){words=this.words=words||[];if(sigBytes!=undefined$1){this.sigBytes=sigBytes}else{this.sigBytes=words.length*4}},toString:function(encoder){return(encoder||Hex).stringify(this)},concat:function(wordArray){var thisWords=this.words;var thatWords=wordArray.words;var thisSigBytes=this.sigBytes;var thatSigBytes=wordArray.sigBytes;this.clamp();if(thisSigBytes%4){for(var i=0;i>>2]>>>24-i%4*8&255;thisWords[thisSigBytes+i>>>2]|=thatByte<<24-(thisSigBytes+i)%4*8}}else{for(var j=0;j>>2]=thatWords[j>>>2]}}this.sigBytes+=thatSigBytes;return this},clamp:function(){var words=this.words;var sigBytes=this.sigBytes;words[sigBytes>>>2]&=4294967295<<32-sigBytes%4*8;words.length=Math.ceil(sigBytes/4)},clone:function(){var clone=Base.clone.call(this);clone.words=this.words.slice(0);return clone},random:function(nBytes){var words=[];for(var i=0;i>>2]>>>24-i%4*8&255;hexChars.push((bite>>>4).toString(16));hexChars.push((bite&15).toString(16))}return hexChars.join("")},parse:function(hexStr){var hexStrLength=hexStr.length;var words=[];for(var i=0;i>>3]|=parseInt(hexStr.substr(i,2),16)<<24-i%8*4}return new WordArray.init(words,hexStrLength/2)}};var Latin1=C_enc.Latin1={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var latin1Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;latin1Chars.push(String.fromCharCode(bite))}return latin1Chars.join("")},parse:function(latin1Str){var latin1StrLength=latin1Str.length;var words=[];for(var i=0;i>>2]|=(latin1Str.charCodeAt(i)&255)<<24-i%4*8}return new WordArray.init(words,latin1StrLength)}};var Utf8=C_enc.Utf8={stringify:function(wordArray){try{return decodeURIComponent(escape(Latin1.stringify(wordArray)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(utf8Str){return Latin1.parse(unescape(encodeURIComponent(utf8Str)))}};var BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm=Base.extend({reset:function(){this._data=new WordArray.init;this._nDataBytes=0},_append:function(data){if(typeof data=="string"){data=Utf8.parse(data)}this._data.concat(data);this._nDataBytes+=data.sigBytes},_process:function(doFlush){var processedWords;var data=this._data;var dataWords=data.words;var dataSigBytes=data.sigBytes;var blockSize=this.blockSize;var blockSizeBytes=blockSize*4;var nBlocksReady=dataSigBytes/blockSizeBytes;if(doFlush){nBlocksReady=Math.ceil(nBlocksReady)}else{nBlocksReady=Math.max((nBlocksReady|0)-this._minBufferSize,0)}var nWordsReady=nBlocksReady*blockSize;var nBytesReady=Math.min(nWordsReady*4,dataSigBytes);if(nWordsReady){for(var offset=0;offset>>2]|=typedArray[i]<<24-i%4*8}superInit.call(this,words,typedArrayByteLength)}else{superInit.apply(this,arguments)}};subInit.prototype=WordArray})();return CryptoJS.lib.WordArray})})(libTypedarrays);var encUtf16={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Utf16=C_enc.Utf16BE={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var utf16Chars=[];for(var i=0;i>>2]>>>16-i%4*8&65535;utf16Chars.push(String.fromCharCode(codePoint))}return utf16Chars.join("")},parse:function(utf16Str){var utf16StrLength=utf16Str.length;var words=[];for(var i=0;i>>1]|=utf16Str.charCodeAt(i)<<16-i%2*16}return WordArray.create(words,utf16StrLength*2)}};C_enc.Utf16LE={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var utf16Chars=[];for(var i=0;i>>2]>>>16-i%4*8&65535);utf16Chars.push(String.fromCharCode(codePoint))}return utf16Chars.join("")},parse:function(utf16Str){var utf16StrLength=utf16Str.length;var words=[];for(var i=0;i>>1]|=swapEndian(utf16Str.charCodeAt(i)<<16-i%2*16)}return WordArray.create(words,utf16StrLength*2)}};function swapEndian(word){return word<<8&4278255360|word>>>8&16711935}})();return CryptoJS.enc.Utf16})})(encUtf16);var encBase64={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Base64={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var map=this._map;wordArray.clamp();var base64Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;var byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255;var byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255;var triplet=byte1<<16|byte2<<8|byte3;for(var j=0;j<4&&i+j*.75>>6*(3-j)&63))}}var paddingChar=map.charAt(64);if(paddingChar){while(base64Chars.length%4){base64Chars.push(paddingChar)}}return base64Chars.join("")},parse:function(base64Str){var base64StrLength=base64Str.length;var map=this._map;var reverseMap=this._reverseMap;if(!reverseMap){reverseMap=this._reverseMap=[];for(var j=0;j>>6-i%4*2;var bitsCombined=bits1|bits2;words[nBytes>>>2]|=bitsCombined<<24-nBytes%4*8;nBytes++}}return WordArray.create(words,nBytes)}})();return CryptoJS.enc.Base64})})(encBase64);var encBase64url={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Base64url={stringify:function(wordArray,urlSafe=true){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var map=urlSafe?this._safe_map:this._map;wordArray.clamp();var base64Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;var byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255;var byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255;var triplet=byte1<<16|byte2<<8|byte3;for(var j=0;j<4&&i+j*.75>>6*(3-j)&63))}}var paddingChar=map.charAt(64);if(paddingChar){while(base64Chars.length%4){base64Chars.push(paddingChar)}}return base64Chars.join("")},parse:function(base64Str,urlSafe=true){var base64StrLength=base64Str.length;var map=urlSafe?this._safe_map:this._map;var reverseMap=this._reverseMap;if(!reverseMap){reverseMap=this._reverseMap=[];for(var j=0;j>>6-i%4*2;var bitsCombined=bits1|bits2;words[nBytes>>>2]|=bitsCombined<<24-nBytes%4*8;nBytes++}}return WordArray.create(words,nBytes)}})();return CryptoJS.enc.Base64url})})(encBase64url);var md5={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var T=[];(function(){for(var i=0;i<64;i++){T[i]=Math.abs(Math.sin(i+1))*4294967296|0}})();var MD5=C_algo.MD5=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var H=this._hash.words;var M_offset_0=M[offset+0];var M_offset_1=M[offset+1];var M_offset_2=M[offset+2];var M_offset_3=M[offset+3];var M_offset_4=M[offset+4];var M_offset_5=M[offset+5];var M_offset_6=M[offset+6];var M_offset_7=M[offset+7];var M_offset_8=M[offset+8];var M_offset_9=M[offset+9];var M_offset_10=M[offset+10];var M_offset_11=M[offset+11];var M_offset_12=M[offset+12];var M_offset_13=M[offset+13];var M_offset_14=M[offset+14];var M_offset_15=M[offset+15];var a=H[0];var b=H[1];var c=H[2];var d=H[3];a=FF(a,b,c,d,M_offset_0,7,T[0]);d=FF(d,a,b,c,M_offset_1,12,T[1]);c=FF(c,d,a,b,M_offset_2,17,T[2]);b=FF(b,c,d,a,M_offset_3,22,T[3]);a=FF(a,b,c,d,M_offset_4,7,T[4]);d=FF(d,a,b,c,M_offset_5,12,T[5]);c=FF(c,d,a,b,M_offset_6,17,T[6]);b=FF(b,c,d,a,M_offset_7,22,T[7]);a=FF(a,b,c,d,M_offset_8,7,T[8]);d=FF(d,a,b,c,M_offset_9,12,T[9]);c=FF(c,d,a,b,M_offset_10,17,T[10]);b=FF(b,c,d,a,M_offset_11,22,T[11]);a=FF(a,b,c,d,M_offset_12,7,T[12]);d=FF(d,a,b,c,M_offset_13,12,T[13]);c=FF(c,d,a,b,M_offset_14,17,T[14]);b=FF(b,c,d,a,M_offset_15,22,T[15]);a=GG(a,b,c,d,M_offset_1,5,T[16]);d=GG(d,a,b,c,M_offset_6,9,T[17]);c=GG(c,d,a,b,M_offset_11,14,T[18]);b=GG(b,c,d,a,M_offset_0,20,T[19]);a=GG(a,b,c,d,M_offset_5,5,T[20]);d=GG(d,a,b,c,M_offset_10,9,T[21]);c=GG(c,d,a,b,M_offset_15,14,T[22]);b=GG(b,c,d,a,M_offset_4,20,T[23]);a=GG(a,b,c,d,M_offset_9,5,T[24]);d=GG(d,a,b,c,M_offset_14,9,T[25]);c=GG(c,d,a,b,M_offset_3,14,T[26]);b=GG(b,c,d,a,M_offset_8,20,T[27]);a=GG(a,b,c,d,M_offset_13,5,T[28]);d=GG(d,a,b,c,M_offset_2,9,T[29]);c=GG(c,d,a,b,M_offset_7,14,T[30]);b=GG(b,c,d,a,M_offset_12,20,T[31]);a=HH(a,b,c,d,M_offset_5,4,T[32]);d=HH(d,a,b,c,M_offset_8,11,T[33]);c=HH(c,d,a,b,M_offset_11,16,T[34]);b=HH(b,c,d,a,M_offset_14,23,T[35]);a=HH(a,b,c,d,M_offset_1,4,T[36]);d=HH(d,a,b,c,M_offset_4,11,T[37]);c=HH(c,d,a,b,M_offset_7,16,T[38]);b=HH(b,c,d,a,M_offset_10,23,T[39]);a=HH(a,b,c,d,M_offset_13,4,T[40]);d=HH(d,a,b,c,M_offset_0,11,T[41]);c=HH(c,d,a,b,M_offset_3,16,T[42]);b=HH(b,c,d,a,M_offset_6,23,T[43]);a=HH(a,b,c,d,M_offset_9,4,T[44]);d=HH(d,a,b,c,M_offset_12,11,T[45]);c=HH(c,d,a,b,M_offset_15,16,T[46]);b=HH(b,c,d,a,M_offset_2,23,T[47]);a=II(a,b,c,d,M_offset_0,6,T[48]);d=II(d,a,b,c,M_offset_7,10,T[49]);c=II(c,d,a,b,M_offset_14,15,T[50]);b=II(b,c,d,a,M_offset_5,21,T[51]);a=II(a,b,c,d,M_offset_12,6,T[52]);d=II(d,a,b,c,M_offset_3,10,T[53]);c=II(c,d,a,b,M_offset_10,15,T[54]);b=II(b,c,d,a,M_offset_1,21,T[55]);a=II(a,b,c,d,M_offset_8,6,T[56]);d=II(d,a,b,c,M_offset_15,10,T[57]);c=II(c,d,a,b,M_offset_6,15,T[58]);b=II(b,c,d,a,M_offset_13,21,T[59]);a=II(a,b,c,d,M_offset_4,6,T[60]);d=II(d,a,b,c,M_offset_11,10,T[61]);c=II(c,d,a,b,M_offset_2,15,T[62]);b=II(b,c,d,a,M_offset_9,21,T[63]);H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;var nBitsTotalH=Math.floor(nBitsTotal/4294967296);var nBitsTotalL=nBitsTotal;dataWords[(nBitsLeft+64>>>9<<4)+15]=(nBitsTotalH<<8|nBitsTotalH>>>24)&16711935|(nBitsTotalH<<24|nBitsTotalH>>>8)&4278255360;dataWords[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotalL<<8|nBitsTotalL>>>24)&16711935|(nBitsTotalL<<24|nBitsTotalL>>>8)&4278255360;data.sigBytes=(dataWords.length+1)*4;this._process();var hash=this._hash;var H=hash.words;for(var i=0;i<4;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});function FF(a,b,c,d,x,s,t){var n=a+(b&c|~b&d)+x+t;return(n<>>32-s)+b}function GG(a,b,c,d,x,s,t){var n=a+(b&d|c&~d)+x+t;return(n<>>32-s)+b}function HH(a,b,c,d,x,s,t){var n=a+(b^c^d)+x+t;return(n<>>32-s)+b}function II(a,b,c,d,x,s,t){var n=a+(c^(b|~d))+x+t;return(n<>>32-s)+b}C.MD5=Hasher._createHelper(MD5);C.HmacMD5=Hasher._createHmacHelper(MD5)})(Math);return CryptoJS.MD5})})(md5);var sha1={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var W=[];var SHA1=C_algo.SHA1=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){var H=this._hash.words;var a=H[0];var b=H[1];var c=H[2];var d=H[3];var e=H[4];for(var i=0;i<80;i++){if(i<16){W[i]=M[offset+i]|0}else{var n=W[i-3]^W[i-8]^W[i-14]^W[i-16];W[i]=n<<1|n>>>31}var t=(a<<5|a>>>27)+e+W[i];if(i<20){t+=(b&c|~b&d)+1518500249}else if(i<40){t+=(b^c^d)+1859775393}else if(i<60){t+=(b&c|b&d|c&d)-1894007588}else{t+=(b^c^d)-899497514}e=d;d=c;c=b<<30|b>>>2;b=a;a=t}H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0;H[4]=H[4]+e|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();return this._hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});C.SHA1=Hasher._createHelper(SHA1);C.HmacSHA1=Hasher._createHmacHelper(SHA1)})();return CryptoJS.SHA1})})(sha1);var sha256={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var H=[];var K=[];(function(){function isPrime(n){var sqrtN=Math.sqrt(n);for(var factor=2;factor<=sqrtN;factor++){if(!(n%factor)){return false}}return true}function getFractionalBits(n){return(n-(n|0))*4294967296|0}var n=2;var nPrime=0;while(nPrime<64){if(isPrime(n)){if(nPrime<8){H[nPrime]=getFractionalBits(Math.pow(n,1/2))}K[nPrime]=getFractionalBits(Math.pow(n,1/3));nPrime++}n++}})();var W=[];var SHA256=C_algo.SHA256=Hasher.extend({_doReset:function(){this._hash=new WordArray.init(H.slice(0))},_doProcessBlock:function(M,offset){var H=this._hash.words;var a=H[0];var b=H[1];var c=H[2];var d=H[3];var e=H[4];var f=H[5];var g=H[6];var h=H[7];for(var i=0;i<64;i++){if(i<16){W[i]=M[offset+i]|0}else{var gamma0x=W[i-15];var gamma0=(gamma0x<<25|gamma0x>>>7)^(gamma0x<<14|gamma0x>>>18)^gamma0x>>>3;var gamma1x=W[i-2];var gamma1=(gamma1x<<15|gamma1x>>>17)^(gamma1x<<13|gamma1x>>>19)^gamma1x>>>10;W[i]=gamma0+W[i-7]+gamma1+W[i-16]}var ch=e&f^~e&g;var maj=a&b^a&c^b&c;var sigma0=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22);var sigma1=(e<<26|e>>>6)^(e<<21|e>>>11)^(e<<7|e>>>25);var t1=h+sigma1+ch+K[i]+W[i];var t2=sigma0+maj;h=g;g=f;f=e;e=d+t1|0;d=c;c=b;b=a;a=t1+t2|0}H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0;H[4]=H[4]+e|0;H[5]=H[5]+f|0;H[6]=H[6]+g|0;H[7]=H[7]+h|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();return this._hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});C.SHA256=Hasher._createHelper(SHA256);C.HmacSHA256=Hasher._createHmacHelper(SHA256)})(Math);return CryptoJS.SHA256})})(sha256);var sha224={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,sha256.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_algo=C.algo;var SHA256=C_algo.SHA256;var SHA224=C_algo.SHA224=SHA256.extend({_doReset:function(){this._hash=new WordArray.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var hash=SHA256._doFinalize.call(this);hash.sigBytes-=4;return hash}});C.SHA224=SHA256._createHelper(SHA224);C.HmacSHA224=SHA256._createHmacHelper(SHA224)})();return CryptoJS.SHA224})})(sha224);var sha512={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var Hasher=C_lib.Hasher;var C_x64=C.x64;var X64Word=C_x64.Word;var X64WordArray=C_x64.WordArray;var C_algo=C.algo;function X64Word_create(){return X64Word.create.apply(X64Word,arguments)}var K=[X64Word_create(1116352408,3609767458),X64Word_create(1899447441,602891725),X64Word_create(3049323471,3964484399),X64Word_create(3921009573,2173295548),X64Word_create(961987163,4081628472),X64Word_create(1508970993,3053834265),X64Word_create(2453635748,2937671579),X64Word_create(2870763221,3664609560),X64Word_create(3624381080,2734883394),X64Word_create(310598401,1164996542),X64Word_create(607225278,1323610764),X64Word_create(1426881987,3590304994),X64Word_create(1925078388,4068182383),X64Word_create(2162078206,991336113),X64Word_create(2614888103,633803317),X64Word_create(3248222580,3479774868),X64Word_create(3835390401,2666613458),X64Word_create(4022224774,944711139),X64Word_create(264347078,2341262773),X64Word_create(604807628,2007800933),X64Word_create(770255983,1495990901),X64Word_create(1249150122,1856431235),X64Word_create(1555081692,3175218132),X64Word_create(1996064986,2198950837),X64Word_create(2554220882,3999719339),X64Word_create(2821834349,766784016),X64Word_create(2952996808,2566594879),X64Word_create(3210313671,3203337956),X64Word_create(3336571891,1034457026),X64Word_create(3584528711,2466948901),X64Word_create(113926993,3758326383),X64Word_create(338241895,168717936),X64Word_create(666307205,1188179964),X64Word_create(773529912,1546045734),X64Word_create(1294757372,1522805485),X64Word_create(1396182291,2643833823),X64Word_create(1695183700,2343527390),X64Word_create(1986661051,1014477480),X64Word_create(2177026350,1206759142),X64Word_create(2456956037,344077627),X64Word_create(2730485921,1290863460),X64Word_create(2820302411,3158454273),X64Word_create(3259730800,3505952657),X64Word_create(3345764771,106217008),X64Word_create(3516065817,3606008344),X64Word_create(3600352804,1432725776),X64Word_create(4094571909,1467031594),X64Word_create(275423344,851169720),X64Word_create(430227734,3100823752),X64Word_create(506948616,1363258195),X64Word_create(659060556,3750685593),X64Word_create(883997877,3785050280),X64Word_create(958139571,3318307427),X64Word_create(1322822218,3812723403),X64Word_create(1537002063,2003034995),X64Word_create(1747873779,3602036899),X64Word_create(1955562222,1575990012),X64Word_create(2024104815,1125592928),X64Word_create(2227730452,2716904306),X64Word_create(2361852424,442776044),X64Word_create(2428436474,593698344),X64Word_create(2756734187,3733110249),X64Word_create(3204031479,2999351573),X64Word_create(3329325298,3815920427),X64Word_create(3391569614,3928383900),X64Word_create(3515267271,566280711),X64Word_create(3940187606,3454069534),X64Word_create(4118630271,4000239992),X64Word_create(116418474,1914138554),X64Word_create(174292421,2731055270),X64Word_create(289380356,3203993006),X64Word_create(460393269,320620315),X64Word_create(685471733,587496836),X64Word_create(852142971,1086792851),X64Word_create(1017036298,365543100),X64Word_create(1126000580,2618297676),X64Word_create(1288033470,3409855158),X64Word_create(1501505948,4234509866),X64Word_create(1607167915,987167468),X64Word_create(1816402316,1246189591)];var W=[];(function(){for(var i=0;i<80;i++){W[i]=X64Word_create()}})();var SHA512=C_algo.SHA512=Hasher.extend({_doReset:function(){this._hash=new X64WordArray.init([new X64Word.init(1779033703,4089235720),new X64Word.init(3144134277,2227873595),new X64Word.init(1013904242,4271175723),new X64Word.init(2773480762,1595750129),new X64Word.init(1359893119,2917565137),new X64Word.init(2600822924,725511199),new X64Word.init(528734635,4215389547),new X64Word.init(1541459225,327033209)])},_doProcessBlock:function(M,offset){var H=this._hash.words;var H0=H[0];var H1=H[1];var H2=H[2];var H3=H[3];var H4=H[4];var H5=H[5];var H6=H[6];var H7=H[7];var H0h=H0.high;var H0l=H0.low;var H1h=H1.high;var H1l=H1.low;var H2h=H2.high;var H2l=H2.low;var H3h=H3.high;var H3l=H3.low;var H4h=H4.high;var H4l=H4.low;var H5h=H5.high;var H5l=H5.low;var H6h=H6.high;var H6l=H6.low;var H7h=H7.high;var H7l=H7.low;var ah=H0h;var al=H0l;var bh=H1h;var bl=H1l;var ch=H2h;var cl=H2l;var dh=H3h;var dl=H3l;var eh=H4h;var el=H4l;var fh=H5h;var fl=H5l;var gh=H6h;var gl=H6l;var hh=H7h;var hl=H7l;for(var i=0;i<80;i++){var Wil;var Wih;var Wi=W[i];if(i<16){Wih=Wi.high=M[offset+i*2]|0;Wil=Wi.low=M[offset+i*2+1]|0}else{var gamma0x=W[i-15];var gamma0xh=gamma0x.high;var gamma0xl=gamma0x.low;var gamma0h=(gamma0xh>>>1|gamma0xl<<31)^(gamma0xh>>>8|gamma0xl<<24)^gamma0xh>>>7;var gamma0l=(gamma0xl>>>1|gamma0xh<<31)^(gamma0xl>>>8|gamma0xh<<24)^(gamma0xl>>>7|gamma0xh<<25);var gamma1x=W[i-2];var gamma1xh=gamma1x.high;var gamma1xl=gamma1x.low;var gamma1h=(gamma1xh>>>19|gamma1xl<<13)^(gamma1xh<<3|gamma1xl>>>29)^gamma1xh>>>6;var gamma1l=(gamma1xl>>>19|gamma1xh<<13)^(gamma1xl<<3|gamma1xh>>>29)^(gamma1xl>>>6|gamma1xh<<26);var Wi7=W[i-7];var Wi7h=Wi7.high;var Wi7l=Wi7.low;var Wi16=W[i-16];var Wi16h=Wi16.high;var Wi16l=Wi16.low;Wil=gamma0l+Wi7l;Wih=gamma0h+Wi7h+(Wil>>>0>>0?1:0);Wil=Wil+gamma1l;Wih=Wih+gamma1h+(Wil>>>0>>0?1:0);Wil=Wil+Wi16l;Wih=Wih+Wi16h+(Wil>>>0>>0?1:0);Wi.high=Wih;Wi.low=Wil}var chh=eh&fh^~eh&gh;var chl=el&fl^~el≷var majh=ah&bh^ah&ch^bh&ch;var majl=al&bl^al&cl^bl&cl;var sigma0h=(ah>>>28|al<<4)^(ah<<30|al>>>2)^(ah<<25|al>>>7);var sigma0l=(al>>>28|ah<<4)^(al<<30|ah>>>2)^(al<<25|ah>>>7);var sigma1h=(eh>>>14|el<<18)^(eh>>>18|el<<14)^(eh<<23|el>>>9);var sigma1l=(el>>>14|eh<<18)^(el>>>18|eh<<14)^(el<<23|eh>>>9);var Ki=K[i];var Kih=Ki.high;var Kil=Ki.low;var t1l=hl+sigma1l;var t1h=hh+sigma1h+(t1l>>>0>>0?1:0);var t1l=t1l+chl;var t1h=t1h+chh+(t1l>>>0>>0?1:0);var t1l=t1l+Kil;var t1h=t1h+Kih+(t1l>>>0>>0?1:0);var t1l=t1l+Wil;var t1h=t1h+Wih+(t1l>>>0>>0?1:0);var t2l=sigma0l+majl;var t2h=sigma0h+majh+(t2l>>>0>>0?1:0);hh=gh;hl=gl;gh=fh;gl=fl;fh=eh;fl=el;el=dl+t1l|0;eh=dh+t1h+(el>>>0
    >>0?1:0)|0;dh=ch;dl=cl;ch=bh;cl=bl;bh=ah;bl=al;al=t1l+t2l|0;ah=t1h+t2h+(al>>>0>>0?1:0)|0}H0l=H0.low=H0l+al;H0.high=H0h+ah+(H0l>>>0>>0?1:0);H1l=H1.low=H1l+bl;H1.high=H1h+bh+(H1l>>>0>>0?1:0);H2l=H2.low=H2l+cl;H2.high=H2h+ch+(H2l>>>0>>0?1:0);H3l=H3.low=H3l+dl;H3.high=H3h+dh+(H3l>>>0
    >>0?1:0);H4l=H4.low=H4l+el;H4.high=H4h+eh+(H4l>>>0>>0?1:0);H5l=H5.low=H5l+fl;H5.high=H5h+fh+(H5l>>>0>>0?1:0);H6l=H6.low=H6l+gl;H6.high=H6h+gh+(H6l>>>0>>0?1:0);H7l=H7.low=H7l+hl;H7.high=H7h+hh+(H7l>>>0>>0?1:0)},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+128>>>10<<5)+30]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+128>>>10<<5)+31]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();var hash=this._hash.toX32();return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone},blockSize:1024/32});C.SHA512=Hasher._createHelper(SHA512);C.HmacSHA512=Hasher._createHmacHelper(SHA512)})();return CryptoJS.SHA512})})(sha512);var sha384={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports,sha512.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_x64=C.x64;var X64Word=C_x64.Word;var X64WordArray=C_x64.WordArray;var C_algo=C.algo;var SHA512=C_algo.SHA512;var SHA384=C_algo.SHA384=SHA512.extend({_doReset:function(){this._hash=new X64WordArray.init([new X64Word.init(3418070365,3238371032),new X64Word.init(1654270250,914150663),new X64Word.init(2438529370,812702999),new X64Word.init(355462360,4144912697),new X64Word.init(1731405415,4290775857),new X64Word.init(2394180231,1750603025),new X64Word.init(3675008525,1694076839),new X64Word.init(1203062813,3204075428)])},_doFinalize:function(){var hash=SHA512._doFinalize.call(this);hash.sigBytes-=16;return hash}});C.SHA384=SHA512._createHelper(SHA384);C.HmacSHA384=SHA512._createHmacHelper(SHA384)})();return CryptoJS.SHA384})})(sha384);var sha3={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_x64=C.x64;var X64Word=C_x64.Word;var C_algo=C.algo;var RHO_OFFSETS=[];var PI_INDEXES=[];var ROUND_CONSTANTS=[];(function(){var x=1,y=0;for(var t=0;t<24;t++){RHO_OFFSETS[x+5*y]=(t+1)*(t+2)/2%64;var newX=y%5;var newY=(2*x+3*y)%5;x=newX;y=newY}for(var x=0;x<5;x++){for(var y=0;y<5;y++){PI_INDEXES[x+5*y]=y+(2*x+3*y)%5*5}}var LFSR=1;for(var i=0;i<24;i++){var roundConstantMsw=0;var roundConstantLsw=0;for(var j=0;j<7;j++){if(LFSR&1){var bitPosition=(1<>>24)&16711935|(M2i<<24|M2i>>>8)&4278255360;M2i1=(M2i1<<8|M2i1>>>24)&16711935|(M2i1<<24|M2i1>>>8)&4278255360;var lane=state[i];lane.high^=M2i1;lane.low^=M2i}for(var round=0;round<24;round++){for(var x=0;x<5;x++){var tMsw=0,tLsw=0;for(var y=0;y<5;y++){var lane=state[x+5*y];tMsw^=lane.high;tLsw^=lane.low}var Tx=T[x];Tx.high=tMsw;Tx.low=tLsw}for(var x=0;x<5;x++){var Tx4=T[(x+4)%5];var Tx1=T[(x+1)%5];var Tx1Msw=Tx1.high;var Tx1Lsw=Tx1.low;var tMsw=Tx4.high^(Tx1Msw<<1|Tx1Lsw>>>31);var tLsw=Tx4.low^(Tx1Lsw<<1|Tx1Msw>>>31);for(var y=0;y<5;y++){var lane=state[x+5*y];lane.high^=tMsw;lane.low^=tLsw}}for(var laneIndex=1;laneIndex<25;laneIndex++){var tMsw;var tLsw;var lane=state[laneIndex];var laneMsw=lane.high;var laneLsw=lane.low;var rhoOffset=RHO_OFFSETS[laneIndex];if(rhoOffset<32){tMsw=laneMsw<>>32-rhoOffset;tLsw=laneLsw<>>32-rhoOffset}else{tMsw=laneLsw<>>64-rhoOffset;tLsw=laneMsw<>>64-rhoOffset}var TPiLane=T[PI_INDEXES[laneIndex]];TPiLane.high=tMsw;TPiLane.low=tLsw}var T0=T[0];var state0=state[0];T0.high=state0.high;T0.low=state0.low;for(var x=0;x<5;x++){for(var y=0;y<5;y++){var laneIndex=x+5*y;var lane=state[laneIndex];var TLane=T[laneIndex];var Tx1Lane=T[(x+1)%5+5*y];var Tx2Lane=T[(x+2)%5+5*y];lane.high=TLane.high^~Tx1Lane.high&Tx2Lane.high;lane.low=TLane.low^~Tx1Lane.low&Tx2Lane.low}}var lane=state[0];var roundConstant=ROUND_CONSTANTS[round];lane.high^=roundConstant.high;lane.low^=roundConstant.low}},_doFinalize:function(){var data=this._data;var dataWords=data.words;this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;var blockSizeBits=this.blockSize*32;dataWords[nBitsLeft>>>5]|=1<<24-nBitsLeft%32;dataWords[(Math.ceil((nBitsLeft+1)/blockSizeBits)*blockSizeBits>>>5)-1]|=128;data.sigBytes=dataWords.length*4;this._process();var state=this._state;var outputLengthBytes=this.cfg.outputLength/8;var outputLengthLanes=outputLengthBytes/8;var hashWords=[];for(var i=0;i>>24)&16711935|(laneMsw<<24|laneMsw>>>8)&4278255360;laneLsw=(laneLsw<<8|laneLsw>>>24)&16711935|(laneLsw<<24|laneLsw>>>8)&4278255360;hashWords.push(laneLsw);hashWords.push(laneMsw)}return new WordArray.init(hashWords,outputLengthBytes)},clone:function(){var clone=Hasher.clone.call(this);var state=clone._state=this._state.slice(0);for(var i=0;i<25;i++){state[i]=state[i].clone()}return clone}});C.SHA3=Hasher._createHelper(SHA3);C.HmacSHA3=Hasher._createHmacHelper(SHA3)})(Math);return CryptoJS.SHA3})})(sha3);var ripemd160={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var _zl=WordArray.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]);var _zr=WordArray.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]);var _sl=WordArray.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]);var _sr=WordArray.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]);var _hl=WordArray.create([0,1518500249,1859775393,2400959708,2840853838]);var _hr=WordArray.create([1352829926,1548603684,1836072691,2053994217,0]);var RIPEMD160=C_algo.RIPEMD160=Hasher.extend({_doReset:function(){this._hash=WordArray.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var H=this._hash.words;var hl=_hl.words;var hr=_hr.words;var zl=_zl.words;var zr=_zr.words;var sl=_sl.words;var sr=_sr.words;var al,bl,cl,dl,el;var ar,br,cr,dr,er;ar=al=H[0];br=bl=H[1];cr=cl=H[2];dr=dl=H[3];er=el=H[4];var t;for(var i=0;i<80;i+=1){t=al+M[offset+zl[i]]|0;if(i<16){t+=f1(bl,cl,dl)+hl[0]}else if(i<32){t+=f2(bl,cl,dl)+hl[1]}else if(i<48){t+=f3(bl,cl,dl)+hl[2]}else if(i<64){t+=f4(bl,cl,dl)+hl[3]}else{t+=f5(bl,cl,dl)+hl[4]}t=t|0;t=rotl(t,sl[i]);t=t+el|0;al=el;el=dl;dl=rotl(cl,10);cl=bl;bl=t;t=ar+M[offset+zr[i]]|0;if(i<16){t+=f5(br,cr,dr)+hr[0]}else if(i<32){t+=f4(br,cr,dr)+hr[1]}else if(i<48){t+=f3(br,cr,dr)+hr[2]}else if(i<64){t+=f2(br,cr,dr)+hr[3]}else{t+=f1(br,cr,dr)+hr[4]}t=t|0;t=rotl(t,sr[i]);t=t+er|0;ar=er;er=dr;dr=rotl(cr,10);cr=br;br=t}t=H[1]+cl+dr|0;H[1]=H[2]+dl+er|0;H[2]=H[3]+el+ar|0;H[3]=H[4]+al+br|0;H[4]=H[0]+bl+cr|0;H[0]=t},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotal<<8|nBitsTotal>>>24)&16711935|(nBitsTotal<<24|nBitsTotal>>>8)&4278255360;data.sigBytes=(dataWords.length+1)*4;this._process();var hash=this._hash;var H=hash.words;for(var i=0;i<5;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});function f1(x,y,z){return x^y^z}function f2(x,y,z){return x&y|~x&z}function f3(x,y,z){return(x|~y)^z}function f4(x,y,z){return x&z|y&~z}function f5(x,y,z){return x^(y|~z)}function rotl(x,n){return x<>>32-n}C.RIPEMD160=Hasher._createHelper(RIPEMD160);C.HmacRIPEMD160=Hasher._createHmacHelper(RIPEMD160)})();return CryptoJS.RIPEMD160})})(ripemd160);var hmac={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var Base=C_lib.Base;var C_enc=C.enc;var Utf8=C_enc.Utf8;var C_algo=C.algo;C_algo.HMAC=Base.extend({init:function(hasher,key){hasher=this._hasher=new hasher.init;if(typeof key=="string"){key=Utf8.parse(key)}var hasherBlockSize=hasher.blockSize;var hasherBlockSizeBytes=hasherBlockSize*4;if(key.sigBytes>hasherBlockSizeBytes){key=hasher.finalize(key)}key.clamp();var oKey=this._oKey=key.clone();var iKey=this._iKey=key.clone();var oKeyWords=oKey.words;var iKeyWords=iKey.words;for(var i=0;i>>2]&255;data.sigBytes-=nPaddingBytes}};C_lib.BlockCipher=Cipher.extend({cfg:Cipher.cfg.extend({mode:CBC,padding:Pkcs7}),reset:function(){var modeCreator;Cipher.reset.call(this);var cfg=this.cfg;var iv=cfg.iv;var mode=cfg.mode;if(this._xformMode==this._ENC_XFORM_MODE){modeCreator=mode.createEncryptor}else{modeCreator=mode.createDecryptor;this._minBufferSize=1}if(this._mode&&this._mode.__creator==modeCreator){this._mode.init(this,iv&&iv.words)}else{this._mode=modeCreator.call(mode,this,iv&&iv.words);this._mode.__creator=modeCreator}},_doProcessBlock:function(words,offset){this._mode.processBlock(words,offset)},_doFinalize:function(){var finalProcessedBlocks;var padding=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){padding.pad(this._data,this.blockSize);finalProcessedBlocks=this._process(!!"flush")}else{finalProcessedBlocks=this._process(!!"flush");padding.unpad(finalProcessedBlocks)}return finalProcessedBlocks},blockSize:128/32});var CipherParams=C_lib.CipherParams=Base.extend({init:function(cipherParams){this.mixIn(cipherParams)},toString:function(formatter){return(formatter||this.formatter).stringify(this)}});var C_format=C.format={};var OpenSSLFormatter=C_format.OpenSSL={stringify:function(cipherParams){var wordArray;var ciphertext=cipherParams.ciphertext;var salt=cipherParams.salt;if(salt){wordArray=WordArray.create([1398893684,1701076831]).concat(salt).concat(ciphertext)}else{wordArray=ciphertext}return wordArray.toString(Base64)},parse:function(openSSLStr){var salt;var ciphertext=Base64.parse(openSSLStr);var ciphertextWords=ciphertext.words;if(ciphertextWords[0]==1398893684&&ciphertextWords[1]==1701076831){salt=WordArray.create(ciphertextWords.slice(2,4));ciphertextWords.splice(0,4);ciphertext.sigBytes-=16}return CipherParams.create({ciphertext:ciphertext,salt:salt})}};var SerializableCipher=C_lib.SerializableCipher=Base.extend({cfg:Base.extend({format:OpenSSLFormatter}),encrypt:function(cipher,message,key,cfg){cfg=this.cfg.extend(cfg);var encryptor=cipher.createEncryptor(key,cfg);var ciphertext=encryptor.finalize(message);var cipherCfg=encryptor.cfg;return CipherParams.create({ciphertext:ciphertext,key:key,iv:cipherCfg.iv,algorithm:cipher,mode:cipherCfg.mode,padding:cipherCfg.padding,blockSize:cipher.blockSize,formatter:cfg.format})},decrypt:function(cipher,ciphertext,key,cfg){cfg=this.cfg.extend(cfg);ciphertext=this._parse(ciphertext,cfg.format);var plaintext=cipher.createDecryptor(key,cfg).finalize(ciphertext.ciphertext);return plaintext},_parse:function(ciphertext,format){if(typeof ciphertext=="string"){return format.parse(ciphertext,this)}else{return ciphertext}}});var C_kdf=C.kdf={};var OpenSSLKdf=C_kdf.OpenSSL={execute:function(password,keySize,ivSize,salt){if(!salt){salt=WordArray.random(64/8)}var key=EvpKDF.create({keySize:keySize+ivSize}).compute(password,salt);var iv=WordArray.create(key.words.slice(keySize),ivSize*4);key.sigBytes=keySize*4;return CipherParams.create({key:key,iv:iv,salt:salt})}};var PasswordBasedCipher=C_lib.PasswordBasedCipher=SerializableCipher.extend({cfg:SerializableCipher.cfg.extend({kdf:OpenSSLKdf}),encrypt:function(cipher,message,password,cfg){cfg=this.cfg.extend(cfg);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize);cfg.iv=derivedParams.iv;var ciphertext=SerializableCipher.encrypt.call(this,cipher,message,derivedParams.key,cfg);ciphertext.mixIn(derivedParams);return ciphertext},decrypt:function(cipher,ciphertext,password,cfg){cfg=this.cfg.extend(cfg);ciphertext=this._parse(ciphertext,cfg.format);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize,ciphertext.salt);cfg.iv=derivedParams.iv;var plaintext=SerializableCipher.decrypt.call(this,cipher,ciphertext,derivedParams.key,cfg);return plaintext}})}()})})(cipherCore);var modeCfb={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.mode.CFB=function(){var CFB=CryptoJS.lib.BlockCipherMode.extend();CFB.Encryptor=CFB.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;generateKeystreamAndEncrypt.call(this,words,offset,blockSize,cipher);this._prevBlock=words.slice(offset,offset+blockSize)}});CFB.Decryptor=CFB.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;var thisBlock=words.slice(offset,offset+blockSize);generateKeystreamAndEncrypt.call(this,words,offset,blockSize,cipher);this._prevBlock=thisBlock}});function generateKeystreamAndEncrypt(words,offset,blockSize,cipher){var keystream;var iv=this._iv;if(iv){keystream=iv.slice(0);this._iv=undefined}else{keystream=this._prevBlock}cipher.encryptBlock(keystream,0);for(var i=0;i>24&255)===255){var b1=word>>16&255;var b2=word>>8&255;var b3=word&255;if(b1===255){b1=0;if(b2===255){b2=0;if(b3===255){b3=0}else{++b3}}else{++b2}}else{++b1}word=0;word+=b1<<16;word+=b2<<8;word+=b3}else{word+=1<<24}return word}function incCounter(counter){if((counter[0]=incWord(counter[0]))===0){counter[1]=incWord(counter[1])}return counter}var Encryptor=CTRGladman.Encryptor=CTRGladman.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;var iv=this._iv;var counter=this._counter;if(iv){counter=this._counter=iv.slice(0);this._iv=undefined}incCounter(counter);var keystream=counter.slice(0);cipher.encryptBlock(keystream,0);for(var i=0;i>>2]|=nPaddingBytes<<24-lastBytePos%4*8;data.sigBytes+=nPaddingBytes},unpad:function(data){var nPaddingBytes=data.words[data.sigBytes-1>>>2]&255;data.sigBytes-=nPaddingBytes}};return CryptoJS.pad.Ansix923})})(padAnsix923);var padIso10126={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.Iso10126={pad:function(data,blockSize){var blockSizeBytes=blockSize*4;var nPaddingBytes=blockSizeBytes-data.sigBytes%blockSizeBytes;data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes-1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes<<24],1))},unpad:function(data){var nPaddingBytes=data.words[data.sigBytes-1>>>2]&255;data.sigBytes-=nPaddingBytes}};return CryptoJS.pad.Iso10126})})(padIso10126);var padIso97971={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.Iso97971={pad:function(data,blockSize){data.concat(CryptoJS.lib.WordArray.create([2147483648],1));CryptoJS.pad.ZeroPadding.pad(data,blockSize)},unpad:function(data){CryptoJS.pad.ZeroPadding.unpad(data);data.sigBytes--}};return CryptoJS.pad.Iso97971})})(padIso97971);var padZeropadding={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.ZeroPadding={pad:function(data,blockSize){var blockSizeBytes=blockSize*4;data.clamp();data.sigBytes+=blockSizeBytes-(data.sigBytes%blockSizeBytes||blockSizeBytes)},unpad:function(data){var dataWords=data.words;var i=data.sigBytes-1;for(var i=data.sigBytes-1;i>=0;i--){if(dataWords[i>>>2]>>>24-i%4*8&255){data.sigBytes=i+1;break}}}};return CryptoJS.pad.ZeroPadding})})(padZeropadding);var padNopadding={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}};return CryptoJS.pad.NoPadding})})(padNopadding);var formatHex={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(undefined$1){var C=CryptoJS;var C_lib=C.lib;var CipherParams=C_lib.CipherParams;var C_enc=C.enc;var Hex=C_enc.Hex;var C_format=C.format;C_format.Hex={stringify:function(cipherParams){return cipherParams.ciphertext.toString(Hex)},parse:function(input){var ciphertext=Hex.parse(input);return CipherParams.create({ciphertext:ciphertext})}}})();return CryptoJS.format.Hex})})(formatHex);var aes={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var BlockCipher=C_lib.BlockCipher;var C_algo=C.algo;var SBOX=[];var INV_SBOX=[];var SUB_MIX_0=[];var SUB_MIX_1=[];var SUB_MIX_2=[];var SUB_MIX_3=[];var INV_SUB_MIX_0=[];var INV_SUB_MIX_1=[];var INV_SUB_MIX_2=[];var INV_SUB_MIX_3=[];(function(){var d=[];for(var i=0;i<256;i++){if(i<128){d[i]=i<<1}else{d[i]=i<<1^283}}var x=0;var xi=0;for(var i=0;i<256;i++){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^sx&255^99;SBOX[x]=sx;INV_SBOX[sx]=x;var x2=d[x];var x4=d[x2];var x8=d[x4];var t=d[sx]*257^sx*16843008;SUB_MIX_0[x]=t<<24|t>>>8;SUB_MIX_1[x]=t<<16|t>>>16;SUB_MIX_2[x]=t<<8|t>>>24;SUB_MIX_3[x]=t;var t=x8*16843009^x4*65537^x2*257^x*16843008;INV_SUB_MIX_0[sx]=t<<24|t>>>8;INV_SUB_MIX_1[sx]=t<<16|t>>>16;INV_SUB_MIX_2[sx]=t<<8|t>>>24;INV_SUB_MIX_3[sx]=t;if(!x){x=xi=1}else{x=x2^d[d[d[x8^x2]]];xi^=d[d[xi]]}}})();var RCON=[0,1,2,4,8,16,32,64,128,27,54];var AES=C_algo.AES=BlockCipher.extend({_doReset:function(){var t;if(this._nRounds&&this._keyPriorReset===this._key){return}var key=this._keyPriorReset=this._key;var keyWords=key.words;var keySize=key.sigBytes/4;var nRounds=this._nRounds=keySize+6;var ksRows=(nRounds+1)*4;var keySchedule=this._keySchedule=[];for(var ksRow=0;ksRow>>24;t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[t&255];t^=RCON[ksRow/keySize|0]<<24}else if(keySize>6&&ksRow%keySize==4){t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[t&255]}keySchedule[ksRow]=keySchedule[ksRow-keySize]^t}}var invKeySchedule=this._invKeySchedule=[];for(var invKsRow=0;invKsRow>>24]]^INV_SUB_MIX_1[SBOX[t>>>16&255]]^INV_SUB_MIX_2[SBOX[t>>>8&255]]^INV_SUB_MIX_3[SBOX[t&255]]}}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX)},decryptBlock:function(M,offset){var t=M[offset+1];M[offset+1]=M[offset+3];M[offset+3]=t;this._doCryptBlock(M,offset,this._invKeySchedule,INV_SUB_MIX_0,INV_SUB_MIX_1,INV_SUB_MIX_2,INV_SUB_MIX_3,INV_SBOX);var t=M[offset+1];M[offset+1]=M[offset+3];M[offset+3]=t},_doCryptBlock:function(M,offset,keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX){var nRounds=this._nRounds;var s0=M[offset]^keySchedule[0];var s1=M[offset+1]^keySchedule[1];var s2=M[offset+2]^keySchedule[2];var s3=M[offset+3]^keySchedule[3];var ksRow=4;for(var round=1;round>>24]^SUB_MIX_1[s1>>>16&255]^SUB_MIX_2[s2>>>8&255]^SUB_MIX_3[s3&255]^keySchedule[ksRow++];var t1=SUB_MIX_0[s1>>>24]^SUB_MIX_1[s2>>>16&255]^SUB_MIX_2[s3>>>8&255]^SUB_MIX_3[s0&255]^keySchedule[ksRow++];var t2=SUB_MIX_0[s2>>>24]^SUB_MIX_1[s3>>>16&255]^SUB_MIX_2[s0>>>8&255]^SUB_MIX_3[s1&255]^keySchedule[ksRow++];var t3=SUB_MIX_0[s3>>>24]^SUB_MIX_1[s0>>>16&255]^SUB_MIX_2[s1>>>8&255]^SUB_MIX_3[s2&255]^keySchedule[ksRow++];s0=t0;s1=t1;s2=t2;s3=t3}var t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[s3&255])^keySchedule[ksRow++];var t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[s0&255])^keySchedule[ksRow++];var t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[s1&255])^keySchedule[ksRow++];var t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[s2&255])^keySchedule[ksRow++];M[offset]=t0;M[offset+1]=t1;M[offset+2]=t2;M[offset+3]=t3},keySize:256/32});C.AES=BlockCipher._createHelper(AES)})();return CryptoJS.AES})})(aes);var tripledes={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var BlockCipher=C_lib.BlockCipher;var C_algo=C.algo;var PC1=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];var PC2=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];var BIT_SHIFTS=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28];var SBOX_P=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}];var SBOX_MASK=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679];var DES=C_algo.DES=BlockCipher.extend({_doReset:function(){var key=this._key;var keyWords=key.words;var keyBits=[];for(var i=0;i<56;i++){var keyBitPos=PC1[i]-1;keyBits[i]=keyWords[keyBitPos>>>5]>>>31-keyBitPos%32&1}var subKeys=this._subKeys=[];for(var nSubKey=0;nSubKey<16;nSubKey++){var subKey=subKeys[nSubKey]=[];var bitShift=BIT_SHIFTS[nSubKey];for(var i=0;i<24;i++){subKey[i/6|0]|=keyBits[(PC2[i]-1+bitShift)%28]<<31-i%6;subKey[4+(i/6|0)]|=keyBits[28+(PC2[i+24]-1+bitShift)%28]<<31-i%6}subKey[0]=subKey[0]<<1|subKey[0]>>>31;for(var i=1;i<7;i++){subKey[i]=subKey[i]>>>(i-1)*4+3}subKey[7]=subKey[7]<<5|subKey[7]>>>27}var invSubKeys=this._invSubKeys=[];for(var i=0;i<16;i++){invSubKeys[i]=subKeys[15-i]}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._subKeys)},decryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._invSubKeys)},_doCryptBlock:function(M,offset,subKeys){this._lBlock=M[offset];this._rBlock=M[offset+1];exchangeLR.call(this,4,252645135);exchangeLR.call(this,16,65535);exchangeRL.call(this,2,858993459);exchangeRL.call(this,8,16711935);exchangeLR.call(this,1,1431655765);for(var round=0;round<16;round++){var subKey=subKeys[round];var lBlock=this._lBlock;var rBlock=this._rBlock;var f=0;for(var i=0;i<8;i++){f|=SBOX_P[i][((rBlock^subKey[i])&SBOX_MASK[i])>>>0]}this._lBlock=rBlock;this._rBlock=lBlock^f}var t=this._lBlock;this._lBlock=this._rBlock;this._rBlock=t;exchangeLR.call(this,1,1431655765);exchangeRL.call(this,8,16711935);exchangeRL.call(this,2,858993459);exchangeLR.call(this,16,65535);exchangeLR.call(this,4,252645135);M[offset]=this._lBlock;M[offset+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function exchangeLR(offset,mask){var t=(this._lBlock>>>offset^this._rBlock)&mask;this._rBlock^=t;this._lBlock^=t<>>offset^this._lBlock)&mask;this._lBlock^=t;this._rBlock^=t<192.")}var key1=keyWords.slice(0,2);var key2=keyWords.length<4?keyWords.slice(0,2):keyWords.slice(2,4);var key3=keyWords.length<6?keyWords.slice(0,2):keyWords.slice(4,6);this._des1=DES.createEncryptor(WordArray.create(key1));this._des2=DES.createEncryptor(WordArray.create(key2));this._des3=DES.createEncryptor(WordArray.create(key3))},encryptBlock:function(M,offset){this._des1.encryptBlock(M,offset);this._des2.decryptBlock(M,offset);this._des3.encryptBlock(M,offset)},decryptBlock:function(M,offset){this._des3.decryptBlock(M,offset);this._des2.encryptBlock(M,offset);this._des1.decryptBlock(M,offset)},keySize:192/32,ivSize:64/32,blockSize:64/32});C.TripleDES=BlockCipher._createHelper(TripleDES)})();return CryptoJS.TripleDES})})(tripledes);var rc4={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var RC4=C_algo.RC4=StreamCipher.extend({_doReset:function(){var key=this._key;var keyWords=key.words;var keySigBytes=key.sigBytes;var S=this._S=[];for(var i=0;i<256;i++){S[i]=i}for(var i=0,j=0;i<256;i++){var keyByteIndex=i%keySigBytes;var keyByte=keyWords[keyByteIndex>>>2]>>>24-keyByteIndex%4*8&255;j=(j+S[i]+keyByte)%256;var t=S[i];S[i]=S[j];S[j]=t}this._i=this._j=0},_doProcessBlock:function(M,offset){M[offset]^=generateKeystreamWord.call(this)},keySize:256/32,ivSize:0});function generateKeystreamWord(){var S=this._S;var i=this._i;var j=this._j;var keystreamWord=0;for(var n=0;n<4;n++){i=(i+1)%256;j=(j+S[i])%256;var t=S[i];S[i]=S[j];S[j]=t;keystreamWord|=S[(S[i]+S[j])%256]<<24-n*8}this._i=i;this._j=j;return keystreamWord}C.RC4=StreamCipher._createHelper(RC4);var RC4Drop=C_algo.RC4Drop=RC4.extend({cfg:RC4.cfg.extend({drop:192}),_doReset:function(){RC4._doReset.call(this);for(var i=this.cfg.drop;i>0;i--){generateKeystreamWord.call(this)}}});C.RC4Drop=StreamCipher._createHelper(RC4Drop)})();return CryptoJS.RC4})})(rc4);var rabbit={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var S=[];var C_=[];var G=[];var Rabbit=C_algo.Rabbit=StreamCipher.extend({_doReset:function(){var K=this._key.words;var iv=this.cfg.iv;for(var i=0;i<4;i++){K[i]=(K[i]<<8|K[i]>>>24)&16711935|(K[i]<<24|K[i]>>>8)&4278255360}var X=this._X=[K[0],K[3]<<16|K[2]>>>16,K[1],K[0]<<16|K[3]>>>16,K[2],K[1]<<16|K[0]>>>16,K[3],K[2]<<16|K[1]>>>16];var C=this._C=[K[2]<<16|K[2]>>>16,K[0]&4294901760|K[1]&65535,K[3]<<16|K[3]>>>16,K[1]&4294901760|K[2]&65535,K[0]<<16|K[0]>>>16,K[2]&4294901760|K[3]&65535,K[1]<<16|K[1]>>>16,K[3]&4294901760|K[0]&65535];this._b=0;for(var i=0;i<4;i++){nextState.call(this)}for(var i=0;i<8;i++){C[i]^=X[i+4&7]}if(iv){var IV=iv.words;var IV_0=IV[0];var IV_1=IV[1];var i0=(IV_0<<8|IV_0>>>24)&16711935|(IV_0<<24|IV_0>>>8)&4278255360;var i2=(IV_1<<8|IV_1>>>24)&16711935|(IV_1<<24|IV_1>>>8)&4278255360;var i1=i0>>>16|i2&4294901760;var i3=i2<<16|i0&65535;C[0]^=i0;C[1]^=i1;C[2]^=i2;C[3]^=i3;C[4]^=i0;C[5]^=i1;C[6]^=i2;C[7]^=i3;for(var i=0;i<4;i++){nextState.call(this)}}},_doProcessBlock:function(M,offset){var X=this._X;nextState.call(this);S[0]=X[0]^X[5]>>>16^X[3]<<16;S[1]=X[2]^X[7]>>>16^X[5]<<16;S[2]=X[4]^X[1]>>>16^X[7]<<16;S[3]=X[6]^X[3]>>>16^X[1]<<16;for(var i=0;i<4;i++){S[i]=(S[i]<<8|S[i]>>>24)&16711935|(S[i]<<24|S[i]>>>8)&4278255360;M[offset+i]^=S[i]}},blockSize:128/32,ivSize:64/32});function nextState(){var X=this._X;var C=this._C;for(var i=0;i<8;i++){C_[i]=C[i]}C[0]=C[0]+1295307597+this._b|0;C[1]=C[1]+3545052371+(C[0]>>>0>>0?1:0)|0;C[2]=C[2]+886263092+(C[1]>>>0>>0?1:0)|0;C[3]=C[3]+1295307597+(C[2]>>>0>>0?1:0)|0;C[4]=C[4]+3545052371+(C[3]>>>0>>0?1:0)|0;C[5]=C[5]+886263092+(C[4]>>>0>>0?1:0)|0;C[6]=C[6]+1295307597+(C[5]>>>0>>0?1:0)|0;C[7]=C[7]+3545052371+(C[6]>>>0>>0?1:0)|0;this._b=C[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var gx=X[i]+C[i];var ga=gx&65535;var gb=gx>>>16;var gh=((ga*ga>>>17)+ga*gb>>>15)+gb*gb;var gl=((gx&4294901760)*gx|0)+((gx&65535)*gx|0);G[i]=gh^gl}X[0]=G[0]+(G[7]<<16|G[7]>>>16)+(G[6]<<16|G[6]>>>16)|0;X[1]=G[1]+(G[0]<<8|G[0]>>>24)+G[7]|0;X[2]=G[2]+(G[1]<<16|G[1]>>>16)+(G[0]<<16|G[0]>>>16)|0;X[3]=G[3]+(G[2]<<8|G[2]>>>24)+G[1]|0;X[4]=G[4]+(G[3]<<16|G[3]>>>16)+(G[2]<<16|G[2]>>>16)|0;X[5]=G[5]+(G[4]<<8|G[4]>>>24)+G[3]|0;X[6]=G[6]+(G[5]<<16|G[5]>>>16)+(G[4]<<16|G[4]>>>16)|0;X[7]=G[7]+(G[6]<<8|G[6]>>>24)+G[5]|0}C.Rabbit=StreamCipher._createHelper(Rabbit)})();return CryptoJS.Rabbit})})(rabbit);var rabbitLegacy={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var S=[];var C_=[];var G=[];var RabbitLegacy=C_algo.RabbitLegacy=StreamCipher.extend({_doReset:function(){var K=this._key.words;var iv=this.cfg.iv;var X=this._X=[K[0],K[3]<<16|K[2]>>>16,K[1],K[0]<<16|K[3]>>>16,K[2],K[1]<<16|K[0]>>>16,K[3],K[2]<<16|K[1]>>>16];var C=this._C=[K[2]<<16|K[2]>>>16,K[0]&4294901760|K[1]&65535,K[3]<<16|K[3]>>>16,K[1]&4294901760|K[2]&65535,K[0]<<16|K[0]>>>16,K[2]&4294901760|K[3]&65535,K[1]<<16|K[1]>>>16,K[3]&4294901760|K[0]&65535];this._b=0;for(var i=0;i<4;i++){nextState.call(this)}for(var i=0;i<8;i++){C[i]^=X[i+4&7]}if(iv){var IV=iv.words;var IV_0=IV[0];var IV_1=IV[1];var i0=(IV_0<<8|IV_0>>>24)&16711935|(IV_0<<24|IV_0>>>8)&4278255360;var i2=(IV_1<<8|IV_1>>>24)&16711935|(IV_1<<24|IV_1>>>8)&4278255360;var i1=i0>>>16|i2&4294901760;var i3=i2<<16|i0&65535;C[0]^=i0;C[1]^=i1;C[2]^=i2;C[3]^=i3;C[4]^=i0;C[5]^=i1;C[6]^=i2;C[7]^=i3;for(var i=0;i<4;i++){nextState.call(this)}}},_doProcessBlock:function(M,offset){var X=this._X;nextState.call(this);S[0]=X[0]^X[5]>>>16^X[3]<<16;S[1]=X[2]^X[7]>>>16^X[5]<<16;S[2]=X[4]^X[1]>>>16^X[7]<<16;S[3]=X[6]^X[3]>>>16^X[1]<<16;for(var i=0;i<4;i++){S[i]=(S[i]<<8|S[i]>>>24)&16711935|(S[i]<<24|S[i]>>>8)&4278255360;M[offset+i]^=S[i]}},blockSize:128/32,ivSize:64/32});function nextState(){var X=this._X;var C=this._C;for(var i=0;i<8;i++){C_[i]=C[i]}C[0]=C[0]+1295307597+this._b|0;C[1]=C[1]+3545052371+(C[0]>>>0>>0?1:0)|0;C[2]=C[2]+886263092+(C[1]>>>0>>0?1:0)|0;C[3]=C[3]+1295307597+(C[2]>>>0>>0?1:0)|0;C[4]=C[4]+3545052371+(C[3]>>>0>>0?1:0)|0;C[5]=C[5]+886263092+(C[4]>>>0>>0?1:0)|0;C[6]=C[6]+1295307597+(C[5]>>>0>>0?1:0)|0;C[7]=C[7]+3545052371+(C[6]>>>0>>0?1:0)|0;this._b=C[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var gx=X[i]+C[i];var ga=gx&65535;var gb=gx>>>16;var gh=((ga*ga>>>17)+ga*gb>>>15)+gb*gb;var gl=((gx&4294901760)*gx|0)+((gx&65535)*gx|0);G[i]=gh^gl}X[0]=G[0]+(G[7]<<16|G[7]>>>16)+(G[6]<<16|G[6]>>>16)|0;X[1]=G[1]+(G[0]<<8|G[0]>>>24)+G[7]|0;X[2]=G[2]+(G[1]<<16|G[1]>>>16)+(G[0]<<16|G[0]>>>16)|0;X[3]=G[3]+(G[2]<<8|G[2]>>>24)+G[1]|0;X[4]=G[4]+(G[3]<<16|G[3]>>>16)+(G[2]<<16|G[2]>>>16)|0;X[5]=G[5]+(G[4]<<8|G[4]>>>24)+G[3]|0;X[6]=G[6]+(G[5]<<16|G[5]>>>16)+(G[4]<<16|G[4]>>>16)|0;X[7]=G[7]+(G[6]<<8|G[6]>>>24)+G[5]|0}C.RabbitLegacy=StreamCipher._createHelper(RabbitLegacy)})();return CryptoJS.RabbitLegacy})})(rabbitLegacy);(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports,libTypedarrays.exports,encUtf16.exports,encBase64.exports,encBase64url.exports,md5.exports,sha1.exports,sha256.exports,sha224.exports,sha512.exports,sha384.exports,sha3.exports,ripemd160.exports,hmac.exports,pbkdf2.exports,evpkdf.exports,cipherCore.exports,modeCfb.exports,modeCtr.exports,modeCtrGladman.exports,modeOfb.exports,modeEcb.exports,padAnsix923.exports,padIso10126.exports,padIso97971.exports,padZeropadding.exports,padNopadding.exports,formatHex.exports,aes.exports,tripledes.exports,rc4.exports,rabbit.exports,rabbitLegacy.exports)}})(commonjsGlobal,function(CryptoJS){return CryptoJS})})(cryptoJs);var exports$2={},reDigits=/^\d+$/;exports$2.io=io;exports$2.SHA1=function(string){return cryptoJs.exports.SHA1(string).toString()};exports$2.AES={decrypt:function(string,fgh){return cryptoJs.exports.AES.decrypt(string,fgh).toString(cryptoJs.exports.enc.Utf8)},encrypt:function(string,fgh){return cryptoJs.exports.AES.encrypt(string,fgh).toString()}};exports$2.ssplit=function(string,seperator){var components=string.split(seperator);return[components.shift(),components.join(seperator)]};exports$2.activeElement=function(){try{return document.activeElement}catch(e){return}};exports$2.isDigits=function(value){return reDigits.test(value)};exports$2.template=function(str,map){return str&&str.replace(/{(\w+)}/gi,function(outer,inner){return Object.prototype.hasOwnProperty.call(map,inner)?map[inner]:outer})};exports$2.getJSON=function(path,onSuccess,onError){var request=new XMLHttpRequest;request.open("GET",path,true);request.onreadystatechange=function(){if(this.readyState===4){if(this.status>=200&&this.status<400){try{onSuccess&&onSuccess(JSON.parse(this.responseText))}catch(e){onError&&onError()}}else{onError&&onError()}}};request.send();request=null};exports$2.escapeHtml=function(){var pattern=/[&<>"'/]/g,entities={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return function(string){return String(string).replace(pattern,function(s){return entities[s]})}}();var exports$1={};exports$1.html=function(string){this.forEach(function(element){element.innerHTML=string});return this};exports$1.append=function(string){this.forEach(function(element){element.innerHTML+=string});return this};exports$1.first=function(){return this[0]};exports$1.on=function(eventName,callback){this.forEach(function(element){if(element.addEventListener){element.addEventListener(eventName,callback,false)}else if(element.attachEvent){element.attachEvent("on"+eventName,callback)}});return this};exports$1.focus=function(){if(this[0]){this[0].focus()}return this};function ElementArray(){}ElementArray.prototype=new Array;for(var k in exports$1)ElementArray.prototype[k]=exports$1[k];function Dollar(selector){var match,matches=new ElementArray;if(selector!==undefined){if(selector===document){matches.push(document)}else if(selector===window){matches.push(window)}else{if(match=document.querySelectorAll(selector)){for(var i=0;isettings.key.maxLen){return mediator.emit("console:error",templates.messages.key_to_long)}else if(payload.lengthsettings.nick.maxLen){return mediator.emit("console:error",Dollar.template(templates.messages.nick_to_long,{nick_maxLen:settings.nick.maxLen}))}else if(payload.length0&&ttl<3600){mediator.emit("console:info",Dollar.template(templates.messages.torch_is_now,{ttl:ttl}));settings.ttl=ttl*1e3}else{mediator.emit("console:error",Dollar.template(templates.messages.torch_not_set))}},param:function(p){parameters=Object.assign({},parameters,p)},showNotification:function(type,nick,text){var title=type!=="message"?"Cryptalk":nick,icon=type==="message"?"gfx/icon_128x128.png":type==="error"?"gfx/icon_128x128_error.png":"gfx/icon_128x128_info.png";mediator.emit("notification:send",{title:title.substring(0,20),body:text.substring(0,80),icon:icon});if(type==="message"){mediator.emit("audio:play",sounds.message)}},motd:function(message){commands.post("motd",message)},info:function(message){commands.post("info",message)},error:function(message){commands.post("error",message)},server:function(message){commands.post("server",message)},message:function(data){commands.post("message",data.message,data.nick)},clearInput:function(){components.input[0].value=""},clear:function(){components.chat[0].innerHTML=""},lockInput:function(){components.input[0].setAttribute("disabled","disabled");components.inputWrapper[0].className="loading"},unlockInput:function(){components.input[0].removeAttribute("disabled");components.inputWrapper[0].className="";components.input.focus()},_require:function(filepath,done){commands.lockInput();commands.post("info","Requiring "+filepath+"...");require([filepath],function(){commands.post("info","Successfully required "+filepath+".");commands.unlockInput();done()},function(e){commands.post("error",'An error occurred while trying to load "'+filepath+'":\n'+e);commands.unlockInput();done()})}},onKeyDown=function(e){var buffer,parts,payload,command;if(!e.ctrlKey&&!e.altKey&&components.input[0]!==Dollar.activeElement()){return components.input.focus()}if(e.keyCode!==13||!(buffer=components.input[0].value)){return}if((buffer[0]||buffer.slice(0,1))==="/"){parts=Dollar.ssplit(buffer.slice(1)," ");command=parts[0];payload=parts[1];mediator.emit("command:"+command,payload,function(retvals,recipients){if(!recipients){return commands.post("error",Dollar.template(templates.messages.unrecognized_command,{commandName:command}))}else{commands.clearInput()}})}else{if(!parameters.room||!parameters.key){return!parameters.room?commands.post("error",templates.messages.msg_no_room):commands.post("error",templates.messages.msg_no_key)}mediator.emit("socket:emit",{data:"message:send",payload:{room:Dollar.SHA1(parameters.room),msg:Dollar.AES.encrypt(buffer,Dollar.SHA1(parameters.room)+parameters.key).toString(),nick:parameters.nick?Dollar.AES.encrypt(parameters.nick,Dollar.SHA1(parameters.room)+parameters.key).toString():false}});commands.clearInput()}};Dollar(document).on("keydown",onKeyDown);components.input.focus();for(var commandName in commands){if(commandName!=="_require"&&commandName!=="post"){mediator.on("console:"+commandName,commands[commandName])}}mediator.on("console:require",commands._require);mediator.on("console:post",function(data){commands.post(data.type,data.data,data.nick)})}function room(mediator,settings,templates){var room=false,join=function(payload){if(room!==false){mediator.emit("console:error",Dollar.template(templates.messages.already_in_room,{room:room}))}else if(payload.length>=settings.room.maxLen){mediator.emit("console:error",Dollar.template(templates.messages.room_name_too_long))}else if(payload.length","\"","'","/","exports$1","html","forEach","element","innerHTML","append","first","eventName","attachEvent","focus","ElementArray","Array","k","Dollar","selector","match","matches","querySelectorAll","l","host","socket","parameters","payload","hostInfo","connect","toHost","forceNew","force new connection","roomName","decrypted","msg","sanitized","sanitized_payload","reconnect","foo","disconnect","param","p","assign","setKey","clear","setTorch","setNick","nick_maxLen","nick_minLen","cons","sounds","chat","inputWrapper","commands","type","text","tpl","uniqueId","getTime","timestamp","toLocaleTimeString","id","showNotification","parent","child","removeChild","torch","substring","clearInput","lockInput","setAttribute","className","unlockInput","removeAttribute","_require","filepath","onKeyDown","parts","command","ctrlKey","altKey","keyCode","retvals","recipients","commandName","leave","count","wind","location"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["client/public/js/cryptalk.js"],"names":["let","index","subs","emits","noop","on","fromId","event","handler","once","i","item","subscription","length","push","emit","off","sub","toSubs","splice","persistent","data","callback","explicitSubs","total","left","loop","answers","done","concat","Castrato","this","nodeId","prototype","wrapper","destroy","castrato","win","mediator","exports","focusCallback","blurCallback","setTitle","t","document","title","getTitle","window","addEventListener","observe","notifications","settings","enabled","native_supported","new_title","original_title","blink_timer","interval","last","now","performance","Date","resetState","clearTimeout","undefined","doBlink","setTimeout","enableNative","Notification","permission","requestPermission","blinkTitleUntilFocus","notify","body","icon","fallback","maxOnePerMs","n","onshow","close","templates","help","default_nick","post","motd","info","server","error","message","messages","key_to_short","key_to_long","key_ok","key_no_host","join_no_host","nick_to_short","nick_to_long","nick_set","msg_no_room","not_in_room","msg_no_key","leave_from_nowhere","torch_is_now","torch_not_set","title_set","muted","unmuted","unrecognized_command","room_name_too_long","room_name_too_short","joined_room","left_room","already_in_room","unable_to_decrypt","socket_error","connecting","connected","disconnected","already_connected","reconnect_no_host","host_available","host_unavailable","person_joined","person_left","person_count","person_single","command_failed","bogus","client","ttl","nick","maxLen","minLen","key","room","commonjsGlobal","globalThis","global","self","commonjsRequire","path","Error","cryptoJs","core","module","root","factory","CryptoJS","Math","undefined$1","crypto","msCrypto","require","err","cryptoSecureRandomInt","getRandomValues","Uint32Array","randomBytes","readInt32LE","create","Object","F","obj","subtype","C","C_lib","lib","Base","extend","overrides","mixIn","hasOwnProperty","init","$super","apply","arguments","instance","properties","propertyName","toString","clone","WordArray","words","sigBytes","encoder","Hex","stringify","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","j","ceil","call","slice","random","nBytes","C_enc","enc","hexChars","bite","join","parse","hexStr","hexStrLength","parseInt","substr","Latin1","latin1Chars","String","fromCharCode","latin1Str","latin1StrLength","charCodeAt","Utf8","decodeURIComponent","escape","e","utf8Str","unescape","encodeURIComponent","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","doFlush","processedWords","dataWords","dataSigBytes","blockSize","blockSizeBytes","nBlocksReady","max","_minBufferSize","nWordsReady","nBytesReady","min","offset","_doProcessBlock","Hasher","cfg","_doReset","update","messageUpdate","finalize","hash","_doFinalize","_createHelper","hasher","_createHmacHelper","C_algo","HMAC","algo","x64Core","X32WordArray","C_x64","x64","Word","high","low","toX32","x64Words","x64WordsLength","x32Words","x64Word","wordsLength","libTypedarrays","ArrayBuffer","superInit","subInit","typedArray","Uint8Array","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","buffer","byteOffset","byteLength","typedArrayByteLength","encUtf16","Utf16","Utf16BE","utf16Chars","codePoint","utf16Str","utf16StrLength","Utf16LE","swapEndian","word","encBase64","Base64","map","_map","base64Chars","byte1","byte2","byte3","triplet","charAt","paddingChar","base64Str","base64StrLength","reverseMap","_reverseMap","paddingIndex","indexOf","parseLoop","bits1","bits2","bitsCombined","encBase64url","Base64url","urlSafe","_safe_map","md5","T","abs","sin","MD5","_hash","M","offset_i","M_offset_i","H","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","a","b","c","d","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","floor","nBitsTotalL","H_i","x","s","HmacMD5","sha1","W","SHA1","HmacSHA1","sha256","K","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","pow","SHA256","f","g","h","gamma0x","gamma0","gamma1x","gamma1","ch","maj","sigma0","sigma1","t1","t2","HmacSHA256","sha224","undef","SHA224","HmacSHA224","sha512","X64Word","X64WordArray","X64Word_create","SHA512","H0","H1","H2","H3","H4","H5","H6","H7","H0h","H0l","H1h","H1l","H2h","H2l","H3h","H3l","H4h","H4l","H5h","H5l","H6h","H6l","H7h","H7l","ah","al","bh","bl","cl","dh","dl","eh","el","fh","fl","gh","gl","hh","hl","Wil","Wih","Wi","gamma0xh","gamma0xl","gamma0h","gamma0l","gamma1xh","gamma1xl","gamma1h","gamma1l","Wi7","Wi7h","Wi7l","Wi16","Wi16h","Wi16l","chh","chl","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Ki","Kih","Kil","t1l","t1h","t2l","t2h","HmacSHA512","sha384","SHA384","HmacSHA384","sha3","RHO_OFFSETS","PI_INDEXES","ROUND_CONSTANTS","y","newX","newY","LFSR","roundConstantMsw","roundConstantLsw","bitPosition","SHA3","outputLength","state","_state","nBlockSizeLanes","M2i","M2i1","lane","round","tMsw","tLsw","Tx","Tx4","Tx1","Tx1Msw","Tx1Lsw","laneIndex","laneMsw","laneLsw","rhoOffset","TPiLane","T0","state0","TLane","Tx1Lane","Tx2Lane","roundConstant","blockSizeBits","outputLengthBytes","outputLengthLanes","hashWords","HmacSHA3","ripemd160","_zl","_zr","_sl","_sr","_hl","_hr","RIPEMD160","hr","zl","zr","sl","sr","ar","br","cr","dr","er","f1","f2","f3","f4","f5","rotl","z","HmacRIPEMD160","hmac","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","pbkdf2","PBKDF2","keySize","iterations","compute","password","salt","derivedKey","blockIndex","derivedKeyWords","blockIndexWords","block","blockWords","blockWordsLength","intermediate","intermediateWords","evpkdf","EvpKDF","cipherCore","Cipher","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","xformMode","_xformMode","_key","process","dataUpdate","finalProcessedData","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","encrypt","decrypt","ciphertext","StreamCipher","finalProcessedBlocks","C_mode","mode","BlockCipherMode","iv","Encryptor","Decryptor","_cipher","_iv","CBC","processBlock","xorBlock","encryptBlock","_prevBlock","thisBlock","decryptBlock","C_pad","pad","Pkcs7","nPaddingBytes","paddingWord","paddingWords","padding","unpad","BlockCipher","modeCreator","_mode","__creator","CipherParams","cipherParams","formatter","C_format","format","OpenSSLFormatter","OpenSSL","openSSLStr","ciphertextWords","encryptor","cipherCfg","algorithm","_parse","plaintext","C_kdf","kdf","OpenSSLKdf","execute","derivedParams","modeCfb","CFB","generateKeystreamAndEncrypt","keystream","modeCtr","CTR","counter","_counter","modeCtrGladman","CTRGladman","incWord","b1","b2","b3","incCounter","modeOfb","OFB","_keystream","modeEcb","ECB","padAnsix923","AnsiX923","lastBytePos","Ansix923","padIso10126","Iso10126","padIso97971","Iso97971","ZeroPadding","padZeropadding","padNopadding","NoPadding","formatHex","input","aes","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","xi","sx","x2","x4","x8","RCON","AES","_nRounds","_keyPriorReset","keyWords","nRounds","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","_doCryptBlock","s0","s1","s2","s3","t0","t3","tripledes","PC1","PC2","BIT_SHIFTS","SBOX_P","0","268435456","536870912","805306368","1073741824","1342177280","1610612736","1879048192","2147483648","2415919104","2684354560","2952790016","3221225472","3489660928","3758096384","4026531840","134217728","402653184","671088640","939524096","1207959552","1476395008","1744830464","2013265920","2281701376","2550136832","2818572288","3087007744","3355443200","3623878656","3892314112","4160749568","1","268435457","536870913","805306369","1073741825","1342177281","1610612737","1879048193","2147483649","2415919105","2684354561","2952790017","3221225473","3489660929","3758096385","4026531841","134217729","402653185","671088641","939524097","1207959553","1476395009","1744830465","2013265921","2281701377","2550136833","2818572289","3087007745","3355443201","3623878657","3892314113","4160749569","16777216","33554432","50331648","67108864","83886080","100663296","117440512","150994944","167772160","184549376","201326592","218103808","234881024","251658240","8388608","25165824","41943040","58720256","75497472","92274688","109051904","125829120","142606336","159383552","176160768","192937984","209715200","226492416","243269632","260046848","285212672","301989888","318767104","335544320","352321536","369098752","385875968","419430400","436207616","452984832","469762048","486539264","503316480","520093696","276824064","293601280","310378496","327155712","343932928","360710144","377487360","394264576","411041792","427819008","444596224","461373440","478150656","494927872","511705088","528482304","1048576","2097152","3145728","4194304","5242880","6291456","7340032","9437184","10485760","11534336","12582912","13631488","14680064","15728640","524288","1572864","2621440","3670016","4718592","5767168","6815744","7864320","8912896","9961472","11010048","12058624","13107200","14155776","15204352","16252928","17825792","18874368","19922944","20971520","22020096","23068672","24117248","26214400","27262976","28311552","29360128","30408704","31457280","32505856","17301504","18350080","19398656","20447232","21495808","22544384","23592960","24641536","25690112","26738688","27787264","28835840","29884416","30932992","31981568","33030144","65536","131072","196608","262144","327680","393216","458752","589824","655360","720896","786432","851968","917504","983040","32768","98304","163840","229376","294912","360448","425984","491520","557056","622592","688128","753664","819200","884736","950272","1015808","1114112","1179648","1245184","1310720","1376256","1441792","1507328","1638400","1703936","1769472","1835008","1900544","1966080","2031616","1081344","1146880","1212416","1277952","1343488","1409024","1474560","1540096","1605632","1671168","1736704","1802240","1867776","1933312","1998848","2064384","4096","8192","12288","16384","20480","24576","28672","36864","40960","45056","49152","53248","57344","61440","2048","6144","10240","14336","18432","22528","26624","30720","34816","38912","43008","47104","51200","55296","59392","63488","69632","73728","77824","81920","86016","90112","94208","102400","106496","110592","114688","118784","122880","126976","67584","71680","75776","79872","83968","88064","92160","96256","100352","104448","108544","112640","116736","120832","124928","129024","256","512","768","1024","1280","1536","1792","2304","2560","2816","3072","3328","3584","3840","128","384","640","896","1152","1408","1664","1920","2176","2432","2688","2944","3200","3456","3712","3968","4352","4608","4864","5120","5376","5632","5888","6400","6656","6912","7168","7424","7680","7936","4224","4480","4736","4992","5248","5504","5760","6016","6272","6528","6784","7040","7296","7552","7808","8064","16","32","48","64","80","96","112","144","160","176","192","208","224","240","8","24","40","56","72","88","104","120","136","152","168","184","200","216","232","248","272","288","304","320","336","352","368","400","416","432","448","464","480","496","264","280","296","312","328","344","360","376","392","408","424","440","456","472","488","504","2","3","4","5","6","7","9","10","11","12","13","14","15","2147483650","2147483651","2147483652","2147483653","2147483654","2147483655","2147483656","2147483657","2147483658","2147483659","2147483660","2147483661","2147483662","2147483663","17","18","19","20","21","22","23","25","26","27","28","29","30","31","2147483664","2147483665","2147483666","2147483667","2147483668","2147483669","2147483670","2147483671","2147483672","2147483673","2147483674","2147483675","2147483676","2147483677","2147483678","2147483679","SBOX_MASK","DES","keyBits","keyBitPos","subKeys","_subKeys","nSubKey","subKey","bitShift","invSubKeys","_invSubKeys","_lBlock","_rBlock","exchangeLR","exchangeRL","lBlock","rBlock","mask","TripleDES","key1","key2","key3","_des1","_des2","_des3","rc4","RC4","keySigBytes","S","_S","keyByteIndex","keyByte","_i","_j","generateKeystreamWord","keystreamWord","RC4Drop","drop","rabbit","C_","G","Rabbit","X","_X","_C","_b","nextState","IV","IV_0","IV_1","i0","i2","i1","i3","gx","ga","gb","rabbitLegacy","RabbitLegacy","exports$2","reDigits","io","string","fgh","ssplit","seperator","components","split","shift","activeElement","isDigits","value","test","template","str","replace","outer","inner","getJSON","onSuccess","onError","request","XMLHttpRequest","open","onreadystatechange","readyState","status","JSON","responseText","send","escapeHtml","pattern","entities","&","<",">","\"","'","/","exports$1","html","forEach","element","innerHTML","append","first","eventName","attachEvent","focus","ElementArray","Array","k","Dollar","selector","match","matches","querySelectorAll","l","host","socket","parameters","payload","hostInfo","connect","toHost","forceNew","force new connection","roomName","decrypted","msg","sanitized","sanitized_payload","reconnect","foo","disconnect","param","p","assign","setKey","clear","setTorch","setNick","nick_maxLen","nick_minLen","cons","sounds","chat","inputWrapper","commands","type","text","tpl","uniqueId","getTime","timestamp","toLocaleTimeString","id","showNotification","parent","child","removeChild","torch","substring","clearInput","lockInput","setAttribute","className","unlockInput","removeAttribute","_require","filepath","onKeyDown","parts","command","ctrlKey","altKey","keyCode","retvals","recipients","commandName","leave","count","wind","location"],"mappings":"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"} \ No newline at end of file diff --git a/client/source/client.js b/client/source/client.js index 9d5578b..9e2fcfe 100644 --- a/client/source/client.js +++ b/client/source/client.js @@ -57,9 +57,9 @@ export default function (mediator, settings, templates) { // Make sure the nick meets the length requirements if (payload.length > settings.nick.maxLen) { - return mediator('console:error', $.template(templates.messages.nick_to_long, { nick_maxLen: settings.nick.maxLen } )); + return mediator.emit('console:error', $.template(templates.messages.nick_to_long, { nick_maxLen: settings.nick.maxLen } )); } else if (payload.length < settings.nick.minLen) { - return mediator('console:error', $.template(templates.messages.nick_to_short, {nick_minLen: settings.nick.minLen } )); + return mediator.emit('console:error', $.template(templates.messages.nick_to_short, {nick_minLen: settings.nick.minLen } )); } // Set nick diff --git a/package-lock.json b/package-lock.json index d1eec44..c862e3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cryptalk", - "version": "1.2.2", + "version": "1.2.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cryptalk", - "version": "1.2.2", + "version": "1.2.3", "license": "MIT", "os": [ "darwin", diff --git a/package.json b/package.json index 63341e2..cf39001 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cryptalk", - "version": "1.2.2", + "version": "1.2.3", "description": "Encrypted HTML5/Node.JS instant chat", "main": "server/server.js", "preferGlobal": true,