@leeguoo/pwtk-network-debugger 1.0.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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Leo (@leeguoo)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,272 @@
1
+ # 🔍 Network Debugger
2
+
3
+ 一个强大的网络调试工具,类似 vConsole,支持自动请求解密和可视化调试面板。
4
+
5
+ **Created by Leo (@leeguoo) - 如需支持请联系 Leo**
6
+
7
+ ## ✨ 特性
8
+
9
+ - 🌐 **网络请求拦截**: 自动拦截 XMLHttpRequest 和 Fetch 请求
10
+ - 🔓 **自动解密**: 支持 WebAssembly 加密数据的自动解密
11
+ - 🎨 **可视化面板**: 类似 vConsole 的调试面板,支持拖拽和调整大小
12
+ - 📱 **移动端友好**: 响应式设计,适配各种屏幕尺寸
13
+ - 🛠️ **丰富工具**: cURL 解析、CORS 测试、HAR 导出等
14
+ - 📊 **控制台功能**: 内置 JavaScript 控制台
15
+ - 🎯 **零配置**: 开箱即用,一行代码即可启用
16
+
17
+ ## 📦 安装
18
+
19
+ ```bash
20
+ npm install @leeguoo/network-debugger
21
+ ```
22
+
23
+ 或使用 CDN:
24
+
25
+ ```html
26
+ <script src="https://unpkg.com/@leeguoo/network-debugger/dist/index.js"></script>
27
+ ```
28
+
29
+ ## 🚀 快速开始
30
+
31
+ ### ESM/TypeScript 项目
32
+
33
+ ```typescript
34
+ import NetworkDebugger from '@leeguoo/network-debugger'
35
+
36
+ // 简单使用
37
+ await NetworkDebugger.init()
38
+
39
+ // 或者带配置
40
+ await NetworkDebugger.init({
41
+ position: 'bottom-right',
42
+ theme: 'dark',
43
+ decrypt: {
44
+ enabled: true,
45
+ keyExtractor: (headers) => headers.keys || headers.cid,
46
+ slkExtractor: (headers) => headers.slk
47
+ }
48
+ })
49
+ ```
50
+
51
+ ### CommonJS 项目
52
+
53
+ ```javascript
54
+ const NetworkDebugger = require('@leeguoo/network-debugger').default
55
+
56
+ NetworkDebugger.init({
57
+ position: 'top-left',
58
+ showConsole: true
59
+ })
60
+ ```
61
+
62
+ ### HTML 直接引入
63
+
64
+ ```html
65
+ <!DOCTYPE html>
66
+ <html>
67
+ <head>
68
+ <title>网络调试工具</title>
69
+ </head>
70
+ <body>
71
+ <!-- 您的页面内容 -->
72
+
73
+ <script src="https://unpkg.com/@leeguoo/network-debugger/dist/index.js"></script>
74
+ <script>
75
+ // 等待页面加载完成
76
+ window.addEventListener('DOMContentLoaded', async () => {
77
+ await NetworkDebugger.init({
78
+ position: 'bottom-right',
79
+ minimized: false
80
+ })
81
+ })
82
+ </script>
83
+ </body>
84
+ </html>
85
+ ```
86
+
87
+ ## ⚙️ 配置选项
88
+
89
+ ```typescript
90
+ interface NetworkDebuggerConfig {
91
+ // 面板位置
92
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'
93
+
94
+ // 主题
95
+ theme?: 'dark' | 'light'
96
+
97
+ // 是否最小化
98
+ minimized?: boolean
99
+
100
+ // 是否显示控制台
101
+ showConsole?: boolean
102
+
103
+ // 是否自动启动
104
+ autoStart?: boolean
105
+
106
+ // WebAssembly 配置
107
+ wasm?: {
108
+ enabled?: boolean
109
+ wasmUrl?: string // 自定义 wasm 文件路径
110
+ jsUrl?: string // 自定义 wasm_exec.js 路径
111
+ }
112
+
113
+ // 解密配置
114
+ decrypt?: {
115
+ enabled?: boolean
116
+ keyExtractor?: (headers: Record<string, string>) => string
117
+ slkExtractor?: (headers: Record<string, string>) => string
118
+ }
119
+
120
+ // 过滤器(可选)
121
+ filter?: {
122
+ urls?: string[] // 只拦截这些URL
123
+ ignoreUrls?: string[] // 忽略这些URL
124
+ methods?: string[] // 只拦截这些HTTP方法
125
+ }
126
+ }
127
+ ```
128
+
129
+ ## 🎯 功能详解
130
+
131
+ ### 1. 网络请求监控
132
+
133
+ 工具会自动拦截所有的 `XMLHttpRequest` 和 `fetch` 请求,并在调试面板中显示:
134
+
135
+ - 请求方法和 URL
136
+ - 请求头和响应头
137
+ - 请求体和响应体
138
+ - 响应状态码和耗时
139
+ - 错误信息(如果有)
140
+
141
+ ### 2. 自动解密功能
142
+
143
+ 如果您的项目使用了加密数据传输,工具可以自动解密:
144
+
145
+ ```typescript
146
+ await NetworkDebugger.init({
147
+ decrypt: {
148
+ enabled: true,
149
+ // 从请求头中提取密钥
150
+ keyExtractor: (headers) => {
151
+ // 例如:从Cookie或header中获取keys
152
+ return headers.keys || getCookieValue('keys')
153
+ },
154
+ // 从请求头中提取slk
155
+ slkExtractor: (headers) => {
156
+ return headers.slk || ''
157
+ }
158
+ }
159
+ })
160
+ ```
161
+
162
+ ### 3. WebAssembly 支持
163
+
164
+ 如果您使用了 WebAssembly 加密模块(如原项目中的 mimlib.wasm),工具会自动加载:
165
+
166
+ ```typescript
167
+ await NetworkDebugger.init({
168
+ wasm: {
169
+ enabled: true,
170
+ wasmUrl: '/path/to/your/mimlib.wasm',
171
+ jsUrl: '/path/to/your/wasm_exec.js'
172
+ }
173
+ })
174
+ ```
175
+
176
+ ### 4. 工具功能
177
+
178
+ 调试面板内置了多种实用工具:
179
+
180
+ - **cURL 解析**: 粘贴 cURL 命令并解析
181
+ - **CORS 测试**: 测试跨域请求
182
+ - **HAR 导出**: 导出网络数据为 HAR 格式
183
+ - **解密测试**: 测试数据解密功能
184
+
185
+ ## 🔧 API 参考
186
+
187
+ ### 全局方法
188
+
189
+ ```typescript
190
+ // 初始化
191
+ await NetworkDebugger.init(config)
192
+
193
+ // 显示面板
194
+ NetworkDebugger.show()
195
+
196
+ // 隐藏面板
197
+ NetworkDebugger.hide()
198
+
199
+ // 销毁实例
200
+ NetworkDebugger.destroy()
201
+
202
+ // 获取当前实例
203
+ const instance = NetworkDebugger.getInstance()
204
+ ```
205
+
206
+ ### 实例方法
207
+
208
+ ```typescript
209
+ // 创建独立实例
210
+ const debugger = await NetworkDebugger.create(config)
211
+
212
+ // 获取所有请求
213
+ const requests = debugger.getRequests()
214
+
215
+ // 清空请求历史
216
+ debugger.clearRequests()
217
+
218
+ // 导出数据
219
+ const data = debugger.exportData()
220
+
221
+ // 检查 WebAssembly 是否加载
222
+ const wasmLoaded = debugger.isWasmLoaded()
223
+ ```
224
+
225
+ ## 🎨 界面功能
226
+
227
+ ### 面板操作
228
+ - **拖拽移动**: 点击标题栏拖拽面板
229
+ - **调整大小**: 拖拽边缘调整面板大小
230
+ - **最小化**: 点击最小化按钮
231
+ - **全屏**: 点击全屏按钮
232
+
233
+ ### 请求列表
234
+ - **点击展开**: 点击请求项查看详情
235
+ - **自动解密**: 显示解密后的请求和响应数据
236
+ - **状态码**: 不同颜色显示不同的HTTP状态码
237
+
238
+ ### 控制台
239
+ - **执行代码**: 在控制台中执行 JavaScript 代码
240
+ - **查看日志**: 显示调试工具的运行日志
241
+
242
+ ## 📱 移动端使用
243
+
244
+ 工具完全适配移动端,在移动设备上:
245
+
246
+ - 自动调整面板大小
247
+ - 支持触摸操作
248
+ - 响应式布局
249
+
250
+ ## 🔒 隐私说明
251
+
252
+ - 工具仅在本地运行,不会上传任何数据
253
+ - 所有网络请求的拦截和解密都在浏览器内完成
254
+ - 可以完全离线使用
255
+
256
+ ## 🤝 贡献
257
+
258
+ 欢迎提交 Issue 和 Pull Request!
259
+
260
+ ## 📄 许可
261
+
262
+ MIT License
263
+
264
+ ## 👨‍💻 作者
265
+
266
+ **Leo (@leeguoo)**
267
+
268
+ 如需技术支持或商业合作,请联系 Leo
269
+
270
+ ---
271
+
272
+ *这个工具基于原始的 curl-tool 项目开发,旨在为开发者提供更好的网络调试体验。*
@@ -0,0 +1,18 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function n(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if("function"==typeof e){var n=function t(){var n=!1;try{n=this instanceof t}catch{}return n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(e){var r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,r.get?r:{enumerable:!0,get:function(){return t[e]}})}),n}var r={exports:{}};var o={exports:{}};const i=n(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var s;function a(){return s||(s=1,o.exports=(e=e||function(e,n){var r;if("undefined"!=typeof window&&window.crypto&&(r=window.crypto),"undefined"!=typeof self&&self.crypto&&(r=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(r=globalThis.crypto),!r&&"undefined"!=typeof window&&window.msCrypto&&(r=window.msCrypto),!r&&void 0!==t&&t.crypto&&(r=t.crypto),!r)try{r=i}catch(y){}var o=function(){if(r){if("function"==typeof r.getRandomValues)try{return r.getRandomValues(new Uint32Array(1))[0]}catch(y){}if("function"==typeof r.randomBytes)try{return r.randomBytes(4).readInt32LE()}catch(y){}}throw new Error("Native crypto module could not be used to get secure random number.")},s=Object.create||function(){function t(){}return function(e){var n;return t.prototype=e,n=new t,t.prototype=null,n}}(),a={},c=a.lib={},l=c.Base=function(){return{extend:function(t){var e=s(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),d=c.WordArray=l.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=e!=n?e:4*t.length},toString:function(t){return(t||u).stringify(this)},concat:function(t){var e=this.words,n=t.words,r=this.sigBytes,o=t.sigBytes;if(this.clamp(),r%4)for(var i=0;i<o;i++){var s=n[i>>>2]>>>24-i%4*8&255;e[r+i>>>2]|=s<<24-(r+i)%4*8}else for(var a=0;a<o;a+=4)e[r+a>>>2]=n[a>>>2];return this.sigBytes+=o,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var t=l.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],n=0;n<t;n+=4)e.push(o());return new d.init(e,t)}}),h=a.enc={},u=h.Hex={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],o=0;o<n;o++){var i=e[o>>>2]>>>24-o%4*8&255;r.push((i>>>4).toString(16)),r.push((15&i).toString(16))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r<e;r+=2)n[r>>>3]|=parseInt(t.substr(r,2),16)<<24-r%8*4;return new d.init(n,e/2)}},p=h.Latin1={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],o=0;o<n;o++){var i=e[o>>>2]>>>24-o%4*8&255;r.push(String.fromCharCode(i))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r<e;r++)n[r>>>2]|=(255&t.charCodeAt(r))<<24-r%4*8;return new d.init(n,e)}},f=h.Utf8={stringify:function(t){try{return decodeURIComponent(escape(p.stringify(t)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(t){return p.parse(unescape(encodeURIComponent(t)))}},g=c.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=f.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var n,r=this._data,o=r.words,i=r.sigBytes,s=this.blockSize,a=i/(4*s),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*s,l=e.min(4*c,i);if(c){for(var h=0;h<c;h+=s)this._doProcessBlock(o,h);n=o.splice(0,c),r.sigBytes-=l}return new d.init(n,l)},clone:function(){var t=l.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});c.Hasher=g.extend({cfg:l.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){g.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,n){return new t.init(n).finalize(e)}},_createHmacHelper:function(t){return function(e,n){return new v.HMAC.init(t,n).finalize(e)}}});var v=a.algo={};return a}(Math),e)),o.exports;var e}var c,l={exports:{}};function d(){return c?l.exports:(c=1,l.exports=(s=a(),n=(e=s).lib,r=n.Base,o=n.WordArray,(i=e.x64={}).Word=r.extend({init:function(t,e){this.high=t,this.low=e}}),i.WordArray=r.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:8*e.length},toX32:function(){for(var t=this.words,e=t.length,n=[],r=0;r<e;r++){var i=t[r];n.push(i.high),n.push(i.low)}return o.create(n,this.sigBytes)},clone:function(){for(var t=r.clone.call(this),e=t.words=this.words.slice(0),n=e.length,o=0;o<n;o++)e[o]=e[o].clone();return t}}),s));var t,e,n,r,o,i,s}var h,u={exports:{}};function p(){return h||(h=1,u.exports=(t=a(),function(){if("function"==typeof ArrayBuffer){var e=t.lib.WordArray,n=e.init,r=e.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var e=t.byteLength,r=[],o=0;o<e;o++)r[o>>>2]|=t[o]<<24-o%4*8;n.call(this,r,e)}else n.apply(this,arguments)};r.prototype=e}}(),t.lib.WordArray)),u.exports;var t}var f,g={exports:{}};function v(){return f?g.exports:(f=1,g.exports=(t=a(),function(){var e=t,n=e.lib.WordArray,r=e.enc;function o(t){return t<<8&4278255360|t>>>8&16711935}r.Utf16=r.Utf16BE={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],o=0;o<n;o+=2){var i=e[o>>>2]>>>16-o%4*8&65535;r.push(String.fromCharCode(i))}return r.join("")},parse:function(t){for(var e=t.length,r=[],o=0;o<e;o++)r[o>>>1]|=t.charCodeAt(o)<<16-o%2*16;return n.create(r,2*e)}},r.Utf16LE={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],i=0;i<n;i+=2){var s=o(e[i>>>2]>>>16-i%4*8&65535);r.push(String.fromCharCode(s))}return r.join("")},parse:function(t){for(var e=t.length,r=[],i=0;i<e;i++)r[i>>>1]|=o(t.charCodeAt(i)<<16-i%2*16);return n.create(r,2*e)}}}(),t.enc.Utf16));var t}var y,x={exports:{}};function b(){return y?x.exports:(y=1,x.exports=(t=a(),function(){var e=t,n=e.lib.WordArray;function r(t,e,r){for(var o=[],i=0,s=0;s<e;s++)if(s%4){var a=r[t.charCodeAt(s-1)]<<s%4*2|r[t.charCodeAt(s)]>>>6-s%4*2;o[i>>>2]|=a<<24-i%4*8,i++}return n.create(o,i)}e.enc.Base64={stringify:function(t){var e=t.words,n=t.sigBytes,r=this._map;t.clamp();for(var o=[],i=0;i<n;i+=3)for(var s=(e[i>>>2]>>>24-i%4*8&255)<<16|(e[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|e[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a<n;a++)o.push(r.charAt(s>>>6*(3-a)&63));var c=r.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(t){var e=t.length,n=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var i=0;i<n.length;i++)o[n.charCodeAt(i)]=i}var s=n.charAt(64);if(s){var a=t.indexOf(s);-1!==a&&(e=a)}return r(t,e,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),t.enc.Base64));var t}var w,m={exports:{}};function _(){return w?m.exports:(w=1,m.exports=(t=a(),function(){var e=t,n=e.lib.WordArray;function r(t,e,r){for(var o=[],i=0,s=0;s<e;s++)if(s%4){var a=r[t.charCodeAt(s-1)]<<s%4*2|r[t.charCodeAt(s)]>>>6-s%4*2;o[i>>>2]|=a<<24-i%4*8,i++}return n.create(o,i)}e.enc.Base64url={stringify:function(t,e){void 0===e&&(e=!0);var n=t.words,r=t.sigBytes,o=e?this._safe_map:this._map;t.clamp();for(var i=[],s=0;s<r;s+=3)for(var a=(n[s>>>2]>>>24-s%4*8&255)<<16|(n[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|n[s+2>>>2]>>>24-(s+2)%4*8&255,c=0;c<4&&s+.75*c<r;c++)i.push(o.charAt(a>>>6*(3-c)&63));var l=o.charAt(64);if(l)for(;i.length%4;)i.push(l);return i.join("")},parse:function(t,e){void 0===e&&(e=!0);var n=t.length,o=e?this._safe_map:this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var s=0;s<o.length;s++)i[o.charCodeAt(s)]=s}var a=o.charAt(64);if(a){var c=t.indexOf(a);-1!==c&&(n=c)}return r(t,n,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),t.enc.Base64url));var t}var k,B={exports:{}};function S(){return k?B.exports:(k=1,B.exports=(t=a(),function(e){var n=t,r=n.lib,o=r.WordArray,i=r.Hasher,s=n.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();var c=s.MD5=i.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var n=0;n<16;n++){var r=e+n,o=t[r];t[r]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var i=this._hash.words,s=t[e+0],c=t[e+1],p=t[e+2],f=t[e+3],g=t[e+4],v=t[e+5],y=t[e+6],x=t[e+7],b=t[e+8],w=t[e+9],m=t[e+10],_=t[e+11],k=t[e+12],B=t[e+13],S=t[e+14],C=t[e+15],z=i[0],R=i[1],A=i[2],E=i[3];z=l(z,R,A,E,s,7,a[0]),E=l(E,z,R,A,c,12,a[1]),A=l(A,E,z,R,p,17,a[2]),R=l(R,A,E,z,f,22,a[3]),z=l(z,R,A,E,g,7,a[4]),E=l(E,z,R,A,v,12,a[5]),A=l(A,E,z,R,y,17,a[6]),R=l(R,A,E,z,x,22,a[7]),z=l(z,R,A,E,b,7,a[8]),E=l(E,z,R,A,w,12,a[9]),A=l(A,E,z,R,m,17,a[10]),R=l(R,A,E,z,_,22,a[11]),z=l(z,R,A,E,k,7,a[12]),E=l(E,z,R,A,B,12,a[13]),A=l(A,E,z,R,S,17,a[14]),z=d(z,R=l(R,A,E,z,C,22,a[15]),A,E,c,5,a[16]),E=d(E,z,R,A,y,9,a[17]),A=d(A,E,z,R,_,14,a[18]),R=d(R,A,E,z,s,20,a[19]),z=d(z,R,A,E,v,5,a[20]),E=d(E,z,R,A,m,9,a[21]),A=d(A,E,z,R,C,14,a[22]),R=d(R,A,E,z,g,20,a[23]),z=d(z,R,A,E,w,5,a[24]),E=d(E,z,R,A,S,9,a[25]),A=d(A,E,z,R,f,14,a[26]),R=d(R,A,E,z,b,20,a[27]),z=d(z,R,A,E,B,5,a[28]),E=d(E,z,R,A,p,9,a[29]),A=d(A,E,z,R,x,14,a[30]),z=h(z,R=d(R,A,E,z,k,20,a[31]),A,E,v,4,a[32]),E=h(E,z,R,A,b,11,a[33]),A=h(A,E,z,R,_,16,a[34]),R=h(R,A,E,z,S,23,a[35]),z=h(z,R,A,E,c,4,a[36]),E=h(E,z,R,A,g,11,a[37]),A=h(A,E,z,R,x,16,a[38]),R=h(R,A,E,z,m,23,a[39]),z=h(z,R,A,E,B,4,a[40]),E=h(E,z,R,A,s,11,a[41]),A=h(A,E,z,R,f,16,a[42]),R=h(R,A,E,z,y,23,a[43]),z=h(z,R,A,E,w,4,a[44]),E=h(E,z,R,A,k,11,a[45]),A=h(A,E,z,R,C,16,a[46]),z=u(z,R=h(R,A,E,z,p,23,a[47]),A,E,s,6,a[48]),E=u(E,z,R,A,x,10,a[49]),A=u(A,E,z,R,S,15,a[50]),R=u(R,A,E,z,v,21,a[51]),z=u(z,R,A,E,k,6,a[52]),E=u(E,z,R,A,f,10,a[53]),A=u(A,E,z,R,m,15,a[54]),R=u(R,A,E,z,c,21,a[55]),z=u(z,R,A,E,b,6,a[56]),E=u(E,z,R,A,C,10,a[57]),A=u(A,E,z,R,y,15,a[58]),R=u(R,A,E,z,B,21,a[59]),z=u(z,R,A,E,g,6,a[60]),E=u(E,z,R,A,_,10,a[61]),A=u(A,E,z,R,p,15,a[62]),R=u(R,A,E,z,w,21,a[63]),i[0]=i[0]+z|0,i[1]=i[1]+R|0,i[2]=i[2]+A|0,i[3]=i[3]+E|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,o=8*t.sigBytes;n[o>>>5]|=128<<24-o%32;var i=e.floor(r/4294967296),s=r;n[15+(o+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),n[14+(o+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),t.sigBytes=4*(n.length+1),this._process();for(var a=this._hash,c=a.words,l=0;l<4;l++){var d=c[l];c[l]=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8)}return a},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t}});function l(t,e,n,r,o,i,s){var a=t+(e&n|~e&r)+o+s;return(a<<i|a>>>32-i)+e}function d(t,e,n,r,o,i,s){var a=t+(e&r|n&~r)+o+s;return(a<<i|a>>>32-i)+e}function h(t,e,n,r,o,i,s){var a=t+(e^n^r)+o+s;return(a<<i|a>>>32-i)+e}function u(t,e,n,r,o,i,s){var a=t+(n^(e|~r))+o+s;return(a<<i|a>>>32-i)+e}n.MD5=i._createHelper(c),n.HmacMD5=i._createHmacHelper(c)}(Math),t.MD5));var t}var C,z={exports:{}};function R(){return C?z.exports:(C=1,z.exports=(c=a(),e=(t=c).lib,n=e.WordArray,r=e.Hasher,o=t.algo,i=[],s=o.SHA1=r.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var n=this._hash.words,r=n[0],o=n[1],s=n[2],a=n[3],c=n[4],l=0;l<80;l++){if(l<16)i[l]=0|t[e+l];else{var d=i[l-3]^i[l-8]^i[l-14]^i[l-16];i[l]=d<<1|d>>>31}var h=(r<<5|r>>>27)+c+i[l];h+=l<20?1518500249+(o&s|~o&a):l<40?1859775393+(o^s^a):l<60?(o&s|o&a|s&a)-1894007588:(o^s^a)-899497514,c=a,a=s,s=o<<30|o>>>2,o=r,r=h}n[0]=n[0]+r|0,n[1]=n[1]+o|0,n[2]=n[2]+s|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0},_doFinalize:function(){var t=this._data,e=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;return e[r>>>5]|=128<<24-r%32,e[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),e[15+(r+64>>>9<<4)]=n,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t}}),t.SHA1=r._createHelper(s),t.HmacSHA1=r._createHmacHelper(s),c.SHA1));var t,e,n,r,o,i,s,c}var A,E={exports:{}};function H(){return A?E.exports:(A=1,E.exports=(t=a(),function(e){var n=t,r=n.lib,o=r.WordArray,i=r.Hasher,s=n.algo,a=[],c=[];!function(){function t(t){for(var n=e.sqrt(t),r=2;r<=n;r++)if(!(t%r))return!1;return!0}function n(t){return 4294967296*(t-(0|t))|0}for(var r=2,o=0;o<64;)t(r)&&(o<8&&(a[o]=n(e.pow(r,.5))),c[o]=n(e.pow(r,1/3)),o++),r++}();var l=[],d=s.SHA256=i.extend({_doReset:function(){this._hash=new o.init(a.slice(0))},_doProcessBlock:function(t,e){for(var n=this._hash.words,r=n[0],o=n[1],i=n[2],s=n[3],a=n[4],d=n[5],h=n[6],u=n[7],p=0;p<64;p++){if(p<16)l[p]=0|t[e+p];else{var f=l[p-15],g=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,v=l[p-2],y=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;l[p]=g+l[p-7]+y+l[p-16]}var x=r&o^r&i^o&i,b=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),w=u+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&d^~a&h)+c[p]+l[p];u=h,h=d,d=a,a=s+w|0,s=i,i=o,o=r,r=w+(b+x)|0}n[0]=n[0]+r|0,n[1]=n[1]+o|0,n[2]=n[2]+i|0,n[3]=n[3]+s|0,n[4]=n[4]+a|0,n[5]=n[5]+d|0,n[6]=n[6]+h|0,n[7]=n[7]+u|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,o=8*t.sigBytes;return n[o>>>5]|=128<<24-o%32,n[14+(o+64>>>9<<4)]=e.floor(r/4294967296),n[15+(o+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t}});n.SHA256=i._createHelper(d),n.HmacSHA256=i._createHmacHelper(d)}(Math),t.SHA256));var t}var q,D={exports:{}};var M,L={exports:{}};function O(){return M||(M=1,L.exports=(t=a(),d(),function(){var e=t,n=e.lib.Hasher,r=e.x64,o=r.Word,i=r.WordArray,s=e.algo;function a(){return o.create.apply(o,arguments)}var c=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],l=[];!function(){for(var t=0;t<80;t++)l[t]=a()}();var d=s.SHA512=n.extend({_doReset:function(){this._hash=new i.init([new o.init(1779033703,4089235720),new o.init(3144134277,2227873595),new o.init(1013904242,4271175723),new o.init(2773480762,1595750129),new o.init(1359893119,2917565137),new o.init(2600822924,725511199),new o.init(528734635,4215389547),new o.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var n=this._hash.words,r=n[0],o=n[1],i=n[2],s=n[3],a=n[4],d=n[5],h=n[6],u=n[7],p=r.high,f=r.low,g=o.high,v=o.low,y=i.high,x=i.low,b=s.high,w=s.low,m=a.high,_=a.low,k=d.high,B=d.low,S=h.high,C=h.low,z=u.high,R=u.low,A=p,E=f,H=g,q=v,D=y,M=x,L=b,O=w,T=m,F=_,P=k,j=B,$=S,U=C,W=z,I=R,N=0;N<80;N++){var X,K,J=l[N];if(N<16)K=J.high=0|t[e+2*N],X=J.low=0|t[e+2*N+1];else{var Y=l[N-15],G=Y.high,Z=Y.low,V=(G>>>1|Z<<31)^(G>>>8|Z<<24)^G>>>7,Q=(Z>>>1|G<<31)^(Z>>>8|G<<24)^(Z>>>7|G<<25),tt=l[N-2],et=tt.high,nt=tt.low,rt=(et>>>19|nt<<13)^(et<<3|nt>>>29)^et>>>6,ot=(nt>>>19|et<<13)^(nt<<3|et>>>29)^(nt>>>6|et<<26),it=l[N-7],st=it.high,at=it.low,ct=l[N-16],lt=ct.high,dt=ct.low;K=(K=(K=V+st+((X=Q+at)>>>0<Q>>>0?1:0))+rt+((X+=ot)>>>0<ot>>>0?1:0))+lt+((X+=dt)>>>0<dt>>>0?1:0),J.high=K,J.low=X}var ht,ut=T&P^~T&$,pt=F&j^~F&U,ft=A&H^A&D^H&D,gt=E&q^E&M^q&M,vt=(A>>>28|E<<4)^(A<<30|E>>>2)^(A<<25|E>>>7),yt=(E>>>28|A<<4)^(E<<30|A>>>2)^(E<<25|A>>>7),xt=(T>>>14|F<<18)^(T>>>18|F<<14)^(T<<23|F>>>9),bt=(F>>>14|T<<18)^(F>>>18|T<<14)^(F<<23|T>>>9),wt=c[N],mt=wt.high,_t=wt.low,kt=W+xt+((ht=I+bt)>>>0<I>>>0?1:0),Bt=yt+gt;W=$,I=U,$=P,U=j,P=T,j=F,T=L+(kt=(kt=(kt=kt+ut+((ht+=pt)>>>0<pt>>>0?1:0))+mt+((ht+=_t)>>>0<_t>>>0?1:0))+K+((ht+=X)>>>0<X>>>0?1:0))+((F=O+ht|0)>>>0<O>>>0?1:0)|0,L=D,O=M,D=H,M=q,H=A,q=E,A=kt+(vt+ft+(Bt>>>0<yt>>>0?1:0))+((E=ht+Bt|0)>>>0<ht>>>0?1:0)|0}f=r.low=f+E,r.high=p+A+(f>>>0<E>>>0?1:0),v=o.low=v+q,o.high=g+H+(v>>>0<q>>>0?1:0),x=i.low=x+M,i.high=y+D+(x>>>0<M>>>0?1:0),w=s.low=w+O,s.high=b+L+(w>>>0<O>>>0?1:0),_=a.low=_+F,a.high=m+T+(_>>>0<F>>>0?1:0),B=d.low=B+j,d.high=k+P+(B>>>0<j>>>0?1:0),C=h.low=C+U,h.high=S+$+(C>>>0<U>>>0?1:0),R=u.low=R+I,u.high=z+W+(R>>>0<I>>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;return e[r>>>5]|=128<<24-r%32,e[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),e[31+(r+128>>>10<<5)]=n,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});e.SHA512=n._createHelper(d),e.HmacSHA512=n._createHmacHelper(d)}(),t.SHA512)),L.exports;var t}var T,F={exports:{}};var P,j={exports:{}};function $(){return P?j.exports:(P=1,j.exports=(t=a(),d(),function(e){var n=t,r=n.lib,o=r.WordArray,i=r.Hasher,s=n.x64.Word,a=n.algo,c=[],l=[],d=[];!function(){for(var t=1,e=0,n=0;n<24;n++){c[t+5*e]=(n+1)*(n+2)/2%64;var r=(2*t+3*e)%5;t=e%5,e=r}for(t=0;t<5;t++)for(e=0;e<5;e++)l[t+5*e]=e+(2*t+3*e)%5*5;for(var o=1,i=0;i<24;i++){for(var a=0,h=0,u=0;u<7;u++){if(1&o){var p=(1<<u)-1;p<32?h^=1<<p:a^=1<<p-32}128&o?o=o<<1^113:o<<=1}d[i]=s.create(a,h)}}();var h=[];!function(){for(var t=0;t<25;t++)h[t]=s.create()}();var u=a.SHA3=i.extend({cfg:i.cfg.extend({outputLength:512}),_doReset:function(){for(var t=this._state=[],e=0;e<25;e++)t[e]=new s.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(t,e){for(var n=this._state,r=this.blockSize/2,o=0;o<r;o++){var i=t[e+2*o],s=t[e+2*o+1];i=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(R=n[o]).high^=s,R.low^=i}for(var a=0;a<24;a++){for(var u=0;u<5;u++){for(var p=0,f=0,g=0;g<5;g++)p^=(R=n[u+5*g]).high,f^=R.low;var v=h[u];v.high=p,v.low=f}for(u=0;u<5;u++){var y=h[(u+4)%5],x=h[(u+1)%5],b=x.high,w=x.low;for(p=y.high^(b<<1|w>>>31),f=y.low^(w<<1|b>>>31),g=0;g<5;g++)(R=n[u+5*g]).high^=p,R.low^=f}for(var m=1;m<25;m++){var _=(R=n[m]).high,k=R.low,B=c[m];B<32?(p=_<<B|k>>>32-B,f=k<<B|_>>>32-B):(p=k<<B-32|_>>>64-B,f=_<<B-32|k>>>64-B);var S=h[l[m]];S.high=p,S.low=f}var C=h[0],z=n[0];for(C.high=z.high,C.low=z.low,u=0;u<5;u++)for(g=0;g<5;g++){var R=n[m=u+5*g],A=h[m],E=h[(u+1)%5+5*g],H=h[(u+2)%5+5*g];R.high=A.high^~E.high&H.high,R.low=A.low^~E.low&H.low}R=n[0];var q=d[a];R.high^=q.high,R.low^=q.low}},_doFinalize:function(){var t=this._data,n=t.words;this._nDataBytes;var r=8*t.sigBytes,i=32*this.blockSize;n[r>>>5]|=1<<24-r%32,n[(e.ceil((r+1)/i)*i>>>5)-1]|=128,t.sigBytes=4*n.length,this._process();for(var s=this._state,a=this.cfg.outputLength/8,c=a/8,l=[],d=0;d<c;d++){var h=s[d],u=h.high,p=h.low;u=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8),p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8),l.push(p),l.push(u)}return new o.init(l,a)},clone:function(){for(var t=i.clone.call(this),e=t._state=this._state.slice(0),n=0;n<25;n++)e[n]=e[n].clone();return t}});n.SHA3=i._createHelper(u),n.HmacSHA3=i._createHmacHelper(u)}(Math),t.SHA3));var t}var U,W={exports:{}};var I,N={exports:{}};function X(){return I?N.exports:(I=1,N.exports=(t=a(),n=(e=t).lib.Base,r=e.enc.Utf8,void(e.algo.HMAC=n.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=r.parse(e));var n=t.blockSize,o=4*n;e.sigBytes>o&&(e=t.finalize(e)),e.clamp();for(var i=this._oKey=e.clone(),s=this._iKey=e.clone(),a=i.words,c=s.words,l=0;l<n;l++)a[l]^=1549556828,c[l]^=909522486;i.sigBytes=s.sigBytes=o,this.reset()},reset:function(){var t=this._hasher;t.reset(),t.update(this._iKey)},update:function(t){return this._hasher.update(t),this},finalize:function(t){var e=this._hasher,n=e.finalize(t);return e.reset(),e.finalize(this._oKey.clone().concat(n))}}))));var t,e,n,r}var K,J={exports:{}};var Y,G={exports:{}};function Z(){return Y?G.exports:(Y=1,G.exports=(c=a(),R(),X(),e=(t=c).lib,n=e.Base,r=e.WordArray,o=t.algo,i=o.MD5,s=o.EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:i,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var n,o=this.cfg,i=o.hasher.create(),s=r.create(),a=s.words,c=o.keySize,l=o.iterations;a.length<c;){n&&i.update(n),n=i.update(t).finalize(e),i.reset();for(var d=1;d<l;d++)n=i.finalize(n),i.reset();s.concat(n)}return s.sigBytes=4*c,s}}),t.EvpKDF=function(t,e,n){return s.create(n).compute(t,e)},c.EvpKDF));var t,e,n,r,o,i,s,c}var V,Q={exports:{}};function tt(){return V?Q.exports:(V=1,Q.exports=(t=a(),Z(),void(t.lib.Cipher||function(e){var n=t,r=n.lib,o=r.Base,i=r.WordArray,s=r.BufferedBlockAlgorithm,a=n.enc;a.Utf8;var c=a.Base64,l=n.algo.EvpKDF,d=r.Cipher=s.extend({cfg:o.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,n){this.cfg=this.cfg.extend(n),this._xformMode=t,this._key=e,this.reset()},reset:function(){s.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?b:y}return function(e){return{encrypt:function(n,r,o){return t(r).encrypt(e,n,r,o)},decrypt:function(n,r,o){return t(r).decrypt(e,n,r,o)}}}}()});r.StreamCipher=d.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var h=n.mode={},u=r.BlockCipherMode=o.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),p=h.CBC=function(){var t=u.extend();function n(t,n,r){var o,i=this._iv;i?(o=i,this._iv=e):o=this._prevBlock;for(var s=0;s<r;s++)t[n+s]^=o[s]}return t.Encryptor=t.extend({processBlock:function(t,e){var r=this._cipher,o=r.blockSize;n.call(this,t,e,o),r.encryptBlock(t,e),this._prevBlock=t.slice(e,e+o)}}),t.Decryptor=t.extend({processBlock:function(t,e){var r=this._cipher,o=r.blockSize,i=t.slice(e,e+o);r.decryptBlock(t,e),n.call(this,t,e,o),this._prevBlock=i}}),t}(),f=(n.pad={}).Pkcs7={pad:function(t,e){for(var n=4*e,r=n-t.sigBytes%n,o=r<<24|r<<16|r<<8|r,s=[],a=0;a<r;a+=4)s.push(o);var c=i.create(s,r);t.concat(c)},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}};r.BlockCipher=d.extend({cfg:d.cfg.extend({mode:p,padding:f}),reset:function(){var t;d.reset.call(this);var e=this.cfg,n=e.iv,r=e.mode;this._xformMode==this._ENC_XFORM_MODE?t=r.createEncryptor:(t=r.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==t?this._mode.init(this,n&&n.words):(this._mode=t.call(r,this,n&&n.words),this._mode.__creator=t)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4});var g=r.CipherParams=o.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}}),v=(n.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,n=t.salt;return(n?i.create([1398893684,1701076831]).concat(n).concat(e):e).toString(c)},parse:function(t){var e,n=c.parse(t),r=n.words;return 1398893684==r[0]&&1701076831==r[1]&&(e=i.create(r.slice(2,4)),r.splice(0,4),n.sigBytes-=16),g.create({ciphertext:n,salt:e})}},y=r.SerializableCipher=o.extend({cfg:o.extend({format:v}),encrypt:function(t,e,n,r){r=this.cfg.extend(r);var o=t.createEncryptor(n,r),i=o.finalize(e),s=o.cfg;return g.create({ciphertext:i,key:n,iv:s.iv,algorithm:t,mode:s.mode,padding:s.padding,blockSize:t.blockSize,formatter:r.format})},decrypt:function(t,e,n,r){return r=this.cfg.extend(r),e=this._parse(e,r.format),t.createDecryptor(n,r).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),x=(n.kdf={}).OpenSSL={execute:function(t,e,n,r,o){if(r||(r=i.random(8)),o)s=l.create({keySize:e+n,hasher:o}).compute(t,r);else var s=l.create({keySize:e+n}).compute(t,r);var a=i.create(s.words.slice(e),4*n);return s.sigBytes=4*e,g.create({key:s,iv:a,salt:r})}},b=r.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:x}),encrypt:function(t,e,n,r){var o=(r=this.cfg.extend(r)).kdf.execute(n,t.keySize,t.ivSize,r.salt,r.hasher);r.iv=o.iv;var i=y.encrypt.call(this,t,e,o.key,r);return i.mixIn(o),i},decrypt:function(t,e,n,r){r=this.cfg.extend(r),e=this._parse(e,r.format);var o=r.kdf.execute(n,t.keySize,t.ivSize,e.salt,r.hasher);return r.iv=o.iv,y.decrypt.call(this,t,e,o.key,r)}})}())));var t}var et,nt={exports:{}};var rt,ot={exports:{}};var it,st={exports:{}};function at(){return it?st.exports:(it=1,st.exports=(t=a(),tt(),
2
+ /** @preserve
3
+ * Counter block mode compatible with Dr Brian Gladman fileenc.c
4
+ * derived from CryptoJS.mode.CTR
5
+ * Jan Hruby jhruby.web@gmail.com
6
+ */
7
+ t.mode.CTRGladman=function(){var e=t.lib.BlockCipherMode.extend();function n(t){if(255&~(t>>24))t+=1<<24;else{var e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}return t}function r(t){return 0===(t[0]=n(t[0]))&&(t[1]=n(t[1])),t}var o=e.Encryptor=e.extend({processBlock:function(t,e){var n=this._cipher,o=n.blockSize,i=this._iv,s=this._counter;i&&(s=this._counter=i.slice(0),this._iv=void 0),r(s);var a=s.slice(0);n.encryptBlock(a,0);for(var c=0;c<o;c++)t[e+c]^=a[c]}});return e.Decryptor=o,e}(),t.mode.CTRGladman));var t}var ct,lt={exports:{}};var dt,ht={exports:{}};var ut,pt={exports:{}};var ft,gt={exports:{}};var vt,yt={exports:{}};var xt,bt={exports:{}};var wt,mt={exports:{}};var _t,kt={exports:{}};var Bt,St={exports:{}};var Ct,zt={exports:{}};function Rt(){return Ct?zt.exports:(Ct=1,zt.exports=(t=a(),b(),S(),Z(),tt(),function(){var e=t,n=e.lib,r=n.WordArray,o=n.BlockCipher,i=e.algo,s=[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],a=[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],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{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}],d=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],h=i.DES=o.extend({_doReset:function(){for(var t=this._key.words,e=[],n=0;n<56;n++){var r=s[n]-1;e[n]=t[r>>>5]>>>31-r%32&1}for(var o=this._subKeys=[],i=0;i<16;i++){var l=o[i]=[],d=c[i];for(n=0;n<24;n++)l[n/6|0]|=e[(a[n]-1+d)%28]<<31-n%6,l[4+(n/6|0)]|=e[28+(a[n+24]-1+d)%28]<<31-n%6;for(l[0]=l[0]<<1|l[0]>>>31,n=1;n<7;n++)l[n]=l[n]>>>4*(n-1)+3;l[7]=l[7]<<5|l[7]>>>27}var h=this._invSubKeys=[];for(n=0;n<16;n++)h[n]=o[15-n]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,n){this._lBlock=t[e],this._rBlock=t[e+1],u.call(this,4,252645135),u.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),u.call(this,1,1431655765);for(var r=0;r<16;r++){for(var o=n[r],i=this._lBlock,s=this._rBlock,a=0,c=0;c<8;c++)a|=l[c][((s^o[c])&d[c])>>>0];this._lBlock=s,this._rBlock=i^a}var h=this._lBlock;this._lBlock=this._rBlock,this._rBlock=h,u.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(t,e){var n=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=n,this._lBlock^=n<<t}function p(t,e){var n=(this._rBlock>>>t^this._lBlock)&e;this._lBlock^=n,this._rBlock^=n<<t}e.DES=o._createHelper(h);var f=i.TripleDES=o.extend({_doReset:function(){var t=this._key.words;if(2!==t.length&&4!==t.length&&t.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var e=t.slice(0,2),n=t.length<4?t.slice(0,2):t.slice(2,4),o=t.length<6?t.slice(0,2):t.slice(4,6);this._des1=h.createEncryptor(r.create(e)),this._des2=h.createEncryptor(r.create(n)),this._des3=h.createEncryptor(r.create(o))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=o._createHelper(f)}(),t.TripleDES));var t}var At,Et={exports:{}};var Ht,qt={exports:{}};var Dt,Mt={exports:{}};var Lt,Ot={exports:{}};function Tt(){return Lt?Ot.exports:(Lt=1,Ot.exports=(t=a(),b(),S(),Z(),tt(),function(){var e=t,n=e.lib.BlockCipher,r=e.algo;const o=16,i=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],s=[[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 a={pbox:[],sbox:[]};function c(t,e){let n=e>>24&255,r=e>>16&255,o=e>>8&255,i=255&e,s=t.sbox[0][n]+t.sbox[1][r];return s^=t.sbox[2][o],s+=t.sbox[3][i],s}function l(t,e,n){let r,i=e,s=n;for(let a=0;a<o;++a)i^=t.pbox[a],s=c(t,i)^s,r=i,i=s,s=r;return r=i,i=s,s=r,s^=t.pbox[o],i^=t.pbox[o+1],{left:i,right:s}}function d(t,e,n){let r,i=e,s=n;for(let a=o+1;a>1;--a)i^=t.pbox[a],s=c(t,i)^s,r=i,i=s,s=r;return r=i,i=s,s=r,s^=t.pbox[1],i^=t.pbox[0],{left:i,right:s}}function h(t,e,n){for(let o=0;o<4;o++){t.sbox[o]=[];for(let e=0;e<256;e++)t.sbox[o][e]=s[o][e]}let r=0;for(let s=0;s<o+2;s++)t.pbox[s]=i[s]^e[r],r++,r>=n&&(r=0);let a=0,c=0,d=0;for(let i=0;i<o+2;i+=2)d=l(t,a,c),a=d.left,c=d.right,t.pbox[i]=a,t.pbox[i+1]=c;for(let o=0;o<4;o++)for(let e=0;e<256;e+=2)d=l(t,a,c),a=d.left,c=d.right,t.sbox[o][e]=a,t.sbox[o][e+1]=c;return!0}var u=r.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var t=this._keyPriorReset=this._key,e=t.words,n=t.sigBytes/4;h(a,e,n)}},encryptBlock:function(t,e){var n=l(a,t[e],t[e+1]);t[e]=n.left,t[e+1]=n.right},decryptBlock:function(t,e){var n=d(a,t[e],t[e+1]);t[e]=n.left,t[e+1]=n.right},blockSize:2,keySize:4,ivSize:2});e.Blowfish=n._createHelper(u)}(),t.Blowfish));var t}var Ft,Pt,jt,$t,Ut,Wt,It;const Nt=e(Ft?r.exports:(Ft=1,r.exports=function(t){return t}(a(),d(),p(),v(),b(),_(),S(),R(),H(),q||(q=1,D.exports=(It=a(),H(),jt=(Pt=It).lib.WordArray,$t=Pt.algo,Ut=$t.SHA256,Wt=$t.SHA224=Ut.extend({_doReset:function(){this._hash=new jt.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=Ut._doFinalize.call(this);return t.sigBytes-=4,t}}),Pt.SHA224=Ut._createHelper(Wt),Pt.HmacSHA224=Ut._createHmacHelper(Wt),It.SHA224)),O(),function(){return T?F.exports:(T=1,F.exports=(c=a(),d(),O(),e=(t=c).x64,n=e.Word,r=e.WordArray,o=t.algo,i=o.SHA512,s=o.SHA384=i.extend({_doReset:function(){this._hash=new r.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 t=i._doFinalize.call(this);return t.sigBytes-=16,t}}),t.SHA384=i._createHelper(s),t.HmacSHA384=i._createHmacHelper(s),c.SHA384));var t,e,n,r,o,i,s,c}(),$(),function(){return U?W.exports:(U=1,W.exports=(t=a(),
8
+ /** @preserve
9
+ (c) 2012 by Cédric Mesnil. All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
12
+
13
+ - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
14
+ - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17
+ */
18
+ function(){var e=t,n=e.lib,r=n.WordArray,o=n.Hasher,i=e.algo,s=r.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]),a=r.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]),c=r.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]),l=r.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]),d=r.create([0,1518500249,1859775393,2400959708,2840853838]),h=r.create([1352829926,1548603684,1836072691,2053994217,0]),u=i.RIPEMD160=o.extend({_doReset:function(){this._hash=r.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var n=0;n<16;n++){var r=e+n,o=t[r];t[r]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8)}var i,u,b,w,m,_,k,B,S,C,z,R=this._hash.words,A=d.words,E=h.words,H=s.words,q=a.words,D=c.words,M=l.words;for(_=i=R[0],k=u=R[1],B=b=R[2],S=w=R[3],C=m=R[4],n=0;n<80;n+=1)z=i+t[e+H[n]]|0,z+=n<16?p(u,b,w)+A[0]:n<32?f(u,b,w)+A[1]:n<48?g(u,b,w)+A[2]:n<64?v(u,b,w)+A[3]:y(u,b,w)+A[4],z=(z=x(z|=0,D[n]))+m|0,i=m,m=w,w=x(b,10),b=u,u=z,z=_+t[e+q[n]]|0,z+=n<16?y(k,B,S)+E[0]:n<32?v(k,B,S)+E[1]:n<48?g(k,B,S)+E[2]:n<64?f(k,B,S)+E[3]:p(k,B,S)+E[4],z=(z=x(z|=0,M[n]))+C|0,_=C,C=S,S=x(B,10),B=k,k=z;z=R[1]+b+S|0,R[1]=R[2]+w+C|0,R[2]=R[3]+m+_|0,R[3]=R[4]+i+k|0,R[4]=R[0]+u+B|0,R[0]=z},_doFinalize:function(){var t=this._data,e=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;e[r>>>5]|=128<<24-r%32,e[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),t.sigBytes=4*(e.length+1),this._process();for(var o=this._hash,i=o.words,s=0;s<5;s++){var a=i[s];i[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return o},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});function p(t,e,n){return t^e^n}function f(t,e,n){return t&e|~t&n}function g(t,e,n){return(t|~e)^n}function v(t,e,n){return t&n|e&~n}function y(t,e,n){return t^(e|~n)}function x(t,e){return t<<e|t>>>32-e}e.RIPEMD160=o._createHelper(u),e.HmacRIPEMD160=o._createHmacHelper(u)}(),t.RIPEMD160));var t}(),X(),function(){return K?J.exports:(K=1,J.exports=(l=a(),H(),X(),e=(t=l).lib,n=e.Base,r=e.WordArray,o=t.algo,i=o.SHA256,s=o.HMAC,c=o.PBKDF2=n.extend({cfg:n.extend({keySize:4,hasher:i,iterations:25e4}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var n=this.cfg,o=s.create(n.hasher,t),i=r.create(),a=r.create([1]),c=i.words,l=a.words,d=n.keySize,h=n.iterations;c.length<d;){var u=o.update(e).finalize(a);o.reset();for(var p=u.words,f=p.length,g=u,v=1;v<h;v++){g=o.finalize(g),o.reset();for(var y=g.words,x=0;x<f;x++)p[x]^=y[x]}i.concat(u),l[0]++}return i.sigBytes=4*d,i}}),t.PBKDF2=function(t,e,n){return c.create(n).compute(t,e)},l.PBKDF2));var t,e,n,r,o,i,s,c,l}(),Z(),tt(),function(){return et?nt.exports:(et=1,nt.exports=(t=a(),tt(),t.mode.CFB=function(){var e=t.lib.BlockCipherMode.extend();function n(t,e,n,r){var o,i=this._iv;i?(o=i.slice(0),this._iv=void 0):o=this._prevBlock,r.encryptBlock(o,0);for(var s=0;s<n;s++)t[e+s]^=o[s]}return e.Encryptor=e.extend({processBlock:function(t,e){var r=this._cipher,o=r.blockSize;n.call(this,t,e,o,r),this._prevBlock=t.slice(e,e+o)}}),e.Decryptor=e.extend({processBlock:function(t,e){var r=this._cipher,o=r.blockSize,i=t.slice(e,e+o);n.call(this,t,e,o,r),this._prevBlock=i}}),e}(),t.mode.CFB));var t}(),function(){return rt?ot.exports:(rt=1,ot.exports=(n=a(),tt(),n.mode.CTR=(t=n.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var n=this._cipher,r=n.blockSize,o=this._iv,i=this._counter;o&&(i=this._counter=o.slice(0),this._iv=void 0);var s=i.slice(0);n.encryptBlock(s,0),i[r-1]=i[r-1]+1|0;for(var a=0;a<r;a++)t[e+a]^=s[a]}}),t.Decryptor=e,t),n.mode.CTR));var t,e,n}(),at(),function(){return ct?lt.exports:(ct=1,lt.exports=(n=a(),tt(),n.mode.OFB=(t=n.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var n=this._cipher,r=n.blockSize,o=this._iv,i=this._keystream;o&&(i=this._keystream=o.slice(0),this._iv=void 0),n.encryptBlock(i,0);for(var s=0;s<r;s++)t[e+s]^=i[s]}}),t.Decryptor=e,t),n.mode.OFB));var t,e,n}(),function(){return dt?ht.exports:(dt=1,ht.exports=(e=a(),tt(),e.mode.ECB=((t=e.lib.BlockCipherMode.extend()).Encryptor=t.extend({processBlock:function(t,e){this._cipher.encryptBlock(t,e)}}),t.Decryptor=t.extend({processBlock:function(t,e){this._cipher.decryptBlock(t,e)}}),t),e.mode.ECB));var t,e}(),function(){return ut?pt.exports:(ut=1,pt.exports=(t=a(),tt(),t.pad.AnsiX923={pad:function(t,e){var n=t.sigBytes,r=4*e,o=r-n%r,i=n+o-1;t.clamp(),t.words[i>>>2]|=o<<24-i%4*8,t.sigBytes+=o},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},t.pad.Ansix923));var t}(),function(){return ft?gt.exports:(ft=1,gt.exports=(t=a(),tt(),t.pad.Iso10126={pad:function(e,n){var r=4*n,o=r-e.sigBytes%r;e.concat(t.lib.WordArray.random(o-1)).concat(t.lib.WordArray.create([o<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},t.pad.Iso10126));var t}(),function(){return vt?yt.exports:(vt=1,yt.exports=(t=a(),tt(),t.pad.Iso97971={pad:function(e,n){e.concat(t.lib.WordArray.create([2147483648],1)),t.pad.ZeroPadding.pad(e,n)},unpad:function(e){t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971));var t}(),function(){return xt?bt.exports:(xt=1,bt.exports=(t=a(),tt(),t.pad.ZeroPadding={pad:function(t,e){var n=4*e;t.clamp(),t.sigBytes+=n-(t.sigBytes%n||n)},unpad:function(t){var e=t.words,n=t.sigBytes-1;for(n=t.sigBytes-1;n>=0;n--)if(e[n>>>2]>>>24-n%4*8&255){t.sigBytes=n+1;break}}},t.pad.ZeroPadding));var t}(),function(){return wt?mt.exports:(wt=1,mt.exports=(t=a(),tt(),t.pad.NoPadding={pad:function(){},unpad:function(){}},t.pad.NoPadding));var t}(),function(){return _t?kt.exports:(_t=1,kt.exports=(r=a(),tt(),e=(t=r).lib.CipherParams,n=t.enc.Hex,t.format.Hex={stringify:function(t){return t.ciphertext.toString(n)},parse:function(t){var r=n.parse(t);return e.create({ciphertext:r})}},r.format.Hex));var t,e,n,r}(),function(){return Bt?St.exports:(Bt=1,St.exports=(t=a(),b(),S(),Z(),tt(),function(){var e=t,n=e.lib.BlockCipher,r=e.algo,o=[],i=[],s=[],a=[],c=[],l=[],d=[],h=[],u=[],p=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;var n=0,r=0;for(e=0;e<256;e++){var f=r^r<<1^r<<2^r<<3^r<<4;f=f>>>8^255&f^99,o[n]=f,i[f]=n;var g=t[n],v=t[g],y=t[v],x=257*t[f]^16843008*f;s[n]=x<<24|x>>>8,a[n]=x<<16|x>>>16,c[n]=x<<8|x>>>24,l[n]=x,x=16843009*y^65537*v^257*g^16843008*n,d[f]=x<<24|x>>>8,h[f]=x<<16|x>>>16,u[f]=x<<8|x>>>24,p[f]=x,n?(n=g^t[t[t[y^g]]],r^=t[t[r]]):n=r=1}}();var f=[0,1,2,4,8,16,32,64,128,27,54],g=r.AES=n.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,n=t.sigBytes/4,r=4*((this._nRounds=n+6)+1),i=this._keySchedule=[],s=0;s<r;s++)s<n?i[s]=e[s]:(l=i[s-1],s%n?n>6&&s%n==4&&(l=o[l>>>24]<<24|o[l>>>16&255]<<16|o[l>>>8&255]<<8|o[255&l]):(l=o[(l=l<<8|l>>>24)>>>24]<<24|o[l>>>16&255]<<16|o[l>>>8&255]<<8|o[255&l],l^=f[s/n|0]<<24),i[s]=i[s-n]^l);for(var a=this._invKeySchedule=[],c=0;c<r;c++){if(s=r-c,c%4)var l=i[s];else l=i[s-4];a[c]=c<4||s<=4?l:d[o[l>>>24]]^h[o[l>>>16&255]]^u[o[l>>>8&255]]^p[o[255&l]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,s,a,c,l,o)},decryptBlock:function(t,e){var n=t[e+1];t[e+1]=t[e+3],t[e+3]=n,this._doCryptBlock(t,e,this._invKeySchedule,d,h,u,p,i),n=t[e+1],t[e+1]=t[e+3],t[e+3]=n},_doCryptBlock:function(t,e,n,r,o,i,s,a){for(var c=this._nRounds,l=t[e]^n[0],d=t[e+1]^n[1],h=t[e+2]^n[2],u=t[e+3]^n[3],p=4,f=1;f<c;f++){var g=r[l>>>24]^o[d>>>16&255]^i[h>>>8&255]^s[255&u]^n[p++],v=r[d>>>24]^o[h>>>16&255]^i[u>>>8&255]^s[255&l]^n[p++],y=r[h>>>24]^o[u>>>16&255]^i[l>>>8&255]^s[255&d]^n[p++],x=r[u>>>24]^o[l>>>16&255]^i[d>>>8&255]^s[255&h]^n[p++];l=g,d=v,h=y,u=x}g=(a[l>>>24]<<24|a[d>>>16&255]<<16|a[h>>>8&255]<<8|a[255&u])^n[p++],v=(a[d>>>24]<<24|a[h>>>16&255]<<16|a[u>>>8&255]<<8|a[255&l])^n[p++],y=(a[h>>>24]<<24|a[u>>>16&255]<<16|a[l>>>8&255]<<8|a[255&d])^n[p++],x=(a[u>>>24]<<24|a[l>>>16&255]<<16|a[d>>>8&255]<<8|a[255&h])^n[p++],t[e]=g,t[e+1]=v,t[e+2]=y,t[e+3]=x},keySize:8});e.AES=n._createHelper(g)}(),t.AES));var t}(),Rt(),function(){return At?Et.exports:(At=1,Et.exports=(t=a(),b(),S(),Z(),tt(),function(){var e=t,n=e.lib.StreamCipher,r=e.algo,o=r.RC4=n.extend({_doReset:function(){for(var t=this._key,e=t.words,n=t.sigBytes,r=this._S=[],o=0;o<256;o++)r[o]=o;o=0;for(var i=0;o<256;o++){var s=o%n,a=e[s>>>2]>>>24-s%4*8&255;i=(i+r[o]+a)%256;var c=r[o];r[o]=r[i],r[i]=c}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=i.call(this)},keySize:8,ivSize:0});function i(){for(var t=this._S,e=this._i,n=this._j,r=0,o=0;o<4;o++){n=(n+t[e=(e+1)%256])%256;var i=t[e];t[e]=t[n],t[n]=i,r|=t[(t[e]+t[n])%256]<<24-8*o}return this._i=e,this._j=n,r}e.RC4=n._createHelper(o);var s=r.RC4Drop=o.extend({cfg:o.cfg.extend({drop:192}),_doReset:function(){o._doReset.call(this);for(var t=this.cfg.drop;t>0;t--)i.call(this)}});e.RC4Drop=n._createHelper(s)}(),t.RC4));var t}(),function(){return Ht?qt.exports:(Ht=1,qt.exports=(t=a(),b(),S(),Z(),tt(),function(){var e=t,n=e.lib.StreamCipher,r=e.algo,o=[],i=[],s=[],a=r.Rabbit=n.extend({_doReset:function(){for(var t=this._key.words,e=this.cfg.iv,n=0;n<4;n++)t[n]=16711935&(t[n]<<8|t[n]>>>24)|4278255360&(t[n]<<24|t[n]>>>8);var r=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],o=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];for(this._b=0,n=0;n<4;n++)c.call(this);for(n=0;n<8;n++)o[n]^=r[n+4&7];if(e){var i=e.words,s=i[0],a=i[1],l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),d=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),h=l>>>16|4294901760&d,u=d<<16|65535&l;for(o[0]^=l,o[1]^=h,o[2]^=d,o[3]^=u,o[4]^=l,o[5]^=h,o[6]^=d,o[7]^=u,n=0;n<4;n++)c.call(this)}},_doProcessBlock:function(t,e){var n=this._X;c.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),t[e+r]^=o[r]},blockSize:4,ivSize:2});function c(){for(var t=this._X,e=this._C,n=0;n<8;n++)i[n]=e[n];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<i[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<i[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<i[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<i[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<i[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<i[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<i[6]>>>0?1:0)|0,this._b=e[7]>>>0<i[7]>>>0?1:0,n=0;n<8;n++){var r=t[n]+e[n],o=65535&r,a=r>>>16,c=((o*o>>>17)+o*a>>>15)+a*a,l=((4294901760&r)*r|0)+((65535&r)*r|0);s[n]=c^l}t[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,t[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,t[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,t[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,t[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,t[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,t[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,t[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}e.Rabbit=n._createHelper(a)}(),t.Rabbit));var t}(),function(){return Dt?Mt.exports:(Dt=1,Mt.exports=(t=a(),b(),S(),Z(),tt(),function(){var e=t,n=e.lib.StreamCipher,r=e.algo,o=[],i=[],s=[],a=r.RabbitLegacy=n.extend({_doReset:function(){var t=this._key.words,e=this.cfg.iv,n=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],r=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var o=0;o<4;o++)c.call(this);for(o=0;o<8;o++)r[o]^=n[o+4&7];if(e){var i=e.words,s=i[0],a=i[1],l=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),d=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),h=l>>>16|4294901760&d,u=d<<16|65535&l;for(r[0]^=l,r[1]^=h,r[2]^=d,r[3]^=u,r[4]^=l,r[5]^=h,r[6]^=d,r[7]^=u,o=0;o<4;o++)c.call(this)}},_doProcessBlock:function(t,e){var n=this._X;c.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),t[e+r]^=o[r]},blockSize:4,ivSize:2});function c(){for(var t=this._X,e=this._C,n=0;n<8;n++)i[n]=e[n];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<i[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<i[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<i[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<i[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<i[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<i[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<i[6]>>>0?1:0)|0,this._b=e[7]>>>0<i[7]>>>0?1:0,n=0;n<8;n++){var r=t[n]+e[n],o=65535&r,a=r>>>16,c=((o*o>>>17)+o*a>>>15)+a*a,l=((4294901760&r)*r|0)+((65535&r)*r|0);s[n]=c^l}t[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,t[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,t[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,t[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,t[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,t[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,t[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,t[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}e.RabbitLegacy=n._createHelper(a)}(),t.RabbitLegacy));var t}(),Tt())));class Xt{constructor(){this.requests=new Map,this.listeners=[],this.decryptConfig={enabled:!1},this.interceptXHR(),this.interceptFetch()}enableDecryption(t){this.decryptConfig.enabled=!0,t?.keyExtractor&&(this.decryptConfig.keyExtractor=t.keyExtractor),t?.slkExtractor&&(this.decryptConfig.slkExtractor=t.slkExtractor)}addListener(t){this.listeners.push(t)}removeListener(t){const e=this.listeners.indexOf(t);e>-1&&this.listeners.splice(e,1)}getRequests(){return Array.from(this.requests.values()).sort((t,e)=>e.timestamp-t.timestamp)}clearRequests(){this.requests.clear()}generateRequestId(){return Math.random().toString(36).substr(2,9)}notifyListeners(t){this.listeners.forEach(e=>{try{e(t)}catch(n){}})}tryDecrypt(t,e){if(!this.decryptConfig.enabled||!t)return null;try{let n="";n=this.decryptConfig.keyExtractor?this.decryptConfig.keyExtractor(e):e.keys||e.cid||"";let r="";r=this.decryptConfig.slkExtractor?this.decryptConfig.slkExtractor(e):e.slk||"";const o=n+r;if(o)return function(t,e){if(!t||t.startsWith("{")||t.startsWith("["))try{return JSON.parse(t)}catch{return t}if(window.decrypt&&e)try{const n=window.decrypt(t,e);if(n&&n!==t&&!n.includes("�"))try{return JSON.parse(n)}catch{if(n.length>0)return n}}catch(r){}const n=[e,"thisisakey123456","VITE_CRYPTO_KEY"].filter(Boolean);for(const o of n)if(o)try{const e=Nt.enc.Utf8.parse(o.padEnd(16,"0").slice(0,16)),n=Nt.enc.Utf8.parse(o.padEnd(16,"0").slice(0,16)),r=Nt.AES.decrypt(t,e,{iv:n,mode:Nt.mode.CBC,padding:Nt.pad.Pkcs7}).toString(Nt.enc.Utf8);if(r)try{return JSON.parse(r)}catch{return r}}catch(r){}try{const e=atob(t);try{return JSON.parse(e)}catch{return e}}catch{}return t}("string"==typeof t?t:JSON.stringify(t),o)}catch(n){}return null}interceptXHR(){const t=window.XMLHttpRequest,e=this;window.XMLHttpRequest=function(...n){const r=new t(...n),o=e.generateRequestId();let i="",s="",a={};const c=Date.now(),l=r.open;r.open=function(t,e,...n){return i=t.toUpperCase(),s=e,l.apply(this,[t,e,...n])};const d=r.setRequestHeader;r.setRequestHeader=function(t,e){return a[t]=e,d.call(this,t,e)};const h=r.send;return r.send=function(t){const n={id:o,url:s,method:i,headers:{...a},requestBody:t,timestamp:c};return t&&(n.decryptedRequest=e.tryDecrypt(t,a)),e.requests.set(o,n),e.notifyListeners(n),h.call(this,t)},r.addEventListener("readystatechange",function(){if(r.readyState===XMLHttpRequest.DONE){const t=Date.now(),n=e.requests.get(o);if(n){n.status=r.status,n.statusText=r.statusText,n.duration=t-c;const i={},s=r.getAllResponseHeaders();s&&s.split("\r\n").forEach(t=>{const e=t.split(": ");2===e.length&&(i[e[0]]=e[1])}),n.responseHeaders=i;try{n.responseBody=r.responseText?JSON.parse(r.responseText):null}catch{n.responseBody=r.responseText}n.responseBody&&(n.decryptedResponse=e.tryDecrypt(n.responseBody,{...a,...i})),e.requests.set(o,n),e.notifyListeners(n)}}}),r},window.XMLHttpRequest.prototype=t.prototype}interceptFetch(){const t=window.fetch,e=this;window.fetch=async function(n,r){const o=e.generateRequestId(),i=Date.now(),s="string"==typeof n?n:n instanceof URL?n.toString():n.url,a=(r?.method||"GET").toUpperCase(),c={};r?.headers&&(r.headers instanceof Headers?r.headers.forEach((t,e)=>{c[e]=t}):Array.isArray(r.headers)?r.headers.forEach(([t,e])=>{c[t]=e}):Object.entries(r.headers).forEach(([t,e])=>{c[t]=e}));let l=null;if(r?.body)if("string"==typeof r.body)try{l=JSON.parse(r.body)}catch{l=r.body}else l=r.body;const d={id:o,url:s,method:a,headers:{...c},requestBody:l,timestamp:i};l&&(d.decryptedRequest=e.tryDecrypt(l,c)),e.requests.set(o,d),e.notifyListeners(d);try{const s=await t.call(this,n,r),a=Date.now(),l=s.clone(),d=e.requests.get(o);if(d){d.status=s.status,d.statusText=s.statusText,d.duration=a-i;const t={};s.headers.forEach((e,n)=>{t[n]=e}),d.responseHeaders=t;try{const n=await l.text();try{d.responseBody=JSON.parse(n)}catch{d.responseBody=n}d.responseBody&&(d.decryptedResponse=e.tryDecrypt(d.responseBody,{...c,...t}))}catch(h){d.error=`Failed to read response: ${h}`}e.requests.set(o,d),e.notifyListeners(d)}return s}catch(h){const t=Date.now(),n=e.requests.get(o);throw n&&(n.error=h instanceof Error?h.message:String(h),n.duration=t-i,e.requests.set(o,n),e.notifyListeners(n)),h}}}}class Kt{constructor(){this.loaded=!1,this.loading=!1}async loadWasm(t,e){if(this.loaded)return!0;if(this.loading)return new Promise(t=>{const e=()=>{this.loaded||!this.loading?t(this.loaded):setTimeout(e,100)};e()});this.loading=!0;try{const r=t||"/mimlib.wasm",o=e||"/wasm_exec.js";if(await this.loadScript(o),void 0===window.Go)throw new Error("Go WebAssembly runtime not available");const i=new window.Go;let s;if(WebAssembly.instantiateStreaming)try{s=await WebAssembly.instantiateStreaming(fetch(r),i.importObject)}catch(n){const t=await fetch(r).then(t=>t.arrayBuffer());s=await WebAssembly.instantiate(t,i.importObject)}else{const t=await fetch(r).then(t=>t.arrayBuffer());s=await WebAssembly.instantiate(t,i.importObject)}return i.run(s.instance),this.loaded=!0,!0}catch(r){return!1}finally{this.loading=!1}}loadScript(t){return new Promise((e,n)=>{if(document.querySelector(`script[src="${t}"]`))return void e();const r=document.createElement("script");r.src=t,r.type="text/javascript",r.onload=()=>e(),r.onerror=e=>n(new Error(`Failed to load script: ${t}`)),document.head.appendChild(r)})}isLoaded(){return this.loaded}isLoading(){return this.loading}isDecryptAvailable(){return this.loaded&&"function"==typeof window.decrypt}isEncryptAvailable(){return this.loaded&&"function"==typeof window.encrypt}}function Jt(t){return JSON.stringify(t,null,2)}class Yt{constructor(t,e={}){this.isDragging=!1,this.isResizing=!1,this.dragStart={x:0,y:0},this.currentTab="network",this.consoleHistory=[],this.requestsCache=[],this.interceptor=t,this.config={position:"bottom-right",theme:"dark",minimized:!1,showConsole:!0,...e},this.createPanel(),this.bindEvents(),this.startListening()}createPanel(){if(!document.getElementById("network-debugger-styles")){const t=document.createElement("style");t.id="network-debugger-styles",t.textContent="\n/* NetworkDebugger 样式 */\n#network-debugger-panel {\n position: fixed;\n z-index: 999999;\n background: #1a1a1a;\n color: #ffffff;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 12px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);\n border-radius: 8px;\n overflow: hidden;\n max-width: 90vw;\n max-height: 80vh;\n transition: all 0.3s ease;\n}\n\n#network-debugger-panel.minimized {\n height: 40px !important;\n overflow: hidden;\n}\n\n#network-debugger-panel.bottom-right {\n bottom: 20px;\n right: 20px;\n width: 400px;\n height: 300px;\n}\n\n#network-debugger-panel.bottom-left {\n bottom: 20px;\n left: 20px;\n width: 400px;\n height: 300px;\n}\n\n#network-debugger-panel.top-right {\n top: 20px;\n right: 20px;\n width: 400px;\n height: 300px;\n}\n\n#network-debugger-panel.top-left {\n top: 20px;\n left: 20px;\n width: 400px;\n height: 300px;\n}\n\n#network-debugger-panel.fullscreen {\n top: 0;\n left: 0;\n width: 100vw !important;\n height: 100vh !important;\n border-radius: 0;\n}\n\n.debugger-header {\n background: #333;\n padding: 8px 12px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n cursor: move;\n user-select: none;\n border-bottom: 1px solid #444;\n}\n\n.debugger-title {\n font-weight: bold;\n color: #4CAF50;\n font-size: 14px;\n}\n\n.debugger-controls {\n display: flex;\n gap: 8px;\n}\n\n.debugger-btn {\n background: none;\n border: none;\n color: #fff;\n padding: 4px 8px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 12px;\n transition: background-color 0.2s;\n}\n\n.debugger-btn:hover {\n background: #555;\n}\n\n.debugger-btn.active {\n background: #4CAF50;\n color: #000;\n}\n\n.debugger-content {\n height: calc(100% - 40px);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n\n.debugger-tabs {\n display: flex;\n background: #2a2a2a;\n border-bottom: 1px solid #444;\n}\n\n.debugger-tab {\n padding: 8px 16px;\n cursor: pointer;\n border: none;\n background: none;\n color: #ccc;\n font-size: 12px;\n transition: all 0.2s;\n border-bottom: 2px solid transparent;\n}\n\n.debugger-tab:hover {\n color: #fff;\n background: #3a3a3a;\n}\n\n.debugger-tab.active {\n color: #4CAF50;\n border-bottom-color: #4CAF50;\n background: #333;\n}\n\n.debugger-panel-content {\n flex: 1;\n overflow: auto;\n padding: 12px;\n}\n\n.request-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.request-item {\n background: #2a2a2a;\n border: 1px solid #444;\n border-radius: 6px;\n padding: 10px;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.request-item:hover {\n background: #333;\n border-color: #666;\n}\n\n.request-item.expanded {\n background: #333;\n border-color: #4CAF50;\n}\n\n.request-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 4px;\n}\n\n.request-method {\n padding: 2px 8px;\n border-radius: 4px;\n font-weight: bold;\n font-size: 10px;\n text-transform: uppercase;\n min-width: 40px;\n text-align: center;\n}\n\n.method-get { background: #4CAF50; color: #000; }\n.method-post { background: #2196F3; color: #fff; }\n.method-put { background: #FF9800; color: #000; }\n.method-delete { background: #F44336; color: #fff; }\n.method-patch { background: #9C27B0; color: #fff; }\n\n.request-url {\n flex: 1;\n margin: 0 8px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: #fff;\n font-size: 11px;\n}\n\n.request-status {\n padding: 2px 8px;\n border-radius: 4px;\n font-size: 10px;\n min-width: 35px;\n text-align: center;\n}\n\n.status-2xx { background: #4CAF50; color: #000; }\n.status-3xx { background: #FF9800; color: #000; }\n.status-4xx { background: #F44336; color: #fff; }\n.status-5xx { background: #9C27B0; color: #fff; }\n.status-error { background: #F44336; color: #fff; }\n\n.request-info {\n display: flex;\n justify-content: space-between;\n font-size: 10px;\n color: #999;\n}\n\n.request-details {\n margin-top: 12px;\n border-top: 1px solid #444;\n padding-top: 12px;\n display: none;\n}\n\n.request-item.expanded .request-details {\n display: block;\n}\n\n.detail-section {\n margin-bottom: 16px;\n}\n\n.detail-title {\n font-weight: bold;\n color: #4CAF50;\n margin-bottom: 8px;\n font-size: 11px;\n text-transform: uppercase;\n border-bottom: 1px solid #444;\n padding-bottom: 4px;\n}\n\n.detail-content {\n background: #222;\n padding: 8px;\n border-radius: 4px;\n max-height: 200px;\n overflow: auto;\n}\n\n.json-content {\n white-space: pre-wrap;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 11px;\n line-height: 1.4;\n}\n\n.headers-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 10px;\n}\n\n.headers-table th,\n.headers-table td {\n padding: 4px 8px;\n text-align: left;\n border-bottom: 1px solid #444;\n}\n\n.headers-table th {\n background: #333;\n color: #4CAF50;\n font-weight: bold;\n}\n\n.headers-table td {\n color: #ccc;\n}\n\n.decrypted-badge {\n background: #4CAF50;\n color: #000;\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 9px;\n margin-left: 8px;\n font-weight: bold;\n}\n\n.error-badge {\n background: #F44336;\n color: #fff;\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 9px;\n margin-left: 8px;\n font-weight: bold;\n}\n\n.console-content {\n background: #000;\n color: #0f0;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 11px;\n line-height: 1.4;\n height: 100%;\n overflow: auto;\n padding: 8px;\n}\n\n.console-input {\n display: flex;\n align-items: center;\n background: #333;\n padding: 8px;\n border-top: 1px solid #444;\n}\n\n.console-prompt {\n color: #4CAF50;\n margin-right: 8px;\n font-weight: bold;\n}\n\n.console-cmd {\n flex: 1;\n background: none;\n border: none;\n color: #fff;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;\n font-size: 12px;\n outline: none;\n}\n\n.tools-section {\n padding: 12px;\n background: #2a2a2a;\n border-bottom: 1px solid #444;\n}\n\n.tool-buttons {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.tool-btn {\n padding: 6px 12px;\n background: #4CAF50;\n color: #000;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 11px;\n font-weight: bold;\n transition: background-color 0.2s;\n}\n\n.tool-btn:hover {\n background: #45a049;\n}\n\n.tool-btn:disabled {\n background: #666;\n color: #999;\n cursor: not-allowed;\n}\n\n@media (max-width: 600px) {\n #network-debugger-panel.bottom-right,\n #network-debugger-panel.bottom-left,\n #network-debugger-panel.top-right,\n #network-debugger-panel.top-left {\n width: calc(100vw - 20px) !important;\n left: 10px !important;\n right: auto !important;\n }\n}\n\n::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n\n::-webkit-scrollbar-track {\n background: #333;\n}\n\n::-webkit-scrollbar-thumb {\n background: #666;\n border-radius: 3px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n background: #888;\n}\n\n.resize-handle {\n position: absolute;\n background: transparent;\n}\n\n.resize-handle.n {\n top: -3px;\n left: 0;\n right: 0;\n height: 6px;\n cursor: ns-resize;\n}\n\n.resize-handle.s {\n bottom: -3px;\n left: 0;\n right: 0;\n height: 6px;\n cursor: ns-resize;\n}\n\n.resize-handle.e {\n top: 0;\n right: -3px;\n bottom: 0;\n width: 6px;\n cursor: ew-resize;\n}\n\n.resize-handle.w {\n top: 0;\n left: -3px;\n bottom: 0;\n width: 6px;\n cursor: ew-resize;\n}\n\n.resize-handle.ne {\n top: -3px;\n right: -3px;\n width: 12px;\n height: 12px;\n cursor: ne-resize;\n}\n\n.resize-handle.nw {\n top: -3px;\n left: -3px;\n width: 12px;\n height: 12px;\n cursor: nw-resize;\n}\n\n.resize-handle.se {\n bottom: -3px;\n right: -3px;\n width: 12px;\n height: 12px;\n cursor: se-resize;\n}\n\n.resize-handle.sw {\n bottom: -3px;\n left: -3px;\n width: 12px;\n height: 12px;\n cursor: sw-resize;\n}\n",document.head.appendChild(t)}this.container=document.createElement("div"),this.container.id="network-debugger-panel",this.container.className=`${this.config.position} ${this.config.minimized?"minimized":""}`,this.container.innerHTML=`\n <div class="debugger-header">\n <div class="debugger-title">🔍 Network Debugger</div>\n <div class="debugger-controls">\n <button class="debugger-btn" data-action="clear" title="清空">🗑️</button>\n <button class="debugger-btn" data-action="export" title="导出">💾</button>\n <button class="debugger-btn" data-action="minimize" title="最小化">${this.config.minimized?"📖":"📕"}</button>\n <button class="debugger-btn" data-action="fullscreen" title="全屏">⛶</button>\n <button class="debugger-btn" data-action="close" title="关闭">✕</button>\n </div>\n </div>\n <div class="debugger-content">\n <div class="debugger-tabs">\n <button class="debugger-tab active" data-tab="network">网络</button>\n ${this.config.showConsole?'<button class="debugger-tab" data-tab="console">控制台</button>':""}\n <button class="debugger-tab" data-tab="tools">工具</button>\n </div>\n <div class="debugger-panel-content">\n <div class="network-panel" data-panel="network">\n <div class="request-list"></div>\n </div>\n ${this.config.showConsole?'\n <div class="console-panel" data-panel="console" style="display: none;">\n <div class="console-content"></div>\n <div class="console-input">\n <span class="console-prompt">></span>\n <input class="console-cmd" placeholder="输入 JavaScript 代码..." />\n </div>\n </div>\n ':""}\n <div class="tools-panel" data-panel="tools" style="display: none;">\n <div class="tools-section">\n <div class="tool-buttons">\n <button class="tool-btn" data-tool="parse-curl">解析 cURL</button>\n <button class="tool-btn" data-tool="export-har">导出 HAR</button>\n <button class="tool-btn" data-tool="cors-test">CORS 测试</button>\n <button class="tool-btn" data-tool="decrypt-test">解密测试</button>\n </div>\n </div>\n <div class="tools-content">\n <textarea placeholder="在这里粘贴 cURL 命令或输入要测试的数据..." style="width: 100%; height: 200px; background: #222; color: #fff; border: 1px solid #444; padding: 8px; font-family: monospace;"></textarea>\n </div>\n </div>\n </div>\n </div>\n `,this.addResizeHandles(),document.body.appendChild(this.container),this.networkTab=this.container.querySelector('[data-panel="network"]'),this.consoleTab=this.container.querySelector('[data-panel="console"]'),this.consoleContent=this.container.querySelector(".console-content")}addResizeHandles(){["n","s","e","w","ne","nw","se","sw"].forEach(t=>{const e=document.createElement("div");e.className=`resize-handle ${t}`,e.dataset.direction=t,this.container.appendChild(e)})}bindEvents(){const t=this.container.querySelector(".debugger-header"),e=this.container.querySelector(".debugger-controls"),n=this.container.querySelectorAll(".debugger-tab"),r=this.container.querySelectorAll("[data-tool]"),o=this.container.querySelector(".console-cmd");t.addEventListener("mousedown",t=>{t.target===e||e.contains(t.target)||this.startDrag(t)}),e.addEventListener("click",t=>{switch(t.target.dataset.action){case"clear":this.clearRequests();break;case"export":this.exportData();break;case"minimize":this.toggleMinimize();break;case"fullscreen":this.toggleFullscreen();break;case"close":this.hide()}}),n.forEach(t=>{t.addEventListener("click",t=>{const e=t.target.dataset.tab;this.switchTab(e)})}),r.forEach(t=>{t.addEventListener("click",t=>{const e=t.target.dataset.tool;this.handleToolAction(e)})}),o&&o.addEventListener("keypress",t=>{"Enter"===t.key&&(this.executeConsoleCommand(o.value),o.value="")});this.container.querySelectorAll(".resize-handle").forEach(t=>{t.addEventListener("mousedown",e=>{e.stopPropagation(),this.startResize(e,t.dataset.direction||t.classList[1])})}),document.addEventListener("mousemove",this.handleMouseMove.bind(this)),document.addEventListener("mouseup",this.handleMouseUp.bind(this))}startListening(){this.interceptor.addListener(t=>{this.addRequestToUI(t)}),this.requestsCache=this.interceptor.getRequests(),this.renderRequests()}addRequestToUI(t){this.requestsCache.unshift(t),this.requestsCache.length>100&&(this.requestsCache=this.requestsCache.slice(0,100)),this.renderRequests()}renderRequests(){const t=this.container.querySelector(".request-list");t&&(t.innerHTML="",this.requestsCache.forEach(e=>{const n=this.createRequestItem(e);t.appendChild(n)}))}createRequestItem(t){const e=document.createElement("div");e.className="request-item",e.dataset.requestId=t.id;const n=this.getStatusClass(t.status),r=`method-${t.method.toLowerCase()}`,o=t.decryptedRequest||t.decryptedResponse,i=t.error;return e.innerHTML=`\n <div class="request-header">\n <span class="request-method ${r}">${t.method}</span>\n <span class="request-url" title="${t.url}">${this.truncateUrl(t.url)}</span>\n <span class="request-status ${n}">${t.status||"ERR"}</span>\n ${o?'<span class="decrypted-badge">🔓</span>':""}\n ${i?'<span class="error-badge">⚠️</span>':""}\n </div>\n <div class="request-info">\n <span>${new Date(t.timestamp).toLocaleTimeString()}</span>\n <span>${t.duration?`${t.duration}ms`:"Pending"}</span>\n </div>\n <div class="request-details">\n ${this.renderRequestDetails(t)}\n </div>\n `,e.addEventListener("click",()=>{e.classList.toggle("expanded")}),e}renderRequestDetails(t){let e="";return Object.keys(t.headers).length>0&&(e+=`\n <div class="detail-section">\n <div class="detail-title">请求头</div>\n <div class="detail-content">\n <table class="headers-table">\n ${Object.entries(t.headers).map(([t,e])=>`<tr><td>${t}</td><td>${e}</td></tr>`).join("")}\n </table>\n </div>\n </div>\n `),t.requestBody&&(e+=`\n <div class="detail-section">\n <div class="detail-title">请求数据</div>\n <div class="detail-content">\n <div class="json-content">${this.formatData(t.requestBody)}</div>\n </div>\n </div>\n `),t.decryptedRequest&&(e+=`\n <div class="detail-section">\n <div class="detail-title">解密请求数据 🔓</div>\n <div class="detail-content">\n <div class="json-content">${this.formatData(t.decryptedRequest)}</div>\n </div>\n </div>\n `),t.responseHeaders&&Object.keys(t.responseHeaders).length>0&&(e+=`\n <div class="detail-section">\n <div class="detail-title">响应头</div>\n <div class="detail-content">\n <table class="headers-table">\n ${Object.entries(t.responseHeaders).map(([t,e])=>`<tr><td>${t}</td><td>${e}</td></tr>`).join("")}\n </table>\n </div>\n </div>\n `),t.responseBody&&(e+=`\n <div class="detail-section">\n <div class="detail-title">响应数据</div>\n <div class="detail-content">\n <div class="json-content">${this.formatData(t.responseBody)}</div>\n </div>\n </div>\n `),t.decryptedResponse&&(e+=`\n <div class="detail-section">\n <div class="detail-title">解密响应数据 🔓</div>\n <div class="detail-content">\n <div class="json-content">${this.formatData(t.decryptedResponse)}</div>\n </div>\n </div>\n `),t.error&&(e+=`\n <div class="detail-section">\n <div class="detail-title">错误信息</div>\n <div class="detail-content">\n <div class="json-content" style="color: #f44336;">${t.error}</div>\n </div>\n </div>\n `),e}formatData(t){if("string"==typeof t)try{return Jt(JSON.parse(t))}catch{return t}return Jt(t)}getStatusClass(t){return t?t>=200&&t<300?"status-2xx":t>=300&&t<400?"status-3xx":t>=400&&t<500?"status-4xx":t>=500?"status-5xx":"status-error":"status-error"}truncateUrl(t){if(t.length<=50)return t;const e=t.split("/"),n=e.slice(0,3).join("/"),r=e.slice(3).join("/");return r.length<=20?t:`${n}/...${r.slice(-20)}`}switchTab(t){this.container.querySelectorAll(".debugger-tab").forEach(e=>{e.classList.toggle("active",e.dataset.tab===t)}),this.container.querySelectorAll("[data-panel]").forEach(e=>{e.style.display=e.getAttribute("data-panel")===t?"block":"none"}),this.currentTab=t}clearRequests(){this.requestsCache=[],this.interceptor.clearRequests(),this.renderRequests(),this.logToConsole("✅ 已清空网络请求记录")}exportData(){const t={timestamp:(new Date).toISOString(),requests:this.requestsCache,userAgent:navigator.userAgent,url:window.location.href},e=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=`network-debug-${Date.now()}.json`,r.click(),URL.revokeObjectURL(n),this.logToConsole("💾 网络数据已导出")}toggleMinimize(){this.config.minimized=!this.config.minimized,this.container.classList.toggle("minimized",this.config.minimized);this.container.querySelector('[data-action="minimize"]').textContent=this.config.minimized?"📖":"📕"}toggleFullscreen(){this.container.classList.toggle("fullscreen")}handleToolAction(t){const e=this.container.querySelector(".tools-content textarea").value.trim();switch(t){case"parse-curl":this.handleParseCurl(e);break;case"export-har":this.exportHAR();break;case"cors-test":this.handleCorsTest(e);break;case"decrypt-test":this.handleDecryptTest(e)}}handleParseCurl(t){if(t)try{const e=function(t){const e=t.split("\\\n").map(t=>t.trim()).join(" "),n=e.match(/c?curl\s+['"]?([^'"\s]+)['"]?/),r=n?n[1]:"",o={},i=e.matchAll(/-H\s+['"]([^:]+):\s*([^'"]*)['"]/g);for(const l of i)o[l[1]]=l[2];let s;const a=e.match(/(?:--data-raw|--data|-d)\s+['"]({.+?})['"]/s);if(a){const t=a[1];try{s=JSON.parse(t)}catch{s=t}}const c=e.match(/-X\s+(['"]?)([A-Z]+)\1/);return{url:r,method:c?c[2]:s?"POST":"GET",headers:o,data:s}}(t);this.logToConsole("✅ cURL 解析成功:"),this.logToConsole(e)}catch(e){this.logToConsole(`❌ cURL 解析失败: ${e instanceof Error?e.message:String(e)}`,"error")}else this.logToConsole("❌ 请输入 cURL 命令")}exportHAR(){const t={log:{version:"1.2",creator:{name:"NetworkDebugger",version:"1.0.0",comment:"Created by Leo (@leeguoo)"},entries:this.requestsCache.map(t=>({startedDateTime:new Date(t.timestamp).toISOString(),time:t.duration||0,request:{method:t.method,url:t.url,headers:Object.entries(t.headers).map(([t,e])=>({name:t,value:e})),postData:t.requestBody?{mimeType:"application/json",text:"string"==typeof t.requestBody?t.requestBody:JSON.stringify(t.requestBody)}:void 0},response:{status:t.status||0,statusText:t.statusText||"",headers:t.responseHeaders?Object.entries(t.responseHeaders).map(([t,e])=>({name:t,value:e})):[],content:{size:0,mimeType:"application/json",text:t.responseBody?"string"==typeof t.responseBody?t.responseBody:JSON.stringify(t.responseBody):""}}}))}},e=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=`network-har-${Date.now()}.har`,r.click(),URL.revokeObjectURL(n),this.logToConsole("💾 HAR 文件已导出")}handleCorsTest(t){t?(this.logToConsole(`🔍 开始 CORS 测试: ${t}`),fetch(t,{mode:"cors"}).then(t=>{this.logToConsole(`✅ CORS 测试成功: ${t.status} ${t.statusText}`)}).catch(t=>{this.logToConsole(`❌ CORS 测试失败: ${t.message}`)})):this.logToConsole("❌ 请输入要测试的 URL")}handleDecryptTest(t){t?this.logToConsole("🔓 解密测试功能开发中..."):this.logToConsole("❌ 请输入要解密的数据")}executeConsoleCommand(t){if(t.trim()){this.consoleHistory.push(t),this.logToConsole(`> ${t}`);try{const e=new Function("return "+t)();this.logToConsole(e)}catch(e){try{const e=new Function(t)();this.logToConsole(void 0!==e?e:"undefined")}catch(n){this.logToConsole(`❌ ${e}`,"error")}}}}logToConsole(t,e="log"){if(!this.consoleContent)return;const n=(new Date).toLocaleTimeString(),r="object"==typeof t?JSON.stringify(t,null,2):t,o=document.createElement("div");o.innerHTML=`[${n}] ${r}`,"error"===e?o.style.color="#f44336":"warn"===e&&(o.style.color="#ff9800"),this.consoleContent.appendChild(o),this.consoleContent.scrollTop=this.consoleContent.scrollHeight}startDrag(t){this.isDragging=!0,this.dragStart={x:t.clientX,y:t.clientY},this.container.style.transition="none"}startResize(t,e){this.isResizing=!0,this.dragStart={x:t.clientX,y:t.clientY},this.container.style.transition="none"(this.container).dataset.resizeDirection=e}handleMouseMove(t){if(this.isDragging){const e=t.clientX-this.dragStart.x,n=t.clientY-this.dragStart.y,r=this.container.getBoundingClientRect();this.container.style.left=`${r.left+e}px`,this.container.style.top=`${r.top+n}px`,this.dragStart={x:t.clientX,y:t.clientY}}if(this.isResizing){const e=this.container.dataset.resizeDirection,n=t.clientX-this.dragStart.x,r=t.clientY-this.dragStart.y,o=this.container.getBoundingClientRect();e.includes("e")&&(this.container.style.width=`${o.width+n}px`),e.includes("s")&&(this.container.style.height=`${o.height+r}px`),e.includes("w")&&(this.container.style.width=o.width-n+"px",this.container.style.left=`${o.left+n}px`),e.includes("n")&&(this.container.style.height=o.height-r+"px",this.container.style.top=`${o.top+r}px`),this.dragStart={x:t.clientX,y:t.clientY}}}handleMouseUp(){(this.isDragging||this.isResizing)&&(this.container.style.transition="all 0.3s ease"),this.isDragging=!1,this.isResizing=!1,delete this.container.dataset.resizeDirection}show(){this.container.style.display="block"}hide(){this.container.style.display="none"}destroy(){this.container.remove();const t=document.getElementById("network-debugger-styles");t&&t.remove()}}class Gt{constructor(){this.interceptor=null,this.panel=null,this.wasmLoader=null,this.config={},this.initialized=!1}async init(t={}){if(!this.initialized){this.config={autoStart:!0,position:"bottom-right",theme:"dark",minimized:!1,showConsole:!0,wasm:{enabled:!0,...t.wasm},decrypt:{enabled:!0,...t.decrypt},...t};try{this.config.wasm?.enabled&&(this.wasmLoader=new Kt,await this.wasmLoader.loadWasm(this.config.wasm.wasmUrl,this.config.wasm.jsUrl)),this.interceptor=new Xt,this.config.decrypt?.enabled&&this.interceptor.enableDecryption({keyExtractor:this.config.decrypt.keyExtractor||this.defaultKeyExtractor,slkExtractor:this.config.decrypt.slkExtractor||this.defaultSlkExtractor}),!1!==this.config.autoStart&&this.createPanel(),this.initialized=!0}catch(e){throw e}}}show(){this.initialized&&(this.panel?this.panel.show():this.createPanel())}hide(){this.panel&&this.panel.hide()}destroy(){this.panel&&(this.panel.destroy(),this.panel=null),this.initialized=!1}getRequests(){return this.interceptor?.getRequests()||[]}clearRequests(){this.interceptor?.clearRequests()}exportData(){return{timestamp:(new Date).toISOString(),requests:this.getRequests(),config:this.config,userAgent:navigator.userAgent,url:window.location.href,author:"Leo (@leeguoo)",tool:"@leeguoo/network-debugger"}}isWasmLoaded(){return this.wasmLoader?.isLoaded()||!1}isInitialized(){return this.initialized}static create(t){const e=new Gt;return e.init(t).then(()=>e)}createPanel(){this.interceptor&&(this.panel=new Yt(this.interceptor,{position:this.config.position,theme:this.config.theme,minimized:this.config.minimized,showConsole:this.config.showConsole}))}defaultKeyExtractor(t){return t.keys||t.cid||t["x-api-key"]||""}defaultSlkExtractor(t){return t.slk||t["x-slk"]||""}}let Zt=null;const Vt={init:async t=>Zt||(Zt=await Gt.create(t),"undefined"!=typeof window&&(window.NetworkDebugger=Zt),Zt),show(){Zt?.show()},hide(){Zt?.hide()},destroy(){Zt?.destroy(),Zt=null,"undefined"!=typeof window&&delete window.NetworkDebugger},getInstance:()=>Zt};exports.DebugPanel=Yt,exports.NetworkDebugger=Gt,exports.NetworkInterceptor=Xt,exports.WasmLoader=Kt,exports.default=Vt;