meshcore-hashtag-cracker 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* MeshCore Hashtag Room Cracker v1.
|
|
2
|
+
* MeshCore Hashtag Room Cracker v1.8.0
|
|
3
3
|
* https://github.com/jkingsman/meshcore-hashtag-cracker
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2026 Jack Kingsman
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
*
|
|
13
13
|
* See LICENSE.md for full license texts.
|
|
14
14
|
*/
|
|
15
|
-
"use strict";var MeshCoreCracker=(()=>{var Ns=Object.create;var M0=Object.defineProperty;var Gs=Object.getOwnPropertyDescriptor;var zs=Object.getOwnPropertyNames;var Ls=Object.getPrototypeOf,Vs=Object.prototype.hasOwnProperty;var Ks=(t,e,r)=>e in t?M0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var N0=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Ws=(t,e)=>()=>(t&&(e=t(t=0)),e);var N=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),An=(t,e)=>{for(var r in e)M0(t,r,{get:e[r],enumerable:!0})},En=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of zs(e))!Vs.call(t,s)&&s!==r&&M0(t,s,{get:()=>e[s],enumerable:!(n=Gs(e,s))||n.enumerable});return t};var it=(t,e,r)=>(r=t!=null?Ns(Ls(t)):{},En(e||!t||!t.__esModule?M0(r,"default",{value:t,enumerable:!0}):r,t)),Dn=t=>En(M0({},"__esModule",{value:!0}),t);var Le=(t,e,r)=>Ks(t,typeof e!="symbol"?e+"":e,r);var Ee=N(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.RequestType=_e.AdvertFlags=_e.DeviceRole=_e.PayloadVersion=_e.ControlSubType=_e.PayloadType=_e.RouteType=void 0;var Fn;(function(t){t[t.TransportFlood=0]="TransportFlood",t[t.Flood=1]="Flood",t[t.Direct=2]="Direct",t[t.TransportDirect=3]="TransportDirect"})(Fn||(_e.RouteType=Fn={}));var wn;(function(t){t[t.Request=0]="Request",t[t.Response=1]="Response",t[t.TextMessage=2]="TextMessage",t[t.Ack=3]="Ack",t[t.Advert=4]="Advert",t[t.GroupText=5]="GroupText",t[t.GroupData=6]="GroupData",t[t.AnonRequest=7]="AnonRequest",t[t.Path=8]="Path",t[t.Trace=9]="Trace",t[t.Multipart=10]="Multipart",t[t.Control=11]="Control",t[t.RawCustom=15]="RawCustom"})(wn||(_e.PayloadType=wn={}));var Pn;(function(t){t[t.NodeDiscoverReq=128]="NodeDiscoverReq",t[t.NodeDiscoverResp=144]="NodeDiscoverResp"})(Pn||(_e.ControlSubType=Pn={}));var Sn;(function(t){t[t.Version1=0]="Version1",t[t.Version2=1]="Version2",t[t.Version3=2]="Version3",t[t.Version4=3]="Version4"})(Sn||(_e.PayloadVersion=Sn={}));var kn;(function(t){t[t.Unknown=0]="Unknown",t[t.ChatNode=1]="ChatNode",t[t.Repeater=2]="Repeater",t[t.RoomServer=3]="RoomServer",t[t.Sensor=4]="Sensor"})(kn||(_e.DeviceRole=kn={}));var Tn;(function(t){t[t.HasLocation=16]="HasLocation",t[t.HasFeature1=32]="HasFeature1",t[t.HasFeature2=64]="HasFeature2",t[t.HasName=128]="HasName"})(Tn||(_e.AdvertFlags=Tn={}));var Rn;(function(t){t[t.GetStats=1]="GetStats",t[t.Keepalive=2]="Keepalive",t[t.GetTelemetryData=3]="GetTelemetryData",t[t.GetMinMaxAvgData=4]="GetMinMaxAvgData",t[t.GetAccessList=5]="GetAccessList"})(Rn||(_e.RequestType=Rn={}))});var ge=N(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});y0.byteToHex=Hn;y0.bytesToHex=js;y0.numberToHex=$s;y0.hexToBytes=Xs;function Hn(t){return t.toString(16).padStart(2,"0").toUpperCase()}function js(t){return Array.from(t).map(Hn).join("")}function $s(t,e=8){return(t>>>0).toString(16).padStart(e,"0").toUpperCase()}function Xs(t){let e=t.replace(/\s/g,"").toUpperCase();if(!/^[0-9A-F]*$/.test(e))throw new Error("Invalid hex string: invalid characters at position 0");if(e.length%2!==0)throw new Error("Invalid hex string: odd length");let r=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)r[n/2]=parseInt(e.substr(n,2),16);return r}});var v0=N(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.getRouteTypeName=Zs;Ze.getPayloadTypeName=Ys;Ze.getPayloadVersionName=Js;Ze.getDeviceRoleName=Qs;Ze.getRequestTypeName=ei;Ze.getControlSubTypeName=ti;var Q=Ee();function Zs(t){switch(t){case Q.RouteType.Flood:return"Flood";case Q.RouteType.Direct:return"Direct";case Q.RouteType.TransportFlood:return"TransportFlood";case Q.RouteType.TransportDirect:return"TransportDirect";default:return`Unknown (${t})`}}function Ys(t){switch(t){case Q.PayloadType.RawCustom:return"RawCustom";case Q.PayloadType.Trace:return"Trace";case Q.PayloadType.Advert:return"Advert";case Q.PayloadType.GroupText:return"GroupText";case Q.PayloadType.GroupData:return"GroupData";case Q.PayloadType.Request:return"Request";case Q.PayloadType.Response:return"Response";case Q.PayloadType.TextMessage:return"TextMessage";case Q.PayloadType.AnonRequest:return"AnonRequest";case Q.PayloadType.Ack:return"Ack";case Q.PayloadType.Path:return"Path";case Q.PayloadType.Multipart:return"Multipart";case Q.PayloadType.Control:return"Control";default:return`Unknown (0x${t.toString(16)})`}}function Js(t){switch(t){case Q.PayloadVersion.Version1:return"Version 1";case Q.PayloadVersion.Version2:return"Version 2";case Q.PayloadVersion.Version3:return"Version 3";case Q.PayloadVersion.Version4:return"Version 4";default:return`Unknown (${t})`}}function Qs(t){switch(t){case Q.DeviceRole.Unknown:return"Unknown";case Q.DeviceRole.ChatNode:return"Chat Node";case Q.DeviceRole.Repeater:return"Repeater";case Q.DeviceRole.RoomServer:return"Room Server";case Q.DeviceRole.Sensor:return"Sensor";default:return`Unknown (${t})`}}function ei(t){switch(t){case Q.RequestType.GetStats:return"Get Stats";case Q.RequestType.Keepalive:return"Keepalive (deprecated)";case Q.RequestType.GetTelemetryData:return"Get Telemetry Data";case Q.RequestType.GetMinMaxAvgData:return"Get Min/Max/Avg Data";case Q.RequestType.GetAccessList:return"Get Access List";default:return`Unknown (${t})`}}function ti(t){switch(t){case Q.ControlSubType.NodeDiscoverReq:return"Node Discover Request";case Q.ControlSubType.NodeDiscoverResp:return"Node Discover Response";default:return`Unknown (0x${t.toString(16)})`}}});var ot=N(()=>{});var X=N((ct,On)=>{(function(t,e){typeof ct=="object"?On.exports=ct=e():typeof define=="function"&&define.amd?define([],e):t.CryptoJS=e()})(ct,function(){var t=t||(function(e,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof N0=="function")try{n=ot()}catch{}var s=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},a=Object.create||(function(){function l(){}return function(h){var B;return l.prototype=h,B=new l,l.prototype=null,B}})(),c={},i=c.lib={},u=i.Base=(function(){return{extend:function(l){var h=a(this);return l&&h.mixIn(l),(!h.hasOwnProperty("init")||this.init===h.init)&&(h.init=function(){h.$super.init.apply(this,arguments)}),h.init.prototype=h,h.$super=this,h},create:function(){var l=this.extend();return l.init.apply(l,arguments),l},init:function(){},mixIn:function(l){for(var h in l)l.hasOwnProperty(h)&&(this[h]=l[h]);l.hasOwnProperty("toString")&&(this.toString=l.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),d=i.WordArray=u.extend({init:function(l,h){l=this.words=l||[],h!=r?this.sigBytes=h:this.sigBytes=l.length*4},toString:function(l){return(l||x).stringify(this)},concat:function(l){var h=this.words,B=l.words,b=this.sigBytes,_=l.sigBytes;if(this.clamp(),b%4)for(var v=0;v<_;v++){var w=B[v>>>2]>>>24-v%4*8&255;h[b+v>>>2]|=w<<24-(b+v)%4*8}else for(var C=0;C<_;C+=4)h[b+C>>>2]=B[C>>>2];return this.sigBytes+=_,this},clamp:function(){var l=this.words,h=this.sigBytes;l[h>>>2]&=4294967295<<32-h%4*8,l.length=e.ceil(h/4)},clone:function(){var l=u.clone.call(this);return l.words=this.words.slice(0),l},random:function(l){for(var h=[],B=0;B<l;B+=4)h.push(s());return new d.init(h,l)}}),o=c.enc={},x=o.Hex={stringify:function(l){for(var h=l.words,B=l.sigBytes,b=[],_=0;_<B;_++){var v=h[_>>>2]>>>24-_%4*8&255;b.push((v>>>4).toString(16)),b.push((v&15).toString(16))}return b.join("")},parse:function(l){for(var h=l.length,B=[],b=0;b<h;b+=2)B[b>>>3]|=parseInt(l.substr(b,2),16)<<24-b%8*4;return new d.init(B,h/2)}},f=o.Latin1={stringify:function(l){for(var h=l.words,B=l.sigBytes,b=[],_=0;_<B;_++){var v=h[_>>>2]>>>24-_%4*8&255;b.push(String.fromCharCode(v))}return b.join("")},parse:function(l){for(var h=l.length,B=[],b=0;b<h;b++)B[b>>>2]|=(l.charCodeAt(b)&255)<<24-b%4*8;return new d.init(B,h)}},p=o.Utf8={stringify:function(l){try{return decodeURIComponent(escape(f.stringify(l)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(l){return f.parse(unescape(encodeURIComponent(l)))}},y=i.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(l){typeof l=="string"&&(l=p.parse(l)),this._data.concat(l),this._nDataBytes+=l.sigBytes},_process:function(l){var h,B=this._data,b=B.words,_=B.sigBytes,v=this.blockSize,w=v*4,C=_/w;l?C=e.ceil(C):C=e.max((C|0)-this._minBufferSize,0);var R=C*v,H=e.min(R*4,_);if(R){for(var A=0;A<R;A+=v)this._doProcessBlock(b,A);h=b.splice(0,R),B.sigBytes-=H}return new d.init(h,H)},clone:function(){var l=u.clone.call(this);return l._data=this._data.clone(),l},_minBufferSize:0}),g=i.Hasher=y.extend({cfg:u.extend(),init:function(l){this.cfg=this.cfg.extend(l),this.reset()},reset:function(){y.reset.call(this),this._doReset()},update:function(l){return this._append(l),this._process(),this},finalize:function(l){l&&this._append(l);var h=this._doFinalize();return h},blockSize:512/32,_createHelper:function(l){return function(h,B){return new l.init(B).finalize(h)}},_createHmacHelper:function(l){return function(h,B){return new m.HMAC.init(l,B).finalize(h)}}}),m=c.algo={};return c})(Math);return t})});var G0=N((ut,Un)=>{(function(t,e){typeof ut=="object"?Un.exports=ut=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ut,function(t){return(function(e){var r=t,n=r.lib,s=n.Base,a=n.WordArray,c=r.x64={},i=c.Word=s.extend({init:function(d,o){this.high=d,this.low=o}}),u=c.WordArray=s.extend({init:function(d,o){d=this.words=d||[],o!=e?this.sigBytes=o:this.sigBytes=d.length*8},toX32:function(){for(var d=this.words,o=d.length,x=[],f=0;f<o;f++){var p=d[f];x.push(p.high),x.push(p.low)}return a.create(x,this.sigBytes)},clone:function(){for(var d=s.clone.call(this),o=d.words=this.words.slice(0),x=o.length,f=0;f<x;f++)o[f]=o[f].clone();return d}})})(),t})});var In=N((ft,qn)=>{(function(t,e){typeof ft=="object"?qn.exports=ft=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ft,function(t){return(function(){if(typeof ArrayBuffer=="function"){var e=t,r=e.lib,n=r.WordArray,s=n.init,a=n.init=function(c){if(c instanceof ArrayBuffer&&(c=new Uint8Array(c)),(c instanceof Int8Array||typeof Uint8ClampedArray<"u"&&c instanceof Uint8ClampedArray||c instanceof Int16Array||c instanceof Uint16Array||c instanceof Int32Array||c instanceof Uint32Array||c instanceof Float32Array||c instanceof Float64Array)&&(c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)),c instanceof Uint8Array){for(var i=c.byteLength,u=[],d=0;d<i;d++)u[d>>>2]|=c[d]<<24-d%4*8;s.call(this,u,i)}else s.apply(this,arguments)};a.prototype=n}})(),t.lib.WordArray})});var Nn=N((xt,Mn)=>{(function(t,e){typeof xt=="object"?Mn.exports=xt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(xt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,a=s.Utf16=s.Utf16BE={stringify:function(i){for(var u=i.words,d=i.sigBytes,o=[],x=0;x<d;x+=2){var f=u[x>>>2]>>>16-x%4*8&65535;o.push(String.fromCharCode(f))}return o.join("")},parse:function(i){for(var u=i.length,d=[],o=0;o<u;o++)d[o>>>1]|=i.charCodeAt(o)<<16-o%2*16;return n.create(d,u*2)}};s.Utf16LE={stringify:function(i){for(var u=i.words,d=i.sigBytes,o=[],x=0;x<d;x+=2){var f=c(u[x>>>2]>>>16-x%4*8&65535);o.push(String.fromCharCode(f))}return o.join("")},parse:function(i){for(var u=i.length,d=[],o=0;o<u;o++)d[o>>>1]|=c(i.charCodeAt(o)<<16-o%2*16);return n.create(d,u*2)}};function c(i){return i<<8&4278255360|i>>>8&16711935}})(),t.enc.Utf16})});var Ye=N((dt,Gn)=>{(function(t,e){typeof dt=="object"?Gn.exports=dt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(dt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,a=s.Base64={stringify:function(i){var u=i.words,d=i.sigBytes,o=this._map;i.clamp();for(var x=[],f=0;f<d;f+=3)for(var p=u[f>>>2]>>>24-f%4*8&255,y=u[f+1>>>2]>>>24-(f+1)%4*8&255,g=u[f+2>>>2]>>>24-(f+2)%4*8&255,m=p<<16|y<<8|g,l=0;l<4&&f+l*.75<d;l++)x.push(o.charAt(m>>>6*(3-l)&63));var h=o.charAt(64);if(h)for(;x.length%4;)x.push(h);return x.join("")},parse:function(i){var u=i.length,d=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var x=0;x<d.length;x++)o[d.charCodeAt(x)]=x}var f=d.charAt(64);if(f){var p=i.indexOf(f);p!==-1&&(u=p)}return c(i,u,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function c(i,u,d){for(var o=[],x=0,f=0;f<u;f++)if(f%4){var p=d[i.charCodeAt(f-1)]<<f%4*2,y=d[i.charCodeAt(f)]>>>6-f%4*2,g=p|y;o[x>>>2]|=g<<24-x%4*8,x++}return n.create(o,x)}})(),t.enc.Base64})});var Ln=N((lt,zn)=>{(function(t,e){typeof lt=="object"?zn.exports=lt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(lt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,a=s.Base64url={stringify:function(i,u){u===void 0&&(u=!0);var d=i.words,o=i.sigBytes,x=u?this._safe_map:this._map;i.clamp();for(var f=[],p=0;p<o;p+=3)for(var y=d[p>>>2]>>>24-p%4*8&255,g=d[p+1>>>2]>>>24-(p+1)%4*8&255,m=d[p+2>>>2]>>>24-(p+2)%4*8&255,l=y<<16|g<<8|m,h=0;h<4&&p+h*.75<o;h++)f.push(x.charAt(l>>>6*(3-h)&63));var B=x.charAt(64);if(B)for(;f.length%4;)f.push(B);return f.join("")},parse:function(i,u){u===void 0&&(u=!0);var d=i.length,o=u?this._safe_map:this._map,x=this._reverseMap;if(!x){x=this._reverseMap=[];for(var f=0;f<o.length;f++)x[o.charCodeAt(f)]=f}var p=o.charAt(64);if(p){var y=i.indexOf(p);y!==-1&&(d=y)}return c(i,d,x)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function c(i,u,d){for(var o=[],x=0,f=0;f<u;f++)if(f%4){var p=d[i.charCodeAt(f-1)]<<f%4*2,y=d[i.charCodeAt(f)]>>>6-f%4*2,g=p|y;o[x>>>2]|=g<<24-x%4*8,x++}return n.create(o,x)}})(),t.enc.Base64url})});var Je=N((ht,Vn)=>{(function(t,e){typeof ht=="object"?Vn.exports=ht=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ht,function(t){return(function(e){var r=t,n=r.lib,s=n.WordArray,a=n.Hasher,c=r.algo,i=[];(function(){for(var p=0;p<64;p++)i[p]=e.abs(e.sin(p+1))*4294967296|0})();var u=c.MD5=a.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,y){for(var g=0;g<16;g++){var m=y+g,l=p[m];p[m]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360}var h=this._hash.words,B=p[y+0],b=p[y+1],_=p[y+2],v=p[y+3],w=p[y+4],C=p[y+5],R=p[y+6],H=p[y+7],A=p[y+8],D=p[y+9],U=p[y+10],k=p[y+11],z=p[y+12],G=p[y+13],K=p[y+14],j=p[y+15],E=h[0],S=h[1],T=h[2],P=h[3];E=d(E,S,T,P,B,7,i[0]),P=d(P,E,S,T,b,12,i[1]),T=d(T,P,E,S,_,17,i[2]),S=d(S,T,P,E,v,22,i[3]),E=d(E,S,T,P,w,7,i[4]),P=d(P,E,S,T,C,12,i[5]),T=d(T,P,E,S,R,17,i[6]),S=d(S,T,P,E,H,22,i[7]),E=d(E,S,T,P,A,7,i[8]),P=d(P,E,S,T,D,12,i[9]),T=d(T,P,E,S,U,17,i[10]),S=d(S,T,P,E,k,22,i[11]),E=d(E,S,T,P,z,7,i[12]),P=d(P,E,S,T,G,12,i[13]),T=d(T,P,E,S,K,17,i[14]),S=d(S,T,P,E,j,22,i[15]),E=o(E,S,T,P,b,5,i[16]),P=o(P,E,S,T,R,9,i[17]),T=o(T,P,E,S,k,14,i[18]),S=o(S,T,P,E,B,20,i[19]),E=o(E,S,T,P,C,5,i[20]),P=o(P,E,S,T,U,9,i[21]),T=o(T,P,E,S,j,14,i[22]),S=o(S,T,P,E,w,20,i[23]),E=o(E,S,T,P,D,5,i[24]),P=o(P,E,S,T,K,9,i[25]),T=o(T,P,E,S,v,14,i[26]),S=o(S,T,P,E,A,20,i[27]),E=o(E,S,T,P,G,5,i[28]),P=o(P,E,S,T,_,9,i[29]),T=o(T,P,E,S,H,14,i[30]),S=o(S,T,P,E,z,20,i[31]),E=x(E,S,T,P,C,4,i[32]),P=x(P,E,S,T,A,11,i[33]),T=x(T,P,E,S,k,16,i[34]),S=x(S,T,P,E,K,23,i[35]),E=x(E,S,T,P,b,4,i[36]),P=x(P,E,S,T,w,11,i[37]),T=x(T,P,E,S,H,16,i[38]),S=x(S,T,P,E,U,23,i[39]),E=x(E,S,T,P,G,4,i[40]),P=x(P,E,S,T,B,11,i[41]),T=x(T,P,E,S,v,16,i[42]),S=x(S,T,P,E,R,23,i[43]),E=x(E,S,T,P,D,4,i[44]),P=x(P,E,S,T,z,11,i[45]),T=x(T,P,E,S,j,16,i[46]),S=x(S,T,P,E,_,23,i[47]),E=f(E,S,T,P,B,6,i[48]),P=f(P,E,S,T,H,10,i[49]),T=f(T,P,E,S,K,15,i[50]),S=f(S,T,P,E,C,21,i[51]),E=f(E,S,T,P,z,6,i[52]),P=f(P,E,S,T,v,10,i[53]),T=f(T,P,E,S,U,15,i[54]),S=f(S,T,P,E,b,21,i[55]),E=f(E,S,T,P,A,6,i[56]),P=f(P,E,S,T,j,10,i[57]),T=f(T,P,E,S,R,15,i[58]),S=f(S,T,P,E,G,21,i[59]),E=f(E,S,T,P,w,6,i[60]),P=f(P,E,S,T,k,10,i[61]),T=f(T,P,E,S,_,15,i[62]),S=f(S,T,P,E,D,21,i[63]),h[0]=h[0]+E|0,h[1]=h[1]+S|0,h[2]=h[2]+T|0,h[3]=h[3]+P|0},_doFinalize:function(){var p=this._data,y=p.words,g=this._nDataBytes*8,m=p.sigBytes*8;y[m>>>5]|=128<<24-m%32;var l=e.floor(g/4294967296),h=g;y[(m+64>>>9<<4)+15]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,y[(m+64>>>9<<4)+14]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360,p.sigBytes=(y.length+1)*4,this._process();for(var B=this._hash,b=B.words,_=0;_<4;_++){var v=b[_];b[_]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360}return B},clone:function(){var p=a.clone.call(this);return p._hash=this._hash.clone(),p}});function d(p,y,g,m,l,h,B){var b=p+(y&g|~y&m)+l+B;return(b<<h|b>>>32-h)+y}function o(p,y,g,m,l,h,B){var b=p+(y&m|g&~m)+l+B;return(b<<h|b>>>32-h)+y}function x(p,y,g,m,l,h,B){var b=p+(y^g^m)+l+B;return(b<<h|b>>>32-h)+y}function f(p,y,g,m,l,h,B){var b=p+(g^(y|~m))+l+B;return(b<<h|b>>>32-h)+y}r.MD5=a._createHelper(u),r.HmacMD5=a._createHmacHelper(u)})(Math),t.MD5})});var Hr=N((pt,Kn)=>{(function(t,e){typeof pt=="object"?Kn.exports=pt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(pt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=r.Hasher,a=e.algo,c=[],i=a.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(u,d){for(var o=this._hash.words,x=o[0],f=o[1],p=o[2],y=o[3],g=o[4],m=0;m<80;m++){if(m<16)c[m]=u[d+m]|0;else{var l=c[m-3]^c[m-8]^c[m-14]^c[m-16];c[m]=l<<1|l>>>31}var h=(x<<5|x>>>27)+g+c[m];m<20?h+=(f&p|~f&y)+1518500249:m<40?h+=(f^p^y)+1859775393:m<60?h+=(f&p|f&y|p&y)-1894007588:h+=(f^p^y)-899497514,g=y,y=p,p=f<<30|f>>>2,f=x,x=h}o[0]=o[0]+x|0,o[1]=o[1]+f|0,o[2]=o[2]+p|0,o[3]=o[3]+y|0,o[4]=o[4]+g|0},_doFinalize:function(){var u=this._data,d=u.words,o=this._nDataBytes*8,x=u.sigBytes*8;return d[x>>>5]|=128<<24-x%32,d[(x+64>>>9<<4)+14]=Math.floor(o/4294967296),d[(x+64>>>9<<4)+15]=o,u.sigBytes=d.length*4,this._process(),this._hash},clone:function(){var u=s.clone.call(this);return u._hash=this._hash.clone(),u}});e.SHA1=s._createHelper(i),e.HmacSHA1=s._createHmacHelper(i)})(),t.SHA1})});var g0=N((yt,Wn)=>{(function(t,e){typeof yt=="object"?Wn.exports=yt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(yt,function(t){return(function(e){var r=t,n=r.lib,s=n.WordArray,a=n.Hasher,c=r.algo,i=[],u=[];(function(){function x(g){for(var m=e.sqrt(g),l=2;l<=m;l++)if(!(g%l))return!1;return!0}function f(g){return(g-(g|0))*4294967296|0}for(var p=2,y=0;y<64;)x(p)&&(y<8&&(i[y]=f(e.pow(p,1/2))),u[y]=f(e.pow(p,1/3)),y++),p++})();var d=[],o=c.SHA256=a.extend({_doReset:function(){this._hash=new s.init(i.slice(0))},_doProcessBlock:function(x,f){for(var p=this._hash.words,y=p[0],g=p[1],m=p[2],l=p[3],h=p[4],B=p[5],b=p[6],_=p[7],v=0;v<64;v++){if(v<16)d[v]=x[f+v]|0;else{var w=d[v-15],C=(w<<25|w>>>7)^(w<<14|w>>>18)^w>>>3,R=d[v-2],H=(R<<15|R>>>17)^(R<<13|R>>>19)^R>>>10;d[v]=C+d[v-7]+H+d[v-16]}var A=h&B^~h&b,D=y&g^y&m^g&m,U=(y<<30|y>>>2)^(y<<19|y>>>13)^(y<<10|y>>>22),k=(h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25),z=_+k+A+u[v]+d[v],G=U+D;_=b,b=B,B=h,h=l+z|0,l=m,m=g,g=y,y=z+G|0}p[0]=p[0]+y|0,p[1]=p[1]+g|0,p[2]=p[2]+m|0,p[3]=p[3]+l|0,p[4]=p[4]+h|0,p[5]=p[5]+B|0,p[6]=p[6]+b|0,p[7]=p[7]+_|0},_doFinalize:function(){var x=this._data,f=x.words,p=this._nDataBytes*8,y=x.sigBytes*8;return f[y>>>5]|=128<<24-y%32,f[(y+64>>>9<<4)+14]=e.floor(p/4294967296),f[(y+64>>>9<<4)+15]=p,x.sigBytes=f.length*4,this._process(),this._hash},clone:function(){var x=a.clone.call(this);return x._hash=this._hash.clone(),x}});r.SHA256=a._createHelper(o),r.HmacSHA256=a._createHmacHelper(o)})(Math),t.SHA256})});var $n=N((vt,jn)=>{(function(t,e,r){typeof vt=="object"?jn.exports=vt=e(X(),g0()):typeof define=="function"&&define.amd?define(["./core","./sha256"],e):e(t.CryptoJS)})(vt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=e.algo,a=s.SHA256,c=s.SHA224=a.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var i=a._doFinalize.call(this);return i.sigBytes-=4,i}});e.SHA224=a._createHelper(c),e.HmacSHA224=a._createHmacHelper(c)})(),t.SHA224})});var Or=N((gt,Xn)=>{(function(t,e,r){typeof gt=="object"?Xn.exports=gt=e(X(),G0()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(gt,function(t){return(function(){var e=t,r=e.lib,n=r.Hasher,s=e.x64,a=s.Word,c=s.WordArray,i=e.algo;function u(){return a.create.apply(a,arguments)}var d=[u(1116352408,3609767458),u(1899447441,602891725),u(3049323471,3964484399),u(3921009573,2173295548),u(961987163,4081628472),u(1508970993,3053834265),u(2453635748,2937671579),u(2870763221,3664609560),u(3624381080,2734883394),u(310598401,1164996542),u(607225278,1323610764),u(1426881987,3590304994),u(1925078388,4068182383),u(2162078206,991336113),u(2614888103,633803317),u(3248222580,3479774868),u(3835390401,2666613458),u(4022224774,944711139),u(264347078,2341262773),u(604807628,2007800933),u(770255983,1495990901),u(1249150122,1856431235),u(1555081692,3175218132),u(1996064986,2198950837),u(2554220882,3999719339),u(2821834349,766784016),u(2952996808,2566594879),u(3210313671,3203337956),u(3336571891,1034457026),u(3584528711,2466948901),u(113926993,3758326383),u(338241895,168717936),u(666307205,1188179964),u(773529912,1546045734),u(1294757372,1522805485),u(1396182291,2643833823),u(1695183700,2343527390),u(1986661051,1014477480),u(2177026350,1206759142),u(2456956037,344077627),u(2730485921,1290863460),u(2820302411,3158454273),u(3259730800,3505952657),u(3345764771,106217008),u(3516065817,3606008344),u(3600352804,1432725776),u(4094571909,1467031594),u(275423344,851169720),u(430227734,3100823752),u(506948616,1363258195),u(659060556,3750685593),u(883997877,3785050280),u(958139571,3318307427),u(1322822218,3812723403),u(1537002063,2003034995),u(1747873779,3602036899),u(1955562222,1575990012),u(2024104815,1125592928),u(2227730452,2716904306),u(2361852424,442776044),u(2428436474,593698344),u(2756734187,3733110249),u(3204031479,2999351573),u(3329325298,3815920427),u(3391569614,3928383900),u(3515267271,566280711),u(3940187606,3454069534),u(4118630271,4000239992),u(116418474,1914138554),u(174292421,2731055270),u(289380356,3203993006),u(460393269,320620315),u(685471733,587496836),u(852142971,1086792851),u(1017036298,365543100),u(1126000580,2618297676),u(1288033470,3409855158),u(1501505948,4234509866),u(1607167915,987167468),u(1816402316,1246189591)],o=[];(function(){for(var f=0;f<80;f++)o[f]=u()})();var x=i.SHA512=n.extend({_doReset:function(){this._hash=new c.init([new a.init(1779033703,4089235720),new a.init(3144134277,2227873595),new a.init(1013904242,4271175723),new a.init(2773480762,1595750129),new a.init(1359893119,2917565137),new a.init(2600822924,725511199),new a.init(528734635,4215389547),new a.init(1541459225,327033209)])},_doProcessBlock:function(f,p){for(var y=this._hash.words,g=y[0],m=y[1],l=y[2],h=y[3],B=y[4],b=y[5],_=y[6],v=y[7],w=g.high,C=g.low,R=m.high,H=m.low,A=l.high,D=l.low,U=h.high,k=h.low,z=B.high,G=B.low,K=b.high,j=b.low,E=_.high,S=_.low,T=v.high,P=v.low,ee=w,re=C,pe=R,$=H,L=A,V=D,W=U,ne=k,ae=z,Z=G,me=K,be=j,xe=E,he=S,ye=T,ce=P,se=0;se<80;se++){var ue,Be,Fe=o[se];if(se<16)Be=Fe.high=f[p+se*2]|0,ue=Fe.low=f[p+se*2+1]|0;else{var a0=o[se-15],Ae=a0.high,we=a0.low,Oe=(Ae>>>1|we<<31)^(Ae>>>8|we<<24)^Ae>>>7,s0=(we>>>1|Ae<<31)^(we>>>8|Ae<<24)^(we>>>7|Ae<<25),i0=o[se-2],Te=i0.high,Ue=i0.low,Z0=(Te>>>19|Ue<<13)^(Te<<3|Ue>>>29)^Te>>>6,Y0=(Ue>>>19|Te<<13)^(Ue<<3|Te>>>29)^(Ue>>>6|Te<<26),J0=o[se-7],Q0=J0.high,Pr=J0.low,et=o[se-16],Sr=et.high,tt=et.low;ue=s0+Pr,Be=Oe+Q0+(ue>>>0<s0>>>0?1:0),ue=ue+Y0,Be=Be+Z0+(ue>>>0<Y0>>>0?1:0),ue=ue+tt,Be=Be+Sr+(ue>>>0<tt>>>0?1:0),Fe.high=Be,Fe.low=ue}var kr=ae&me^~ae&xe,U0=Z&be^~Z&he,rt=ee&pe^ee&L^pe&L,nt=re&$^re&V^$&V,Tr=(ee>>>28|re<<4)^(ee<<30|re>>>2)^(ee<<25|re>>>7),at=(re>>>28|ee<<4)^(re<<30|ee>>>2)^(re<<25|ee>>>7),o0=(ae>>>14|Z<<18)^(ae>>>18|Z<<14)^(ae<<23|Z>>>9),q0=(Z>>>14|ae<<18)^(Z>>>18|ae<<14)^(Z<<23|ae>>>9),st=d[se],F=st.high,O=st.low,I=ce+q0,Y=ye+o0+(I>>>0<ce>>>0?1:0),I=I+U0,Y=Y+kr+(I>>>0<U0>>>0?1:0),I=I+O,Y=Y+F+(I>>>0<O>>>0?1:0),I=I+ue,Y=Y+Be+(I>>>0<ue>>>0?1:0),te=at+nt,oe=Tr+rt+(te>>>0<at>>>0?1:0);ye=xe,ce=he,xe=me,he=be,me=ae,be=Z,Z=ne+I|0,ae=W+Y+(Z>>>0<ne>>>0?1:0)|0,W=L,ne=V,L=pe,V=$,pe=ee,$=re,re=I+te|0,ee=Y+oe+(re>>>0<I>>>0?1:0)|0}C=g.low=C+re,g.high=w+ee+(C>>>0<re>>>0?1:0),H=m.low=H+$,m.high=R+pe+(H>>>0<$>>>0?1:0),D=l.low=D+V,l.high=A+L+(D>>>0<V>>>0?1:0),k=h.low=k+ne,h.high=U+W+(k>>>0<ne>>>0?1:0),G=B.low=G+Z,B.high=z+ae+(G>>>0<Z>>>0?1:0),j=b.low=j+be,b.high=K+me+(j>>>0<be>>>0?1:0),S=_.low=S+he,_.high=E+xe+(S>>>0<he>>>0?1:0),P=v.low=P+ce,v.high=T+ye+(P>>>0<ce>>>0?1:0)},_doFinalize:function(){var f=this._data,p=f.words,y=this._nDataBytes*8,g=f.sigBytes*8;p[g>>>5]|=128<<24-g%32,p[(g+128>>>10<<5)+30]=Math.floor(y/4294967296),p[(g+128>>>10<<5)+31]=y,f.sigBytes=p.length*4,this._process();var m=this._hash.toX32();return m},clone:function(){var f=n.clone.call(this);return f._hash=this._hash.clone(),f},blockSize:1024/32});e.SHA512=n._createHelper(x),e.HmacSHA512=n._createHmacHelper(x)})(),t.SHA512})});var Yn=N((mt,Zn)=>{(function(t,e,r){typeof mt=="object"?Zn.exports=mt=e(X(),G0(),Or()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./sha512"],e):e(t.CryptoJS)})(mt,function(t){return(function(){var e=t,r=e.x64,n=r.Word,s=r.WordArray,a=e.algo,c=a.SHA512,i=a.SHA384=c.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var u=c._doFinalize.call(this);return u.sigBytes-=16,u}});e.SHA384=c._createHelper(i),e.HmacSHA384=c._createHmacHelper(i)})(),t.SHA384})});var Qn=N((bt,Jn)=>{(function(t,e,r){typeof bt=="object"?Jn.exports=bt=e(X(),G0()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(bt,function(t){return(function(e){var r=t,n=r.lib,s=n.WordArray,a=n.Hasher,c=r.x64,i=c.Word,u=r.algo,d=[],o=[],x=[];(function(){for(var y=1,g=0,m=0;m<24;m++){d[y+5*g]=(m+1)*(m+2)/2%64;var l=g%5,h=(2*y+3*g)%5;y=l,g=h}for(var y=0;y<5;y++)for(var g=0;g<5;g++)o[y+5*g]=g+(2*y+3*g)%5*5;for(var B=1,b=0;b<24;b++){for(var _=0,v=0,w=0;w<7;w++){if(B&1){var C=(1<<w)-1;C<32?v^=1<<C:_^=1<<C-32}B&128?B=B<<1^113:B<<=1}x[b]=i.create(_,v)}})();var f=[];(function(){for(var y=0;y<25;y++)f[y]=i.create()})();var p=u.SHA3=a.extend({cfg:a.cfg.extend({outputLength:512}),_doReset:function(){for(var y=this._state=[],g=0;g<25;g++)y[g]=new i.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(y,g){for(var m=this._state,l=this.blockSize/2,h=0;h<l;h++){var B=y[g+2*h],b=y[g+2*h+1];B=(B<<8|B>>>24)&16711935|(B<<24|B>>>8)&4278255360,b=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360;var _=m[h];_.high^=b,_.low^=B}for(var v=0;v<24;v++){for(var w=0;w<5;w++){for(var C=0,R=0,H=0;H<5;H++){var _=m[w+5*H];C^=_.high,R^=_.low}var A=f[w];A.high=C,A.low=R}for(var w=0;w<5;w++)for(var D=f[(w+4)%5],U=f[(w+1)%5],k=U.high,z=U.low,C=D.high^(k<<1|z>>>31),R=D.low^(z<<1|k>>>31),H=0;H<5;H++){var _=m[w+5*H];_.high^=C,_.low^=R}for(var G=1;G<25;G++){var C,R,_=m[G],K=_.high,j=_.low,E=d[G];E<32?(C=K<<E|j>>>32-E,R=j<<E|K>>>32-E):(C=j<<E-32|K>>>64-E,R=K<<E-32|j>>>64-E);var S=f[o[G]];S.high=C,S.low=R}var T=f[0],P=m[0];T.high=P.high,T.low=P.low;for(var w=0;w<5;w++)for(var H=0;H<5;H++){var G=w+5*H,_=m[G],ee=f[G],re=f[(w+1)%5+5*H],pe=f[(w+2)%5+5*H];_.high=ee.high^~re.high&pe.high,_.low=ee.low^~re.low&pe.low}var _=m[0],$=x[v];_.high^=$.high,_.low^=$.low}},_doFinalize:function(){var y=this._data,g=y.words,m=this._nDataBytes*8,l=y.sigBytes*8,h=this.blockSize*32;g[l>>>5]|=1<<24-l%32,g[(e.ceil((l+1)/h)*h>>>5)-1]|=128,y.sigBytes=g.length*4,this._process();for(var B=this._state,b=this.cfg.outputLength/8,_=b/8,v=[],w=0;w<_;w++){var C=B[w],R=C.high,H=C.low;R=(R<<8|R>>>24)&16711935|(R<<24|R>>>8)&4278255360,H=(H<<8|H>>>24)&16711935|(H<<24|H>>>8)&4278255360,v.push(H),v.push(R)}return new s.init(v,b)},clone:function(){for(var y=a.clone.call(this),g=y._state=this._state.slice(0),m=0;m<25;m++)g[m]=g[m].clone();return y}});r.SHA3=a._createHelper(p),r.HmacSHA3=a._createHmacHelper(p)})(Math),t.SHA3})});var ta=N((Bt,ea)=>{(function(t,e){typeof Bt=="object"?ea.exports=Bt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(Bt,function(t){return(function(e){var r=t,n=r.lib,s=n.WordArray,a=n.Hasher,c=r.algo,i=s.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]),u=s.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]),d=s.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]),o=s.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]),x=s.create([0,1518500249,1859775393,2400959708,2840853838]),f=s.create([1352829926,1548603684,1836072691,2053994217,0]),p=c.RIPEMD160=a.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(b,_){for(var v=0;v<16;v++){var w=_+v,C=b[w];b[w]=(C<<8|C>>>24)&16711935|(C<<24|C>>>8)&4278255360}var R=this._hash.words,H=x.words,A=f.words,D=i.words,U=u.words,k=d.words,z=o.words,G,K,j,E,S,T,P,ee,re,pe;T=G=R[0],P=K=R[1],ee=j=R[2],re=E=R[3],pe=S=R[4];for(var $,v=0;v<80;v+=1)$=G+b[_+D[v]]|0,v<16?$+=y(K,j,E)+H[0]:v<32?$+=g(K,j,E)+H[1]:v<48?$+=m(K,j,E)+H[2]:v<64?$+=l(K,j,E)+H[3]:$+=h(K,j,E)+H[4],$=$|0,$=B($,k[v]),$=$+S|0,G=S,S=E,E=B(j,10),j=K,K=$,$=T+b[_+U[v]]|0,v<16?$+=h(P,ee,re)+A[0]:v<32?$+=l(P,ee,re)+A[1]:v<48?$+=m(P,ee,re)+A[2]:v<64?$+=g(P,ee,re)+A[3]:$+=y(P,ee,re)+A[4],$=$|0,$=B($,z[v]),$=$+pe|0,T=pe,pe=re,re=B(ee,10),ee=P,P=$;$=R[1]+j+re|0,R[1]=R[2]+E+pe|0,R[2]=R[3]+S+T|0,R[3]=R[4]+G+P|0,R[4]=R[0]+K+ee|0,R[0]=$},_doFinalize:function(){var b=this._data,_=b.words,v=this._nDataBytes*8,w=b.sigBytes*8;_[w>>>5]|=128<<24-w%32,_[(w+64>>>9<<4)+14]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,b.sigBytes=(_.length+1)*4,this._process();for(var C=this._hash,R=C.words,H=0;H<5;H++){var A=R[H];R[H]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360}return C},clone:function(){var b=a.clone.call(this);return b._hash=this._hash.clone(),b}});function y(b,_,v){return b^_^v}function g(b,_,v){return b&_|~b&v}function m(b,_,v){return(b|~_)^v}function l(b,_,v){return b&v|_&~v}function h(b,_,v){return b^(_|~v)}function B(b,_){return b<<_|b>>>32-_}r.RIPEMD160=a._createHelper(p),r.HmacRIPEMD160=a._createHmacHelper(p)})(Math),t.RIPEMD160})});var z0=N((_t,ra)=>{(function(t,e){typeof _t=="object"?ra.exports=_t=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(_t,function(t){(function(){var e=t,r=e.lib,n=r.Base,s=e.enc,a=s.Utf8,c=e.algo,i=c.HMAC=n.extend({init:function(u,d){u=this._hasher=new u.init,typeof d=="string"&&(d=a.parse(d));var o=u.blockSize,x=o*4;d.sigBytes>x&&(d=u.finalize(d)),d.clamp();for(var f=this._oKey=d.clone(),p=this._iKey=d.clone(),y=f.words,g=p.words,m=0;m<o;m++)y[m]^=1549556828,g[m]^=909522486;f.sigBytes=p.sigBytes=x,this.reset()},reset:function(){var u=this._hasher;u.reset(),u.update(this._iKey)},update:function(u){return this._hasher.update(u),this},finalize:function(u){var d=this._hasher,o=d.finalize(u);d.reset();var x=d.finalize(this._oKey.clone().concat(o));return x}})})()})});var aa=N((Ct,na)=>{(function(t,e,r){typeof Ct=="object"?na.exports=Ct=e(X(),g0(),z0()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(Ct,function(t){return(function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,a=e.algo,c=a.SHA256,i=a.HMAC,u=a.PBKDF2=n.extend({cfg:n.extend({keySize:128/32,hasher:c,iterations:25e4}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,o){for(var x=this.cfg,f=i.create(x.hasher,d),p=s.create(),y=s.create([1]),g=p.words,m=y.words,l=x.keySize,h=x.iterations;g.length<l;){var B=f.update(o).finalize(y);f.reset();for(var b=B.words,_=b.length,v=B,w=1;w<h;w++){v=f.finalize(v),f.reset();for(var C=v.words,R=0;R<_;R++)b[R]^=C[R]}p.concat(B),m[0]++}return p.sigBytes=l*4,p}});e.PBKDF2=function(d,o,x){return u.create(x).compute(d,o)}})(),t.PBKDF2})});var Ve=N((At,sa)=>{(function(t,e,r){typeof At=="object"?sa.exports=At=e(X(),Hr(),z0()):typeof define=="function"&&define.amd?define(["./core","./sha1","./hmac"],e):e(t.CryptoJS)})(At,function(t){return(function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,a=e.algo,c=a.MD5,i=a.EvpKDF=n.extend({cfg:n.extend({keySize:128/32,hasher:c,iterations:1}),init:function(u){this.cfg=this.cfg.extend(u)},compute:function(u,d){for(var o,x=this.cfg,f=x.hasher.create(),p=s.create(),y=p.words,g=x.keySize,m=x.iterations;y.length<g;){o&&f.update(o),o=f.update(u).finalize(d),f.reset();for(var l=1;l<m;l++)o=f.finalize(o),f.reset();p.concat(o)}return p.sigBytes=g*4,p}});e.EvpKDF=function(u,d,o){return i.create(o).compute(u,d)}})(),t.EvpKDF})});var ve=N((Et,ia)=>{(function(t,e,r){typeof Et=="object"?ia.exports=Et=e(X(),Ve()):typeof define=="function"&&define.amd?define(["./core","./evpkdf"],e):e(t.CryptoJS)})(Et,function(t){t.lib.Cipher||(function(e){var r=t,n=r.lib,s=n.Base,a=n.WordArray,c=n.BufferedBlockAlgorithm,i=r.enc,u=i.Utf8,d=i.Base64,o=r.algo,x=o.EvpKDF,f=n.Cipher=c.extend({cfg:s.extend(),createEncryptor:function(A,D){return this.create(this._ENC_XFORM_MODE,A,D)},createDecryptor:function(A,D){return this.create(this._DEC_XFORM_MODE,A,D)},init:function(A,D,U){this.cfg=this.cfg.extend(U),this._xformMode=A,this._key=D,this.reset()},reset:function(){c.reset.call(this),this._doReset()},process:function(A){return this._append(A),this._process()},finalize:function(A){A&&this._append(A);var D=this._doFinalize();return D},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:(function(){function A(D){return typeof D=="string"?H:w}return function(D){return{encrypt:function(U,k,z){return A(k).encrypt(D,U,k,z)},decrypt:function(U,k,z){return A(k).decrypt(D,U,k,z)}}}})()}),p=n.StreamCipher=f.extend({_doFinalize:function(){var A=this._process(!0);return A},blockSize:1}),y=r.mode={},g=n.BlockCipherMode=s.extend({createEncryptor:function(A,D){return this.Encryptor.create(A,D)},createDecryptor:function(A,D){return this.Decryptor.create(A,D)},init:function(A,D){this._cipher=A,this._iv=D}}),m=y.CBC=(function(){var A=g.extend();A.Encryptor=A.extend({processBlock:function(U,k){var z=this._cipher,G=z.blockSize;D.call(this,U,k,G),z.encryptBlock(U,k),this._prevBlock=U.slice(k,k+G)}}),A.Decryptor=A.extend({processBlock:function(U,k){var z=this._cipher,G=z.blockSize,K=U.slice(k,k+G);z.decryptBlock(U,k),D.call(this,U,k,G),this._prevBlock=K}});function D(U,k,z){var G,K=this._iv;K?(G=K,this._iv=e):G=this._prevBlock;for(var j=0;j<z;j++)U[k+j]^=G[j]}return A})(),l=r.pad={},h=l.Pkcs7={pad:function(A,D){for(var U=D*4,k=U-A.sigBytes%U,z=k<<24|k<<16|k<<8|k,G=[],K=0;K<k;K+=4)G.push(z);var j=a.create(G,k);A.concat(j)},unpad:function(A){var D=A.words[A.sigBytes-1>>>2]&255;A.sigBytes-=D}},B=n.BlockCipher=f.extend({cfg:f.cfg.extend({mode:m,padding:h}),reset:function(){var A;f.reset.call(this);var D=this.cfg,U=D.iv,k=D.mode;this._xformMode==this._ENC_XFORM_MODE?A=k.createEncryptor:(A=k.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==A?this._mode.init(this,U&&U.words):(this._mode=A.call(k,this,U&&U.words),this._mode.__creator=A)},_doProcessBlock:function(A,D){this._mode.processBlock(A,D)},_doFinalize:function(){var A,D=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(D.pad(this._data,this.blockSize),A=this._process(!0)):(A=this._process(!0),D.unpad(A)),A},blockSize:128/32}),b=n.CipherParams=s.extend({init:function(A){this.mixIn(A)},toString:function(A){return(A||this.formatter).stringify(this)}}),_=r.format={},v=_.OpenSSL={stringify:function(A){var D,U=A.ciphertext,k=A.salt;return k?D=a.create([1398893684,1701076831]).concat(k).concat(U):D=U,D.toString(d)},parse:function(A){var D,U=d.parse(A),k=U.words;return k[0]==1398893684&&k[1]==1701076831&&(D=a.create(k.slice(2,4)),k.splice(0,4),U.sigBytes-=16),b.create({ciphertext:U,salt:D})}},w=n.SerializableCipher=s.extend({cfg:s.extend({format:v}),encrypt:function(A,D,U,k){k=this.cfg.extend(k);var z=A.createEncryptor(U,k),G=z.finalize(D),K=z.cfg;return b.create({ciphertext:G,key:U,iv:K.iv,algorithm:A,mode:K.mode,padding:K.padding,blockSize:A.blockSize,formatter:k.format})},decrypt:function(A,D,U,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var z=A.createDecryptor(U,k).finalize(D.ciphertext);return z},_parse:function(A,D){return typeof A=="string"?D.parse(A,this):A}}),C=r.kdf={},R=C.OpenSSL={execute:function(A,D,U,k,z){if(k||(k=a.random(64/8)),z)var G=x.create({keySize:D+U,hasher:z}).compute(A,k);else var G=x.create({keySize:D+U}).compute(A,k);var K=a.create(G.words.slice(D),U*4);return G.sigBytes=D*4,b.create({key:G,iv:K,salt:k})}},H=n.PasswordBasedCipher=w.extend({cfg:w.cfg.extend({kdf:R}),encrypt:function(A,D,U,k){k=this.cfg.extend(k);var z=k.kdf.execute(U,A.keySize,A.ivSize,k.salt,k.hasher);k.iv=z.iv;var G=w.encrypt.call(this,A,D,z.key,k);return G.mixIn(z),G},decrypt:function(A,D,U,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var z=k.kdf.execute(U,A.keySize,A.ivSize,D.salt,k.hasher);k.iv=z.iv;var G=w.decrypt.call(this,A,D,z.key,k);return G}})})()})});var ca=N((Dt,oa)=>{(function(t,e,r){typeof Dt=="object"?oa.exports=Dt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Dt,function(t){return t.mode.CFB=(function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(n,s){var a=this._cipher,c=a.blockSize;r.call(this,n,s,c,a),this._prevBlock=n.slice(s,s+c)}}),e.Decryptor=e.extend({processBlock:function(n,s){var a=this._cipher,c=a.blockSize,i=n.slice(s,s+c);r.call(this,n,s,c,a),this._prevBlock=i}});function r(n,s,a,c){var i,u=this._iv;u?(i=u.slice(0),this._iv=void 0):i=this._prevBlock,c.encryptBlock(i,0);for(var d=0;d<a;d++)n[s+d]^=i[d]}return e})(),t.mode.CFB})});var fa=N((Ft,ua)=>{(function(t,e,r){typeof Ft=="object"?ua.exports=Ft=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ft,function(t){return t.mode.CTR=(function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var a=this._cipher,c=a.blockSize,i=this._iv,u=this._counter;i&&(u=this._counter=i.slice(0),this._iv=void 0);var d=u.slice(0);a.encryptBlock(d,0),u[c-1]=u[c-1]+1|0;for(var o=0;o<c;o++)n[s+o]^=d[o]}});return e.Decryptor=r,e})(),t.mode.CTR})});var da=N((wt,xa)=>{(function(t,e,r){typeof wt=="object"?xa.exports=wt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(wt,function(t){return t.mode.CTRGladman=(function(){var e=t.lib.BlockCipherMode.extend();function r(a){if((a>>24&255)===255){var c=a>>16&255,i=a>>8&255,u=a&255;c===255?(c=0,i===255?(i=0,u===255?u=0:++u):++i):++c,a=0,a+=c<<16,a+=i<<8,a+=u}else a+=1<<24;return a}function n(a){return(a[0]=r(a[0]))===0&&(a[1]=r(a[1])),a}var s=e.Encryptor=e.extend({processBlock:function(a,c){var i=this._cipher,u=i.blockSize,d=this._iv,o=this._counter;d&&(o=this._counter=d.slice(0),this._iv=void 0),n(o);var x=o.slice(0);i.encryptBlock(x,0);for(var f=0;f<u;f++)a[c+f]^=x[f]}});return e.Decryptor=s,e})(),t.mode.CTRGladman})});var ha=N((Pt,la)=>{(function(t,e,r){typeof Pt=="object"?la.exports=Pt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Pt,function(t){return t.mode.OFB=(function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var a=this._cipher,c=a.blockSize,i=this._iv,u=this._keystream;i&&(u=this._keystream=i.slice(0),this._iv=void 0),a.encryptBlock(u,0);for(var d=0;d<c;d++)n[s+d]^=u[d]}});return e.Decryptor=r,e})(),t.mode.OFB})});var ya=N((St,pa)=>{(function(t,e,r){typeof St=="object"?pa.exports=St=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(St,function(t){return t.mode.ECB=(function(){var e=t.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(r,n){this._cipher.encryptBlock(r,n)}}),e.Decryptor=e.extend({processBlock:function(r,n){this._cipher.decryptBlock(r,n)}}),e})(),t.mode.ECB})});var ga=N((kt,va)=>{(function(t,e,r){typeof kt=="object"?va.exports=kt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(kt,function(t){return t.pad.AnsiX923={pad:function(e,r){var n=e.sigBytes,s=r*4,a=s-n%s,c=n+a-1;e.clamp(),e.words[c>>>2]|=a<<24-c%4*8,e.sigBytes+=a},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Ansix923})});var ba=N((Tt,ma)=>{(function(t,e,r){typeof Tt=="object"?ma.exports=Tt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Tt,function(t){return t.pad.Iso10126={pad:function(e,r){var n=r*4,s=n-e.sigBytes%n;e.concat(t.lib.WordArray.random(s-1)).concat(t.lib.WordArray.create([s<<24],1))},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Iso10126})});var _a=N((Rt,Ba)=>{(function(t,e,r){typeof Rt=="object"?Ba.exports=Rt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Rt,function(t){return t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971})});var Aa=N((Ht,Ca)=>{(function(t,e,r){typeof Ht=="object"?Ca.exports=Ht=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ht,function(t){return t.pad.ZeroPadding={pad:function(e,r){var n=r*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var r=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(r[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},t.pad.ZeroPadding})});var Da=N((Ot,Ea)=>{(function(t,e,r){typeof Ot=="object"?Ea.exports=Ot=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ot,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})});var wa=N((Ut,Fa)=>{(function(t,e,r){typeof Ut=="object"?Fa.exports=Ut=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ut,function(t){return(function(e){var r=t,n=r.lib,s=n.CipherParams,a=r.enc,c=a.Hex,i=r.format,u=i.Hex={stringify:function(d){return d.ciphertext.toString(c)},parse:function(d){var o=c.parse(d);return s.create({ciphertext:o})}}})(),t.format.Hex})});var Sa=N((qt,Pa)=>{(function(t,e,r){typeof qt=="object"?Pa.exports=qt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(qt,function(t){return(function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo,a=[],c=[],i=[],u=[],d=[],o=[],x=[],f=[],p=[],y=[];(function(){for(var l=[],h=0;h<256;h++)h<128?l[h]=h<<1:l[h]=h<<1^283;for(var B=0,b=0,h=0;h<256;h++){var _=b^b<<1^b<<2^b<<3^b<<4;_=_>>>8^_&255^99,a[B]=_,c[_]=B;var v=l[B],w=l[v],C=l[w],R=l[_]*257^_*16843008;i[B]=R<<24|R>>>8,u[B]=R<<16|R>>>16,d[B]=R<<8|R>>>24,o[B]=R;var R=C*16843009^w*65537^v*257^B*16843008;x[_]=R<<24|R>>>8,f[_]=R<<16|R>>>16,p[_]=R<<8|R>>>24,y[_]=R,B?(B=v^l[l[l[C^v]]],b^=l[l[b]]):B=b=1}})();var g=[0,1,2,4,8,16,32,64,128,27,54],m=s.AES=n.extend({_doReset:function(){var l;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var h=this._keyPriorReset=this._key,B=h.words,b=h.sigBytes/4,_=this._nRounds=b+6,v=(_+1)*4,w=this._keySchedule=[],C=0;C<v;C++)C<b?w[C]=B[C]:(l=w[C-1],C%b?b>6&&C%b==4&&(l=a[l>>>24]<<24|a[l>>>16&255]<<16|a[l>>>8&255]<<8|a[l&255]):(l=l<<8|l>>>24,l=a[l>>>24]<<24|a[l>>>16&255]<<16|a[l>>>8&255]<<8|a[l&255],l^=g[C/b|0]<<24),w[C]=w[C-b]^l);for(var R=this._invKeySchedule=[],H=0;H<v;H++){var C=v-H;if(H%4)var l=w[C];else var l=w[C-4];H<4||C<=4?R[H]=l:R[H]=x[a[l>>>24]]^f[a[l>>>16&255]]^p[a[l>>>8&255]]^y[a[l&255]]}}},encryptBlock:function(l,h){this._doCryptBlock(l,h,this._keySchedule,i,u,d,o,a)},decryptBlock:function(l,h){var B=l[h+1];l[h+1]=l[h+3],l[h+3]=B,this._doCryptBlock(l,h,this._invKeySchedule,x,f,p,y,c);var B=l[h+1];l[h+1]=l[h+3],l[h+3]=B},_doCryptBlock:function(l,h,B,b,_,v,w,C){for(var R=this._nRounds,H=l[h]^B[0],A=l[h+1]^B[1],D=l[h+2]^B[2],U=l[h+3]^B[3],k=4,z=1;z<R;z++){var G=b[H>>>24]^_[A>>>16&255]^v[D>>>8&255]^w[U&255]^B[k++],K=b[A>>>24]^_[D>>>16&255]^v[U>>>8&255]^w[H&255]^B[k++],j=b[D>>>24]^_[U>>>16&255]^v[H>>>8&255]^w[A&255]^B[k++],E=b[U>>>24]^_[H>>>16&255]^v[A>>>8&255]^w[D&255]^B[k++];H=G,A=K,D=j,U=E}var G=(C[H>>>24]<<24|C[A>>>16&255]<<16|C[D>>>8&255]<<8|C[U&255])^B[k++],K=(C[A>>>24]<<24|C[D>>>16&255]<<16|C[U>>>8&255]<<8|C[H&255])^B[k++],j=(C[D>>>24]<<24|C[U>>>16&255]<<16|C[H>>>8&255]<<8|C[A&255])^B[k++],E=(C[U>>>24]<<24|C[H>>>16&255]<<16|C[A>>>8&255]<<8|C[D&255])^B[k++];l[h]=G,l[h+1]=K,l[h+2]=j,l[h+3]=E},keySize:256/32});e.AES=n._createHelper(m)})(),t.AES})});var Ta=N((It,ka)=>{(function(t,e,r){typeof It=="object"?ka.exports=It=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(It,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=r.BlockCipher,a=e.algo,c=[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],i=[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],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{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}],o=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],x=a.DES=s.extend({_doReset:function(){for(var g=this._key,m=g.words,l=[],h=0;h<56;h++){var B=c[h]-1;l[h]=m[B>>>5]>>>31-B%32&1}for(var b=this._subKeys=[],_=0;_<16;_++){for(var v=b[_]=[],w=u[_],h=0;h<24;h++)v[h/6|0]|=l[(i[h]-1+w)%28]<<31-h%6,v[4+(h/6|0)]|=l[28+(i[h+24]-1+w)%28]<<31-h%6;v[0]=v[0]<<1|v[0]>>>31;for(var h=1;h<7;h++)v[h]=v[h]>>>(h-1)*4+3;v[7]=v[7]<<5|v[7]>>>27}for(var C=this._invSubKeys=[],h=0;h<16;h++)C[h]=b[15-h]},encryptBlock:function(g,m){this._doCryptBlock(g,m,this._subKeys)},decryptBlock:function(g,m){this._doCryptBlock(g,m,this._invSubKeys)},_doCryptBlock:function(g,m,l){this._lBlock=g[m],this._rBlock=g[m+1],f.call(this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var h=0;h<16;h++){for(var B=l[h],b=this._lBlock,_=this._rBlock,v=0,w=0;w<8;w++)v|=d[w][((_^B[w])&o[w])>>>0];this._lBlock=_,this._rBlock=b^v}var C=this._lBlock;this._lBlock=this._rBlock,this._rBlock=C,f.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),g[m]=this._lBlock,g[m+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(g,m){var l=(this._lBlock>>>g^this._rBlock)&m;this._rBlock^=l,this._lBlock^=l<<g}function p(g,m){var l=(this._rBlock>>>g^this._lBlock)&m;this._lBlock^=l,this._rBlock^=l<<g}e.DES=s._createHelper(x);var y=a.TripleDES=s.extend({_doReset:function(){var g=this._key,m=g.words;if(m.length!==2&&m.length!==4&&m.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var l=m.slice(0,2),h=m.length<4?m.slice(0,2):m.slice(2,4),B=m.length<6?m.slice(0,2):m.slice(4,6);this._des1=x.createEncryptor(n.create(l)),this._des2=x.createEncryptor(n.create(h)),this._des3=x.createEncryptor(n.create(B))},encryptBlock:function(g,m){this._des1.encryptBlock(g,m),this._des2.decryptBlock(g,m),this._des3.encryptBlock(g,m)},decryptBlock:function(g,m){this._des3.decryptBlock(g,m),this._des2.encryptBlock(g,m),this._des1.decryptBlock(g,m)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=s._createHelper(y)})(),t.TripleDES})});var Ha=N((Mt,Ra)=>{(function(t,e,r){typeof Mt=="object"?Ra.exports=Mt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Mt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,a=s.RC4=n.extend({_doReset:function(){for(var u=this._key,d=u.words,o=u.sigBytes,x=this._S=[],f=0;f<256;f++)x[f]=f;for(var f=0,p=0;f<256;f++){var y=f%o,g=d[y>>>2]>>>24-y%4*8&255;p=(p+x[f]+g)%256;var m=x[f];x[f]=x[p],x[p]=m}this._i=this._j=0},_doProcessBlock:function(u,d){u[d]^=c.call(this)},keySize:256/32,ivSize:0});function c(){for(var u=this._S,d=this._i,o=this._j,x=0,f=0;f<4;f++){d=(d+1)%256,o=(o+u[d])%256;var p=u[d];u[d]=u[o],u[o]=p,x|=u[(u[d]+u[o])%256]<<24-f*8}return this._i=d,this._j=o,x}e.RC4=n._createHelper(a);var i=s.RC4Drop=a.extend({cfg:a.cfg.extend({drop:192}),_doReset:function(){a._doReset.call(this);for(var u=this.cfg.drop;u>0;u--)c.call(this)}});e.RC4Drop=n._createHelper(i)})(),t.RC4})});var Ua=N((Nt,Oa)=>{(function(t,e,r){typeof Nt=="object"?Oa.exports=Nt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Nt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,a=[],c=[],i=[],u=s.Rabbit=n.extend({_doReset:function(){for(var o=this._key.words,x=this.cfg.iv,f=0;f<4;f++)o[f]=(o[f]<<8|o[f]>>>24)&16711935|(o[f]<<24|o[f]>>>8)&4278255360;var p=this._X=[o[0],o[3]<<16|o[2]>>>16,o[1],o[0]<<16|o[3]>>>16,o[2],o[1]<<16|o[0]>>>16,o[3],o[2]<<16|o[1]>>>16],y=this._C=[o[2]<<16|o[2]>>>16,o[0]&4294901760|o[1]&65535,o[3]<<16|o[3]>>>16,o[1]&4294901760|o[2]&65535,o[0]<<16|o[0]>>>16,o[2]&4294901760|o[3]&65535,o[1]<<16|o[1]>>>16,o[3]&4294901760|o[0]&65535];this._b=0;for(var f=0;f<4;f++)d.call(this);for(var f=0;f<8;f++)y[f]^=p[f+4&7];if(x){var g=x.words,m=g[0],l=g[1],h=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,B=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,b=h>>>16|B&4294901760,_=B<<16|h&65535;y[0]^=h,y[1]^=b,y[2]^=B,y[3]^=_,y[4]^=h,y[5]^=b,y[6]^=B,y[7]^=_;for(var f=0;f<4;f++)d.call(this)}},_doProcessBlock:function(o,x){var f=this._X;d.call(this),a[0]=f[0]^f[5]>>>16^f[3]<<16,a[1]=f[2]^f[7]>>>16^f[5]<<16,a[2]=f[4]^f[1]>>>16^f[7]<<16,a[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)a[p]=(a[p]<<8|a[p]>>>24)&16711935|(a[p]<<24|a[p]>>>8)&4278255360,o[x+p]^=a[p]},blockSize:128/32,ivSize:64/32});function d(){for(var o=this._X,x=this._C,f=0;f<8;f++)c[f]=x[f];x[0]=x[0]+1295307597+this._b|0,x[1]=x[1]+3545052371+(x[0]>>>0<c[0]>>>0?1:0)|0,x[2]=x[2]+886263092+(x[1]>>>0<c[1]>>>0?1:0)|0,x[3]=x[3]+1295307597+(x[2]>>>0<c[2]>>>0?1:0)|0,x[4]=x[4]+3545052371+(x[3]>>>0<c[3]>>>0?1:0)|0,x[5]=x[5]+886263092+(x[4]>>>0<c[4]>>>0?1:0)|0,x[6]=x[6]+1295307597+(x[5]>>>0<c[5]>>>0?1:0)|0,x[7]=x[7]+3545052371+(x[6]>>>0<c[6]>>>0?1:0)|0,this._b=x[7]>>>0<c[7]>>>0?1:0;for(var f=0;f<8;f++){var p=o[f]+x[f],y=p&65535,g=p>>>16,m=((y*y>>>17)+y*g>>>15)+g*g,l=((p&4294901760)*p|0)+((p&65535)*p|0);i[f]=m^l}o[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,o[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,o[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,o[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,o[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,o[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,o[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,o[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}e.Rabbit=n._createHelper(u)})(),t.Rabbit})});var Ia=N((Gt,qa)=>{(function(t,e,r){typeof Gt=="object"?qa.exports=Gt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Gt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,a=[],c=[],i=[],u=s.RabbitLegacy=n.extend({_doReset:function(){var o=this._key.words,x=this.cfg.iv,f=this._X=[o[0],o[3]<<16|o[2]>>>16,o[1],o[0]<<16|o[3]>>>16,o[2],o[1]<<16|o[0]>>>16,o[3],o[2]<<16|o[1]>>>16],p=this._C=[o[2]<<16|o[2]>>>16,o[0]&4294901760|o[1]&65535,o[3]<<16|o[3]>>>16,o[1]&4294901760|o[2]&65535,o[0]<<16|o[0]>>>16,o[2]&4294901760|o[3]&65535,o[1]<<16|o[1]>>>16,o[3]&4294901760|o[0]&65535];this._b=0;for(var y=0;y<4;y++)d.call(this);for(var y=0;y<8;y++)p[y]^=f[y+4&7];if(x){var g=x.words,m=g[0],l=g[1],h=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,B=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,b=h>>>16|B&4294901760,_=B<<16|h&65535;p[0]^=h,p[1]^=b,p[2]^=B,p[3]^=_,p[4]^=h,p[5]^=b,p[6]^=B,p[7]^=_;for(var y=0;y<4;y++)d.call(this)}},_doProcessBlock:function(o,x){var f=this._X;d.call(this),a[0]=f[0]^f[5]>>>16^f[3]<<16,a[1]=f[2]^f[7]>>>16^f[5]<<16,a[2]=f[4]^f[1]>>>16^f[7]<<16,a[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)a[p]=(a[p]<<8|a[p]>>>24)&16711935|(a[p]<<24|a[p]>>>8)&4278255360,o[x+p]^=a[p]},blockSize:128/32,ivSize:64/32});function d(){for(var o=this._X,x=this._C,f=0;f<8;f++)c[f]=x[f];x[0]=x[0]+1295307597+this._b|0,x[1]=x[1]+3545052371+(x[0]>>>0<c[0]>>>0?1:0)|0,x[2]=x[2]+886263092+(x[1]>>>0<c[1]>>>0?1:0)|0,x[3]=x[3]+1295307597+(x[2]>>>0<c[2]>>>0?1:0)|0,x[4]=x[4]+3545052371+(x[3]>>>0<c[3]>>>0?1:0)|0,x[5]=x[5]+886263092+(x[4]>>>0<c[4]>>>0?1:0)|0,x[6]=x[6]+1295307597+(x[5]>>>0<c[5]>>>0?1:0)|0,x[7]=x[7]+3545052371+(x[6]>>>0<c[6]>>>0?1:0)|0,this._b=x[7]>>>0<c[7]>>>0?1:0;for(var f=0;f<8;f++){var p=o[f]+x[f],y=p&65535,g=p>>>16,m=((y*y>>>17)+y*g>>>15)+g*g,l=((p&4294901760)*p|0)+((p&65535)*p|0);i[f]=m^l}o[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,o[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,o[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,o[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,o[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,o[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,o[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,o[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}e.RabbitLegacy=n._createHelper(u)})(),t.RabbitLegacy})});var Na=N((zt,Ma)=>{(function(t,e,r){typeof zt=="object"?Ma.exports=zt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(zt,function(t){return(function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo;let a=16,c=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],i=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var u={pbox:[],sbox:[]};function d(y,g){let m=g>>24&255,l=g>>16&255,h=g>>8&255,B=g&255,b=y.sbox[0][m]+y.sbox[1][l];return b=b^y.sbox[2][h],b=b+y.sbox[3][B],b}function o(y,g,m){let l=g,h=m,B;for(let b=0;b<a;++b)l=l^y.pbox[b],h=d(y,l)^h,B=l,l=h,h=B;return B=l,l=h,h=B,h=h^y.pbox[a],l=l^y.pbox[a+1],{left:l,right:h}}function x(y,g,m){let l=g,h=m,B;for(let b=a+1;b>1;--b)l=l^y.pbox[b],h=d(y,l)^h,B=l,l=h,h=B;return B=l,l=h,h=B,h=h^y.pbox[1],l=l^y.pbox[0],{left:l,right:h}}function f(y,g,m){for(let _=0;_<4;_++){y.sbox[_]=[];for(let v=0;v<256;v++)y.sbox[_][v]=i[_][v]}let l=0;for(let _=0;_<a+2;_++)y.pbox[_]=c[_]^g[l],l++,l>=m&&(l=0);let h=0,B=0,b=0;for(let _=0;_<a+2;_+=2)b=o(y,h,B),h=b.left,B=b.right,y.pbox[_]=h,y.pbox[_+1]=B;for(let _=0;_<4;_++)for(let v=0;v<256;v+=2)b=o(y,h,B),h=b.left,B=b.right,y.sbox[_][v]=h,y.sbox[_][v+1]=B;return!0}var p=s.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var y=this._keyPriorReset=this._key,g=y.words,m=y.sigBytes/4;f(u,g,m)}},encryptBlock:function(y,g){var m=o(u,y[g],y[g+1]);y[g]=m.left,y[g+1]=m.right},decryptBlock:function(y,g){var m=x(u,y[g],y[g+1]);y[g]=m.left,y[g+1]=m.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=n._createHelper(p)})(),t.Blowfish})});var Ur=N((Lt,Ga)=>{(function(t,e,r){typeof Lt=="object"?Ga.exports=Lt=e(X(),G0(),In(),Nn(),Ye(),Ln(),Je(),Hr(),g0(),$n(),Or(),Yn(),Qn(),ta(),z0(),aa(),Ve(),ve(),ca(),fa(),da(),ha(),ya(),ga(),ba(),_a(),Aa(),Da(),wa(),Sa(),Ta(),Ha(),Ua(),Ia(),Na()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./lib-typedarrays","./enc-utf16","./enc-base64","./enc-base64url","./md5","./sha1","./sha256","./sha224","./sha512","./sha384","./sha3","./ripemd160","./hmac","./pbkdf2","./evpkdf","./cipher-core","./mode-cfb","./mode-ctr","./mode-ctr-gladman","./mode-ofb","./mode-ecb","./pad-ansix923","./pad-iso10126","./pad-iso97971","./pad-zeropadding","./pad-nopadding","./format-hex","./aes","./tripledes","./rc4","./rabbit","./rabbit-legacy","./blowfish"],e):t.CryptoJS=e(t.CryptoJS)})(Lt,function(t){return t})});var Kt=N(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.ChannelCrypto=void 0;var De=Ur(),m0=ge(),qr=class{static decryptGroupTextMessage(e,r,n){try{let s=(0,m0.hexToBytes)(n),a=(0,m0.hexToBytes)(r),c=new Uint8Array(32);c.set(s,0);let i=(0,De.HmacSHA256)(De.enc.Hex.parse(e),De.enc.Hex.parse((0,m0.bytesToHex)(c))),d=(0,m0.hexToBytes)(i.toString(De.enc.Hex)).slice(0,2);if(d[0]!==a[0]||d[1]!==a[1])return{success:!1,error:"MAC verification failed"};let o=De.enc.Hex.parse(n),x=De.enc.Hex.parse(e),f=De.AES.decrypt(De.lib.CipherParams.create({ciphertext:x}),o,{mode:De.mode.ECB,padding:De.pad.NoPadding}),p=(0,m0.hexToBytes)(f.toString(De.enc.Hex));if(!p||p.length<5)return{success:!1,error:"Decrypted content too short"};let y=p[0]|p[1]<<8|p[2]<<16|p[3]<<24,g=p[4],m=p.slice(5),h=new TextDecoder("utf-8").decode(m),B=h.indexOf("\0");B>=0&&(h=h.substring(0,B));let b=h.indexOf(": "),_,v;if(b>0&&b<50){let w=h.substring(0,b);/[:\[\]]/.test(w)?v=h:(_=w,v=h.substring(b+2))}else v=h;return{success:!0,data:{timestamp:y,flags:g,sender:_,message:v}}}catch(s){return{success:!1,error:s instanceof Error?s.message:"Decryption failed"}}}static calculateChannelHash(e){let r=(0,De.SHA256)(De.enc.Hex.parse(e));return(0,m0.hexToBytes)(r.toString(De.enc.Hex))[0].toString(16).padStart(2,"0")}};Vt.ChannelCrypto=qr});var Mr=N(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.MeshCoreKeyStore=void 0;var ri=Kt(),Ir=class{constructor(e){this.nodeKeys=new Map,this.channelHashToKeys=new Map,e?.channelSecrets&&this.addChannelSecrets(e.channelSecrets),e?.nodeKeys&&Object.entries(e.nodeKeys).forEach(([r,n])=>{this.addNodeKey(r,n)})}addNodeKey(e,r){let n=e.toUpperCase();this.nodeKeys.set(n,r)}hasChannelKey(e){let r=e.toLowerCase();return this.channelHashToKeys.has(r)}hasNodeKey(e){let r=e.toUpperCase();return this.nodeKeys.has(r)}getChannelKeys(e){let r=e.toLowerCase();return this.channelHashToKeys.get(r)||[]}getNodeKey(e){let r=e.toUpperCase();return this.nodeKeys.get(r)}addChannelSecrets(e){for(let r of e){let n=ri.ChannelCrypto.calculateChannelHash(r).toLowerCase();this.channelHashToKeys.has(n)||this.channelHashToKeys.set(n,[]),this.channelHashToKeys.get(n).push(r)}}};Wt.MeshCoreKeyStore=Ir});var us={};An(us,{CURVE:()=>Xa,ExtendedPoint:()=>Ne,Point:()=>Ne,etc:()=>Qr,getPublicKey:()=>xi,getPublicKeyAsync:()=>fi,sign:()=>li,signAsync:()=>di,utils:()=>yi,verify:()=>pi,verifyAsync:()=>hi});var Xa,Ce,jt,za,La,Nr,Gr,ni,Me,L0,Se,ai,Za,si,x0,Yt,Vr,Ya,Kr,Ke,Va,Wr,Qe,Ja,ii,V0,Qa,$t,f0,q,es,ts,oi,Ka,zr,Ie,Ne,We,b0,rs,jr,qe,ci,Wa,ui,Xt,$r,Xr,ns,Zr,Yr,fi,xi,as,ss,is,di,li,Jr,os,hi,pi,Qr,yi,Zt,vi,cs,Lr,gi,ja,$a,mi,fs=Ws(()=>{Xa={p:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,n:0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,h:8n,a:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecn,d:0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,Gx:0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,Gy:0x6666666666666666666666666666666666666666666666666666666666666658n},{p:Ce,n:jt,Gx:za,Gy:La,a:Nr,d:Gr}=Xa,ni=8n,Me=32,L0=64,Se=(t="")=>{throw new Error(t)},ai=t=>typeof t=="bigint",Za=t=>typeof t=="string",si=t=>t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array",x0=(t,e)=>!si(t)||typeof e=="number"&&e>0&&t.length!==e?Se("Uint8Array expected"):t,Yt=t=>new Uint8Array(t),Vr=t=>Uint8Array.from(t),Ya=(t,e)=>t.toString(16).padStart(e,"0"),Kr=t=>Array.from(x0(t)).map(e=>Ya(e,2)).join(""),Ke={_0:48,_9:57,A:65,F:70,a:97,f:102},Va=t=>{if(t>=Ke._0&&t<=Ke._9)return t-Ke._0;if(t>=Ke.A&&t<=Ke.F)return t-(Ke.A-10);if(t>=Ke.a&&t<=Ke.f)return t-(Ke.a-10)},Wr=t=>{let e="hex invalid";if(!Za(t))return Se(e);let r=t.length,n=r/2;if(r%2)return Se(e);let s=Yt(n);for(let a=0,c=0;a<n;a++,c+=2){let i=Va(t.charCodeAt(c)),u=Va(t.charCodeAt(c+1));if(i===void 0||u===void 0)return Se(e);s[a]=i*16+u}return s},Qe=(t,e)=>x0(Za(t)?Wr(t):Vr(x0(t)),e),Ja=()=>globalThis?.crypto,ii=()=>Ja()?.subtle??Se("crypto.subtle must be defined"),V0=(...t)=>{let e=Yt(t.reduce((n,s)=>n+x0(s).length,0)),r=0;return t.forEach(n=>{e.set(n,r),r+=n.length}),e},Qa=(t=Me)=>Ja().getRandomValues(Yt(t)),$t=BigInt,f0=(t,e,r,n="bad number: out of range")=>ai(t)&&e<=t&&t<r?t:Se(n),q=(t,e=Ce)=>{let r=t%e;return r>=0n?r:e+r},es=t=>q(t,jt),ts=(t,e)=>{(t===0n||e<=0n)&&Se("no inverse n="+t+" mod="+e);let r=q(t,e),n=e,s=0n,a=1n,c=1n,i=0n;for(;r!==0n;){let u=n/r,d=n%r,o=s-c*u,x=a-i*u;n=r,r=d,s=c,a=i,c=o,i=x}return n===1n?q(s,e):Se("no inverse")},oi=t=>{let e=Qr[t];return typeof e!="function"&&Se("hashes."+t+" not set"),e},Ka=t=>t instanceof Ne?t:Se("Point expected"),zr=2n**256n,Ie=class Ie{constructor(e,r,n,s){Le(this,"ex");Le(this,"ey");Le(this,"ez");Le(this,"et");let a=zr;this.ex=f0(e,0n,a),this.ey=f0(r,0n,a),this.ez=f0(n,1n,a),this.et=f0(s,0n,a),Object.freeze(this)}static fromAffine(e){return new Ie(e.x,e.y,1n,q(e.x*e.y))}static fromBytes(e,r=!1){let n=Gr,s=Vr(x0(e,Me)),a=e[31];s[31]=a&-129;let c=jr(s);f0(c,0n,r?zr:Ce);let u=q(c*c),d=q(u-1n),o=q(n*u+1n),{isValid:x,value:f}=ui(d,o);x||Se("bad point: y not sqrt");let p=(f&1n)===1n,y=(a&128)!==0;return!r&&f===0n&&y&&Se("bad point: x==0, isLastByteOdd"),y!==p&&(f=q(-f)),new Ie(f,c,1n,q(f*c))}assertValidity(){let e=Nr,r=Gr,n=this;if(n.is0())throw new Error("bad point: ZERO");let{ex:s,ey:a,ez:c,et:i}=n,u=q(s*s),d=q(a*a),o=q(c*c),x=q(o*o),f=q(u*e),p=q(o*q(f+d)),y=q(x+q(r*q(u*d)));if(p!==y)throw new Error("bad point: equation left != right (1)");let g=q(s*a),m=q(c*i);if(g!==m)throw new Error("bad point: equation left != right (2)");return this}equals(e){let{ex:r,ey:n,ez:s}=this,{ex:a,ey:c,ez:i}=Ka(e),u=q(r*i),d=q(a*s),o=q(n*i),x=q(c*s);return u===d&&o===x}is0(){return this.equals(b0)}negate(){return new Ie(q(-this.ex),this.ey,this.ez,q(-this.et))}double(){let{ex:e,ey:r,ez:n}=this,s=Nr,a=q(e*e),c=q(r*r),i=q(2n*q(n*n)),u=q(s*a),d=e+r,o=q(q(d*d)-a-c),x=u+c,f=x-i,p=u-c,y=q(o*f),g=q(x*p),m=q(o*p),l=q(f*x);return new Ie(y,g,l,m)}add(e){let{ex:r,ey:n,ez:s,et:a}=this,{ex:c,ey:i,ez:u,et:d}=Ka(e),o=Nr,x=Gr,f=q(r*c),p=q(n*i),y=q(a*x*d),g=q(s*u),m=q((r+n)*(c+i)-f-p),l=q(g-y),h=q(g+y),B=q(p-o*f),b=q(m*l),_=q(h*B),v=q(m*B),w=q(l*h);return new Ie(b,_,w,v)}multiply(e,r=!0){if(!r&&(e===0n||this.is0()))return b0;if(f0(e,1n,jt),e===1n)return this;if(this.equals(We))return mi(e).p;let n=b0,s=We;for(let a=this;e>0n;a=a.double(),e>>=1n)e&1n?n=n.add(a):r&&(s=s.add(a));return n}toAffine(){let{ex:e,ey:r,ez:n}=this;if(this.equals(b0))return{x:0n,y:1n};let s=ts(n,Ce);return q(n*s)!==1n&&Se("invalid inverse"),{x:q(e*s),y:q(r*s)}}toBytes(){let{x:e,y:r}=this.assertValidity().toAffine(),n=rs(r);return n[31]|=e&1n?128:0,n}toHex(){return Kr(this.toBytes())}clearCofactor(){return this.multiply($t(ni),!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){let e=this.multiply(jt/2n,!1).double();return jt%2n&&(e=e.add(this)),e.is0()}static fromHex(e,r){return Ie.fromBytes(Qe(e),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(){return this.toBytes()}};Le(Ie,"BASE"),Le(Ie,"ZERO");Ne=Ie,We=new Ne(za,La,1n,q(za*La)),b0=new Ne(0n,1n,1n,0n);Ne.BASE=We;Ne.ZERO=b0;rs=t=>Wr(Ya(f0(t,0n,zr),L0)).reverse(),jr=t=>$t("0x"+Kr(Vr(x0(t)).reverse())),qe=(t,e)=>{let r=t;for(;e-- >0n;)r*=r,r%=Ce;return r},ci=t=>{let r=t*t%Ce*t%Ce,n=qe(r,2n)*r%Ce,s=qe(n,1n)*t%Ce,a=qe(s,5n)*s%Ce,c=qe(a,10n)*a%Ce,i=qe(c,20n)*c%Ce,u=qe(i,40n)*i%Ce,d=qe(u,80n)*u%Ce,o=qe(d,80n)*u%Ce,x=qe(o,10n)*a%Ce;return{pow_p_5_8:qe(x,2n)*t%Ce,b2:r}},Wa=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,ui=(t,e)=>{let r=q(e*e*e),n=q(r*r*e),s=ci(t*n).pow_p_5_8,a=q(t*r*s),c=q(e*a*a),i=a,u=q(a*Wa),d=c===t,o=c===q(-t),x=c===q(-t*Wa);return d&&(a=i),(o||x)&&(a=u),(q(a)&1n)===1n&&(a=q(-a)),{isValid:d||o,value:a}},Xt=t=>es(jr(t)),$r=(...t)=>Qr.sha512Async(...t),Xr=(...t)=>oi("sha512Sync")(...t),ns=t=>{let e=t.slice(0,Me);e[0]&=248,e[31]&=127,e[31]|=64;let r=t.slice(Me,L0),n=Xt(e),s=We.multiply(n),a=s.toBytes();return{head:e,prefix:r,scalar:n,point:s,pointBytes:a}},Zr=t=>$r(Qe(t,Me)).then(ns),Yr=t=>ns(Xr(Qe(t,Me))),fi=t=>Zr(t).then(e=>e.pointBytes),xi=t=>Yr(t).pointBytes,as=t=>$r(t.hashable).then(t.finish),ss=t=>t.finish(Xr(t.hashable)),is=(t,e,r)=>{let{pointBytes:n,scalar:s}=t,a=Xt(e),c=We.multiply(a).toBytes();return{hashable:V0(c,n,r),finish:d=>{let o=es(a+Xt(d)*s);return x0(V0(c,rs(o)),L0)}}},di=async(t,e)=>{let r=Qe(t),n=await Zr(e),s=await $r(n.prefix,r);return as(is(n,s,r))},li=(t,e)=>{let r=Qe(t),n=Yr(e),s=Xr(n.prefix,r);return ss(is(n,s,r))},Jr={zip215:!0},os=(t,e,r,n=Jr)=>{t=Qe(t,L0),e=Qe(e),r=Qe(r,Me);let{zip215:s}=n,a,c,i,u,d=Uint8Array.of();try{a=Ne.fromHex(r,s),c=Ne.fromHex(t.slice(0,Me),s),i=jr(t.slice(Me,L0)),u=We.multiply(i,!1),d=V0(c.toBytes(),a.toBytes(),e)}catch{}return{hashable:d,finish:x=>{if(u==null||!s&&a.isSmallOrder())return!1;let f=Xt(x);return c.add(a.multiply(f,!1)).add(u.negate()).clearCofactor().is0()}}},hi=async(t,e,r,n=Jr)=>as(os(t,e,r,n)),pi=(t,e,r,n=Jr)=>ss(os(t,e,r,n)),Qr={sha512Async:async(...t)=>{let e=ii(),r=V0(...t);return Yt(await e.digest("SHA-512",r.buffer))},sha512Sync:void 0,bytesToHex:Kr,hexToBytes:Wr,concatBytes:V0,mod:q,invert:ts,randomBytes:Qa},yi={getExtendedPublicKeyAsync:Zr,getExtendedPublicKey:Yr,randomPrivateKey:()=>Qa(Me),precompute:(t=8,e=We)=>(e.multiply(3n),e)},Zt=8,vi=256,cs=Math.ceil(vi/Zt)+1,Lr=2**(Zt-1),gi=()=>{let t=[],e=We,r=e;for(let n=0;n<cs;n++){r=e,t.push(r);for(let s=1;s<Lr;s++)r=r.add(e),t.push(r);e=r.double()}return t},$a=(t,e)=>{let r=e.negate();return t?r:e},mi=t=>{let e=ja||(ja=gi()),r=b0,n=We,s=2**Zt,a=s,c=$t(s-1),i=$t(Zt);for(let u=0;u<cs;u++){let d=Number(t&c);t>>=i,d>Lr&&(d-=a,t+=1n);let o=u*Lr,x=o,f=o+Math.abs(d)-1,p=u%2!==0,y=d<0;d===0?n=n.add($a(p,e[x])):r=r.add($a(y,e[f]))}return{p:r,f:n}}});var xs=N(()=>{});var ls=N((ds,Jt)=>{var en=(()=>{var t=typeof document<"u"?document.currentScript?.src:void 0;return(async function(e={}){var r,n=e,s=typeof window=="object",a=typeof WorkerGlobalScope<"u",c=typeof process=="object"&&process.versions?.node&&process.type!="renderer",i=[],u="./this.program",d=(F,O)=>{throw O};typeof __filename<"u"?t=__filename:a&&(t=self.location.href);var o="";function x(F){return n.locateFile?n.locateFile(F,o):o+F}var f,p;if(c){var y=xs();o=__dirname+"/",p=F=>{F=B(F)?new URL(F):F;var O=y.readFileSync(F);return O},f=async(F,O=!0)=>{F=B(F)?new URL(F):F;var I=y.readFileSync(F,O?void 0:"utf8");return I},process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),i=process.argv.slice(2),d=(F,O)=>{throw process.exitCode=F,O}}else if(s||a){try{o=new URL(".",t).href}catch{}a&&(p=F=>{var O=new XMLHttpRequest;return O.open("GET",F,!1),O.responseType="arraybuffer",O.send(null),new Uint8Array(O.response)}),f=async F=>{if(B(F))return new Promise((I,Y)=>{var te=new XMLHttpRequest;te.open("GET",F,!0),te.responseType="arraybuffer",te.onload=()=>{if(te.status==200||te.status==0&&te.response){I(te.response);return}Y(te.status)},te.onerror=Y,te.send(null)});var O=await fetch(F,{credentials:"same-origin"});if(O.ok)return O.arrayBuffer();throw new Error(O.status+" : "+O.url)}}var g=console.log.bind(console),m=console.error.bind(console),l,h=!1,B=F=>F.startsWith("file://"),b,_,v,w,C,R,H,A,D,U,k,z,G,K=!1;function j(){var F=v.buffer;n.HEAP8=w=new Int8Array(F),R=new Int16Array(F),n.HEAPU8=C=new Uint8Array(F),H=new Uint16Array(F),n.HEAP32=A=new Int32Array(F),n.HEAPU32=D=new Uint32Array(F),U=new Float32Array(F),k=new Float64Array(F),z=new BigInt64Array(F),G=new BigUint64Array(F)}function E(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)ue(n.preRun.shift());he(se)}function S(){K=!0,o0.b()}function T(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)ce(n.postRun.shift());he(ye)}var P=0,ee=null;function re(F){P++,n.monitorRunDependencies?.(P)}function pe(F){if(P--,n.monitorRunDependencies?.(P),P==0&&ee){var O=ee;ee=null,O()}}function $(F){n.onAbort?.(F),F="Aborted("+F+")",m(F),h=!0,F+=". Build with -sASSERTIONS for more info.";var O=new WebAssembly.RuntimeError(F);throw _?.(O),O}var L;function V(){return x("orlp-ed25519.wasm")}function W(F){if(F==L&&l)return new Uint8Array(l);if(p)return p(F);throw"both async and sync fetching of the wasm failed"}async function ne(F){if(!l)try{var O=await f(F);return new Uint8Array(O)}catch{}return W(F)}async function ae(F,O){try{var I=await ne(F),Y=await WebAssembly.instantiate(I,O);return Y}catch(te){m(`failed to asynchronously prepare wasm: ${te}`),$(te)}}async function Z(F,O,I){if(!F&&typeof WebAssembly.instantiateStreaming=="function"&&!B(O)&&!c)try{var Y=fetch(O,{credentials:"same-origin"}),te=await WebAssembly.instantiateStreaming(Y,I);return te}catch(oe){m(`wasm streaming compile failed: ${oe}`),m("falling back to ArrayBuffer instantiation")}return ae(O,I)}function me(){return{a:at}}async function be(){function F(oe,ie){return o0=oe.exports,v=o0.a,j(),Tr(o0),pe("wasm-instantiate"),o0}re("wasm-instantiate");function O(oe){return F(oe.instance)}var I=me();if(n.instantiateWasm)return new Promise((oe,ie)=>{n.instantiateWasm(I,(de,Xe)=>{oe(F(de,Xe))})});L??(L=V());var Y=await Z(l,L,I),te=O(Y);return te}class xe{constructor(O){Le(this,"name","ExitStatus");this.message=`Program terminated with exit(${O})`,this.status=O}}var he=F=>{for(;F.length>0;)F.shift()(n)},ye=[],ce=F=>ye.push(F),se=[],ue=F=>se.push(F),Be=!0,Fe=F=>U0(F),a0=()=>nt(),Ae=F=>{var O=n["_"+F];return O},we=(F,O)=>{w.set(F,O)},Oe=F=>{for(var O=0,I=0;I<F.length;++I){var Y=F.charCodeAt(I);Y<=127?O++:Y<=2047?O+=2:Y>=55296&&Y<=57343?(O+=4,++I):O+=3}return O},s0=(F,O,I,Y)=>{if(!(Y>0))return 0;for(var te=I,oe=I+Y-1,ie=0;ie<F.length;++ie){var de=F.codePointAt(ie);if(de<=127){if(I>=oe)break;O[I++]=de}else if(de<=2047){if(I+1>=oe)break;O[I++]=192|de>>6,O[I++]=128|de&63}else if(de<=65535){if(I+2>=oe)break;O[I++]=224|de>>12,O[I++]=128|de>>6&63,O[I++]=128|de&63}else{if(I+3>=oe)break;O[I++]=240|de>>18,O[I++]=128|de>>12&63,O[I++]=128|de>>6&63,O[I++]=128|de&63,ie++}}return O[I]=0,I-te},i0=(F,O,I)=>s0(F,C,O,I),Te=F=>rt(F),Ue=F=>{var O=Oe(F)+1,I=Te(O);return i0(F,I,O),I},Z0=typeof TextDecoder<"u"?new TextDecoder:void 0,Y0=(F,O=0,I=NaN)=>{for(var Y=O+I,te=O;F[te]&&!(te>=Y);)++te;if(te-O>16&&F.buffer&&Z0)return Z0.decode(F.subarray(O,te));for(var oe="";O<te;){var ie=F[O++];if(!(ie&128)){oe+=String.fromCharCode(ie);continue}var de=F[O++]&63;if((ie&224)==192){oe+=String.fromCharCode((ie&31)<<6|de);continue}var Xe=F[O++]&63;if((ie&240)==224?ie=(ie&15)<<12|de<<6|Xe:ie=(ie&7)<<18|de<<12|Xe<<6|F[O++]&63,ie<65536)oe+=String.fromCharCode(ie);else{var c0=ie-65536;oe+=String.fromCharCode(55296|c0>>10,56320|c0&1023)}}return oe},J0=(F,O)=>F?Y0(C,F,O):"",Q0=(F,O,I,Y,te)=>{var oe={string:Pe=>{var I0=0;return Pe!=null&&Pe!==0&&(I0=Ue(Pe)),I0},array:Pe=>{var I0=Te(Pe.length);return we(Pe,I0),I0}};function ie(Pe){return O==="string"?J0(Pe):O==="boolean"?!!Pe:Pe}var de=Ae(F),Xe=[],c0=0;if(Y)for(var u0=0;u0<Y.length;u0++){var Cn=oe[I[u0]];Cn?(c0===0&&(c0=a0()),Xe[u0]=Cn(Y[u0])):Xe[u0]=Y[u0]}var Rr=de(...Xe);function Ms(Pe){return c0!==0&&Fe(c0),ie(Pe)}return Rr=Ms(Rr),Rr},Pr=(F,O,I,Y)=>{var te=!I||I.every(ie=>ie==="number"||ie==="boolean"),oe=O!=="string";return oe&&te&&!Y?Ae(F):(...ie)=>Q0(F,O,I,ie,Y)};n.noExitRuntime&&(Be=n.noExitRuntime),n.print&&(g=n.print),n.printErr&&(m=n.printErr),n.wasmBinary&&(l=n.wasmBinary),n.arguments&&(i=n.arguments),n.thisProgram&&(u=n.thisProgram),n.ccall=Q0,n.cwrap=Pr;var et,Sr,tt,kr,U0,rt,nt;function Tr(F){n._orlp_derive_public_key=et=F.c,n._orlp_validate_keypair=Sr=F.d,n._orlp_sign=tt=F.e,n._orlp_verify=kr=F.f,U0=F.g,rt=F.h,nt=F.i}var at={},o0=await be();function q0(){if(P>0){ee=q0;return}if(E(),P>0){ee=q0;return}function F(){n.calledRun=!0,!h&&(S(),b?.(n),n.onRuntimeInitialized?.(),T())}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),F()},1)):F()}function st(){if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()()}return st(),q0(),K?r=n:r=new Promise((F,O)=>{b=F,_=O}),r})})();typeof ds=="object"&&typeof Jt=="object"?(Jt.exports=en,Jt.exports.default=en):typeof define=="function"&&define.amd&&define([],()=>en)});var er=N(B0=>{"use strict";Object.defineProperty(B0,"__esModule",{value:!0});B0.derivePublicKey=Bi;B0.validateKeyPair=_i;B0.sign=Ci;B0.verify=Ai;var Re=ge(),bi=ls();async function Qt(){return await bi()}async function Bi(t){let e=await Qt(),r=(0,Re.hexToBytes)(t);if(r.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`);let n=1024,s=1088;if(e.HEAPU8.set(r,n),e.ccall("orlp_derive_public_key","number",["number","number"],[s,n])!==0)throw new Error("orlp key derivation failed: invalid private key");let c=new Uint8Array(32);return c.set(e.HEAPU8.subarray(s,s+32)),(0,Re.bytesToHex)(c)}async function _i(t,e){try{let r=await Qt(),n=(0,Re.hexToBytes)(t),s=(0,Re.hexToBytes)(e);if(n.length!==64||s.length!==32)return!1;let a=2048,c=2112;return r.HEAPU8.set(n,a),r.HEAPU8.set(s,c),r.ccall("orlp_validate_keypair","number",["number","number"],[c,a])===1}catch{return!1}}async function Ci(t,e,r){let n=await Qt(),s=(0,Re.hexToBytes)(t),a=(0,Re.hexToBytes)(e),c=(0,Re.hexToBytes)(r);if(a.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${a.length}`);if(c.length!==32)throw new Error(`Invalid public key length: expected 32 bytes, got ${c.length}`);let i=1e5,u=2e5,d=3e5,o=4e5;n.HEAPU8.set(s,i),n.HEAPU8.set(a,u),n.HEAPU8.set(c,d),n.ccall("orlp_sign","void",["number","number","number","number","number"],[o,i,s.length,d,u]);let x=new Uint8Array(64);return x.set(n.HEAPU8.subarray(o,o+64)),(0,Re.bytesToHex)(x)}async function Ai(t,e,r){try{let n=await Qt(),s=(0,Re.hexToBytes)(t),a=(0,Re.hexToBytes)(e),c=(0,Re.hexToBytes)(r);if(s.length!==64||c.length!==32)return!1;let i=5e5,u=6e5,d=7e5;return n.HEAPU8.set(s,u),n.HEAPU8.set(a,i),n.HEAPU8.set(c,d),n.ccall("orlp_verify","number",["number","number","number","number"],[u,i,a.length,d])===1}catch{return!1}}});var nn=N(Ge=>{"use strict";var Ei=Ge&&Ge.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Di=Ge&&Ge.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Fi=Ge&&Ge.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&Ei(r,e,n[s]);return Di(r,e),r}})();Object.defineProperty(Ge,"__esModule",{value:!0});Ge.Ed25519SignatureVerifier=void 0;var rn=Fi((fs(),Dn(us))),e0=ge(),hs=er();async function wi(t){if(typeof globalThis<"u"&&globalThis.crypto&&globalThis.crypto.subtle){let e=await globalThis.crypto.subtle.digest("SHA-512",t);return new Uint8Array(e)}if(typeof N0<"u")try{let{createHash:e}=ot();return e("sha512").update(t).digest()}catch{}throw new Error("No SHA-512 implementation available")}function Pi(t){if(typeof N0<"u")try{let{createHash:e}=ot();return e("sha512").update(t).digest()}catch{}try{let e=Ur(),r=e.lib.WordArray.create(t),n=e.SHA512(r),s=new Uint8Array(64);for(let a=0;a<16;a++){let c=n.words[a]||0;s[a*4]=c>>>24&255,s[a*4+1]=c>>>16&255,s[a*4+2]=c>>>8&255,s[a*4+3]=c&255}return s}catch{throw new Error("No SHA-512 implementation available for synchronous operation")}}rn.etc.sha512Async=wi;try{rn.etc.sha512Sync=Pi}catch(t){console.debug("Could not set up synchronous SHA-512:",t)}var tn=class{static async verifyAdvertisementSignature(e,r,n,s){try{let a=(0,e0.hexToBytes)(e),c=(0,e0.hexToBytes)(r),i=(0,e0.hexToBytes)(s),u=this.constructAdvertSignedMessage(e,n,i);return await rn.verify(c,u,a)}catch(a){return console.error("Ed25519 signature verification failed:",a),!1}}static constructAdvertSignedMessage(e,r,n){let s=(0,e0.hexToBytes)(e),a=new Uint8Array(4);a[0]=r&255,a[1]=r>>8&255,a[2]=r>>16&255,a[3]=r>>24&255;let c=new Uint8Array(36+n.length);return c.set(s,0),c.set(a,32),c.set(n,36),c}static getSignedMessageDescription(e,r,n){return`Public Key: ${e} + Timestamp: ${r} (${new Date(r*1e3).toISOString()}) + App Data: ${n}`}static getSignedMessageHex(e,r,n){let s=(0,e0.hexToBytes)(n),a=this.constructAdvertSignedMessage(e,r,s);return(0,e0.bytesToHex)(a)}static async derivePublicKey(e){try{let r=(0,e0.hexToBytes)(e);if(r.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`);return await(0,hs.derivePublicKey)(e)}catch(r){throw new Error(`Failed to derive public key: ${r instanceof Error?r.message:"Unknown error"}`)}}static derivePublicKeySync(e){try{let r=(0,e0.hexToBytes)(e);throw r.length!==64?new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`):new Error("Synchronous key derivation not supported with WASM. Use derivePublicKey() instead.")}catch(r){throw new Error(`Failed to derive public key: ${r instanceof Error?r.message:"Unknown error"}`)}}static async validateKeyPair(e,r){try{return await(0,hs.validateKeyPair)(e,r)}catch{return!1}}};Ge.Ed25519SignatureVerifier=tn});var ps=N(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.AdvertPayloadDecoder=void 0;var le=Ee(),t0=ge(),Si=v0(),ki=nn(),an=class{static decode(e,r){try{if(e.length<101){let f={type:le.PayloadType.Advert,version:le.PayloadVersion.Version1,isValid:!1,errors:["Advertisement payload too short"],publicKey:"",timestamp:0,signature:"",appData:{flags:0,deviceRole:le.DeviceRole.ChatNode,hasLocation:!1,hasName:!1}};return r?.includeSegments&&(f.segments=[{name:"Invalid Advert Data",description:"Advert payload too short (minimum 101 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,t0.bytesToHex)(e)}]),f}let n=[],s=r?.segmentOffset||0,a=0,c=(0,t0.bytesToHex)(e.subarray(a,a+32));r?.includeSegments&&n.push({name:"Public Key",description:"Ed25519 public key",startByte:s+a,endByte:s+a+31,value:c}),a+=32;let i=this.readUint32LE(e,a);if(r?.includeSegments){let f=new Date(i*1e3);n.push({name:"Timestamp",description:`${i} (${f.toISOString().slice(0,19)}Z)`,startByte:s+a,endByte:s+a+3,value:(0,t0.bytesToHex)(e.subarray(a,a+4))})}a+=4;let u=(0,t0.bytesToHex)(e.subarray(a,a+64));r?.includeSegments&&n.push({name:"Signature",description:"Ed25519 signature",startByte:s+a,endByte:s+a+63,value:u}),a+=64;let d=e[a];if(r?.includeSegments){let f=d.toString(2).padStart(8,"0"),p=this.parseDeviceRole(d),g=` | Bits 0-3 (Role): ${(0,Si.getDeviceRoleName)(p)} | Bit 4 (Location): ${d&le.AdvertFlags.HasLocation?"Yes":"No"} | Bit 7 (Name): ${d&le.AdvertFlags.HasName?"Yes":"No"}`;n.push({name:"App Flags",description:`Binary: ${f}${g}`,startByte:s+a,endByte:s+a,value:d.toString(16).padStart(2,"0").toUpperCase()})}a+=1;let o={type:le.PayloadType.Advert,version:le.PayloadVersion.Version1,isValid:!0,publicKey:c,timestamp:i,signature:u,appData:{flags:d,deviceRole:this.parseDeviceRole(d),hasLocation:!!(d&le.AdvertFlags.HasLocation),hasName:!!(d&le.AdvertFlags.HasName)}},x=a;if(d&le.AdvertFlags.HasLocation&&e.length>=x+8){let f=this.readInt32LE(e,x)/1e6,p=this.readInt32LE(e,x+4)/1e6;o.appData.location={latitude:Math.round(f*1e6)/1e6,longitude:Math.round(p*1e6)/1e6},r?.includeSegments&&(n.push({name:"Latitude",description:`${f}\xB0 (${f})`,startByte:s+x,endByte:s+x+3,value:(0,t0.bytesToHex)(e.subarray(x,x+4))}),n.push({name:"Longitude",description:`${p}\xB0 (${p})`,startByte:s+x+4,endByte:s+x+7,value:(0,t0.bytesToHex)(e.subarray(x+4,x+8))})),x+=8}if(d&le.AdvertFlags.HasFeature1&&(x+=2),d&le.AdvertFlags.HasFeature2&&(x+=2),d&le.AdvertFlags.HasName&&e.length>x){let f=e.subarray(x),p=new TextDecoder("utf-8").decode(f).replace(/\0.*$/,"");o.appData.name=this.sanitizeControlCharacters(p)||p,r?.includeSegments&&n.push({name:"Node Name",description:`Node name: "${o.appData.name}"`,startByte:s+x,endByte:s+e.length-1,value:(0,t0.bytesToHex)(f)})}return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:le.PayloadType.Advert,version:le.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode advertisement payload"],publicKey:"",timestamp:0,signature:"",appData:{flags:0,deviceRole:le.DeviceRole.ChatNode,hasLocation:!1,hasName:!1}}}}static async decodeWithVerification(e,r){let n=this.decode(e,r);if(!n||!n.isValid)return n;try{let a=e.subarray(100),c=(0,t0.bytesToHex)(a),i=await ki.Ed25519SignatureVerifier.verifyAdvertisementSignature(n.publicKey,n.signature,n.timestamp,c);n.signatureValid=i,i||(n.signatureError="Ed25519 signature verification failed",n.isValid=!1,n.errors||(n.errors=[]),n.errors.push("Invalid Ed25519 signature"))}catch(s){n.signatureValid=!1,n.signatureError=s instanceof Error?s.message:"Signature verification error",n.isValid=!1,n.errors||(n.errors=[]),n.errors.push("Signature verification failed: "+(s instanceof Error?s.message:"Unknown error"))}return n}static parseDeviceRole(e){switch(e&15){case 1:return le.DeviceRole.ChatNode;case 2:return le.DeviceRole.Repeater;case 3:return le.DeviceRole.RoomServer;case 4:return le.DeviceRole.Sensor;default:return le.DeviceRole.ChatNode}}static readUint32LE(e,r){return e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24}static readInt32LE(e,r){let n=this.readUint32LE(e,r);return n>2147483647?n-4294967296:n}static sanitizeControlCharacters(e){return e&&e.trim().replace(/[\x00-\x1F\x7F]/g,"")||null}};tr.AdvertPayloadDecoder=an});var ys=N(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.TracePayloadDecoder=void 0;var _0=Ee(),C0=ge(),sn=class{static decode(e,r,n){try{if(e.length<9){let g={type:_0.PayloadType.Trace,version:_0.PayloadVersion.Version1,isValid:!1,errors:["Trace payload too short (need at least tag(4) + auth(4) + flags(1))"],traceTag:"00000000",authCode:0,flags:0,pathHashes:[]};return n?.includeSegments&&(g.segments=[{name:"Invalid Trace Data",description:"Trace payload too short (minimum 9 bytes required)",startByte:n.segmentOffset||0,endByte:(n.segmentOffset||0)+e.length-1,value:(0,C0.bytesToHex)(e)}]),g}let s=0,a=[],c=n?.segmentOffset||0,i=this.readUint32LE(e,s),u=(0,C0.numberToHex)(i,8);n?.includeSegments&&a.push({name:"Trace Tag",description:`Unique identifier for this trace: 0x${i.toString(16).padStart(8,"0")}`,startByte:c+s,endByte:c+s+3,value:(0,C0.bytesToHex)(e.slice(s,s+4))}),s+=4;let d=this.readUint32LE(e,s);n?.includeSegments&&a.push({name:"Auth Code",description:`Authentication/verification code: ${d}`,startByte:c+s,endByte:c+s+3,value:(0,C0.bytesToHex)(e.slice(s,s+4))}),s+=4;let o=e[s];n?.includeSegments&&a.push({name:"Flags",description:`Application-defined control flags: 0x${o.toString(16).padStart(2,"0")} (${o.toString(2).padStart(8,"0")}b)`,startByte:c+s,endByte:c+s,value:o.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let x=[],f=s;for(;s<e.length;)x.push((0,C0.byteToHex)(e[s])),s++;if(n?.includeSegments&&x.length>0){let g=x.join(" ");a.push({name:"Path Hashes",description:`Node hashes in trace path: ${g}`,startByte:c+f,endByte:c+e.length-1,value:(0,C0.bytesToHex)(e.slice(f))})}let p;r&&r.length>0&&(p=r.map(g=>{let m=parseInt(g,16);return(m>127?m-256:m)/4}));let y={type:_0.PayloadType.Trace,version:_0.PayloadVersion.Version1,isValid:!0,traceTag:u,authCode:d,flags:o,pathHashes:x,snrValues:p};return n?.includeSegments&&(y.segments=a),y}catch(s){return{type:_0.PayloadType.Trace,version:_0.PayloadVersion.Version1,isValid:!1,errors:[s instanceof Error?s.message:"Failed to decode trace payload"],traceTag:"00000000",authCode:0,flags:0,pathHashes:[]}}}static readUint32LE(e,r){return e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24}};rr.TracePayloadDecoder=sn});var vs=N(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.GroupTextPayloadDecoder=void 0;var A0=Ee(),Ti=Kt(),nr=ge(),on=class{static decode(e,r){try{if(e.length<3){let o={type:A0.PayloadType.GroupText,version:A0.PayloadVersion.Version1,isValid:!1,errors:["GroupText payload too short (need at least channel_hash(1) + MAC(2))"],channelHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(o.segments=[{name:"Invalid GroupText Data",description:"GroupText payload too short (minimum 3 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,nr.bytesToHex)(e)}]),o}let n=[],s=r?.segmentOffset||0,a=0,c=(0,nr.byteToHex)(e[a]);r?.includeSegments&&n.push({name:"Channel Hash",description:"First byte of SHA256 of channel's shared key",startByte:s+a,endByte:s+a,value:c}),a+=1;let i=(0,nr.bytesToHex)(e.subarray(a,a+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data",startByte:s+a,endByte:s+a+1,value:i}),a+=2;let u=(0,nr.bytesToHex)(e.subarray(a));r?.includeSegments&&e.length>a&&n.push({name:"Ciphertext",description:"Encrypted message content (timestamp + flags + message)",startByte:s+a,endByte:s+e.length-1,value:u});let d={type:A0.PayloadType.GroupText,version:A0.PayloadVersion.Version1,isValid:!0,channelHash:c,cipherMac:i,ciphertext:u,ciphertextLength:e.length-3};if(r?.keyStore&&r.keyStore.hasChannelKey(c)){let o=r.keyStore.getChannelKeys(c);for(let x of o){let f=Ti.ChannelCrypto.decryptGroupTextMessage(u,i,x);if(f.success&&f.data){d.decrypted={timestamp:f.data.timestamp,flags:f.data.flags,sender:f.data.sender,message:f.data.message};break}}}return r?.includeSegments&&(d.segments=n),d}catch(n){return{type:A0.PayloadType.GroupText,version:A0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode GroupText payload"],channelHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};ar.GroupTextPayloadDecoder=on});var gs=N(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.RequestPayloadDecoder=void 0;var je=Ee(),K0=ge(),cn=class{static decode(e,r){try{if(e.length<4){let x={type:je.PayloadType.Request,version:je.PayloadVersion.Version1,isValid:!1,errors:["Request payload too short (minimum 4 bytes: dest hash + source hash + MAC)"],timestamp:0,requestType:je.RequestType.GetStats,requestData:"",destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:""};return r?.includeSegments&&(x.segments=[{name:"Invalid Request Data",description:"Request payload too short (minimum 4 bytes required: 1 for dest hash + 1 for source hash + 2 for MAC)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,K0.bytesToHex)(e)}]),x}let n=[],s=r?.segmentOffset||0,a=0,c=(0,K0.bytesToHex)(e.subarray(a,a+1));r?.includeSegments&&n.push({name:"Destination Hash",description:`First byte of destination node public key: 0x${c}`,startByte:s+a,endByte:s+a,value:c}),a+=1;let i=(0,K0.bytesToHex)(e.subarray(a,a+1));r?.includeSegments&&n.push({name:"Source Hash",description:`First byte of source node public key: 0x${i}`,startByte:s+a,endByte:s+a,value:i}),a+=1;let u=(0,K0.bytesToHex)(e.subarray(a,a+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data verification (2 bytes)",startByte:s+a,endByte:s+a+1,value:u}),a+=2;let d=(0,K0.bytesToHex)(e.subarray(a));r?.includeSegments&&e.length>a&&n.push({name:"Ciphertext",description:`Encrypted message data (${e.length-a} bytes). Contains encrypted plaintext with this structure:
|
|
15
|
+
"use strict";var MeshCoreCracker=(()=>{var Ns=Object.create;var M0=Object.defineProperty;var Gs=Object.getOwnPropertyDescriptor;var zs=Object.getOwnPropertyNames;var Ls=Object.getPrototypeOf,Vs=Object.prototype.hasOwnProperty;var Ks=(t,e,r)=>e in t?M0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var N0=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Ws=(t,e)=>()=>(t&&(e=t(t=0)),e);var N=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Cn=(t,e)=>{for(var r in e)M0(t,r,{get:e[r],enumerable:!0})},An=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of zs(e))!Vs.call(t,s)&&s!==r&&M0(t,s,{get:()=>e[s],enumerable:!(n=Gs(e,s))||n.enumerable});return t};var it=(t,e,r)=>(r=t!=null?Ns(Ls(t)):{},An(e||!t||!t.__esModule?M0(r,"default",{value:t,enumerable:!0}):r,t)),En=t=>An(M0({},"__esModule",{value:!0}),t);var Le=(t,e,r)=>Ks(t,typeof e!="symbol"?e+"":e,r);var Ee=N(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.RequestType=_e.AdvertFlags=_e.DeviceRole=_e.PayloadVersion=_e.ControlSubType=_e.PayloadType=_e.RouteType=void 0;var Dn;(function(t){t[t.TransportFlood=0]="TransportFlood",t[t.Flood=1]="Flood",t[t.Direct=2]="Direct",t[t.TransportDirect=3]="TransportDirect"})(Dn||(_e.RouteType=Dn={}));var Fn;(function(t){t[t.Request=0]="Request",t[t.Response=1]="Response",t[t.TextMessage=2]="TextMessage",t[t.Ack=3]="Ack",t[t.Advert=4]="Advert",t[t.GroupText=5]="GroupText",t[t.GroupData=6]="GroupData",t[t.AnonRequest=7]="AnonRequest",t[t.Path=8]="Path",t[t.Trace=9]="Trace",t[t.Multipart=10]="Multipart",t[t.Control=11]="Control",t[t.RawCustom=15]="RawCustom"})(Fn||(_e.PayloadType=Fn={}));var wn;(function(t){t[t.NodeDiscoverReq=128]="NodeDiscoverReq",t[t.NodeDiscoverResp=144]="NodeDiscoverResp"})(wn||(_e.ControlSubType=wn={}));var Pn;(function(t){t[t.Version1=0]="Version1",t[t.Version2=1]="Version2",t[t.Version3=2]="Version3",t[t.Version4=3]="Version4"})(Pn||(_e.PayloadVersion=Pn={}));var Sn;(function(t){t[t.Unknown=0]="Unknown",t[t.ChatNode=1]="ChatNode",t[t.Repeater=2]="Repeater",t[t.RoomServer=3]="RoomServer",t[t.Sensor=4]="Sensor"})(Sn||(_e.DeviceRole=Sn={}));var kn;(function(t){t[t.HasLocation=16]="HasLocation",t[t.HasFeature1=32]="HasFeature1",t[t.HasFeature2=64]="HasFeature2",t[t.HasName=128]="HasName"})(kn||(_e.AdvertFlags=kn={}));var Tn;(function(t){t[t.GetStats=1]="GetStats",t[t.Keepalive=2]="Keepalive",t[t.GetTelemetryData=3]="GetTelemetryData",t[t.GetMinMaxAvgData=4]="GetMinMaxAvgData",t[t.GetAccessList=5]="GetAccessList"})(Tn||(_e.RequestType=Tn={}))});var ge=N(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});y0.byteToHex=Rn;y0.bytesToHex=js;y0.numberToHex=$s;y0.hexToBytes=Xs;function Rn(t){return t.toString(16).padStart(2,"0").toUpperCase()}function js(t){return Array.from(t).map(Rn).join("")}function $s(t,e=8){return(t>>>0).toString(16).padStart(e,"0").toUpperCase()}function Xs(t){let e=t.replace(/\s/g,"").toUpperCase();if(!/^[0-9A-F]*$/.test(e))throw new Error("Invalid hex string: invalid characters at position 0");if(e.length%2!==0)throw new Error("Invalid hex string: odd length");let r=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)r[n/2]=parseInt(e.substr(n,2),16);return r}});var v0=N(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.getRouteTypeName=Zs;Ze.getPayloadTypeName=Ys;Ze.getPayloadVersionName=Js;Ze.getDeviceRoleName=Qs;Ze.getRequestTypeName=ei;Ze.getControlSubTypeName=ti;var Q=Ee();function Zs(t){switch(t){case Q.RouteType.Flood:return"Flood";case Q.RouteType.Direct:return"Direct";case Q.RouteType.TransportFlood:return"TransportFlood";case Q.RouteType.TransportDirect:return"TransportDirect";default:return`Unknown (${t})`}}function Ys(t){switch(t){case Q.PayloadType.RawCustom:return"RawCustom";case Q.PayloadType.Trace:return"Trace";case Q.PayloadType.Advert:return"Advert";case Q.PayloadType.GroupText:return"GroupText";case Q.PayloadType.GroupData:return"GroupData";case Q.PayloadType.Request:return"Request";case Q.PayloadType.Response:return"Response";case Q.PayloadType.TextMessage:return"TextMessage";case Q.PayloadType.AnonRequest:return"AnonRequest";case Q.PayloadType.Ack:return"Ack";case Q.PayloadType.Path:return"Path";case Q.PayloadType.Multipart:return"Multipart";case Q.PayloadType.Control:return"Control";default:return`Unknown (0x${t.toString(16)})`}}function Js(t){switch(t){case Q.PayloadVersion.Version1:return"Version 1";case Q.PayloadVersion.Version2:return"Version 2";case Q.PayloadVersion.Version3:return"Version 3";case Q.PayloadVersion.Version4:return"Version 4";default:return`Unknown (${t})`}}function Qs(t){switch(t){case Q.DeviceRole.Unknown:return"Unknown";case Q.DeviceRole.ChatNode:return"Chat Node";case Q.DeviceRole.Repeater:return"Repeater";case Q.DeviceRole.RoomServer:return"Room Server";case Q.DeviceRole.Sensor:return"Sensor";default:return`Unknown (${t})`}}function ei(t){switch(t){case Q.RequestType.GetStats:return"Get Stats";case Q.RequestType.Keepalive:return"Keepalive (deprecated)";case Q.RequestType.GetTelemetryData:return"Get Telemetry Data";case Q.RequestType.GetMinMaxAvgData:return"Get Min/Max/Avg Data";case Q.RequestType.GetAccessList:return"Get Access List";default:return`Unknown (${t})`}}function ti(t){switch(t){case Q.ControlSubType.NodeDiscoverReq:return"Node Discover Request";case Q.ControlSubType.NodeDiscoverResp:return"Node Discover Response";default:return`Unknown (0x${t.toString(16)})`}}});var ot=N(()=>{});var X=N((ct,Hn)=>{(function(t,e){typeof ct=="object"?Hn.exports=ct=e():typeof define=="function"&&define.amd?define([],e):t.CryptoJS=e()})(ct,function(){var t=t||(function(e,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof N0=="function")try{n=ot()}catch{}var s=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},a=Object.create||(function(){function l(){}return function(h){var B;return l.prototype=h,B=new l,l.prototype=null,B}})(),c={},i=c.lib={},u=i.Base=(function(){return{extend:function(l){var h=a(this);return l&&h.mixIn(l),(!h.hasOwnProperty("init")||this.init===h.init)&&(h.init=function(){h.$super.init.apply(this,arguments)}),h.init.prototype=h,h.$super=this,h},create:function(){var l=this.extend();return l.init.apply(l,arguments),l},init:function(){},mixIn:function(l){for(var h in l)l.hasOwnProperty(h)&&(this[h]=l[h]);l.hasOwnProperty("toString")&&(this.toString=l.toString)},clone:function(){return this.init.prototype.extend(this)}}})(),d=i.WordArray=u.extend({init:function(l,h){l=this.words=l||[],h!=r?this.sigBytes=h:this.sigBytes=l.length*4},toString:function(l){return(l||x).stringify(this)},concat:function(l){var h=this.words,B=l.words,b=this.sigBytes,_=l.sigBytes;if(this.clamp(),b%4)for(var v=0;v<_;v++){var w=B[v>>>2]>>>24-v%4*8&255;h[b+v>>>2]|=w<<24-(b+v)%4*8}else for(var C=0;C<_;C+=4)h[b+C>>>2]=B[C>>>2];return this.sigBytes+=_,this},clamp:function(){var l=this.words,h=this.sigBytes;l[h>>>2]&=4294967295<<32-h%4*8,l.length=e.ceil(h/4)},clone:function(){var l=u.clone.call(this);return l.words=this.words.slice(0),l},random:function(l){for(var h=[],B=0;B<l;B+=4)h.push(s());return new d.init(h,l)}}),o=c.enc={},x=o.Hex={stringify:function(l){for(var h=l.words,B=l.sigBytes,b=[],_=0;_<B;_++){var v=h[_>>>2]>>>24-_%4*8&255;b.push((v>>>4).toString(16)),b.push((v&15).toString(16))}return b.join("")},parse:function(l){for(var h=l.length,B=[],b=0;b<h;b+=2)B[b>>>3]|=parseInt(l.substr(b,2),16)<<24-b%8*4;return new d.init(B,h/2)}},f=o.Latin1={stringify:function(l){for(var h=l.words,B=l.sigBytes,b=[],_=0;_<B;_++){var v=h[_>>>2]>>>24-_%4*8&255;b.push(String.fromCharCode(v))}return b.join("")},parse:function(l){for(var h=l.length,B=[],b=0;b<h;b++)B[b>>>2]|=(l.charCodeAt(b)&255)<<24-b%4*8;return new d.init(B,h)}},p=o.Utf8={stringify:function(l){try{return decodeURIComponent(escape(f.stringify(l)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(l){return f.parse(unescape(encodeURIComponent(l)))}},y=i.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(l){typeof l=="string"&&(l=p.parse(l)),this._data.concat(l),this._nDataBytes+=l.sigBytes},_process:function(l){var h,B=this._data,b=B.words,_=B.sigBytes,v=this.blockSize,w=v*4,C=_/w;l?C=e.ceil(C):C=e.max((C|0)-this._minBufferSize,0);var R=C*v,H=e.min(R*4,_);if(R){for(var A=0;A<R;A+=v)this._doProcessBlock(b,A);h=b.splice(0,R),B.sigBytes-=H}return new d.init(h,H)},clone:function(){var l=u.clone.call(this);return l._data=this._data.clone(),l},_minBufferSize:0}),g=i.Hasher=y.extend({cfg:u.extend(),init:function(l){this.cfg=this.cfg.extend(l),this.reset()},reset:function(){y.reset.call(this),this._doReset()},update:function(l){return this._append(l),this._process(),this},finalize:function(l){l&&this._append(l);var h=this._doFinalize();return h},blockSize:512/32,_createHelper:function(l){return function(h,B){return new l.init(B).finalize(h)}},_createHmacHelper:function(l){return function(h,B){return new m.HMAC.init(l,B).finalize(h)}}}),m=c.algo={};return c})(Math);return t})});var G0=N((ut,On)=>{(function(t,e){typeof ut=="object"?On.exports=ut=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ut,function(t){return(function(e){var r=t,n=r.lib,s=n.Base,a=n.WordArray,c=r.x64={},i=c.Word=s.extend({init:function(d,o){this.high=d,this.low=o}}),u=c.WordArray=s.extend({init:function(d,o){d=this.words=d||[],o!=e?this.sigBytes=o:this.sigBytes=d.length*8},toX32:function(){for(var d=this.words,o=d.length,x=[],f=0;f<o;f++){var p=d[f];x.push(p.high),x.push(p.low)}return a.create(x,this.sigBytes)},clone:function(){for(var d=s.clone.call(this),o=d.words=this.words.slice(0),x=o.length,f=0;f<x;f++)o[f]=o[f].clone();return d}})})(),t})});var qn=N((ft,Un)=>{(function(t,e){typeof ft=="object"?Un.exports=ft=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ft,function(t){return(function(){if(typeof ArrayBuffer=="function"){var e=t,r=e.lib,n=r.WordArray,s=n.init,a=n.init=function(c){if(c instanceof ArrayBuffer&&(c=new Uint8Array(c)),(c instanceof Int8Array||typeof Uint8ClampedArray<"u"&&c instanceof Uint8ClampedArray||c instanceof Int16Array||c instanceof Uint16Array||c instanceof Int32Array||c instanceof Uint32Array||c instanceof Float32Array||c instanceof Float64Array)&&(c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)),c instanceof Uint8Array){for(var i=c.byteLength,u=[],d=0;d<i;d++)u[d>>>2]|=c[d]<<24-d%4*8;s.call(this,u,i)}else s.apply(this,arguments)};a.prototype=n}})(),t.lib.WordArray})});var Mn=N((xt,In)=>{(function(t,e){typeof xt=="object"?In.exports=xt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(xt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,a=s.Utf16=s.Utf16BE={stringify:function(i){for(var u=i.words,d=i.sigBytes,o=[],x=0;x<d;x+=2){var f=u[x>>>2]>>>16-x%4*8&65535;o.push(String.fromCharCode(f))}return o.join("")},parse:function(i){for(var u=i.length,d=[],o=0;o<u;o++)d[o>>>1]|=i.charCodeAt(o)<<16-o%2*16;return n.create(d,u*2)}};s.Utf16LE={stringify:function(i){for(var u=i.words,d=i.sigBytes,o=[],x=0;x<d;x+=2){var f=c(u[x>>>2]>>>16-x%4*8&65535);o.push(String.fromCharCode(f))}return o.join("")},parse:function(i){for(var u=i.length,d=[],o=0;o<u;o++)d[o>>>1]|=c(i.charCodeAt(o)<<16-o%2*16);return n.create(d,u*2)}};function c(i){return i<<8&4278255360|i>>>8&16711935}})(),t.enc.Utf16})});var Ye=N((dt,Nn)=>{(function(t,e){typeof dt=="object"?Nn.exports=dt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(dt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,a=s.Base64={stringify:function(i){var u=i.words,d=i.sigBytes,o=this._map;i.clamp();for(var x=[],f=0;f<d;f+=3)for(var p=u[f>>>2]>>>24-f%4*8&255,y=u[f+1>>>2]>>>24-(f+1)%4*8&255,g=u[f+2>>>2]>>>24-(f+2)%4*8&255,m=p<<16|y<<8|g,l=0;l<4&&f+l*.75<d;l++)x.push(o.charAt(m>>>6*(3-l)&63));var h=o.charAt(64);if(h)for(;x.length%4;)x.push(h);return x.join("")},parse:function(i){var u=i.length,d=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var x=0;x<d.length;x++)o[d.charCodeAt(x)]=x}var f=d.charAt(64);if(f){var p=i.indexOf(f);p!==-1&&(u=p)}return c(i,u,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function c(i,u,d){for(var o=[],x=0,f=0;f<u;f++)if(f%4){var p=d[i.charCodeAt(f-1)]<<f%4*2,y=d[i.charCodeAt(f)]>>>6-f%4*2,g=p|y;o[x>>>2]|=g<<24-x%4*8,x++}return n.create(o,x)}})(),t.enc.Base64})});var zn=N((lt,Gn)=>{(function(t,e){typeof lt=="object"?Gn.exports=lt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(lt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=e.enc,a=s.Base64url={stringify:function(i,u){u===void 0&&(u=!0);var d=i.words,o=i.sigBytes,x=u?this._safe_map:this._map;i.clamp();for(var f=[],p=0;p<o;p+=3)for(var y=d[p>>>2]>>>24-p%4*8&255,g=d[p+1>>>2]>>>24-(p+1)%4*8&255,m=d[p+2>>>2]>>>24-(p+2)%4*8&255,l=y<<16|g<<8|m,h=0;h<4&&p+h*.75<o;h++)f.push(x.charAt(l>>>6*(3-h)&63));var B=x.charAt(64);if(B)for(;f.length%4;)f.push(B);return f.join("")},parse:function(i,u){u===void 0&&(u=!0);var d=i.length,o=u?this._safe_map:this._map,x=this._reverseMap;if(!x){x=this._reverseMap=[];for(var f=0;f<o.length;f++)x[o.charCodeAt(f)]=f}var p=o.charAt(64);if(p){var y=i.indexOf(p);y!==-1&&(d=y)}return c(i,d,x)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"};function c(i,u,d){for(var o=[],x=0,f=0;f<u;f++)if(f%4){var p=d[i.charCodeAt(f-1)]<<f%4*2,y=d[i.charCodeAt(f)]>>>6-f%4*2,g=p|y;o[x>>>2]|=g<<24-x%4*8,x++}return n.create(o,x)}})(),t.enc.Base64url})});var Je=N((ht,Ln)=>{(function(t,e){typeof ht=="object"?Ln.exports=ht=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(ht,function(t){return(function(e){var r=t,n=r.lib,s=n.WordArray,a=n.Hasher,c=r.algo,i=[];(function(){for(var p=0;p<64;p++)i[p]=e.abs(e.sin(p+1))*4294967296|0})();var u=c.MD5=a.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,y){for(var g=0;g<16;g++){var m=y+g,l=p[m];p[m]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360}var h=this._hash.words,B=p[y+0],b=p[y+1],_=p[y+2],v=p[y+3],w=p[y+4],C=p[y+5],R=p[y+6],H=p[y+7],A=p[y+8],D=p[y+9],U=p[y+10],k=p[y+11],z=p[y+12],G=p[y+13],K=p[y+14],j=p[y+15],E=h[0],S=h[1],T=h[2],P=h[3];E=d(E,S,T,P,B,7,i[0]),P=d(P,E,S,T,b,12,i[1]),T=d(T,P,E,S,_,17,i[2]),S=d(S,T,P,E,v,22,i[3]),E=d(E,S,T,P,w,7,i[4]),P=d(P,E,S,T,C,12,i[5]),T=d(T,P,E,S,R,17,i[6]),S=d(S,T,P,E,H,22,i[7]),E=d(E,S,T,P,A,7,i[8]),P=d(P,E,S,T,D,12,i[9]),T=d(T,P,E,S,U,17,i[10]),S=d(S,T,P,E,k,22,i[11]),E=d(E,S,T,P,z,7,i[12]),P=d(P,E,S,T,G,12,i[13]),T=d(T,P,E,S,K,17,i[14]),S=d(S,T,P,E,j,22,i[15]),E=o(E,S,T,P,b,5,i[16]),P=o(P,E,S,T,R,9,i[17]),T=o(T,P,E,S,k,14,i[18]),S=o(S,T,P,E,B,20,i[19]),E=o(E,S,T,P,C,5,i[20]),P=o(P,E,S,T,U,9,i[21]),T=o(T,P,E,S,j,14,i[22]),S=o(S,T,P,E,w,20,i[23]),E=o(E,S,T,P,D,5,i[24]),P=o(P,E,S,T,K,9,i[25]),T=o(T,P,E,S,v,14,i[26]),S=o(S,T,P,E,A,20,i[27]),E=o(E,S,T,P,G,5,i[28]),P=o(P,E,S,T,_,9,i[29]),T=o(T,P,E,S,H,14,i[30]),S=o(S,T,P,E,z,20,i[31]),E=x(E,S,T,P,C,4,i[32]),P=x(P,E,S,T,A,11,i[33]),T=x(T,P,E,S,k,16,i[34]),S=x(S,T,P,E,K,23,i[35]),E=x(E,S,T,P,b,4,i[36]),P=x(P,E,S,T,w,11,i[37]),T=x(T,P,E,S,H,16,i[38]),S=x(S,T,P,E,U,23,i[39]),E=x(E,S,T,P,G,4,i[40]),P=x(P,E,S,T,B,11,i[41]),T=x(T,P,E,S,v,16,i[42]),S=x(S,T,P,E,R,23,i[43]),E=x(E,S,T,P,D,4,i[44]),P=x(P,E,S,T,z,11,i[45]),T=x(T,P,E,S,j,16,i[46]),S=x(S,T,P,E,_,23,i[47]),E=f(E,S,T,P,B,6,i[48]),P=f(P,E,S,T,H,10,i[49]),T=f(T,P,E,S,K,15,i[50]),S=f(S,T,P,E,C,21,i[51]),E=f(E,S,T,P,z,6,i[52]),P=f(P,E,S,T,v,10,i[53]),T=f(T,P,E,S,U,15,i[54]),S=f(S,T,P,E,b,21,i[55]),E=f(E,S,T,P,A,6,i[56]),P=f(P,E,S,T,j,10,i[57]),T=f(T,P,E,S,R,15,i[58]),S=f(S,T,P,E,G,21,i[59]),E=f(E,S,T,P,w,6,i[60]),P=f(P,E,S,T,k,10,i[61]),T=f(T,P,E,S,_,15,i[62]),S=f(S,T,P,E,D,21,i[63]),h[0]=h[0]+E|0,h[1]=h[1]+S|0,h[2]=h[2]+T|0,h[3]=h[3]+P|0},_doFinalize:function(){var p=this._data,y=p.words,g=this._nDataBytes*8,m=p.sigBytes*8;y[m>>>5]|=128<<24-m%32;var l=e.floor(g/4294967296),h=g;y[(m+64>>>9<<4)+15]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,y[(m+64>>>9<<4)+14]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360,p.sigBytes=(y.length+1)*4,this._process();for(var B=this._hash,b=B.words,_=0;_<4;_++){var v=b[_];b[_]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360}return B},clone:function(){var p=a.clone.call(this);return p._hash=this._hash.clone(),p}});function d(p,y,g,m,l,h,B){var b=p+(y&g|~y&m)+l+B;return(b<<h|b>>>32-h)+y}function o(p,y,g,m,l,h,B){var b=p+(y&m|g&~m)+l+B;return(b<<h|b>>>32-h)+y}function x(p,y,g,m,l,h,B){var b=p+(y^g^m)+l+B;return(b<<h|b>>>32-h)+y}function f(p,y,g,m,l,h,B){var b=p+(g^(y|~m))+l+B;return(b<<h|b>>>32-h)+y}r.MD5=a._createHelper(u),r.HmacMD5=a._createHmacHelper(u)})(Math),t.MD5})});var Rr=N((pt,Vn)=>{(function(t,e){typeof pt=="object"?Vn.exports=pt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(pt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=r.Hasher,a=e.algo,c=[],i=a.SHA1=s.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(u,d){for(var o=this._hash.words,x=o[0],f=o[1],p=o[2],y=o[3],g=o[4],m=0;m<80;m++){if(m<16)c[m]=u[d+m]|0;else{var l=c[m-3]^c[m-8]^c[m-14]^c[m-16];c[m]=l<<1|l>>>31}var h=(x<<5|x>>>27)+g+c[m];m<20?h+=(f&p|~f&y)+1518500249:m<40?h+=(f^p^y)+1859775393:m<60?h+=(f&p|f&y|p&y)-1894007588:h+=(f^p^y)-899497514,g=y,y=p,p=f<<30|f>>>2,f=x,x=h}o[0]=o[0]+x|0,o[1]=o[1]+f|0,o[2]=o[2]+p|0,o[3]=o[3]+y|0,o[4]=o[4]+g|0},_doFinalize:function(){var u=this._data,d=u.words,o=this._nDataBytes*8,x=u.sigBytes*8;return d[x>>>5]|=128<<24-x%32,d[(x+64>>>9<<4)+14]=Math.floor(o/4294967296),d[(x+64>>>9<<4)+15]=o,u.sigBytes=d.length*4,this._process(),this._hash},clone:function(){var u=s.clone.call(this);return u._hash=this._hash.clone(),u}});e.SHA1=s._createHelper(i),e.HmacSHA1=s._createHmacHelper(i)})(),t.SHA1})});var g0=N((yt,Kn)=>{(function(t,e){typeof yt=="object"?Kn.exports=yt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(yt,function(t){return(function(e){var r=t,n=r.lib,s=n.WordArray,a=n.Hasher,c=r.algo,i=[],u=[];(function(){function x(g){for(var m=e.sqrt(g),l=2;l<=m;l++)if(!(g%l))return!1;return!0}function f(g){return(g-(g|0))*4294967296|0}for(var p=2,y=0;y<64;)x(p)&&(y<8&&(i[y]=f(e.pow(p,1/2))),u[y]=f(e.pow(p,1/3)),y++),p++})();var d=[],o=c.SHA256=a.extend({_doReset:function(){this._hash=new s.init(i.slice(0))},_doProcessBlock:function(x,f){for(var p=this._hash.words,y=p[0],g=p[1],m=p[2],l=p[3],h=p[4],B=p[5],b=p[6],_=p[7],v=0;v<64;v++){if(v<16)d[v]=x[f+v]|0;else{var w=d[v-15],C=(w<<25|w>>>7)^(w<<14|w>>>18)^w>>>3,R=d[v-2],H=(R<<15|R>>>17)^(R<<13|R>>>19)^R>>>10;d[v]=C+d[v-7]+H+d[v-16]}var A=h&B^~h&b,D=y&g^y&m^g&m,U=(y<<30|y>>>2)^(y<<19|y>>>13)^(y<<10|y>>>22),k=(h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25),z=_+k+A+u[v]+d[v],G=U+D;_=b,b=B,B=h,h=l+z|0,l=m,m=g,g=y,y=z+G|0}p[0]=p[0]+y|0,p[1]=p[1]+g|0,p[2]=p[2]+m|0,p[3]=p[3]+l|0,p[4]=p[4]+h|0,p[5]=p[5]+B|0,p[6]=p[6]+b|0,p[7]=p[7]+_|0},_doFinalize:function(){var x=this._data,f=x.words,p=this._nDataBytes*8,y=x.sigBytes*8;return f[y>>>5]|=128<<24-y%32,f[(y+64>>>9<<4)+14]=e.floor(p/4294967296),f[(y+64>>>9<<4)+15]=p,x.sigBytes=f.length*4,this._process(),this._hash},clone:function(){var x=a.clone.call(this);return x._hash=this._hash.clone(),x}});r.SHA256=a._createHelper(o),r.HmacSHA256=a._createHmacHelper(o)})(Math),t.SHA256})});var jn=N((vt,Wn)=>{(function(t,e,r){typeof vt=="object"?Wn.exports=vt=e(X(),g0()):typeof define=="function"&&define.amd?define(["./core","./sha256"],e):e(t.CryptoJS)})(vt,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=e.algo,a=s.SHA256,c=s.SHA224=a.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var i=a._doFinalize.call(this);return i.sigBytes-=4,i}});e.SHA224=a._createHelper(c),e.HmacSHA224=a._createHmacHelper(c)})(),t.SHA224})});var Hr=N((gt,$n)=>{(function(t,e,r){typeof gt=="object"?$n.exports=gt=e(X(),G0()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(gt,function(t){return(function(){var e=t,r=e.lib,n=r.Hasher,s=e.x64,a=s.Word,c=s.WordArray,i=e.algo;function u(){return a.create.apply(a,arguments)}var d=[u(1116352408,3609767458),u(1899447441,602891725),u(3049323471,3964484399),u(3921009573,2173295548),u(961987163,4081628472),u(1508970993,3053834265),u(2453635748,2937671579),u(2870763221,3664609560),u(3624381080,2734883394),u(310598401,1164996542),u(607225278,1323610764),u(1426881987,3590304994),u(1925078388,4068182383),u(2162078206,991336113),u(2614888103,633803317),u(3248222580,3479774868),u(3835390401,2666613458),u(4022224774,944711139),u(264347078,2341262773),u(604807628,2007800933),u(770255983,1495990901),u(1249150122,1856431235),u(1555081692,3175218132),u(1996064986,2198950837),u(2554220882,3999719339),u(2821834349,766784016),u(2952996808,2566594879),u(3210313671,3203337956),u(3336571891,1034457026),u(3584528711,2466948901),u(113926993,3758326383),u(338241895,168717936),u(666307205,1188179964),u(773529912,1546045734),u(1294757372,1522805485),u(1396182291,2643833823),u(1695183700,2343527390),u(1986661051,1014477480),u(2177026350,1206759142),u(2456956037,344077627),u(2730485921,1290863460),u(2820302411,3158454273),u(3259730800,3505952657),u(3345764771,106217008),u(3516065817,3606008344),u(3600352804,1432725776),u(4094571909,1467031594),u(275423344,851169720),u(430227734,3100823752),u(506948616,1363258195),u(659060556,3750685593),u(883997877,3785050280),u(958139571,3318307427),u(1322822218,3812723403),u(1537002063,2003034995),u(1747873779,3602036899),u(1955562222,1575990012),u(2024104815,1125592928),u(2227730452,2716904306),u(2361852424,442776044),u(2428436474,593698344),u(2756734187,3733110249),u(3204031479,2999351573),u(3329325298,3815920427),u(3391569614,3928383900),u(3515267271,566280711),u(3940187606,3454069534),u(4118630271,4000239992),u(116418474,1914138554),u(174292421,2731055270),u(289380356,3203993006),u(460393269,320620315),u(685471733,587496836),u(852142971,1086792851),u(1017036298,365543100),u(1126000580,2618297676),u(1288033470,3409855158),u(1501505948,4234509866),u(1607167915,987167468),u(1816402316,1246189591)],o=[];(function(){for(var f=0;f<80;f++)o[f]=u()})();var x=i.SHA512=n.extend({_doReset:function(){this._hash=new c.init([new a.init(1779033703,4089235720),new a.init(3144134277,2227873595),new a.init(1013904242,4271175723),new a.init(2773480762,1595750129),new a.init(1359893119,2917565137),new a.init(2600822924,725511199),new a.init(528734635,4215389547),new a.init(1541459225,327033209)])},_doProcessBlock:function(f,p){for(var y=this._hash.words,g=y[0],m=y[1],l=y[2],h=y[3],B=y[4],b=y[5],_=y[6],v=y[7],w=g.high,C=g.low,R=m.high,H=m.low,A=l.high,D=l.low,U=h.high,k=h.low,z=B.high,G=B.low,K=b.high,j=b.low,E=_.high,S=_.low,T=v.high,P=v.low,ee=w,re=C,pe=R,$=H,L=A,V=D,W=U,ne=k,ae=z,Z=G,me=K,be=j,xe=E,he=S,ye=T,ce=P,se=0;se<80;se++){var ue,Be,Fe=o[se];if(se<16)Be=Fe.high=f[p+se*2]|0,ue=Fe.low=f[p+se*2+1]|0;else{var a0=o[se-15],Ae=a0.high,we=a0.low,Oe=(Ae>>>1|we<<31)^(Ae>>>8|we<<24)^Ae>>>7,s0=(we>>>1|Ae<<31)^(we>>>8|Ae<<24)^(we>>>7|Ae<<25),i0=o[se-2],Te=i0.high,Ue=i0.low,Z0=(Te>>>19|Ue<<13)^(Te<<3|Ue>>>29)^Te>>>6,Y0=(Ue>>>19|Te<<13)^(Ue<<3|Te>>>29)^(Ue>>>6|Te<<26),J0=o[se-7],Q0=J0.high,wr=J0.low,et=o[se-16],Pr=et.high,tt=et.low;ue=s0+wr,Be=Oe+Q0+(ue>>>0<s0>>>0?1:0),ue=ue+Y0,Be=Be+Z0+(ue>>>0<Y0>>>0?1:0),ue=ue+tt,Be=Be+Pr+(ue>>>0<tt>>>0?1:0),Fe.high=Be,Fe.low=ue}var Sr=ae&me^~ae&xe,U0=Z&be^~Z&he,rt=ee&pe^ee&L^pe&L,nt=re&$^re&V^$&V,kr=(ee>>>28|re<<4)^(ee<<30|re>>>2)^(ee<<25|re>>>7),at=(re>>>28|ee<<4)^(re<<30|ee>>>2)^(re<<25|ee>>>7),o0=(ae>>>14|Z<<18)^(ae>>>18|Z<<14)^(ae<<23|Z>>>9),q0=(Z>>>14|ae<<18)^(Z>>>18|ae<<14)^(Z<<23|ae>>>9),st=d[se],F=st.high,O=st.low,I=ce+q0,Y=ye+o0+(I>>>0<ce>>>0?1:0),I=I+U0,Y=Y+Sr+(I>>>0<U0>>>0?1:0),I=I+O,Y=Y+F+(I>>>0<O>>>0?1:0),I=I+ue,Y=Y+Be+(I>>>0<ue>>>0?1:0),te=at+nt,oe=kr+rt+(te>>>0<at>>>0?1:0);ye=xe,ce=he,xe=me,he=be,me=ae,be=Z,Z=ne+I|0,ae=W+Y+(Z>>>0<ne>>>0?1:0)|0,W=L,ne=V,L=pe,V=$,pe=ee,$=re,re=I+te|0,ee=Y+oe+(re>>>0<I>>>0?1:0)|0}C=g.low=C+re,g.high=w+ee+(C>>>0<re>>>0?1:0),H=m.low=H+$,m.high=R+pe+(H>>>0<$>>>0?1:0),D=l.low=D+V,l.high=A+L+(D>>>0<V>>>0?1:0),k=h.low=k+ne,h.high=U+W+(k>>>0<ne>>>0?1:0),G=B.low=G+Z,B.high=z+ae+(G>>>0<Z>>>0?1:0),j=b.low=j+be,b.high=K+me+(j>>>0<be>>>0?1:0),S=_.low=S+he,_.high=E+xe+(S>>>0<he>>>0?1:0),P=v.low=P+ce,v.high=T+ye+(P>>>0<ce>>>0?1:0)},_doFinalize:function(){var f=this._data,p=f.words,y=this._nDataBytes*8,g=f.sigBytes*8;p[g>>>5]|=128<<24-g%32,p[(g+128>>>10<<5)+30]=Math.floor(y/4294967296),p[(g+128>>>10<<5)+31]=y,f.sigBytes=p.length*4,this._process();var m=this._hash.toX32();return m},clone:function(){var f=n.clone.call(this);return f._hash=this._hash.clone(),f},blockSize:1024/32});e.SHA512=n._createHelper(x),e.HmacSHA512=n._createHmacHelper(x)})(),t.SHA512})});var Zn=N((mt,Xn)=>{(function(t,e,r){typeof mt=="object"?Xn.exports=mt=e(X(),G0(),Hr()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./sha512"],e):e(t.CryptoJS)})(mt,function(t){return(function(){var e=t,r=e.x64,n=r.Word,s=r.WordArray,a=e.algo,c=a.SHA512,i=a.SHA384=c.extend({_doReset:function(){this._hash=new s.init([new n.init(3418070365,3238371032),new n.init(1654270250,914150663),new n.init(2438529370,812702999),new n.init(355462360,4144912697),new n.init(1731405415,4290775857),new n.init(2394180231,1750603025),new n.init(3675008525,1694076839),new n.init(1203062813,3204075428)])},_doFinalize:function(){var u=c._doFinalize.call(this);return u.sigBytes-=16,u}});e.SHA384=c._createHelper(i),e.HmacSHA384=c._createHmacHelper(i)})(),t.SHA384})});var Jn=N((bt,Yn)=>{(function(t,e,r){typeof bt=="object"?Yn.exports=bt=e(X(),G0()):typeof define=="function"&&define.amd?define(["./core","./x64-core"],e):e(t.CryptoJS)})(bt,function(t){return(function(e){var r=t,n=r.lib,s=n.WordArray,a=n.Hasher,c=r.x64,i=c.Word,u=r.algo,d=[],o=[],x=[];(function(){for(var y=1,g=0,m=0;m<24;m++){d[y+5*g]=(m+1)*(m+2)/2%64;var l=g%5,h=(2*y+3*g)%5;y=l,g=h}for(var y=0;y<5;y++)for(var g=0;g<5;g++)o[y+5*g]=g+(2*y+3*g)%5*5;for(var B=1,b=0;b<24;b++){for(var _=0,v=0,w=0;w<7;w++){if(B&1){var C=(1<<w)-1;C<32?v^=1<<C:_^=1<<C-32}B&128?B=B<<1^113:B<<=1}x[b]=i.create(_,v)}})();var f=[];(function(){for(var y=0;y<25;y++)f[y]=i.create()})();var p=u.SHA3=a.extend({cfg:a.cfg.extend({outputLength:512}),_doReset:function(){for(var y=this._state=[],g=0;g<25;g++)y[g]=new i.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(y,g){for(var m=this._state,l=this.blockSize/2,h=0;h<l;h++){var B=y[g+2*h],b=y[g+2*h+1];B=(B<<8|B>>>24)&16711935|(B<<24|B>>>8)&4278255360,b=(b<<8|b>>>24)&16711935|(b<<24|b>>>8)&4278255360;var _=m[h];_.high^=b,_.low^=B}for(var v=0;v<24;v++){for(var w=0;w<5;w++){for(var C=0,R=0,H=0;H<5;H++){var _=m[w+5*H];C^=_.high,R^=_.low}var A=f[w];A.high=C,A.low=R}for(var w=0;w<5;w++)for(var D=f[(w+4)%5],U=f[(w+1)%5],k=U.high,z=U.low,C=D.high^(k<<1|z>>>31),R=D.low^(z<<1|k>>>31),H=0;H<5;H++){var _=m[w+5*H];_.high^=C,_.low^=R}for(var G=1;G<25;G++){var C,R,_=m[G],K=_.high,j=_.low,E=d[G];E<32?(C=K<<E|j>>>32-E,R=j<<E|K>>>32-E):(C=j<<E-32|K>>>64-E,R=K<<E-32|j>>>64-E);var S=f[o[G]];S.high=C,S.low=R}var T=f[0],P=m[0];T.high=P.high,T.low=P.low;for(var w=0;w<5;w++)for(var H=0;H<5;H++){var G=w+5*H,_=m[G],ee=f[G],re=f[(w+1)%5+5*H],pe=f[(w+2)%5+5*H];_.high=ee.high^~re.high&pe.high,_.low=ee.low^~re.low&pe.low}var _=m[0],$=x[v];_.high^=$.high,_.low^=$.low}},_doFinalize:function(){var y=this._data,g=y.words,m=this._nDataBytes*8,l=y.sigBytes*8,h=this.blockSize*32;g[l>>>5]|=1<<24-l%32,g[(e.ceil((l+1)/h)*h>>>5)-1]|=128,y.sigBytes=g.length*4,this._process();for(var B=this._state,b=this.cfg.outputLength/8,_=b/8,v=[],w=0;w<_;w++){var C=B[w],R=C.high,H=C.low;R=(R<<8|R>>>24)&16711935|(R<<24|R>>>8)&4278255360,H=(H<<8|H>>>24)&16711935|(H<<24|H>>>8)&4278255360,v.push(H),v.push(R)}return new s.init(v,b)},clone:function(){for(var y=a.clone.call(this),g=y._state=this._state.slice(0),m=0;m<25;m++)g[m]=g[m].clone();return y}});r.SHA3=a._createHelper(p),r.HmacSHA3=a._createHmacHelper(p)})(Math),t.SHA3})});var ea=N((Bt,Qn)=>{(function(t,e){typeof Bt=="object"?Qn.exports=Bt=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(Bt,function(t){return(function(e){var r=t,n=r.lib,s=n.WordArray,a=n.Hasher,c=r.algo,i=s.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]),u=s.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]),d=s.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]),o=s.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]),x=s.create([0,1518500249,1859775393,2400959708,2840853838]),f=s.create([1352829926,1548603684,1836072691,2053994217,0]),p=c.RIPEMD160=a.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(b,_){for(var v=0;v<16;v++){var w=_+v,C=b[w];b[w]=(C<<8|C>>>24)&16711935|(C<<24|C>>>8)&4278255360}var R=this._hash.words,H=x.words,A=f.words,D=i.words,U=u.words,k=d.words,z=o.words,G,K,j,E,S,T,P,ee,re,pe;T=G=R[0],P=K=R[1],ee=j=R[2],re=E=R[3],pe=S=R[4];for(var $,v=0;v<80;v+=1)$=G+b[_+D[v]]|0,v<16?$+=y(K,j,E)+H[0]:v<32?$+=g(K,j,E)+H[1]:v<48?$+=m(K,j,E)+H[2]:v<64?$+=l(K,j,E)+H[3]:$+=h(K,j,E)+H[4],$=$|0,$=B($,k[v]),$=$+S|0,G=S,S=E,E=B(j,10),j=K,K=$,$=T+b[_+U[v]]|0,v<16?$+=h(P,ee,re)+A[0]:v<32?$+=l(P,ee,re)+A[1]:v<48?$+=m(P,ee,re)+A[2]:v<64?$+=g(P,ee,re)+A[3]:$+=y(P,ee,re)+A[4],$=$|0,$=B($,z[v]),$=$+pe|0,T=pe,pe=re,re=B(ee,10),ee=P,P=$;$=R[1]+j+re|0,R[1]=R[2]+E+pe|0,R[2]=R[3]+S+T|0,R[3]=R[4]+G+P|0,R[4]=R[0]+K+ee|0,R[0]=$},_doFinalize:function(){var b=this._data,_=b.words,v=this._nDataBytes*8,w=b.sigBytes*8;_[w>>>5]|=128<<24-w%32,_[(w+64>>>9<<4)+14]=(v<<8|v>>>24)&16711935|(v<<24|v>>>8)&4278255360,b.sigBytes=(_.length+1)*4,this._process();for(var C=this._hash,R=C.words,H=0;H<5;H++){var A=R[H];R[H]=(A<<8|A>>>24)&16711935|(A<<24|A>>>8)&4278255360}return C},clone:function(){var b=a.clone.call(this);return b._hash=this._hash.clone(),b}});function y(b,_,v){return b^_^v}function g(b,_,v){return b&_|~b&v}function m(b,_,v){return(b|~_)^v}function l(b,_,v){return b&v|_&~v}function h(b,_,v){return b^(_|~v)}function B(b,_){return b<<_|b>>>32-_}r.RIPEMD160=a._createHelper(p),r.HmacRIPEMD160=a._createHmacHelper(p)})(Math),t.RIPEMD160})});var z0=N((_t,ta)=>{(function(t,e){typeof _t=="object"?ta.exports=_t=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(_t,function(t){(function(){var e=t,r=e.lib,n=r.Base,s=e.enc,a=s.Utf8,c=e.algo,i=c.HMAC=n.extend({init:function(u,d){u=this._hasher=new u.init,typeof d=="string"&&(d=a.parse(d));var o=u.blockSize,x=o*4;d.sigBytes>x&&(d=u.finalize(d)),d.clamp();for(var f=this._oKey=d.clone(),p=this._iKey=d.clone(),y=f.words,g=p.words,m=0;m<o;m++)y[m]^=1549556828,g[m]^=909522486;f.sigBytes=p.sigBytes=x,this.reset()},reset:function(){var u=this._hasher;u.reset(),u.update(this._iKey)},update:function(u){return this._hasher.update(u),this},finalize:function(u){var d=this._hasher,o=d.finalize(u);d.reset();var x=d.finalize(this._oKey.clone().concat(o));return x}})})()})});var na=N((Ct,ra)=>{(function(t,e,r){typeof Ct=="object"?ra.exports=Ct=e(X(),g0(),z0()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(Ct,function(t){return(function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,a=e.algo,c=a.SHA256,i=a.HMAC,u=a.PBKDF2=n.extend({cfg:n.extend({keySize:128/32,hasher:c,iterations:25e4}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,o){for(var x=this.cfg,f=i.create(x.hasher,d),p=s.create(),y=s.create([1]),g=p.words,m=y.words,l=x.keySize,h=x.iterations;g.length<l;){var B=f.update(o).finalize(y);f.reset();for(var b=B.words,_=b.length,v=B,w=1;w<h;w++){v=f.finalize(v),f.reset();for(var C=v.words,R=0;R<_;R++)b[R]^=C[R]}p.concat(B),m[0]++}return p.sigBytes=l*4,p}});e.PBKDF2=function(d,o,x){return u.create(x).compute(d,o)}})(),t.PBKDF2})});var Ve=N((At,aa)=>{(function(t,e,r){typeof At=="object"?aa.exports=At=e(X(),Rr(),z0()):typeof define=="function"&&define.amd?define(["./core","./sha1","./hmac"],e):e(t.CryptoJS)})(At,function(t){return(function(){var e=t,r=e.lib,n=r.Base,s=r.WordArray,a=e.algo,c=a.MD5,i=a.EvpKDF=n.extend({cfg:n.extend({keySize:128/32,hasher:c,iterations:1}),init:function(u){this.cfg=this.cfg.extend(u)},compute:function(u,d){for(var o,x=this.cfg,f=x.hasher.create(),p=s.create(),y=p.words,g=x.keySize,m=x.iterations;y.length<g;){o&&f.update(o),o=f.update(u).finalize(d),f.reset();for(var l=1;l<m;l++)o=f.finalize(o),f.reset();p.concat(o)}return p.sigBytes=g*4,p}});e.EvpKDF=function(u,d,o){return i.create(o).compute(u,d)}})(),t.EvpKDF})});var ve=N((Et,sa)=>{(function(t,e,r){typeof Et=="object"?sa.exports=Et=e(X(),Ve()):typeof define=="function"&&define.amd?define(["./core","./evpkdf"],e):e(t.CryptoJS)})(Et,function(t){t.lib.Cipher||(function(e){var r=t,n=r.lib,s=n.Base,a=n.WordArray,c=n.BufferedBlockAlgorithm,i=r.enc,u=i.Utf8,d=i.Base64,o=r.algo,x=o.EvpKDF,f=n.Cipher=c.extend({cfg:s.extend(),createEncryptor:function(A,D){return this.create(this._ENC_XFORM_MODE,A,D)},createDecryptor:function(A,D){return this.create(this._DEC_XFORM_MODE,A,D)},init:function(A,D,U){this.cfg=this.cfg.extend(U),this._xformMode=A,this._key=D,this.reset()},reset:function(){c.reset.call(this),this._doReset()},process:function(A){return this._append(A),this._process()},finalize:function(A){A&&this._append(A);var D=this._doFinalize();return D},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:(function(){function A(D){return typeof D=="string"?H:w}return function(D){return{encrypt:function(U,k,z){return A(k).encrypt(D,U,k,z)},decrypt:function(U,k,z){return A(k).decrypt(D,U,k,z)}}}})()}),p=n.StreamCipher=f.extend({_doFinalize:function(){var A=this._process(!0);return A},blockSize:1}),y=r.mode={},g=n.BlockCipherMode=s.extend({createEncryptor:function(A,D){return this.Encryptor.create(A,D)},createDecryptor:function(A,D){return this.Decryptor.create(A,D)},init:function(A,D){this._cipher=A,this._iv=D}}),m=y.CBC=(function(){var A=g.extend();A.Encryptor=A.extend({processBlock:function(U,k){var z=this._cipher,G=z.blockSize;D.call(this,U,k,G),z.encryptBlock(U,k),this._prevBlock=U.slice(k,k+G)}}),A.Decryptor=A.extend({processBlock:function(U,k){var z=this._cipher,G=z.blockSize,K=U.slice(k,k+G);z.decryptBlock(U,k),D.call(this,U,k,G),this._prevBlock=K}});function D(U,k,z){var G,K=this._iv;K?(G=K,this._iv=e):G=this._prevBlock;for(var j=0;j<z;j++)U[k+j]^=G[j]}return A})(),l=r.pad={},h=l.Pkcs7={pad:function(A,D){for(var U=D*4,k=U-A.sigBytes%U,z=k<<24|k<<16|k<<8|k,G=[],K=0;K<k;K+=4)G.push(z);var j=a.create(G,k);A.concat(j)},unpad:function(A){var D=A.words[A.sigBytes-1>>>2]&255;A.sigBytes-=D}},B=n.BlockCipher=f.extend({cfg:f.cfg.extend({mode:m,padding:h}),reset:function(){var A;f.reset.call(this);var D=this.cfg,U=D.iv,k=D.mode;this._xformMode==this._ENC_XFORM_MODE?A=k.createEncryptor:(A=k.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==A?this._mode.init(this,U&&U.words):(this._mode=A.call(k,this,U&&U.words),this._mode.__creator=A)},_doProcessBlock:function(A,D){this._mode.processBlock(A,D)},_doFinalize:function(){var A,D=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(D.pad(this._data,this.blockSize),A=this._process(!0)):(A=this._process(!0),D.unpad(A)),A},blockSize:128/32}),b=n.CipherParams=s.extend({init:function(A){this.mixIn(A)},toString:function(A){return(A||this.formatter).stringify(this)}}),_=r.format={},v=_.OpenSSL={stringify:function(A){var D,U=A.ciphertext,k=A.salt;return k?D=a.create([1398893684,1701076831]).concat(k).concat(U):D=U,D.toString(d)},parse:function(A){var D,U=d.parse(A),k=U.words;return k[0]==1398893684&&k[1]==1701076831&&(D=a.create(k.slice(2,4)),k.splice(0,4),U.sigBytes-=16),b.create({ciphertext:U,salt:D})}},w=n.SerializableCipher=s.extend({cfg:s.extend({format:v}),encrypt:function(A,D,U,k){k=this.cfg.extend(k);var z=A.createEncryptor(U,k),G=z.finalize(D),K=z.cfg;return b.create({ciphertext:G,key:U,iv:K.iv,algorithm:A,mode:K.mode,padding:K.padding,blockSize:A.blockSize,formatter:k.format})},decrypt:function(A,D,U,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var z=A.createDecryptor(U,k).finalize(D.ciphertext);return z},_parse:function(A,D){return typeof A=="string"?D.parse(A,this):A}}),C=r.kdf={},R=C.OpenSSL={execute:function(A,D,U,k,z){if(k||(k=a.random(64/8)),z)var G=x.create({keySize:D+U,hasher:z}).compute(A,k);else var G=x.create({keySize:D+U}).compute(A,k);var K=a.create(G.words.slice(D),U*4);return G.sigBytes=D*4,b.create({key:G,iv:K,salt:k})}},H=n.PasswordBasedCipher=w.extend({cfg:w.cfg.extend({kdf:R}),encrypt:function(A,D,U,k){k=this.cfg.extend(k);var z=k.kdf.execute(U,A.keySize,A.ivSize,k.salt,k.hasher);k.iv=z.iv;var G=w.encrypt.call(this,A,D,z.key,k);return G.mixIn(z),G},decrypt:function(A,D,U,k){k=this.cfg.extend(k),D=this._parse(D,k.format);var z=k.kdf.execute(U,A.keySize,A.ivSize,D.salt,k.hasher);k.iv=z.iv;var G=w.decrypt.call(this,A,D,z.key,k);return G}})})()})});var oa=N((Dt,ia)=>{(function(t,e,r){typeof Dt=="object"?ia.exports=Dt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Dt,function(t){return t.mode.CFB=(function(){var e=t.lib.BlockCipherMode.extend();e.Encryptor=e.extend({processBlock:function(n,s){var a=this._cipher,c=a.blockSize;r.call(this,n,s,c,a),this._prevBlock=n.slice(s,s+c)}}),e.Decryptor=e.extend({processBlock:function(n,s){var a=this._cipher,c=a.blockSize,i=n.slice(s,s+c);r.call(this,n,s,c,a),this._prevBlock=i}});function r(n,s,a,c){var i,u=this._iv;u?(i=u.slice(0),this._iv=void 0):i=this._prevBlock,c.encryptBlock(i,0);for(var d=0;d<a;d++)n[s+d]^=i[d]}return e})(),t.mode.CFB})});var ua=N((Ft,ca)=>{(function(t,e,r){typeof Ft=="object"?ca.exports=Ft=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ft,function(t){return t.mode.CTR=(function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var a=this._cipher,c=a.blockSize,i=this._iv,u=this._counter;i&&(u=this._counter=i.slice(0),this._iv=void 0);var d=u.slice(0);a.encryptBlock(d,0),u[c-1]=u[c-1]+1|0;for(var o=0;o<c;o++)n[s+o]^=d[o]}});return e.Decryptor=r,e})(),t.mode.CTR})});var xa=N((wt,fa)=>{(function(t,e,r){typeof wt=="object"?fa.exports=wt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(wt,function(t){return t.mode.CTRGladman=(function(){var e=t.lib.BlockCipherMode.extend();function r(a){if((a>>24&255)===255){var c=a>>16&255,i=a>>8&255,u=a&255;c===255?(c=0,i===255?(i=0,u===255?u=0:++u):++i):++c,a=0,a+=c<<16,a+=i<<8,a+=u}else a+=1<<24;return a}function n(a){return(a[0]=r(a[0]))===0&&(a[1]=r(a[1])),a}var s=e.Encryptor=e.extend({processBlock:function(a,c){var i=this._cipher,u=i.blockSize,d=this._iv,o=this._counter;d&&(o=this._counter=d.slice(0),this._iv=void 0),n(o);var x=o.slice(0);i.encryptBlock(x,0);for(var f=0;f<u;f++)a[c+f]^=x[f]}});return e.Decryptor=s,e})(),t.mode.CTRGladman})});var la=N((Pt,da)=>{(function(t,e,r){typeof Pt=="object"?da.exports=Pt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Pt,function(t){return t.mode.OFB=(function(){var e=t.lib.BlockCipherMode.extend(),r=e.Encryptor=e.extend({processBlock:function(n,s){var a=this._cipher,c=a.blockSize,i=this._iv,u=this._keystream;i&&(u=this._keystream=i.slice(0),this._iv=void 0),a.encryptBlock(u,0);for(var d=0;d<c;d++)n[s+d]^=u[d]}});return e.Decryptor=r,e})(),t.mode.OFB})});var pa=N((St,ha)=>{(function(t,e,r){typeof St=="object"?ha.exports=St=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(St,function(t){return t.mode.ECB=(function(){var e=t.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(r,n){this._cipher.encryptBlock(r,n)}}),e.Decryptor=e.extend({processBlock:function(r,n){this._cipher.decryptBlock(r,n)}}),e})(),t.mode.ECB})});var va=N((kt,ya)=>{(function(t,e,r){typeof kt=="object"?ya.exports=kt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(kt,function(t){return t.pad.AnsiX923={pad:function(e,r){var n=e.sigBytes,s=r*4,a=s-n%s,c=n+a-1;e.clamp(),e.words[c>>>2]|=a<<24-c%4*8,e.sigBytes+=a},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Ansix923})});var ma=N((Tt,ga)=>{(function(t,e,r){typeof Tt=="object"?ga.exports=Tt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Tt,function(t){return t.pad.Iso10126={pad:function(e,r){var n=r*4,s=n-e.sigBytes%n;e.concat(t.lib.WordArray.random(s-1)).concat(t.lib.WordArray.create([s<<24],1))},unpad:function(e){var r=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=r}},t.pad.Iso10126})});var Ba=N((Rt,ba)=>{(function(t,e,r){typeof Rt=="object"?ba.exports=Rt=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Rt,function(t){return t.pad.Iso97971={pad:function(e,r){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,r)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971})});var Ca=N((Ht,_a)=>{(function(t,e,r){typeof Ht=="object"?_a.exports=Ht=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ht,function(t){return t.pad.ZeroPadding={pad:function(e,r){var n=r*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var r=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(r[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},t.pad.ZeroPadding})});var Ea=N((Ot,Aa)=>{(function(t,e,r){typeof Ot=="object"?Aa.exports=Ot=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ot,function(t){return t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding})});var Fa=N((Ut,Da)=>{(function(t,e,r){typeof Ut=="object"?Da.exports=Ut=e(X(),ve()):typeof define=="function"&&define.amd?define(["./core","./cipher-core"],e):e(t.CryptoJS)})(Ut,function(t){return(function(e){var r=t,n=r.lib,s=n.CipherParams,a=r.enc,c=a.Hex,i=r.format,u=i.Hex={stringify:function(d){return d.ciphertext.toString(c)},parse:function(d){var o=c.parse(d);return s.create({ciphertext:o})}}})(),t.format.Hex})});var Pa=N((qt,wa)=>{(function(t,e,r){typeof qt=="object"?wa.exports=qt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(qt,function(t){return(function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo,a=[],c=[],i=[],u=[],d=[],o=[],x=[],f=[],p=[],y=[];(function(){for(var l=[],h=0;h<256;h++)h<128?l[h]=h<<1:l[h]=h<<1^283;for(var B=0,b=0,h=0;h<256;h++){var _=b^b<<1^b<<2^b<<3^b<<4;_=_>>>8^_&255^99,a[B]=_,c[_]=B;var v=l[B],w=l[v],C=l[w],R=l[_]*257^_*16843008;i[B]=R<<24|R>>>8,u[B]=R<<16|R>>>16,d[B]=R<<8|R>>>24,o[B]=R;var R=C*16843009^w*65537^v*257^B*16843008;x[_]=R<<24|R>>>8,f[_]=R<<16|R>>>16,p[_]=R<<8|R>>>24,y[_]=R,B?(B=v^l[l[l[C^v]]],b^=l[l[b]]):B=b=1}})();var g=[0,1,2,4,8,16,32,64,128,27,54],m=s.AES=n.extend({_doReset:function(){var l;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var h=this._keyPriorReset=this._key,B=h.words,b=h.sigBytes/4,_=this._nRounds=b+6,v=(_+1)*4,w=this._keySchedule=[],C=0;C<v;C++)C<b?w[C]=B[C]:(l=w[C-1],C%b?b>6&&C%b==4&&(l=a[l>>>24]<<24|a[l>>>16&255]<<16|a[l>>>8&255]<<8|a[l&255]):(l=l<<8|l>>>24,l=a[l>>>24]<<24|a[l>>>16&255]<<16|a[l>>>8&255]<<8|a[l&255],l^=g[C/b|0]<<24),w[C]=w[C-b]^l);for(var R=this._invKeySchedule=[],H=0;H<v;H++){var C=v-H;if(H%4)var l=w[C];else var l=w[C-4];H<4||C<=4?R[H]=l:R[H]=x[a[l>>>24]]^f[a[l>>>16&255]]^p[a[l>>>8&255]]^y[a[l&255]]}}},encryptBlock:function(l,h){this._doCryptBlock(l,h,this._keySchedule,i,u,d,o,a)},decryptBlock:function(l,h){var B=l[h+1];l[h+1]=l[h+3],l[h+3]=B,this._doCryptBlock(l,h,this._invKeySchedule,x,f,p,y,c);var B=l[h+1];l[h+1]=l[h+3],l[h+3]=B},_doCryptBlock:function(l,h,B,b,_,v,w,C){for(var R=this._nRounds,H=l[h]^B[0],A=l[h+1]^B[1],D=l[h+2]^B[2],U=l[h+3]^B[3],k=4,z=1;z<R;z++){var G=b[H>>>24]^_[A>>>16&255]^v[D>>>8&255]^w[U&255]^B[k++],K=b[A>>>24]^_[D>>>16&255]^v[U>>>8&255]^w[H&255]^B[k++],j=b[D>>>24]^_[U>>>16&255]^v[H>>>8&255]^w[A&255]^B[k++],E=b[U>>>24]^_[H>>>16&255]^v[A>>>8&255]^w[D&255]^B[k++];H=G,A=K,D=j,U=E}var G=(C[H>>>24]<<24|C[A>>>16&255]<<16|C[D>>>8&255]<<8|C[U&255])^B[k++],K=(C[A>>>24]<<24|C[D>>>16&255]<<16|C[U>>>8&255]<<8|C[H&255])^B[k++],j=(C[D>>>24]<<24|C[U>>>16&255]<<16|C[H>>>8&255]<<8|C[A&255])^B[k++],E=(C[U>>>24]<<24|C[H>>>16&255]<<16|C[A>>>8&255]<<8|C[D&255])^B[k++];l[h]=G,l[h+1]=K,l[h+2]=j,l[h+3]=E},keySize:256/32});e.AES=n._createHelper(m)})(),t.AES})});var ka=N((It,Sa)=>{(function(t,e,r){typeof It=="object"?Sa.exports=It=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(It,function(t){return(function(){var e=t,r=e.lib,n=r.WordArray,s=r.BlockCipher,a=e.algo,c=[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],i=[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],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{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}],o=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],x=a.DES=s.extend({_doReset:function(){for(var g=this._key,m=g.words,l=[],h=0;h<56;h++){var B=c[h]-1;l[h]=m[B>>>5]>>>31-B%32&1}for(var b=this._subKeys=[],_=0;_<16;_++){for(var v=b[_]=[],w=u[_],h=0;h<24;h++)v[h/6|0]|=l[(i[h]-1+w)%28]<<31-h%6,v[4+(h/6|0)]|=l[28+(i[h+24]-1+w)%28]<<31-h%6;v[0]=v[0]<<1|v[0]>>>31;for(var h=1;h<7;h++)v[h]=v[h]>>>(h-1)*4+3;v[7]=v[7]<<5|v[7]>>>27}for(var C=this._invSubKeys=[],h=0;h<16;h++)C[h]=b[15-h]},encryptBlock:function(g,m){this._doCryptBlock(g,m,this._subKeys)},decryptBlock:function(g,m){this._doCryptBlock(g,m,this._invSubKeys)},_doCryptBlock:function(g,m,l){this._lBlock=g[m],this._rBlock=g[m+1],f.call(this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var h=0;h<16;h++){for(var B=l[h],b=this._lBlock,_=this._rBlock,v=0,w=0;w<8;w++)v|=d[w][((_^B[w])&o[w])>>>0];this._lBlock=_,this._rBlock=b^v}var C=this._lBlock;this._lBlock=this._rBlock,this._rBlock=C,f.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),g[m]=this._lBlock,g[m+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(g,m){var l=(this._lBlock>>>g^this._rBlock)&m;this._rBlock^=l,this._lBlock^=l<<g}function p(g,m){var l=(this._rBlock>>>g^this._lBlock)&m;this._lBlock^=l,this._rBlock^=l<<g}e.DES=s._createHelper(x);var y=a.TripleDES=s.extend({_doReset:function(){var g=this._key,m=g.words;if(m.length!==2&&m.length!==4&&m.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var l=m.slice(0,2),h=m.length<4?m.slice(0,2):m.slice(2,4),B=m.length<6?m.slice(0,2):m.slice(4,6);this._des1=x.createEncryptor(n.create(l)),this._des2=x.createEncryptor(n.create(h)),this._des3=x.createEncryptor(n.create(B))},encryptBlock:function(g,m){this._des1.encryptBlock(g,m),this._des2.decryptBlock(g,m),this._des3.encryptBlock(g,m)},decryptBlock:function(g,m){this._des3.decryptBlock(g,m),this._des2.encryptBlock(g,m),this._des1.decryptBlock(g,m)},keySize:192/32,ivSize:64/32,blockSize:64/32});e.TripleDES=s._createHelper(y)})(),t.TripleDES})});var Ra=N((Mt,Ta)=>{(function(t,e,r){typeof Mt=="object"?Ta.exports=Mt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Mt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,a=s.RC4=n.extend({_doReset:function(){for(var u=this._key,d=u.words,o=u.sigBytes,x=this._S=[],f=0;f<256;f++)x[f]=f;for(var f=0,p=0;f<256;f++){var y=f%o,g=d[y>>>2]>>>24-y%4*8&255;p=(p+x[f]+g)%256;var m=x[f];x[f]=x[p],x[p]=m}this._i=this._j=0},_doProcessBlock:function(u,d){u[d]^=c.call(this)},keySize:256/32,ivSize:0});function c(){for(var u=this._S,d=this._i,o=this._j,x=0,f=0;f<4;f++){d=(d+1)%256,o=(o+u[d])%256;var p=u[d];u[d]=u[o],u[o]=p,x|=u[(u[d]+u[o])%256]<<24-f*8}return this._i=d,this._j=o,x}e.RC4=n._createHelper(a);var i=s.RC4Drop=a.extend({cfg:a.cfg.extend({drop:192}),_doReset:function(){a._doReset.call(this);for(var u=this.cfg.drop;u>0;u--)c.call(this)}});e.RC4Drop=n._createHelper(i)})(),t.RC4})});var Oa=N((Nt,Ha)=>{(function(t,e,r){typeof Nt=="object"?Ha.exports=Nt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Nt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,a=[],c=[],i=[],u=s.Rabbit=n.extend({_doReset:function(){for(var o=this._key.words,x=this.cfg.iv,f=0;f<4;f++)o[f]=(o[f]<<8|o[f]>>>24)&16711935|(o[f]<<24|o[f]>>>8)&4278255360;var p=this._X=[o[0],o[3]<<16|o[2]>>>16,o[1],o[0]<<16|o[3]>>>16,o[2],o[1]<<16|o[0]>>>16,o[3],o[2]<<16|o[1]>>>16],y=this._C=[o[2]<<16|o[2]>>>16,o[0]&4294901760|o[1]&65535,o[3]<<16|o[3]>>>16,o[1]&4294901760|o[2]&65535,o[0]<<16|o[0]>>>16,o[2]&4294901760|o[3]&65535,o[1]<<16|o[1]>>>16,o[3]&4294901760|o[0]&65535];this._b=0;for(var f=0;f<4;f++)d.call(this);for(var f=0;f<8;f++)y[f]^=p[f+4&7];if(x){var g=x.words,m=g[0],l=g[1],h=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,B=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,b=h>>>16|B&4294901760,_=B<<16|h&65535;y[0]^=h,y[1]^=b,y[2]^=B,y[3]^=_,y[4]^=h,y[5]^=b,y[6]^=B,y[7]^=_;for(var f=0;f<4;f++)d.call(this)}},_doProcessBlock:function(o,x){var f=this._X;d.call(this),a[0]=f[0]^f[5]>>>16^f[3]<<16,a[1]=f[2]^f[7]>>>16^f[5]<<16,a[2]=f[4]^f[1]>>>16^f[7]<<16,a[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)a[p]=(a[p]<<8|a[p]>>>24)&16711935|(a[p]<<24|a[p]>>>8)&4278255360,o[x+p]^=a[p]},blockSize:128/32,ivSize:64/32});function d(){for(var o=this._X,x=this._C,f=0;f<8;f++)c[f]=x[f];x[0]=x[0]+1295307597+this._b|0,x[1]=x[1]+3545052371+(x[0]>>>0<c[0]>>>0?1:0)|0,x[2]=x[2]+886263092+(x[1]>>>0<c[1]>>>0?1:0)|0,x[3]=x[3]+1295307597+(x[2]>>>0<c[2]>>>0?1:0)|0,x[4]=x[4]+3545052371+(x[3]>>>0<c[3]>>>0?1:0)|0,x[5]=x[5]+886263092+(x[4]>>>0<c[4]>>>0?1:0)|0,x[6]=x[6]+1295307597+(x[5]>>>0<c[5]>>>0?1:0)|0,x[7]=x[7]+3545052371+(x[6]>>>0<c[6]>>>0?1:0)|0,this._b=x[7]>>>0<c[7]>>>0?1:0;for(var f=0;f<8;f++){var p=o[f]+x[f],y=p&65535,g=p>>>16,m=((y*y>>>17)+y*g>>>15)+g*g,l=((p&4294901760)*p|0)+((p&65535)*p|0);i[f]=m^l}o[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,o[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,o[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,o[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,o[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,o[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,o[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,o[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}e.Rabbit=n._createHelper(u)})(),t.Rabbit})});var qa=N((Gt,Ua)=>{(function(t,e,r){typeof Gt=="object"?Ua.exports=Gt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(Gt,function(t){return(function(){var e=t,r=e.lib,n=r.StreamCipher,s=e.algo,a=[],c=[],i=[],u=s.RabbitLegacy=n.extend({_doReset:function(){var o=this._key.words,x=this.cfg.iv,f=this._X=[o[0],o[3]<<16|o[2]>>>16,o[1],o[0]<<16|o[3]>>>16,o[2],o[1]<<16|o[0]>>>16,o[3],o[2]<<16|o[1]>>>16],p=this._C=[o[2]<<16|o[2]>>>16,o[0]&4294901760|o[1]&65535,o[3]<<16|o[3]>>>16,o[1]&4294901760|o[2]&65535,o[0]<<16|o[0]>>>16,o[2]&4294901760|o[3]&65535,o[1]<<16|o[1]>>>16,o[3]&4294901760|o[0]&65535];this._b=0;for(var y=0;y<4;y++)d.call(this);for(var y=0;y<8;y++)p[y]^=f[y+4&7];if(x){var g=x.words,m=g[0],l=g[1],h=(m<<8|m>>>24)&16711935|(m<<24|m>>>8)&4278255360,B=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360,b=h>>>16|B&4294901760,_=B<<16|h&65535;p[0]^=h,p[1]^=b,p[2]^=B,p[3]^=_,p[4]^=h,p[5]^=b,p[6]^=B,p[7]^=_;for(var y=0;y<4;y++)d.call(this)}},_doProcessBlock:function(o,x){var f=this._X;d.call(this),a[0]=f[0]^f[5]>>>16^f[3]<<16,a[1]=f[2]^f[7]>>>16^f[5]<<16,a[2]=f[4]^f[1]>>>16^f[7]<<16,a[3]=f[6]^f[3]>>>16^f[1]<<16;for(var p=0;p<4;p++)a[p]=(a[p]<<8|a[p]>>>24)&16711935|(a[p]<<24|a[p]>>>8)&4278255360,o[x+p]^=a[p]},blockSize:128/32,ivSize:64/32});function d(){for(var o=this._X,x=this._C,f=0;f<8;f++)c[f]=x[f];x[0]=x[0]+1295307597+this._b|0,x[1]=x[1]+3545052371+(x[0]>>>0<c[0]>>>0?1:0)|0,x[2]=x[2]+886263092+(x[1]>>>0<c[1]>>>0?1:0)|0,x[3]=x[3]+1295307597+(x[2]>>>0<c[2]>>>0?1:0)|0,x[4]=x[4]+3545052371+(x[3]>>>0<c[3]>>>0?1:0)|0,x[5]=x[5]+886263092+(x[4]>>>0<c[4]>>>0?1:0)|0,x[6]=x[6]+1295307597+(x[5]>>>0<c[5]>>>0?1:0)|0,x[7]=x[7]+3545052371+(x[6]>>>0<c[6]>>>0?1:0)|0,this._b=x[7]>>>0<c[7]>>>0?1:0;for(var f=0;f<8;f++){var p=o[f]+x[f],y=p&65535,g=p>>>16,m=((y*y>>>17)+y*g>>>15)+g*g,l=((p&4294901760)*p|0)+((p&65535)*p|0);i[f]=m^l}o[0]=i[0]+(i[7]<<16|i[7]>>>16)+(i[6]<<16|i[6]>>>16)|0,o[1]=i[1]+(i[0]<<8|i[0]>>>24)+i[7]|0,o[2]=i[2]+(i[1]<<16|i[1]>>>16)+(i[0]<<16|i[0]>>>16)|0,o[3]=i[3]+(i[2]<<8|i[2]>>>24)+i[1]|0,o[4]=i[4]+(i[3]<<16|i[3]>>>16)+(i[2]<<16|i[2]>>>16)|0,o[5]=i[5]+(i[4]<<8|i[4]>>>24)+i[3]|0,o[6]=i[6]+(i[5]<<16|i[5]>>>16)+(i[4]<<16|i[4]>>>16)|0,o[7]=i[7]+(i[6]<<8|i[6]>>>24)+i[5]|0}e.RabbitLegacy=n._createHelper(u)})(),t.RabbitLegacy})});var Ma=N((zt,Ia)=>{(function(t,e,r){typeof zt=="object"?Ia.exports=zt=e(X(),Ye(),Je(),Ve(),ve()):typeof define=="function"&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],e):e(t.CryptoJS)})(zt,function(t){return(function(){var e=t,r=e.lib,n=r.BlockCipher,s=e.algo;let a=16,c=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],i=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var u={pbox:[],sbox:[]};function d(y,g){let m=g>>24&255,l=g>>16&255,h=g>>8&255,B=g&255,b=y.sbox[0][m]+y.sbox[1][l];return b=b^y.sbox[2][h],b=b+y.sbox[3][B],b}function o(y,g,m){let l=g,h=m,B;for(let b=0;b<a;++b)l=l^y.pbox[b],h=d(y,l)^h,B=l,l=h,h=B;return B=l,l=h,h=B,h=h^y.pbox[a],l=l^y.pbox[a+1],{left:l,right:h}}function x(y,g,m){let l=g,h=m,B;for(let b=a+1;b>1;--b)l=l^y.pbox[b],h=d(y,l)^h,B=l,l=h,h=B;return B=l,l=h,h=B,h=h^y.pbox[1],l=l^y.pbox[0],{left:l,right:h}}function f(y,g,m){for(let _=0;_<4;_++){y.sbox[_]=[];for(let v=0;v<256;v++)y.sbox[_][v]=i[_][v]}let l=0;for(let _=0;_<a+2;_++)y.pbox[_]=c[_]^g[l],l++,l>=m&&(l=0);let h=0,B=0,b=0;for(let _=0;_<a+2;_+=2)b=o(y,h,B),h=b.left,B=b.right,y.pbox[_]=h,y.pbox[_+1]=B;for(let _=0;_<4;_++)for(let v=0;v<256;v+=2)b=o(y,h,B),h=b.left,B=b.right,y.sbox[_][v]=h,y.sbox[_][v+1]=B;return!0}var p=s.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var y=this._keyPriorReset=this._key,g=y.words,m=y.sigBytes/4;f(u,g,m)}},encryptBlock:function(y,g){var m=o(u,y[g],y[g+1]);y[g]=m.left,y[g+1]=m.right},decryptBlock:function(y,g){var m=x(u,y[g],y[g+1]);y[g]=m.left,y[g+1]=m.right},blockSize:64/32,keySize:128/32,ivSize:64/32});e.Blowfish=n._createHelper(p)})(),t.Blowfish})});var Or=N((Lt,Na)=>{(function(t,e,r){typeof Lt=="object"?Na.exports=Lt=e(X(),G0(),qn(),Mn(),Ye(),zn(),Je(),Rr(),g0(),jn(),Hr(),Zn(),Jn(),ea(),z0(),na(),Ve(),ve(),oa(),ua(),xa(),la(),pa(),va(),ma(),Ba(),Ca(),Ea(),Fa(),Pa(),ka(),Ra(),Oa(),qa(),Ma()):typeof define=="function"&&define.amd?define(["./core","./x64-core","./lib-typedarrays","./enc-utf16","./enc-base64","./enc-base64url","./md5","./sha1","./sha256","./sha224","./sha512","./sha384","./sha3","./ripemd160","./hmac","./pbkdf2","./evpkdf","./cipher-core","./mode-cfb","./mode-ctr","./mode-ctr-gladman","./mode-ofb","./mode-ecb","./pad-ansix923","./pad-iso10126","./pad-iso97971","./pad-zeropadding","./pad-nopadding","./format-hex","./aes","./tripledes","./rc4","./rabbit","./rabbit-legacy","./blowfish"],e):t.CryptoJS=e(t.CryptoJS)})(Lt,function(t){return t})});var Kt=N(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.ChannelCrypto=void 0;var De=Or(),m0=ge(),Ur=class{static decryptGroupTextMessage(e,r,n){try{let s=(0,m0.hexToBytes)(n),a=(0,m0.hexToBytes)(r),c=new Uint8Array(32);c.set(s,0);let i=(0,De.HmacSHA256)(De.enc.Hex.parse(e),De.enc.Hex.parse((0,m0.bytesToHex)(c))),d=(0,m0.hexToBytes)(i.toString(De.enc.Hex)).slice(0,2);if(d[0]!==a[0]||d[1]!==a[1])return{success:!1,error:"MAC verification failed"};let o=De.enc.Hex.parse(n),x=De.enc.Hex.parse(e),f=De.AES.decrypt(De.lib.CipherParams.create({ciphertext:x}),o,{mode:De.mode.ECB,padding:De.pad.NoPadding}),p=(0,m0.hexToBytes)(f.toString(De.enc.Hex));if(!p||p.length<5)return{success:!1,error:"Decrypted content too short"};let y=p[0]|p[1]<<8|p[2]<<16|p[3]<<24,g=p[4],m=p.slice(5),h=new TextDecoder("utf-8").decode(m),B=h.indexOf("\0");B>=0&&(h=h.substring(0,B));let b=h.indexOf(": "),_,v;if(b>0&&b<50){let w=h.substring(0,b);/[:\[\]]/.test(w)?v=h:(_=w,v=h.substring(b+2))}else v=h;return{success:!0,data:{timestamp:y,flags:g,sender:_,message:v}}}catch(s){return{success:!1,error:s instanceof Error?s.message:"Decryption failed"}}}static calculateChannelHash(e){let r=(0,De.SHA256)(De.enc.Hex.parse(e));return(0,m0.hexToBytes)(r.toString(De.enc.Hex))[0].toString(16).padStart(2,"0")}};Vt.ChannelCrypto=Ur});var Ir=N(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.MeshCoreKeyStore=void 0;var ri=Kt(),qr=class{constructor(e){this.nodeKeys=new Map,this.channelHashToKeys=new Map,e?.channelSecrets&&this.addChannelSecrets(e.channelSecrets),e?.nodeKeys&&Object.entries(e.nodeKeys).forEach(([r,n])=>{this.addNodeKey(r,n)})}addNodeKey(e,r){let n=e.toUpperCase();this.nodeKeys.set(n,r)}hasChannelKey(e){let r=e.toLowerCase();return this.channelHashToKeys.has(r)}hasNodeKey(e){let r=e.toUpperCase();return this.nodeKeys.has(r)}getChannelKeys(e){let r=e.toLowerCase();return this.channelHashToKeys.get(r)||[]}getNodeKey(e){let r=e.toUpperCase();return this.nodeKeys.get(r)}addChannelSecrets(e){for(let r of e){let n=ri.ChannelCrypto.calculateChannelHash(r).toLowerCase();this.channelHashToKeys.has(n)||this.channelHashToKeys.set(n,[]),this.channelHashToKeys.get(n).push(r)}}};Wt.MeshCoreKeyStore=qr});var cs={};Cn(cs,{CURVE:()=>$a,ExtendedPoint:()=>Ne,Point:()=>Ne,etc:()=>Jr,getPublicKey:()=>xi,getPublicKeyAsync:()=>fi,sign:()=>li,signAsync:()=>di,utils:()=>yi,verify:()=>pi,verifyAsync:()=>hi});var $a,Ce,jt,Ga,za,Mr,Nr,ni,Me,L0,Se,ai,Xa,si,x0,Yt,Lr,Za,Vr,Ke,La,Kr,Qe,Ya,ii,V0,Ja,$t,f0,q,Qa,es,oi,Va,Gr,Ie,Ne,We,b0,ts,Wr,qe,ci,Ka,ui,Xt,jr,$r,rs,Xr,Zr,fi,xi,ns,as,ss,di,li,Yr,is,hi,pi,Jr,yi,Zt,vi,os,zr,gi,Wa,ja,mi,us=Ws(()=>{$a={p:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedn,n:0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3edn,h:8n,a:0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecn,d:0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3n,Gx:0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an,Gy:0x6666666666666666666666666666666666666666666666666666666666666658n},{p:Ce,n:jt,Gx:Ga,Gy:za,a:Mr,d:Nr}=$a,ni=8n,Me=32,L0=64,Se=(t="")=>{throw new Error(t)},ai=t=>typeof t=="bigint",Xa=t=>typeof t=="string",si=t=>t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array",x0=(t,e)=>!si(t)||typeof e=="number"&&e>0&&t.length!==e?Se("Uint8Array expected"):t,Yt=t=>new Uint8Array(t),Lr=t=>Uint8Array.from(t),Za=(t,e)=>t.toString(16).padStart(e,"0"),Vr=t=>Array.from(x0(t)).map(e=>Za(e,2)).join(""),Ke={_0:48,_9:57,A:65,F:70,a:97,f:102},La=t=>{if(t>=Ke._0&&t<=Ke._9)return t-Ke._0;if(t>=Ke.A&&t<=Ke.F)return t-(Ke.A-10);if(t>=Ke.a&&t<=Ke.f)return t-(Ke.a-10)},Kr=t=>{let e="hex invalid";if(!Xa(t))return Se(e);let r=t.length,n=r/2;if(r%2)return Se(e);let s=Yt(n);for(let a=0,c=0;a<n;a++,c+=2){let i=La(t.charCodeAt(c)),u=La(t.charCodeAt(c+1));if(i===void 0||u===void 0)return Se(e);s[a]=i*16+u}return s},Qe=(t,e)=>x0(Xa(t)?Kr(t):Lr(x0(t)),e),Ya=()=>globalThis?.crypto,ii=()=>Ya()?.subtle??Se("crypto.subtle must be defined"),V0=(...t)=>{let e=Yt(t.reduce((n,s)=>n+x0(s).length,0)),r=0;return t.forEach(n=>{e.set(n,r),r+=n.length}),e},Ja=(t=Me)=>Ya().getRandomValues(Yt(t)),$t=BigInt,f0=(t,e,r,n="bad number: out of range")=>ai(t)&&e<=t&&t<r?t:Se(n),q=(t,e=Ce)=>{let r=t%e;return r>=0n?r:e+r},Qa=t=>q(t,jt),es=(t,e)=>{(t===0n||e<=0n)&&Se("no inverse n="+t+" mod="+e);let r=q(t,e),n=e,s=0n,a=1n,c=1n,i=0n;for(;r!==0n;){let u=n/r,d=n%r,o=s-c*u,x=a-i*u;n=r,r=d,s=c,a=i,c=o,i=x}return n===1n?q(s,e):Se("no inverse")},oi=t=>{let e=Jr[t];return typeof e!="function"&&Se("hashes."+t+" not set"),e},Va=t=>t instanceof Ne?t:Se("Point expected"),Gr=2n**256n,Ie=class Ie{constructor(e,r,n,s){Le(this,"ex");Le(this,"ey");Le(this,"ez");Le(this,"et");let a=Gr;this.ex=f0(e,0n,a),this.ey=f0(r,0n,a),this.ez=f0(n,1n,a),this.et=f0(s,0n,a),Object.freeze(this)}static fromAffine(e){return new Ie(e.x,e.y,1n,q(e.x*e.y))}static fromBytes(e,r=!1){let n=Nr,s=Lr(x0(e,Me)),a=e[31];s[31]=a&-129;let c=Wr(s);f0(c,0n,r?Gr:Ce);let u=q(c*c),d=q(u-1n),o=q(n*u+1n),{isValid:x,value:f}=ui(d,o);x||Se("bad point: y not sqrt");let p=(f&1n)===1n,y=(a&128)!==0;return!r&&f===0n&&y&&Se("bad point: x==0, isLastByteOdd"),y!==p&&(f=q(-f)),new Ie(f,c,1n,q(f*c))}assertValidity(){let e=Mr,r=Nr,n=this;if(n.is0())throw new Error("bad point: ZERO");let{ex:s,ey:a,ez:c,et:i}=n,u=q(s*s),d=q(a*a),o=q(c*c),x=q(o*o),f=q(u*e),p=q(o*q(f+d)),y=q(x+q(r*q(u*d)));if(p!==y)throw new Error("bad point: equation left != right (1)");let g=q(s*a),m=q(c*i);if(g!==m)throw new Error("bad point: equation left != right (2)");return this}equals(e){let{ex:r,ey:n,ez:s}=this,{ex:a,ey:c,ez:i}=Va(e),u=q(r*i),d=q(a*s),o=q(n*i),x=q(c*s);return u===d&&o===x}is0(){return this.equals(b0)}negate(){return new Ie(q(-this.ex),this.ey,this.ez,q(-this.et))}double(){let{ex:e,ey:r,ez:n}=this,s=Mr,a=q(e*e),c=q(r*r),i=q(2n*q(n*n)),u=q(s*a),d=e+r,o=q(q(d*d)-a-c),x=u+c,f=x-i,p=u-c,y=q(o*f),g=q(x*p),m=q(o*p),l=q(f*x);return new Ie(y,g,l,m)}add(e){let{ex:r,ey:n,ez:s,et:a}=this,{ex:c,ey:i,ez:u,et:d}=Va(e),o=Mr,x=Nr,f=q(r*c),p=q(n*i),y=q(a*x*d),g=q(s*u),m=q((r+n)*(c+i)-f-p),l=q(g-y),h=q(g+y),B=q(p-o*f),b=q(m*l),_=q(h*B),v=q(m*B),w=q(l*h);return new Ie(b,_,w,v)}multiply(e,r=!0){if(!r&&(e===0n||this.is0()))return b0;if(f0(e,1n,jt),e===1n)return this;if(this.equals(We))return mi(e).p;let n=b0,s=We;for(let a=this;e>0n;a=a.double(),e>>=1n)e&1n?n=n.add(a):r&&(s=s.add(a));return n}toAffine(){let{ex:e,ey:r,ez:n}=this;if(this.equals(b0))return{x:0n,y:1n};let s=es(n,Ce);return q(n*s)!==1n&&Se("invalid inverse"),{x:q(e*s),y:q(r*s)}}toBytes(){let{x:e,y:r}=this.assertValidity().toAffine(),n=ts(r);return n[31]|=e&1n?128:0,n}toHex(){return Vr(this.toBytes())}clearCofactor(){return this.multiply($t(ni),!1)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){let e=this.multiply(jt/2n,!1).double();return jt%2n&&(e=e.add(this)),e.is0()}static fromHex(e,r){return Ie.fromBytes(Qe(e),r)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(){return this.toBytes()}};Le(Ie,"BASE"),Le(Ie,"ZERO");Ne=Ie,We=new Ne(Ga,za,1n,q(Ga*za)),b0=new Ne(0n,1n,1n,0n);Ne.BASE=We;Ne.ZERO=b0;ts=t=>Kr(Za(f0(t,0n,Gr),L0)).reverse(),Wr=t=>$t("0x"+Vr(Lr(x0(t)).reverse())),qe=(t,e)=>{let r=t;for(;e-- >0n;)r*=r,r%=Ce;return r},ci=t=>{let r=t*t%Ce*t%Ce,n=qe(r,2n)*r%Ce,s=qe(n,1n)*t%Ce,a=qe(s,5n)*s%Ce,c=qe(a,10n)*a%Ce,i=qe(c,20n)*c%Ce,u=qe(i,40n)*i%Ce,d=qe(u,80n)*u%Ce,o=qe(d,80n)*u%Ce,x=qe(o,10n)*a%Ce;return{pow_p_5_8:qe(x,2n)*t%Ce,b2:r}},Ka=0x2b8324804fc1df0b2b4d00993dfbd7a72f431806ad2fe478c4ee1b274a0ea0b0n,ui=(t,e)=>{let r=q(e*e*e),n=q(r*r*e),s=ci(t*n).pow_p_5_8,a=q(t*r*s),c=q(e*a*a),i=a,u=q(a*Ka),d=c===t,o=c===q(-t),x=c===q(-t*Ka);return d&&(a=i),(o||x)&&(a=u),(q(a)&1n)===1n&&(a=q(-a)),{isValid:d||o,value:a}},Xt=t=>Qa(Wr(t)),jr=(...t)=>Jr.sha512Async(...t),$r=(...t)=>oi("sha512Sync")(...t),rs=t=>{let e=t.slice(0,Me);e[0]&=248,e[31]&=127,e[31]|=64;let r=t.slice(Me,L0),n=Xt(e),s=We.multiply(n),a=s.toBytes();return{head:e,prefix:r,scalar:n,point:s,pointBytes:a}},Xr=t=>jr(Qe(t,Me)).then(rs),Zr=t=>rs($r(Qe(t,Me))),fi=t=>Xr(t).then(e=>e.pointBytes),xi=t=>Zr(t).pointBytes,ns=t=>jr(t.hashable).then(t.finish),as=t=>t.finish($r(t.hashable)),ss=(t,e,r)=>{let{pointBytes:n,scalar:s}=t,a=Xt(e),c=We.multiply(a).toBytes();return{hashable:V0(c,n,r),finish:d=>{let o=Qa(a+Xt(d)*s);return x0(V0(c,ts(o)),L0)}}},di=async(t,e)=>{let r=Qe(t),n=await Xr(e),s=await jr(n.prefix,r);return ns(ss(n,s,r))},li=(t,e)=>{let r=Qe(t),n=Zr(e),s=$r(n.prefix,r);return as(ss(n,s,r))},Yr={zip215:!0},is=(t,e,r,n=Yr)=>{t=Qe(t,L0),e=Qe(e),r=Qe(r,Me);let{zip215:s}=n,a,c,i,u,d=Uint8Array.of();try{a=Ne.fromHex(r,s),c=Ne.fromHex(t.slice(0,Me),s),i=Wr(t.slice(Me,L0)),u=We.multiply(i,!1),d=V0(c.toBytes(),a.toBytes(),e)}catch{}return{hashable:d,finish:x=>{if(u==null||!s&&a.isSmallOrder())return!1;let f=Xt(x);return c.add(a.multiply(f,!1)).add(u.negate()).clearCofactor().is0()}}},hi=async(t,e,r,n=Yr)=>ns(is(t,e,r,n)),pi=(t,e,r,n=Yr)=>as(is(t,e,r,n)),Jr={sha512Async:async(...t)=>{let e=ii(),r=V0(...t);return Yt(await e.digest("SHA-512",r.buffer))},sha512Sync:void 0,bytesToHex:Vr,hexToBytes:Kr,concatBytes:V0,mod:q,invert:es,randomBytes:Ja},yi={getExtendedPublicKeyAsync:Xr,getExtendedPublicKey:Zr,randomPrivateKey:()=>Ja(Me),precompute:(t=8,e=We)=>(e.multiply(3n),e)},Zt=8,vi=256,os=Math.ceil(vi/Zt)+1,zr=2**(Zt-1),gi=()=>{let t=[],e=We,r=e;for(let n=0;n<os;n++){r=e,t.push(r);for(let s=1;s<zr;s++)r=r.add(e),t.push(r);e=r.double()}return t},ja=(t,e)=>{let r=e.negate();return t?r:e},mi=t=>{let e=Wa||(Wa=gi()),r=b0,n=We,s=2**Zt,a=s,c=$t(s-1),i=$t(Zt);for(let u=0;u<os;u++){let d=Number(t&c);t>>=i,d>zr&&(d-=a,t+=1n);let o=u*zr,x=o,f=o+Math.abs(d)-1,p=u%2!==0,y=d<0;d===0?n=n.add(ja(p,e[x])):r=r.add(ja(y,e[f]))}return{p:r,f:n}}});var fs=N(()=>{});var ds=N((xs,Jt)=>{var Qr=(()=>{var t=typeof document<"u"?document.currentScript?.src:void 0;return(async function(e={}){var r,n=e,s=typeof window=="object",a=typeof WorkerGlobalScope<"u",c=typeof process=="object"&&process.versions?.node&&process.type!="renderer",i=[],u="./this.program",d=(F,O)=>{throw O};typeof __filename<"u"?t=__filename:a&&(t=self.location.href);var o="";function x(F){return n.locateFile?n.locateFile(F,o):o+F}var f,p;if(c){var y=fs();o=__dirname+"/",p=F=>{F=B(F)?new URL(F):F;var O=y.readFileSync(F);return O},f=async(F,O=!0)=>{F=B(F)?new URL(F):F;var I=y.readFileSync(F,O?void 0:"utf8");return I},process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),i=process.argv.slice(2),d=(F,O)=>{throw process.exitCode=F,O}}else if(s||a){try{o=new URL(".",t).href}catch{}a&&(p=F=>{var O=new XMLHttpRequest;return O.open("GET",F,!1),O.responseType="arraybuffer",O.send(null),new Uint8Array(O.response)}),f=async F=>{if(B(F))return new Promise((I,Y)=>{var te=new XMLHttpRequest;te.open("GET",F,!0),te.responseType="arraybuffer",te.onload=()=>{if(te.status==200||te.status==0&&te.response){I(te.response);return}Y(te.status)},te.onerror=Y,te.send(null)});var O=await fetch(F,{credentials:"same-origin"});if(O.ok)return O.arrayBuffer();throw new Error(O.status+" : "+O.url)}}var g=console.log.bind(console),m=console.error.bind(console),l,h=!1,B=F=>F.startsWith("file://"),b,_,v,w,C,R,H,A,D,U,k,z,G,K=!1;function j(){var F=v.buffer;n.HEAP8=w=new Int8Array(F),R=new Int16Array(F),n.HEAPU8=C=new Uint8Array(F),H=new Uint16Array(F),n.HEAP32=A=new Int32Array(F),n.HEAPU32=D=new Uint32Array(F),U=new Float32Array(F),k=new Float64Array(F),z=new BigInt64Array(F),G=new BigUint64Array(F)}function E(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)ue(n.preRun.shift());he(se)}function S(){K=!0,o0.b()}function T(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)ce(n.postRun.shift());he(ye)}var P=0,ee=null;function re(F){P++,n.monitorRunDependencies?.(P)}function pe(F){if(P--,n.monitorRunDependencies?.(P),P==0&&ee){var O=ee;ee=null,O()}}function $(F){n.onAbort?.(F),F="Aborted("+F+")",m(F),h=!0,F+=". Build with -sASSERTIONS for more info.";var O=new WebAssembly.RuntimeError(F);throw _?.(O),O}var L;function V(){return x("orlp-ed25519.wasm")}function W(F){if(F==L&&l)return new Uint8Array(l);if(p)return p(F);throw"both async and sync fetching of the wasm failed"}async function ne(F){if(!l)try{var O=await f(F);return new Uint8Array(O)}catch{}return W(F)}async function ae(F,O){try{var I=await ne(F),Y=await WebAssembly.instantiate(I,O);return Y}catch(te){m(`failed to asynchronously prepare wasm: ${te}`),$(te)}}async function Z(F,O,I){if(!F&&typeof WebAssembly.instantiateStreaming=="function"&&!B(O)&&!c)try{var Y=fetch(O,{credentials:"same-origin"}),te=await WebAssembly.instantiateStreaming(Y,I);return te}catch(oe){m(`wasm streaming compile failed: ${oe}`),m("falling back to ArrayBuffer instantiation")}return ae(O,I)}function me(){return{a:at}}async function be(){function F(oe,ie){return o0=oe.exports,v=o0.a,j(),kr(o0),pe("wasm-instantiate"),o0}re("wasm-instantiate");function O(oe){return F(oe.instance)}var I=me();if(n.instantiateWasm)return new Promise((oe,ie)=>{n.instantiateWasm(I,(de,Xe)=>{oe(F(de,Xe))})});L??(L=V());var Y=await Z(l,L,I),te=O(Y);return te}class xe{constructor(O){Le(this,"name","ExitStatus");this.message=`Program terminated with exit(${O})`,this.status=O}}var he=F=>{for(;F.length>0;)F.shift()(n)},ye=[],ce=F=>ye.push(F),se=[],ue=F=>se.push(F),Be=!0,Fe=F=>U0(F),a0=()=>nt(),Ae=F=>{var O=n["_"+F];return O},we=(F,O)=>{w.set(F,O)},Oe=F=>{for(var O=0,I=0;I<F.length;++I){var Y=F.charCodeAt(I);Y<=127?O++:Y<=2047?O+=2:Y>=55296&&Y<=57343?(O+=4,++I):O+=3}return O},s0=(F,O,I,Y)=>{if(!(Y>0))return 0;for(var te=I,oe=I+Y-1,ie=0;ie<F.length;++ie){var de=F.codePointAt(ie);if(de<=127){if(I>=oe)break;O[I++]=de}else if(de<=2047){if(I+1>=oe)break;O[I++]=192|de>>6,O[I++]=128|de&63}else if(de<=65535){if(I+2>=oe)break;O[I++]=224|de>>12,O[I++]=128|de>>6&63,O[I++]=128|de&63}else{if(I+3>=oe)break;O[I++]=240|de>>18,O[I++]=128|de>>12&63,O[I++]=128|de>>6&63,O[I++]=128|de&63,ie++}}return O[I]=0,I-te},i0=(F,O,I)=>s0(F,C,O,I),Te=F=>rt(F),Ue=F=>{var O=Oe(F)+1,I=Te(O);return i0(F,I,O),I},Z0=typeof TextDecoder<"u"?new TextDecoder:void 0,Y0=(F,O=0,I=NaN)=>{for(var Y=O+I,te=O;F[te]&&!(te>=Y);)++te;if(te-O>16&&F.buffer&&Z0)return Z0.decode(F.subarray(O,te));for(var oe="";O<te;){var ie=F[O++];if(!(ie&128)){oe+=String.fromCharCode(ie);continue}var de=F[O++]&63;if((ie&224)==192){oe+=String.fromCharCode((ie&31)<<6|de);continue}var Xe=F[O++]&63;if((ie&240)==224?ie=(ie&15)<<12|de<<6|Xe:ie=(ie&7)<<18|de<<12|Xe<<6|F[O++]&63,ie<65536)oe+=String.fromCharCode(ie);else{var c0=ie-65536;oe+=String.fromCharCode(55296|c0>>10,56320|c0&1023)}}return oe},J0=(F,O)=>F?Y0(C,F,O):"",Q0=(F,O,I,Y,te)=>{var oe={string:Pe=>{var I0=0;return Pe!=null&&Pe!==0&&(I0=Ue(Pe)),I0},array:Pe=>{var I0=Te(Pe.length);return we(Pe,I0),I0}};function ie(Pe){return O==="string"?J0(Pe):O==="boolean"?!!Pe:Pe}var de=Ae(F),Xe=[],c0=0;if(Y)for(var u0=0;u0<Y.length;u0++){var _n=oe[I[u0]];_n?(c0===0&&(c0=a0()),Xe[u0]=_n(Y[u0])):Xe[u0]=Y[u0]}var Tr=de(...Xe);function Ms(Pe){return c0!==0&&Fe(c0),ie(Pe)}return Tr=Ms(Tr),Tr},wr=(F,O,I,Y)=>{var te=!I||I.every(ie=>ie==="number"||ie==="boolean"),oe=O!=="string";return oe&&te&&!Y?Ae(F):(...ie)=>Q0(F,O,I,ie,Y)};n.noExitRuntime&&(Be=n.noExitRuntime),n.print&&(g=n.print),n.printErr&&(m=n.printErr),n.wasmBinary&&(l=n.wasmBinary),n.arguments&&(i=n.arguments),n.thisProgram&&(u=n.thisProgram),n.ccall=Q0,n.cwrap=wr;var et,Pr,tt,Sr,U0,rt,nt;function kr(F){n._orlp_derive_public_key=et=F.c,n._orlp_validate_keypair=Pr=F.d,n._orlp_sign=tt=F.e,n._orlp_verify=Sr=F.f,U0=F.g,rt=F.h,nt=F.i}var at={},o0=await be();function q0(){if(P>0){ee=q0;return}if(E(),P>0){ee=q0;return}function F(){n.calledRun=!0,!h&&(S(),b?.(n),n.onRuntimeInitialized?.(),T())}n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),F()},1)):F()}function st(){if(n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()()}return st(),q0(),K?r=n:r=new Promise((F,O)=>{b=F,_=O}),r})})();typeof xs=="object"&&typeof Jt=="object"?(Jt.exports=Qr,Jt.exports.default=Qr):typeof define=="function"&&define.amd&&define([],()=>Qr)});var er=N(B0=>{"use strict";Object.defineProperty(B0,"__esModule",{value:!0});B0.derivePublicKey=Bi;B0.validateKeyPair=_i;B0.sign=Ci;B0.verify=Ai;var Re=ge(),bi=ds();async function Qt(){return await bi()}async function Bi(t){let e=await Qt(),r=(0,Re.hexToBytes)(t);if(r.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`);let n=1024,s=1088;if(e.HEAPU8.set(r,n),e.ccall("orlp_derive_public_key","number",["number","number"],[s,n])!==0)throw new Error("orlp key derivation failed: invalid private key");let c=new Uint8Array(32);return c.set(e.HEAPU8.subarray(s,s+32)),(0,Re.bytesToHex)(c)}async function _i(t,e){try{let r=await Qt(),n=(0,Re.hexToBytes)(t),s=(0,Re.hexToBytes)(e);if(n.length!==64||s.length!==32)return!1;let a=2048,c=2112;return r.HEAPU8.set(n,a),r.HEAPU8.set(s,c),r.ccall("orlp_validate_keypair","number",["number","number"],[c,a])===1}catch{return!1}}async function Ci(t,e,r){let n=await Qt(),s=(0,Re.hexToBytes)(t),a=(0,Re.hexToBytes)(e),c=(0,Re.hexToBytes)(r);if(a.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${a.length}`);if(c.length!==32)throw new Error(`Invalid public key length: expected 32 bytes, got ${c.length}`);let i=1e5,u=2e5,d=3e5,o=4e5;n.HEAPU8.set(s,i),n.HEAPU8.set(a,u),n.HEAPU8.set(c,d),n.ccall("orlp_sign","void",["number","number","number","number","number"],[o,i,s.length,d,u]);let x=new Uint8Array(64);return x.set(n.HEAPU8.subarray(o,o+64)),(0,Re.bytesToHex)(x)}async function Ai(t,e,r){try{let n=await Qt(),s=(0,Re.hexToBytes)(t),a=(0,Re.hexToBytes)(e),c=(0,Re.hexToBytes)(r);if(s.length!==64||c.length!==32)return!1;let i=5e5,u=6e5,d=7e5;return n.HEAPU8.set(s,u),n.HEAPU8.set(a,i),n.HEAPU8.set(c,d),n.ccall("orlp_verify","number",["number","number","number","number"],[u,i,a.length,d])===1}catch{return!1}}});var rn=N(Ge=>{"use strict";var Ei=Ge&&Ge.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Di=Ge&&Ge.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Fi=Ge&&Ge.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&Ei(r,e,n[s]);return Di(r,e),r}})();Object.defineProperty(Ge,"__esModule",{value:!0});Ge.Ed25519SignatureVerifier=void 0;var tn=Fi((us(),En(cs))),e0=ge(),ls=er();async function wi(t){if(typeof globalThis<"u"&&globalThis.crypto&&globalThis.crypto.subtle){let e=await globalThis.crypto.subtle.digest("SHA-512",t);return new Uint8Array(e)}if(typeof N0<"u")try{let{createHash:e}=ot();return e("sha512").update(t).digest()}catch{}throw new Error("No SHA-512 implementation available")}function Pi(t){if(typeof N0<"u")try{let{createHash:e}=ot();return e("sha512").update(t).digest()}catch{}try{let e=Or(),r=e.lib.WordArray.create(t),n=e.SHA512(r),s=new Uint8Array(64);for(let a=0;a<16;a++){let c=n.words[a]||0;s[a*4]=c>>>24&255,s[a*4+1]=c>>>16&255,s[a*4+2]=c>>>8&255,s[a*4+3]=c&255}return s}catch{throw new Error("No SHA-512 implementation available for synchronous operation")}}tn.etc.sha512Async=wi;try{tn.etc.sha512Sync=Pi}catch(t){console.debug("Could not set up synchronous SHA-512:",t)}var en=class{static async verifyAdvertisementSignature(e,r,n,s){try{let a=(0,e0.hexToBytes)(e),c=(0,e0.hexToBytes)(r),i=(0,e0.hexToBytes)(s),u=this.constructAdvertSignedMessage(e,n,i);return await tn.verify(c,u,a)}catch(a){return console.error("Ed25519 signature verification failed:",a),!1}}static constructAdvertSignedMessage(e,r,n){let s=(0,e0.hexToBytes)(e),a=new Uint8Array(4);a[0]=r&255,a[1]=r>>8&255,a[2]=r>>16&255,a[3]=r>>24&255;let c=new Uint8Array(36+n.length);return c.set(s,0),c.set(a,32),c.set(n,36),c}static getSignedMessageDescription(e,r,n){return`Public Key: ${e} + Timestamp: ${r} (${new Date(r*1e3).toISOString()}) + App Data: ${n}`}static getSignedMessageHex(e,r,n){let s=(0,e0.hexToBytes)(n),a=this.constructAdvertSignedMessage(e,r,s);return(0,e0.bytesToHex)(a)}static async derivePublicKey(e){try{let r=(0,e0.hexToBytes)(e);if(r.length!==64)throw new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`);return await(0,ls.derivePublicKey)(e)}catch(r){throw new Error(`Failed to derive public key: ${r instanceof Error?r.message:"Unknown error"}`)}}static derivePublicKeySync(e){try{let r=(0,e0.hexToBytes)(e);throw r.length!==64?new Error(`Invalid private key length: expected 64 bytes, got ${r.length}`):new Error("Synchronous key derivation not supported with WASM. Use derivePublicKey() instead.")}catch(r){throw new Error(`Failed to derive public key: ${r instanceof Error?r.message:"Unknown error"}`)}}static async validateKeyPair(e,r){try{return await(0,ls.validateKeyPair)(e,r)}catch{return!1}}};Ge.Ed25519SignatureVerifier=en});var hs=N(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.AdvertPayloadDecoder=void 0;var le=Ee(),t0=ge(),Si=v0(),ki=rn(),nn=class{static decode(e,r){try{if(e.length<101){let f={type:le.PayloadType.Advert,version:le.PayloadVersion.Version1,isValid:!1,errors:["Advertisement payload too short"],publicKey:"",timestamp:0,signature:"",appData:{flags:0,deviceRole:le.DeviceRole.ChatNode,hasLocation:!1,hasName:!1}};return r?.includeSegments&&(f.segments=[{name:"Invalid Advert Data",description:"Advert payload too short (minimum 101 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,t0.bytesToHex)(e)}]),f}let n=[],s=r?.segmentOffset||0,a=0,c=(0,t0.bytesToHex)(e.subarray(a,a+32));r?.includeSegments&&n.push({name:"Public Key",description:"Ed25519 public key",startByte:s+a,endByte:s+a+31,value:c}),a+=32;let i=this.readUint32LE(e,a);if(r?.includeSegments){let f=new Date(i*1e3);n.push({name:"Timestamp",description:`${i} (${f.toISOString().slice(0,19)}Z)`,startByte:s+a,endByte:s+a+3,value:(0,t0.bytesToHex)(e.subarray(a,a+4))})}a+=4;let u=(0,t0.bytesToHex)(e.subarray(a,a+64));r?.includeSegments&&n.push({name:"Signature",description:"Ed25519 signature",startByte:s+a,endByte:s+a+63,value:u}),a+=64;let d=e[a];if(r?.includeSegments){let f=d.toString(2).padStart(8,"0"),p=this.parseDeviceRole(d),g=` | Bits 0-3 (Role): ${(0,Si.getDeviceRoleName)(p)} | Bit 4 (Location): ${d&le.AdvertFlags.HasLocation?"Yes":"No"} | Bit 7 (Name): ${d&le.AdvertFlags.HasName?"Yes":"No"}`;n.push({name:"App Flags",description:`Binary: ${f}${g}`,startByte:s+a,endByte:s+a,value:d.toString(16).padStart(2,"0").toUpperCase()})}a+=1;let o={type:le.PayloadType.Advert,version:le.PayloadVersion.Version1,isValid:!0,publicKey:c,timestamp:i,signature:u,appData:{flags:d,deviceRole:this.parseDeviceRole(d),hasLocation:!!(d&le.AdvertFlags.HasLocation),hasName:!!(d&le.AdvertFlags.HasName)}},x=a;if(d&le.AdvertFlags.HasLocation&&e.length>=x+8){let f=this.readInt32LE(e,x)/1e6,p=this.readInt32LE(e,x+4)/1e6;o.appData.location={latitude:Math.round(f*1e6)/1e6,longitude:Math.round(p*1e6)/1e6},r?.includeSegments&&(n.push({name:"Latitude",description:`${f}\xB0 (${f})`,startByte:s+x,endByte:s+x+3,value:(0,t0.bytesToHex)(e.subarray(x,x+4))}),n.push({name:"Longitude",description:`${p}\xB0 (${p})`,startByte:s+x+4,endByte:s+x+7,value:(0,t0.bytesToHex)(e.subarray(x+4,x+8))})),x+=8}if(d&le.AdvertFlags.HasFeature1&&(x+=2),d&le.AdvertFlags.HasFeature2&&(x+=2),d&le.AdvertFlags.HasName&&e.length>x){let f=e.subarray(x),p=new TextDecoder("utf-8").decode(f).replace(/\0.*$/,"");o.appData.name=this.sanitizeControlCharacters(p)||p,r?.includeSegments&&n.push({name:"Node Name",description:`Node name: "${o.appData.name}"`,startByte:s+x,endByte:s+e.length-1,value:(0,t0.bytesToHex)(f)})}return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:le.PayloadType.Advert,version:le.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode advertisement payload"],publicKey:"",timestamp:0,signature:"",appData:{flags:0,deviceRole:le.DeviceRole.ChatNode,hasLocation:!1,hasName:!1}}}}static async decodeWithVerification(e,r){let n=this.decode(e,r);if(!n||!n.isValid)return n;try{let a=e.subarray(100),c=(0,t0.bytesToHex)(a),i=await ki.Ed25519SignatureVerifier.verifyAdvertisementSignature(n.publicKey,n.signature,n.timestamp,c);n.signatureValid=i,i||(n.signatureError="Ed25519 signature verification failed",n.isValid=!1,n.errors||(n.errors=[]),n.errors.push("Invalid Ed25519 signature"))}catch(s){n.signatureValid=!1,n.signatureError=s instanceof Error?s.message:"Signature verification error",n.isValid=!1,n.errors||(n.errors=[]),n.errors.push("Signature verification failed: "+(s instanceof Error?s.message:"Unknown error"))}return n}static parseDeviceRole(e){switch(e&15){case 1:return le.DeviceRole.ChatNode;case 2:return le.DeviceRole.Repeater;case 3:return le.DeviceRole.RoomServer;case 4:return le.DeviceRole.Sensor;default:return le.DeviceRole.ChatNode}}static readUint32LE(e,r){return e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24}static readInt32LE(e,r){let n=this.readUint32LE(e,r);return n>2147483647?n-4294967296:n}static sanitizeControlCharacters(e){return e&&e.trim().replace(/[\x00-\x1F\x7F]/g,"")||null}};tr.AdvertPayloadDecoder=nn});var ps=N(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.TracePayloadDecoder=void 0;var _0=Ee(),C0=ge(),an=class{static decode(e,r,n){try{if(e.length<9){let g={type:_0.PayloadType.Trace,version:_0.PayloadVersion.Version1,isValid:!1,errors:["Trace payload too short (need at least tag(4) + auth(4) + flags(1))"],traceTag:"00000000",authCode:0,flags:0,pathHashes:[]};return n?.includeSegments&&(g.segments=[{name:"Invalid Trace Data",description:"Trace payload too short (minimum 9 bytes required)",startByte:n.segmentOffset||0,endByte:(n.segmentOffset||0)+e.length-1,value:(0,C0.bytesToHex)(e)}]),g}let s=0,a=[],c=n?.segmentOffset||0,i=this.readUint32LE(e,s),u=(0,C0.numberToHex)(i,8);n?.includeSegments&&a.push({name:"Trace Tag",description:`Unique identifier for this trace: 0x${i.toString(16).padStart(8,"0")}`,startByte:c+s,endByte:c+s+3,value:(0,C0.bytesToHex)(e.slice(s,s+4))}),s+=4;let d=this.readUint32LE(e,s);n?.includeSegments&&a.push({name:"Auth Code",description:`Authentication/verification code: ${d}`,startByte:c+s,endByte:c+s+3,value:(0,C0.bytesToHex)(e.slice(s,s+4))}),s+=4;let o=e[s];n?.includeSegments&&a.push({name:"Flags",description:`Application-defined control flags: 0x${o.toString(16).padStart(2,"0")} (${o.toString(2).padStart(8,"0")}b)`,startByte:c+s,endByte:c+s,value:o.toString(16).padStart(2,"0").toUpperCase()}),s+=1;let x=[],f=s;for(;s<e.length;)x.push((0,C0.byteToHex)(e[s])),s++;if(n?.includeSegments&&x.length>0){let g=x.join(" ");a.push({name:"Path Hashes",description:`Node hashes in trace path: ${g}`,startByte:c+f,endByte:c+e.length-1,value:(0,C0.bytesToHex)(e.slice(f))})}let p;r&&r.length>0&&(p=r.map(g=>{let m=parseInt(g,16);return(m>127?m-256:m)/4}));let y={type:_0.PayloadType.Trace,version:_0.PayloadVersion.Version1,isValid:!0,traceTag:u,authCode:d,flags:o,pathHashes:x,snrValues:p};return n?.includeSegments&&(y.segments=a),y}catch(s){return{type:_0.PayloadType.Trace,version:_0.PayloadVersion.Version1,isValid:!1,errors:[s instanceof Error?s.message:"Failed to decode trace payload"],traceTag:"00000000",authCode:0,flags:0,pathHashes:[]}}}static readUint32LE(e,r){return e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24}};rr.TracePayloadDecoder=an});var ys=N(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.GroupTextPayloadDecoder=void 0;var A0=Ee(),Ti=Kt(),nr=ge(),sn=class{static decode(e,r){try{if(e.length<3){let o={type:A0.PayloadType.GroupText,version:A0.PayloadVersion.Version1,isValid:!1,errors:["GroupText payload too short (need at least channel_hash(1) + MAC(2))"],channelHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(o.segments=[{name:"Invalid GroupText Data",description:"GroupText payload too short (minimum 3 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,nr.bytesToHex)(e)}]),o}let n=[],s=r?.segmentOffset||0,a=0,c=(0,nr.byteToHex)(e[a]);r?.includeSegments&&n.push({name:"Channel Hash",description:"First byte of SHA256 of channel's shared key",startByte:s+a,endByte:s+a,value:c}),a+=1;let i=(0,nr.bytesToHex)(e.subarray(a,a+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data",startByte:s+a,endByte:s+a+1,value:i}),a+=2;let u=(0,nr.bytesToHex)(e.subarray(a));r?.includeSegments&&e.length>a&&n.push({name:"Ciphertext",description:"Encrypted message content (timestamp + flags + message)",startByte:s+a,endByte:s+e.length-1,value:u});let d={type:A0.PayloadType.GroupText,version:A0.PayloadVersion.Version1,isValid:!0,channelHash:c,cipherMac:i,ciphertext:u,ciphertextLength:e.length-3};if(r?.keyStore&&r.keyStore.hasChannelKey(c)){let o=r.keyStore.getChannelKeys(c);for(let x of o){let f=Ti.ChannelCrypto.decryptGroupTextMessage(u,i,x);if(f.success&&f.data){d.decrypted={timestamp:f.data.timestamp,flags:f.data.flags,sender:f.data.sender,message:f.data.message};break}}}return r?.includeSegments&&(d.segments=n),d}catch(n){return{type:A0.PayloadType.GroupText,version:A0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode GroupText payload"],channelHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};ar.GroupTextPayloadDecoder=sn});var vs=N(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.RequestPayloadDecoder=void 0;var je=Ee(),K0=ge(),on=class{static decode(e,r){try{if(e.length<4){let x={type:je.PayloadType.Request,version:je.PayloadVersion.Version1,isValid:!1,errors:["Request payload too short (minimum 4 bytes: dest hash + source hash + MAC)"],timestamp:0,requestType:je.RequestType.GetStats,requestData:"",destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:""};return r?.includeSegments&&(x.segments=[{name:"Invalid Request Data",description:"Request payload too short (minimum 4 bytes required: 1 for dest hash + 1 for source hash + 2 for MAC)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,K0.bytesToHex)(e)}]),x}let n=[],s=r?.segmentOffset||0,a=0,c=(0,K0.bytesToHex)(e.subarray(a,a+1));r?.includeSegments&&n.push({name:"Destination Hash",description:`First byte of destination node public key: 0x${c}`,startByte:s+a,endByte:s+a,value:c}),a+=1;let i=(0,K0.bytesToHex)(e.subarray(a,a+1));r?.includeSegments&&n.push({name:"Source Hash",description:`First byte of source node public key: 0x${i}`,startByte:s+a,endByte:s+a,value:i}),a+=1;let u=(0,K0.bytesToHex)(e.subarray(a,a+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data verification (2 bytes)",startByte:s+a,endByte:s+a+1,value:u}),a+=2;let d=(0,K0.bytesToHex)(e.subarray(a));r?.includeSegments&&e.length>a&&n.push({name:"Ciphertext",description:`Encrypted message data (${e.length-a} bytes). Contains encrypted plaintext with this structure:
|
|
16
16
|
\u2022 Timestamp (4 bytes) - send time as unix timestamp
|
|
17
17
|
\u2022 Request Type (1 byte) - type of request (GetStats, GetTelemetryData, etc.)
|
|
18
|
-
\u2022 Request Data (remaining bytes) - additional request-specific data`,startByte:s+a,endByte:s+e.length-1,value:d});let o={type:je.PayloadType.Request,version:je.PayloadVersion.Version1,isValid:!0,timestamp:0,requestType:je.RequestType.GetStats,requestData:"",destinationHash:c,sourceHash:i,cipherMac:u,ciphertext:d};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:je.PayloadType.Request,version:je.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode request payload"],timestamp:0,requestType:je.RequestType.GetStats,requestData:"",destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:""}}}};sr.RequestPayloadDecoder=
|
|
18
|
+
\u2022 Request Data (remaining bytes) - additional request-specific data`,startByte:s+a,endByte:s+e.length-1,value:d});let o={type:je.PayloadType.Request,version:je.PayloadVersion.Version1,isValid:!0,timestamp:0,requestType:je.RequestType.GetStats,requestData:"",destinationHash:c,sourceHash:i,cipherMac:u,ciphertext:d};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:je.PayloadType.Request,version:je.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode request payload"],timestamp:0,requestType:je.RequestType.GetStats,requestData:"",destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:""}}}};sr.RequestPayloadDecoder=on});var gs=N(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.ResponsePayloadDecoder=void 0;var E0=Ee(),W0=ge(),cn=class{static decode(e,r){try{if(e.length<4){let x={type:E0.PayloadType.Response,version:E0.PayloadVersion.Version1,isValid:!1,errors:["Response payload too short (minimum 4 bytes: dest + source + MAC)"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(x.segments=[{name:"Invalid Response Data",description:"Response payload too short (minimum 4 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,W0.bytesToHex)(e)}]),x}let n=[],s=r?.segmentOffset||0,a=0,c=(0,W0.byteToHex)(e[a]);r?.includeSegments&&n.push({name:"Destination Hash",description:"First byte of destination node public key",startByte:s+a,endByte:s+a,value:c}),a+=1;let i=(0,W0.byteToHex)(e[a]);r?.includeSegments&&n.push({name:"Source Hash",description:"First byte of source node public key",startByte:s+a,endByte:s+a,value:i}),a+=1;let u=(0,W0.bytesToHex)(e.subarray(a,a+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data in next field",startByte:s+a,endByte:s+a+1,value:u}),a+=2;let d=(0,W0.bytesToHex)(e.subarray(a));r?.includeSegments&&e.length>a&&n.push({name:"Ciphertext",description:"Encrypted response data (tag + content)",startByte:s+a,endByte:s+e.length-1,value:d});let o={type:E0.PayloadType.Response,version:E0.PayloadVersion.Version1,isValid:!0,destinationHash:c,sourceHash:i,cipherMac:u,ciphertext:d,ciphertextLength:e.length-4};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:E0.PayloadType.Response,version:E0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode response payload"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};ir.ResponsePayloadDecoder=cn});var ms=N(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.AnonRequestPayloadDecoder=void 0;var D0=Ee(),j0=ge(),un=class{static decode(e,r){try{if(e.length<35){let x={type:D0.PayloadType.AnonRequest,version:D0.PayloadVersion.Version1,isValid:!1,errors:["AnonRequest payload too short (minimum 35 bytes: dest + public key + MAC)"],destinationHash:"",senderPublicKey:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(x.segments=[{name:"Invalid AnonRequest Data",description:"AnonRequest payload too short (minimum 35 bytes required: 1 for dest hash + 32 for public key + 2 for MAC)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,j0.bytesToHex)(e)}]),x}let n=[],s=r?.segmentOffset||0,a=0,c=(0,j0.byteToHex)(e[0]);r?.includeSegments&&n.push({name:"Destination Hash",description:`First byte of destination node public key: 0x${c}`,startByte:s+a,endByte:s+a,value:c}),a+=1;let i=(0,j0.bytesToHex)(e.subarray(1,33));r?.includeSegments&&n.push({name:"Sender Public Key",description:"Ed25519 public key of the sender (32 bytes)",startByte:s+a,endByte:s+a+31,value:i}),a+=32;let u=(0,j0.bytesToHex)(e.subarray(33,35));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data verification (2 bytes)",startByte:s+a,endByte:s+a+1,value:u}),a+=2;let d=(0,j0.bytesToHex)(e.subarray(35));r?.includeSegments&&e.length>35&&n.push({name:"Ciphertext",description:`Encrypted message data (${e.length-35} bytes). Contains encrypted plaintext with this structure:
|
|
19
19
|
\u2022 Timestamp (4 bytes) - send time as unix timestamp
|
|
20
20
|
\u2022 Sync Timestamp (4 bytes) - room server only, sender's "sync messages SINCE x" timestamp
|
|
21
|
-
\u2022 Password (remaining bytes) - password for repeater/room`,startByte:s+a,endByte:s+e.length-1,value:d});let o={type:D0.PayloadType.AnonRequest,version:D0.PayloadVersion.Version1,isValid:!0,destinationHash:c,senderPublicKey:i,cipherMac:u,ciphertext:d,ciphertextLength:e.length-35};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:D0.PayloadType.AnonRequest,version:D0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode AnonRequest payload"],destinationHash:"",senderPublicKey:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};or.AnonRequestPayloadDecoder=fn});var Bs=N(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.AckPayloadDecoder=void 0;var F0=Ee(),xn=ge(),dn=class{static decode(e,r){try{if(e.length<4){let i={type:F0.PayloadType.Ack,version:F0.PayloadVersion.Version1,isValid:!1,errors:["Ack payload too short (minimum 4 bytes for checksum)"],checksum:""};return r?.includeSegments&&(i.segments=[{name:"Invalid Ack Data",description:"Ack payload too short (minimum 4 bytes required for checksum)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,xn.bytesToHex)(e)}]),i}let n=[],s=r?.segmentOffset||0,a=(0,xn.bytesToHex)(e.subarray(0,4));r?.includeSegments&&n.push({name:"Checksum",description:`CRC checksum of message timestamp, text, and sender pubkey: 0x${a}`,startByte:s,endByte:s+3,value:a}),r?.includeSegments&&e.length>4&&n.push({name:"Additional Data",description:"Extra data in Ack payload",startByte:s+4,endByte:s+e.length-1,value:(0,xn.bytesToHex)(e.subarray(4))});let c={type:F0.PayloadType.Ack,version:F0.PayloadVersion.Version1,isValid:!0,checksum:a};return r?.includeSegments&&(c.segments=n),c}catch(n){return{type:F0.PayloadType.Ack,version:F0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode Ack payload"],checksum:""}}}};cr.AckPayloadDecoder=dn});var Cs=N(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.PathPayloadDecoder=void 0;var r0=Ee(),_s=ge(),ln=class{static decode(e){try{if(e.length<2)return{type:r0.PayloadType.Path,version:r0.PayloadVersion.Version1,isValid:!1,errors:["Path payload too short (minimum 2 bytes: path length + extra type)"],pathLength:0,pathHashes:[],extraType:0,extraData:""};let r=e[0];if(e.length<1+r+1)return{type:r0.PayloadType.Path,version:r0.PayloadVersion.Version1,isValid:!1,errors:[`Path payload too short (need ${1+r+1} bytes for path length + path + extra type)`],pathLength:r,pathHashes:[],extraType:0,extraData:""};let n=[];for(let c=0;c<r;c++)n.push((0,_s.byteToHex)(e[1+c]));let s=e[1+r],a="";return e.length>1+r+1&&(a=(0,_s.bytesToHex)(e.subarray(1+r+1))),{type:r0.PayloadType.Path,version:r0.PayloadVersion.Version1,isValid:!0,pathLength:r,pathHashes:n,extraType:s,extraData:a}}catch(r){return{type:r0.PayloadType.Path,version:r0.PayloadVersion.Version1,isValid:!1,errors:[r instanceof Error?r.message:"Failed to decode Path payload"],pathLength:0,pathHashes:[],extraType:0,extraData:""}}}};ur.PathPayloadDecoder=ln});var As=N(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.TextMessagePayloadDecoder=void 0;var w0=Ee(),$0=ge(),hn=class{static decode(e,r){try{if(e.length<4){let x={type:w0.PayloadType.TextMessage,version:w0.PayloadVersion.Version1,isValid:!1,errors:["TextMessage payload too short (minimum 4 bytes: dest + source + MAC)"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(x.segments=[{name:"Invalid TextMessage Data",description:"TextMessage payload too short (minimum 4 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,$0.bytesToHex)(e)}]),x}let n=[],s=r?.segmentOffset||0,a=0,c=(0,$0.byteToHex)(e[a]);r?.includeSegments&&n.push({name:"Destination Hash",description:"First byte of destination node public key",startByte:s+a,endByte:s+a,value:c}),a+=1;let i=(0,$0.byteToHex)(e[a]);r?.includeSegments&&n.push({name:"Source Hash",description:"First byte of source node public key",startByte:s+a,endByte:s+a,value:i}),a+=1;let u=(0,$0.bytesToHex)(e.subarray(a,a+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data in next field",startByte:s+a,endByte:s+a+1,value:u}),a+=2;let d=(0,$0.bytesToHex)(e.subarray(a));r?.includeSegments&&e.length>a&&n.push({name:"Ciphertext",description:"Encrypted message data (timestamp + message text)",startByte:s+a,endByte:s+e.length-1,value:d});let o={type:w0.PayloadType.TextMessage,version:w0.PayloadVersion.Version1,isValid:!0,destinationHash:c,sourceHash:i,cipherMac:u,ciphertext:d,ciphertextLength:e.length-4};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:w0.PayloadType.TextMessage,version:w0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode TextMessage payload"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};fr.TextMessagePayloadDecoder=hn});var Es=N(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.ControlPayloadDecoder=void 0;var fe=Ee(),d0=ge(),Ri=v0(),pn=class{static decode(e,r){try{if(e.length<1)return this.createErrorPayload("Control payload too short (minimum 1 byte required)",e,r);let s=e[0]&240;switch(s){case fe.ControlSubType.NodeDiscoverReq:return this.decodeDiscoverReq(e,r);case fe.ControlSubType.NodeDiscoverResp:return this.decodeDiscoverResp(e,r);default:return this.createErrorPayload(`Unknown control sub-type: 0x${s.toString(16).padStart(2,"0")}`,e,r)}}catch(n){return this.createErrorPayload(n instanceof Error?n.message:"Failed to decode control payload",e,r)}}static decodeDiscoverReq(e,r){let n=[],s=r?.segmentOffset??0;if(e.length<6){let p={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!1,errors:["DISCOVER_REQ payload too short (minimum 6 bytes required)"],subType:fe.ControlSubType.NodeDiscoverReq,rawFlags:e[0],prefixOnly:!1,typeFilter:0,typeFilterNames:[],tag:0,since:0};return r?.includeSegments&&(p.segments=[{name:"Invalid DISCOVER_REQ Data",description:"DISCOVER_REQ payload too short (minimum 6 bytes required)",startByte:s,endByte:s+e.length-1,value:(0,d0.bytesToHex)(e)}]),p}let a=0,c=e[a],i=(c&1)!==0;r?.includeSegments&&n.push({name:"Flags",description:`Sub-type: DISCOVER_REQ (0x8) | Prefix Only: ${i}`,startByte:s+a,endByte:s+a,value:c.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let u=e[a],d=this.parseTypeFilter(u);r?.includeSegments&&n.push({name:"Type Filter",description:`Filter mask: 0b${u.toString(2).padStart(8,"0")} | Types: ${d.length>0?d.join(", "):"None"}`,startByte:s+a,endByte:s+a,value:u.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let o=this.readUint32LE(e,a);r?.includeSegments&&n.push({name:"Tag",description:`Random tag for response matching: 0x${o.toString(16).padStart(8,"0")}`,startByte:s+a,endByte:s+a+3,value:(0,d0.bytesToHex)(e.slice(a,a+4))}),a+=4;let x=0;if(e.length>=a+4&&(x=this.readUint32LE(e,a),r?.includeSegments)){let p=x>0?new Date(x*1e3).toISOString().slice(0,19)+"Z":"N/A";n.push({name:"Since",description:`Filter timestamp: ${x} (${p})`,startByte:s+a,endByte:s+a+3,value:(0,d0.bytesToHex)(e.slice(a,a+4))})}let f={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!0,subType:fe.ControlSubType.NodeDiscoverReq,rawFlags:c,prefixOnly:i,typeFilter:u,typeFilterNames:d,tag:o,since:x};return r?.includeSegments&&(f.segments=n),f}static decodeDiscoverResp(e,r){let n=[],s=r?.segmentOffset??0;if(e.length<14){let h={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!1,errors:["DISCOVER_RESP payload too short (minimum 14 bytes required)"],subType:fe.ControlSubType.NodeDiscoverResp,rawFlags:e.length>0?e[0]:0,nodeType:fe.DeviceRole.Unknown,nodeTypeName:"Unknown",snr:0,tag:0,publicKey:"",publicKeyLength:0};return r?.includeSegments&&(h.segments=[{name:"Invalid DISCOVER_RESP Data",description:"DISCOVER_RESP payload too short (minimum 14 bytes required)",startByte:s,endByte:s+e.length-1,value:(0,d0.bytesToHex)(e)}]),h}let a=0,c=e[a],i=c&15,u=(0,Ri.getDeviceRoleName)(i);r?.includeSegments&&n.push({name:"Flags",description:`Sub-type: DISCOVER_RESP (0x9) | Node Type: ${u}`,startByte:s+a,endByte:s+a,value:c.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let d=e[a],o=d>127?d-256:d,x=o/4;r?.includeSegments&&n.push({name:"SNR",description:`Inbound SNR: ${x.toFixed(2)} dB (raw: ${d}, signed: ${o})`,startByte:s+a,endByte:s+a,value:d.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let f=this.readUint32LE(e,a);r?.includeSegments&&n.push({name:"Tag",description:`Reflected tag from request: 0x${f.toString(16).padStart(8,"0")}`,startByte:s+a,endByte:s+a+3,value:(0,d0.bytesToHex)(e.slice(a,a+4))}),a+=4;let y=e.length-a,g=e.slice(a,a+y),m=(0,d0.bytesToHex)(g);if(r?.includeSegments){let h=y===32?"Full Public Key":"Public Key Prefix";n.push({name:h,description:`${h} (${y} bytes)`,startByte:s+a,endByte:s+a+y-1,value:m})}let l={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!0,subType:fe.ControlSubType.NodeDiscoverResp,rawFlags:c,nodeType:i,nodeTypeName:u,snr:x,tag:f,publicKey:m,publicKeyLength:y};return r?.includeSegments&&(l.segments=n),l}static parseTypeFilter(e){let r=[];return e&1<<fe.DeviceRole.ChatNode&&r.push("Chat"),e&1<<fe.DeviceRole.Repeater&&r.push("Repeater"),e&1<<fe.DeviceRole.RoomServer&&r.push("Room"),e&1<<fe.DeviceRole.Sensor&&r.push("Sensor"),r}static createErrorPayload(e,r,n){let s={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!1,errors:[e],subType:fe.ControlSubType.NodeDiscoverReq,rawFlags:r.length>0?r[0]:0,prefixOnly:!1,typeFilter:0,typeFilterNames:[],tag:0,since:0};return n?.includeSegments&&(s.segments=[{name:"Invalid Control Data",description:e,startByte:n.segmentOffset??0,endByte:(n.segmentOffset??0)+r.length-1,value:(0,d0.bytesToHex)(r)}]),s}static readUint32LE(e,r){return(e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24)>>>0}};xr.ControlPayloadDecoder=pn});var vn=N(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.MeshCorePacketDecoder=void 0;var J=Ee(),He=ge(),P0=v0(),Hi=Mr(),Ds=ps(),Oi=ys(),Ui=vs(),qi=gs(),Ii=ms(),Mi=bs(),Ni=Bs(),Gi=Cs(),zi=As(),Li=Es(),yn=class{static decode(e,r){return this.parseInternal(e,!1,r).packet}static async decodeWithVerification(e,r){return(await this.parseInternalAsync(e,!1,r)).packet}static analyzeStructure(e,r){return this.parseInternal(e,!0,r).structure}static async analyzeStructureWithVerification(e,r){return(await this.parseInternalAsync(e,!0,r)).structure}static parseInternal(e,r,n){let s=(0,He.hexToBytes)(e),a=[];if(s.length<2){let c={messageHash:"",routeType:J.RouteType.Flood,payloadType:J.PayloadType.RawCustom,payloadVersion:J.PayloadVersion.Version1,pathLength:0,path:null,payload:{raw:"",decoded:null},totalBytes:s.length,isValid:!1,errors:["Packet too short (minimum 2 bytes required)"]},i={segments:[],totalBytes:s.length,rawHex:e.toUpperCase(),messageHash:"",payload:{segments:[],hex:"",startByte:0,type:"Unknown"}};return{packet:c,structure:i}}try{let c=0,i=s[0],u=i&3,d=i>>2&15,o=i>>6&3;r&&a.push({name:"Header",description:"Header byte breakdown",startByte:0,endByte:0,value:`0x${i.toString(16).padStart(2,"0")}`,headerBreakdown:{fullBinary:i.toString(2).padStart(8,"0"),fields:[{bits:"0-1",field:"Route Type",value:(0,P0.getRouteTypeName)(u),binary:(i&3).toString(2).padStart(2,"0")},{bits:"2-5",field:"Payload Type",value:(0,P0.getPayloadTypeName)(d),binary:(i>>2&15).toString(2).padStart(4,"0")},{bits:"6-7",field:"Version",value:o.toString(),binary:(i>>6&3).toString(2).padStart(2,"0")}]}}),c=1;let x;if(u===J.RouteType.TransportFlood||u===J.RouteType.TransportDirect){if(s.length<c+4)throw new Error("Packet too short for transport codes");let v=s[c]|s[c+1]<<8,w=s[c+2]|s[c+3]<<8;if(x=[v,w],r){let C=s[c]|s[c+1]<<8|s[c+2]<<16|s[c+3]<<24;a.push({name:"Transport Code",description:"Used for Direct/Response routing",startByte:c,endByte:c+3,value:`0x${C.toString(16).padStart(8,"0")}`})}c+=4}if(s.length<c+1)throw new Error("Packet too short for path length");let f=s[c];if(r){let v=`Path contains ${f} bytes`;u===J.RouteType.Direct||u===J.RouteType.TransportDirect?v=`For "Direct" packets, this contains routing instructions. ${f} bytes of routing instructions (decreases as packet travels)`:(u===J.RouteType.Flood||u===J.RouteType.TransportFlood)&&(v=`${f} bytes showing route taken (increases as packet floods)`),a.push({name:"Path Length",description:v,startByte:c,endByte:c,value:`0x${f.toString(16).padStart(2,"0")}`})}if(c+=1,s.length<c+f)throw new Error("Packet too short for path data");let p=s.subarray(c,c+f),y=f>0?Array.from(p).map(He.byteToHex):null;if(r&&f>0)if(d===J.PayloadType.Trace){let v=[];for(let w=0;w<f;w++){let C=s[c+w],H=(C>127?C-256:C)/4;v.push(`${H.toFixed(2)}dB (0x${C.toString(16).padStart(2,"0")})`)}a.push({name:"Path SNR Data",description:`SNR values collected during trace: ${v.join(", ")}`,startByte:c,endByte:c+f-1,value:(0,He.bytesToHex)(s.slice(c,c+f))})}else{let v="Routing path information";u===J.RouteType.Direct||u===J.RouteType.TransportDirect?v="Routing instructions (bytes are stripped at each hop as packet travels to destination)":(u===J.RouteType.Flood||u===J.RouteType.TransportFlood)&&(v="Historical route taken (bytes are added as packet floods through network)"),a.push({name:"Path Data",description:v,startByte:c,endByte:c+f-1,value:(0,He.bytesToHex)(s.slice(c,c+f))})}c+=f;let g=s.subarray(c),m=(0,He.bytesToHex)(g);r&&s.length>c&&a.push({name:"Payload",description:`${(0,P0.getPayloadTypeName)(d)} payload data`,startByte:c,endByte:s.length-1,value:(0,He.bytesToHex)(s.slice(c))});let l=null,h=[];if(d===J.PayloadType.Advert){let v=Ds.AdvertPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Trace){let v=Oi.TracePayloadDecoder.decode(g,y,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.GroupText){let v=Ui.GroupTextPayloadDecoder.decode(g,{...n,includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Request){let v=qi.RequestPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Response){let v=Ii.ResponsePayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.AnonRequest){let v=Mi.AnonRequestPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Ack){let v=Ni.AckPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Path)l=Gi.PathPayloadDecoder.decode(g);else if(d===J.PayloadType.TextMessage){let v=zi.TextMessagePayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Control){let v=Li.ControlPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}r&&h.length===0&&s.length>c&&h.push({name:`${(0,P0.getPayloadTypeName)(d)} Payload`,description:`Raw ${(0,P0.getPayloadTypeName)(d)} payload data (${g.length} bytes)`,startByte:0,endByte:g.length-1,value:(0,He.bytesToHex)(g)});let B=this.calculateMessageHash(s,u,d,o),b={messageHash:B,routeType:u,payloadType:d,payloadVersion:o,transportCodes:x,pathLength:f,path:y,payload:{raw:m,decoded:l},totalBytes:s.length,isValid:!0},_={segments:a,totalBytes:s.length,rawHex:e.toUpperCase(),messageHash:B,payload:{segments:h,hex:m,startByte:c,type:(0,P0.getPayloadTypeName)(d)}};return{packet:b,structure:_}}catch(c){let i={messageHash:"",routeType:J.RouteType.Flood,payloadType:J.PayloadType.RawCustom,payloadVersion:J.PayloadVersion.Version1,pathLength:0,path:null,payload:{raw:"",decoded:null},totalBytes:s.length,isValid:!1,errors:[c instanceof Error?c.message:"Unknown decoding error"]},u={segments:[],totalBytes:s.length,rawHex:e.toUpperCase(),messageHash:"",payload:{segments:[],hex:"",startByte:0,type:"Unknown"}};return{packet:i,structure:u}}}static async parseInternalAsync(e,r,n){let s=this.parseInternal(e,r,n);if(s.packet.payloadType===J.PayloadType.Advert&&s.packet.payload.decoded)try{let a=s.packet.payload.decoded,c=await Ds.AdvertPayloadDecoder.decodeWithVerification((0,He.hexToBytes)(s.packet.payload.raw),{includeSegments:r,segmentOffset:0});c&&(s.packet.payload.decoded=c,c.isValid||(s.packet.isValid=!1,s.packet.errors=c.errors||["Invalid advertisement signature"]),r&&c.segments&&(s.structure.payload.segments=c.segments,delete c.segments))}catch(a){console.error("Signature verification failed:",a)}return s}static validate(e){let r=(0,He.hexToBytes)(e),n=[];if(r.length<2)return n.push("Packet too short (minimum 2 bytes required)"),{isValid:!1,errors:n};try{let s=1,c=r[0]&3;if((c===J.RouteType.TransportFlood||c===J.RouteType.TransportDirect)&&(r.length<s+4&&n.push("Packet too short for transport codes"),s+=4),r.length<s+1)n.push("Packet too short for path length");else{let i=r[s];s+=1,r.length<s+i&&n.push("Packet too short for path data"),s+=i}s>=r.length&&n.push("No payload data found")}catch(s){n.push(s instanceof Error?s.message:"Validation error")}return{isValid:n.length===0,errors:n.length>0?n:void 0}}static calculateMessageHash(e,r,n,s){if(n===J.PayloadType.Trace&&e.length>=13){let o=1;if((r===J.RouteType.TransportFlood||r===J.RouteType.TransportDirect)&&(o+=4),e.length>o){let x=e[o];o+=1+x}if(e.length>=o+4){let x=e[o]|e[o+1]<<8|e[o+2]<<16|e[o+3]<<24;return(0,He.numberToHex)(x,8)}}let a=n<<2|s<<6,c=1;if((r===J.RouteType.TransportFlood||r===J.RouteType.TransportDirect)&&(c+=4),e.length>c){let o=e[c];c+=1+o}let i=e.slice(c),u=[a,...Array.from(i)],d=0;for(let o=0;o<u.length;o++)d=(d<<5)-d+u[o]&4294967295;return(0,He.numberToHex)(d,8)}static createKeyStore(e){return new Hi.MeshCoreKeyStore(e)}};dr.MeshCorePacketDecoder=yn});var mn=N(S0=>{"use strict";Object.defineProperty(S0,"__esModule",{value:!0});S0.createAuthToken=Vi;S0.verifyAuthToken=Ki;S0.parseAuthToken=Wi;S0.decodeAuthTokenPayload=ji;var ws=er(),Ps=ge();function Fs(t){let e="";if(typeof Buffer<"u")e=Buffer.from(t).toString("base64");else{let r=String.fromCharCode(...Array.from(t));e=btoa(r)}return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function gn(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));{let r=atob(e),n=new Uint8Array(r.length);for(let s=0;s<r.length;s++)n[s]=r.charCodeAt(s);return n}}async function Vi(t,e,r){let n={alg:"Ed25519",typ:"JWT"};t.publicKey?t.publicKey=t.publicKey.toUpperCase():t.publicKey=r.toUpperCase(),t.iat||(t.iat=Math.floor(Date.now()/1e3));let s=JSON.stringify(n),a=JSON.stringify(t),c=new TextEncoder().encode(s),i=new TextEncoder().encode(a),u=Fs(c),d=Fs(i),o=`${u}.${d}`,x=new TextEncoder().encode(o),f=(0,Ps.bytesToHex)(x),p=await(0,ws.sign)(f,e,t.publicKey);return`${u}.${d}.${p}`}async function Ki(t,e){try{let r=t.split(".");if(r.length!==3)return null;let[n,s,a]=r,c=gn(n),i=gn(s),u=new TextDecoder().decode(c),d=new TextDecoder().decode(i),o=JSON.parse(u),x=JSON.parse(d);if(o.alg!=="Ed25519"||o.typ!=="JWT"||!x.publicKey||!x.iat||e&&x.publicKey.toUpperCase()!==e.toUpperCase()||x.exp&&Math.floor(Date.now()/1e3)>x.exp)return null;let f=`${n}.${s}`,p=new TextEncoder().encode(f),y=(0,Ps.bytesToHex)(p);return await(0,ws.verify)(a,y,x.publicKey)?x:null}catch{return null}}function Wi(t){try{let e=t.split(".");return e.length!==3?null:{header:e[0],payload:e[1],signature:e[2]}}catch{return null}}function ji(t){try{let e=t.split(".");if(e.length!==3)return null;let r=gn(e[1]),n=new TextDecoder().decode(r);return JSON.parse(n)}catch{return null}}});var Ss=N(M=>{"use strict";var $i=M&&M.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Xi=M&&M.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),bn=M&&M.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&$i(r,e,n[s]);return Xi(r,e),r}})();Object.defineProperty(M,"__esModule",{value:!0});M.Utils=M.decodeAuthTokenPayload=M.parseAuthToken=M.verifyAuthToken=M.createAuthToken=M.getControlSubTypeName=M.getRequestTypeName=M.getDeviceRoleName=M.getPayloadVersionName=M.getPayloadTypeName=M.getRouteTypeName=M.numberToHex=M.byteToHex=M.bytesToHex=M.hexToBytes=M.Ed25519SignatureVerifier=M.ChannelCrypto=M.MeshCoreKeyStore=M.ControlSubType=M.RequestType=M.AdvertFlags=M.DeviceRole=M.PayloadVersion=M.PayloadType=M.RouteType=M.MeshCoreDecoder=M.MeshCorePacketDecoder=void 0;var Zi=vn();Object.defineProperty(M,"MeshCorePacketDecoder",{enumerable:!0,get:function(){return Zi.MeshCorePacketDecoder}});var Yi=vn();Object.defineProperty(M,"MeshCoreDecoder",{enumerable:!0,get:function(){return Yi.MeshCorePacketDecoder}});var l0=Ee();Object.defineProperty(M,"RouteType",{enumerable:!0,get:function(){return l0.RouteType}});Object.defineProperty(M,"PayloadType",{enumerable:!0,get:function(){return l0.PayloadType}});Object.defineProperty(M,"PayloadVersion",{enumerable:!0,get:function(){return l0.PayloadVersion}});Object.defineProperty(M,"DeviceRole",{enumerable:!0,get:function(){return l0.DeviceRole}});Object.defineProperty(M,"AdvertFlags",{enumerable:!0,get:function(){return l0.AdvertFlags}});Object.defineProperty(M,"RequestType",{enumerable:!0,get:function(){return l0.RequestType}});Object.defineProperty(M,"ControlSubType",{enumerable:!0,get:function(){return l0.ControlSubType}});var Ji=Mr();Object.defineProperty(M,"MeshCoreKeyStore",{enumerable:!0,get:function(){return Ji.MeshCoreKeyStore}});var Qi=Kt();Object.defineProperty(M,"ChannelCrypto",{enumerable:!0,get:function(){return Qi.ChannelCrypto}});var eo=nn();Object.defineProperty(M,"Ed25519SignatureVerifier",{enumerable:!0,get:function(){return eo.Ed25519SignatureVerifier}});var hr=ge();Object.defineProperty(M,"hexToBytes",{enumerable:!0,get:function(){return hr.hexToBytes}});Object.defineProperty(M,"bytesToHex",{enumerable:!0,get:function(){return hr.bytesToHex}});Object.defineProperty(M,"byteToHex",{enumerable:!0,get:function(){return hr.byteToHex}});Object.defineProperty(M,"numberToHex",{enumerable:!0,get:function(){return hr.numberToHex}});var k0=v0();Object.defineProperty(M,"getRouteTypeName",{enumerable:!0,get:function(){return k0.getRouteTypeName}});Object.defineProperty(M,"getPayloadTypeName",{enumerable:!0,get:function(){return k0.getPayloadTypeName}});Object.defineProperty(M,"getPayloadVersionName",{enumerable:!0,get:function(){return k0.getPayloadVersionName}});Object.defineProperty(M,"getDeviceRoleName",{enumerable:!0,get:function(){return k0.getDeviceRoleName}});Object.defineProperty(M,"getRequestTypeName",{enumerable:!0,get:function(){return k0.getRequestTypeName}});Object.defineProperty(M,"getControlSubTypeName",{enumerable:!0,get:function(){return k0.getControlSubTypeName}});var pr=mn();Object.defineProperty(M,"createAuthToken",{enumerable:!0,get:function(){return pr.createAuthToken}});Object.defineProperty(M,"verifyAuthToken",{enumerable:!0,get:function(){return pr.verifyAuthToken}});Object.defineProperty(M,"parseAuthToken",{enumerable:!0,get:function(){return pr.parseAuthToken}});Object.defineProperty(M,"decodeAuthTokenPayload",{enumerable:!0,get:function(){return pr.decodeAuthTokenPayload}});var to=bn(v0()),ro=bn(ge()),no=bn(mn()),lr=er();M.Utils={...to,...ro,...no,derivePublicKey:lr.derivePublicKey,validateKeyPair:lr.validateKeyPair,sign:lr.sign,verify:lr.verify}});var Ts=N((yr,ks)=>{(function(t,e,r){typeof yr=="object"?ks.exports=yr=e(X(),g0(),z0()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(yr,function(t){return t.HmacSHA256})});var Hs=N((vr,Rs)=>{(function(t,e){typeof vr=="object"?Rs.exports=vr=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(vr,function(t){return t.enc.Hex})});var oo={};An(oo,{DEFAULT_VALID_SECONDS:()=>R0,GroupTextCracker:()=>Fr,PUBLIC_KEY:()=>p0,PUBLIC_ROOM_NAME:()=>T0,countNamesForLength:()=>mr,deriveKeyFromRoomName:()=>$e,getChannelHash:()=>n0,hasColon:()=>Is,indexSpaceForLength:()=>O0,indexToRoomName:()=>ze,isTimestampValid:()=>br,isValidUtf8:()=>Br,isWebGpuSupported:()=>Ar,roomNameToIndex:()=>gr,verifyMac:()=>H0});var wr=it(Ss(),1);var Bn=it(g0(),1),Os=it(Ts(),1),h0=it(Hs(),1),Us="abcdefghijklmnopqrstuvwxyz0123456789",ke=Us.length,qs=Us+"-",T0="[[public room]]",p0="8b3387e9c5cdea6ac9e5edbaa115cd72",R0=720*60*60;function gr(t){if(!t||t.length===0)return null;let e=t.length,r=0,n=1,s=!1;for(let a=0;a<e;a++){let c=t[a],i=qs.indexOf(c);if(i===-1)return null;let u=a===0,d=a===e-1,o=u||d?36:37,x=i===36;if((u||d)&&x||x&&s)return null;s=x,r+=i*n,n*=o}return{length:e,index:r}}function ze(t,e){if(t<=0)return null;let r="",n=e,s=!1;for(let a=0;a<t;a++){let c=a===0,i=a===t-1,u=c||i?36:37,d=n%u;n=Math.floor(n/u);let o=d===36;if(o&&s)return null;s=o,r+=qs[d]}return r}function $e(t){return t===T0?p0:(0,Bn.default)(t).toString(h0.default).substring(0,32)}function n0(t){return(0,Bn.default)(h0.default.parse(t)).toString(h0.default).substring(0,2)}function H0(t,e,r){let n=r.padEnd(64,"0");return(0,Os.default)(h0.default.parse(t),h0.default.parse(n)).toString(h0.default).substring(0,4).toLowerCase()===e.toLowerCase()}function O0(t){return t<=0?0:t===1?ke:t===2?ke*ke:ke*ke*Math.pow(ke+1,t-2)}function mr(t){if(t===1)return ke;if(t===2)return ke*ke;let e=ke,r=1;for(let s=2;s<=t-2;s++){let a=(e+r)*ke,c=e;e=a,r=c}let n=t>2?e+r:1;return ke*n*ke}function br(t,e=R0,r){let n=r??Math.floor(Date.now()/1e3);return t<=n&&t>=n-e}function Br(t){return!t.includes("\uFFFD")}function Is(t){return t.includes(":")}var Cr=class Cr{constructor(){this.device=null;this.pipeline=null;this.bindGroupLayout=null;this.paramsBuffer=null;this.matchCountBuffer=null;this.matchIndicesBuffer=null;this.ciphertextBuffer=null;this.ciphertextBufferSize=0;this.matchCountReadBuffers=[null,null];this.matchIndicesReadBuffers=[null,null];this.currentReadBufferIndex=0;this.bindGroup=null;this.bindGroupDirty=!0;this.shaderCode=`
|
|
21
|
+
\u2022 Password (remaining bytes) - password for repeater/room`,startByte:s+a,endByte:s+e.length-1,value:d});let o={type:D0.PayloadType.AnonRequest,version:D0.PayloadVersion.Version1,isValid:!0,destinationHash:c,senderPublicKey:i,cipherMac:u,ciphertext:d,ciphertextLength:e.length-35};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:D0.PayloadType.AnonRequest,version:D0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode AnonRequest payload"],destinationHash:"",senderPublicKey:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};or.AnonRequestPayloadDecoder=un});var bs=N(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.AckPayloadDecoder=void 0;var F0=Ee(),fn=ge(),xn=class{static decode(e,r){try{if(e.length<4){let i={type:F0.PayloadType.Ack,version:F0.PayloadVersion.Version1,isValid:!1,errors:["Ack payload too short (minimum 4 bytes for checksum)"],checksum:""};return r?.includeSegments&&(i.segments=[{name:"Invalid Ack Data",description:"Ack payload too short (minimum 4 bytes required for checksum)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,fn.bytesToHex)(e)}]),i}let n=[],s=r?.segmentOffset||0,a=(0,fn.bytesToHex)(e.subarray(0,4));r?.includeSegments&&n.push({name:"Checksum",description:`CRC checksum of message timestamp, text, and sender pubkey: 0x${a}`,startByte:s,endByte:s+3,value:a}),r?.includeSegments&&e.length>4&&n.push({name:"Additional Data",description:"Extra data in Ack payload",startByte:s+4,endByte:s+e.length-1,value:(0,fn.bytesToHex)(e.subarray(4))});let c={type:F0.PayloadType.Ack,version:F0.PayloadVersion.Version1,isValid:!0,checksum:a};return r?.includeSegments&&(c.segments=n),c}catch(n){return{type:F0.PayloadType.Ack,version:F0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode Ack payload"],checksum:""}}}};cr.AckPayloadDecoder=xn});var _s=N(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.PathPayloadDecoder=void 0;var r0=Ee(),Bs=ge(),dn=class{static decode(e){try{if(e.length<2)return{type:r0.PayloadType.Path,version:r0.PayloadVersion.Version1,isValid:!1,errors:["Path payload too short (minimum 2 bytes: path length + extra type)"],pathLength:0,pathHashes:[],extraType:0,extraData:""};let r=e[0];if(e.length<1+r+1)return{type:r0.PayloadType.Path,version:r0.PayloadVersion.Version1,isValid:!1,errors:[`Path payload too short (need ${1+r+1} bytes for path length + path + extra type)`],pathLength:r,pathHashes:[],extraType:0,extraData:""};let n=[];for(let c=0;c<r;c++)n.push((0,Bs.byteToHex)(e[1+c]));let s=e[1+r],a="";return e.length>1+r+1&&(a=(0,Bs.bytesToHex)(e.subarray(1+r+1))),{type:r0.PayloadType.Path,version:r0.PayloadVersion.Version1,isValid:!0,pathLength:r,pathHashes:n,extraType:s,extraData:a}}catch(r){return{type:r0.PayloadType.Path,version:r0.PayloadVersion.Version1,isValid:!1,errors:[r instanceof Error?r.message:"Failed to decode Path payload"],pathLength:0,pathHashes:[],extraType:0,extraData:""}}}};ur.PathPayloadDecoder=dn});var Cs=N(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.TextMessagePayloadDecoder=void 0;var w0=Ee(),$0=ge(),ln=class{static decode(e,r){try{if(e.length<4){let x={type:w0.PayloadType.TextMessage,version:w0.PayloadVersion.Version1,isValid:!1,errors:["TextMessage payload too short (minimum 4 bytes: dest + source + MAC)"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0};return r?.includeSegments&&(x.segments=[{name:"Invalid TextMessage Data",description:"TextMessage payload too short (minimum 4 bytes required)",startByte:r.segmentOffset||0,endByte:(r.segmentOffset||0)+e.length-1,value:(0,$0.bytesToHex)(e)}]),x}let n=[],s=r?.segmentOffset||0,a=0,c=(0,$0.byteToHex)(e[a]);r?.includeSegments&&n.push({name:"Destination Hash",description:"First byte of destination node public key",startByte:s+a,endByte:s+a,value:c}),a+=1;let i=(0,$0.byteToHex)(e[a]);r?.includeSegments&&n.push({name:"Source Hash",description:"First byte of source node public key",startByte:s+a,endByte:s+a,value:i}),a+=1;let u=(0,$0.bytesToHex)(e.subarray(a,a+2));r?.includeSegments&&n.push({name:"Cipher MAC",description:"MAC for encrypted data in next field",startByte:s+a,endByte:s+a+1,value:u}),a+=2;let d=(0,$0.bytesToHex)(e.subarray(a));r?.includeSegments&&e.length>a&&n.push({name:"Ciphertext",description:"Encrypted message data (timestamp + message text)",startByte:s+a,endByte:s+e.length-1,value:d});let o={type:w0.PayloadType.TextMessage,version:w0.PayloadVersion.Version1,isValid:!0,destinationHash:c,sourceHash:i,cipherMac:u,ciphertext:d,ciphertextLength:e.length-4};return r?.includeSegments&&(o.segments=n),o}catch(n){return{type:w0.PayloadType.TextMessage,version:w0.PayloadVersion.Version1,isValid:!1,errors:[n instanceof Error?n.message:"Failed to decode TextMessage payload"],destinationHash:"",sourceHash:"",cipherMac:"",ciphertext:"",ciphertextLength:0}}}};fr.TextMessagePayloadDecoder=ln});var As=N(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.ControlPayloadDecoder=void 0;var fe=Ee(),d0=ge(),Ri=v0(),hn=class{static decode(e,r){try{if(e.length<1)return this.createErrorPayload("Control payload too short (minimum 1 byte required)",e,r);let s=e[0]&240;switch(s){case fe.ControlSubType.NodeDiscoverReq:return this.decodeDiscoverReq(e,r);case fe.ControlSubType.NodeDiscoverResp:return this.decodeDiscoverResp(e,r);default:return this.createErrorPayload(`Unknown control sub-type: 0x${s.toString(16).padStart(2,"0")}`,e,r)}}catch(n){return this.createErrorPayload(n instanceof Error?n.message:"Failed to decode control payload",e,r)}}static decodeDiscoverReq(e,r){let n=[],s=r?.segmentOffset??0;if(e.length<6){let p={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!1,errors:["DISCOVER_REQ payload too short (minimum 6 bytes required)"],subType:fe.ControlSubType.NodeDiscoverReq,rawFlags:e[0],prefixOnly:!1,typeFilter:0,typeFilterNames:[],tag:0,since:0};return r?.includeSegments&&(p.segments=[{name:"Invalid DISCOVER_REQ Data",description:"DISCOVER_REQ payload too short (minimum 6 bytes required)",startByte:s,endByte:s+e.length-1,value:(0,d0.bytesToHex)(e)}]),p}let a=0,c=e[a],i=(c&1)!==0;r?.includeSegments&&n.push({name:"Flags",description:`Sub-type: DISCOVER_REQ (0x8) | Prefix Only: ${i}`,startByte:s+a,endByte:s+a,value:c.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let u=e[a],d=this.parseTypeFilter(u);r?.includeSegments&&n.push({name:"Type Filter",description:`Filter mask: 0b${u.toString(2).padStart(8,"0")} | Types: ${d.length>0?d.join(", "):"None"}`,startByte:s+a,endByte:s+a,value:u.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let o=this.readUint32LE(e,a);r?.includeSegments&&n.push({name:"Tag",description:`Random tag for response matching: 0x${o.toString(16).padStart(8,"0")}`,startByte:s+a,endByte:s+a+3,value:(0,d0.bytesToHex)(e.slice(a,a+4))}),a+=4;let x=0;if(e.length>=a+4&&(x=this.readUint32LE(e,a),r?.includeSegments)){let p=x>0?new Date(x*1e3).toISOString().slice(0,19)+"Z":"N/A";n.push({name:"Since",description:`Filter timestamp: ${x} (${p})`,startByte:s+a,endByte:s+a+3,value:(0,d0.bytesToHex)(e.slice(a,a+4))})}let f={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!0,subType:fe.ControlSubType.NodeDiscoverReq,rawFlags:c,prefixOnly:i,typeFilter:u,typeFilterNames:d,tag:o,since:x};return r?.includeSegments&&(f.segments=n),f}static decodeDiscoverResp(e,r){let n=[],s=r?.segmentOffset??0;if(e.length<14){let h={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!1,errors:["DISCOVER_RESP payload too short (minimum 14 bytes required)"],subType:fe.ControlSubType.NodeDiscoverResp,rawFlags:e.length>0?e[0]:0,nodeType:fe.DeviceRole.Unknown,nodeTypeName:"Unknown",snr:0,tag:0,publicKey:"",publicKeyLength:0};return r?.includeSegments&&(h.segments=[{name:"Invalid DISCOVER_RESP Data",description:"DISCOVER_RESP payload too short (minimum 14 bytes required)",startByte:s,endByte:s+e.length-1,value:(0,d0.bytesToHex)(e)}]),h}let a=0,c=e[a],i=c&15,u=(0,Ri.getDeviceRoleName)(i);r?.includeSegments&&n.push({name:"Flags",description:`Sub-type: DISCOVER_RESP (0x9) | Node Type: ${u}`,startByte:s+a,endByte:s+a,value:c.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let d=e[a],o=d>127?d-256:d,x=o/4;r?.includeSegments&&n.push({name:"SNR",description:`Inbound SNR: ${x.toFixed(2)} dB (raw: ${d}, signed: ${o})`,startByte:s+a,endByte:s+a,value:d.toString(16).padStart(2,"0").toUpperCase()}),a+=1;let f=this.readUint32LE(e,a);r?.includeSegments&&n.push({name:"Tag",description:`Reflected tag from request: 0x${f.toString(16).padStart(8,"0")}`,startByte:s+a,endByte:s+a+3,value:(0,d0.bytesToHex)(e.slice(a,a+4))}),a+=4;let y=e.length-a,g=e.slice(a,a+y),m=(0,d0.bytesToHex)(g);if(r?.includeSegments){let h=y===32?"Full Public Key":"Public Key Prefix";n.push({name:h,description:`${h} (${y} bytes)`,startByte:s+a,endByte:s+a+y-1,value:m})}let l={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!0,subType:fe.ControlSubType.NodeDiscoverResp,rawFlags:c,nodeType:i,nodeTypeName:u,snr:x,tag:f,publicKey:m,publicKeyLength:y};return r?.includeSegments&&(l.segments=n),l}static parseTypeFilter(e){let r=[];return e&1<<fe.DeviceRole.ChatNode&&r.push("Chat"),e&1<<fe.DeviceRole.Repeater&&r.push("Repeater"),e&1<<fe.DeviceRole.RoomServer&&r.push("Room"),e&1<<fe.DeviceRole.Sensor&&r.push("Sensor"),r}static createErrorPayload(e,r,n){let s={type:fe.PayloadType.Control,version:fe.PayloadVersion.Version1,isValid:!1,errors:[e],subType:fe.ControlSubType.NodeDiscoverReq,rawFlags:r.length>0?r[0]:0,prefixOnly:!1,typeFilter:0,typeFilterNames:[],tag:0,since:0};return n?.includeSegments&&(s.segments=[{name:"Invalid Control Data",description:e,startByte:n.segmentOffset??0,endByte:(n.segmentOffset??0)+r.length-1,value:(0,d0.bytesToHex)(r)}]),s}static readUint32LE(e,r){return(e[r]|e[r+1]<<8|e[r+2]<<16|e[r+3]<<24)>>>0}};xr.ControlPayloadDecoder=hn});var yn=N(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.MeshCorePacketDecoder=void 0;var J=Ee(),He=ge(),P0=v0(),Hi=Ir(),Es=hs(),Oi=ps(),Ui=ys(),qi=vs(),Ii=gs(),Mi=ms(),Ni=bs(),Gi=_s(),zi=Cs(),Li=As(),pn=class{static decode(e,r){return this.parseInternal(e,!1,r).packet}static async decodeWithVerification(e,r){return(await this.parseInternalAsync(e,!1,r)).packet}static analyzeStructure(e,r){return this.parseInternal(e,!0,r).structure}static async analyzeStructureWithVerification(e,r){return(await this.parseInternalAsync(e,!0,r)).structure}static parseInternal(e,r,n){let s=(0,He.hexToBytes)(e),a=[];if(s.length<2){let c={messageHash:"",routeType:J.RouteType.Flood,payloadType:J.PayloadType.RawCustom,payloadVersion:J.PayloadVersion.Version1,pathLength:0,path:null,payload:{raw:"",decoded:null},totalBytes:s.length,isValid:!1,errors:["Packet too short (minimum 2 bytes required)"]},i={segments:[],totalBytes:s.length,rawHex:e.toUpperCase(),messageHash:"",payload:{segments:[],hex:"",startByte:0,type:"Unknown"}};return{packet:c,structure:i}}try{let c=0,i=s[0],u=i&3,d=i>>2&15,o=i>>6&3;r&&a.push({name:"Header",description:"Header byte breakdown",startByte:0,endByte:0,value:`0x${i.toString(16).padStart(2,"0")}`,headerBreakdown:{fullBinary:i.toString(2).padStart(8,"0"),fields:[{bits:"0-1",field:"Route Type",value:(0,P0.getRouteTypeName)(u),binary:(i&3).toString(2).padStart(2,"0")},{bits:"2-5",field:"Payload Type",value:(0,P0.getPayloadTypeName)(d),binary:(i>>2&15).toString(2).padStart(4,"0")},{bits:"6-7",field:"Version",value:o.toString(),binary:(i>>6&3).toString(2).padStart(2,"0")}]}}),c=1;let x;if(u===J.RouteType.TransportFlood||u===J.RouteType.TransportDirect){if(s.length<c+4)throw new Error("Packet too short for transport codes");let v=s[c]|s[c+1]<<8,w=s[c+2]|s[c+3]<<8;if(x=[v,w],r){let C=s[c]|s[c+1]<<8|s[c+2]<<16|s[c+3]<<24;a.push({name:"Transport Code",description:"Used for Direct/Response routing",startByte:c,endByte:c+3,value:`0x${C.toString(16).padStart(8,"0")}`})}c+=4}if(s.length<c+1)throw new Error("Packet too short for path length");let f=s[c];if(r){let v=`Path contains ${f} bytes`;u===J.RouteType.Direct||u===J.RouteType.TransportDirect?v=`For "Direct" packets, this contains routing instructions. ${f} bytes of routing instructions (decreases as packet travels)`:(u===J.RouteType.Flood||u===J.RouteType.TransportFlood)&&(v=`${f} bytes showing route taken (increases as packet floods)`),a.push({name:"Path Length",description:v,startByte:c,endByte:c,value:`0x${f.toString(16).padStart(2,"0")}`})}if(c+=1,s.length<c+f)throw new Error("Packet too short for path data");let p=s.subarray(c,c+f),y=f>0?Array.from(p).map(He.byteToHex):null;if(r&&f>0)if(d===J.PayloadType.Trace){let v=[];for(let w=0;w<f;w++){let C=s[c+w],H=(C>127?C-256:C)/4;v.push(`${H.toFixed(2)}dB (0x${C.toString(16).padStart(2,"0")})`)}a.push({name:"Path SNR Data",description:`SNR values collected during trace: ${v.join(", ")}`,startByte:c,endByte:c+f-1,value:(0,He.bytesToHex)(s.slice(c,c+f))})}else{let v="Routing path information";u===J.RouteType.Direct||u===J.RouteType.TransportDirect?v="Routing instructions (bytes are stripped at each hop as packet travels to destination)":(u===J.RouteType.Flood||u===J.RouteType.TransportFlood)&&(v="Historical route taken (bytes are added as packet floods through network)"),a.push({name:"Path Data",description:v,startByte:c,endByte:c+f-1,value:(0,He.bytesToHex)(s.slice(c,c+f))})}c+=f;let g=s.subarray(c),m=(0,He.bytesToHex)(g);r&&s.length>c&&a.push({name:"Payload",description:`${(0,P0.getPayloadTypeName)(d)} payload data`,startByte:c,endByte:s.length-1,value:(0,He.bytesToHex)(s.slice(c))});let l=null,h=[];if(d===J.PayloadType.Advert){let v=Es.AdvertPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Trace){let v=Oi.TracePayloadDecoder.decode(g,y,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.GroupText){let v=Ui.GroupTextPayloadDecoder.decode(g,{...n,includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Request){let v=qi.RequestPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Response){let v=Ii.ResponsePayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.AnonRequest){let v=Mi.AnonRequestPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Ack){let v=Ni.AckPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Path)l=Gi.PathPayloadDecoder.decode(g);else if(d===J.PayloadType.TextMessage){let v=zi.TextMessagePayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}else if(d===J.PayloadType.Control){let v=Li.ControlPayloadDecoder.decode(g,{includeSegments:r,segmentOffset:0});l=v,v?.segments&&(h.push(...v.segments),delete v.segments)}r&&h.length===0&&s.length>c&&h.push({name:`${(0,P0.getPayloadTypeName)(d)} Payload`,description:`Raw ${(0,P0.getPayloadTypeName)(d)} payload data (${g.length} bytes)`,startByte:0,endByte:g.length-1,value:(0,He.bytesToHex)(g)});let B=this.calculateMessageHash(s,u,d,o),b={messageHash:B,routeType:u,payloadType:d,payloadVersion:o,transportCodes:x,pathLength:f,path:y,payload:{raw:m,decoded:l},totalBytes:s.length,isValid:!0},_={segments:a,totalBytes:s.length,rawHex:e.toUpperCase(),messageHash:B,payload:{segments:h,hex:m,startByte:c,type:(0,P0.getPayloadTypeName)(d)}};return{packet:b,structure:_}}catch(c){let i={messageHash:"",routeType:J.RouteType.Flood,payloadType:J.PayloadType.RawCustom,payloadVersion:J.PayloadVersion.Version1,pathLength:0,path:null,payload:{raw:"",decoded:null},totalBytes:s.length,isValid:!1,errors:[c instanceof Error?c.message:"Unknown decoding error"]},u={segments:[],totalBytes:s.length,rawHex:e.toUpperCase(),messageHash:"",payload:{segments:[],hex:"",startByte:0,type:"Unknown"}};return{packet:i,structure:u}}}static async parseInternalAsync(e,r,n){let s=this.parseInternal(e,r,n);if(s.packet.payloadType===J.PayloadType.Advert&&s.packet.payload.decoded)try{let a=s.packet.payload.decoded,c=await Es.AdvertPayloadDecoder.decodeWithVerification((0,He.hexToBytes)(s.packet.payload.raw),{includeSegments:r,segmentOffset:0});c&&(s.packet.payload.decoded=c,c.isValid||(s.packet.isValid=!1,s.packet.errors=c.errors||["Invalid advertisement signature"]),r&&c.segments&&(s.structure.payload.segments=c.segments,delete c.segments))}catch(a){console.error("Signature verification failed:",a)}return s}static validate(e){let r=(0,He.hexToBytes)(e),n=[];if(r.length<2)return n.push("Packet too short (minimum 2 bytes required)"),{isValid:!1,errors:n};try{let s=1,c=r[0]&3;if((c===J.RouteType.TransportFlood||c===J.RouteType.TransportDirect)&&(r.length<s+4&&n.push("Packet too short for transport codes"),s+=4),r.length<s+1)n.push("Packet too short for path length");else{let i=r[s];s+=1,r.length<s+i&&n.push("Packet too short for path data"),s+=i}s>=r.length&&n.push("No payload data found")}catch(s){n.push(s instanceof Error?s.message:"Validation error")}return{isValid:n.length===0,errors:n.length>0?n:void 0}}static calculateMessageHash(e,r,n,s){if(n===J.PayloadType.Trace&&e.length>=13){let o=1;if((r===J.RouteType.TransportFlood||r===J.RouteType.TransportDirect)&&(o+=4),e.length>o){let x=e[o];o+=1+x}if(e.length>=o+4){let x=e[o]|e[o+1]<<8|e[o+2]<<16|e[o+3]<<24;return(0,He.numberToHex)(x,8)}}let a=n<<2|s<<6,c=1;if((r===J.RouteType.TransportFlood||r===J.RouteType.TransportDirect)&&(c+=4),e.length>c){let o=e[c];c+=1+o}let i=e.slice(c),u=[a,...Array.from(i)],d=0;for(let o=0;o<u.length;o++)d=(d<<5)-d+u[o]&4294967295;return(0,He.numberToHex)(d,8)}static createKeyStore(e){return new Hi.MeshCoreKeyStore(e)}};dr.MeshCorePacketDecoder=pn});var gn=N(S0=>{"use strict";Object.defineProperty(S0,"__esModule",{value:!0});S0.createAuthToken=Vi;S0.verifyAuthToken=Ki;S0.parseAuthToken=Wi;S0.decodeAuthTokenPayload=ji;var Fs=er(),ws=ge();function Ds(t){let e="";if(typeof Buffer<"u")e=Buffer.from(t).toString("base64");else{let r=String.fromCharCode(...Array.from(t));e=btoa(r)}return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function vn(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));{let r=atob(e),n=new Uint8Array(r.length);for(let s=0;s<r.length;s++)n[s]=r.charCodeAt(s);return n}}async function Vi(t,e,r){let n={alg:"Ed25519",typ:"JWT"};t.publicKey?t.publicKey=t.publicKey.toUpperCase():t.publicKey=r.toUpperCase(),t.iat||(t.iat=Math.floor(Date.now()/1e3));let s=JSON.stringify(n),a=JSON.stringify(t),c=new TextEncoder().encode(s),i=new TextEncoder().encode(a),u=Ds(c),d=Ds(i),o=`${u}.${d}`,x=new TextEncoder().encode(o),f=(0,ws.bytesToHex)(x),p=await(0,Fs.sign)(f,e,t.publicKey);return`${u}.${d}.${p}`}async function Ki(t,e){try{let r=t.split(".");if(r.length!==3)return null;let[n,s,a]=r,c=vn(n),i=vn(s),u=new TextDecoder().decode(c),d=new TextDecoder().decode(i),o=JSON.parse(u),x=JSON.parse(d);if(o.alg!=="Ed25519"||o.typ!=="JWT"||!x.publicKey||!x.iat||e&&x.publicKey.toUpperCase()!==e.toUpperCase()||x.exp&&Math.floor(Date.now()/1e3)>x.exp)return null;let f=`${n}.${s}`,p=new TextEncoder().encode(f),y=(0,ws.bytesToHex)(p);return await(0,Fs.verify)(a,y,x.publicKey)?x:null}catch{return null}}function Wi(t){try{let e=t.split(".");return e.length!==3?null:{header:e[0],payload:e[1],signature:e[2]}}catch{return null}}function ji(t){try{let e=t.split(".");if(e.length!==3)return null;let r=vn(e[1]),n=new TextDecoder().decode(r);return JSON.parse(n)}catch{return null}}});var Ps=N(M=>{"use strict";var $i=M&&M.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Xi=M&&M.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),mn=M&&M.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&$i(r,e,n[s]);return Xi(r,e),r}})();Object.defineProperty(M,"__esModule",{value:!0});M.Utils=M.decodeAuthTokenPayload=M.parseAuthToken=M.verifyAuthToken=M.createAuthToken=M.getControlSubTypeName=M.getRequestTypeName=M.getDeviceRoleName=M.getPayloadVersionName=M.getPayloadTypeName=M.getRouteTypeName=M.numberToHex=M.byteToHex=M.bytesToHex=M.hexToBytes=M.Ed25519SignatureVerifier=M.ChannelCrypto=M.MeshCoreKeyStore=M.ControlSubType=M.RequestType=M.AdvertFlags=M.DeviceRole=M.PayloadVersion=M.PayloadType=M.RouteType=M.MeshCoreDecoder=M.MeshCorePacketDecoder=void 0;var Zi=yn();Object.defineProperty(M,"MeshCorePacketDecoder",{enumerable:!0,get:function(){return Zi.MeshCorePacketDecoder}});var Yi=yn();Object.defineProperty(M,"MeshCoreDecoder",{enumerable:!0,get:function(){return Yi.MeshCorePacketDecoder}});var l0=Ee();Object.defineProperty(M,"RouteType",{enumerable:!0,get:function(){return l0.RouteType}});Object.defineProperty(M,"PayloadType",{enumerable:!0,get:function(){return l0.PayloadType}});Object.defineProperty(M,"PayloadVersion",{enumerable:!0,get:function(){return l0.PayloadVersion}});Object.defineProperty(M,"DeviceRole",{enumerable:!0,get:function(){return l0.DeviceRole}});Object.defineProperty(M,"AdvertFlags",{enumerable:!0,get:function(){return l0.AdvertFlags}});Object.defineProperty(M,"RequestType",{enumerable:!0,get:function(){return l0.RequestType}});Object.defineProperty(M,"ControlSubType",{enumerable:!0,get:function(){return l0.ControlSubType}});var Ji=Ir();Object.defineProperty(M,"MeshCoreKeyStore",{enumerable:!0,get:function(){return Ji.MeshCoreKeyStore}});var Qi=Kt();Object.defineProperty(M,"ChannelCrypto",{enumerable:!0,get:function(){return Qi.ChannelCrypto}});var eo=rn();Object.defineProperty(M,"Ed25519SignatureVerifier",{enumerable:!0,get:function(){return eo.Ed25519SignatureVerifier}});var hr=ge();Object.defineProperty(M,"hexToBytes",{enumerable:!0,get:function(){return hr.hexToBytes}});Object.defineProperty(M,"bytesToHex",{enumerable:!0,get:function(){return hr.bytesToHex}});Object.defineProperty(M,"byteToHex",{enumerable:!0,get:function(){return hr.byteToHex}});Object.defineProperty(M,"numberToHex",{enumerable:!0,get:function(){return hr.numberToHex}});var k0=v0();Object.defineProperty(M,"getRouteTypeName",{enumerable:!0,get:function(){return k0.getRouteTypeName}});Object.defineProperty(M,"getPayloadTypeName",{enumerable:!0,get:function(){return k0.getPayloadTypeName}});Object.defineProperty(M,"getPayloadVersionName",{enumerable:!0,get:function(){return k0.getPayloadVersionName}});Object.defineProperty(M,"getDeviceRoleName",{enumerable:!0,get:function(){return k0.getDeviceRoleName}});Object.defineProperty(M,"getRequestTypeName",{enumerable:!0,get:function(){return k0.getRequestTypeName}});Object.defineProperty(M,"getControlSubTypeName",{enumerable:!0,get:function(){return k0.getControlSubTypeName}});var pr=gn();Object.defineProperty(M,"createAuthToken",{enumerable:!0,get:function(){return pr.createAuthToken}});Object.defineProperty(M,"verifyAuthToken",{enumerable:!0,get:function(){return pr.verifyAuthToken}});Object.defineProperty(M,"parseAuthToken",{enumerable:!0,get:function(){return pr.parseAuthToken}});Object.defineProperty(M,"decodeAuthTokenPayload",{enumerable:!0,get:function(){return pr.decodeAuthTokenPayload}});var to=mn(v0()),ro=mn(ge()),no=mn(gn()),lr=er();M.Utils={...to,...ro,...no,derivePublicKey:lr.derivePublicKey,validateKeyPair:lr.validateKeyPair,sign:lr.sign,verify:lr.verify}});var ks=N((yr,Ss)=>{(function(t,e,r){typeof yr=="object"?Ss.exports=yr=e(X(),g0(),z0()):typeof define=="function"&&define.amd?define(["./core","./sha256","./hmac"],e):e(t.CryptoJS)})(yr,function(t){return t.HmacSHA256})});var Rs=N((vr,Ts)=>{(function(t,e){typeof vr=="object"?Ts.exports=vr=e(X()):typeof define=="function"&&define.amd?define(["./core"],e):e(t.CryptoJS)})(vr,function(t){return t.enc.Hex})});var oo={};Cn(oo,{DEFAULT_VALID_SECONDS:()=>R0,GroupTextCracker:()=>Fr,PUBLIC_KEY:()=>p0,PUBLIC_ROOM_NAME:()=>T0,countNamesForLength:()=>mr,deriveKeyFromRoomName:()=>$e,getChannelHash:()=>n0,hasColon:()=>qs,indexSpaceForLength:()=>O0,indexToRoomName:()=>ze,isTimestampValid:()=>br,isValidUtf8:()=>Br,isWebGpuSupported:()=>Ar,roomNameToIndex:()=>gr,verifyMac:()=>H0});var Is=it(Ps(),1);var bn=it(g0(),1),Hs=it(ks(),1),h0=it(Rs(),1),Os="abcdefghijklmnopqrstuvwxyz0123456789",ke=Os.length,Us=Os+"-",T0="[[public room]]",p0="8b3387e9c5cdea6ac9e5edbaa115cd72",R0=720*60*60;function gr(t){if(!t||t.length===0)return null;let e=t.length,r=0,n=1,s=!1;for(let a=0;a<e;a++){let c=t[a],i=Us.indexOf(c);if(i===-1)return null;let u=a===0,d=a===e-1,o=u||d?36:37,x=i===36;if((u||d)&&x||x&&s)return null;s=x,r+=i*n,n*=o}return{length:e,index:r}}function ze(t,e){if(t<=0)return null;let r="",n=e,s=!1;for(let a=0;a<t;a++){let c=a===0,i=a===t-1,u=c||i?36:37,d=n%u;n=Math.floor(n/u);let o=d===36;if(o&&s)return null;s=o,r+=Us[d]}return r}function $e(t){return t===T0?p0:(0,bn.default)(t).toString(h0.default).substring(0,32)}function n0(t){return(0,bn.default)(h0.default.parse(t)).toString(h0.default).substring(0,2)}function H0(t,e,r){let n=r.padEnd(64,"0");return(0,Hs.default)(h0.default.parse(t),h0.default.parse(n)).toString(h0.default).substring(0,4).toLowerCase()===e.toLowerCase()}function O0(t){return t<=0?0:t===1?ke:t===2?ke*ke:ke*ke*Math.pow(ke+1,t-2)}function mr(t){if(t===1)return ke;if(t===2)return ke*ke;let e=ke,r=1;for(let s=2;s<=t-2;s++){let a=(e+r)*ke,c=e;e=a,r=c}let n=t>2?e+r:1;return ke*n*ke}function br(t,e=R0,r){let n=r??Math.floor(Date.now()/1e3);return t<=n&&t>=n-e}function Br(t){return!t.includes("\uFFFD")}function qs(t){return t.includes(":")}var Cr=class Cr{constructor(){this.device=null;this.pipeline=null;this.bindGroupLayout=null;this.paramsBuffer=null;this.matchCountBuffer=null;this.matchIndicesBuffer=null;this.ciphertextBuffer=null;this.ciphertextBufferSize=0;this.matchCountReadBuffers=[null,null];this.matchIndicesReadBuffers=[null,null];this.currentReadBufferIndex=0;this.bindGroup=null;this.bindGroupDirty=!0;this.shaderCode=`
|
|
22
22
|
// SHA256 round constants
|
|
23
23
|
const K: array<u32, 64> = array<u32, 64>(
|
|
24
24
|
0x428a2f98u, 0x71374491u, 0xb5c0fbcfu, 0xe9b5dba5u, 0x3956c25bu, 0x59f111f1u, 0x923f82a4u, 0xab1c5ed5u,
|
|
@@ -715,8 +715,8 @@ fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
|
|
|
715
715
|
}
|
|
716
716
|
}
|
|
717
717
|
}
|
|
718
|
-
`}async init(){if(!navigator.gpu)return!1;try{let e=await navigator.gpu.requestAdapter();if(!e)return!1;this.device=await e.requestDevice(),this.bindGroupLayout=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.COMPUTE,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:2,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:3,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:4,visibility:GPUShaderStage.COMPUTE,buffer:{type:"read-only-storage"}},{binding:5,visibility:GPUShaderStage.COMPUTE,buffer:{type:"read-only-storage"}},{binding:6,visibility:GPUShaderStage.COMPUTE,buffer:{type:"read-only-storage"}}]}),this.paramsBuffer=this.device.createBuffer({size:40,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.matchCountBuffer=this.device.createBuffer({size:4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST}),this.matchIBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC}),this.matchJBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC}),this.matchCountReadBuffer=this.device.createBuffer({size:4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.matchIReadBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.matchJReadBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST});let r=this.device.createShaderModule({code:this.shaderCode}),n=this.device.createPipelineLayout({bindGroupLayouts:[this.bindGroupLayout]});return this.pipeline=this.device.createComputePipeline({layout:n,compute:{module:r,entryPoint:"main"}}),!0}catch(e){return console.error("WebGPU word pairs initialization failed:",e),!1}}uploadWords(e){if(!this.device)throw new Error("GPU not initialized");this.wordCount=e.length;let r=0;for(let i of e)r+=i.length;let n=new Uint8Array(Math.ceil(r/4)*4),s=new Uint32Array(e.length),a=0;for(let i=0;i<e.length;i++){let u=e[i];s[i]=a<<8|u.length;for(let d=0;d<u.length;d++)n[a++]=u.charCodeAt(d)}let c=new Uint32Array(Math.ceil(r/4));for(let i=0;i<c.length;i++)c[i]=n[i*4]<<24|n[i*4+1]<<16|n[i*4+2]<<8|n[i*4+3];this.wordDataBuffer&&this.wordDataBuffer.destroy(),this.wordOffsetsBuffer&&this.wordOffsetsBuffer.destroy(),this.wordDataBuffer=this.device.createBuffer({size:Math.max(c.byteLength,4),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.device.queue.writeBuffer(this.wordDataBuffer,0,c),this.wordOffsetsBuffer=this.device.createBuffer({size:s.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.device.queue.writeBuffer(this.wordOffsetsBuffer,0,s)}async runBatch(e,r,n,s,a){if(!this.device||!this.pipeline||!this.bindGroupLayout||!this.paramsBuffer||!this.matchCountBuffer||!this.matchIBuffer||!this.matchJBuffer||!this.matchCountReadBuffer||!this.matchIReadBuffer||!this.matchJReadBuffer||!this.wordDataBuffer||!this.wordOffsetsBuffer)throw new Error("GPU not initialized or words not uploaded");let c=new Uint8Array(s.length/2);for(let C=0;C<c.length;C++)c[C]=parseInt(s.substr(C*2,2),16);let i=c.length*8,u=Math.ceil(c.length/4)*4,d=new Uint8Array(u);d.set(c);let o=new Uint32Array(u/4);for(let C=0;C<o.length;C++)o[C]=d[C*4]<<24|d[C*4+1]<<16|d[C*4+2]<<8|d[C*4+3];let x=parseInt(a.substr(0,2),16),f=parseInt(a.substr(2,2),16),p=x<<24|f<<16,y=Math.max(o.length*4,4);(!this.ciphertextBuffer||this.ciphertextBufferSize<y)&&(this.ciphertextBuffer&&this.ciphertextBuffer.destroy(),this.ciphertextBuffer=this.device.createBuffer({size:y,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.ciphertextBufferSize=y);let g=Math.floor(r/this.wordCount),m=r%this.wordCount,l=new Uint32Array([e,this.wordCount,g,m,n,p,o.length,i,30,0]);this.device.queue.writeBuffer(this.paramsBuffer,0,l),this.device.queue.writeBuffer(this.ciphertextBuffer,0,o),this.device.queue.writeBuffer(this.matchCountBuffer,0,Dr.ZERO_DATA);let h=this.device.createBindGroup({layout:this.bindGroupLayout,entries:[{binding:0,resource:{buffer:this.paramsBuffer}},{binding:1,resource:{buffer:this.matchCountBuffer}},{binding:2,resource:{buffer:this.matchIBuffer}},{binding:3,resource:{buffer:this.matchJBuffer}},{binding:4,resource:{buffer:this.ciphertextBuffer}},{binding:5,resource:{buffer:this.wordDataBuffer}},{binding:6,resource:{buffer:this.wordOffsetsBuffer}}]}),B=this.device.createCommandEncoder(),b=B.beginComputePass();b.setPipeline(this.pipeline),b.setBindGroup(0,h),b.dispatchWorkgroups(Math.ceil(n/(256*32))),b.end(),B.copyBufferToBuffer(this.matchCountBuffer,0,this.matchCountReadBuffer,0,4),B.copyBufferToBuffer(this.matchIBuffer,0,this.matchIReadBuffer,0,1024*4),B.copyBufferToBuffer(this.matchJBuffer,0,this.matchJReadBuffer,0,1024*4),this.device.queue.submit([B.finish()]),await this.matchCountReadBuffer.mapAsync(GPUMapMode.READ);let v=new Uint32Array(this.matchCountReadBuffer.getMappedRange())[0];this.matchCountReadBuffer.unmap();let w=[];if(v>0){await this.matchIReadBuffer.mapAsync(GPUMapMode.READ),await this.matchJReadBuffer.mapAsync(GPUMapMode.READ);let C=new Uint32Array(this.matchIReadBuffer.getMappedRange()),R=new Uint32Array(this.matchJReadBuffer.getMappedRange());for(let H=0;H<Math.min(v,1024);H++)w.push([C[H],R[H]]);this.matchIReadBuffer.unmap(),this.matchJReadBuffer.unmap()}return w}getWordCount(){return this.wordCount}destroy(){this.paramsBuffer?.destroy(),this.matchCountBuffer?.destroy(),this.matchIBuffer?.destroy(),this.matchJBuffer?.destroy(),this.ciphertextBuffer?.destroy(),this.wordDataBuffer?.destroy(),this.wordOffsetsBuffer?.destroy(),this.matchCountReadBuffer?.destroy(),this.matchIReadBuffer?.destroy(),this.matchJReadBuffer?.destroy(),this.device&&(this.device.destroy(),this.device=null),this.pipeline=null,this.bindGroupLayout=null}};Dr.ZERO_DATA=new Uint32Array([0]);var Er=Dr;var X0=class{runBatch(e,r,n,s,a,c){let i=[],u=e.toString(16).padStart(2,"0"),d=!!(a&&c);for(let o=0;o<s;o++){let x=n+o,f=ze(r,x);if(!f)continue;let p=$e("#"+f);n0(p)===u&&(d&&!H0(a,c,p)||i.push(x))}return i}destroy(){}};var ao=/^[a-z0-9-]+$/,so=/^[a-z0-9].*[a-z0-9]$|^[a-z0-9]$/,io=/--/;function
|
|
719
|
-
`).map(a=>a.trim().toLowerCase()).filter(a=>a.length>0);this.wordlist=s.filter(
|
|
718
|
+
`}async init(){if(!navigator.gpu)return!1;try{let e=await navigator.gpu.requestAdapter();if(!e)return!1;this.device=await e.requestDevice(),this.bindGroupLayout=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.COMPUTE,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:2,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:3,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}},{binding:4,visibility:GPUShaderStage.COMPUTE,buffer:{type:"read-only-storage"}},{binding:5,visibility:GPUShaderStage.COMPUTE,buffer:{type:"read-only-storage"}},{binding:6,visibility:GPUShaderStage.COMPUTE,buffer:{type:"read-only-storage"}}]}),this.paramsBuffer=this.device.createBuffer({size:40,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.matchCountBuffer=this.device.createBuffer({size:4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST}),this.matchIBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC}),this.matchJBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC}),this.matchCountReadBuffer=this.device.createBuffer({size:4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.matchIReadBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.matchJReadBuffer=this.device.createBuffer({size:1024*4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST});let r=this.device.createShaderModule({code:this.shaderCode}),n=this.device.createPipelineLayout({bindGroupLayouts:[this.bindGroupLayout]});return this.pipeline=this.device.createComputePipeline({layout:n,compute:{module:r,entryPoint:"main"}}),!0}catch(e){return console.error("WebGPU word pairs initialization failed:",e),!1}}uploadWords(e){if(!this.device)throw new Error("GPU not initialized");this.wordCount=e.length;let r=0;for(let i of e)r+=i.length;let n=new Uint8Array(Math.ceil(r/4)*4),s=new Uint32Array(e.length),a=0;for(let i=0;i<e.length;i++){let u=e[i];s[i]=a<<8|u.length;for(let d=0;d<u.length;d++)n[a++]=u.charCodeAt(d)}let c=new Uint32Array(Math.ceil(r/4));for(let i=0;i<c.length;i++)c[i]=n[i*4]<<24|n[i*4+1]<<16|n[i*4+2]<<8|n[i*4+3];this.wordDataBuffer&&this.wordDataBuffer.destroy(),this.wordOffsetsBuffer&&this.wordOffsetsBuffer.destroy(),this.wordDataBuffer=this.device.createBuffer({size:Math.max(c.byteLength,4),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.device.queue.writeBuffer(this.wordDataBuffer,0,c),this.wordOffsetsBuffer=this.device.createBuffer({size:s.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.device.queue.writeBuffer(this.wordOffsetsBuffer,0,s)}async runBatch(e,r,n,s,a){if(!this.device||!this.pipeline||!this.bindGroupLayout||!this.paramsBuffer||!this.matchCountBuffer||!this.matchIBuffer||!this.matchJBuffer||!this.matchCountReadBuffer||!this.matchIReadBuffer||!this.matchJReadBuffer||!this.wordDataBuffer||!this.wordOffsetsBuffer)throw new Error("GPU not initialized or words not uploaded");let c=new Uint8Array(s.length/2);for(let C=0;C<c.length;C++)c[C]=parseInt(s.substr(C*2,2),16);let i=c.length*8,u=Math.ceil(c.length/4)*4,d=new Uint8Array(u);d.set(c);let o=new Uint32Array(u/4);for(let C=0;C<o.length;C++)o[C]=d[C*4]<<24|d[C*4+1]<<16|d[C*4+2]<<8|d[C*4+3];let x=parseInt(a.substr(0,2),16),f=parseInt(a.substr(2,2),16),p=x<<24|f<<16,y=Math.max(o.length*4,4);(!this.ciphertextBuffer||this.ciphertextBufferSize<y)&&(this.ciphertextBuffer&&this.ciphertextBuffer.destroy(),this.ciphertextBuffer=this.device.createBuffer({size:y,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),this.ciphertextBufferSize=y);let g=Math.floor(r/this.wordCount),m=r%this.wordCount,l=new Uint32Array([e,this.wordCount,g,m,n,p,o.length,i,30,0]);this.device.queue.writeBuffer(this.paramsBuffer,0,l),this.device.queue.writeBuffer(this.ciphertextBuffer,0,o),this.device.queue.writeBuffer(this.matchCountBuffer,0,Dr.ZERO_DATA);let h=this.device.createBindGroup({layout:this.bindGroupLayout,entries:[{binding:0,resource:{buffer:this.paramsBuffer}},{binding:1,resource:{buffer:this.matchCountBuffer}},{binding:2,resource:{buffer:this.matchIBuffer}},{binding:3,resource:{buffer:this.matchJBuffer}},{binding:4,resource:{buffer:this.ciphertextBuffer}},{binding:5,resource:{buffer:this.wordDataBuffer}},{binding:6,resource:{buffer:this.wordOffsetsBuffer}}]}),B=this.device.createCommandEncoder(),b=B.beginComputePass();b.setPipeline(this.pipeline),b.setBindGroup(0,h),b.dispatchWorkgroups(Math.ceil(n/(256*32))),b.end(),B.copyBufferToBuffer(this.matchCountBuffer,0,this.matchCountReadBuffer,0,4),B.copyBufferToBuffer(this.matchIBuffer,0,this.matchIReadBuffer,0,1024*4),B.copyBufferToBuffer(this.matchJBuffer,0,this.matchJReadBuffer,0,1024*4),this.device.queue.submit([B.finish()]),await this.matchCountReadBuffer.mapAsync(GPUMapMode.READ);let v=new Uint32Array(this.matchCountReadBuffer.getMappedRange())[0];this.matchCountReadBuffer.unmap();let w=[];if(v>0){await this.matchIReadBuffer.mapAsync(GPUMapMode.READ),await this.matchJReadBuffer.mapAsync(GPUMapMode.READ);let C=new Uint32Array(this.matchIReadBuffer.getMappedRange()),R=new Uint32Array(this.matchJReadBuffer.getMappedRange());for(let H=0;H<Math.min(v,1024);H++)w.push([C[H],R[H]]);this.matchIReadBuffer.unmap(),this.matchJReadBuffer.unmap()}return w}getWordCount(){return this.wordCount}destroy(){this.paramsBuffer?.destroy(),this.matchCountBuffer?.destroy(),this.matchIBuffer?.destroy(),this.matchJBuffer?.destroy(),this.ciphertextBuffer?.destroy(),this.wordDataBuffer?.destroy(),this.wordOffsetsBuffer?.destroy(),this.matchCountReadBuffer?.destroy(),this.matchIReadBuffer?.destroy(),this.matchJReadBuffer?.destroy(),this.device&&(this.device.destroy(),this.device=null),this.pipeline=null,this.bindGroupLayout=null}};Dr.ZERO_DATA=new Uint32Array([0]);var Er=Dr;var X0=class{runBatch(e,r,n,s,a,c){let i=[],u=e.toString(16).padStart(2,"0"),d=!!(a&&c);for(let o=0;o<s;o++){let x=n+o,f=ze(r,x);if(!f)continue;let p=$e("#"+f);n0(p)===u&&(d&&!H0(a,c,p)||i.push(x))}return i}destroy(){}};var ao=/^[a-z0-9-]+$/,so=/^[a-z0-9].*[a-z0-9]$|^[a-z0-9]$/,io=/--/;function Bn(t){return!(!t||t.length===0||!ao.test(t)||t.length>1&&!so.test(t)||io.test(t))}var Fr=class{constructor(){this.gpuInstance=null;this.gpuWordPairs=null;this.cpuInstance=null;this.wordlist=[];this.abortFlag=!1;this.useTimestampFilter=!0;this.useUtf8Filter=!0;this.useSenderFilter=!0;this.validSeconds=R0;this.useCpu=!1}async loadWordlist(e){let r=await fetch(e);if(!r.ok)throw new Error(`Failed to load wordlist: ${r.status} ${r.statusText}`);let s=(await r.text()).split(`
|
|
719
|
+
`).map(a=>a.trim().toLowerCase()).filter(a=>a.length>0);this.wordlist=s.filter(Bn)}setWordlist(e){this.wordlist=e.map(r=>r.trim().toLowerCase()).filter(Bn)}abort(){this.abortFlag=!0}isGpuAvailable(){return Ar()}decodePacket(e){let r=e.trim().replace(/\s+/g,"").replace(/^0x/i,"");if(!r||r.length<8||!/^[0-9a-fA-F]+$/.test(r))return null;try{let n=new Uint8Array(r.length/2);for(let g=0;g<n.length;g++)n[g]=parseInt(r.substring(g*2,g*2+2),16);let s=0,a=n[s++],c=a&3;if((a>>2&15)!==5||((c===0||c===3)&&(s+=4),s>=n.length))return null;let u=n[s++],d=(u>>6)+1;if(d===4)return null;let x=(u&63)*d;if(s+=x,s+4>n.length)return null;let f=n[s].toString(16).padStart(2,"0");s+=1;let p=n[s].toString(16).padStart(2,"0")+n[s+1].toString(16).padStart(2,"0");s+=2;let y="";for(let g=s;g<n.length;g++)y+=n[g].toString(16).padStart(2,"0");return{channelHash:f,ciphertext:y,cipherMac:p,isGroupText:!0}}catch{return null}}async crack(e,r,n){this.abortFlag=!1,this.useTimestampFilter=r?.useTimestampFilter??!0,this.useUtf8Filter=r?.useUtf8Filter??!0,this.useSenderFilter=r?.useSenderFilter??!0,this.validSeconds=r?.validSeconds??R0,this.useCpu=r?.forceCpu??!1;let s=r?.maxLength??8,a=r?.startingLength??1,c=r?.useDictionary??!0,i=r?.useTwoWordCombinations??!1,u=r?.startFromType??"bruteforce",d=e.toLowerCase(),o=await this.decodePacket(d);if(!o)return{found:!1,error:"Invalid packet or not a GroupText packet"};let{channelHash:x,ciphertext:f,cipherMac:p}=o,y=parseInt(x,16);this.useCpu?this.cpuInstance||(this.cpuInstance=new X0):this.gpuInstance||(this.gpuInstance=new _r,await this.gpuInstance.init()||(this.useCpu=!0,this.cpuInstance=new X0));let g=performance.now(),m=0,l=performance.now(),h=a,B=0,b=0,_=!1,v=!1,w=0,C=0;if(r?.startFrom){let L=r.startFrom.toLowerCase();if(u==="dictionary"){let V=this.wordlist.indexOf(L);V>=0&&(b=V+1)}else if(u==="dictionary-pair"){_=!0;let V=L.indexOf("+");V>0&&(r._pairResumeWord1=L.substring(0,V),r._pairResumeWord2=L.substring(V+1))}else{_=!0,v=!0;let V=gr(L);V&&(h=Math.max(a,V.length),B=V.index+1,B>=O0(h)&&(h++,B=0))}}let R=0;c&&!_&&this.wordlist.length>0&&(R+=this.wordlist.length-b);let H=30,A=15,D=[],U=[],k=0,z=[],G=[];if(c&&i&&!v&&this.wordlist.length>0){D=this.wordlist.filter(W=>W.length<=A),U=D.map(W=>W.length);let L=r;if(L._pairResumeWord1&&L._pairResumeWord2){let W=D.indexOf(L._pairResumeWord1),ne=D.indexOf(L._pairResumeWord2);W>=0&&ne>=0&&(w=W,C=ne+1,C>=D.length&&(w++,C=0))}z=new Array(A+1).fill(0);for(let W of U)z[W]++;G=new Array(H+1).fill(0);let V=0;for(let W=0;W<=H;W++)W<=A&&(V+=z[W]),G[W]=V;for(let W=w;W<D.length;W++){let ne=U[W],ae=H-ne,Z=G[Math.min(ae,A)];W===w&&C>0?k+=Math.max(0,Z-C):k+=Z}R+=k}for(let L=h;L<=s;L++)R+=O0(L);R-=B;let K=(L,V,W)=>{if(!n)return;let ae=(performance.now()-g)/1e3,Z=ae>0?Math.round(m/ae):0,me=R-m,be=Z>0?me/Z:0;n({checked:m,total:R,percent:R>0?Math.min(100,m/R*100):0,rateKeysPerSec:Z,etaSeconds:be,elapsedSeconds:ae,currentLength:V,currentPosition:W,phase:L})},j=L=>{if(!H0(f,p,L))return{valid:!1};let V=Is.ChannelCrypto.decryptGroupTextMessage(f,p,L);return!V.success||!V.data?{valid:!1}:this.useTimestampFilter&&!br(V.data.timestamp,this.validSeconds)?{valid:!1}:this.useUtf8Filter&&!Br(V.data.message)?{valid:!1}:this.useSenderFilter&&!V.data.sender?{valid:!1}:{valid:!0,message:V.data.sender?`${V.data.sender}: ${V.data.message}`:V.data.message}};if(!_&&b===0&&h===a&&B===0){K("public-key",0,T0);let L=n0(p0);if(x===L){let V=j(p0);if(V.valid)return{found:!0,roomName:T0,key:p0,decryptedMessage:V.message}}}let E,S,T=()=>({found:!1,aborted:!0,resumeFrom:E,resumeType:S});if(c&&!_&&this.wordlist.length>0)for(let L=b;L<this.wordlist.length;L++){if(this.abortFlag)return T();let V=this.wordlist[L],W=$e("#"+V),ne=n0(W);if(parseInt(ne,16)===y){let Z=j(W);if(Z.valid)return{found:!0,roomName:V,key:W,decryptedMessage:Z.message,resumeFrom:V,resumeType:"dictionary"}}m++,E=V,S="dictionary";let ae=performance.now();ae-l>=200&&(K("wordlist",V.length,V),l=ae,await new Promise(Z=>setTimeout(Z,0)))}if(c&&i&&!v&&D.length>0){let L=D.length*D.length,V=w*D.length+C,W=!this.useCpu;if(W&&(this.gpuWordPairs||(this.gpuWordPairs=new Er,await this.gpuWordPairs.init()||(W=!1,this.gpuWordPairs=null)),this.gpuWordPairs&&this.gpuWordPairs.uploadWords(D)),W&&this.gpuWordPairs){let Z=r?.gpuDispatchMs??1e3,me=1048576,be=!1,xe=V;for(;xe<L;){if(this.abortFlag)return T();let he=Math.min(me,L-xe),ye=performance.now(),ce=await this.gpuWordPairs.runBatch(y,xe,he,f,p),se=performance.now()-ye;if(m+=he,!be&&he>=1048576&&se>0){let Ae=Z/se,we=Math.round(he*Ae),Oe=Math.pow(2,Math.round(Math.log2(Math.max(1048576,we))));me=Math.min(Math.max(1048576,Oe),536862720),be=!0}for(let[Ae,we]of ce){let Oe=D[Ae],s0=D[we],i0=Oe+s0,Te=$e("#"+i0),Ue=j(Te);if(Ue.valid)return{found:!0,roomName:i0,key:Te,decryptedMessage:Ue.message,resumeFrom:`${Oe}+${s0}`,resumeType:"dictionary-pair"}}xe+=he;let ue=xe-1,Be=Math.floor(ue/D.length),Fe=ue%D.length;Be<D.length&&(E=`${D[Be]}+${D[Fe]}`,S="dictionary-pair");let a0=performance.now();if(a0-l>=200){let Ae=Math.floor(Math.min(xe,L-1)/D.length),we=Math.min(xe,L-1)%D.length;K("wordlist-pairs",0,`${D[Ae]}+${D[we]}`),l=a0,await new Promise(Oe=>setTimeout(Oe,0))}}}else for(let ne=w;ne<D.length;ne++){let ae=D[ne],Z=U[ne],me=H-Z,be=ne===w?C:0;for(let xe=be;xe<D.length;xe++){if(this.abortFlag)return T();let he=U[xe];if(he>me)continue;let ye=D[xe],ce=ae+ye;if(!Bn(ce))continue;let se=$e("#"+ce),ue=n0(se);if(parseInt(ue,16)===y){let Fe=j(se);if(Fe.valid)return{found:!0,roomName:ce,key:se,decryptedMessage:Fe.message,resumeFrom:`${ae}+${ye}`,resumeType:"dictionary-pair"}}m++,E=`${ae}+${ye}`,S="dictionary-pair";let Be=performance.now();Be-l>=200&&(K("wordlist-pairs",Z+he,`${ae}+${ye}`),l=Be,await new Promise(Fe=>setTimeout(Fe,0)))}}}let P=this.useCpu?1024:32768,ee=65535*256*32,re=r?.gpuDispatchMs??1e3,pe=P,$=!1;for(let L=h;L<=s;L++){if(this.abortFlag)return T();let V=O0(L),W=L===h?B:0;for(;W<V;){if(this.abortFlag)return T();let ne=Math.min(pe,V-W),ae=performance.now(),Z;this.useCpu?Z=this.cpuInstance.runBatch(y,L,W,ne,f,p):Z=await this.gpuInstance.runBatch(y,L,W,ne,f,p);let me=performance.now()-ae;if(m+=ne,!this.useCpu&&!$&&ne>=P&&me>0){let ye=re/me,ce=Math.round(ne*ye),se=Math.pow(2,Math.round(Math.log2(Math.max(P,ce))));pe=Math.min(Math.max(P,se),ee),$=!0}for(let ye of Z){let ce=ze(L,ye);if(!ce)continue;let se=$e("#"+ce),ue=j(se);if(ue.valid)return{found:!0,roomName:ce,key:se,decryptedMessage:ue.message,resumeFrom:ce,resumeType:"bruteforce"}}W+=ne;let be=Math.min(W-1,V-1),xe=ze(L,be);xe&&(E=xe,S="bruteforce");let he=performance.now();if(he-l>=200){let ye=ze(L,Math.min(W,V-1))||"";K("bruteforce",L,ye),l=he,await new Promise(ce=>setTimeout(ce,0))}}}return{found:!1,resumeFrom:E,resumeType:S}}destroy(){this.gpuInstance&&(this.gpuInstance.destroy(),this.gpuInstance=null),this.gpuWordPairs&&(this.gpuWordPairs.destroy(),this.gpuWordPairs=null),this.cpuInstance&&(this.cpuInstance.destroy(),this.cpuInstance=null)}};return En(oo);})();
|
|
720
720
|
/*! Bundled license information:
|
|
721
721
|
|
|
722
722
|
crypto-js/ripemd160.js:
|