commit e266d3098a42333a21f6405d730d63791bc40cf3 Author: Geliebte <1297754537@qq.com> Date: Fri Sep 18 04:25:57 2026 +0800 feat: 抖音直播间弹幕监控 - Go+Wails 实现 后端: - SQLite 数据层 (rooms/users/chat_logs/settings/error_logs) - 抖音 WebSocket 抓取器 (proto 解析, 心跳, watchdog) - __ac_signature 算法 (纯 Go 移植) - a_bogus/sign.js 签名 (goja JS 引擎) - Echo HTTP API 服务器 (端口 5000) - SSE 事件广播 - 自动保活 + 授权守护 - PAYS 云授权对接 前端: - 顶栏: 品牌 + 日志/调试/客户名单/授权/文档/房间控制/主题切换 - 添加直播间 (链接解析 + 关键词) - Dashboard (卡片/列表视图, 公开/匿名房筛选, 分页) - 详情页 (多 tab 消息流, 右侧用户面板, 颜色标记, 精准客户, 已看标记) - 精准客户名单 (跨房间汇总) - 订阅授权页面 (登录/注册/购买) - 使用帮助 + 系统调试 - 白昼/黑夜主题切换 (CSS 变量 + iconfont) - 底部版权栏 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6dd879f --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Build output +build/bin/ +dist/ +*.exe +!build/windows/icon.ico +!assets/icon.png + +# Data files +data.db +live_fetcher.log + +# Node +frontend/node_modules/ +frontend/dist/ + +# IDE +.idea/ +.vscode/ + +# OS +.DS_Store +Thumbs.db diff --git a/app.go b/app.go new file mode 100644 index 0000000..129031d --- /dev/null +++ b/app.go @@ -0,0 +1,7 @@ +package main + +import "context" + +type App struct{ ctx context.Context } +func NewApp() *App { return &App{} } +func (a *App) Startup(ctx context.Context) { a.ctx = ctx } diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000..9cf599e Binary files /dev/null and b/assets/icon.png differ diff --git a/assets/sign/a_bogus.js b/assets/sign/a_bogus.js new file mode 100644 index 0000000..f5b901f --- /dev/null +++ b/assets/sign/a_bogus.js @@ -0,0 +1,389 @@ +function get_ab(dpf, ua) { + function enc_sum(n_str) { + function ir(t) { + return ir = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { + return typeof t + } : function (t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + }, + ir(t) + } + function ur(t, r) { + for (var e = 0; e < r.length; e++) { + var n = r[e]; + n.enumerable = n.enumerable || !1, + n.configurable = !0, "value" in n && (n.writable = !0), + Object.defineProperty(t, sr(n.key), n) + } + } + function sr(t) { + var r = function (t, r) { + if ("object" != ir(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var n = e.call(t, r || "default"); + if ("object" != ir(n)) return n; + throw new TypeError("@@toPrimitive must return a primitive value.") + } + return ("string" === r ? String : Number)(t) + }(t, "string"); + return "symbol" == ir(r) ? r : r + "" + } + var gr = function () { + function t() { + if (function (t, r) { + if (!(t instanceof r)) throw new TypeError("Cannot call a class as a function") + }(this, t), !(this instanceof t)) return new t; + this.reg = new Array(8), + this.chunk = [], + this.size = 0, + this.reset() + } + return function (t, r, e) { + r && ur(t.prototype, r), + e && ur(t, e), + Object.defineProperty(t, "prototype", { + writable: !1 + }) + }(t, [{ + key: "reset", + value: function () { + this.reg[0] = 1937774191, + this.reg[1] = 1226093241, + this.reg[2] = 388252375, + this.reg[3] = 3666478592, + this.reg[4] = 2842636476, + this.reg[5] = 372324522, + this.reg[6] = 3817729613, + this.reg[7] = 2969243214, + this.chunk = [], + this.size = 0 + } + }, { + key: "write", + value: function (t) { + var r = "string" == typeof t ? function (t) { + var r = encodeURIComponent(t).replace(/%([0-9A-F]{2})/g, (function (t, r) { + return String.fromCharCode("0x" + r) + })), + e = new Array(r.length); + return Array.prototype.forEach.call(r, (function (t, r) { + e[r] = t.charCodeAt(0) + })), + e + }(t) : t; + this.size += r.length; + var e = 64 - this.chunk.length; + if (r.length < e) this.chunk = this.chunk.concat(r); + else + for (this.chunk = this.chunk.concat(r.slice(0, e)); this.chunk.length >= 64;) this._compress(this.chunk), + e < r.length ? this.chunk = r.slice(e, Math.min(e + 64, r.length)) : this.chunk = [], + e += 64 + } + }, { + key: "sum", + value: function (t, r) { + t && (this.reset(), this.write(t)), + this._fill(); + for (var e = 0; e < this.chunk.length; e += 64) this._compress(this.chunk.slice(e, e + 64)); + var n, o, i, u = null; + if ("hex" == r) { + u = ""; + for (e = 0; e < 8; e++) u += (n = this.reg[e].toString(16), o = 8, i = "0", n.length >= o ? n : i.repeat(o - n.length) + n) + } else + for (u = new Array(32), e = 0; e < 8; e++) { + var s = this.reg[e]; + u[4 * e + 3] = (255 & s) >>> 0, + s >>>= 8, + u[4 * e + 2] = (255 & s) >>> 0, + s >>>= 8, + u[4 * e + 1] = (255 & s) >>> 0, + s >>>= 8, + u[4 * e] = (255 & s) >>> 0 + } + return this.reset(), + u + } + }, { + key: "_compress", + value: function (t) { + if (t < 64) console.error("compress error: not enough data"); + else { + for (var r = function (t) { + for (var r = new Array(132), e = 0; e < 16; e++) r[e] = t[4 * e] << 24, + r[e] |= t[4 * e + 1] << 16, + r[e] |= t[4 * e + 2] << 8, + r[e] |= t[4 * e + 3], + r[e] >>>= 0; + for (var n = 16; n < 68; n++) { + var o = r[n - 16] ^ r[n - 9] ^ dr(r[n - 3], 15); + o = o ^ dr(o, 15) ^ dr(o, 23), + r[n] = (o ^ dr(r[n - 13], 7) ^ r[n - 6]) >>> 0 + } + for (n = 0; n < 64; n++) r[n + 68] = (r[n] ^ r[n + 4]) >>> 0; + return r + }(t), e = this.reg.slice(0), n = 0; n < 64; n++) { + var o = dr(e[0], 12) + e[4] + dr(yr(n), n), + i = ((o = dr(o = (4294967295 & o) >>> 0, 7)) ^ dr(e[0], 12)) >>> 0, + u = br(n, e[0], e[1], e[2]); + u = (4294967295 & (u = u + e[3] + i + r[n + 68])) >>> 0; + var s = mr(n, e[4], e[5], e[6]); + s = (4294967295 & (s = s + e[7] + o + r[n])) >>> 0, + e[3] = e[2], + e[2] = dr(e[1], 9), + e[1] = e[0], + e[0] = u, + e[7] = e[6], + e[6] = dr(e[5], 19), + e[5] = e[4], + e[4] = (s ^ dr(s, 9) ^ dr(s, 17)) >>> 0 + } + for (var c = 0; c < 8; c++) this.reg[c] = (this.reg[c] ^ e[c]) >>> 0 + } + } + }, { + key: "_fill", + value: function () { + var t = 8 * this.size, + r = this.chunk.push(128) % 64; + for (64 - r < 8 && (r -= 64); r < 56; r++) this.chunk.push(0); + for (var e = 0; e < 4; e++) { + var n = Math.floor(t / 4294967296); + this.chunk.push(n >>> 8 * (3 - e) & 255) + } + for (e = 0; e < 4; e++) this.chunk.push(t >>> 8 * (3 - e) & 255) + } + }]), + t + }(); + function dr(t, r) { + return (t << (r %= 32) | t >>> 32 - r) >>> 0 + } + function yr(t) { + return 0 <= t && t < 16 ? 2043430169 : 16 <= t && t < 64 ? 2055708042 : void console.error("invalid j for constant Tj") + } + function br(t, r, e, n) { + return 0 <= t && t < 16 ? (r ^ e ^ n) >>> 0 : 16 <= t && t < 64 ? (r & e | r & n | e & n) >>> 0 : (console.error("invalid j for bool function FF"), 0) + } + function mr(t, r, e, n) { + return 0 <= t && t < 16 ? (r ^ e ^ n) >>> 0 : 16 <= t && t < 64 ? (r & e | ~r & n) >>> 0 : (console.error("invalid j for bool function GG"), 0) + } + enc_ = new gr; + return enc_.sum(n_str); + } + function generate_lm_g_EP(ua_n = ua) { + // function get_sz256f_2() { + // var r = [], k = 0, y = [0, 1, 0]; + // for (var i = 255; i >= 0; i--) { + // r.push(i); + // } + // for (var i = 0; i < r.length; i++) { + // var a = r[i]; + // k = (k * a + k + y[i % 3]) % 256; + // var b = r[k]; + // r[i] = b, r[k] = a; + // } + // return r; + // } + var sz256f_2 = [233, 5, 1, 249, 162, 140, 57, 143, 19, 203, 254, 236, 99, 248, 93, 213, 79, 149, 216, 50, 145, 123, 240, 92, 23, 113, 130, 53, 235, 220, 201, 136, 223, 155, 190, 242, 243, 42, 52, 214, 151, 232, 97, 187, 163, 222, 30, 78, 47, 71, 49, 170, 247, 196, 25, 156, 183, 182, 217, 180, 147, 124, 208, 69, 215, 200, 161, 154, 91, 60, 133, 224, 119, 164, 221, 45, 98, 40, 186, 120, 51, 167, 38, 90, 194, 212, 129, 56, 87, 195, 144, 44, 75, 84, 81, 13, 197, 245, 36, 250, 115, 100, 105, 252, 206, 103, 112, 202, 114, 138, 192, 21, 116, 173, 181, 29, 82, 125, 141, 16, 211, 131, 225, 118, 31, 101, 77, 146, 135, 150, 62, 66, 67, 176, 0, 41, 46, 59, 107, 178, 43, 26, 189, 128, 8, 207, 166, 110, 3, 229, 85, 54, 63, 11, 32, 4, 234, 142, 72, 58, 33, 231, 12, 230, 102, 86, 70, 159, 226, 65, 237, 34, 244, 76, 132, 122, 111, 95, 179, 152, 175, 18, 177, 6, 126, 193, 219, 74, 134, 2, 61, 251, 191, 168, 209, 241, 137, 165, 88, 238, 160, 174, 153, 157, 199, 48, 22, 64, 246, 7, 139, 55, 27, 188, 148, 204, 127, 171, 89, 37, 172, 205, 121, 20, 28, 17, 169, 15, 227, 117, 80, 218, 198, 10, 106, 9, 39, 210, 104, 83, 109, 24, 108, 228, 184, 96, 185, 158, 14, 255, 239, 68, 94, 35, 73, 253]; + var k = 0, s = ''; + for (var i = 0; i < ua_n.length; i++) { + var i1 = (i + 1) % 256; + var a = sz256f_2[i1]; + k = (k + a) % 256; + var c = sz256f_2[k]; + sz256f_2[i1] = c; + sz256f_2[k] = a; + s += String.fromCharCode(ua_n.charCodeAt(i) ^ sz256f_2[(a + c) % 256]); + } + return s; + } + function get_str_chr_list(one_str) { + var r = []; // 当然也可以用map实现 + for (var i = 0; i < one_str.length; i++) { + r.push(one_str.charCodeAt(i)); + } + return r; + } + function generate_szenc_head8p1() { + var z = Math.random() * 65535; + var a = z & 255; + var b = (z >> 8) & 255, d = []; + d.push((a & 170) | 1); + d.push((a & 85) | 0); + d.push((b & 170) | 0); + d.push((b & 85) | 0); + return d; + } + function generate_szenc_head8p2() { + var a = ((Math.random() * 240) >> 0) + 1; + var b = ((Math.random() * 255) >> 0) & 77, c = [1, 4, 5, 7], d = []; + for (var i = 0; i < c.length; i++) { + b = b | (1 << c[i]); + } + d.push((a & 170) | 1); + d.push((a & 85) | 0); + d.push((b & 170) | 0); + d.push((b & 85) | 0); + return d; + } + function get_szenc_tail(sz96_n) { + key_sz_6 = [145, 110, 66, 189, 44, 211] + var a = []; + for (var i = 0; i < 94; i += 3) { + var b = sz96_n[i]; + var c = sz96_n[i + 1]; + var d = sz96_n[i + 2]; + var e = (Math.random() * 1000) & 255; + a.push((e & key_sz_6[0]) | (b & key_sz_6[1])); + a.push((e & key_sz_6[2]) | (c & key_sz_6[3])); + a.push((e & key_sz_6[4]) | (d & key_sz_6[5])); + a.push(((b & key_sz_6[0]) | (c & key_sz_6[2])) | (d & key_sz_6[4])); + } + return a; + } + function generate_lm_g_ab_head4() { + var s = ''; + var a = (Math.random() * 65535) & 255, b = (Math.random() * 40) >> 0; + s += String.fromCharCode((a & 170) | 1); + s += String.fromCharCode((a & 85) | 2); + s += String.fromCharCode((b & 170) | 80); + s += String.fromCharCode((b & 85) | 2); + return s; + } + function get_list_str(one_list) { + var s = ''; + for (var i = 0; i < one_list.length; i++) { + s += String.fromCharCode(one_list[i]); + } + return s; + } + function get_lm_g_ab(lm_g_lm_n) { + // function get_sz256() { + // var raw = []; + // var z = 0; + // for (var i = 255; i >= 0; i--) { + // raw.push(i); + // } + // for (var i = 0; i < raw.length; i++) { + // z += 211; + // var a = z % 256; + // var b = raw[i]; + // var c = raw[a]; + // raw[a] = b; + // raw[i] = c; + // z = (raw[i + 1] * a) + a; + // } + // return raw; + // } + var fixed_sz256_n = [194, 249, 255, 165, 114, 67, 251, 187, 174, 231, 164, 237, 124, 235, 68, 83, 206, 79, 142, 167, 30, 77, 0, 93, 118, 29, 32, 161, 2, 171, 243, 179, 42, 170, 223, 119, 98, 222, 219, 57, 245, 135, 197, 13, 186, 202, 88, 184, 214, 12, 76, 185, 116, 74, 54, 53, 104, 208, 158, 163, 82, 173, 253, 240, 172, 63, 191, 207, 25, 15, 201, 203, 215, 236, 183, 233, 145, 127, 72, 6, 16, 10, 228, 35, 232, 159, 66, 168, 108, 71, 217, 75, 33, 155, 112, 128, 36, 24, 138, 50, 211, 23, 107, 14, 247, 137, 175, 242, 234, 157, 199, 49, 139, 85, 81, 17, 180, 86, 120, 78, 51, 205, 169, 148, 181, 3, 94, 106, 252, 220, 150, 47, 151, 84, 212, 18, 149, 182, 100, 123, 121, 156, 154, 152, 126, 204, 60, 133, 132, 248, 7, 91, 58, 59, 20, 97, 113, 117, 131, 46, 250, 224, 21, 73, 146, 31, 193, 69, 140, 125, 9, 39, 89, 5, 65, 141, 218, 80, 1, 70, 64, 166, 87, 189, 55, 147, 22, 26, 143, 61, 144, 99, 92, 44, 129, 130, 227, 103, 90, 192, 198, 244, 136, 101, 246, 153, 56, 38, 4, 178, 221, 162, 134, 37, 111, 28, 216, 96, 102, 210, 254, 196, 195, 230, 241, 62, 11, 122, 52, 40, 41, 229, 226, 225, 48, 45, 160, 105, 8, 115, 34, 43, 209, 95, 239, 190, 188, 109, 27, 19, 176, 213, 200, 238, 177, 110]; + // var fixed_sz256_n = get_sz256(); + var z = 0; + var st = ""; + for (var i = 0; i < lm_g_lm_n.length; i++) { + var a = (i + 1) % 256; + var c = fixed_sz256_n[a]; + z = (z + c) % 256; + var e = fixed_sz256_n[z]; + fixed_sz256_n[a] = e; + fixed_sz256_n[z] = c; + var g = (e + c) % 256; + var h = lm_g_lm_n.charCodeAt(i); + var j = fixed_sz256_n[g]; + var k = h ^ j; + var l = String.fromCharCode(k); + st += l; + } + return st; + } + function get_raw_ab(lm_get_ab_n, key_str = info_dic.s4) { + var s = "", bw = 0; + for (var i = 0; i < lm_get_ab_n.length; i += 3) { + var cl = 16; + var tcz = 0; + var sof = 16515072; + for (var j = i; j < i + 3; j++) { + if (j < lm_get_ab_n.length) { + var tlcy = lm_get_ab_n.charCodeAt(j) & 255; + tcz = tcz | (tlcy << cl); + cl -= 8; + } else { + bw += 1; + } + } + for (var h = 18; h >= (6 * bw); h -= 6) { + var tsz = tcz & sof; + s += key_str[tsz >> h]; + sof = sof / 64; + } + s += '='.repeat(bw); + } + return s; + } + function get_random_number(min, max) { + return Math.floor(Math.random() * (max - min + 1)) + min; + } + var info_dic = { "s0": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + "s1": "Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=", + "s2": "Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=", + "s3": "ckdp1h4ZKsUB80/Mfvw36XIgR25+WQAlEi7NLboqYTOPuzmFjJnryx9HVGDaStCe", + "s4": "Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe" } + var t1 = Date.now(); + var s = []; + + var t2 = Date.now() - 1 + get_random_number(1, 3); + + var EP = get_raw_ab(generate_lm_g_EP(ua), key_str = info_dic.s3), eEP = enc_sum(EP); + + s.push("env_fx_list", "dpf_ua_dic", 1, 0, 8, "dpf", "", "ua", 6241, 6383, "1.0.1.19-fix.01", "ink", 3, "0X21_dic"); // 固定即可 + + var t3 = Date.now() + get_random_number(4, 15); + var eedp = enc_sum(enc_sum(dpf + 'dhzx')); + + s.push(t3, "reg_dic", 1, 0, eedp, "eedh", EP, eEP, t2, [3, 82], 41, [1, 0, 1, 0, 1]); + + var t4 = Date.now() + get_random_number(100, 1000); + + s1 = ((t4 - 1721836800000) / 1000 / 60 / 60 / 24 / 14) >> 0, szenc_o95_tail41 = [49, 52, 52, 49, 124, 56, 51, 56, 124, 49, 52, 52, 49, 124, 57, 49, 51, 124, 49, 52, 52, 49, 124, 57, 49, 51, 124, 49, 52, 52, 49, 124, 57, 54, 49, 124, 87, 105, 110, 51, 50]; + + s.push(s1, 6, (t3 - t1 + 3) & 255, t3 & 255, (t3 >> 8) & 255, (t3 >> 16) & 255, (t3 >> 24) & 255, (t3 / 256 / 256 / 256 / 256) & 255); + + var s2 = (t3 / 256 / 256 / 256 / 256 / 256) & 255; + + s.push(s2, (s2 % 256) & 255, (s2 / 256) & 255, [211, 2, 5, 1, 129], 129, 0, 211, 2, 5, 1, 0, 0, 0, 0, eedp[9], eedp[18], 3, eedp[3], 82, 177, 4, 44, eEP[11], eEP[21], 5, eEP[5], t2 & 255, (t2 >> 8) & 255, (t2 >> 16) & 255, (t2 >> 24) & 255, (t2 / 256 / 256 / 256 / 256) & 255, (t2 / 256 / 256 / 256 / 256 / 256) & 255, 3, 97, 24, 0, 0, 239, 24, 0, 0, "screec_dic", "screen_str", szenc_o95_tail41, 41, 41, 0); + + var s3 = ((t3 + 3) & 255) + ',', s4 = get_str_chr_list(s3); + + s.push(s3, s4, s4.length, s4.length & 255, (s4.length >> 8) & 255); + + szenc_head8_p1 = generate_szenc_head8p1(), szenc_head8_p2 = generate_szenc_head8p2(), szenc_head8 = szenc_head8_p1.concat(szenc_head8_p2), s5 = [], s6 = [24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 79, 80, 84, 85]; + for (var i = 0; i < s6.length; i++) { + s5.push(s[s6[i]]); + } + s.push(szenc_head8); + var s7 = szenc_head8.concat(s5); + + var s8 = s7[0]; + for (var i = 1; i < s7.length; i++) { + s8 = s8 ^ s7[i]; + } + s.push(s8); + + enc_s_i = [34, 44, 56, 61, 73, 29, 70, 45, 35, 49, 38, 66, 51, 68, 28, 48, 64, 47, 30, 71, 26, 55, 31, 69, 59, 40, 62, 63, 27, 72, 41, 74, 57, 52, 42, 39, 33, 67, 53, 43, 65, 46, 36, 24, 60, 32, 79, 80, 84, 85]; + szenc_o95_head50 = []; + for (var i = 0; i < enc_s_i.length; i++) { + szenc_o95_head50.push(s[enc_s_i[i]]); + } + szenc_o95 = []; + szenc_o95 = szenc_o95.concat(szenc_o95_head50, szenc_o95_tail41, s4, [s8]); + + szenc_tail = get_szenc_tail(szenc_o95); + szenc = szenc_head8.concat(szenc_tail); + + lm_get_ab_head4 = generate_lm_g_ab_head4(); + + var lm_get_lm = get_list_str(szenc); + var lm_get_ab_tail = get_lm_g_ab(lm_get_lm); + var lm_get_ab = lm_get_ab_head4 + lm_get_ab_tail + return get_raw_ab(lm_get_ab); +} diff --git a/assets/sign/sign.js b/assets/sign/sign.js new file mode 100644 index 0000000..eef7918 --- /dev/null +++ b/assets/sign/sign.js @@ -0,0 +1,7011 @@ +document = {} +window = {} +navigator = {'userAgent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'} + +var crawler; + + +/** 1.0.0.53 */ +; +if (!window.byted_acrawler) { + function w_0x25f3(_0x545d0a, _0xb73ac6) { + var _0x4173a9 = w_0x42f5(); + return w_0x25f3 = function (_0x138003, _0x35a375) { + _0x138003 = _0x138003 - (-0x1 * -0xd15 + -0x1044 + 0x48d); + var _0x484578 = _0x4173a9[_0x138003]; + return _0x484578; + } + , + w_0x25f3(_0x545d0a, _0xb73ac6); + } + + (function (_0x2afeae, _0x11644f) { + var _0x34f31d = w_0x25f3 + , _0x222a7c = _0x2afeae(); + while (!![]) { + try { + var _0x5a962 = -parseInt(_0x34f31d(0x31b)) / (-0x1c * 0xac + 0x22 * 0x121 + 0x1 * -0x1391) * (-parseInt(_0x34f31d(0x26a)) / (0xa27 * -0x1 + 0x683 * -0x5 + 0x4 * 0xaae)) + parseInt(_0x34f31d(0x296)) / (-0x18c1 + 0xa9a + 0x715 * 0x2) + -parseInt(_0x34f31d(0x1f3)) / (0x446 * 0x4 + 0x649 + -0x175d) * (parseInt(_0x34f31d(0x31c)) / (0x3 * -0xbbf + 0xf67 * 0x1 + -0x12b * -0x11)) + parseInt(_0x34f31d(0x347)) / (-0x102f * 0x2 + 0x9e * 0x19 + 0x10f6) * (-parseInt(_0x34f31d(0x28f)) / (-0x1 * 0x1817 + -0x1 * -0x184d + -0x2f)) + -parseInt(_0x34f31d(0x241)) / (0x779 * -0x1 + -0x1e1d + 0x259e) * (-parseInt(_0x34f31d(0x2b9)) / (-0x435 + -0x8c9 * 0x2 + 0x1 * 0x15d0)) + -parseInt(_0x34f31d(0x295)) / (0x246e + 0x1 * -0x1c79 + 0x7eb * -0x1) * (-parseInt(_0x34f31d(0x291)) / (-0x1b67 + -0x3c3 * -0x3 + 0x1029)) + parseInt(_0x34f31d(0x307)) / (0x1c3d + -0xaa0 + 0x3 * -0x5db) * (-parseInt(_0x34f31d(0x39d)) / (-0x18de + -0x3 * -0x6f7 + 0x406)); + if (_0x5a962 === _0x11644f) + break; + else + _0x222a7c['push'](_0x222a7c['shift']()); + } catch (_0x4c4ab0) { + _0x222a7c['push'](_0x222a7c['shift']()); + } + } + }(w_0x42f5, -0x131739 + 0x156382 + -0x7 * -0x144df)); + + function w_0x42f5() { + var _0x458f30 = ['\x20can\x27t\x20have\x20a\x20.', '484e4f4a403f5243001f3009ad9ffc90000000dc0b1204fb00000477110001033f2e17000135491102004a120000110001110001031a2747000503414500201100010334274700050347450012110001033e2747000603041d45000303111d184301421101021400020211000211000103182c43010211000211000103122c43011802110002110001030c2c4301180211000211000103062c43011802110002110001430118421100011401010211010311000103022c430142110101031c2b11000103042d2f1400021100011401010211010311000243014202110103110101031a2b11000103062d2f4301021101021100014301184205000000003b0114000205000000473b01140003050000008b3b01140004050000009e3b0114000505000000be3b0114000603001400010300140007030014000811010144004a12000143000403e81b03002d14000911010212000232330033021101030211010303001100090700031843021101041200044a12000511010412000612000703021843014302050000fff11c140008110009110008050000fff11a3103002d4a1200080302430114000a11000a14000b11000a12000703202947001811000a4a12000511000a120007032019430114000b45004511000a12000703202747003907000314000c030014000d11000d032011000a120007192747001411000c0700091817000c354917000d214945ffdc11000c11000b1814000b07000a11000b18140007021101051100070302430214000702110103030011000707000318430214000e02110106430014000f11011807000b25470004014500010011000f07000c1607000314001011011612000d3300131101074a12000e11011612000d430107000f2647006503001400111101161200104700290211010803001101074a12000e0211010911011612000d1101161200104302430143021400114500200211010803001101074a12000e0211010a11011612000d43014301430214001107001111001118070012181400100211010b110116120013430114001211011612001447001511010c4a12001511001211011612001443024500031100121400121100100211010d110012430118140010110010070016180211010e1101161200134301180700121814001011001007001718070018181400100211010f11000f4301140013110102120002323300060211011043001400141101021200023233001811011112001934000f021101120211011307001a430143011400150211000411000743010211000511000706001b1b03002d4301180211000611001411000731430118021100040211010311000e1101021200023233000611011412001c4a12000843004302050000fff11c03102b0211010311000e110010070003184302050000fff11c2f4301180211000511001303082b11010212001d03042b2f110007314301180211000311000843011814001602110006030043014911001547000a1100161100151814001607001e1100161814001702110108030011001743024a120008031043011400181100184a12001f1100181200070302191100181200074302140019110017110019181400171100174200200c6b7f62604e656c7f4e626968076a6879596460680b6962604362795b6c6164690004657f686b097e786f7e797f64636a087d7f6279626e6261066168636a79650879625e797f64636a013d0e3c3d3d3d3d3d3d3d3c3c3d3d3d3d076b627f7f686c610a69647f686e795e646a63046f626974097e797f64636a646b740276700b6f6269745b6c613f7e797f0a6f62697452656c7e6530012b03787f61057c78687f740a6c7e626169527e646a63097d6c7965636c606830097979527a686f646930062b78786469300e526f74796869527e686e52696469077979527e6e64690a393f3439343b3a3f343b09787e687f4c6a686379096b685b687f7e6462630e523d3f4f39573b7a623d3d3d3d3c057e61646e68', '484e4f4a403f5243003c01321067d4bc00000824ebfd74540000087f0211010311000111000243024a12000505000000213b0105000001533b014302421100011200064701251100011200073300191100011200074a12000811030112000912000a430103011d2634000c0211030211000112000743014700f111000112000b4a12000c07000d43011400021100024700d902110303110001120007430114000311000311030412000e2547005511000211030515000f1100031103051500100211030607000f110002430249021103071100024301491100031101032947001f1103051200111200120300294700100211030811030903020403e81a4302494500161101031103051200102a47000911000211030515000f1101031103041200132533000c110305120011120012030a274700361103051200114a120014110002430149110305120011120012030125470017021103071100024301490211030607000f110002430249110001421100014008421100023400010d14000211020a33000711000111020b3714000307001514000407001614000507001514000611020c33000711000111020d374701c411000112000a14000411000212001747000f1100021200174a12001843004500030700161400050211020e1100044301330011110005070016253400071100050700192547017d11020512001014000711020512001a1400081100080700152347000f07000f11020512000f0c000245001207000f11020512000f07001a1100080c00041400090211020f021102101100044301110009430214000a0211021111000a430114000b0211021211000b11000212001b430214000c0211020f11000a11010111000c0c0002430214000d07001514000e11021312001c47000911000d14000e4500b10d021102140211000d43020e000714000f110005070019254700710211021511000111000243024a12001d07001e43010300134a12001f430014000602110216110006430147003b0211021711000f11000611000212001b4303490211021811000f0807002043031400100211020f11000d1101021100100c0002430214000e45000611000d14000e4500250211021811000f0807002043031400110211020f11000d1101021100110c0002430214000e1102131200214700130211021a430011000212000b110219120022160211010411000e1100021100074303421100034701e91100011200071400041100011200174700091100011200174500030700161400050211020e1100044301330011110005070016253400071100050700192547019811020512001014001211020512001a1400131100130700152347000f07000f11020512000f0c000245001207000f11020512000f07001a1100130c00041400140211020f021102101100044301110014430214001502110211110015430114001611000112000b1400171102131200214700161100174a1200231102191200220211021a4300430249110005070019254700480211021511000111000243024a12001d07001e43010300134a12001f43001400061100014a12002443004a12002543004a12000505000007293b01050000081e3b014302424500bd021102121100160243021400180211020f1100151101011100180c000243021400190d021102140211001943020e000714001a0211021811001a08070020430314001b0211020f11001911010211001b0c0002430214001c11020b11001c0d1100170e000b080e001b1100011200260e00261100011200270e00271100011200280e00281100011200290e002911000112002a0e002a11000112002b0e002b11000112002c0e002c440214001d0211010411001d110002110012430342021101031100011100024302424501df11000212000b324700070d11000215000b11000114000411000212001747000f1100021200174a12001843004500030700161400050211020e1100044301330011110005070016253400071100050700192547017d11020512001014001e11020512001a14001f11001f0700152347000f07000f11020512000f0c000245001207000f11020512000f07001a11001f0c00041400200211020f02110210110004430111002043021400210211021111002143011400220211021211002211000212001b43021400230211020f1100211101011100230c0002430214002407001514002511021312001c4700091100241400254500b10d021102140211002443020e0007140026110005070019254700710211021511000111000243024a12001d07001e43010300134a12001f430014000602110216110006430147003b0211021711002611000611000212001b430349021102181100260807002043031400270211020f1100241101021100270c00024302140025450006110024140025450025021102181100260807002043031400280211020f1100241101021100280c000243021400251102131200214700130211021a430011000212000b110219120022160211010411002511000211001e4303420211010311000111000243024208420700151400020211031211011611000143021400030211030f1101151102011100030c000243021400040211031611010643014700490d021103140211000443020e000714000502110317110005110106110001430349021103181100050807002043031400060211030f1100041102021100060c0002430214000245000611000414000211030b1100020d1101011200170e00171101170e000b1100010e001b1101011200260e00261101011200270e00271101011200280e00281101011200290e002911010112002a0e002a11010112002b0e002b11010112002c0e002c44021400070211020411000711010211011243034211000140084205000000003b0314000405000001593b021400050700001400010700011400020211010043003247000208421101011200024700020842001101011500021101011200031400031100031101011500041100051101011500030842002d0754214e636b797f0a537f656b626d78797e691653536d6f53656278697e6f697c786968536a69786f64056a69786f6406536a69786f64047864696202636703797e60076562686974436a0860636f6d7865636204647e696a0764696d68697e7f036b69780a7421617f217863676962037f696f07617f586367696208617f5f786d78797f0e617f42697b586367696240657f78066069626b78640465626578047c797f6400034b4958066169786463680b7863597c7c697e4f6d7f69045c435f580b53536d6f5378697f786568046e636875017a057f7c60657801370b786340637b697e4f6d7f69076a637e7e696d60037f68650d7f696f45626a6344696d68697e037f6978056f606362690478697478087e696a697e7e697e0e7e696a697e7e697e5c6360656f7504616368690b6f7e6968696278656d607f056f6d6f6469087e6968657e696f7809656278696b7e657875', 'own', 'Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function', 'getTimezoneOffset', 'array', 'toDataURL', 'enumerable', 'setPrototypeOf', 'field', 'WEBGL', 'wID', 'illegal\x20catch\x20attempt', 'TouchEvent', '3160hBpQVk', '484e4f4a403f5243000d0a13c08652000000000f3be74070000003930211021611010111000143024908421101003300031101013300031101023247000208420d0700000e000103040e00021101181200000e00030d0700040e000103030e00021101030e00050d0700060e000103030e00021101040e00050d0700070e000103030e00021101050e00050d0700080e000103030e00021101030e00050d0700090e000103000e00020d07000a0e000103000e00020d07000b0e000103000e00020d07000c0e000103000e00020d07000d0e000103000e00020d07000e0e000103030e00021101060e00050d07000f0e000103030e00021101070e00050d0700100e000103010e00020d0700110e000103010e00020d0700120e000103010e00020d0700130e000103000e00020d0700140e000103030e00021101080e000503010e00150d0700160e000103030e00021101090e00050d0700170e000103030e000211010a0e00050d0700180e000103030e00021101030e00050d0700190e000103030e000211010b0e00050d07001a0e000103030e000211010c0e00050d07001b0e000103030e000211010d0e00050d07001c0e000103030e00021101030e00050d07001d0e000103000e00020d07001e0e000103030e000211010e0e000507001f0e00200d0700210e000103030e000211010f0e00050d0700220e000103030e00021101100e00050d0700230e000103030e00021101110e000503010e00150d0700240e000103010e00020d0700250e000103040e00021101121200260e00030d0700270e000103030e00021101130e00050d0700280e000103030e00021101030e00050d0700290e000103040e00020c00221400010c0000140002030014000311000311000112002a274700eb110001110003131200020300480013030148002f0302480045030348005b494500be0211011411010011000111000313120001134301110001110003131500034500a011010111000111000313120001131100011100031315000345008511010211000111000313120001131100011100031315000345006a110001110003131200154700321101153a07002b264700241100024a12002c110001110003131200054a12002d110001110003131200204301430149450025110001110003131200054a12002d0211000111000313120020430211000111000313150003450003450000170003214945ff081101153a07002b2647001d1101154a12002e11000243014a12002f05000000003b0143014945000a02110116110001430149084200300349414c0146014e015a095b5c495a5c7c41454d015c09494a4144415c414d5b064b49465e495b0a5c41454d5b5c49455819085844495c4e475a451340495a4c5f495a4d6b47464b5d5a5a4d464b510c4c4d5e414b4d654d45475a51084449464f5d494f4d094449464f5d494f4d5b0a5a4d5b47445d5c4147460f495e4941447a4d5b47445d5c414746095b4b5a4d4d467c47580a5b4b5a4d4d46644d4e5c104c4d5e414b4d7841504d447a495c41470a585a474c5d4b5c7b5d4a074a495c5c4d5a510158095c475d4b4061464e47085c41454d5247464d0a5c41454d5b5c4945581a074f585d61464e470b425b6e47465c5b64415b5c0b58445d4f41465b64415b5c0a5c41454d5b5c4945581b095d5b4d5a694f4d465c0a4d5e4d5a6b474743414d075c5c775b4b414c01450b5b51465c49506d5a5a475a0c46495c415e4d644d464f5c40055a5c4b61780844474b495c414746094e587e4d5a5b4147460b77775e4d5a5b4147467777084b44414d465c614c0a5c41454d5b5c4945581c0b4d505c4d464c6e414d444c06444d464f5c40095d464c4d4e41464d4c04585d5b40044b49444403494444045c404d46', 'rewriteUrl\x20', 'setTTWid', 'height', 'product', 'Vrinda', 'X-Mssdk-Info', 'arrayBuffer', 'vibrate', 'sendBeacon', '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 'canvas', 'Character\x20outside\x20valid\x20Unicode\x20range:\x200x', 'join', 'throw', 'iterator\x20result\x20is\x20not\x20an\x20object', 'DEPTH_BITS', 'compatMode', 'forEach', 'Attempted\x20to\x20access\x20private\x20element\x20on\x20non-instance', 'unsupport\x20type', 'attempted\x20to\x20call\x20addInitializer\x20after\x20decoration\x20was\x20finished', 'pageXOffset', 'length', 'method', 'bytes', 'charAt', 'Sylfaen', 'toElementDescriptor', 'base64', 'createElement', 'private', 'ttcid', 'msStatus', 'MAX_VARYING_VECTORS', 'elements', '484e4f4a403f524300232a0d2ebaf9a00000000042410a740000019d110100002347000200421101011200004700020042070001110102364700351101024a12000111010143011400011100014a120002070000430103002a34000f1100014a120002070003430103002a470002004211010333000611010312000433000911010312000412000533000c1101031200041200051200064700213e000414000c413d00171101031200041200054a1200064300082547000200424107000707000807000907000a07000b07000c07000d07000e07000f0700100700110c000b1400020700120700130700140c000314000303001400041100041100031200152747001e11000311000413140005110103110005134700020042170004214945ffd503001400061100061100021200152747002111000211000613140007110103120016110007134700020042170006214945ffd21101024a1200171101031200164301140008030014000911000814000a11000911000a1200152747003911000a1100091314000b11000b4a1200181101050700194401430133000e11010312001611000b1307001a134700020042170009214945ffba0142001b096d7f787e68736c7f68137d7f6e556d744a68756a7f686e63547b777f690773747e7f62557c09767b747d6f7b7d7f690679726875777f07686f746e73777f07797574747f796e1445456d7f787e68736c7f68457f6c7b766f7b6e7f134545697f767f74736f77457f6c7b766f7b6e7f1b45456d7f787e68736c7f6845697968736a6e457c6f74796e7375741745456d7f787e68736c7f6845697968736a6e457c6f74791545456d7f787e68736c7f6845697968736a6e457c741345457c627e68736c7f68457f6c7b766f7b6e7f1245457e68736c7f68456f746d687b6a6a7f7e1545456d7f787e68736c7f68456f746d687b6a6a7f7e1145457e68736c7f68457f6c7b766f7b6e7f144545697f767f74736f77456f746d687b6a6a7f7e1445457c627e68736c7f68456f746d687b6a6a7f7e0945697f767f74736f770c797b7676497f767f74736f771645497f767f74736f7745535e5f45487f7975687e7f6806767f747d6e72087e75796f777f746e04717f636905777b6e79720a463e417b3760477e794506797b79727f45', 'pop', 'showOffsetX', 'MAX_TEXTURE_IMAGE_UNITS', '2571598OPFKfY', 'webgl', 'appendChild', 'outerHeight', 'screenX', 'kind', 'navigator', 'attempted\x20to\x20use\x20private\x20field\x20on\x20non-instance', 'cookie', 'AsyncIterator', 'crypto', 'buffer', 'availHeight', 'The\x20property\x20descriptor\x20of\x20a\x20field\x20descriptor', 'resolve', 'react.element', 'close', 'monospace', 'stun:stun.l.google.com:19302', 'acc', 'BLUE_BITS', 'Arguments', 'style', 'nextLoc', 'pageYOffset', '72px', 'webkitRequestAnimationFrame', 'hidden', 'MAX_FRAGMENT_UNIFORM_VECTORS', 'node', 'Parchment', 'kWebsocket', 'xmst', 'number', 'altKey', 'A\x20method\x20descriptor', 'Leelawadee', '6300OtYFrs', 'href', '1155KnHwvu', 'storage', 'sTm', 'setMonth', '20690wmYtVy', '266076LNZfld', 'Malformed\x20string', 'setConfig', 'touchmove', 'rval', 'unload', 'from', 'Image', 'tryLoc', 'ActiveXObject', 'assign', '\x20property.', '_sent', 'mmmmmmmmmmlli', 'offsetHeight', 'slice', 'getOwnPropertyDescriptor', 'mhe', 'utf8', 'Object\x20is\x20not\x20async\x20iterable', 'reset', 'raw', 'constructor', 'attempted\x20to\x20', 'Invalid\x20attempt\x20to\x20iterate\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.', 'isArray', 'chargingTime', '__await', '484e4f4a403f524300071336bc6677450000001613b112b6000003090b4a12000911021607000a07000b4402070001430242070000140001110115082633000511011502263300071101150700012647001d3e000a140029070002140001413d000d021101001101154301140001411101013234000611010212000347000b001401010211010343004902110104430049110105120004140002110106120005140003030214000411000414000503401400060211010011011443011400071101074a120006021101001101074a1200061100074301430143011400081101074a120006021101001101074a1200061100014301430143011400091101081200071200083247001005000000003b0011010812000715000811010912000c14000a11000a33000811000a3a07000d2547000c11000a4a120008430014000a0211010a110003110002430214000b0211010b11000b11000a430214000c0211010c11000c07000e430214000d1101074a1200060211010011000d4301430114000e11010d44004a12000f43000403e81b14000f0211010e43001400101100061400111100030401001b1400121100030401001c140013110002140014110008030e13140015110008030f13140016110009030e13140017110009030f1314001811000e030e1314001911000e030f1314001a11000f03182c0400ff2e14001b11000f03102c0400ff2e14001c11000f03082c0400ff2e14001d11000f03002c0400ff2e14001e11001003182c0400ff2e14001f11001003102c0400ff2e14002011001003082c0400ff2e14002111001003002c0400ff2e140022110011110012311100133111001431110015311100163111001731110018311100193111001a3111001b3111001c3111001d3111001e3111001f311100203111002131110022311400230400ff1400240211010f11001111001311001511001711001911001b11001d11001f11002111002311001211001411001611001811001a11001c11001e11002011002243131400250211010b0211011011002443011100254302140026021101111100051100241100264303140027021101121100270700104302140028110028420011201c4c491c401b1c41401e48481a4a484c1d414048484141401d1b1e404c4a4f1d00201e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e010e060d1a1b171c1d071d160e1b171c1d061c1d1b171c1d09080a170c170c01081d040c0a1115070a1d0814191b1d212623240b240d3e3d3e3e2400394825530423240b240d3e3d3e3e2400394825535c011f090d0b1d0a391f1d160c060b0c0a11161f020b48071f1d0c2c11151d020b4a', 'Arial\x20Hebrew', 'msToken', 'An\x20element\x20descriptor\x27s\x20.placement\x20property\x20must\x20be\x20one\x20of\x20\x22static\x22,\x20\x22prototype\x22\x20or\x20\x22own\x22,\x20but\x20a\x20decorator\x20created\x20an\x20element\x20descriptor\x20with\x20.placement\x20\x22', 'visible', 'decode', 'concat', '30762fvQkGV', 'hash', 'STENCIL_BITS', 'configurable', '\x20private\x20field\x20on\x20non-instance', 'T_MOVE', 'clientX', 'images', 'version', 'renderer', 'removeItem', 'catchLoc', 'indexOf', 'msHidden', 'isView', 'toLocaleString', 'https://mssdk.bytedance.com', 'B4Z6wo', 'dispatchException', 'msvisibilitychange', '\x20decorators\x20must\x20return\x20a\x20function\x20or\x20void\x200', 'Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe', 'Cannot\x20convert\x20undefined\x20or\x20null\x20to\x20object', 'initializer', 'awrap', 'continue', 'mousedown', 'mousemove', 'update', '__ac_blank', '0123456789abcdef', 'getItem', 'Futura', 'MAX_RENDERBUFFER_SIZE', 'GPUINFO', 'host', '484e4f4a403f524300010a1106afb0650000000079a66ec20000008c1101001200004a12000143001400011100014a120002070003430103002a470002014211010307000444011400021101013300061101011200053300091101011200051200064700411101011200051200061400031100034a120002070007430103002534000f1100034a120002070008430103002534000c1100024a120009110003430147000200420142000a093b3d2b3c0f292b203a0b3a210221392b3c0d2f3d2b0727202a2b360128082b222b2d3a3c21204a10263a3a3e3d71741261126166157e637713357f627d33661260157e637713357f627d3367357d3332152f63287e637713357f627a336674152f63287e637713357f627a3367357933670822212d2f3a27212004263c2b28042827222b10263a3a3e74616122212d2f2226213d3a043a2b3d3a', 'BluetoothUUID', 'decorateClass', 'mozRTCPeerConnection', 'defineClassElement', 'credentials', 'writable', 'value', 'WEBKIT_EXT_texture_filter_anisotropic', 'JS_MD5_NO_ARRAY_BUFFER', 'Metadata\x20keys\x20must\x20be\x20symbols,\x20received:\x20', 'getReferer', 'indexDB', '__proto__', 'Object', 'splice', 'symbol', 'offsetWidth', 'executing', 'mozBattery', 'normal', 'kFakeOperations', 'reverse', 'finisher', 'createOffer', 'addEventListener', 'Cannot\x20call\x20a\x20class\x20as\x20a\x20function', '\x20must\x20be\x20a\x20function', 'getContext', 'referrer', 'afterLoc', 'has', 'return', 'kNoMove', 'netscape', 'MAX_CUBE_MAP_TEXTURE_SIZE', 'bind', 'width', 'valueOf', 'off', 'JS_MD5_NO_ARRAY_BUFFER_IS_VIEW', 'innerWidth', '257232gkndOM', 'null', 'isSecureContext', 'pixelDepth', '.initializer\x20has\x20been\x20renamed\x20to\x20.init\x20as\x20of\x20March\x202022', '/web/report', 'removeChild', '[object\x20Boolean]', 'getSupportedExtensions', 'error', 'GeneratorFunction', 'message', 'initializeInstanceElements', 'systemLanguage', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', 'tt_webid', 'sqrt', '__ac_referer', 'blocks', 'MOZ_EXT_texture_filter_anisotropic', '1hcbEHL', '308350OyvEoV', '484e4f4a403f5243003a20169967f185000000000b49c93c000000761101001200004a12000143001400011100014a120002070003430103002a47000201421101013a070004263300191101021200051200064a12000711010112000843010700092534002b1101033a0700042547000607000445000902110104110103430107000a2533000a11010312000b07000c2542000d09282e382f1c3a3833290b293211322a382f1e3c2e38073433393825123b083831383e292f323309283339383b34333839092d2f32293229242d380829320e292f34333a043e3c3131072d2f323e382e2e1006323f37383e297d2d2f323e382e2e0006323f37383e290529342931380433323938', 'for', 'break', 'construct', 'Constantia', 'webkitvisibilitychange', 'activeState', 'toClassDescriptor', 'layers', 'bogusIndex', 'arg', 'screen', 'buffer8', 'getOwnPropertyNames', 'get', 'prev', 'buildID', 'lastByteIndex', '\x27\x20method', 'Bad\x20UTF-8\x20encoding\x200x', '[object\x20Array]', 'add', '484e4f4a403f5243000027194f9666590000000044a16fed000000270700001400013e000a140002070001140001413d000d0211010011010243011400014111000142000200200d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d', 'call', 'characterSet', 'bodyVal2str', 'tryEntries', '\x22\x20is\x20read-only', 'tt_webid_v2', 'locationbar', 'maxTouchPoints', 'string', 'addElementPlacement', 'try\x20statement\x20without\x20catch\x20or\x20finally', 'mozVisibilityState', 'showColor', 'name', 'split', 'xmstr', 'prototype', 'AcroPDF.PDF.1', 'Tunga', '4218tDAtHd', 'AVENIR', 'getMetadata', 'track', 'touchEvent', 'decorateConstructor', 'now', 'failed\x20to\x20set\x20property', '484e4f4a403f524300263203ec75a3740000000817718683000003051100011100022e4211011507000013002547000a070001110115070002160d03000e0003000e00040c00000e00050c00000e0006010e0007010e00000700080e0002010e00090d0305033c1a0e000a03020e000b0305033c1a0e000c0e000d0700080e000e000e000f03030e00101400011101004a1200111100011101154302491100011200030300253400161101014a120012110001120003430111000112000326470009110102070013440140110001120014330007110001120015324700091101020700164401401101031200174a12001811000112000343014911010412000303002547000c1100011200031101041500031100011200043247009c110001120002070008254700091101020700194401401100011200020700012447000911010207001a44014011000112000211010415000202110105110001430111010415001b021101061101071100011200100403e81a43024911000112001c0826330005110001022647002e11010412001d4a12001811000112001c43014911010412001d4a12001e05000000003b024301323211010415001c11000112000d4700a60011010415001f11010847006411000112000d12000a33001311000112000d12000a11010412000d12000a2947003f021101091101084301491101004a1200110d11010412000d11000112000d430311010415000d0211010a11010b11010412000d12000a0403e81a43021401084500351101004a1200110d11010412000d11000112000d430311010415000d0211010a11010b11010412000d12000a0403e81a430214010811000112002047001c1100011200201101041500200211010611010c03050403e81a4302491100010b1500210211010d4300490211010e1100011200054301490211010f1100011200064301490211011043004911011132330006110001120007470020001401111100011200071101041500070211010611011203050403e81a43024911000112000f4700241101041200223247001a0011010415002202110106110113030a0403e81a11000143034900110104150023084200240350524402575a064651535d5b5a03555d50055d4767707f0e515a555658516455405c785d47400f414658665143465d405166415851470347505d0003505142035246510a415a5d4075595b415a4008415a5d40605d595105404655575f04595b5051044c4c56530450504640065547475d535a0552585b5b461e5b44405d5b5a14555d501c7d5a40515351461d145d47145a51515051501503565b5107565b517c5b474024565b517c5b474014594147401456511444465b425d505150145d5a14565b5114595b505107555d50785d4740044441475c0f4651535d5b5a145d47145a41585815124651535d5b5a145d47145d5a4255585d50150a4651535d5b5a775b5a520142106b515a55565851675d535a5540414651064651504157510b515a55565851604655575f0444514652075b44405d5b5a47046b5052440b5d5a5d405d55585d4e5150', 'appMinorVersion', 'Attempted\x20to\x20decorate\x20a\x20public\x20method/accessor\x20that\x20has\x20the\x20same\x20name\x20as\x20a\x20previously\x20decorated\x20public\x20method/accessor.\x20This\x20is\x20not\x20currently\x20supported\x20by\x20the\x20decorators\x20plugin.\x20Property\x20name\x20was:\x20', 'hex', 'dischargingTime', 'PLUGIN', 'T_KEYBOARD', 'ret_code', '\x22.\x20Please\x20configure\x20the\x20dynamicRequireTargets\x20or/and\x20ignoreDynamicRequires\x20option\x20of\x20@rollup/plugin-commonjs\x20appropriately\x20for\x20this\x20require\x20call\x20to\x20work.', '@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.', 'battery', 'Generator\x20is\x20already\x20running', 'headers', 'md5', 'setter', '=;\x20expires=Mon,\x2020\x20Sep\x202010\x2000:00:00\x20UTC;\x20path=/;', '_raw_sec_did', 'hardwareConcurrency', 'script', 'fontSize', '_byted_sec_did', 'keydown', '__private_', 'screenY', 'Duplicated\x20element\x20(', '484e4f4a403f524300211209597bcccc0000053aae77fba6000005e50b1200093247004e0b12000a4a12000b0d0700050e000c1100000e000d43014911021607000e07000f44024a120010110001430147001f1100024a12001143004a12001243004a12001307001443010300130b1500151101054a1200160b1100004302421100000b1500171101074a1200160b1100004302420c00000b15000a0b12000a4a12000b0d0700040e000c1100000e000d4301491100014a12001843000b1500191100020b15001a1101044a1200160b1100004302421101094a1200240b120019430103011d26140002021102010b12001a43013300031100024702fe0b12001a4a120024070025430103011d2947000e1101064a1200160b1100004302421100010b1500260b1200271400030b12001b1400040b12001c1400050b12001d1400060b12001e1400070b12001f1400080b1200201400090b12002114000a0d14000b030014000c11000c1101081200282747001f0b12002911010811000c131311000b11010811000c131617000c214945ffd411020212002a14000d11020212002b14000e11000e07002c2347000f07002d11020212002d0c000245001207002d11020212002d07002b11000e0c000414000f02110203021102040b12001a430111000f4302140010021102051100104301140011021102061100110b1200264302140012021102031100101101011100120c0002430214001307002c14001411020712002e4700091100131400144500910d021102080211001343020e002f1400150b12001907002325470050021102090b120015430147003a0211020a1100150b1200150b1200264303490211020b110015080700304303140016021102031100131101021100160c000243021400144500061100131400144500250211020b110015080700304303140017021102031100131101021100170c000243021400140b12000a33000f0b12000a03001307000c130700042647000202420b12000a14001803001400191100191100181200282747005d11001903002547002d1100141100181100191312000d030116000b1500091101044a1200160b1100181100191312000d43024945001f0b1100181100191307000c13134a1200160b1100181100191312000d430249170019214945ff960b1200174700100b1200074a1200160b0b1200174302490b07000a39491102071200314700140b4a12000511020c1200320211020d43004302491100030b1500271100040b15001b1100050b15001c05000003ed3b010b15001d1100070b15001e1100080b15001f1100090b15002011000a0b150021030014001a11001a1101081200282747001f11000b11010811001a13130b12002911010811001a131617001a214945ffd41101064a1200160b11000043024203001400020b1200333400040b12001a34000307002c1400030211030e110003430147000503011400021100034a120024110300120034120035430103011d2647000503021400021100020300294700ea0b4a12003607003743011400041100044700d70211030f0b12001a43011400051100051103101200382547005511000411030215002d11000511030215002a0211031107002d1100044302490211031211000443014911000511010d2947001f1103021200391200280300294700100211031311031403020403e81a43024945001611010d11030212002a2a47000911000411030215002d11010d11031012003a2533000c110302120039120028030a274700361103021200394a12000b110004430149110302120039120028030125470017021103121100044301490211031107002d11000443024911010647000a02110106110001430149084207000014000107000114000211010012000212000314000311000312000414000411000312000514000511000312000614000611000312000714000711000312000847000208420011000315000805000000003b0211000315000505000000643b0011000315000705000000793b0211000315000407001b07001c07001d07001e07001f0700200700210c00071400080700220700230c000214000905000000ba3b011100031500060842003b0755204f626a787e0a527e646a636c79787f680e5540414579797d5f687c78687e79097d7f62796279747d6804627d6863107e68795f687c78687e7945686c69687f047e68636910627b687f7f6469684064606859747d680f526c6e52646379687f6e687d79686905527e68636915526f7479686952646379687f6e687d795261647e79047d787e65046b78636e096c7f6a78606863797e0e536e6263796863792079747d682901640479687e790879625e797f64636a0b796241627a687f4e6c7e68057e7d61647901360e526f74796869526e626379686379056c7d7d61741552627b687f7f6469684064606859747d684c7f6a7e0b7962587d7d687f4e6c7e680d526f74796869526068796562690a526f7479686952787f610762636c6f627f79076263687f7f627f06626361626c6909626361626c696863690b626361626c697e796c7f790a62637d7f626a7f687e7e09626379646068627879034a4859045d425e59076463696875426b0b527e646a636c79787f68300b526f74796869526f6269741262637f686c69747e796c79686e656c636a68066168636a796506787d61626c6908607e5e796c79787e0b52526c6e5279687e7964690007607e5962666863017b03787f61076b627f7f686c61037e69640d7e686e44636b6245686c69687f0b7f687e7d62637e68585f410861626e6c796462630465627e79116a68795f687e7d62637e6845686c69687f0a7520607e207962666863037e686e0e607e43687a596266686341647e790464636479', 'round', 'innerHTML', 'appCodeName', 'defineProperties', 'Could\x20not\x20dynamically\x20require\x20\x22', 'push', '__destrObj', 'toElementDescriptors', 'defaultProps', 'fromElementDescriptor', 'documentMode', 'Object.keys\x20called\x20on\x20non-object', 'WEBGL_debug_renderer_info', 'reduce', 'replace', 'setUserMode', 'changedTouches', 'JS_MD5_NO_WINDOW', '[object\x20Object]', 'item', 'beforeunload', '%27', 'enableTrack', 'envcode', 'gpu', 'ubcode', 'getParameter', 'undefined', 'start', 'isGeneratorFunction', 'completion', 'getOwnPropertySymbols', 'next', 'availWidth', 'values', 'oscpu', 'Tw\x20Cen\x20MT', 'sort', 'bluetooth', 'requestMediaKeySystemAccess', 'keyboardList', 'key', 'window', 'Unfinished\x20UTF-8\x20octet\x20sequence', 'setMetadata', 'static', 'debug', 'languages', 'toolbar', 'msDoNotTrack', 'reject', 'finishers', '208XZrBOJ', 'UNMASKED_RENDERER_WEBGL', 'external', 'shadowBlur', 'POST', '484e4f4a403f5243003e0d23e5c579310000006248d1745c000002cc0d140001110200070000131400021100020700012447000a11000211000107000016110200070002131400031100030700012447000a11000311000107000316110200070004131400041100040700012447000a110004110001070005161100014205000000003b001400010114000211010f3247000911010112000614010f11010f110101120007254700040014000211010244004a12000843001400030d1101001200094a12000a030043010e000b11010012000c4a12000a030043010e000d11010012000e4a12000a030043010e000f1101001200104a12000a030043010e001114000411000412000b12001203002533000c11000412000d12001203002533000c11000412000f12001203002533000c110004120011120012030025470002084211000412000b12001203101a11000412000d120012030c1a1811000412000f12001203041a1811000412001112001203081a181400051100031101031200131101041200141200150403e81a182747003a1101031200161101041200141200170404001a27470020110103120016110005181101030700163549021101054300490014000245000045001d11000311010315001311000511010315001602110105430049001400021100024700f703021400060d1100040e00181100060e00191400070d11000707001a1611010412001b11000707001a1307001b1607000111010244004a12000843001811000707001a1307001c1611010012001d11000707001a1307001d16030011000707001a1307001e160d11000707001f161101064a12002011000707001f13021100014300430249021101071101081200210211010911010a4a120022110007430111010b120023430243021400081101041200240700251314000911000932470002084211010f110101120026254700190211010c110009110008430214000a11000a3247000045000f0211010d1100091100080d0043044908420027052121223c31000821210a2230373c310721210230371c310b21210a2230373c310a23670921210230373c3103670727203b3b3c3b3205333920263d07323021013c383008383a2330193c2621062625393c3630063730183a23300936393c363e193c262107373016393c363e0c3e302c373a342731193c26210a37301e302c373a3427310b3436213c233006213421300b223c3b313a2206213421300639303b32213d0326013805212734363e08203b3c21013c3830033436360a203b3c2114383a203b210837303d34233c3a2707382632012c253003221c1103343c3109213c3830262134382507343c31193c26210b25273c2334362c183a313006362026213a38063426263c323b0f0210170a1110031c16100a1c1b131a092621273c3b323c332c043f263a3b0a2730323c3a3b163a3b33092730253a272100273904302d3c21', 'metadata', 'productSub', 'mark', '\x20is\x20not\x20an\x20object.', 'substr', 'Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.', 'Gulim', 'experimental-webgl', 'setRequestHeader', 'charging', '484e4f4a403f52430031032581faca6c0000000093505d60000001c60700001400010d1400020700011100020700021607000311000207000416070005110002070006161100021101021314000307000714000403001400061101011200081100060303182a4700b11101014a1200091700062143010400ff2e03102b1101014a1200091700062143010400ff2e03082b2f1101014a1200091700062143010400ff2e2f1400051100041100034a12000a1100050500fc00002e03122c43011817000435491100041100034a12000a110005050003f0002e030c2c43011817000435491100041100034a12000a110005040fc02e03062c43011817000435491100041100034a12000a110005033f2e430118170004354945ff3f110101120008110006190300294700b41101014a1200091700062143010400ff2e03102b110101120008110006294700161101014a12000911000643010400ff2e03082b45000203002f1400051100041100034a12000a1100050500fc00002e03122c43011817000435491100041100034a12000a110005050003f0002e030c2c4301181700043549110004110101120008110006294700161100034a12000a110005040fc02e03062c430145000311000118170004354911000411000118170004354911000442000b011441686b6a6d6c6f6e616063626564676679787b7a7d7c7f7e717073484b4a4d4c4f4e414043424544474659585b5a5d5c5f5e51505319181b1a1d1c1f1e1110020614025a19416d424d594e411d73625a786b111906644f5f5e1a1f7160187b1b1c027e7c68456c401e67654b4658707d66795c53446f4363475b505110617f6e4a487a5d6a4c14025a18416d424d594e411d73625a786b111906644f5f5e1a1f7160187b1b1c047e7c68456c401e67654b4658707d66795c53446f4363475b505110617f6e4a487a5d6a4c14025a1b0006454c474e5d410a4a41485b6a464d4c685d064a41485b685d', 'toString', 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx', 'warn', 'parse', 'sent', 'iterator', 'PDF.PdfCtrl.', '__ac_testid', 'clickList', 'create', 'hasOwnProperty', 'init', 'An\x20initializer', 'clientHeight', 'extras', '__esModule', 'sessionStorage', 'kKeyboardFast', 'devicePixelRatio', ';\x20path=/;', 'location', 'GREEN_BITS', '484e4f4a403f524300192d11257a6fc000000000d4cf00750000006703011400011101004a12000011010603062b1100012f43011400021101004a1200001101014a1200011101014a12000243000401001a4301430114000302110102110003110105430214000411000211000318110004181400050211010311000507000343024200040c5f4b56547a51584b7a565d5c055f5556564b064b58575d5654024a08', 'Castellar', 'toGMTString', 'mozHidden', 'Set', '[native\x20code]', 'complete', '484e4f4a403f52430012270f0b8aa329000000005cddda270000008a0211010043003247007e1101014a12000007000143011400011100011200024a12000343004a120004110104070005070006440207000743024a120008070009430103002734002c1101021200034a12000343004a120004110104070005070006440207000743024a120008070009430103002734001011010212000a4a120003430007000b26420142000c0d18091e1a0f1e3e171e161e150f06181a150d1a08090f143f1a0f1a2e2937080f14280f0912151c07091e0b171a181e03270851011c000712151f1e03341d0a151a0f120d1e18141f1e070b170e1c12150814201419111e180f5b2b170e1c12153a09091a0226', 'filter', 'runClassFinishers', 'webkitVisibilityState', '2.11.0', '\x20after\x20decoration\x20was\x20finished', 'suffixes', 'completed', 'src', 'Cannot\x20instantiate\x20an\x20arrow\x20function', 'getTime', 'resultName', 'children', 'accessor.get', '484e4f4a403f52430024153c4037f00000000009d722c1e5000000d200110208150002084202110100430047001c1101014a120000070001430114000105000000003b001100011500030211010243004700553e002b140002110002120004110104070005132533000c11010312000612000703002547000700110108150002413d00241101031200064a12000807000907000a4302491101031200064a12000b0700094301494102110105430047002311010312000c3233000f11010312000d34000611010312000e4700070011010815000211010612000f11010812000203022b2f11010607000f35490842001004637c69620478697f780965626f636b62657863076362697e7e637e046f636869125d5943584d5349544f494948494853495e5e0e7f697f7f6563625f78637e6d6b69066069626b7864077f697845786961107f63616947697544697e694e75786968000a7e6961637a69457869610965626869746968484e0c5c63656278697e497a6962780e415f5c63656278697e497a6962780769627a6f636869', 'https://mssdk.bytedance.com/websdk/v1/getInfo', '?q=', '484e4f4a403f5243003e19390bcd41790000000084fc29f10000006111010012000033000d1101001200001200010700022347000303014211010112000311010112000412000326470003030142110101120005110101120006264700030301421101011200071200081101021200071200082447000303014203024200090c3125363a32123b323a3239230723363019363a32061e1105161a12083b383436233e3839062736253239230424323b3103233827063125363a3224063b323930233f', 'defineProperty', '[object\x20Generator]', 'Wingdings', 'hasInstance', 'SHADING_LANGUAGE_VERSION', 'platform', '484e4f4a403f52430007152cc2c1a53c00000061235466970000007f1100010700022534000711000107000325340007110001070004253400071100010700052547000200423e0004140002413d002b1102021100011333001b11020211000113120006082634000c11020211000113120007082647000200424108421101014a12000011010243014a12000105000000003b0143011401000842000813717362596178466479667364626f58777b73650465797b7308757370457e77646608557370457e77646605737977667f16737941737454647961657364527f65667762757e73640f747f787259747c73756257656f78750e7f65535941737454647961657364', 'asyncIterator', 'object', 'colorDepth', 'keys', 'wrapped', 'getter', 'finalized', 'all', 'appName', 'regionConf', 'application/x-www-form-urlencoded', 'attempted\x20to\x20get\x20private\x20field\x20on\x20non-instance', 'createEvent', 'body', 'toElementFinisherExtras', 'open', 'displayName', '_urlRewriteRules', 'random', 'font', '484e4f4a403f52430031033191576c4000000000940c5eb50000005302110100430032470047070000110101363234000b110101120000110102373234000707000111010336340007070002110103363400070700031101033634000f0700041101033607000511010336274201420006077d61786a64637e08527d656c637962600b6e6c61615d656c637962600b525263646a6579606c7f68054c78696462184e6c637b6c7e5f686369687f64636a4e6263796875793f49', 'discharingTime', 'SimSun-ExtB', 'fromClassDescriptor', 'versions', 'charCodeAt', 'fillText', 'fetch', 'freeze', 'Create\x20WebSocket', 'webkitRTCPeerConnection', 'digest', 'class', 'MAX_VERTEX_UNIFORM_VECTORS', 'filename', 'first', 'visibilitychange', 'A\x20class\x20descriptor', 'clientWidth', 'frontierSign', 'msVisibilityState', 'antialias', '484e4f4a403f5243002a3d04fa03273900000000b93145d7000004061101001200004a12000143001400011101001200024a120001430014000203001400030301140004030214000503031400060304140007030514000811000814000907000314000a07000414000b07000514000c07000614000d07000714000e07000814000f07000914001007000a1400111100014a12000b07000c430103002a34000f1100014a12000b07000d430103002a4700091100071400094500de1100014a12000b11000a430103002a4700091100031400094500c31100014a12000b11000c430103002a4700091100041400094500a81100014a12000b11000d430103002a34000f1100014a12000b07000e430103002a34000f1100014a12000b07000f430103002a4700091100051400094500691100014a12000b11000e430103002a34000f1100014a12000b11000f430103002a34000f1100014a12000b110010430103002a34000f1100014a12000b070010430103002a34000f1100014a12000b070011430103002a4700091100061400094500061100081400091100024a12000b11000b430103002a33000711000911000326470005004245012c1100024a12000b11000d430103002a34000f1100024a12000b11000c430103002a34000f1100024a12000b070012430103002a330007110009110005263300071100091100042647000500424500dd1100024a12000b110011430103002a34000f1100024a12000b11000f430103002a34000f1100024a12000b110010430103002a34000f1100024a12000b11000e430103002a3300071100091100072633000711000911000626470005004245007c1100024a12000b11000b430103002733000f1100024a12000b11000d430103002733000f1100024a12000b110011430103002733000f1100024a12000b11000e430103002733000f1100024a12000b11000f430103002733000f1100024a12000b1100104301030027140012110012110009110008252647000200420300140013030114001403021400150303140016030414001703051400181100181400191100014a12000b070013430103002a47000911001514001945008a1100014a12000b070014430103002a34000f1100014a12000b070015430103002a34000c1100014a12000b070016430147000911001414001945004e1100014a12000b070017430103002a4700091100131400194500331100014a12000b070018430103002a34000f1100014a12000b070019430103002a4700091100171400194500061100181400190211010143004a120001430014001a110019110013243300071100191100142433002111010212001a34001811010012001b4a12001c43004a12000b07001d430103002a4700020042110019110013243300071100191100142433000f11001a4a12000b07001a430103002a47000200420142001e090b0d1b0c3f191b100a0b0a113211091b0c3d1f0d1b080e121f0a18110c13070917101a11090d03091710071f101a0c11171a051217100b0606170e1611101b04170e1f1a04170e111a03131f1d0717101a1b06311809131f1d17100a110d160c131f1d210e11091b0c0e1d57041d0c110d03064f4f051d0c17110d05180617110d040e17151b0818170c1b1811065106110e1b0c1f51055e110e0c51055e110e0a51071d160c11131b51080a0c171a1b100a5104130d171b061d160c11131b06081b101a110c080a112d0a0c1710190639111119121b', 'setTTWebid', 'Buffer', '_enablePathListRegex', 'outerWidth', 'type', 'decorateElement', '484e4f4a403f524300040e131c85d3950000064d665eaab9000007ca05000001d03b0014000105000003953b00140002050000046a3b001400031102084400140004021100024300490211000343004907004b07004c07004d07004e07004f07005007005107005207005307005407005507005607005707005807005907005a07005b07005c0c001214000702110209110200110007030043031400051100050211020911020007005d1307005e0c000111000712005f43032f17000535490700600c00011400080211020911020607006113110008030043031400060d1400090211020a4300110009070062160211020b4300110009070063160211020c43001100090700641607001811020844004a1200654300181100090700661611020d4a1200671100044a12006843001d033c1b4301110009070069160211020e430011000907006a160211020f43004a120008430011000907001d1611000511000907006b1611000611000907006c1602110210430011000907006d1602110001430011000907006e1602110211430011000907006f16030114000a11021212007011000907007016021102130700714301110009070072160211021307007343011100090700741611000a1100090700751603001100090700761611021412007711000907007716110009423e000714000a030042413d01b6030014000111030007000013340014110301070001134a07000213070003430103002a47000607000445000203001400020700051103023a24470006070006450002030014000311030307000713070008134a0700091311030007000a1343014a0700021307000b430103002934002e11030007000c1333000b11030007000c1307000d1333001607000e11030007000c1307000d134a0700081343002534000711030007000f131400041100044700060700104500020300140004110004330011110301070001134a0700111307001243014700060700134500020300140005110300070014133300041100023247000607001545000203001400060211030443001400071100073233000711030007001613470006070017450002030014000807001814000911000247000b11000103012f170001354911000347000e110001030103012b2f170001354911000847000e110001030103022b2f170001354911000747000e110001030103032b2f170001354911000647000e110001030103042b2f170001354911000547000e110001030103052b2f170001354911000447000e110001030103062b2f17000135491100014241084211030512001907001a133247000c030011030512001907001a163e0010140003030111030512001907001a16413d004911030007001b1347003e11030007001b1344001400011103064a07001c1307001d43014a07001e1307001f430114000205000004103b0011000107002316070024110001070025164108423e0010140002030111040512001907001a16413d00421101024a070020131101010300030043034903001101024a0700211303000300030103014304070022130303132514000103021100011811040512001907001a164108420c000014000107002607002707002807002907002a07002b07002c07002d07002e07002f0700300700310700320700330700340700350700360700370700380700390c001414000211030107003a133247000e07003b11030512001907003c35423e001214000507003d11030512001907003c3542413d003b05000005203c021400031100024a0700481305000005c63b0243011400041103074a0700491311000443014a0700401305000005d33b0043014941084211050107003a134a07003e130d1100010e003f43014a0700401305000005523b0143014a07004513050000059e3b014301421100010700411307004248001007004348001607004448001c49450024030111030111010216450021030211030111010216450015030011030111010216450009030511030111010216084203011d110001070046134a0700021307004743012647000503044500020303110301110102160842021101031100011100024302421101014a07004a13070018430111040512001907003c35420d140001110214070078131400021100020700182447000a11000211000107007816110214070079131400031100030700182447000a11000311000107007a1611021407007b131400041100040700182447000a11000411000107007c161100014205000000003b0014000105000005eb3b0014000202110115430049021101164300490211011743004902110118430049021101194300491101034a12007d1101051200190211000143004302491101034a12007d11010512007e0211011a43004302491101034a12007d11010512007f0211011b43004302491101034a12007d1101051200800211000243004302491101141200814a120082030043011400030d1100030e00831400040700841400050211011c0211011d1100054301030a430214000611000647000e110006030118170006354945000503011400060211011e11000511000643024911000611010507001913070085161101034a12007d1100041101054302490211011f1101204a1200861100044301110121120087430214000702110122110123120088110007430214000811011212008907008a1314000911000932470002084211012447001b1101244a120040021101251100091100080d00430443014945000f021101251100091100080d004304490842008b051b0411061509010711063513111a00071d1a10110c3b1205543b24265b053b0411061509011a1011121d1a111007321d0611121b0c0904061b001b000d041108001b2700061d1a1304171518180b3c20393831181119111a000b371b1a0700060117001b060607151215061d100401071c3a1b001d121d1715001d1b1a212f1b161e1117005427151215061d2611191b00113a1b001d121d1715001d1b1a290f350404181124150d271107071d1b1a0627151215061d05191500171c0537061d3b270a371c061b1911543d3b2706171c061b191106371c061b19110a27000d18113911101d1504311013110003033d3004181b1510053d191513110d17061115001131181119111a000617151a0215070a131100371b1a00110c0002461009100615033d191513110c1311003d19151311301500150410150015061b1a181b15104e101500154e1d191513115b131d124f16150711424058264418333b30181c35253536353d35353535353535245b5b5b0d3c41363531353535353538353535353535363535313535353d3626353543030706170b13111b181b1715001d1b1a0d1a1b001d121d1715001d1b1a07040401071c04191d101d061715191106150a191d17061b041c1b1a1107070411151f11060b1011021d1711591d1a121b0f1615171f13061b011a1059070d1a170916180111001b1b001c12041106071d0700111a005907001b06151311141519161d111a0059181d131c005907111a071b060d151717111811061b191100110609130d061b07171b04110c1915131a11001b19110011060917181d04161b150610141517171107071d161d181d000d591102111a00070e17181d04161b15061059061115100f17181d04161b1506105903061d00110f04150d19111a00591c151a101811060b041106191d07071d1b1a070142031a1504014305050111060d041a15191104001c111a0507001500110604061b190400071306151a0011100610111a1d111005171500171c0719110707151311301d07541a1b005415540215181d1054111a0119540215180111541b1254000d041154241106191d07071d1b1a3a1519110319150403151818041e1b1d1a0e2c301b19151d1a261105011107000b170611150011241b040104130611191b02113102111a00381d0700111a11060d13181b16151827001b061513110c1b04111a3015001516150711091d1a10110c111030360b15000015171c3102111a000d3517001d02112c3b161e1117000d101d07041500171c3102111a000b15101036111c15021d1b06101510103102111a00381d0700111a11060b10110015171c3102111a0009121d06113102111a001039010015001d1b1a3b16071106021106133c20393839111a013d00111931181119111a00093d1a004c350606150d0b041b0700391107071513110d050111060d2711181117001b060b041106121b0619151a1711031a1b030618111a13001c0b171b1a00110c0039111a010f101b170119111a0031181119111a000c1a15001d021138111a13001c0b1e07321b1a0007381d07000b070d1a00150c3106061b0607131100201d191109001d191107001519040512181b1b0611131100201d19110e1b1a113b121207110008001d19110e1b1a11051915131d17060324061b0407061024061b0407031e07020b16061b03071106200d0411061d120615191103151d10050000171d100617181d111a000700002b07171d1005001b1f111a07190713200d04110b04061d0215170d391b101107151d10381d0700050000031d100800002b0311161d100700002311163d100b00002b0311161d102b02460900002311161d102246061507071d131a07041801131d1a070607170611111a06170107001b190e19073a1103201b1f111a381d0700060704181d171109001b1f111a381d0700040c19071d051d1a10110c090700061d1a131d120d041e071b1a0f2331362b3031223d37312b3d3a323b0a0611131d1b1a371b1a12090611041b0600210618', 'dev', '[object\x20Function]', 'substring', '_invoke', 'getBattery', 'boeHost', 'asgw', 'Generator', 'boe', 'decorators', 'exports', 'accessor', 'plugins', 'this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called', 'delegate', 'attempted\x20to\x20set\x20read\x20only\x20static\x20private\x20field', 'callback=', 'MAX_TEXTURE_MAX_ANISOTROPY_EXT', 'toStringTag', ';\x20expires=', 'match', 'root', 'setItem', 'getContextAttributes', 'withCredentials', 'Class\x20\x22', 'mozvisibilitychange', 'userLanguage', 'createHash', 'map', 'Cannot\x20destructure\x20', 'hBytes', '[object\x20Number]', 'floor', 'access', '484e4f4a403f5243001a3309b621c6a00000000048c0ec7f000000650d14000111010012000047000c1101001200001400014500090211010143001400011101024a1200014300110001150002021101030304430114000211000202110104021101051101064a12000311000143011100024302070004430218140003110003420005077563656f6860690348495109524f4b435552474b56095552544f48414f405f40676465626360616e6f6c6d6a6b686976777475727370717e7f7c474445424340414e4f4c4d4a4b484956575455525350515e5f5c16171415121310111e1f0b08', 'MAX_COMBINED_TEXTURE_IMAGE_UNITS', 'default', 'public', 'vendorSub', 'touchstart', 'getExtension', 'Aparajita', 'finalize', 'propertyIsEnumerable', 'end', 'localStorage', '@@iterator', 'deviceMemory', 'kHttp', '@@toStringTag', 'cookieEnabled', 'fromCharCode', 'done', 'set', 'createDataChannel', 'stringify', 'async', 'Descriptor', 'hashed', 'ontouchstart', 'onicegatheringstatechange', 'getOwnPropertyDescriptors', 'then', 'function', 'CordiaUPC', 'T_CLICK', 'EXT_texture_filter_anisotropic', 'MS\x20Outlook', '80pSJSjK', 'Jokerman', 'byted_acrawler', 'visibilityState', 'span', 'isWebmssdk', '__web_idontknowwhyiwriteit__', 'cpuClass', 'serif', 'initialized', 'accessor\x20decorators\x20must\x20return\x20an\x20object\x20with\x20get,\x20set,\x20or\x20init\x20properties\x20or\x20void\x200', '[object\x20HTMLAllCollection]', 'Decorating\x20class\x20property\x20failed.\x20Please\x20ensure\x20that\x20proposal-class-properties\x20is\x20enabled\x20and\x20runs\x20after\x20the\x20decorators\x20transform.', '\x27\x20to\x20be\x20a\x20function', 'VERSION', 'toLowerCase', 'MAX_TEXTURE_SIZE', 'triggerUnload', 'MAX_VERTEX_TEXTURE_IMAGE_UNITS', 'element', 'apply', 'document', 'exec', 'send', ')\x20can\x27t\x20be\x20decorated.', 'min', '484e4f4a403f5243002814122ddd79950000009eb285a1cb000000e811000114000402110201110001430147007c1102021200041400051100050700052347000f0700061102021200060c00024500120700061102021200060700041100050c0004140006021102030211020411000143011100064302140007021102051100074301140008021102061100080700054302140009021102031100071101011100090c000243021400040211010211000411000211000343034205000000003b03140003070000140001110100120001082334000611010012000247000208421101001200011400021100021101001500030011010015000211000311010015000108420007070d78173a322026043a25303b150a0a34360a3c3b2130273630252130310a3a25303b050a3a25303b0b0a0a34360a213026213c3100073826013a3e303b', 'vivobrowser', 'descriptor', 'language', '484e4f4a403f524300023a25866a0150000000002b0aa01b000001541101001200004a12000143001400011100014a120002070003430103002a47000201420700041400021101013a070004254700060700044500090211010211010143011100022534000d1101014a1200054300070006263400161101031200071200054a12000811010143010700062634001e1101043a07000425470006070004450009021101021101044301110002253400151101044a12000543004a120002070009430103002734001e1101003a070004254700060700044500090211010211010043011100022534000d1101004a120005430007000a263400121101001200004a12000207000b430103002a34001e1101053a07000425470006070004450009021101021101054301110002254700020042021101064300324700331101073a070004254700060700044500090211010211010743011100022534000d1101074a120005430007000c2647000200420142000d096f697f685b7d7f746e0b6e7556756d7f68597b697f0773747e7f62557c087f767f796e687574096f747e7f7c73747f7e086e75496e6873747d0f417578707f796e3a4d73747e756d47096a68756e756e636a7f04797b7676085e75796f777f746e12417578707f796e3a547b6c737d7b6e7568470570697e757710417578707f796e3a5273696e75686347', 'vendor', 'level', 'attempted\x20to\x20call\x20', 'placement', 'JS_MD5_NO_NODE_JS', 'initializeClassElements', 'indexedDB', 'perf', 'disallowProperty', 'lime', '484e4f4a403f524300341b3e336a785800000000dbd5951f000001b50114000111010012000000254700070014000145001b1101001200000125470007011400014500090211010143001400010d010e0001010e0002010e00031100010e0004010e0005010e0006010e0007010e0008010e0009010e000a010e000b000e000c1400020211010243001100021500051100021200053247005c021101031100024301490211010411000243014902110105430011000215000702110106430011000215000802110107430011000215000902110108430011000215000b0211010943001100021500030211010a4300110002150002030014000311000303012f170003354911000311000212000b03012b2f170003354911000311000212000a03022b2f170003354911000311000212000903032b2f170003354911000311000212000803042b2f170003354911000311000212000703052b2f17000335491100031100020700061303062b2f170003354911000311000212000503072b2f17000335491100031100020700041303082b2f170003354911000311000212000303092b2f1700033549110003110002120002030a2b2f170003354911010b12000d1100032f11010b07000d354911000242000e0e547b6a796a66587c627f686344650a6f62796e687f58626c650a6864657862787f6e657f086764686a7f62646506787c627f6863036f6466086f6e697e6c6c6e790465646f6e077b636a657f6466097c6e696f79627d6e7909626568646c65627f640463646460047f6e787f076e657d68646f6e', 'moveList', 'MYRIAD\x20PRO', 'An\x20element\x20descriptor', 'finallyLoc', 'head', 'innerHeight', 'ORIGIN:\x20', 'region', 'addInitializer', '[object\x20SafariRemoteNotification]', 'candidate', 'content-type', 'userAgent', 'webkitHidden', 'test', 'getPrototypeOf', 'setDate', 'shiftKey', 'accessor.init', '@@asyncIterator', 'accessor.set']; + w_0x42f5 = function () { + return _0x458f30; + } + ; + return w_0x42f5(); + } + + function w_0x5c3140(_0x41676a, _0x3f9548, _0x39b0b8) { + var _0x2145df = w_0x25f3; + + function _0x467cb0(_0x174e0d, _0x4ea737) { + var _0x569e4c = w_0x25f3 + , + _0x3ed868 = parseInt(_0x174e0d[_0x569e4c(0x2a5)](_0x4ea737, _0x4ea737 + (0x30 * 0x1a + 0x1 * 0x1424 + -0xc2 * 0x21)), -0x253b + -0x1ce1 + -0x974 * -0x7); + return _0x3ed868 >>> 0x23ca + 0x882 + 0x2c45 * -0x1 == 0x11cb + -0x5c7 * 0x3 + 0x2 * -0x3b ? [-0xc * 0x300 + 0x1 * 0x1067 + 0x139a, _0x3ed868] : _0x3ed868 >>> -0x3 * 0x3b9 + 0x4a * 0x75 + -0x16a1 == -0x742 + -0x429 + 0xb6d ? (_0x3ed868 = (-0x1eee + 0x1175 + 0xdb8 & _0x3ed868) << 0x2 * 0x108d + 0x2 * -0x5e6 + 0x1 * -0x1546, + [-0x949 + 0xe2f + -0x4 * 0x139, _0x3ed868 += parseInt(_0x174e0d['slice'](_0x4ea737 + (0x5 * -0x643 + -0x1 * 0x95 + -0x1fe6 * -0x1), _0x4ea737 + (0x9b6 + 0x8 * 0x24a + -0x1c02)), -0xa6 * 0x11 + -0x3f * -0x1 + 0x6f * 0x19)]) : (_0x3ed868 = (0x1af1 + 0x1442 + -0x964 * 0x5 & _0x3ed868) << 0x3f3 + -0xd93 + 0x9b0, + [-0x13 * -0x192 + -0x1588 + 0xc1 * -0xb, _0x3ed868 += parseInt(_0x174e0d[_0x569e4c(0x2a5)](_0x4ea737 + (-0x8 * 0x39c + 0x59 * 0x35 + 0x1 * 0xa75), _0x4ea737 + (0x1 * -0xad6 + -0x326 + 0x16 * 0xa3)), 0x20b0 + -0x7d + -0x1b1 * 0x13)]); + } + + var _0x450bf1, _0x55d729 = 0x242c + 0x150c * 0x1 + -0x4 * 0xe4e, _0x26f45f = [], _0x408609 = [], + _0x5e254d = parseInt(_0x41676a[_0x2145df(0x2a5)](-0x43 * 0x7a + 0xbac * -0x1 + 0x2 * 0x15cd, -0x18c6 + -0x1515 + 0x2de3), -0x17e6 + 0x4 * -0x269 + 0x1fa * 0x11), + _0x56844b = parseInt(_0x41676a[_0x2145df(0x2a5)](0x262 * -0x3 + 0x19e0 + -0x12b2, 0x5 * 0x3e + 0xd * -0x2ec + -0x73 * -0x52), 0x1 * 0xd69 + 0x1 * 0xb9 + -0xe12); + if (-0x5eec40a * 0xd + 0x353b2368 + 0x60332064 !== _0x5e254d || 0x7b7 * 0x44245 + -0x712c7271 + 0x1ce9b3ad * 0x5 !== _0x56844b) + throw new Error(_0x2145df(0x2a7)); + if (0x2 * 0xae1 + -0x1e47 + 0x885 !== parseInt(_0x41676a[_0x2145df(0x2a5)](0x1 * 0x45 + 0x149 * -0x1 + 0x114, -0x1d69 * -0x1 + 0xf47 * 0x1 + -0x2c9e), -0x59 * 0x4b + -0xfdb + -0xd7 * -0x32)) + throw new Error('ve'); + for (_0x450bf1 = 0x2 * 0xe7d + -0xdf * -0x19 + 0x3d * -0xd5; _0x450bf1 < -0x22db * -0x1 + -0xf98 * -0x1 + -0x1 * 0x326f; ++_0x450bf1) { + _0x55d729 += (-0x1a7 * 0x3 + 0x17 * -0x47 + 0xb59 & parseInt(_0x41676a[_0x2145df(0x2a5)](0x751 * -0x4 + 0x1d * 0xfd + 0xb3 + (-0x44b * 0x7 + -0x100 + 0x1f0f) * _0x450bf1, 0x8 * 0x3ae + 0x128d + -0xd * 0x3af + (0x2 * -0x80f + -0xd * 0x24a + 0x2de2) * _0x450bf1), -0x14d6 + -0x255 + 0x173b)) << (-0x1ce2 * -0x1 + 0x11e3 + -0x2ec3) * _0x450bf1; + } + var _0x537efa = parseInt(_0x41676a[_0x2145df(0x2a5)](0x13 * -0x209 + 0x116b + 0xc * 0x1c8, -0x26a0 + 0x10d * -0x12 + 0x39b2), 0x154e + -0x25e * -0xf + 0xe3 * -0x40) + , + _0x3d66d8 = (0x1bdb * 0x1 + -0x4e9 * 0x3 + -0xd1e) * parseInt(_0x41676a[_0x2145df(0x2a5)](-0x1 * -0x24f5 + 0x2279 + 0x67a * -0xb, -0x2 * -0x1083 + -0x5 * 0x185 + 0xef * -0x1b), -0x82 + 0x8e6 + 0x4 * -0x215); + for (_0x450bf1 = -0x2471 + -0x116 * -0x7 + 0x1d0f * 0x1; _0x450bf1 < _0x3d66d8 + (-0x1c * -0x106 + 0x370 + -0x8 * 0x3fc); _0x450bf1 += 0x13ac * 0x1 + 0x9bd * 0x1 + -0x1 * 0x1d67) + _0x26f45f[_0x2145df(0x36e)](parseInt(_0x41676a[_0x2145df(0x2a5)](_0x450bf1, _0x450bf1 + (0x7 * 0x539 + 0x3cb * -0x2 + -0x1 * 0x1cf7)), 0x23fc + -0xa45 + -0x3 * 0x88d)); + var _0x50f001 = _0x3d66d8 + (-0x1429 + -0x69d * -0x1 + 0x371 * 0x4) + , + _0x23f32e = parseInt(_0x41676a[_0x2145df(0x2a5)](_0x50f001, _0x50f001 + (-0x179c + -0x3f + -0x61 * -0x3f)), -0x2a * 0x65 + -0x20e5 + 0x3187); + for (_0x50f001 += -0x20c6 + 0x3 * -0x1a5 + 0x25b9, + _0x450bf1 = -0x2 * -0x766 + 0x127e + -0x214a; _0x450bf1 < _0x23f32e; ++_0x450bf1) { + var _0x37a7c1 = _0x467cb0(_0x41676a, _0x50f001); + _0x50f001 += (0xcfd + 0x399 * -0x3 + -0x7 * 0x50) * _0x37a7c1[-0x14ee + -0x912 + 0x1e00]; + for (var _0x13d988 = '', _0x4b0c3a = -0x1bcf + 0x16cf + 0x10 * 0x50; _0x4b0c3a < _0x37a7c1[-0x476 * 0x3 + -0x112b + 0x2 * 0xf47]; ++_0x4b0c3a) { + var _0x49abb4 = _0x467cb0(_0x41676a, _0x50f001); + _0x13d988 += String[_0x2145df(0x1e2)](_0x55d729 ^ _0x49abb4[0x18f1 * -0x1 + -0x17e5 * 0x1 + -0x30d7 * -0x1]), + _0x50f001 += (0x2dd * -0xd + -0x8 * 0x227 + 0x3673) * _0x49abb4[-0xd9 + 0x1702 + -0x763 * 0x3]; + } + _0x408609['push'](_0x13d988); + } + return _0x3f9548['p'] = null, + function _0x970e7(_0x3e87c6, _0x536685, _0xecd4ef, _0x5acf67, _0x560641) { + var _0x261736 = _0x2145df, _0x1fc1ed, _0x281ec0, _0x5c0f33, _0xd55c82, _0x37b70b, + _0x12cd72 = -(0x1bdd + -0x8 * 0x116 + -0x3 * 0x664), _0x27fcf3 = [], + _0x42ef1a = [-0x5 * -0x2b6 + 0x1d6c + -0x2afa, null], _0x428c87 = null, _0x4444cf = [_0x536685]; + for (_0x281ec0 = Math['min'](_0x536685[_0x261736(0x259)], _0xecd4ef), + _0x5c0f33 = -0x90b + -0x1 * 0x1e2f + 0x273a; _0x5c0f33 < _0x281ec0; ++_0x5c0f33) + _0x4444cf[_0x261736(0x36e)](_0x536685[_0x5c0f33]); + _0x4444cf['p'] = _0x5acf67; + for (var _0x4b7ccd = []; ;) + try { + var _0x5cd5b9 = _0x26f45f[_0x3e87c6++]; + if (_0x5cd5b9 < -0x788 + 0x18c7 + 0x1 * -0x1118) { + if (_0x5cd5b9 < 0x208d + -0x1031 + -0x1049 * 0x1) { + if (_0x5cd5b9 < 0x1a1c + -0xbff * 0x3 + 0x27a * 0x4) + _0x5cd5b9 < 0x3ee + 0x1 * 0x21c3 + -0x2e6 * 0xd ? _0x27fcf3[++_0x12cd72] = _0x5cd5b9 < -0x61 * 0x61 + 0x1115 + 0x13ad || -0x1d * -0x4f + 0x11c9 + 0x3 * -0x8e9 !== _0x5cd5b9 && null : _0x5cd5b9 < -0x783 + 0xa0d + -0x285 ? -0xb * 0x24f + 0x141a + 0x54e === _0x5cd5b9 ? (_0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0x27fcf3[++_0x12cd72] = _0x1fc1ed << 0x12b * 0x1f + 0x5 * 0x70c + -0x4759 >> -0x352 + 0x7 * 0x58f + -0x237f) : (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0xb02 + 0x2af + -0xda9) + _0x26f45f[_0x3e87c6 + (0x220e + 0x1 * -0x1175 + -0x1098)], + _0x3e87c6 += -0x325 * 0x3 + 0xafe + -0x18d, + _0x27fcf3[++_0x12cd72] = _0x1fc1ed << -0xe7c * -0x1 + -0xe17 * -0x2 + -0x2a9a >> -0x23ae * 0x1 + -0x1f8f + -0x434d * -0x1) : -0xa * 0x15c + 0x24bc + -0x1 * 0x171f === _0x5cd5b9 ? (_0x1fc1ed = ((_0x1fc1ed = ((_0x1fc1ed = _0x26f45f[_0x3e87c6++]) << -0x1f87 + -0xda8 + 0x2d37) + _0x26f45f[_0x3e87c6++]) << -0x1d32 + -0x2 * 0x124 + 0x1f82) + _0x26f45f[_0x3e87c6++], + _0x27fcf3[++_0x12cd72] = (_0x1fc1ed << 0xc * -0x8 + -0x25f7 + 0x265f) + _0x26f45f[_0x3e87c6++]) : (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x1bf7 + 0x4e9 * 0x7 + -0xc76 * 0x5) + _0x26f45f[_0x3e87c6 + (0xba7 + -0x1611 + 0xa6b)], + _0x3e87c6 += 0xa1e + -0x1a21 + 0x557 * 0x3, + _0x27fcf3[++_0x12cd72] = +_0x408609[_0x1fc1ed]); + else { + if (_0x5cd5b9 < 0x369 * -0x9 + 0x20de + -0x220) + _0x5cd5b9 < -0x2626 + 0x336 * -0x5 + 0x363f ? 0x12b * -0x15 + -0x2 * -0x11f5 + 0x5ae * -0x2 === _0x5cd5b9 ? (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x8 * 0x2 + 0x35 * 0x18 + -0x500) + _0x26f45f[_0x3e87c6 + (-0x330 + -0xec * -0x5 + -0x16b)], + _0x3e87c6 += 0x224 + -0x19 * -0xb3 + -0x1 * 0x139d, + _0x27fcf3[++_0x12cd72] = _0x408609[_0x1fc1ed]) : _0x27fcf3[++_0x12cd72] = void (0x5 * 0x1ef + 0x2493 * -0x1 + -0x35d * -0x8) : 0x1abb + 0x191 * 0xd + -0x3 * 0xfaf === _0x5cd5b9 ? _0x27fcf3[++_0x12cd72] = _0x560641 : (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << -0x20b0 + -0x3da + 0x2492) + _0x26f45f[_0x3e87c6 + (-0x129d * 0x1 + 0x1 * -0x2316 + 0x35b4)], + _0x3e87c6 += -0xcb8 + 0x1bb * -0xa + -0x2 * -0xf04, + _0x12cd72 = _0x12cd72 - _0x1fc1ed + (0xb3 * 0x1 + -0x2018 * 0x1 + 0x1 * 0x1f66), + _0x281ec0 = _0x27fcf3[_0x261736(0x2a5)](_0x12cd72, _0x12cd72 + _0x1fc1ed), + _0x27fcf3[_0x12cd72] = _0x281ec0); + else { + if (_0x5cd5b9 < 0x2 * -0xf38 + 0xdd0 + 0x10b1) + -0x15d2 + 0x26f0 + 0x11 * -0x101 === _0x5cd5b9 ? _0x27fcf3[++_0x12cd72] = {} : (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << -0x9ac + 0x1201 * 0x1 + -0x84d) + _0x26f45f[_0x3e87c6 + (0x1ecb + -0x1bdd + 0x7 * -0x6b)], + _0x3e87c6 += 0x6a4 + -0x922 + 0x280, + _0x281ec0 = _0x408609[_0x1fc1ed], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72][_0x281ec0] = _0x5c0f33); + else { + if (0x17 * -0xc3 + 0x1da5 + 0x3 * -0x405 === _0x5cd5b9) { + for (_0x281ec0 = _0x26f45f[_0x3e87c6++], + _0x5c0f33 = _0x26f45f[_0x3e87c6++], + _0xd55c82 = _0x4444cf; _0x281ec0 > -0x3 * 0x4ba + -0x12 * 0xb1 + 0x1aa0; --_0x281ec0) + _0xd55c82 = _0xd55c82['p']; + _0x27fcf3[++_0x12cd72] = _0xd55c82[_0x5c0f33]; + } else + _0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x15c3 + -0x453 + -0x1168) + _0x26f45f[_0x3e87c6 + (-0x1f3f * 0x1 + 0x1f6a + 0x6 * -0x7)], + _0x3e87c6 += 0x1 * -0x1f4e + -0x118f * 0x1 + 0x30df, + _0x281ec0 = _0x408609[_0x1fc1ed], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72][_0x281ec0]; + } + } + } + } else { + if (_0x5cd5b9 < -0xf5c + -0x6d7 + 0x164e) { + if (_0x5cd5b9 < 0xc8 * -0x2f + 0xee * -0x9 + -0xf * -0x303) { + if (_0x5cd5b9 < 0x1 * -0x2426 + 0x224e + 0x11 * 0x1d) { + if (-0xb15 + 0x2d5 * 0x1 + -0x853 * -0x1 === _0x5cd5b9) + _0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72][_0x281ec0]; + else { + for (_0x281ec0 = _0x26f45f[_0x3e87c6++], + _0x5c0f33 = _0x26f45f[_0x3e87c6++], + _0xd55c82 = _0x4444cf; _0x281ec0 > 0x2 * -0x11b8 + 0x240a + -0x9a; --_0x281ec0) + _0xd55c82 = _0xd55c82['p']; + _0xd55c82[_0x5c0f33] = _0x27fcf3[_0x12cd72--]; + } + } else + 0x1 * 0x17f1 + 0x115 * -0x9 + 0x2d3 * -0x5 === _0x5cd5b9 ? (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x16ff + 0x158a + -0x2c81 * 0x1) + _0x26f45f[_0x3e87c6 + (0x88f * -0x3 + 0x1c82 + 0x16a * -0x2)], + _0x3e87c6 += 0x1 * -0xa7 + 0x18d4 + 0x1 * -0x182b, + _0x281ec0 = _0x408609[_0x1fc1ed], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0xd55c82 = _0x27fcf3[_0x12cd72--], + _0x5c0f33[_0x281ec0] = _0xd55c82) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0xd55c82 = _0x27fcf3[_0x12cd72--], + _0x5c0f33[_0x281ec0] = _0xd55c82); + } else { + if (_0x5cd5b9 < -0x19f3 + 0x1c6b + -0x25f) { + if (0x1b * -0xbd + -0x84a * -0x2 + -0x126 * -0x3 === _0x5cd5b9) { + for (_0x281ec0 = _0x26f45f[_0x3e87c6++], + _0x5c0f33 = _0x26f45f[_0x3e87c6++], + _0xd55c82 = _0x4444cf, + _0xd55c82 = _0x4444cf; _0x281ec0 > 0x3 * -0x65a + 0xe28 + 0x4e6; --_0x281ec0) + _0xd55c82 = _0xd55c82['p']; + _0x27fcf3[++_0x12cd72] = _0xd55c82, + _0x27fcf3[++_0x12cd72] = _0x5c0f33; + } else + _0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] += _0x281ec0; + } else + 0x44b * -0x9 + 0x61 * -0xa + -0x2a86 * -0x1 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] -= _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] *= _0x281ec0); + } + } else + _0x5cd5b9 < 0x3 * -0x7ce + 0x907 * -0x1 + -0x1 * -0x2094 ? _0x5cd5b9 < 0xa68 + -0xc5f + 0x214 ? 0x3e * -0x7d + 0x13d1 + 0xa90 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] /= _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] %= _0x281ec0) : -0x171d * -0x1 + -0x6a2 * -0x3 + -0x2ae6 === _0x5cd5b9 ? _0x27fcf3[_0x12cd72] = -_0x27fcf3[_0x12cd72] : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[++_0x12cd72] = _0x5c0f33[_0x281ec0]++) : _0x5cd5b9 < 0x2565 + -0x2 * -0xd76 + -0x1bc * 0x25 ? 0x951 + 0x13da + -0x1d08 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] == _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] != _0x281ec0) : -0x144c * -0x1 + 0xd01 + -0x2128 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] === _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] !== _0x281ec0); + } + } else { + if (_0x5cd5b9 < -0x3bb + 0xdb6 + -0x9c2 * 0x1) + _0x5cd5b9 < -0xe16 + -0x2 * -0x409 + 0x633 ? _0x5cd5b9 < 0x1 * 0xeea + -0x3 * 0x863 + 0x2b * 0x3e ? _0x5cd5b9 < -0x2f * -0x15 + 0x185 * 0x2 + -0x35e * 0x2 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] < _0x281ec0) : -0x2152 + -0x1853 + 0x39ce === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] > _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] >= _0x281ec0) : _0x5cd5b9 < 0x3 * -0x822 + 0xc76 + 0x1bb * 0x7 ? 0x20ae + -0x21ca + -0x6d * -0x3 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] << _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] >> _0x281ec0) : -0x10 * 0x1a + -0x1431 + 0xa * 0x233 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] >>> _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] & _0x281ec0) : _0x5cd5b9 < 0x1 * 0x1ca7 + 0x1ea1 * 0x1 + -0x31c * 0x13 ? _0x5cd5b9 < -0xa63 * -0x2 + -0x114d + -0x1 * 0x347 ? -0x12b5 + -0x153 * 0x4 + 0x8 * 0x306 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] | _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] ^ _0x281ec0) : -0xab + 0x10c1 + 0x9 * -0x1c4 === _0x5cd5b9 ? _0x27fcf3[_0x12cd72] = !_0x27fcf3[_0x12cd72] : (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x9 * -0xd0 + -0x1 * -0xa04 + 0x2 * -0x156) + _0x26f45f[_0x3e87c6 + (0xa6a + 0x113c + 0x1ba5 * -0x1)]) << 0x2 * -0x41b + -0x1bf1 + 0x7f * 0x49 >> -0x1bc0 + 0x232e + -0x75e, + _0x3e87c6 += -0x62 * 0x31 + 0x26b * 0x7 + 0x1d7 * 0x1, + _0x27fcf3[_0x12cd72] ? --_0x12cd72 : _0x3e87c6 += _0x1fc1ed) : _0x5cd5b9 < 0x8 * 0x493 + -0x6c * 0x49 + 0x1a * -0x37 ? -0x21 * 0x1 + -0x3 * -0xc19 + 0x2 * -0x11fb === _0x5cd5b9 ? (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << -0x2 * 0x11ff + 0x9d3 + 0x1a33) + _0x26f45f[_0x3e87c6 + (0x1ba6 + -0x134f * -0x1 + -0x2ef4)]) << 0x10dc * -0x1 + -0x1130 + 0x221c >> -0x5 * 0x685 + 0x1a23 + 0x686, + _0x3e87c6 += 0x4 * 0xf9 + -0x21c5 + 0x1de3, + _0x27fcf3[_0x12cd72] ? _0x3e87c6 += _0x1fc1ed : --_0x12cd72) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + (_0x5c0f33 = _0x27fcf3[_0x12cd72--])[_0x281ec0] = _0x27fcf3[_0x12cd72]) : -0x5 * -0x65c + 0x15 * 0x17b + -0x3ead === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] in _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] instanceof _0x281ec0); + else { + if (_0x5cd5b9 < 0x52 + 0x7 * 0x102 + -0x2 * 0x38f) { + if (_0x5cd5b9 < -0x1887 + -0x303 + 0x1bc7) + _0x5cd5b9 < 0x2132 + -0x592 * 0x2 + -0x15d3 ? -0x136b + -0x21cd + 0x3571 * 0x1 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[++_0x12cd72] = delete _0x5c0f33[_0x281ec0]) : _0x27fcf3[_0x12cd72] = typeof _0x27fcf3[_0x12cd72] : 0xeed * 0x1 + -0xa1e + 0x2 * -0x24a === _0x5cd5b9 ? (_0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0x281ec0 = _0x27fcf3[_0x12cd72--], + (_0x5c0f33 = function _0x3b7712() { + var _0x295f58 = _0x3b7712['_u'] + , _0x29116a = _0x3b7712['_v']; + return _0x295f58(_0x29116a[0x28c * 0x4 + -0x6 * 0x1d6 + 0xd4], arguments, _0x29116a[0x1d72 * 0x1 + 0x7b * -0x1b + -0x1078], _0x29116a[0x11e6 + 0x1a1f * -0x1 + 0x83b], this); + } + )['_v'] = [_0x281ec0, _0x1fc1ed, _0x4444cf], + _0x5c0f33['_u'] = _0x970e7, + _0x27fcf3[++_0x12cd72] = _0x5c0f33) : (_0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0x281ec0 = _0x27fcf3[_0x12cd72--], + (_0xd55c82 = [_0x5c0f33 = function _0x465123() { + var _0x2f6d57 = _0x465123['_u'] + , _0x399ae1 = _0x465123['_v']; + return _0x2f6d57(_0x399ae1[-0x113b + 0xb * 0x71 + 0xc60], arguments, _0x399ae1[0xa13 + 0x24b0 + -0x9 * 0x532], _0x399ae1[0x1 * 0x463 + -0x56 * -0x49 + -0x1ce7], this); + } + ])['p'] = _0x4444cf, + _0x5c0f33['_v'] = [_0x281ec0, _0x1fc1ed, _0xd55c82], + _0x5c0f33['_u'] = _0x970e7, + _0x27fcf3[++_0x12cd72] = _0x5c0f33); + else { + if (_0x5cd5b9 < 0x62 * -0xd + 0xae3 + -0x5a9) + 0x9d1 * -0x1 + 0x2425 + -0x1 * 0x1a17 === _0x5cd5b9 ? (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0xd1 * 0x2 + -0xe5 * 0x7 + 0x4a9) + _0x26f45f[_0x3e87c6 + (0x33a + -0xb14 + 0x7db * 0x1)]) << -0xb * -0xde + 0x1199 + -0x1b13 >> -0xa3d + 0xc * 0x2aa + -0x15ab, + _0x3e87c6 += -0x2f * 0x3 + 0x2 * 0x9a3 + -0x12b7, + (_0x281ec0 = _0x4b7ccd[_0x4b7ccd['length'] - (0x427 + 0xa54 + -0xda * 0x11)])[0x5d4 + 0x14f2 + -0x4d * 0x59] = _0x3e87c6 + _0x1fc1ed) : (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x349 * -0x2 + 0xa4 * -0x17 + 0x1556) + _0x26f45f[_0x3e87c6 + (-0x86 * -0x2 + -0x1c9 + -0xbe * -0x1)]) << 0x14bf + -0x1aec + -0x1 * -0x63d >> 0x2 * 0x17b + -0x1e3c + 0x1b56, + _0x3e87c6 += -0x1 * -0x1052 + 0x10 * -0x17e + 0x790, + (_0x281ec0 = _0x4b7ccd[_0x4b7ccd['length'] - (-0x1ad2 + 0x1b9 * 0x2 + 0x39 * 0x69)]) && !_0x281ec0[-0x3 * 0xe8 + -0x5 * -0x142 + -0x1 * 0x391] ? (_0x281ec0[0x25 * -0x7a + 0x21ec + -0x104a] = 0x7bf + -0x3 * -0xa43 + -0x2685, + _0x281ec0[_0x261736(0x36e)](_0x3e87c6)) : _0x4b7ccd[_0x261736(0x36e)]([-0x1d * 0x82 + -0x11f4 + 0x20af, 0x15ac + -0x399 * -0x9 + -0x360d, _0x3e87c6]), + _0x3e87c6 += _0x1fc1ed); + else { + if (0x2263 * -0x1 + -0x689 + 0x292c === _0x5cd5b9) + throw _0x281ec0 = _0x27fcf3[_0x12cd72--]; + if (_0x5c0f33 = (_0x281ec0 = _0x4b7ccd['pop']())[0x1 * 0x6a1 + 0x1ceb + -0x238c], + _0xd55c82 = _0x42ef1a[-0x1b8 + 0x1d25 + -0x3eb * 0x7], + 0x751 * 0x1 + -0xa4b + 0x7 * 0x6d === _0x5c0f33) + _0x3e87c6 = _0x281ec0[0x1 * 0x8e + 0x128c + -0x1319]; + else { + if (0x11f4 + 0x3 * 0x95 + -0x13b3 === _0x5c0f33) { + if (-0x2607 + -0xdc8 + -0x1145 * -0x3 === _0xd55c82) + _0x3e87c6 = _0x281ec0[-0x262 + -0x12bf * -0x2 + 0x13 * -0x1d9]; + else { + if (0x6d * 0x2 + 0x2ff * -0x9 + 0x1a1e !== _0xd55c82) + throw _0x42ef1a[0x3 * 0xced + 0x1dd7 + 0x16df * -0x3]; + if (!_0x428c87) + return _0x42ef1a[0x21b7 + 0x20a5 * -0x1 + -0x5b * 0x3]; + _0x3e87c6 = _0x428c87[-0x4bd + -0x3 * -0x353 + 0x53b * -0x1], + _0x560641 = _0x428c87[0x149e + 0x1 * -0x751 + -0xd4b], + _0x4444cf = _0x428c87[-0x2 * 0x94d + -0x7bf * -0x1 + 0x2 * 0x56f], + _0x4b7ccd = _0x428c87[0x15c3 * 0x1 + -0x4 * 0x82e + -0x35 * -0x35], + _0x27fcf3[++_0x12cd72] = _0x42ef1a[0x3 * 0xaf3 + -0x983 + -0x1755], + _0x42ef1a = [-0x1c1c + -0x14c * 0x1a + 0x3dd4, null], + _0x428c87 = _0x428c87[0x1a3 + 0x1 * -0x1e23 + 0x1c80]; + } + } else + _0x3e87c6 = _0x281ec0[-0x1 * -0x953 + 0x159 * 0x1 + -0xaaa], + _0x281ec0[0x26ad * -0x1 + 0x2 * -0xe4b + 0x4343] = 0x100d + -0x19cc + 0x5 * 0x1f3, + _0x4b7ccd[_0x261736(0x36e)](_0x281ec0); + } + } + } + } else { + if (_0x5cd5b9 < 0x195 + -0x3b * -0x9d + -0x3 * 0xc7f) { + if (_0x5cd5b9 < 0xd * -0x1 + 0x229 + -0x1d8) { + if (-0x949 + 0x13f8 + -0xa6d === _0x5cd5b9) { + for (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x5c0f33 = null; _0xd55c82 = _0x4b7ccd[_0x261736(0x267)]();) + if (0x1e97 + 0x31 * -0x5e + -0xc97 === _0xd55c82[0x150 + 0x6 * 0x645 + -0x26ee] || 0xb29 * -0x3 + -0x333 * 0x3 + 0x2b17 === _0xd55c82[0x1 * -0x22c2 + -0x187b + 0x3b3d]) { + _0x5c0f33 = _0xd55c82; + break; + } + if (_0x5c0f33) + _0x42ef1a = [-0x11 * 0x14d + 0x1492 * 0x1 + 0x18c, _0x281ec0], + _0x3e87c6 = _0x5c0f33[0xc28 * -0x3 + -0x8 * 0x4e1 + 0x4b82], + _0x5c0f33[0x51e * 0x1 + 0x755 * -0x5 + 0x1f8b] = 0x1875 * 0x1 + 0x146 + -0x19bb, + _0x4b7ccd[_0x261736(0x36e)](_0x5c0f33); + else { + if (!_0x428c87) + return _0x281ec0; + _0x3e87c6 = _0x428c87[0x1 * 0x15be + -0x2639 + 0x107c], + _0x560641 = _0x428c87[-0x1 * 0xe1e + 0x2042 + 0x2 * -0x911], + _0x4444cf = _0x428c87[0x25fd + 0x1cfe + -0x42f8], + _0x4b7ccd = _0x428c87[0x3 * 0xa76 + 0x17ce + -0x372c], + _0x27fcf3[++_0x12cd72] = _0x281ec0, + _0x42ef1a = [-0x7 * 0x4a6 + -0x12d3 + -0x3 * -0x111f, null], + _0x428c87 = _0x428c87[-0x29 * 0x1e + 0x9d * -0x2f + 0x21a1]; + } + } else + _0x12cd72 -= _0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0x5c0f33 = _0x27fcf3['slice'](_0x12cd72 + (0xf4f * -0x1 + 0x1af9 * 0x1 + -0xba9), _0x12cd72 + _0x1fc1ed + (0x230 + 0x1e17 * -0x1 + 0x6fa * 0x4)), + _0x281ec0 = _0x27fcf3[_0x12cd72--], + _0xd55c82 = _0x27fcf3[_0x12cd72--], + _0x281ec0['_u'] === _0x970e7 ? (_0x281ec0 = _0x281ec0['_v'], + _0x428c87 = [_0x428c87, _0x3e87c6, _0x560641, _0x4444cf, _0x4b7ccd], + _0x3e87c6 = _0x281ec0[0x190c + 0x3 * 0x89b + 0x32dd * -0x1], + null == _0xd55c82 && (_0xd55c82 = (function () { + return this; + }())), + _0x560641 = _0xd55c82, + (_0x4444cf = [_0x5c0f33]['concat'](_0x5c0f33))[_0x261736(0x259)] = Math[_0x261736(0x20c)](_0x281ec0[-0x1 * 0x170b + -0x936 + 0x1 * 0x2042], _0x1fc1ed) + (0x3 * -0x4fa + 0x21ed + -0x12fe), + _0x4444cf['p'] = _0x281ec0[-0x16 * -0x1af + 0x35f * 0x1 + 0x2867 * -0x1], + _0x4b7ccd = []) : _0x27fcf3[++_0x12cd72] = _0x281ec0[_0x261736(0x207)](_0xd55c82, _0x5c0f33); + } else { + if (0x60a + -0xf05 * -0x1 + 0x14cb * -0x1 === _0x5cd5b9) { + for (_0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0xd55c82 = [void (-0x1b5d + 0x22a1 + 0x26c * -0x3)], + _0x37b70b = _0x1fc1ed; _0x37b70b > 0x1 * 0xd7e + -0x25f1 + 0x1873; --_0x37b70b) + _0xd55c82[_0x37b70b] = _0x27fcf3[_0x12cd72--]; + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0x281ec0 = Function['bind'][_0x261736(0x207)](_0x5c0f33, _0xd55c82), + _0x27fcf3[++_0x12cd72] = new _0x281ec0(); + } else + _0x3e87c6 += (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x1f7 + 0x1 * -0x7d0 + 0x7 * 0xd7) + _0x26f45f[_0x3e87c6 + (0x264a + 0xc3c + -0x3285)]) << 0x4 * 0x3ee + 0x45 * 0x51 + -0x15 * 0x1c9 >> 0x5 * 0x199 + -0x24f * -0x2 + -0xc8b) + (-0x1f3 * 0x6 + 0x24f7 + -0x1943); + } + } else + _0x5cd5b9 < -0x45d * -0x2 + -0x1e51 + 0x15e0 ? 0x125b + 0x198a + -0x2b9e === _0x5cd5b9 ? (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << -0x269 * -0xe + 0x1 * -0x225 + -0x1f91) + _0x26f45f[_0x3e87c6 + (-0x23bd * -0x1 + 0x1ce2 + 0x12 * -0x397)]) << 0xc61 + -0x133b + 0x6ea >> 0x10dc + -0x30a * 0x1 + -0xdc2, + _0x3e87c6 += -0xc5 * -0x9 + -0x252f + 0x1e44, + (_0x281ec0 = _0x27fcf3[_0x12cd72--]) || (_0x3e87c6 += _0x1fc1ed)) : (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x55 * 0x14 + 0x1 * 0x1e18 + -0x3 * 0xc3c) + _0x26f45f[_0x3e87c6 + (-0x22a3 + -0x5bf * -0x2 + 0x1726)]) << -0x98e * 0x4 + 0x8a1 * 0x1 + 0x1da7 >> -0x72 * -0x26 + 0x2b * -0x51 + -0x341, + _0x3e87c6 += 0x47 * 0x1d + 0x137 * -0x1d + 0x1b32, + _0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] === _0x281ec0 && (--_0x12cd72, + _0x3e87c6 += _0x1fc1ed)) : -0xb * 0x33d + 0x23 * -0xf2 + 0x44fe === _0x5cd5b9 ? --_0x12cd72 : (_0x281ec0 = _0x27fcf3[_0x12cd72], + _0x27fcf3[++_0x12cd72] = _0x281ec0); + } + } + } + } catch (_0x111ea4) { + for (_0x42ef1a = [-0x392 * -0x4 + 0x1a0 + -0xfe8, null]; (_0x1fc1ed = _0x4b7ccd[_0x261736(0x267)]()) && !_0x1fc1ed[0x126a + -0x1 * 0x227c + 0x1012 * 0x1];) + ; + if (!_0x1fc1ed) { + _0x489bfb: for (; _0x428c87;) { + for (_0x281ec0 = _0x428c87[0x10da * -0x1 + -0x539 + 0x1617 * 0x1]; _0x1fc1ed = _0x281ec0[_0x261736(0x267)]();) + if (_0x1fc1ed[0xaf4 * -0x2 + -0x2 * 0x132d + -0x2 * -0x1e21]) + break _0x489bfb; + _0x428c87 = _0x428c87[0x1381 + 0x193e + -0x4f * 0x91]; + } + if (!_0x428c87) + throw _0x111ea4; + _0x3e87c6 = _0x428c87[0xb * -0x277 + 0x14ac + -0x226 * -0x3], + _0x560641 = _0x428c87[0x153e + 0x1fd * -0xf + 0x897], + _0x4444cf = _0x428c87[-0x1 * -0xa2e + 0xcd6 + 0x3 * -0x7ab], + _0x4b7ccd = _0x428c87[-0x2 * 0x1145 + 0x2 * 0x293 + -0x3ad * -0x8], + _0x428c87 = _0x428c87[-0x8e7 + 0x247f + -0x1b98]; + } + -0xe * 0x277 + -0x3db + -0x665 * -0x6 === (_0x281ec0 = _0x1fc1ed[-0xe65 + 0x11d1 + -0x36c]) ? (_0x3e87c6 = _0x1fc1ed[-0x7 * -0x1c + 0x2fe * 0xa + -0x1eae], + _0x1fc1ed[0x3f5 * 0x1 + 0x9e4 + 0x1 * -0xdd9] = -0x1622 * -0x1 + -0x1 * -0x1736 + -0x2d58, + _0x4b7ccd['push'](_0x1fc1ed), + _0x27fcf3[++_0x12cd72] = _0x111ea4) : 0x1a52 + -0xfc4 + 0x2d * -0x3c === _0x281ec0 ? (_0x3e87c6 = _0x1fc1ed[-0x19 * 0xfe + 0x1f98 + -0x6c8], + _0x1fc1ed[0x5 * -0x33f + 0x11d * -0x1 + 0x1158] = 0x3ac * 0x1 + 0x2 * -0x1300 + 0x152 * 0x1a, + _0x4b7ccd['push'](_0x1fc1ed), + _0x42ef1a = [0x8f * 0x1d + -0x1c4b + 0xc1b, _0x111ea4]) : (_0x3e87c6 = _0x1fc1ed[0x31f * -0x5 + -0xae7 + -0x1 * -0x1a85], + _0x1fc1ed[0x27 * -0xb3 + -0x186 * 0xa + 0x2a81] = 0xf9 + 0x164a + -0x1741, + _0x4b7ccd[_0x261736(0x36e)](_0x1fc1ed), + _0x27fcf3[++_0x12cd72] = _0x111ea4); + } + }(_0x537efa, [], -0x1e + 0x2631 + -0x2613, _0x3f9548, _0x39b0b8); + } + + !function (_0xe67213, _0x19937e) { + _0x19937e(window.byted_acrawler = {}); + // var _0x40472c = w_0x25f3; + // 'object' == typeof exports && _0x40472c(0x384) != typeof module ? _0x19937e(exports) : _0x40472c(0x1ee) == typeof define && define['amd'] ? define([_0x40472c(0x1b8)], _0x19937e) : _0x19937e((_0xe67213 = _0x40472c(0x384) != typeof globalThis ? globalThis : _0xe67213 || self)[_0x40472c(0x1f5)] = {}); + }(this, function (_0x1d18f2) { + 'use strict'; + var _0x5612de = w_0x25f3; + + function _0x137ba2(_0x383b51) { + var _0x382940 = w_0x25f3, _0x2e23ce, _0x2c2004; + + function _0x3a4f3f(_0x5a726e, _0x520718) { + var _0x480686 = w_0x25f3; + try { + var _0x4a8345 = _0x383b51[_0x5a726e](_0x520718) + , _0x8d9d0a = _0x4a8345[_0x480686(0x2e4)] + , _0x32f534 = _0x8d9d0a instanceof _0x59d886; + Promise[_0x480686(0x278)](_0x32f534 ? _0x8d9d0a['v'] : _0x8d9d0a)[_0x480686(0x1ed)](function (_0x5047be) { + var _0x2a7bf3 = _0x480686; + if (_0x32f534) { + var _0x1c15d7 = 'return' === _0x5a726e ? _0x2a7bf3(0x2fd) : _0x2a7bf3(0x389); + if (!_0x8d9d0a['k'] || _0x5047be['done']) + return _0x3a4f3f(_0x1c15d7, _0x5047be); + _0x5047be = _0x383b51[_0x1c15d7](_0x5047be)[_0x2a7bf3(0x2e4)]; + } + _0x396815(_0x4a8345[_0x2a7bf3(0x1e3)] ? _0x2a7bf3(0x2fd) : _0x2a7bf3(0x2f1), _0x5047be); + }, function (_0x55c002) { + var _0x11b83e = _0x480686; + _0x3a4f3f(_0x11b83e(0x250), _0x55c002); + }); + } catch (_0x5e07d1) { + _0x396815(_0x480686(0x250), _0x5e07d1); + } + } + + function _0x396815(_0x189a93, _0x2988d2) { + var _0x557617 = w_0x25f3; + switch (_0x189a93) { + case _0x557617(0x2fd): + _0x2e23ce[_0x557617(0x278)]({ + 'value': _0x2988d2, + 'done': !(-0x252f + 0x1b60 + 0x9cf) + }); + break; + case 'throw': + _0x2e23ce[_0x557617(0x39b)](_0x2988d2); + break; + default: + _0x2e23ce[_0x557617(0x278)]({ + 'value': _0x2988d2, + 'done': !(-0x18ec + -0x12dc + 0x2bc9) + }); + } + (_0x2e23ce = _0x2e23ce['next']) ? _0x3a4f3f(_0x2e23ce[_0x557617(0x392)], _0x2e23ce[_0x557617(0x327)]) : _0x2c2004 = null; + } + + this['_invoke'] = function (_0xd1d2b8, _0x168b0a) { + return new Promise(function (_0x1a939a, _0x9b7633) { + var _0x1f7808 = w_0x25f3 + , _0x270c76 = { + 'key': _0xd1d2b8, + 'arg': _0x168b0a, + 'resolve': _0x1a939a, + 'reject': _0x9b7633, + 'next': null + }; + _0x2c2004 ? _0x2c2004 = _0x2c2004[_0x1f7808(0x389)] = _0x270c76 : (_0x2e23ce = _0x2c2004 = _0x270c76, + _0x3a4f3f(_0xd1d2b8, _0x168b0a)); + } + ); + } + , + _0x382940(0x1ee) != typeof _0x383b51[_0x382940(0x2fd)] && (this[_0x382940(0x2fd)] = void (-0xe73 + -0xe * 0x24b + 0x2e8d)); + } + + function _0x59d886(_0x53e3a8, _0x594492) { + this['v'] = _0x53e3a8, + this['k'] = _0x594492; + } + + function _0x1d9867(_0x38463f, _0x559d1b, _0x1b2c54, _0x595501) { + return { + 'getMetadata': function (_0x397823) { + var _0x2d4b6b = w_0x25f3; + _0x1fca4f(_0x595501, _0x2d4b6b(0x349)), + _0x525dc3(_0x397823); + var _0x18296f = _0x38463f[_0x397823]; + if (void (-0x15d1 + 0x4d8 + -0xb * -0x18b) !== _0x18296f) { + if (-0x1fa5 * -0x1 + 0x6b8 + -0x265c === _0x559d1b) { + var _0x192f00 = _0x18296f[_0x2d4b6b(0x1d4)]; + if (void (-0x1 * 0x46d + -0x74 * 0x6 + 0x1f * 0x3b) !== _0x192f00) + return _0x192f00[_0x1b2c54]; + } else { + if (0x409 * 0x8 + 0x53 * -0x3e + -0xc2c === _0x559d1b) { + var _0x6d3fe1 = _0x18296f[_0x2d4b6b(0x261)]; + if (void (0x1c7c + 0x8b0 + -0x7a * 0x4e) !== _0x6d3fe1) + return _0x6d3fe1[_0x2d4b6b(0x32b)](_0x1b2c54); + } else { + if (Object[_0x2d4b6b(0x3b8)][_0x2d4b6b(0x334)](_0x18296f, _0x2d4b6b(0x2ac))) + return _0x18296f[_0x2d4b6b(0x2ac)]; + } + } + } + }, + 'setMetadata': function (_0x3ee519, _0x4e53ba) { + var _0x22e2d1 = w_0x25f3; + _0x1fca4f(_0x595501, _0x22e2d1(0x395)), + _0x525dc3(_0x3ee519); + var _0x39b490 = _0x38463f[_0x3ee519]; + if (void (0x181 * -0x1 + 0x102 * 0x9 + -0x791) === _0x39b490 && (_0x39b490 = _0x38463f[_0x3ee519] = {}), + -0x97e + -0x39 * -0x22 + 0x11 * 0x1d === _0x559d1b) { + var _0x38c721 = _0x39b490[_0x22e2d1(0x1d4)]; + void (-0x2f9 * -0x7 + 0x8fe + -0x1dcd * 0x1) === _0x38c721 && (_0x38c721 = _0x39b490[_0x22e2d1(0x1d4)] = {}), + _0x38c721[_0x1b2c54] = _0x4e53ba; + } else { + if (-0x4dc + 0xbb0 + -0x6d2 === _0x559d1b) { + var _0x4ca087 = _0x39b490['priv']; + void (0x29 * 0xb9 + -0x24a + -0x1b57) === _0x4ca087 && (_0x4ca087 = _0x39b490[_0x22e2d1(0x261)] = new Map()), + _0x4ca087[_0x22e2d1(0x1e4)](_0x1b2c54, _0x4e53ba); + } else + _0x39b490[_0x22e2d1(0x2ac)] = _0x4e53ba; + } + } + }; + } + + function _0x43bce4(_0x282431, _0x336297) { + var _0xd4a703 = w_0x25f3 + , _0x2b5c4b = _0x282431[Symbol['metadata'] || Symbol[_0xd4a703(0x31e)]('Symbol.metadata')] + , _0x191a7e = Object[_0xd4a703(0x388)](_0x336297); + if (-0x22cd + -0x378 + -0x65 * -0x61 !== _0x191a7e[_0xd4a703(0x259)]) { + for (var _0x434093 = 0x1d66 + -0x2 * 0xa03 + -0x960; _0x434093 < _0x191a7e[_0xd4a703(0x259)]; _0x434093++) { + var _0x720e9a = _0x191a7e[_0x434093] + , _0x14e145 = _0x336297[_0x720e9a] + , _0x2965bc = _0x2b5c4b ? _0x2b5c4b[_0x720e9a] : null + , _0x530b43 = _0x14e145[_0xd4a703(0x1d4)] + , _0x36f2c2 = _0x2965bc ? _0x2965bc[_0xd4a703(0x1d4)] : null; + _0x530b43 && _0x36f2c2 && Object['setPrototypeOf'](_0x530b43, _0x36f2c2); + var _0x1732ba = _0x14e145[_0xd4a703(0x261)]; + if (_0x1732ba) { + var _0x550c9f = Array[_0xd4a703(0x29c)](_0x1732ba['values']()) + , _0x5cb426 = _0x2965bc ? _0x2965bc[_0xd4a703(0x261)] : null; + _0x5cb426 && (_0x550c9f = _0x550c9f[_0xd4a703(0x2b8)](_0x5cb426)), + _0x14e145[_0xd4a703(0x261)] = _0x550c9f; + } + _0x2965bc && Object[_0xd4a703(0x23b)](_0x14e145, _0x2965bc); + } + _0x2b5c4b && Object['setPrototypeOf'](_0x336297, _0x2b5c4b), + _0x282431[Symbol[_0xd4a703(0x3a3)] || Symbol['for']('Symbol.metadata')] = _0x336297; + } + } + + function _0x26f5a8(_0x4a45da, _0x3cff50) { + return function (_0x346098) { + var _0x33211b = w_0x25f3; + _0x1fca4f(_0x3cff50, 'addInitializer'), + _0x3ccc16(_0x346098, _0x33211b(0x3ba)), + _0x4a45da[_0x33211b(0x36e)](_0x346098); + } + ; + } + + function _0x2bb58f(_0x256829, _0x48125d, _0x3ef27c, _0x2a2bd4, _0x3688dc, _0x348e43, _0x559d92, _0x5a7ba4, _0x9da1fe) { + var _0x2a79c7 = w_0x25f3, _0x2e3577; + switch (_0x348e43) { + case 0xf31 + -0x3 * 0x2dd + -0x699: + _0x2e3577 = _0x2a79c7(0x1b9); + break; + case 0x269d + -0x1291 + -0x140a: + _0x2e3577 = _0x2a79c7(0x25a); + break; + case 0x24f * -0x9 + 0x12b3 + 0x217: + _0x2e3577 = _0x2a79c7(0x181); + break; + case 0xee9 + -0xe3b * 0x1 + -0xaa: + _0x2e3577 = _0x2a79c7(0x35d); + break; + default: + _0x2e3577 = _0x2a79c7(0x23c); + } + var _0x12a0c0, _0x433c00, _0x37f6a8 = { + 'kind': _0x2e3577, + 'name': _0x5a7ba4 ? '#' + _0x48125d : _0x48125d, + 'isStatic': _0x559d92, + 'isPrivate': _0x5a7ba4 + }, _0x71731a = { + 'v': !(-0x1b16 * -0x1 + 0x1 * 0x1fe1 + -0x2 * 0x1d7b) + }; + if (0x15e0 + -0xdfe + -0x7e2 !== _0x348e43 && (_0x37f6a8['addInitializer'] = _0x26f5a8(_0x3688dc, _0x71731a)), + _0x5a7ba4) { + _0x12a0c0 = -0x2 * 0xd69 + 0x2a1 * 0x1 + 0x1833, + _0x433c00 = Symbol(_0x48125d); + var _0x18857b = {}; + 0x2b + 0x9ef * 0x1 + -0x1 * 0xa1a === _0x348e43 ? (_0x18857b[_0x2a79c7(0x32b)] = _0x3ef27c[_0x2a79c7(0x32b)], + _0x18857b['set'] = _0x3ef27c['set']) : -0x2 * 0xd06 + 0x1816 + 0x1f8 === _0x348e43 ? _0x18857b[_0x2a79c7(0x32b)] = function () { + var _0x14604b = _0x2a79c7; + return _0x3ef27c[_0x14604b(0x2e4)]; + } + : (0x6bc + 0x1 * 0x2095 + 0x10 * -0x275 !== _0x348e43 && -0x1207 + 0x31f + 0x13 * 0xc9 !== _0x348e43 || (_0x18857b[_0x2a79c7(0x32b)] = function () { + var _0x290422 = _0x2a79c7; + return _0x3ef27c[_0x290422(0x32b)][_0x290422(0x334)](this); + } + ), + 0x1296 + -0x1481 + 0x1ec !== _0x348e43 && -0x1892 + -0xfa7 + 0x283d * 0x1 !== _0x348e43 || (_0x18857b[_0x2a79c7(0x1e4)] = function (_0x4e18b8) { + var _0x7e7883 = _0x2a79c7; + _0x3ef27c['set'][_0x7e7883(0x334)](this, _0x4e18b8); + } + )), + _0x37f6a8[_0x2a79c7(0x1d0)] = _0x18857b; + } else + _0x12a0c0 = 0xca0 * 0x1 + 0x83 + -0x52 * 0x29, + _0x433c00 = _0x48125d; + try { + return _0x256829(_0x9da1fe, Object[_0x2a79c7(0x2a0)](_0x37f6a8, _0x1d9867(_0x2a2bd4, _0x12a0c0, _0x433c00, _0x71731a))); + } finally { + _0x71731a['v'] = !(0x6ad + -0x17a9 + 0x10fc); + } + } + + function _0x1fca4f(_0x322983, _0x544667) { + var _0x43acb9 = w_0x25f3; + if (_0x322983['v']) + throw new Error(_0x43acb9(0x214) + _0x544667 + _0x43acb9(0x168)); + } + + function _0x525dc3(_0x3ef577) { + var _0x42d9e9 = w_0x25f3; + if (_0x42d9e9(0x2ed) != typeof _0x3ef577) + throw new TypeError(_0x42d9e9(0x2e7) + _0x3ef577); + } + + function _0x3ccc16(_0x56cd04, _0x56ab29) { + var _0x12ff08 = w_0x25f3; + if ('function' != typeof _0x56cd04) + throw new TypeError(_0x56ab29 + _0x12ff08(0x2f8)); + } + + function _0x32dfd4(_0x43869e, _0x434307) { + var _0x3fc8b9 = w_0x25f3 + , _0xd7b002 = typeof _0x434307; + if (-0x1116 + 0x183f + 0x2 * -0x394 === _0x43869e) { + if (_0x3fc8b9(0x17d) !== _0xd7b002 || null === _0x434307) + throw new TypeError(_0x3fc8b9(0x1fd)); + void (-0x39e * -0x9 + -0x1 * 0x1241 + -0x7 * 0x20b) !== _0x434307[_0x3fc8b9(0x32b)] && _0x3ccc16(_0x434307[_0x3fc8b9(0x32b)], _0x3fc8b9(0x170)), + void (0xeff * 0x1 + 0x2673 + 0x1 * -0x3572) !== _0x434307[_0x3fc8b9(0x1e4)] && _0x3ccc16(_0x434307[_0x3fc8b9(0x1e4)], _0x3fc8b9(0x231)), + void (-0x1558 + -0x1b41 * 0x1 + 0x57 * 0x8f) !== _0x434307['init'] && _0x3ccc16(_0x434307['init'], _0x3fc8b9(0x22f)), + void (-0x148f + 0xfa3 * 0x1 + 0x4ec) !== _0x434307[_0x3fc8b9(0x2d0)] && _0x3ccc16(_0x434307[_0x3fc8b9(0x2d0)], 'accessor.initializer'); + } else { + if (_0x3fc8b9(0x1ee) !== _0xd7b002) + throw new TypeError((0xf1a + 0xce * 0x1f + -0x280c === _0x43869e ? _0x3fc8b9(0x23c) : 0x2428 + -0x6 * -0x635 + -0x495c === _0x43869e ? _0x3fc8b9(0x19c) : _0x3fc8b9(0x25a)) + _0x3fc8b9(0x2cd)); + } + } + + function _0x372120(_0x40b476) { + var _0x3e830c = w_0x25f3, _0x49c5be; + return null == (_0x49c5be = _0x40b476['init']) && (_0x49c5be = _0x40b476[_0x3e830c(0x2d0)]) && _0x3e830c(0x384) != typeof console && console[_0x3e830c(0x3b0)](_0x3e830c(0x30b)), + _0x49c5be; + } + + function _0x481bfe(_0x40006c, _0xdbd444, _0x2c21df, _0x2a4c98, _0x438b52, _0x13e34d, _0x5ae545, _0xa813f0, _0x4c4bfe) { + var _0x2ee2fe = w_0x25f3, _0x2f4463, _0x470ce0, _0x5e0119, _0x2b261c, _0x52c40b, _0x4e02cf, + _0x1fa0af = _0x2c21df[-0x987 + 0x27 * -0xdf + -0x40 * -0xae]; + if (_0x5ae545 ? _0x2f4463 = -0xa89 * 0x1 + -0xd71 + 0x17fa === _0x438b52 || -0x272 * -0xd + -0x1c * 0xb2 + -0xc51 === _0x438b52 ? { + 'get': _0x2c21df[0xefd + 0x232b + -0x3225], + 'set': _0x2c21df[0x21b5 * -0x1 + -0x1015 + 0x31ce] + } : 0x17ef + -0x1d3 + 0x1619 * -0x1 === _0x438b52 ? { + 'get': _0x2c21df[-0x1e92 + 0xff * -0xe + 0x2c87] + } : -0x2211 + 0x1568 + 0xcad === _0x438b52 ? { + 'set': _0x2c21df[-0xcd2 + 0x126e + 0x1 * -0x599] + } : { + 'value': _0x2c21df[0x2293 + -0x1815 + -0xa7b * 0x1] + } : 0x23f1 + -0x93b * -0x4 + 0x1 * -0x48dd !== _0x438b52 && (_0x2f4463 = Object[_0x2ee2fe(0x2a6)](_0xdbd444, _0x2a4c98)), + -0x9a5 + 0x2cc * -0x5 + -0xb * -0x226 === _0x438b52 ? _0x5e0119 = { + 'get': _0x2f4463['get'], + 'set': _0x2f4463[_0x2ee2fe(0x1e4)] + } : -0xb5c + 0x210d + -0x1ab * 0xd === _0x438b52 ? _0x5e0119 = _0x2f4463[_0x2ee2fe(0x2e4)] : -0x12e2 * -0x2 + 0x1 * 0x815 + -0x2dd6 === _0x438b52 ? _0x5e0119 = _0x2f4463['get'] : 0x6 * 0x182 + 0x15fd + -0x1f05 * 0x1 === _0x438b52 && (_0x5e0119 = _0x2f4463[_0x2ee2fe(0x1e4)]), + _0x2ee2fe(0x1ee) == typeof _0x1fa0af) + void (0x12b3 * -0x2 + 0x1229 * 0x1 + 0x133d) !== (_0x2b261c = _0x2bb58f(_0x1fa0af, _0x2a4c98, _0x2f4463, _0xa813f0, _0x4c4bfe, _0x438b52, _0x13e34d, _0x5ae545, _0x5e0119)) && (_0x32dfd4(_0x438b52, _0x2b261c), + -0x655 + -0xb75 + 0x9 * 0x1fa === _0x438b52 ? _0x470ce0 = _0x2b261c : 0x2239 + -0x9 * -0x42b + -0x47bb === _0x438b52 ? (_0x470ce0 = _0x372120(_0x2b261c), + _0x52c40b = _0x2b261c[_0x2ee2fe(0x32b)] || _0x5e0119[_0x2ee2fe(0x32b)], + _0x4e02cf = _0x2b261c['set'] || _0x5e0119['set'], + _0x5e0119 = { + 'get': _0x52c40b, + 'set': _0x4e02cf + }) : _0x5e0119 = _0x2b261c); + else + for (var _0x5801c7 = _0x1fa0af['length'] - (0x2435 + 0x18d0 + 0x16 * -0x2c6); _0x5801c7 >= 0x3ab + 0x58e * -0x6 + 0x1da9; _0x5801c7--) { + var _0x2c9ee5; + void (0x11 * -0x22 + -0x29 * -0x45 + 0x8cb * -0x1) !== (_0x2b261c = _0x2bb58f(_0x1fa0af[_0x5801c7], _0x2a4c98, _0x2f4463, _0xa813f0, _0x4c4bfe, _0x438b52, _0x13e34d, _0x5ae545, _0x5e0119)) && (_0x32dfd4(_0x438b52, _0x2b261c), + -0x220e + 0x3 * 0x4d5 + 0x138f === _0x438b52 ? _0x2c9ee5 = _0x2b261c : -0x2 * -0x1281 + 0x48f * 0x7 + -0x44ea === _0x438b52 ? (_0x2c9ee5 = _0x372120(_0x2b261c), + _0x52c40b = _0x2b261c[_0x2ee2fe(0x32b)] || _0x5e0119[_0x2ee2fe(0x32b)], + _0x4e02cf = _0x2b261c[_0x2ee2fe(0x1e4)] || _0x5e0119[_0x2ee2fe(0x1e4)], + _0x5e0119 = { + 'get': _0x52c40b, + 'set': _0x4e02cf + }) : _0x5e0119 = _0x2b261c, + void (0x204c + -0x2618 + 0x7 * 0xd4) !== _0x2c9ee5 && (void (0x3b3 * 0x9 + -0x2709 + 0x69 * 0xe) === _0x470ce0 ? _0x470ce0 = _0x2c9ee5 : _0x2ee2fe(0x1ee) == typeof _0x470ce0 ? _0x470ce0 = [_0x470ce0, _0x2c9ee5] : _0x470ce0['push'](_0x2c9ee5))); + } + if (-0x236c + 0xbb8 + 0x17b4 === _0x438b52 || 0x1 * 0x13e5 + -0x73 * -0xd + -0x1 * 0x19bb === _0x438b52) { + if (void (0x213e + 0xef + -0x222d) === _0x470ce0) + _0x470ce0 = function (_0x2f3a47, _0x29873e) { + return _0x29873e; + } + ; + else { + if (_0x2ee2fe(0x1ee) != typeof _0x470ce0) { + var _0x41d3b0 = _0x470ce0; + _0x470ce0 = function (_0x434b4b, _0x5f49e4) { + var _0x463980 = _0x2ee2fe; + for (var _0x99d6c0 = _0x5f49e4, _0x29ba97 = -0x120f * 0x1 + 0x1241 + -0x1 * 0x32; _0x29ba97 < _0x41d3b0['length']; _0x29ba97++) + _0x99d6c0 = _0x41d3b0[_0x29ba97][_0x463980(0x334)](_0x434b4b, _0x99d6c0); + return _0x99d6c0; + } + ; + } else { + var _0x58c0cd = _0x470ce0; + _0x470ce0 = function (_0x15ad86, _0x1885c8) { + return _0x58c0cd['call'](_0x15ad86, _0x1885c8); + } + ; + } + } + _0x40006c[_0x2ee2fe(0x36e)](_0x470ce0); + } + 0x1 * -0x241 + 0xf4f + -0xd0e !== _0x438b52 && (0x1 * 0x10e7 + -0x47c + -0x2 * 0x635 === _0x438b52 ? (_0x2f4463[_0x2ee2fe(0x32b)] = _0x5e0119[_0x2ee2fe(0x32b)], + _0x2f4463[_0x2ee2fe(0x1e4)] = _0x5e0119[_0x2ee2fe(0x1e4)]) : -0x53 * 0x6b + 0x16e * 0x8 + 0x1743 === _0x438b52 ? _0x2f4463[_0x2ee2fe(0x2e4)] = _0x5e0119 : 0x4 * -0x4cd + -0x1 * -0x211a + 0x1 * -0xde3 === _0x438b52 ? _0x2f4463['get'] = _0x5e0119 : -0x1d4b * 0x1 + 0x1853 + 0x4fc === _0x438b52 && (_0x2f4463[_0x2ee2fe(0x1e4)] = _0x5e0119), + _0x5ae545 ? 0x5 * -0x28 + 0xcfd + -0xc34 * 0x1 === _0x438b52 ? (_0x40006c[_0x2ee2fe(0x36e)](function (_0x21a97b, _0x5eb78e) { + var _0x40880e = _0x2ee2fe; + return _0x5e0119[_0x40880e(0x32b)][_0x40880e(0x334)](_0x21a97b, _0x5eb78e); + }), + _0x40006c[_0x2ee2fe(0x36e)](function (_0x2fa7d1, _0x120ab2) { + var _0x14b22a = _0x2ee2fe; + return _0x5e0119[_0x14b22a(0x1e4)][_0x14b22a(0x334)](_0x2fa7d1, _0x120ab2); + })) : -0x4 * 0x64c + -0x1 * 0xe54 + 0x13c3 * 0x2 === _0x438b52 ? _0x40006c['push'](_0x5e0119) : _0x40006c[_0x2ee2fe(0x36e)](function (_0xcb08af, _0x156de1) { + var _0x327ef4 = _0x2ee2fe; + return _0x5e0119[_0x327ef4(0x334)](_0xcb08af, _0x156de1); + }) : Object[_0x2ee2fe(0x175)](_0xdbd444, _0x2a4c98, _0x2f4463)); + } + + function _0xa6bc9e(_0x4ceb2c, _0x1b99e7, _0xa8afec, _0x19fdc6, _0x501635) { + var _0x4c0532 = w_0x25f3; + for (var _0xcd77fa, _0x29d8ee, _0x1865b0 = new Map(), _0x4b9277 = new Map(), _0xbb3086 = 0x8 * 0x5e + 0x1f79 + -0x17 * 0x17f; _0xbb3086 < _0x501635[_0x4c0532(0x259)]; _0xbb3086++) { + var _0x58c865 = _0x501635[_0xbb3086]; + if (Array['isArray'](_0x58c865)) { + var _0x203b06, _0x4069ae, _0x479925, _0x2ccf6e = _0x58c865[-0x3f4 + -0x1cc4 + -0x1 * -0x20b9], + _0x138f67 = _0x58c865[0x17b7 + 0x1 * 0x1525 + -0x2cda], + _0xf00e58 = _0x58c865[_0x4c0532(0x259)] > -0x9f5 + -0xd * -0x103 + -0x5 * 0xa3, + _0x356344 = _0x2ccf6e >= -0x14cc + -0xe02 + 0x6f7 * 0x5; + if (_0x356344 ? (_0x203b06 = _0x1b99e7, + _0x4069ae = _0x19fdc6, + 0x7 * -0x3c7 + -0x225e + 0x3ccf != (_0x2ccf6e -= -0xdf * 0x17 + -0xb0c + 0x1f1a) && (_0x479925 = _0x29d8ee = _0x29d8ee || [])) : (_0x203b06 = _0x1b99e7[_0x4c0532(0x344)], + _0x4069ae = _0xa8afec, + -0xc0c + 0x1a8e + -0x2 * 0x741 !== _0x2ccf6e && (_0x479925 = _0xcd77fa = _0xcd77fa || [])), + -0x135b + 0xba6 + -0x7b5 * -0x1 !== _0x2ccf6e && !_0xf00e58) { + var _0x5ef9f5 = _0x356344 ? _0x4b9277 : _0x1865b0 + , + _0x4ff161 = _0x5ef9f5[_0x4c0532(0x32b)](_0x138f67) || 0x2 * 0x27b + 0x137 * 0x1d + -0x2831; + if (!(-0xea4 + 0x2178 + 0x96a * -0x2) === _0x4ff161 || -0x1dce + 0x245d + -0x346 * 0x2 === _0x4ff161 && -0x6 * -0x38f + -0x4 * 0x179 + 0xf72 * -0x1 !== _0x2ccf6e || 0x1265 + -0x40 * 0x6a + -0x21 * -0x3f === _0x4ff161 && -0x14bf + -0x1fa6 + 0x3468 !== _0x2ccf6e) + throw new Error(_0x4c0532(0x351) + _0x138f67); + !_0x4ff161 && _0x2ccf6e > -0x895 * 0x1 + 0x9fa + -0x163 ? _0x5ef9f5[_0x4c0532(0x1e4)](_0x138f67, _0x2ccf6e) : _0x5ef9f5['set'](_0x138f67, !(-0x1a * 0x12 + 0xa1 * 0x1d + -0x1069 * 0x1)); + } + _0x481bfe(_0x4ceb2c, _0x203b06, _0x58c865, _0x138f67, _0x2ccf6e, _0x356344, _0xf00e58, _0x4069ae, _0x479925); + } + } + _0x3657e2(_0x4ceb2c, _0xcd77fa), + _0x3657e2(_0x4ceb2c, _0x29d8ee); + } + + function _0x3657e2(_0x27f72c, _0x8206e1) { + var _0x4690f1 = w_0x25f3; + _0x8206e1 && _0x27f72c[_0x4690f1(0x36e)](function (_0x5a459a) { + var _0x25d832 = _0x4690f1; + for (var _0x3abe8d = -0x2d8 + -0x38c + 0x664; _0x3abe8d < _0x8206e1['length']; _0x3abe8d++) + _0x8206e1[_0x3abe8d][_0x25d832(0x334)](_0x5a459a); + return _0x5a459a; + }); + } + + function _0x5f3676(_0x5c13b5, _0x4779ee, _0x3479c8, _0x3cb840) { + var _0x5df6f5 = w_0x25f3; + if (_0x3cb840['length'] > -0x1744 + -0xfb * 0xd + 0x2403) { + for (var _0x3c4c21 = [], _0x504436 = _0x4779ee, _0x1b5d8b = _0x4779ee['name'], _0x38689d = _0x3cb840[_0x5df6f5(0x259)] - (-0x1f5e + 0x1e2c * 0x1 + 0x133); _0x38689d >= 0x878 + -0x1269 * 0x2 + 0x1c5a; _0x38689d--) { + var _0x2bbf37 = { + 'v': !(0x1 * -0x17dc + -0x1f4 * -0x10 + -0x3d * 0x1f) + }; + try { + var _0x175a61 = Object['assign']({ + 'kind': _0x5df6f5(0x19c), + 'name': _0x1b5d8b, + 'addInitializer': _0x26f5a8(_0x3c4c21, _0x2bbf37) + }, _0x1d9867(_0x3479c8, -0x1dfa + -0x1517 + 0x3311, _0x1b5d8b, _0x2bbf37)) + , _0x23fff7 = _0x3cb840[_0x38689d](_0x504436, _0x175a61); + } finally { + _0x2bbf37['v'] = !(0x1 * -0x1e5d + -0xba7 * 0x2 + 0x35ab); + } + void (-0x2bf + -0x103d * -0x1 + -0xd7e) !== _0x23fff7 && (_0x32dfd4(0xcf3 + -0x9f8 + -0x2f1, _0x23fff7), + _0x504436 = _0x23fff7); + } + _0x5c13b5[_0x5df6f5(0x36e)](_0x504436, function () { + var _0x52b1c0 = _0x5df6f5; + for (var _0x4f0e95 = 0x18 * 0x57 + 0x9f2 * 0x3 + -0x25fe; _0x4f0e95 < _0x3c4c21[_0x52b1c0(0x259)]; _0x4f0e95++) + _0x3c4c21[_0x4f0e95][_0x52b1c0(0x334)](_0x504436); + }); + } + } + + function _0x51be3f(_0x44772e, _0x5243ca, _0x398fa6) { + var _0x234a54 = w_0x25f3 + , _0x13ba59 = [] + , _0x3f8aa9 = {} + , _0x129506 = {}; + return _0xa6bc9e(_0x13ba59, _0x44772e, _0x129506, _0x3f8aa9, _0x5243ca), + _0x43bce4(_0x44772e[_0x234a54(0x344)], _0x129506), + _0x5f3676(_0x13ba59, _0x44772e, _0x3f8aa9, _0x398fa6), + _0x43bce4(_0x44772e, _0x3f8aa9), + _0x13ba59; + } + + function _0x281b3b() { + function _0x556aac(_0xe6f04c, _0x2cf155) { + return function (_0x4ecc37) { + var _0x253daa = w_0x25f3; + !function (_0x109a83, _0x5991fe) { + var _0x11a2fc = w_0x25f3; + if (_0x109a83['v']) + throw new Error(_0x11a2fc(0x257)); + }(_0x2cf155), + _0x3020d2(_0x4ecc37, _0x253daa(0x3ba)), + _0xe6f04c[_0x253daa(0x36e)](_0x4ecc37); + } + ; + } + + function _0x193050(_0xc0995a, _0x3ee2bb, _0x30e0b6, _0xba208c, _0x262641, _0x4fa001, _0x1bb0d5, _0xa6e531) { + var _0x208bac = w_0x25f3, _0x59dc77; + switch (_0x262641) { + case 0x1af6 + -0xd13 + -0xde2: + _0x59dc77 = 'accessor'; + break; + case 0xfda + -0x760 + -0x878: + _0x59dc77 = _0x208bac(0x25a); + break; + case 0x1a * 0xb9 + 0xc3f + -0x1f06: + _0x59dc77 = 'getter'; + break; + case -0xb42 * 0x3 + -0x12d9 + 0x34a3: + _0x59dc77 = 'setter'; + break; + default: + _0x59dc77 = _0x208bac(0x23c); + } + var _0x1b169f, _0x3fad4b, _0x1050cb = { + 'kind': _0x59dc77, + 'name': _0x1bb0d5 ? '#' + _0x3ee2bb : _0x3ee2bb, + 'static': _0x4fa001, + 'private': _0x1bb0d5 + }, _0x252772 = { + 'v': !(0x5 * 0x4d5 + -0x1 * 0x1d6e + 0x546) + }; + -0x21ff + -0x127a + -0x3479 * -0x1 !== _0x262641 && (_0x1050cb['addInitializer'] = _0x556aac(_0xba208c, _0x252772)), + -0x2c9 + -0x27 + 0x2f0 === _0x262641 ? _0x1bb0d5 ? (_0x1b169f = _0x30e0b6['get'], + _0x3fad4b = _0x30e0b6[_0x208bac(0x1e4)]) : (_0x1b169f = function () { + return this[_0x3ee2bb]; + } + , + _0x3fad4b = function (_0x417555) { + this[_0x3ee2bb] = _0x417555; + } + ) : 0x1 * -0x1d61 + -0x1 * 0x841 + -0xc8c * -0x3 === _0x262641 ? _0x1b169f = function () { + var _0x195f9b = _0x208bac; + return _0x30e0b6[_0x195f9b(0x2e4)]; + } + : (0x1 * -0x1e49 + 0x1 * 0x1eef + 0x37 * -0x3 !== _0x262641 && 0x1 * 0x204a + -0x137 * -0xb + -0x2da4 !== _0x262641 || (_0x1b169f = function () { + var _0x3ad118 = _0x208bac; + return _0x30e0b6[_0x3ad118(0x32b)][_0x3ad118(0x334)](this); + } + ), + 0x729 + -0x7ae + 0x1 * 0x86 !== _0x262641 && -0xa * -0x161 + -0x512 + -0x2 * 0x45a !== _0x262641 || (_0x3fad4b = function (_0x37b522) { + var _0x599416 = _0x208bac; + _0x30e0b6[_0x599416(0x1e4)]['call'](this, _0x37b522); + } + )), + _0x1050cb[_0x208bac(0x1d0)] = _0x1b169f && _0x3fad4b ? { + 'get': _0x1b169f, + 'set': _0x3fad4b + } : _0x1b169f ? { + 'get': _0x1b169f + } : { + 'set': _0x3fad4b + }; + try { + return _0xc0995a(_0xa6e531, _0x1050cb); + } finally { + _0x252772['v'] = !(-0x1 * 0x1ecf + 0x1cfc + 0x1d3); + } + } + + function _0x3020d2(_0x5684cc, _0x512b77) { + var _0x3b7e7a = w_0x25f3; + if (_0x3b7e7a(0x1ee) != typeof _0x5684cc) + throw new TypeError(_0x512b77 + '\x20must\x20be\x20a\x20function'); + } + + function _0x13d7df(_0x22787a, _0x4a8dfe) { + var _0x994eff = w_0x25f3 + , _0x751eff = typeof _0x4a8dfe; + if (-0x690 + 0x133f * -0x2 + 0x2d0f === _0x22787a) { + if (_0x994eff(0x17d) !== _0x751eff || null === _0x4a8dfe) + throw new TypeError(_0x994eff(0x1fd)); + void (-0x2af + 0x838 + -0xd * 0x6d) !== _0x4a8dfe[_0x994eff(0x32b)] && _0x3020d2(_0x4a8dfe[_0x994eff(0x32b)], _0x994eff(0x170)), + void (0x1b * -0x43 + -0x24c8 + 0x2bd9) !== _0x4a8dfe[_0x994eff(0x1e4)] && _0x3020d2(_0x4a8dfe[_0x994eff(0x1e4)], _0x994eff(0x231)), + void (-0x2a4 + 0x35 * -0x1d + 0x8a5) !== _0x4a8dfe[_0x994eff(0x3b9)] && _0x3020d2(_0x4a8dfe[_0x994eff(0x3b9)], _0x994eff(0x22f)); + } else { + if ('function' !== _0x751eff) + throw new TypeError((-0x800 + 0xd * 0x75 + 0x20f === _0x22787a ? _0x994eff(0x23c) : 0x13ad + 0x1db0 + -0x3153 === _0x22787a ? _0x994eff(0x19c) : _0x994eff(0x25a)) + '\x20decorators\x20must\x20return\x20a\x20function\x20or\x20void\x200'); + } + } + + function _0x3345ab(_0xc8cad8, _0x5d015f, _0x32f33f, _0x5f5169, _0x23451f, _0x2595f8, _0xb8bdee, _0x2c3fb2) { + var _0x1d74f6 = w_0x25f3, _0x584e33, _0x103b18, _0x5d6523, _0x2d18a1, _0x2b9fd3, _0x11479e, + _0x4ef3d6 = _0x32f33f[0x23c3 + -0x1a88 + 0x1 * -0x93b]; + if (_0xb8bdee ? _0x584e33 = 0x7ed * 0x1 + 0xac9 + -0x12b6 === _0x23451f || 0x4 * 0x7f5 + 0x11ab + 0x712 * -0x7 === _0x23451f ? { + 'get': _0x32f33f[0x265e * 0x1 + -0x23e1 + -0x1 * 0x27a], + 'set': _0x32f33f[0x108e + -0x2551 + 0x1b * 0xc5] + } : 0x19bc + 0x1c0d * 0x1 + 0x35c6 * -0x1 === _0x23451f ? { + 'get': _0x32f33f[-0x7fd * 0x4 + 0x1b6c + 0x48b] + } : 0x149a + 0x2522 + -0x39b8 === _0x23451f ? { + 'set': _0x32f33f[-0x1 * 0x3ad + -0xb4e * 0x2 + -0x9 * -0x2ec] + } : { + 'value': _0x32f33f[0x21a6 + -0x7 + -0x219c] + } : 0x12ab * 0x1 + -0x1f41 + 0xc96 !== _0x23451f && (_0x584e33 = Object[_0x1d74f6(0x2a6)](_0x5d015f, _0x5f5169)), + 0x11 * -0xf7 + -0x4 * 0x7be + 0x2f60 === _0x23451f ? _0x5d6523 = { + 'get': _0x584e33[_0x1d74f6(0x32b)], + 'set': _0x584e33['set'] + } : 0x1e3 + 0x2 * 0x11ef + -0x25bf === _0x23451f ? _0x5d6523 = _0x584e33[_0x1d74f6(0x2e4)] : -0x6b + 0x1ff8 + -0xfc5 * 0x2 === _0x23451f ? _0x5d6523 = _0x584e33['get'] : 0x2577 + -0x2272 + -0x301 === _0x23451f && (_0x5d6523 = _0x584e33[_0x1d74f6(0x1e4)]), + 'function' == typeof _0x4ef3d6) + void (0x1bdc * -0x1 + 0x2343 + -0x1 * 0x767) !== (_0x2d18a1 = _0x193050(_0x4ef3d6, _0x5f5169, _0x584e33, _0x2c3fb2, _0x23451f, _0x2595f8, _0xb8bdee, _0x5d6523)) && (_0x13d7df(_0x23451f, _0x2d18a1), + -0x5 * -0x27e + 0x6a * 0x1e + -0x18e2 === _0x23451f ? _0x103b18 = _0x2d18a1 : 0x23f1 + -0x4 * 0x8bb + 0x14 * -0xd === _0x23451f ? (_0x103b18 = _0x2d18a1['init'], + _0x2b9fd3 = _0x2d18a1[_0x1d74f6(0x32b)] || _0x5d6523[_0x1d74f6(0x32b)], + _0x11479e = _0x2d18a1[_0x1d74f6(0x1e4)] || _0x5d6523[_0x1d74f6(0x1e4)], + _0x5d6523 = { + 'get': _0x2b9fd3, + 'set': _0x11479e + }) : _0x5d6523 = _0x2d18a1); + else + for (var _0x4328fb = _0x4ef3d6[_0x1d74f6(0x259)] - (0xe31 + -0xc5b + -0x1d5); _0x4328fb >= 0x87a + -0xf7c + 0x702; _0x4328fb--) { + var _0x5c4cc8; + void (0x83b + -0x8af + 0x74) !== (_0x2d18a1 = _0x193050(_0x4ef3d6[_0x4328fb], _0x5f5169, _0x584e33, _0x2c3fb2, _0x23451f, _0x2595f8, _0xb8bdee, _0x5d6523)) && (_0x13d7df(_0x23451f, _0x2d18a1), + -0x4 * 0x511 + -0xc0a * -0x1 + 0x83a === _0x23451f ? _0x5c4cc8 = _0x2d18a1 : -0x22 * -0x4d + -0x135d * -0x2 + 0x1051 * -0x3 === _0x23451f ? (_0x5c4cc8 = _0x2d18a1[_0x1d74f6(0x3b9)], + _0x2b9fd3 = _0x2d18a1[_0x1d74f6(0x32b)] || _0x5d6523[_0x1d74f6(0x32b)], + _0x11479e = _0x2d18a1[_0x1d74f6(0x1e4)] || _0x5d6523[_0x1d74f6(0x1e4)], + _0x5d6523 = { + 'get': _0x2b9fd3, + 'set': _0x11479e + }) : _0x5d6523 = _0x2d18a1, + void (0x23b9 * 0x1 + 0x2 * -0xccb + -0x5 * 0x207) !== _0x5c4cc8 && (void (-0x15ac + 0x376 + 0x7e * 0x25) === _0x103b18 ? _0x103b18 = _0x5c4cc8 : _0x1d74f6(0x1ee) == typeof _0x103b18 ? _0x103b18 = [_0x103b18, _0x5c4cc8] : _0x103b18['push'](_0x5c4cc8))); + } + if (-0x11a3 + 0xd * -0x2f2 + -0x67 * -0x8b === _0x23451f || 0xeab * -0x1 + 0x752 * -0x1 + -0x15fe * -0x1 === _0x23451f) { + if (void (-0x4a8 * 0x1 + 0xfb0 + -0xb08) === _0x103b18) + _0x103b18 = function (_0x1682da, _0x55e4de) { + return _0x55e4de; + } + ; + else { + if (_0x1d74f6(0x1ee) != typeof _0x103b18) { + var _0x278a7c = _0x103b18; + _0x103b18 = function (_0x1c32a2, _0x442b39) { + var _0x56cde3 = _0x1d74f6; + for (var _0x200043 = _0x442b39, _0x52eaec = 0xc8a + 0x26f6 + 0x20 * -0x19c; _0x52eaec < _0x278a7c[_0x56cde3(0x259)]; _0x52eaec++) + _0x200043 = _0x278a7c[_0x52eaec]['call'](_0x1c32a2, _0x200043); + return _0x200043; + } + ; + } else { + var _0x120537 = _0x103b18; + _0x103b18 = function (_0x5a0b99, _0x523966) { + var _0x2de49d = _0x1d74f6; + return _0x120537[_0x2de49d(0x334)](_0x5a0b99, _0x523966); + } + ; + } + } + _0xc8cad8['push'](_0x103b18); + } + 0x3ac * -0x8 + 0x915 + 0x144b !== _0x23451f && (-0xcde + -0x1f3f + 0x2c1e === _0x23451f ? (_0x584e33[_0x1d74f6(0x32b)] = _0x5d6523['get'], + _0x584e33[_0x1d74f6(0x1e4)] = _0x5d6523['set']) : -0x31 * -0xc1 + -0x1 * -0x2388 + -0x4877 === _0x23451f ? _0x584e33[_0x1d74f6(0x2e4)] = _0x5d6523 : -0x4 * 0x899 + 0x1944 + 0x923 === _0x23451f ? _0x584e33[_0x1d74f6(0x32b)] = _0x5d6523 : -0x64e * 0x5 + 0x152f + 0xa5b === _0x23451f && (_0x584e33[_0x1d74f6(0x1e4)] = _0x5d6523), + _0xb8bdee ? 0x186b + 0x3 * 0x7e9 + -0x1ed * 0x19 === _0x23451f ? (_0xc8cad8[_0x1d74f6(0x36e)](function (_0x1c7663, _0x210e49) { + var _0xb35933 = _0x1d74f6; + return _0x5d6523['get'][_0xb35933(0x334)](_0x1c7663, _0x210e49); + }), + _0xc8cad8[_0x1d74f6(0x36e)](function (_0x9ce4a0, _0xa2a6a5) { + var _0x548bf5 = _0x1d74f6; + return _0x5d6523[_0x548bf5(0x1e4)][_0x548bf5(0x334)](_0x9ce4a0, _0xa2a6a5); + })) : -0x2 * 0x91d + -0x226e + 0x282 * 0x15 === _0x23451f ? _0xc8cad8['push'](_0x5d6523) : _0xc8cad8[_0x1d74f6(0x36e)](function (_0x5b9e9b, _0x4ef49d) { + return _0x5d6523['call'](_0x5b9e9b, _0x4ef49d); + }) : Object[_0x1d74f6(0x175)](_0x5d015f, _0x5f5169, _0x584e33)); + } + + function _0xbbd38b(_0x42478e, _0x1ef3db) { + var _0x15d90a = w_0x25f3; + _0x1ef3db && _0x42478e[_0x15d90a(0x36e)](function (_0xdfc40e) { + var _0x10548c = _0x15d90a; + for (var _0x3e6f2c = -0x349 * -0xa + 0xe * 0x5b + -0x25d4; _0x3e6f2c < _0x1ef3db[_0x10548c(0x259)]; _0x3e6f2c++) + _0x1ef3db[_0x3e6f2c][_0x10548c(0x334)](_0xdfc40e); + return _0xdfc40e; + }); + } + + return function (_0x2327f5, _0x28ca06, _0x53ed99) { + var _0x253a06 = []; + return function (_0x1816e5, _0x29e49e, _0x48cb46) { + var _0x5efef1 = w_0x25f3; + for (var _0x5857a9, _0x48222e, _0x2f7979 = new Map(), _0x2e733e = new Map(), _0x4b6d1a = 0x1 * -0xec3 + 0x1 * 0x6a2 + 0x821; _0x4b6d1a < _0x48cb46[_0x5efef1(0x259)]; _0x4b6d1a++) { + var _0x58c6d3 = _0x48cb46[_0x4b6d1a]; + if (Array['isArray'](_0x58c6d3)) { + var _0x124b63, _0x4324aa, _0x8c2a39 = _0x58c6d3[-0x1d3a + -0x24ff + 0x423a], + _0x8fabbd = _0x58c6d3[0x1b14 + -0x1 * -0x1f0c + -0x1d0f * 0x2], + _0x249da3 = _0x58c6d3[_0x5efef1(0x259)] > 0x1 * 0xb42 + -0x1c1 * 0xe + -0x1 * -0xd4f, + _0x11d04c = _0x8c2a39 >= -0x12b3 * 0x1 + 0x10e6 + 0x1d2; + if (_0x11d04c ? (_0x124b63 = _0x29e49e, + -0x15b * -0x5 + 0x373 + -0xa3a != (_0x8c2a39 -= -0x24b2 + -0x12b * 0x17 + 0x3f94) && (_0x4324aa = _0x48222e = _0x48222e || [])) : (_0x124b63 = _0x29e49e['prototype'], + 0x11fa + -0x1859 + 0x65f !== _0x8c2a39 && (_0x4324aa = _0x5857a9 = _0x5857a9 || [])), + -0x11df + -0x205d * 0x1 + 0x323c !== _0x8c2a39 && !_0x249da3) { + var _0x3e0748 = _0x11d04c ? _0x2e733e : _0x2f7979 + , + _0x148749 = _0x3e0748[_0x5efef1(0x32b)](_0x8fabbd) || 0x6c0 + 0x8e3 + 0x1 * -0xfa3; + if (!(-0x288 + -0x1b8f + 0x1e17) === _0x148749 || 0xcae + -0x84a + -0x461 === _0x148749 && 0xebc + -0x6cf + -0x7e9 !== _0x8c2a39 || 0x132d * 0x2 + 0x1 * 0x6ab + -0x1 * 0x2d01 === _0x148749 && 0x2144 + -0xe17 * -0x1 + -0x2f58 !== _0x8c2a39) + throw new Error('Attempted\x20to\x20decorate\x20a\x20public\x20method/accessor\x20that\x20has\x20the\x20same\x20name\x20as\x20a\x20previously\x20decorated\x20public\x20method/accessor.\x20This\x20is\x20not\x20currently\x20supported\x20by\x20the\x20decorators\x20plugin.\x20Property\x20name\x20was:\x20' + _0x8fabbd); + !_0x148749 && _0x8c2a39 > -0x2ea * -0xc + 0x1 * 0x24cb + 0x1 * -0x47c1 ? _0x3e0748[_0x5efef1(0x1e4)](_0x8fabbd, _0x8c2a39) : _0x3e0748[_0x5efef1(0x1e4)](_0x8fabbd, !(0xb9e + -0xc * -0x9d + -0x12fa)); + } + _0x3345ab(_0x1816e5, _0x124b63, _0x58c6d3, _0x8fabbd, _0x8c2a39, _0x11d04c, _0x249da3, _0x4324aa); + } + } + _0xbbd38b(_0x1816e5, _0x5857a9), + _0xbbd38b(_0x1816e5, _0x48222e); + }(_0x253a06, _0x2327f5, _0x28ca06), + function (_0x528ea3, _0x4f695c, _0x1527df) { + var _0x436c1d = w_0x25f3; + if (_0x1527df[_0x436c1d(0x259)] > 0xe5 + 0x269c + -0x2781) { + for (var _0x4e0e1b = [], _0x3eca99 = _0x4f695c, _0x5c69d2 = _0x4f695c[_0x436c1d(0x341)], _0x2abebb = _0x1527df[_0x436c1d(0x259)] - (0x1 * -0x1cbe + 0xa * -0x2ba + 0x3803); _0x2abebb >= 0x8c0 + -0x44d * 0x4 + 0x874; _0x2abebb--) { + var _0x30122e = { + 'v': !(0x26bb + 0x34c * 0x7 + 0x1 * -0x3dce) + }; + try { + var _0x46e0b1 = _0x1527df[_0x2abebb](_0x3eca99, { + 'kind': _0x436c1d(0x19c), + 'name': _0x5c69d2, + 'addInitializer': _0x556aac(_0x4e0e1b, _0x30122e) + }); + } finally { + _0x30122e['v'] = !(0x114e + 0x1f1 * -0x1 + 0x1 * -0xf5d); + } + void (-0x1 * -0x1c41 + 0x38d * 0x1 + -0x1fce) !== _0x46e0b1 && (_0x13d7df(0x180 + 0x6 * -0x2f + -0x5c, _0x46e0b1), + _0x3eca99 = _0x46e0b1); + } + _0x528ea3['push'](_0x3eca99, function () { + var _0x1ef0f8 = _0x436c1d; + for (var _0x337d50 = 0x1 * -0x217d + -0x1a35 + -0x2 * -0x1dd9; _0x337d50 < _0x4e0e1b[_0x1ef0f8(0x259)]; _0x337d50++) + _0x4e0e1b[_0x337d50]['call'](_0x3eca99); + }); + } + }(_0x253a06, _0x2327f5, _0x53ed99), + _0x253a06; + } + ; + } + + var _0x15b960, _0x500e9f; + + function _0x4ab133(_0x538caa, _0x1dca3a, _0x362c83) { + return (_0x15b960 = _0x15b960 || _0x281b3b())(_0x538caa, _0x1dca3a, _0x362c83); + } + + function _0x4591cd() { + function _0x135cea(_0x43f619, _0x5dfa54) { + return function (_0x33b776) { + var _0x55feea = w_0x25f3; + !function (_0x4d2467, _0x1aaab5) { + var _0x188bf8 = w_0x25f3; + if (_0x4d2467['v']) + throw new Error(_0x188bf8(0x257)); + }(_0x5dfa54), + _0x23bc0c(_0x33b776, _0x55feea(0x3ba)), + _0x43f619[_0x55feea(0x36e)](_0x33b776); + } + ; + } + + function _0x39ceae(_0x5713eb, _0x3cd64b, _0x2a5e05, _0x428f9b, _0x1cd0f5, _0x386fff, _0x54211b, _0x40ee96) { + var _0x32bd6c = w_0x25f3, _0x43d2aa; + switch (_0x1cd0f5) { + case -0x3 * -0x9f7 + 0x13bc + -0x31a0: + _0x43d2aa = _0x32bd6c(0x1b9); + break; + case 0x14f5 + -0x1f56 + -0x1 * -0xa63: + _0x43d2aa = _0x32bd6c(0x25a); + break; + case -0x1 * -0x346 + -0xe + 0x335 * -0x1: + _0x43d2aa = _0x32bd6c(0x181); + break; + case -0x2 * -0x367 + 0x16b3 + -0x1 * 0x1d7d: + _0x43d2aa = _0x32bd6c(0x35d); + break; + default: + _0x43d2aa = _0x32bd6c(0x23c); + } + var _0x1f76cf, _0x2d3a63, _0x52dc9f = { + 'kind': _0x43d2aa, + 'name': _0x54211b ? '#' + _0x3cd64b : _0x3cd64b, + 'static': _0x386fff, + 'private': _0x54211b + }, _0x33b885 = { + 'v': !(0x1 * 0xea1 + 0x22b7 + 0x3157 * -0x1) + }; + -0x948 + -0x2454 + 0x1c * 0x1a1 !== _0x1cd0f5 && (_0x52dc9f[_0x32bd6c(0x225)] = _0x135cea(_0x428f9b, _0x33b885)), + 0xb * 0xb1 + 0x1417 + -0x1bb2 === _0x1cd0f5 ? _0x54211b ? (_0x1f76cf = _0x2a5e05[_0x32bd6c(0x32b)], + _0x2d3a63 = _0x2a5e05['set']) : (_0x1f76cf = function () { + return this[_0x3cd64b]; + } + , + _0x2d3a63 = function (_0x209e9f) { + this[_0x3cd64b] = _0x209e9f; + } + ) : 0x240f + 0xc11 * 0x3 + -0x22 * 0x220 === _0x1cd0f5 ? _0x1f76cf = function () { + var _0x446fc0 = _0x32bd6c; + return _0x2a5e05[_0x446fc0(0x2e4)]; + } + : (-0x4 * -0x1f6 + 0x1b48 + -0x231f !== _0x1cd0f5 && 0x61 * 0x1a + -0x113 * -0x11 + -0x1c1a !== _0x1cd0f5 || (_0x1f76cf = function () { + var _0x447b7b = _0x32bd6c; + return _0x2a5e05['get'][_0x447b7b(0x334)](this); + } + ), + 0x1e4e + 0x25b6 * -0x1 + 0x769 !== _0x1cd0f5 && 0x1397 + -0xb7e + -0x815 !== _0x1cd0f5 || (_0x2d3a63 = function (_0x4c071d) { + _0x2a5e05['set']['call'](this, _0x4c071d); + } + )), + _0x52dc9f[_0x32bd6c(0x1d0)] = _0x1f76cf && _0x2d3a63 ? { + 'get': _0x1f76cf, + 'set': _0x2d3a63 + } : _0x1f76cf ? { + 'get': _0x1f76cf + } : { + 'set': _0x2d3a63 + }; + try { + return _0x5713eb(_0x40ee96, _0x52dc9f); + } finally { + _0x33b885['v'] = !(-0x8c9 + 0x2 * -0x1189 + 0x2bdb); + } + } + + function _0x23bc0c(_0x4aa0f2, _0x12640a) { + var _0x1b925e = w_0x25f3; + if (_0x1b925e(0x1ee) != typeof _0x4aa0f2) + throw new TypeError(_0x12640a + _0x1b925e(0x2f8)); + } + + function _0x2de5e4(_0x3de3bb, _0xa398ec) { + var _0xf94308 = w_0x25f3 + , _0x2c8661 = typeof _0xa398ec; + if (-0x33 * 0x4c + 0x5 * 0x787 + -0x1 * 0x167e === _0x3de3bb) { + if (_0xf94308(0x17d) !== _0x2c8661 || null === _0xa398ec) + throw new TypeError(_0xf94308(0x1fd)); + void (-0x1e03 + -0x1eb + 0xff7 * 0x2) !== _0xa398ec[_0xf94308(0x32b)] && _0x23bc0c(_0xa398ec[_0xf94308(0x32b)], 'accessor.get'), + void (0x3ba + -0x24db + -0xb0b * -0x3) !== _0xa398ec[_0xf94308(0x1e4)] && _0x23bc0c(_0xa398ec[_0xf94308(0x1e4)], _0xf94308(0x231)), + void (0x7f8 + -0x1b10 + -0x1318 * -0x1) !== _0xa398ec[_0xf94308(0x3b9)] && _0x23bc0c(_0xa398ec['init'], _0xf94308(0x22f)); + } else { + if (_0xf94308(0x1ee) !== _0x2c8661) + throw new TypeError((-0xf65 + 0xbd0 + 0x395 === _0x3de3bb ? _0xf94308(0x23c) : 0x48e + -0x1 * 0x1ebe + 0x1a3a === _0x3de3bb ? _0xf94308(0x19c) : _0xf94308(0x25a)) + _0xf94308(0x2cd)); + } + } + + function _0x343a1e(_0xc4b124, _0x1026d8, _0x47c875, _0x150a83, _0x4cdf11, _0x3e4a0b, _0x1dd313, _0x2b027d) { + var _0x1c87ab = w_0x25f3, _0x2f46a5, _0x5a2be0, _0x547138, _0x289168, _0x1e1872, _0xd2fd89, + _0x17ee52 = _0x47c875[-0x2099 + -0x133 * 0x1 + 0x21cc]; + if (_0x1dd313 ? _0x2f46a5 = 0xb0a + 0x2125 + -0x2c2f === _0x4cdf11 || 0x12ea + 0x5ba + 0x385 * -0x7 === _0x4cdf11 ? { + 'get': _0x47c875[0x1cf3 + 0x7 * -0x57d + 0x97b], + 'set': _0x47c875[0x6 * 0x210 + -0x2b3 * 0x3 + 0x1 * -0x443] + } : 0x1f7b + -0x2 * 0x1253 + 0x52e * 0x1 === _0x4cdf11 ? { + 'get': _0x47c875[0x1476 + 0x23 * -0xb5 + 0x44c] + } : 0x2290 + -0x20e6 + -0x1a6 === _0x4cdf11 ? { + 'set': _0x47c875[0x1465 * -0x1 + -0x1 * 0x7d9 + -0x1 * -0x1c41] + } : { + 'value': _0x47c875[-0x1550 + 0xb0f + 0xa44] + } : 0x8bb + 0x37b + 0x1 * -0xc36 !== _0x4cdf11 && (_0x2f46a5 = Object[_0x1c87ab(0x2a6)](_0x1026d8, _0x150a83)), + -0xf * -0x49 + -0x8c3 * -0x1 + 0xd09 * -0x1 === _0x4cdf11 ? _0x547138 = { + 'get': _0x2f46a5[_0x1c87ab(0x32b)], + 'set': _0x2f46a5['set'] + } : -0x7c4 + 0x1da9 + -0x15e3 === _0x4cdf11 ? _0x547138 = _0x2f46a5[_0x1c87ab(0x2e4)] : 0x7e1 + -0x159a + 0xdbc === _0x4cdf11 ? _0x547138 = _0x2f46a5[_0x1c87ab(0x32b)] : 0x105 + 0x177d * 0x1 + 0xbe * -0x21 === _0x4cdf11 && (_0x547138 = _0x2f46a5['set']), + _0x1c87ab(0x1ee) == typeof _0x17ee52) + void (-0x12c9 + 0x3 * -0x2f + 0x1e * 0xa5) !== (_0x289168 = _0x39ceae(_0x17ee52, _0x150a83, _0x2f46a5, _0x2b027d, _0x4cdf11, _0x3e4a0b, _0x1dd313, _0x547138)) && (_0x2de5e4(_0x4cdf11, _0x289168), + -0x1cc9 + -0x2 * 0xb5d + 0x1 * 0x3383 === _0x4cdf11 ? _0x5a2be0 = _0x289168 : -0x1 * 0x1517 + 0x25 * 0x44 + 0xb44 === _0x4cdf11 ? (_0x5a2be0 = _0x289168[_0x1c87ab(0x3b9)], + _0x1e1872 = _0x289168[_0x1c87ab(0x32b)] || _0x547138['get'], + _0xd2fd89 = _0x289168[_0x1c87ab(0x1e4)] || _0x547138[_0x1c87ab(0x1e4)], + _0x547138 = { + 'get': _0x1e1872, + 'set': _0xd2fd89 + }) : _0x547138 = _0x289168); + else + for (var _0x5a46d9 = _0x17ee52[_0x1c87ab(0x259)] - (-0x49 * 0x19 + 0x4a2 + 0x280); _0x5a46d9 >= -0x225b + 0x1562 + 0xcf9; _0x5a46d9--) { + var _0x60a0d7; + void (-0xffd + 0x7 * -0x293 + 0x2202) !== (_0x289168 = _0x39ceae(_0x17ee52[_0x5a46d9], _0x150a83, _0x2f46a5, _0x2b027d, _0x4cdf11, _0x3e4a0b, _0x1dd313, _0x547138)) && (_0x2de5e4(_0x4cdf11, _0x289168), + 0x52 * -0x59 + 0x9 * -0x104 + 0x2 * 0x12d3 === _0x4cdf11 ? _0x60a0d7 = _0x289168 : -0x1689 + 0x1e96 + -0x80c === _0x4cdf11 ? (_0x60a0d7 = _0x289168['init'], + _0x1e1872 = _0x289168[_0x1c87ab(0x32b)] || _0x547138['get'], + _0xd2fd89 = _0x289168[_0x1c87ab(0x1e4)] || _0x547138[_0x1c87ab(0x1e4)], + _0x547138 = { + 'get': _0x1e1872, + 'set': _0xd2fd89 + }) : _0x547138 = _0x289168, + void (-0x1a77 + -0x136f + -0xeb * -0x32) !== _0x60a0d7 && (void (-0x519 + -0x1 * -0x1245 + -0x2 * 0x696) === _0x5a2be0 ? _0x5a2be0 = _0x60a0d7 : _0x1c87ab(0x1ee) == typeof _0x5a2be0 ? _0x5a2be0 = [_0x5a2be0, _0x60a0d7] : _0x5a2be0[_0x1c87ab(0x36e)](_0x60a0d7))); + } + if (0x78c + 0x1d71 * -0x1 + 0x15e5 * 0x1 === _0x4cdf11 || -0x49 * 0x6 + 0x1e * 0xd2 + -0x1 * 0x16e5 === _0x4cdf11) { + if (void (0x21db + 0x22d * 0xd + -0x3e24) === _0x5a2be0) + _0x5a2be0 = function (_0x5345b0, _0x1a659b) { + return _0x1a659b; + } + ; + else { + if ('function' != typeof _0x5a2be0) { + var _0x336daa = _0x5a2be0; + _0x5a2be0 = function (_0x30e05d, _0xf3b4df) { + var _0x4d9e7f = _0x1c87ab; + for (var _0x362c52 = _0xf3b4df, _0x22ed8a = 0x1 * 0x1f3c + -0x610 + -0x192c; _0x22ed8a < _0x336daa[_0x4d9e7f(0x259)]; _0x22ed8a++) + _0x362c52 = _0x336daa[_0x22ed8a]['call'](_0x30e05d, _0x362c52); + return _0x362c52; + } + ; + } else { + var _0x5aed3b = _0x5a2be0; + _0x5a2be0 = function (_0x5dc978, _0x5db160) { + return _0x5aed3b['call'](_0x5dc978, _0x5db160); + } + ; + } + } + _0xc4b124[_0x1c87ab(0x36e)](_0x5a2be0); + } + 0x177a + -0xe7 * -0x1c + 0x22 * -0x16f !== _0x4cdf11 && (0x3af + 0x9 * -0x217 + 0x50b * 0x3 === _0x4cdf11 ? (_0x2f46a5[_0x1c87ab(0x32b)] = _0x547138[_0x1c87ab(0x32b)], + _0x2f46a5[_0x1c87ab(0x1e4)] = _0x547138[_0x1c87ab(0x1e4)]) : 0x18a3 * -0x1 + 0x263c + -0xd97 === _0x4cdf11 ? _0x2f46a5[_0x1c87ab(0x2e4)] = _0x547138 : -0x4 * -0x31b + -0x837 * 0x4 + -0x5 * -0x417 === _0x4cdf11 ? _0x2f46a5[_0x1c87ab(0x32b)] = _0x547138 : -0x1a2e + 0x2 * 0x131d + -0xc08 === _0x4cdf11 && (_0x2f46a5[_0x1c87ab(0x1e4)] = _0x547138), + _0x1dd313 ? -0x1 * -0x1757 + 0x1ada + -0x3230 === _0x4cdf11 ? (_0xc4b124[_0x1c87ab(0x36e)](function (_0xb886c1, _0x3a6bf5) { + var _0x288d67 = _0x1c87ab; + return _0x547138[_0x288d67(0x32b)][_0x288d67(0x334)](_0xb886c1, _0x3a6bf5); + }), + _0xc4b124[_0x1c87ab(0x36e)](function (_0x337452, _0x50608d) { + var _0x44b896 = _0x1c87ab; + return _0x547138[_0x44b896(0x1e4)][_0x44b896(0x334)](_0x337452, _0x50608d); + })) : -0x2 * 0x93d + 0x297 + -0x139 * -0xd === _0x4cdf11 ? _0xc4b124['push'](_0x547138) : _0xc4b124[_0x1c87ab(0x36e)](function (_0x1e24c7, _0x120c64) { + var _0x3e3294 = _0x1c87ab; + return _0x547138[_0x3e3294(0x334)](_0x1e24c7, _0x120c64); + }) : Object[_0x1c87ab(0x175)](_0x1026d8, _0x150a83, _0x2f46a5)); + } + + function _0x4c3a0d(_0x48207f, _0x257e35) { + var _0x1249e7 = w_0x25f3; + for (var _0x47fbbd, _0x402774, _0x333e3a = [], _0xe5fb1e = new Map(), _0x15f194 = new Map(), _0x41a1c1 = -0x1 * 0x575 + -0x13c0 + -0x1b * -0xef; _0x41a1c1 < _0x257e35[_0x1249e7(0x259)]; _0x41a1c1++) { + var _0x63ddf3 = _0x257e35[_0x41a1c1]; + if (Array[_0x1249e7(0x2af)](_0x63ddf3)) { + var _0x446366, _0x186385, _0x19186f = _0x63ddf3[-0x5bc * 0x4 + 0xf6a * -0x1 + -0x3 * -0xcc9], + _0x4911c0 = _0x63ddf3[0x1 * 0x46 + -0xb73 + 0xb2f], + _0x39f6a1 = _0x63ddf3['length'] > -0x4 * -0x101 + -0xe6c + 0xa6b, + _0x27b8e1 = _0x19186f >= 0xb76 + 0x73 * -0x34 + 0x71 * 0x1b; + if (_0x27b8e1 ? (_0x446366 = _0x48207f, + 0x26c + -0x157d + -0x65b * -0x3 != (_0x19186f -= 0x2324 + 0x27 * 0xbe + -0x4011) && (_0x186385 = _0x402774 = _0x402774 || [])) : (_0x446366 = _0x48207f[_0x1249e7(0x344)], + -0x7 * 0x297 + 0x1b26 + -0x905 !== _0x19186f && (_0x186385 = _0x47fbbd = _0x47fbbd || [])), + 0x13d6 * -0x1 + 0x1 * 0xbb7 + 0x81f !== _0x19186f && !_0x39f6a1) { + var _0x3f295f = _0x27b8e1 ? _0x15f194 : _0xe5fb1e + , + _0x566c7b = _0x3f295f[_0x1249e7(0x32b)](_0x4911c0) || -0x188 * -0xb + 0x3e * 0x49 + -0x2286; + if (!(0x903 * -0x1 + -0x1f * -0x8d + 0x1 * -0x810) === _0x566c7b || -0x43 * 0x5 + -0x1c6c + 0x2f * 0xa2 === _0x566c7b && -0x737 + -0x1ac2 + 0x21fd !== _0x19186f || 0xdd2 + -0x202b + 0x125d === _0x566c7b && -0x1 * 0x118d + -0x2b8 * -0x3 + 0x8 * 0x12d !== _0x19186f) + throw new Error('Attempted\x20to\x20decorate\x20a\x20public\x20method/accessor\x20that\x20has\x20the\x20same\x20name\x20as\x20a\x20previously\x20decorated\x20public\x20method/accessor.\x20This\x20is\x20not\x20currently\x20supported\x20by\x20the\x20decorators\x20plugin.\x20Property\x20name\x20was:\x20' + _0x4911c0); + !_0x566c7b && _0x19186f > 0xf * -0x26f + 0x1 * 0x79d + 0x1ce6 * 0x1 ? _0x3f295f[_0x1249e7(0x1e4)](_0x4911c0, _0x19186f) : _0x3f295f['set'](_0x4911c0, !(0x4a * 0x71 + -0xad * 0x2 + 0x6 * -0x538)); + } + _0x343a1e(_0x333e3a, _0x446366, _0x63ddf3, _0x4911c0, _0x19186f, _0x27b8e1, _0x39f6a1, _0x186385); + } + } + return _0x45d367(_0x333e3a, _0x47fbbd), + _0x45d367(_0x333e3a, _0x402774), + _0x333e3a; + } + + function _0x45d367(_0x59ffc8, _0x5ae59b) { + var _0x5b965e = w_0x25f3; + _0x5ae59b && _0x59ffc8[_0x5b965e(0x36e)](function (_0x3ed28e) { + var _0x5985fb = _0x5b965e; + for (var _0x5bcc94 = 0x156a + 0x18e0 + -0x2e4a; _0x5bcc94 < _0x5ae59b['length']; _0x5bcc94++) + _0x5ae59b[_0x5bcc94][_0x5985fb(0x334)](_0x3ed28e); + return _0x3ed28e; + }); + } + + return function (_0x33b4ae, _0x339d11, _0x5ebc36) { + return { + 'e': _0x4c3a0d(_0x33b4ae, _0x339d11), + get 'c'() { + return function (_0x92474e, _0x343c16) { + var _0x3cc4d2 = w_0x25f3; + if (_0x343c16['length'] > -0x271 + -0x2690 + 0x2901) { + for (var _0x18f66c = [], _0x1dd6eb = _0x92474e, _0x1d8833 = _0x92474e[_0x3cc4d2(0x341)], _0x163025 = _0x343c16[_0x3cc4d2(0x259)] - (0x1 * -0x20ed + 0x1f94 + 0x2 * 0xad); _0x163025 >= 0xfba + 0x22 * 0xb6 + 0x27e6 * -0x1; _0x163025--) { + var _0x49ea6f = { + 'v': !(-0x524 + 0x1a34 + -0x150f) + }; + try { + var _0x181a9d = _0x343c16[_0x163025](_0x1dd6eb, { + 'kind': _0x3cc4d2(0x19c), + 'name': _0x1d8833, + 'addInitializer': _0x135cea(_0x18f66c, _0x49ea6f) + }); + } finally { + _0x49ea6f['v'] = !(-0x23e + 0x1 * -0x7fb + 0xa39); + } + void (-0x1 * -0x253d + -0x23d + -0x80 * 0x46) !== _0x181a9d && (_0x2de5e4(0x4c5 + 0xcaf + -0x2e7 * 0x6, _0x181a9d), + _0x1dd6eb = _0x181a9d); + } + return [_0x1dd6eb, function () { + var _0x543396 = _0x3cc4d2; + for (var _0x2a7175 = -0xe71 * -0x1 + 0x24c0 + -0xa3d * 0x5; _0x2a7175 < _0x18f66c['length']; _0x2a7175++) + _0x18f66c[_0x2a7175][_0x543396(0x334)](_0x1dd6eb); + } + ]; + } + }(_0x33b4ae, _0x5ebc36); + } + }; + } + ; + } + + function _0x49af1f(_0x3a86ea, _0x270f72, _0x219a67) { + return (_0x49af1f = _0x4591cd())(_0x3a86ea, _0x270f72, _0x219a67); + } + + function _0x3e4ff5(_0x5b206b, _0xdfb3e7) { + return function (_0x19bdbd) { + var _0x1caf0f = w_0x25f3; + _0x15eb90(_0xdfb3e7, _0x1caf0f(0x225)), + _0x45d8b1(_0x19bdbd, _0x1caf0f(0x3ba)), + _0x5b206b[_0x1caf0f(0x36e)](_0x19bdbd); + } + ; + } + + function _0x19207d(_0x45ced6, _0xcee03f) { + var _0x41489e = w_0x25f3; + if (!_0x45ced6(_0xcee03f)) + throw new TypeError(_0x41489e(0x255)); + } + + function _0x151762(_0x535a19, _0x4e0a69, _0x270f96, _0x52f7e9, _0x23d388, _0x49094d, _0x49f620, _0x251987, _0x40c067) { + var _0x3b49d7 = w_0x25f3, _0x5d54d8; + switch (_0x23d388) { + case -0x14b9 + 0x1dd5 + -0x91b: + _0x5d54d8 = _0x3b49d7(0x1b9); + break; + case -0xe4a + 0x12be + -0x472: + _0x5d54d8 = _0x3b49d7(0x25a); + break; + case -0x10f1 * -0x2 + 0x179 * 0x19 + -0x46b0: + _0x5d54d8 = _0x3b49d7(0x181); + break; + case 0x3 * -0x5cf + 0x778 * 0x1 + 0x353 * 0x3: + _0x5d54d8 = _0x3b49d7(0x35d); + break; + default: + _0x5d54d8 = _0x3b49d7(0x23c); + } + var _0x246ff5, _0x4e02d1, _0x45ccfd = { + 'kind': _0x5d54d8, + 'name': _0x49f620 ? '#' + _0x4e0a69 : _0x4e0a69, + 'static': _0x49094d, + 'private': _0x49f620 + }, _0x4733a4 = { + 'v': !(-0xad5 + 0x1f * -0x59 + -0x1f7 * -0xb) + }; + if (0xcf6 + 0x1e15 + -0x3 * 0xe59 !== _0x23d388 && (_0x45ccfd[_0x3b49d7(0x225)] = _0x3e4ff5(_0x52f7e9, _0x4733a4)), + _0x49f620 || -0x112e + -0x23ab + 0x34d9 !== _0x23d388 && 0xa00 + -0x234a + 0x194c !== _0x23d388) { + if (-0x327 * -0x2 + -0xb00 + 0x4b4 === _0x23d388) + _0x246ff5 = function (_0x36bc44) { + var _0x2d48fd = _0x3b49d7; + return _0x19207d(_0x40c067, _0x36bc44), + _0x270f96[_0x2d48fd(0x2e4)]; + } + ; + else { + var _0x339c00 = -0x1746 + -0x1bb + 0xad * 0x25 === _0x23d388 || -0x859 + 0x4 * -0xe2 + -0x27 * -0x4e === _0x23d388; + (_0x339c00 || 0x5 * -0x3bf + -0x1d90 + 0x304e === _0x23d388) && (_0x246ff5 = _0x49f620 ? function (_0x26da64) { + var _0x21bb3a = _0x3b49d7; + return _0x19207d(_0x40c067, _0x26da64), + _0x270f96['get'][_0x21bb3a(0x334)](_0x26da64); + } + : function (_0x2ac873) { + var _0xa2fd4f = _0x3b49d7; + return _0x270f96[_0xa2fd4f(0x32b)][_0xa2fd4f(0x334)](_0x2ac873); + } + ), + (_0x339c00 || -0x14c4 * 0x1 + -0x231e + -0xb2e * -0x5 === _0x23d388) && (_0x4e02d1 = _0x49f620 ? function (_0x1e61ca, _0x1c77b0) { + var _0x5f2230 = _0x3b49d7; + _0x19207d(_0x40c067, _0x1e61ca), + _0x270f96[_0x5f2230(0x1e4)][_0x5f2230(0x334)](_0x1e61ca, _0x1c77b0); + } + : function (_0x4d5a08, _0x3ac6c6) { + var _0x1baec7 = _0x3b49d7; + _0x270f96[_0x1baec7(0x1e4)][_0x1baec7(0x334)](_0x4d5a08, _0x3ac6c6); + } + ); + } + } else + _0x246ff5 = function (_0x4ff2b5) { + return _0x4ff2b5[_0x4e0a69]; + } + , + -0x20ec + 0x12ee * 0x2 + -0x4f0 === _0x23d388 && (_0x4e02d1 = function (_0x2f8383, _0x4a22e5) { + _0x2f8383[_0x4e0a69] = _0x4a22e5; + } + ); + var _0x557c63 = _0x49f620 ? _0x40c067[_0x3b49d7(0x301)]() : function (_0x2f4445) { + return _0x4e0a69 in _0x2f4445; + } + ; + _0x45ccfd[_0x3b49d7(0x1d0)] = _0x246ff5 && _0x4e02d1 ? { + 'get': _0x246ff5, + 'set': _0x4e02d1, + 'has': _0x557c63 + } : _0x246ff5 ? { + 'get': _0x246ff5, + 'has': _0x557c63 + } : { + 'set': _0x4e02d1, + 'has': _0x557c63 + }; + try { + return _0x535a19(_0x251987, _0x45ccfd); + } finally { + _0x4733a4['v'] = !(0xea8 + -0xe9f * 0x1 + 0x1 * -0x9); + } + } + + function _0x15eb90(_0x202051, _0x1c2373) { + var _0x51521b = w_0x25f3; + if (_0x202051['v']) + throw new Error('attempted\x20to\x20call\x20' + _0x1c2373 + _0x51521b(0x168)); + } + + function _0x45d8b1(_0x2ad532, _0x423791) { + var _0x14562d = w_0x25f3; + if (_0x14562d(0x1ee) != typeof _0x2ad532) + throw new TypeError(_0x423791 + _0x14562d(0x2f8)); + } + + function _0xed525b(_0x522a86, _0x4177e1) { + var _0x442324 = w_0x25f3 + , _0x399204 = typeof _0x4177e1; + if (-0x361 + 0x3 * 0x2c4 + 0x4ea * -0x1 === _0x522a86) { + if (_0x442324(0x17d) !== _0x399204 || null === _0x4177e1) + throw new TypeError(_0x442324(0x1fd)); + void (-0x4a0 + 0x2e8 + 0x1b8) !== _0x4177e1[_0x442324(0x32b)] && _0x45d8b1(_0x4177e1[_0x442324(0x32b)], _0x442324(0x170)), + void (0xc4 * -0x1d + 0x651 + 0xfe3) !== _0x4177e1['set'] && _0x45d8b1(_0x4177e1[_0x442324(0x1e4)], _0x442324(0x231)), + void (-0x168c + 0x16b5 * 0x1 + 0x29 * -0x1) !== _0x4177e1['init'] && _0x45d8b1(_0x4177e1[_0x442324(0x3b9)], _0x442324(0x22f)); + } else { + if (_0x442324(0x1ee) !== _0x399204) + throw new TypeError((0x20d7 + 0x7 * -0x362 + 0x7 * -0x14f === _0x522a86 ? _0x442324(0x23c) : 0x1 * -0x1257 + -0x2d9 + -0x26 * -0x8f === _0x522a86 ? 'class' : 'method') + '\x20decorators\x20must\x20return\x20a\x20function\x20or\x20void\x200'); + } + } + + function _0x244c39(_0x17683) { + return function () { + return _0x17683(this); + } + ; + } + + function _0x48532c(_0x5503e0) { + return function (_0x23d6a1) { + _0x5503e0(this, _0x23d6a1); + } + ; + } + + function _0x23e6b(_0x5cf198, _0x5646db, _0x26f9f9, _0x37f54b, _0x47565f, _0x2aa948, _0xccabc1, _0x5c3a48, _0x9ffbdc) { + var _0x3e2adf = w_0x25f3, _0x592aeb, _0x365a6e, _0x4e8d10, _0x589008, _0x17d95a, _0x11c9ab, + _0x9a7bbd = _0x26f9f9[0xa46 + 0xb3c + -0x1582]; + if (_0xccabc1 ? _0x592aeb = 0x24 * 0x47 + 0xf85 + -0x1981 === _0x47565f || 0x14ca + -0x1099 + 0x218 * -0x2 === _0x47565f ? { + 'get': _0x244c39(_0x26f9f9[0x7 * -0x2f0 + 0x227b + -0xde8]), + 'set': _0x48532c(_0x26f9f9[-0xad * -0x19 + -0xc3c + 0x29 * -0x1d]) + } : 0x1b99 * -0x1 + 0x367 + -0x1 * -0x1835 === _0x47565f ? { + 'get': _0x26f9f9[0xb1 * 0x22 + 0x3 * 0xcef + -0x24 * 0x1bb] + } : 0x1 * -0x10f + -0x1 * -0x2023 + -0x1f10 === _0x47565f ? { + 'set': _0x26f9f9[0x36 * -0xa6 + -0x1cb2 + 0x3fb9] + } : { + 'value': _0x26f9f9[-0x7ba * 0x1 + 0x1850 + -0x1093] + } : -0x2 * 0x713 + 0x26fe + 0x27c * -0xa !== _0x47565f && (_0x592aeb = Object[_0x3e2adf(0x2a6)](_0x5646db, _0x37f54b)), + -0x1982 + 0x1947 + 0x14 * 0x3 === _0x47565f ? _0x4e8d10 = { + 'get': _0x592aeb[_0x3e2adf(0x32b)], + 'set': _0x592aeb[_0x3e2adf(0x1e4)] + } : 0xe9b + -0x2a3 + 0x5fb * -0x2 === _0x47565f ? _0x4e8d10 = _0x592aeb['value'] : -0x13 * -0x5b + 0x17cb + -0x1 * 0x1e89 === _0x47565f ? _0x4e8d10 = _0x592aeb[_0x3e2adf(0x32b)] : 0x7d7 * -0x1 + 0x5 * 0x81 + 0x556 === _0x47565f && (_0x4e8d10 = _0x592aeb['set']), + 'function' == typeof _0x9a7bbd) + void (0x1 * 0x1ee3 + 0xd + -0x1ef0) !== (_0x589008 = _0x151762(_0x9a7bbd, _0x37f54b, _0x592aeb, _0x5c3a48, _0x47565f, _0x2aa948, _0xccabc1, _0x4e8d10, _0x9ffbdc)) && (_0xed525b(_0x47565f, _0x589008), + 0xc91 * -0x1 + -0x893 * -0x1 + 0x3fe === _0x47565f ? _0x365a6e = _0x589008 : -0x1 * 0x21dd + -0x109 * -0x24 + -0x366 === _0x47565f ? (_0x365a6e = _0x589008[_0x3e2adf(0x3b9)], + _0x17d95a = _0x589008[_0x3e2adf(0x32b)] || _0x4e8d10[_0x3e2adf(0x32b)], + _0x11c9ab = _0x589008['set'] || _0x4e8d10[_0x3e2adf(0x1e4)], + _0x4e8d10 = { + 'get': _0x17d95a, + 'set': _0x11c9ab + }) : _0x4e8d10 = _0x589008); + else + for (var _0x4f1458 = _0x9a7bbd['length'] - (0x204c + 0x277 * 0x7 + -0xe * 0x38a); _0x4f1458 >= -0x23c2 + 0x91 + 0x2331; _0x4f1458--) { + var _0x189ac8; + void (-0x18f8 * -0x1 + -0x143a + -0x1 * 0x4be) !== (_0x589008 = _0x151762(_0x9a7bbd[_0x4f1458], _0x37f54b, _0x592aeb, _0x5c3a48, _0x47565f, _0x2aa948, _0xccabc1, _0x4e8d10, _0x9ffbdc)) && (_0xed525b(_0x47565f, _0x589008), + -0x22cb + -0x2043 * -0x1 + 0x288 === _0x47565f ? _0x189ac8 = _0x589008 : 0x1bd * -0x3 + 0x283 * 0x8 + 0x2 * -0x770 === _0x47565f ? (_0x189ac8 = _0x589008[_0x3e2adf(0x3b9)], + _0x17d95a = _0x589008[_0x3e2adf(0x32b)] || _0x4e8d10[_0x3e2adf(0x32b)], + _0x11c9ab = _0x589008[_0x3e2adf(0x1e4)] || _0x4e8d10['set'], + _0x4e8d10 = { + 'get': _0x17d95a, + 'set': _0x11c9ab + }) : _0x4e8d10 = _0x589008, + void (-0xaeb + 0x1 * 0x1bb3 + 0x4 * -0x432) !== _0x189ac8 && (void (-0x2359 + -0x3 * -0x323 + 0x19f0) === _0x365a6e ? _0x365a6e = _0x189ac8 : _0x3e2adf(0x1ee) == typeof _0x365a6e ? _0x365a6e = [_0x365a6e, _0x189ac8] : _0x365a6e[_0x3e2adf(0x36e)](_0x189ac8))); + } + if (0x21ee + -0x129b + 0xf53 * -0x1 === _0x47565f || -0x44d * -0x7 + -0xa27 + -0x13f3 * 0x1 === _0x47565f) { + if (void (0x10 * -0x218 + -0x707 * 0x1 + 0x2887) === _0x365a6e) + _0x365a6e = function (_0x56b70b, _0x5e4d55) { + return _0x5e4d55; + } + ; + else { + if (_0x3e2adf(0x1ee) != typeof _0x365a6e) { + var _0x3101a1 = _0x365a6e; + _0x365a6e = function (_0x449bbf, _0x5196d8) { + var _0x360050 = _0x3e2adf; + for (var _0x143a4f = _0x5196d8, _0x36e4b1 = -0x1ef8 + -0x3 * -0xd01 + -0x80b * 0x1; _0x36e4b1 < _0x3101a1[_0x360050(0x259)]; _0x36e4b1++) + _0x143a4f = _0x3101a1[_0x36e4b1][_0x360050(0x334)](_0x449bbf, _0x143a4f); + return _0x143a4f; + } + ; + } else { + var _0x1e2902 = _0x365a6e; + _0x365a6e = function (_0xe6998d, _0xec7c91) { + var _0x5bb1b6 = _0x3e2adf; + return _0x1e2902[_0x5bb1b6(0x334)](_0xe6998d, _0xec7c91); + } + ; + } + } + _0x5cf198['push'](_0x365a6e); + } + 0x82e + 0x14c5 + -0x1cf3 !== _0x47565f && (-0x1 * -0x1d72 + 0x15b0 + 0x3 * -0x110b === _0x47565f ? (_0x592aeb[_0x3e2adf(0x32b)] = _0x4e8d10[_0x3e2adf(0x32b)], + _0x592aeb['set'] = _0x4e8d10['set']) : 0x1de7 + -0x16 * -0x10a + -0x34c1 === _0x47565f ? _0x592aeb[_0x3e2adf(0x2e4)] = _0x4e8d10 : -0x2508 + -0x2665 + 0x4b70 === _0x47565f ? _0x592aeb[_0x3e2adf(0x32b)] = _0x4e8d10 : 0x11 * -0x9f + -0x6a5 + 0x1138 === _0x47565f && (_0x592aeb[_0x3e2adf(0x1e4)] = _0x4e8d10), + _0xccabc1 ? 0x8f6 * 0x1 + -0xae9 + 0xa * 0x32 === _0x47565f ? (_0x5cf198['push'](function (_0x31015b, _0x979f27) { + var _0x1938a1 = _0x3e2adf; + return _0x4e8d10['get'][_0x1938a1(0x334)](_0x31015b, _0x979f27); + }), + _0x5cf198[_0x3e2adf(0x36e)](function (_0x506584, _0x44c428) { + var _0x29e7e5 = _0x3e2adf; + return _0x4e8d10['set'][_0x29e7e5(0x334)](_0x506584, _0x44c428); + })) : 0x27 * -0xd0 + 0x4 * -0x12d + 0x2466 === _0x47565f ? _0x5cf198[_0x3e2adf(0x36e)](_0x4e8d10) : _0x5cf198[_0x3e2adf(0x36e)](function (_0x3345b4, _0x845662) { + var _0x1b7734 = _0x3e2adf; + return _0x4e8d10[_0x1b7734(0x334)](_0x3345b4, _0x845662); + }) : Object['defineProperty'](_0x5646db, _0x37f54b, _0x592aeb)); + } + + function _0x754898(_0x2bd2c5, _0x2c3dcd, _0x119780) { + var _0x42b3ee = w_0x25f3; + for (var _0x328f7d, _0x12addf, _0x29a079, _0x3330d8 = [], _0x484293 = new Map(), _0x4a2ea8 = new Map(), _0x478e5d = 0x1 * -0x3e1 + -0x22b8 + 0x2699; _0x478e5d < _0x2c3dcd[_0x42b3ee(0x259)]; _0x478e5d++) { + var _0x5c7927 = _0x2c3dcd[_0x478e5d]; + if (Array[_0x42b3ee(0x2af)](_0x5c7927)) { + var _0x25ea34, _0x5b9b12, _0x35b641 = _0x5c7927[-0x33b * 0x1 + 0xebe + 0x3 * -0x3d6], + _0x49a803 = _0x5c7927[-0x78a + -0x29 * 0x60 + 0xc * 0x1e9], + _0x410da0 = _0x5c7927[_0x42b3ee(0x259)] > 0x1291 + -0x1e03 + 0xb75, + _0x3c9168 = _0x35b641 >= -0x13e1 * 0x1 + 0x793 + -0x5 * -0x277, _0x41ada5 = _0x119780; + if (_0x3c9168 ? (_0x25ea34 = _0x2bd2c5, + -0x7e3 + -0x1087 * 0x2 + 0x28f1 != (_0x35b641 -= 0x867 + 0xa1b + 0x127d * -0x1) && (_0x5b9b12 = _0x12addf = _0x12addf || []), + _0x410da0 && !_0x29a079 && (_0x29a079 = function (_0x106ee5) { + return _0x37e1e2(_0x106ee5) === _0x2bd2c5; + } + ), + _0x41ada5 = _0x29a079) : (_0x25ea34 = _0x2bd2c5['prototype'], + 0x13a3 * 0x1 + -0x2589 + 0x11e6 * 0x1 !== _0x35b641 && (_0x5b9b12 = _0x328f7d = _0x328f7d || [])), + 0xfad + 0x3 * -0xceb + 0x1714 !== _0x35b641 && !_0x410da0) { + var _0x4430b1 = _0x3c9168 ? _0x4a2ea8 : _0x484293 + , _0x3a9a47 = _0x4430b1[_0x42b3ee(0x32b)](_0x49a803) || 0x139e + -0xa * 0x13d + -0x73c; + if (!(-0x1 * 0x5df + 0x94b + -0x36c) === _0x3a9a47 || 0x3 * 0x38 + -0x25b * 0x7 + -0x8 * -0x1fb === _0x3a9a47 && 0x54 + 0x152e + -0x2a * 0x83 !== _0x35b641 || 0x2 * -0x1cb + 0x1e71 + -0x1ad7 * 0x1 === _0x3a9a47 && 0x6e9 + 0xa71 + 0xc1 * -0x17 !== _0x35b641) + throw new Error('Attempted\x20to\x20decorate\x20a\x20public\x20method/accessor\x20that\x20has\x20the\x20same\x20name\x20as\x20a\x20previously\x20decorated\x20public\x20method/accessor.\x20This\x20is\x20not\x20currently\x20supported\x20by\x20the\x20decorators\x20plugin.\x20Property\x20name\x20was:\x20' + _0x49a803); + !_0x3a9a47 && _0x35b641 > -0x73 * -0x45 + 0x798 + -0x2695 ? _0x4430b1['set'](_0x49a803, _0x35b641) : _0x4430b1['set'](_0x49a803, !(0x1 * 0xb7c + -0x15ce * 0x1 + 0xa52)); + } + _0x23e6b(_0x3330d8, _0x25ea34, _0x5c7927, _0x49a803, _0x35b641, _0x3c9168, _0x410da0, _0x5b9b12, _0x41ada5); + } + } + return _0xdfc9aa(_0x3330d8, _0x328f7d), + _0xdfc9aa(_0x3330d8, _0x12addf), + _0x3330d8; + } + + function _0xdfc9aa(_0x18680e, _0x994303) { + var _0x3df611 = w_0x25f3; + _0x994303 && _0x18680e[_0x3df611(0x36e)](function (_0x3720d6) { + var _0xc905ee = _0x3df611; + for (var _0x400047 = 0x17dc + -0x3df * 0x6 + -0xa2; _0x400047 < _0x994303['length']; _0x400047++) + _0x994303[_0x400047][_0xc905ee(0x334)](_0x3720d6); + return _0x3720d6; + }); + } + + function _0x2258b9(_0x31d7ec, _0x22dcdb) { + var _0x41474b = w_0x25f3; + if (_0x22dcdb[_0x41474b(0x259)] > 0x26a0 + -0x145f + -0x1241) { + for (var _0x3c54e9 = [], _0x8cb428 = _0x31d7ec, _0x2344cd = _0x31d7ec['name'], _0x16f8af = _0x22dcdb[_0x41474b(0x259)] - (0x1321 + 0x1388 + 0x1354 * -0x2); _0x16f8af >= 0x1a79 + 0x6f * 0x2a + -0x2caf; _0x16f8af--) { + var _0x36735e = { + 'v': !(0x4 * -0x601 + 0x116d * 0x1 + -0x698 * -0x1) + }; + try { + var _0x147e7c = _0x22dcdb[_0x16f8af](_0x8cb428, { + 'kind': _0x41474b(0x19c), + 'name': _0x2344cd, + 'addInitializer': _0x3e4ff5(_0x3c54e9, _0x36735e) + }); + } finally { + _0x36735e['v'] = !(0x1e88 + -0x1973 + -0x515 * 0x1); + } + void (-0xedb + -0x5 * 0x2bf + 0x1c96) !== _0x147e7c && (_0xed525b(0x10b8 + -0xb * 0x2e1 + -0x3 * -0x4ff, _0x147e7c), + _0x8cb428 = _0x147e7c); + } + return [_0x8cb428, function () { + var _0x28afa7 = _0x41474b; + for (var _0x4967c5 = -0x1 * 0x23b5 + -0x2 * -0x4c7 + 0x203 * 0xd; _0x4967c5 < _0x3c54e9[_0x28afa7(0x259)]; _0x4967c5++) + _0x3c54e9[_0x4967c5][_0x28afa7(0x334)](_0x8cb428); + } + ]; + } + } + + function _0x499d65(_0x2be690, _0x428d43, _0x381e26, _0x409a13) { + return { + 'e': _0x754898(_0x2be690, _0x428d43, _0x409a13), + get 'c'() { + return _0x2258b9(_0x2be690, _0x381e26); + } + }; + } + + function _0x63f01f(_0x5fd149) { + var _0x2e1243 = w_0x25f3 + , _0x111c4c = {} + , _0x2aa094 = !(-0x3d * -0x53 + -0x2086 * -0x1 + -0x344c); + + function _0x3ad3fe(_0x4a2256, _0x3bcff1) { + return _0x2aa094 = !(0x160 * 0x3 + -0x4b5 * 0x1 + 0x1 * 0x95), + { + 'done': !(0x1cd3 + 0x1 * -0xa11 + -0x12c1 * 0x1), + 'value': new _0x59d886(_0x3bcff1 = new Promise(function (_0x353966) { + _0x353966(_0x5fd149[_0x4a2256](_0x3bcff1)); + } + ), 0x2b * 0x44 + -0x8b3 * 0x2 + 0x1 * 0x5fb) + }; + } + + return _0x111c4c[_0x2e1243(0x384) != typeof Symbol && Symbol['iterator'] || _0x2e1243(0x1dd)] = function () { + return this; + } + , + _0x111c4c[_0x2e1243(0x389)] = function (_0x45912d) { + return _0x2aa094 ? (_0x2aa094 = !(0x1569 + 0x7 * 0x314 + -0x2af4), + _0x45912d) : _0x3ad3fe('next', _0x45912d); + } + , + _0x2e1243(0x1ee) == typeof _0x5fd149[_0x2e1243(0x250)] && (_0x111c4c[_0x2e1243(0x250)] = function (_0xd71e81) { + var _0x37886e = _0x2e1243; + if (_0x2aa094) + throw _0x2aa094 = !(-0x648 + -0x1eca + -0x2513 * -0x1), + _0xd71e81; + return _0x3ad3fe(_0x37886e(0x250), _0xd71e81); + } + ), + _0x2e1243(0x1ee) == typeof _0x5fd149[_0x2e1243(0x2fd)] && (_0x111c4c[_0x2e1243(0x2fd)] = function (_0xd4b711) { + return _0x2aa094 ? (_0x2aa094 = !(-0x8e1 * -0x4 + -0x2194 + 0x3 * -0xa5), + _0xd4b711) : _0x3ad3fe('return', _0xd4b711); + } + ), + _0x111c4c; + } + + function _0x278b9f(_0x12b945) { + var _0x55cd1f = w_0x25f3, _0x449dfe, _0x31b182, _0x218f32, _0x2ecb8a = -0x1d9 * -0x5 + -0x5d4 + -0x367; + for ('undefined' != typeof Symbol && (_0x31b182 = Symbol[_0x55cd1f(0x17c)], + _0x218f32 = Symbol[_0x55cd1f(0x3b3)]); _0x2ecb8a--;) { + if (_0x31b182 && null != (_0x449dfe = _0x12b945[_0x31b182])) + return _0x449dfe[_0x55cd1f(0x334)](_0x12b945); + if (_0x218f32 && null != (_0x449dfe = _0x12b945[_0x218f32])) + return new _0x3d6fc9(_0x449dfe[_0x55cd1f(0x334)](_0x12b945)); + _0x31b182 = _0x55cd1f(0x230), + _0x218f32 = _0x55cd1f(0x1dd); + } + throw new TypeError(_0x55cd1f(0x2a9)); + } + + function _0x3d6fc9(_0x4d37b6) { + var _0x36b1b0 = w_0x25f3; + + function _0x6c368b(_0x231d6c) { + var _0x3a3e78 = w_0x25f3; + if (Object(_0x231d6c) !== _0x231d6c) + return Promise['reject'](new TypeError(_0x231d6c + _0x3a3e78(0x3a6))); + var _0x4cdd04 = _0x231d6c[_0x3a3e78(0x1e3)]; + return Promise['resolve'](_0x231d6c[_0x3a3e78(0x2e4)])['then'](function (_0x468cc1) { + return { + 'value': _0x468cc1, + 'done': _0x4cdd04 + }; + }); + } + + return (_0x3d6fc9 = function (_0x5a83bf) { + var _0x2ffee8 = w_0x25f3; + this['s'] = _0x5a83bf, + this['n'] = _0x5a83bf[_0x2ffee8(0x389)]; + } + )[_0x36b1b0(0x344)] = { + 's': null, + 'n': null, + 'next': function () { + var _0x1eac7c = _0x36b1b0; + return _0x6c368b(this['n'][_0x1eac7c(0x207)](this['s'], arguments)); + }, + 'return': function (_0x379438) { + var _0x45dc23 = _0x36b1b0 + , _0x35ef86 = this['s'][_0x45dc23(0x2fd)]; + return void (0x23cd + 0x6f3 * 0x1 + -0x48 * 0x98) === _0x35ef86 ? Promise[_0x45dc23(0x278)]({ + 'value': _0x379438, + 'done': !(-0x220 + -0x16b0 + 0x8 * 0x31a) + }) : _0x6c368b(_0x35ef86[_0x45dc23(0x207)](this['s'], arguments)); + }, + 'throw': function (_0x2ca86a) { + var _0x5812c4 = _0x36b1b0 + , _0x449ee5 = this['s'][_0x5812c4(0x2fd)]; + return void (0xe3b + 0x1 * -0x128e + 0x453) === _0x449ee5 ? Promise[_0x5812c4(0x39b)](_0x2ca86a) : _0x6c368b(_0x449ee5['apply'](this['s'], arguments)); + } + }, + new _0x3d6fc9(_0x4d37b6); + } + + function _0x81c36b(_0x305287) { + return new _0x59d886(_0x305287, -0x5e + 0xf84 + -0xf26 * 0x1); + } + + function _0x37e1e2(_0x3127ce) { + var _0x43b88e = w_0x25f3; + if (Object(_0x3127ce) !== _0x3127ce) + throw TypeError('right-hand\x20side\x20of\x20\x27in\x27\x20should\x20be\x20an\x20object,\x20got\x20' + (null !== _0x3127ce ? typeof _0x3127ce : _0x43b88e(0x308))); + return _0x3127ce; + } + + function _0x564673(_0x18bd7c, _0x51fb0f, _0x2103c5, _0x5f4619) { + var _0x41c64 = w_0x25f3 + , _0xab8c16 = { + 'configurable': !(-0x15c4 + 0x25f7 * -0x1 + 0x3bbb), + 'enumerable': !(0x2581 + -0x121c + -0x1365) + }; + return _0xab8c16[_0x18bd7c] = _0x5f4619, + Object[_0x41c64(0x175)](_0x51fb0f, _0x2103c5, _0xab8c16); + } + + function _0x19d66a(_0x14c297, _0x128d38) { + var _0x48eab4 = w_0x25f3 + , + _0x25f943 = null == _0x14c297 ? null : _0x48eab4(0x384) != typeof Symbol && _0x14c297[Symbol[_0x48eab4(0x3b3)]] || _0x14c297[_0x48eab4(0x1dd)]; + if (null != _0x25f943) { + var _0x285958, _0x5bcc9e, _0x2d4c39, _0x193c70, _0x146015 = [], + _0x16efb7 = !(-0x7e * 0x36 + 0xcff * 0x1 + 0xd95), + _0x5c9556 = !(-0x1d71 * -0x1 + 0x434 * -0x9 + 0x864); + try { + if (_0x2d4c39 = (_0x25f943 = _0x25f943[_0x48eab4(0x334)](_0x14c297))['next'], + -0xe3 * -0xb + -0x1f3 * 0xe + -0x43 * -0x43 === _0x128d38) { + if (Object(_0x25f943) !== _0x25f943) + return; + _0x16efb7 = !(0x17cb + 0x18a9 + -0x4f * 0x9d); + } else { + for (; !(_0x16efb7 = (_0x285958 = _0x2d4c39['call'](_0x25f943))[_0x48eab4(0x1e3)]) && (_0x146015[_0x48eab4(0x36e)](_0x285958[_0x48eab4(0x2e4)]), + _0x146015[_0x48eab4(0x259)] !== _0x128d38); _0x16efb7 = !(0x1 * -0x22d3 + 0x1f2e + 0x3 * 0x137)) + ; + } + } catch (_0x22e14d) { + _0x5c9556 = !(-0x3 * -0x69e + -0xd79 + -0x47 * 0x17), + _0x5bcc9e = _0x22e14d; + } finally { + try { + if (!_0x16efb7 && null != _0x25f943[_0x48eab4(0x2fd)] && (_0x193c70 = _0x25f943['return'](), + Object(_0x193c70) !== _0x193c70)) + return; + } finally { + if (_0x5c9556) + throw _0x5bcc9e; + } + } + return _0x146015; + } + } + + function _0x376fd5(_0x233550, _0x1b337f) { + var _0x545ac4 = w_0x25f3 + , + _0x524438 = _0x233550 && (_0x545ac4(0x384) != typeof Symbol && _0x233550[Symbol[_0x545ac4(0x3b3)]] || _0x233550['@@iterator']); + if (null != _0x524438) { + var _0x259ce6, _0x4523ee = []; + for (_0x524438 = _0x524438['call'](_0x233550); _0x233550[_0x545ac4(0x259)] < _0x1b337f && !(_0x259ce6 = _0x524438['next']())[_0x545ac4(0x1e3)];) + _0x4523ee[_0x545ac4(0x36e)](_0x259ce6['value']); + return _0x4523ee; + } + } + + function _0x2e4b86(_0x760974, _0x438efa, _0x37a20b, _0x52b279) { + var _0x2644f8 = w_0x25f3; + _0x500e9f || (_0x500e9f = _0x2644f8(0x1ee) == typeof Symbol && Symbol[_0x2644f8(0x31e)] && Symbol[_0x2644f8(0x31e)](_0x2644f8(0x279)) || 0x1353f + -0x1157 + -0x3921); + var _0x513b54 = _0x760974 && _0x760974[_0x2644f8(0x371)] + , _0x5469e9 = arguments[_0x2644f8(0x259)] - (-0xcb * -0xb + -0xa * 0x137 + -0x28 * -0x16); + if (_0x438efa || 0x109 * -0x1c + 0xdc1 + 0xf3b === _0x5469e9 || (_0x438efa = { + 'children': void (-0x2 * -0x1037 + 0x32f + -0x239d) + }), + -0xf69 + 0xedb + -0x8f * -0x1 === _0x5469e9) + _0x438efa[_0x2644f8(0x16f)] = _0x52b279; + else { + if (_0x5469e9 > -0x18e2 + -0x25af + 0x3e92) { + for (var _0x5c6f82 = new Array(_0x5469e9), _0x63cb90 = -0x1 * -0xebd + -0x1a37 + 0x2 * 0x5bd; _0x63cb90 < _0x5469e9; _0x63cb90++) + _0x5c6f82[_0x63cb90] = arguments[_0x63cb90 + (0x15f5 + -0x245f + -0x4cf * -0x3)]; + _0x438efa[_0x2644f8(0x16f)] = _0x5c6f82; + } + } + if (_0x438efa && _0x513b54) { + for (var _0xbcee2c in _0x513b54) + void (-0x1091 * -0x1 + -0x3 * 0x34d + -0x6aa) === _0x438efa[_0xbcee2c] && (_0x438efa[_0xbcee2c] = _0x513b54[_0xbcee2c]); + } else + _0x438efa || (_0x438efa = _0x513b54 || {}); + return { + '$$typeof': _0x500e9f, + 'type': _0x760974, + 'key': void (-0x7 * 0x1cd + -0x1 * -0xb38 + 0x163) === _0x37a20b ? null : '' + _0x37a20b, + 'ref': null, + 'props': _0x438efa, + '_owner': null + }; + } + + function _0x3a3eb5(_0x4619be, _0x3fc822) { + var _0x44978d = w_0x25f3 + , _0x504f59 = Object[_0x44978d(0x17f)](_0x4619be); + if (Object[_0x44978d(0x388)]) { + var _0x4ea700 = Object['getOwnPropertySymbols'](_0x4619be); + _0x3fc822 && (_0x4ea700 = _0x4ea700[_0x44978d(0x164)](function (_0x2a0c03) { + var _0x162328 = _0x44978d; + return Object[_0x162328(0x2a6)](_0x4619be, _0x2a0c03)[_0x162328(0x23a)]; + })), + _0x504f59['push'][_0x44978d(0x207)](_0x504f59, _0x4ea700); + } + return _0x504f59; + } + + function _0x4ee2dd(_0xf371f0) { + var _0x145ce6 = w_0x25f3; + for (var _0x5e36a1 = -0x5 * 0x1ad + 0x11e6 * -0x1 + 0x1a48; _0x5e36a1 < arguments[_0x145ce6(0x259)]; _0x5e36a1++) { + var _0xdb889d = null != arguments[_0x5e36a1] ? arguments[_0x5e36a1] : {}; + _0x5e36a1 % (0x1174 + 0xeb3 + -0x2025) ? _0x3a3eb5(Object(_0xdb889d), !(-0x263c * 0x1 + 0x1 * -0xf7f + 0x7ad * 0x7))[_0x145ce6(0x254)](function (_0x328928) { + _0x4a7824(_0xf371f0, _0x328928, _0xdb889d[_0x328928]); + }) : Object[_0x145ce6(0x1ec)] ? Object[_0x145ce6(0x36c)](_0xf371f0, Object[_0x145ce6(0x1ec)](_0xdb889d)) : _0x3a3eb5(Object(_0xdb889d))[_0x145ce6(0x254)](function (_0x593f5f) { + var _0x53f055 = _0x145ce6; + Object[_0x53f055(0x175)](_0xf371f0, _0x593f5f, Object[_0x53f055(0x2a6)](_0xdb889d, _0x593f5f)); + }); + } + return _0xf371f0; + } + + function _0x385d19() { + var _0x44a0fc = w_0x25f3; + _0x385d19 = function () { + return _0x507b23; + } + ; + var _0x507b23 = {} + , _0x39fa01 = Object[_0x44a0fc(0x344)] + , _0x43238c = _0x39fa01[_0x44a0fc(0x3b8)] + , _0x4cf7d8 = Object['defineProperty'] || function (_0x2541c5, _0x22c938, _0x405bab) { + var _0x32f2ae = _0x44a0fc; + _0x2541c5[_0x22c938] = _0x405bab[_0x32f2ae(0x2e4)]; + } + , _0x1c97cc = _0x44a0fc(0x1ee) == typeof Symbol ? Symbol : {} + , _0x5acd1a = _0x1c97cc[_0x44a0fc(0x3b3)] || _0x44a0fc(0x1dd) + , _0x52f292 = _0x1c97cc['asyncIterator'] || _0x44a0fc(0x230) + , _0x447ab4 = _0x1c97cc[_0x44a0fc(0x1c0)] || _0x44a0fc(0x1e0); + + function _0x3baf2c(_0x30f952, _0x3ef614, _0x2d2b61) { + var _0x598819 = _0x44a0fc; + return Object[_0x598819(0x175)](_0x30f952, _0x3ef614, { + 'value': _0x2d2b61, + 'enumerable': !(0x1b1a * -0x1 + 0x1 * 0x2696 + -0x31 * 0x3c), + 'configurable': !(-0x1a13 + 0x5 * -0x6d + 0xa * 0x2d2), + 'writable': !(-0x1cd + 0x214e + 0x1f81 * -0x1) + }), + _0x30f952[_0x3ef614]; + } + + try { + _0x3baf2c({}, ''); + } catch (_0x275159) { + _0x3baf2c = function (_0x37fa7b, _0x2671f0, _0x45b82e) { + return _0x37fa7b[_0x2671f0] = _0x45b82e; + } + ; + } + + function _0x3e46c6(_0x50c0cc, _0x5f3c83, _0x148917, _0x2e5141) { + var _0x1a25db = _0x44a0fc + , _0x1b0fa0 = _0x5f3c83 && _0x5f3c83['prototype'] instanceof _0x50f36d ? _0x5f3c83 : _0x50f36d + , _0x4f06ab = Object[_0x1a25db(0x3b7)](_0x1b0fa0[_0x1a25db(0x344)]) + , _0x3e4999 = new _0x1b5db9(_0x2e5141 || []); + return _0x4cf7d8(_0x4f06ab, _0x1a25db(0x1b1), { + 'value': _0x121728(_0x50c0cc, _0x148917, _0x3e4999) + }), + _0x4f06ab; + } + + function _0x575dfd(_0x48fd20, _0x6545ef, _0x242936) { + var _0x580d50 = _0x44a0fc; + try { + return { + 'type': _0x580d50(0x2f1), + 'arg': _0x48fd20[_0x580d50(0x334)](_0x6545ef, _0x242936) + }; + } catch (_0x5aebac) { + return { + 'type': 'throw', + 'arg': _0x5aebac + }; + } + } + + _0x507b23['wrap'] = _0x3e46c6; + var _0x511b05 = {}; + + function _0x50f36d() { + } + + function _0x2e67e9() { + } + + function _0x3a5ac7() { + } + + var _0x4c3008 = {}; + _0x3baf2c(_0x4c3008, _0x5acd1a, function () { + return this; + }); + var _0x118945 = Object[_0x44a0fc(0x22c)] + , _0x5d1d04 = _0x118945 && _0x118945(_0x118945(_0x2edbf4([]))); + _0x5d1d04 && _0x5d1d04 !== _0x39fa01 && _0x43238c[_0x44a0fc(0x334)](_0x5d1d04, _0x5acd1a) && (_0x4c3008 = _0x5d1d04); + var _0x42763b = _0x3a5ac7[_0x44a0fc(0x344)] = _0x50f36d['prototype'] = Object[_0x44a0fc(0x3b7)](_0x4c3008); + + function _0x4e156b(_0x314ec0) { + var _0x1229ff = _0x44a0fc; + [_0x1229ff(0x389), _0x1229ff(0x250), _0x1229ff(0x2fd)][_0x1229ff(0x254)](function (_0x1cac9a) { + _0x3baf2c(_0x314ec0, _0x1cac9a, function (_0x509669) { + var _0x3b5587 = w_0x25f3; + return this[_0x3b5587(0x1b1)](_0x1cac9a, _0x509669); + }); + }); + } + + function _0x23eb73(_0x5cb4f0, _0xfdda3) { + var _0x2f70bc; + _0x4cf7d8(this, '_invoke', { + 'value': function (_0x47f883, _0x34dd78) { + var _0x5c5cca = w_0x25f3; + + function _0x65e836() { + return new _0xfdda3(function (_0x494e99, _0x39f97a) { + !function _0x19e170(_0xd94afd, _0x7f5a3, _0x1fc978, _0x392c17) { + var _0x5108db = w_0x25f3 + , _0x123c2b = _0x575dfd(_0x5cb4f0[_0xd94afd], _0x5cb4f0, _0x7f5a3); + if (_0x5108db(0x250) !== _0x123c2b[_0x5108db(0x1ab)]) { + var _0x57ff30 = _0x123c2b[_0x5108db(0x327)] + , _0x519f3c = _0x57ff30[_0x5108db(0x2e4)]; + return _0x519f3c && 'object' == typeof _0x519f3c && _0x43238c[_0x5108db(0x334)](_0x519f3c, _0x5108db(0x2b1)) ? _0xfdda3[_0x5108db(0x278)](_0x519f3c[_0x5108db(0x2b1)])[_0x5108db(0x1ed)](function (_0x513ad4) { + var _0x372e8b = _0x5108db; + _0x19e170(_0x372e8b(0x389), _0x513ad4, _0x1fc978, _0x392c17); + }, function (_0x3ee973) { + _0x19e170('throw', _0x3ee973, _0x1fc978, _0x392c17); + }) : _0xfdda3[_0x5108db(0x278)](_0x519f3c)[_0x5108db(0x1ed)](function (_0xb8049c) { + var _0x3f5791 = _0x5108db; + _0x57ff30[_0x3f5791(0x2e4)] = _0xb8049c, + _0x1fc978(_0x57ff30); + }, function (_0x163a1d) { + var _0x43e785 = _0x5108db; + return _0x19e170(_0x43e785(0x250), _0x163a1d, _0x1fc978, _0x392c17); + }); + } + _0x392c17(_0x123c2b[_0x5108db(0x327)]); + }(_0x47f883, _0x34dd78, _0x494e99, _0x39f97a); + } + ); + } + + return _0x2f70bc = _0x2f70bc ? _0x2f70bc[_0x5c5cca(0x1ed)](_0x65e836, _0x65e836) : _0x65e836(); + } + }); + } + + function _0x121728(_0x39e85b, _0x26363f, _0x3838fc) { + var _0x4a9454 = 'suspendedStart'; + return function (_0x33b907, _0x5c348b) { + var _0x14af93 = w_0x25f3; + if (_0x14af93(0x2ef) === _0x4a9454) + throw new Error(_0x14af93(0x35a)); + if ('completed' === _0x4a9454) { + if ('throw' === _0x33b907) + throw _0x5c348b; + return _0x159200(); + } + for (_0x3838fc[_0x14af93(0x25a)] = _0x33b907, + _0x3838fc[_0x14af93(0x327)] = _0x5c348b; ;) { + var _0x43652a = _0x3838fc[_0x14af93(0x1bc)]; + if (_0x43652a) { + var _0xc12f6f = _0x5489f3(_0x43652a, _0x3838fc); + if (_0xc12f6f) { + if (_0xc12f6f === _0x511b05) + continue; + return _0xc12f6f; + } + } + if (_0x14af93(0x389) === _0x3838fc[_0x14af93(0x25a)]) + _0x3838fc[_0x14af93(0x3b2)] = _0x3838fc[_0x14af93(0x2a2)] = _0x3838fc[_0x14af93(0x327)]; + else { + if ('throw' === _0x3838fc[_0x14af93(0x25a)]) { + if ('suspendedStart' === _0x4a9454) + throw _0x4a9454 = _0x14af93(0x16a), + _0x3838fc['arg']; + _0x3838fc[_0x14af93(0x2cb)](_0x3838fc[_0x14af93(0x327)]); + } else + _0x14af93(0x2fd) === _0x3838fc[_0x14af93(0x25a)] && _0x3838fc['abrupt'](_0x14af93(0x2fd), _0x3838fc['arg']); + } + _0x4a9454 = _0x14af93(0x2ef); + var _0x1a99b5 = _0x575dfd(_0x39e85b, _0x26363f, _0x3838fc); + if ('normal' === _0x1a99b5['type']) { + if (_0x4a9454 = _0x3838fc[_0x14af93(0x1e3)] ? _0x14af93(0x16a) : 'suspendedYield', + _0x1a99b5[_0x14af93(0x327)] === _0x511b05) + continue; + return { + 'value': _0x1a99b5[_0x14af93(0x327)], + 'done': _0x3838fc[_0x14af93(0x1e3)] + }; + } + _0x14af93(0x250) === _0x1a99b5[_0x14af93(0x1ab)] && (_0x4a9454 = _0x14af93(0x16a), + _0x3838fc[_0x14af93(0x25a)] = _0x14af93(0x250), + _0x3838fc[_0x14af93(0x327)] = _0x1a99b5[_0x14af93(0x327)]); + } + } + ; + } + + function _0x5489f3(_0x3c1e2d, _0x59877f) { + var _0x299ed9 = _0x44a0fc + , _0x1a45fc = _0x59877f['method'] + , _0x116edb = _0x3c1e2d[_0x299ed9(0x3b3)][_0x1a45fc]; + if (void (-0x15fe + 0xe93 + 0x76b) === _0x116edb) + return _0x59877f[_0x299ed9(0x1bc)] = null, + _0x299ed9(0x250) === _0x1a45fc && _0x3c1e2d[_0x299ed9(0x3b3)][_0x299ed9(0x2fd)] && (_0x59877f['method'] = 'return', + _0x59877f[_0x299ed9(0x327)] = void (-0x78 * -0x25 + -0x2272 + 0x111a * 0x1), + _0x5489f3(_0x3c1e2d, _0x59877f), + _0x299ed9(0x250) === _0x59877f[_0x299ed9(0x25a)]) || 'return' !== _0x1a45fc && (_0x59877f[_0x299ed9(0x25a)] = _0x299ed9(0x250), + _0x59877f[_0x299ed9(0x327)] = new TypeError('The\x20iterator\x20does\x20not\x20provide\x20a\x20\x27' + _0x1a45fc + _0x299ed9(0x32f))), + _0x511b05; + var _0x5be46a = _0x575dfd(_0x116edb, _0x3c1e2d[_0x299ed9(0x3b3)], _0x59877f[_0x299ed9(0x327)]); + if (_0x299ed9(0x250) === _0x5be46a[_0x299ed9(0x1ab)]) + return _0x59877f[_0x299ed9(0x25a)] = _0x299ed9(0x250), + _0x59877f['arg'] = _0x5be46a[_0x299ed9(0x327)], + _0x59877f[_0x299ed9(0x1bc)] = null, + _0x511b05; + var _0x44f533 = _0x5be46a[_0x299ed9(0x327)]; + return _0x44f533 ? _0x44f533['done'] ? (_0x59877f[_0x3c1e2d[_0x299ed9(0x16e)]] = _0x44f533[_0x299ed9(0x2e4)], + _0x59877f['next'] = _0x3c1e2d[_0x299ed9(0x281)], + _0x299ed9(0x2fd) !== _0x59877f[_0x299ed9(0x25a)] && (_0x59877f[_0x299ed9(0x25a)] = _0x299ed9(0x389), + _0x59877f['arg'] = void (0x1a2 * -0x17 + -0x1910 + 0x5 * 0xc86)), + _0x59877f[_0x299ed9(0x1bc)] = null, + _0x511b05) : _0x44f533 : (_0x59877f[_0x299ed9(0x25a)] = _0x299ed9(0x250), + _0x59877f['arg'] = new TypeError(_0x299ed9(0x251)), + _0x59877f[_0x299ed9(0x1bc)] = null, + _0x511b05); + } + + function _0x14015c(_0x5bad37) { + var _0x42a847 = _0x44a0fc + , _0x401cb9 = { + 'tryLoc': _0x5bad37[-0x953 * 0x3 + 0xd3c + 0xebd] + }; + -0x85b + 0x1181 + -0x925 in _0x5bad37 && (_0x401cb9['catchLoc'] = _0x5bad37[0x12b4 + -0x1d08 + 0xa55]), + 0x4dc + 0x1b6f + 0xac3 * -0x3 in _0x5bad37 && (_0x401cb9[_0x42a847(0x220)] = _0x5bad37[-0xd0c * -0x2 + 0x914 + -0xe * 0x283], + _0x401cb9[_0x42a847(0x2fb)] = _0x5bad37[0x7 * -0x216 + 0x702 + 0x79b]), + this['tryEntries'][_0x42a847(0x36e)](_0x401cb9); + } + + function _0x2f82b3(_0x43fd78) { + var _0x38de29 = _0x44a0fc + , _0x2f1d6c = _0x43fd78[_0x38de29(0x387)] || {}; + _0x2f1d6c['type'] = _0x38de29(0x2f1), + delete _0x2f1d6c[_0x38de29(0x327)], + _0x43fd78['completion'] = _0x2f1d6c; + } + + function _0x1b5db9(_0x53b843) { + var _0x2569b6 = _0x44a0fc; + this[_0x2569b6(0x337)] = [{ + 'tryLoc': _0x2569b6(0x1c3) + }], + _0x53b843[_0x2569b6(0x254)](_0x14015c, this), + this[_0x2569b6(0x2aa)](!(0x1bba + 0x132e + -0x4c * 0x9e)); + } + + function _0x2edbf4(_0xe32b16) { + var _0x3a0ecf = _0x44a0fc; + if (_0xe32b16) { + var _0x3f503a = _0xe32b16[_0x5acd1a]; + if (_0x3f503a) + return _0x3f503a['call'](_0xe32b16); + if (_0x3a0ecf(0x1ee) == typeof _0xe32b16[_0x3a0ecf(0x389)]) + return _0xe32b16; + if (!isNaN(_0xe32b16['length'])) { + var _0x1ff1cf = -(-0x254c + 0xc7 * 0x11 + -0x2 * -0xc0b) + , _0x4f1000 = function _0x136bfc() { + var _0x10b933 = _0x3a0ecf; + for (; ++_0x1ff1cf < _0xe32b16[_0x10b933(0x259)];) + if (_0x43238c[_0x10b933(0x334)](_0xe32b16, _0x1ff1cf)) + return _0x136bfc[_0x10b933(0x2e4)] = _0xe32b16[_0x1ff1cf], + _0x136bfc[_0x10b933(0x1e3)] = !(-0x1f79 + -0x22d2 + 0x424c), + _0x136bfc; + return _0x136bfc['value'] = void (-0x639 + -0x115f + 0xa * 0x25c), + _0x136bfc[_0x10b933(0x1e3)] = !(0x14ad + -0x1 * 0xa1b + -0xa92), + _0x136bfc; + }; + return _0x4f1000[_0x3a0ecf(0x389)] = _0x4f1000; + } + } + return { + 'next': _0x159200 + }; + } + + function _0x159200() { + return { + 'value': void (-0x540 + -0x12 * -0x60 + -0x8 * 0x30), + 'done': !(-0x526 + -0x6d4 * 0x2 + -0x2 * -0x967) + }; + } + + return _0x2e67e9[_0x44a0fc(0x344)] = _0x3a5ac7, + _0x4cf7d8(_0x42763b, _0x44a0fc(0x2ac), { + 'value': _0x3a5ac7, + 'configurable': !(-0x2414 + 0x1307 + 0x110d) + }), + _0x4cf7d8(_0x3a5ac7, _0x44a0fc(0x2ac), { + 'value': _0x2e67e9, + 'configurable': !(0x117d + -0x12aa + 0x12d) + }), + _0x2e67e9[_0x44a0fc(0x18c)] = _0x3baf2c(_0x3a5ac7, _0x447ab4, _0x44a0fc(0x311)), + _0x507b23[_0x44a0fc(0x386)] = function (_0x54fdc6) { + var _0x2c4038 = _0x44a0fc + , _0x29797b = _0x2c4038(0x1ee) == typeof _0x54fdc6 && _0x54fdc6[_0x2c4038(0x2ac)]; + return !!_0x29797b && (_0x29797b === _0x2e67e9 || _0x2c4038(0x311) === (_0x29797b['displayName'] || _0x29797b['name'])); + } + , + _0x507b23[_0x44a0fc(0x3a5)] = function (_0x41ff3c) { + var _0x286ce7 = _0x44a0fc; + return Object[_0x286ce7(0x23b)] ? Object[_0x286ce7(0x23b)](_0x41ff3c, _0x3a5ac7) : (_0x41ff3c[_0x286ce7(0x2ea)] = _0x3a5ac7, + _0x3baf2c(_0x41ff3c, _0x447ab4, 'GeneratorFunction')), + _0x41ff3c[_0x286ce7(0x344)] = Object['create'](_0x42763b), + _0x41ff3c; + } + , + _0x507b23[_0x44a0fc(0x2d1)] = function (_0x4d3173) { + return { + '__await': _0x4d3173 + }; + } + , + _0x4e156b(_0x23eb73[_0x44a0fc(0x344)]), + _0x3baf2c(_0x23eb73[_0x44a0fc(0x344)], _0x52f292, function () { + return this; + }), + _0x507b23[_0x44a0fc(0x273)] = _0x23eb73, + _0x507b23[_0x44a0fc(0x1e7)] = function (_0x1403cf, _0xb864ce, _0x191461, _0x3aafb7, _0x4bc5ca) { + var _0x225b19 = _0x44a0fc; + void (-0x1 * 0x1145 + -0x239 + -0x3e6 * -0x5) === _0x4bc5ca && (_0x4bc5ca = Promise); + var _0x1e23c5 = new _0x23eb73(_0x3e46c6(_0x1403cf, _0xb864ce, _0x191461, _0x3aafb7), _0x4bc5ca); + return _0x507b23[_0x225b19(0x386)](_0xb864ce) ? _0x1e23c5 : _0x1e23c5[_0x225b19(0x389)]()[_0x225b19(0x1ed)](function (_0x3bf8a0) { + var _0x1af03c = _0x225b19; + return _0x3bf8a0[_0x1af03c(0x1e3)] ? _0x3bf8a0[_0x1af03c(0x2e4)] : _0x1e23c5[_0x1af03c(0x389)](); + }); + } + , + _0x4e156b(_0x42763b), + _0x3baf2c(_0x42763b, _0x447ab4, _0x44a0fc(0x1b5)), + _0x3baf2c(_0x42763b, _0x5acd1a, function () { + return this; + }), + _0x3baf2c(_0x42763b, _0x44a0fc(0x3ae), function () { + var _0x26f06c = _0x44a0fc; + return _0x26f06c(0x176); + }), + _0x507b23['keys'] = function (_0x10e233) { + var _0x515044 = _0x44a0fc + , _0x184dfc = Object(_0x10e233) + , _0x1ee5ea = []; + for (var _0x103175 in _0x184dfc) + _0x1ee5ea[_0x515044(0x36e)](_0x103175); + return _0x1ee5ea[_0x515044(0x2f3)](), + function _0x5c4b0b() { + var _0x4f9a2b = _0x515044; + for (; _0x1ee5ea[_0x4f9a2b(0x259)];) { + var _0x180e64 = _0x1ee5ea[_0x4f9a2b(0x267)](); + if (_0x180e64 in _0x184dfc) + return _0x5c4b0b[_0x4f9a2b(0x2e4)] = _0x180e64, + _0x5c4b0b[_0x4f9a2b(0x1e3)] = !(0x411 * -0x2 + -0x20 * 0x3c + 0x1 * 0xfa3), + _0x5c4b0b; + } + return _0x5c4b0b['done'] = !(-0x4d2 * -0x5 + -0x3fd + -0x13 * 0x10f), + _0x5c4b0b; + } + ; + } + , + _0x507b23[_0x44a0fc(0x38b)] = _0x2edbf4, + _0x1b5db9['prototype'] = { + 'constructor': _0x1b5db9, + 'reset': function (_0x3ebc58) { + var _0x52c025 = _0x44a0fc; + if (this[_0x52c025(0x32c)] = -0x16 * 0x181 + 0x1e6a + 0x2ac, + this[_0x52c025(0x389)] = 0x1 * 0xa3f + -0x1 * 0x1fb7 + 0x1578, + this[_0x52c025(0x3b2)] = this[_0x52c025(0x2a2)] = void (0x18ca + -0x52c * 0x2 + -0xe72), + this[_0x52c025(0x1e3)] = !(-0x775 + -0xfe1 + -0x1757 * -0x1), + this[_0x52c025(0x1bc)] = null, + this[_0x52c025(0x25a)] = _0x52c025(0x389), + this[_0x52c025(0x327)] = void (-0x1a0a + -0x263c + -0x2 * -0x2023), + this[_0x52c025(0x337)][_0x52c025(0x254)](_0x2f82b3), + !_0x3ebc58) { + for (var _0x271134 in this) + 't' === _0x271134['charAt'](0x3 * 0x707 + 0x2132 + 0x7 * -0x7c1) && _0x43238c[_0x52c025(0x334)](this, _0x271134) && !isNaN(+_0x271134['slice'](0x2629 * 0x1 + -0x7ec + -0x1e3c)) && (this[_0x271134] = void (0x14a3 + 0x211 + -0x16b4)); + } + }, + 'stop': function () { + var _0x5d1331 = _0x44a0fc; + this[_0x5d1331(0x1e3)] = !(-0x1157 + -0x1d00 * -0x1 + -0xba9); + var _0x360ca1 = this[_0x5d1331(0x337)][0x181c + 0x2252 + 0x137a * -0x3][_0x5d1331(0x387)]; + if (_0x5d1331(0x250) === _0x360ca1[_0x5d1331(0x1ab)]) + throw _0x360ca1['arg']; + return this[_0x5d1331(0x29a)]; + }, + 'dispatchException': function (_0x5ccdbe) { + var _0x2739ee = _0x44a0fc; + if (this[_0x2739ee(0x1e3)]) + throw _0x5ccdbe; + var _0x2375b1 = this; + + function _0x5bc3f7(_0x2f8813, _0x2926a6) { + var _0x19cf66 = _0x2739ee; + return _0x459dde[_0x19cf66(0x1ab)] = _0x19cf66(0x250), + _0x459dde[_0x19cf66(0x327)] = _0x5ccdbe, + _0x2375b1[_0x19cf66(0x389)] = _0x2f8813, + _0x2926a6 && (_0x2375b1[_0x19cf66(0x25a)] = _0x19cf66(0x389), + _0x2375b1[_0x19cf66(0x327)] = void (-0x77f + -0x1c03 * -0x1 + -0xd * 0x194)), + !!_0x2926a6; + } + + for (var _0x218123 = this[_0x2739ee(0x337)][_0x2739ee(0x259)] - (-0x8ed + -0x9e5 + 0x12d3); _0x218123 >= -0x3 * -0x4ef + -0x161b * -0x1 + -0x24e8; --_0x218123) { + var _0x5e4d00 = this[_0x2739ee(0x337)][_0x218123] + , _0x459dde = _0x5e4d00[_0x2739ee(0x387)]; + if (_0x2739ee(0x1c3) === _0x5e4d00['tryLoc']) + return _0x5bc3f7(_0x2739ee(0x1db)); + if (_0x5e4d00[_0x2739ee(0x29e)] <= this[_0x2739ee(0x32c)]) { + var _0x55fd7f = _0x43238c['call'](_0x5e4d00, 'catchLoc') + , _0x47cf6c = _0x43238c[_0x2739ee(0x334)](_0x5e4d00, _0x2739ee(0x220)); + if (_0x55fd7f && _0x47cf6c) { + if (this[_0x2739ee(0x32c)] < _0x5e4d00[_0x2739ee(0x2c4)]) + return _0x5bc3f7(_0x5e4d00['catchLoc'], !(-0x25 * 0xe9 + -0x2368 + 0x4515)); + if (this['prev'] < _0x5e4d00[_0x2739ee(0x220)]) + return _0x5bc3f7(_0x5e4d00[_0x2739ee(0x220)]); + } else { + if (_0x55fd7f) { + if (this['prev'] < _0x5e4d00[_0x2739ee(0x2c4)]) + return _0x5bc3f7(_0x5e4d00[_0x2739ee(0x2c4)], !(0xf11 + -0x1032 + -0x121 * -0x1)); + } else { + if (!_0x47cf6c) + throw new Error(_0x2739ee(0x33e)); + if (this[_0x2739ee(0x32c)] < _0x5e4d00['finallyLoc']) + return _0x5bc3f7(_0x5e4d00['finallyLoc']); + } + } + } + } + }, + 'abrupt': function (_0x452b06, _0x46591d) { + var _0x189350 = _0x44a0fc; + for (var _0x24d9ee = this[_0x189350(0x337)][_0x189350(0x259)] - (-0x1 * -0x434 + 0xb2d * -0x1 + 0x6fa); _0x24d9ee >= 0x144c + -0x1 * 0x80f + -0xc3d; --_0x24d9ee) { + var _0x3e29ca = this[_0x189350(0x337)][_0x24d9ee]; + if (_0x3e29ca[_0x189350(0x29e)] <= this[_0x189350(0x32c)] && _0x43238c[_0x189350(0x334)](_0x3e29ca, _0x189350(0x220)) && this[_0x189350(0x32c)] < _0x3e29ca[_0x189350(0x220)]) { + var _0x35a2dc = _0x3e29ca; + break; + } + } + _0x35a2dc && (_0x189350(0x31f) === _0x452b06 || _0x189350(0x2d2) === _0x452b06) && _0x35a2dc[_0x189350(0x29e)] <= _0x46591d && _0x46591d <= _0x35a2dc[_0x189350(0x220)] && (_0x35a2dc = null); + var _0x1837c0 = _0x35a2dc ? _0x35a2dc[_0x189350(0x387)] : {}; + return _0x1837c0['type'] = _0x452b06, + _0x1837c0[_0x189350(0x327)] = _0x46591d, + _0x35a2dc ? (this[_0x189350(0x25a)] = _0x189350(0x389), + this[_0x189350(0x389)] = _0x35a2dc[_0x189350(0x220)], + _0x511b05) : this[_0x189350(0x162)](_0x1837c0); + }, + 'complete': function (_0x4daef1, _0x152d13) { + var _0x2e0c88 = _0x44a0fc; + if (_0x2e0c88(0x250) === _0x4daef1[_0x2e0c88(0x1ab)]) + throw _0x4daef1[_0x2e0c88(0x327)]; + return _0x2e0c88(0x31f) === _0x4daef1[_0x2e0c88(0x1ab)] || _0x2e0c88(0x2d2) === _0x4daef1[_0x2e0c88(0x1ab)] ? this[_0x2e0c88(0x389)] = _0x4daef1[_0x2e0c88(0x327)] : _0x2e0c88(0x2fd) === _0x4daef1['type'] ? (this[_0x2e0c88(0x29a)] = this[_0x2e0c88(0x327)] = _0x4daef1[_0x2e0c88(0x327)], + this[_0x2e0c88(0x25a)] = _0x2e0c88(0x2fd), + this[_0x2e0c88(0x389)] = 'end') : _0x2e0c88(0x2f1) === _0x4daef1[_0x2e0c88(0x1ab)] && _0x152d13 && (this[_0x2e0c88(0x389)] = _0x152d13), + _0x511b05; + }, + 'finish': function (_0x33d396) { + var _0x38fc51 = _0x44a0fc; + for (var _0x5abbd8 = this[_0x38fc51(0x337)][_0x38fc51(0x259)] - (0x1b6c + 0x10f1 + -0x2c5c); _0x5abbd8 >= -0x106c + -0x26aa + 0x3716; --_0x5abbd8) { + var _0x5eb5c4 = this[_0x38fc51(0x337)][_0x5abbd8]; + if (_0x5eb5c4[_0x38fc51(0x220)] === _0x33d396) + return this['complete'](_0x5eb5c4[_0x38fc51(0x387)], _0x5eb5c4[_0x38fc51(0x2fb)]), + _0x2f82b3(_0x5eb5c4), + _0x511b05; + } + }, + 'catch': function (_0x235ccf) { + var _0x4e3345 = _0x44a0fc; + for (var _0x1db840 = this['tryEntries'][_0x4e3345(0x259)] - (-0x3a * -0x4f + -0x1 * -0x12d6 + -0x24bb * 0x1); _0x1db840 >= -0x168 + 0x305 + -0x19d; --_0x1db840) { + var _0x545b66 = this['tryEntries'][_0x1db840]; + if (_0x545b66[_0x4e3345(0x29e)] === _0x235ccf) { + var _0x2d5b63 = _0x545b66[_0x4e3345(0x387)]; + if (_0x4e3345(0x250) === _0x2d5b63[_0x4e3345(0x1ab)]) { + var _0x13e035 = _0x2d5b63[_0x4e3345(0x327)]; + _0x2f82b3(_0x545b66); + } + return _0x13e035; + } + } + throw new Error(_0x4e3345(0x23f)); + }, + 'delegateYield': function (_0x395df9, _0x50d973, _0x48faf1) { + var _0x39919e = _0x44a0fc; + return this[_0x39919e(0x1bc)] = { + 'iterator': _0x2edbf4(_0x395df9), + 'resultName': _0x50d973, + 'nextLoc': _0x48faf1 + }, + 'next' === this['method'] && (this['arg'] = void (0x1958 + -0xaba + -0xe9e)), + _0x511b05; + } + }, + _0x507b23; + } + + function _0x1db123(_0x149c27) { + var _0x39d672 = w_0x25f3; + return (_0x1db123 = _0x39d672(0x1ee) == typeof Symbol && 'symbol' == typeof Symbol['iterator'] ? function (_0x4a8f2c) { + return typeof _0x4a8f2c; + } + : function (_0x40eb64) { + var _0x4f8eee = _0x39d672; + return _0x40eb64 && _0x4f8eee(0x1ee) == typeof Symbol && _0x40eb64[_0x4f8eee(0x2ac)] === Symbol && _0x40eb64 !== Symbol['prototype'] ? _0x4f8eee(0x2ed) : typeof _0x40eb64; + } + )(_0x149c27); + } + + function _0x34d29a() { + var _0x4bbdba = w_0x25f3; + _0x34d29a = function (_0x1859fe, _0x26adf2) { + return new _0x3b92d4(_0x1859fe, void (-0x1f * 0x133 + 0x3 * 0x4f5 + 0x23b * 0xa), _0x26adf2); + } + ; + var _0x5aed6e = RegExp[_0x4bbdba(0x344)] + , _0x58ba91 = new WeakMap(); + + function _0x3b92d4(_0x2f61fd, _0x513c44, _0xaf22fc) { + var _0xd932c6 = _0x4bbdba + , _0xd60509 = new RegExp(_0x2f61fd, _0x513c44); + return _0x58ba91[_0xd932c6(0x1e4)](_0xd60509, _0xaf22fc || _0x58ba91[_0xd932c6(0x32b)](_0x2f61fd)), + _0x2e2f47(_0xd60509, _0x3b92d4[_0xd932c6(0x344)]); + } + + function _0x427d42(_0x489eeb, _0x1699d8) { + var _0x1004fb = _0x4bbdba + , _0x2ae826 = _0x58ba91[_0x1004fb(0x32b)](_0x1699d8); + return Object[_0x1004fb(0x17f)](_0x2ae826)[_0x1004fb(0x376)](function (_0x100f10, _0x5bfdf5) { + var _0x3ad421 = _0x1004fb + , _0x541568 = _0x2ae826[_0x5bfdf5]; + if (_0x3ad421(0x28b) == typeof _0x541568) + _0x100f10[_0x5bfdf5] = _0x489eeb[_0x541568]; + else { + for (var _0x3bc728 = 0x1 * 0x3ce + 0x3 * -0x435 + 0x8d1; void (0x2695 + 0x1ee8 + -0x457d) === _0x489eeb[_0x541568[_0x3bc728]] && _0x3bc728 + (0x3fb * -0x2 + 0x2631 + -0x2 * 0xf1d) < _0x541568['length'];) + _0x3bc728++; + _0x100f10[_0x5bfdf5] = _0x489eeb[_0x541568[_0x3bc728]]; + } + return _0x100f10; + }, Object[_0x1004fb(0x3b7)](null)); + } + + return _0x5dda7d(_0x3b92d4, RegExp), + _0x3b92d4['prototype']['exec'] = function (_0x1bc796) { + var _0x2a6afd = _0x4bbdba + , _0x457628 = _0x5aed6e[_0x2a6afd(0x209)]['call'](this, _0x1bc796); + if (_0x457628) { + _0x457628['groups'] = _0x427d42(_0x457628, this); + var _0x546542 = _0x457628['indices']; + _0x546542 && (_0x546542['groups'] = _0x427d42(_0x546542, this)); + } + return _0x457628; + } + , + _0x3b92d4[_0x4bbdba(0x344)][Symbol[_0x4bbdba(0x377)]] = function (_0x10e2ef, _0x453a26) { + var _0x226516 = _0x4bbdba; + if (_0x226516(0x33c) == typeof _0x453a26) { + var _0x42705a = _0x58ba91[_0x226516(0x32b)](this); + return _0x5aed6e[Symbol[_0x226516(0x377)]]['call'](this, _0x10e2ef, _0x453a26[_0x226516(0x377)](/\$<([^>]+)>/g, function (_0x4536fa, _0x53b1c5) { + var _0x5db08d = _0x226516 + , _0x1b4f5c = _0x42705a[_0x53b1c5]; + return '$' + (Array[_0x5db08d(0x2af)](_0x1b4f5c) ? _0x1b4f5c[_0x5db08d(0x24f)]('$') : _0x1b4f5c); + })); + } + if (_0x226516(0x1ee) == typeof _0x453a26) { + var _0x51880e = this; + return _0x5aed6e[Symbol[_0x226516(0x377)]][_0x226516(0x334)](this, _0x10e2ef, function () { + var _0x3ce548 = _0x226516 + , _0x352e21 = arguments; + return _0x3ce548(0x17d) != typeof _0x352e21[_0x352e21[_0x3ce548(0x259)] - (-0xf9 * -0x7 + 0xd4 + -0x2 * 0x3d1)] && (_0x352e21 = []['slice'][_0x3ce548(0x334)](_0x352e21))[_0x3ce548(0x36e)](_0x427d42(_0x352e21, _0x51880e)), + _0x453a26[_0x3ce548(0x207)](this, _0x352e21); + }); + } + return _0x5aed6e[Symbol[_0x226516(0x377)]]['call'](this, _0x10e2ef, _0x453a26); + } + , + _0x34d29a[_0x4bbdba(0x207)](this, arguments); + } + + function _0x2772ab(_0x17b93c) { + var _0x2e8af4 = w_0x25f3; + this[_0x2e8af4(0x180)] = _0x17b93c; + } + + function _0x125e01(_0x221f1a) { + return function () { + var _0x2db496 = w_0x25f3; + return new _0x137ba2(_0x221f1a[_0x2db496(0x207)](this, arguments)); + } + ; + } + + function _0x8a0370(_0x1ac7e2, _0x440b38, _0x4611ac, _0x1f79f3, _0x26eb95, _0x4af1d4, _0x2b24bc) { + var _0x3a480e = w_0x25f3; + try { + var _0x16d0ce = _0x1ac7e2[_0x4af1d4](_0x2b24bc) + , _0x2e8eaf = _0x16d0ce[_0x3a480e(0x2e4)]; + } catch (_0xc88fae) { + return void _0x4611ac(_0xc88fae); + } + _0x16d0ce[_0x3a480e(0x1e3)] ? _0x440b38(_0x2e8eaf) : Promise[_0x3a480e(0x278)](_0x2e8eaf)[_0x3a480e(0x1ed)](_0x1f79f3, _0x26eb95); + } + + function _0x50daaa(_0x10de0d) { + return function () { + var _0x310206 = this + , _0x17ad73 = arguments; + return new Promise(function (_0x37120b, _0x728e37) { + var _0x5a819e = _0x10de0d['apply'](_0x310206, _0x17ad73); + + function _0x12466a(_0x263e68) { + var _0x123e7f = w_0x25f3; + _0x8a0370(_0x5a819e, _0x37120b, _0x728e37, _0x12466a, _0x191f8b, _0x123e7f(0x389), _0x263e68); + } + + function _0x191f8b(_0x255ae1) { + var _0x5d15ce = w_0x25f3; + _0x8a0370(_0x5a819e, _0x37120b, _0x728e37, _0x12466a, _0x191f8b, _0x5d15ce(0x250), _0x255ae1); + } + + _0x12466a(void (0xbdf + -0x129c + -0x19 * -0x45)); + } + ); + } + ; + } + + function _0x297d3d(_0xd86983, _0x45590a) { + var _0x51c357 = w_0x25f3; + if (!(_0xd86983 instanceof _0x45590a)) + throw new TypeError(_0x51c357(0x2f7)); + } + + function _0x96f358(_0x217e4a, _0x156410) { + var _0x251198 = w_0x25f3; + for (var _0x336960 = 0x1613 + -0x2f * 0x3b + 0xb3e * -0x1; _0x336960 < _0x156410[_0x251198(0x259)]; _0x336960++) { + var _0x3d27f0 = _0x156410[_0x336960]; + _0x3d27f0[_0x251198(0x23a)] = _0x3d27f0[_0x251198(0x23a)] || !(-0xbf7 + -0x166e + 0x2266), + _0x3d27f0[_0x251198(0x2bc)] = !(-0xde + 0x1c94 + -0x1bb6), + _0x251198(0x2e4) in _0x3d27f0 && (_0x3d27f0['writable'] = !(-0x21 * 0x12f + -0x2 * -0x17d + 0x2415)), + Object[_0x251198(0x175)](_0x217e4a, _0x32e885(_0x3d27f0[_0x251198(0x392)]), _0x3d27f0); + } + } + + function _0x55cd8a(_0x174a54, _0x5e25eb, _0x465e50) { + var _0x4d17e4 = w_0x25f3; + return _0x5e25eb && _0x96f358(_0x174a54[_0x4d17e4(0x344)], _0x5e25eb), + _0x465e50 && _0x96f358(_0x174a54, _0x465e50), + Object[_0x4d17e4(0x175)](_0x174a54, _0x4d17e4(0x344), { + 'writable': !(-0xc19 + 0x1aa + -0x2 * -0x538) + }), + _0x174a54; + } + + function _0x58d8c2(_0x5634d7, _0x53515c) { + var _0x5fc7bf = w_0x25f3; + for (var _0x5e7563 in _0x53515c) { + (_0x532356 = _0x53515c[_0x5e7563])[_0x5fc7bf(0x2bc)] = _0x532356[_0x5fc7bf(0x23a)] = !(0xb5 + 0x6 * 0x80 + -0x3b5), + 'value' in _0x532356 && (_0x532356[_0x5fc7bf(0x2e3)] = !(0x19d * 0x11 + 0x126f + -0x2ddc)), + Object[_0x5fc7bf(0x175)](_0x5634d7, _0x5e7563, _0x532356); + } + if (Object[_0x5fc7bf(0x388)]) + for (var _0x45bcc1 = Object[_0x5fc7bf(0x388)](_0x53515c), _0x368698 = -0x11 * -0x1af + -0x1ec7 + 0x228; _0x368698 < _0x45bcc1[_0x5fc7bf(0x259)]; _0x368698++) { + var _0x532356, _0x6be33e = _0x45bcc1[_0x368698]; + (_0x532356 = _0x53515c[_0x6be33e])['configurable'] = _0x532356[_0x5fc7bf(0x23a)] = !(-0x833 + 0x9 * -0x76 + 0x1d * 0x6d), + _0x5fc7bf(0x2e4) in _0x532356 && (_0x532356[_0x5fc7bf(0x2e3)] = !(0x18bf + -0x337 * 0x5 + -0x14 * 0x6f)), + Object[_0x5fc7bf(0x175)](_0x5634d7, _0x6be33e, _0x532356); + } + return _0x5634d7; + } + + function _0x40ff51(_0x254aaa, _0x287254) { + var _0x77273f = w_0x25f3; + for (var _0x587d0b = Object[_0x77273f(0x32a)](_0x287254), _0xa5f40d = -0x2174 + 0x25a * -0x2 + 0x42 * 0x94; _0xa5f40d < _0x587d0b[_0x77273f(0x259)]; _0xa5f40d++) { + var _0x23b426 = _0x587d0b[_0xa5f40d] + , _0x59ae3e = Object[_0x77273f(0x2a6)](_0x287254, _0x23b426); + _0x59ae3e && _0x59ae3e[_0x77273f(0x2bc)] && void (-0x221b * 0x1 + 0x2326 * 0x1 + -0x10b) === _0x254aaa[_0x23b426] && Object['defineProperty'](_0x254aaa, _0x23b426, _0x59ae3e); + } + return _0x254aaa; + } + + function _0x4a7824(_0x26784f, _0x47795a, _0x26a673) { + var _0x1edba1 = w_0x25f3; + return (_0x47795a = _0x32e885(_0x47795a)) in _0x26784f ? Object[_0x1edba1(0x175)](_0x26784f, _0x47795a, { + 'value': _0x26a673, + 'enumerable': !(0x24eb + 0x1b2 + -0x1 * 0x269d), + 'configurable': !(-0x472 + -0xb7 * 0x12 + 0x1150), + 'writable': !(-0x23f8 + 0x257d + -0x185 * 0x1) + }) : _0x26784f[_0x47795a] = _0x26a673, + _0x26784f; + } + + function _0x36f54f() { + var _0x472dbc = w_0x25f3; + return (_0x36f54f = Object['assign'] ? Object[_0x472dbc(0x2a0)]['bind']() : function (_0x3e0b52) { + var _0x1eddf8 = _0x472dbc; + for (var _0x16d75e = -0x645 + -0x2115 * 0x1 + -0x19 * -0x193; _0x16d75e < arguments[_0x1eddf8(0x259)]; _0x16d75e++) { + var _0x5a9173 = arguments[_0x16d75e]; + for (var _0x145ff6 in _0x5a9173) + Object[_0x1eddf8(0x344)][_0x1eddf8(0x3b8)][_0x1eddf8(0x334)](_0x5a9173, _0x145ff6) && (_0x3e0b52[_0x145ff6] = _0x5a9173[_0x145ff6]); + } + return _0x3e0b52; + } + )['apply'](this, arguments); + } + + function _0x5f346f(_0x2ab8ef) { + var _0x39ff04 = w_0x25f3; + for (var _0x176101 = 0xc60 + -0x43 * -0x1f + 0x6 * -0x36a; _0x176101 < arguments[_0x39ff04(0x259)]; _0x176101++) { + var _0x99688c = null != arguments[_0x176101] ? Object(arguments[_0x176101]) : {} + , _0xbf3314 = Object[_0x39ff04(0x17f)](_0x99688c); + _0x39ff04(0x1ee) == typeof Object[_0x39ff04(0x388)] && _0xbf3314[_0x39ff04(0x36e)][_0x39ff04(0x207)](_0xbf3314, Object[_0x39ff04(0x388)](_0x99688c)[_0x39ff04(0x164)](function (_0x2adc39) { + var _0x23e48e = _0x39ff04; + return Object[_0x23e48e(0x2a6)](_0x99688c, _0x2adc39)[_0x23e48e(0x23a)]; + })), + _0xbf3314['forEach'](function (_0x2e44e4) { + _0x4a7824(_0x2ab8ef, _0x2e44e4, _0x99688c[_0x2e44e4]); + }); + } + return _0x2ab8ef; + } + + function _0x5dda7d(_0x46427b, _0x4b68de) { + var _0x5c7f41 = w_0x25f3; + if ('function' != typeof _0x4b68de && null !== _0x4b68de) + throw new TypeError(_0x5c7f41(0x236)); + _0x46427b[_0x5c7f41(0x344)] = Object['create'](_0x4b68de && _0x4b68de[_0x5c7f41(0x344)], { + 'constructor': { + 'value': _0x46427b, + 'writable': !(-0x59 * -0x6d + -0x3a5 + -0x2240), + 'configurable': !(0xf4d * -0x2 + -0x182e + 0x1b64 * 0x2) + } + }), + Object[_0x5c7f41(0x175)](_0x46427b, _0x5c7f41(0x344), { + 'writable': !(-0x9d0 * -0x1 + 0x17a1 + -0x217 * 0x10) + }), + _0x4b68de && _0x2e2f47(_0x46427b, _0x4b68de); + } + + function _0x3879ac(_0x40738f, _0x3ddb1f) { + var _0x34aaee = w_0x25f3; + _0x40738f[_0x34aaee(0x344)] = Object['create'](_0x3ddb1f[_0x34aaee(0x344)]), + _0x40738f[_0x34aaee(0x344)][_0x34aaee(0x2ac)] = _0x40738f, + _0x2e2f47(_0x40738f, _0x3ddb1f); + } + + function _0x22af63(_0x26c4e4) { + var _0x3c9cd2 = w_0x25f3; + return (_0x22af63 = Object[_0x3c9cd2(0x23b)] ? Object['getPrototypeOf'][_0x3c9cd2(0x301)]() : function (_0x212968) { + var _0x3a939f = _0x3c9cd2; + return _0x212968['__proto__'] || Object[_0x3a939f(0x22c)](_0x212968); + } + )(_0x26c4e4); + } + + function _0x2e2f47(_0x24c757, _0x1d9d80) { + var _0x5e1251 = w_0x25f3; + return (_0x2e2f47 = Object['setPrototypeOf'] ? Object[_0x5e1251(0x23b)][_0x5e1251(0x301)]() : function (_0x1f13b4, _0x24fdc8) { + var _0x16bc1b = _0x5e1251; + return _0x1f13b4[_0x16bc1b(0x2ea)] = _0x24fdc8, + _0x1f13b4; + } + )(_0x24c757, _0x1d9d80); + } + + function _0x3390dc() { + var _0x31b3f3 = w_0x25f3; + if (_0x31b3f3(0x384) == typeof Reflect || !Reflect[_0x31b3f3(0x320)]) + return !(-0x1158 + -0x789 + 0x18e2); + if (Reflect[_0x31b3f3(0x320)]['sham']) + return !(0xec5 + 0x8 * -0x92 + -0xa34 * 0x1); + if (_0x31b3f3(0x1ee) == typeof Proxy) + return !(-0xe01 + 0xa7b + 0x386); + try { + return Boolean[_0x31b3f3(0x344)][_0x31b3f3(0x303)][_0x31b3f3(0x334)](Reflect[_0x31b3f3(0x320)](Boolean, [], function () { + })), + !(-0xe0c + -0x2415 + 0x3221 * 0x1); + } catch (_0x20aa1e) { + return !(0xd * -0xa4 + -0xc1f + 0x1474); + } + } + + function _0x920a3d(_0x35e7ab, _0x5cbd00, _0x53ced5) { + var _0x4ba719 = w_0x25f3; + return (_0x920a3d = _0x3390dc() ? Reflect['construct'][_0x4ba719(0x301)]() : function (_0x40c7ae, _0xd26edf, _0x5ecdaf) { + var _0x3b4c0f = _0x4ba719 + , _0x55cb1f = [null]; + _0x55cb1f['push'][_0x3b4c0f(0x207)](_0x55cb1f, _0xd26edf); + var _0x47f6fb = new (Function[_0x3b4c0f(0x301)]['apply'](_0x40c7ae, _0x55cb1f))(); + return _0x5ecdaf && _0x2e2f47(_0x47f6fb, _0x5ecdaf[_0x3b4c0f(0x344)]), + _0x47f6fb; + } + )['apply'](null, arguments); + } + + function _0x5cb0d7(_0x6e2f2f) { + var _0x26e451 = w_0x25f3; + return -(-0x65 * 0x35 + -0x2087 + -0x3571 * -0x1) !== Function[_0x26e451(0x3ae)]['call'](_0x6e2f2f)[_0x26e451(0x2c5)](_0x26e451(0x161)); + } + + function _0x16f283(_0x11646e) { + var _0x9334eb = w_0x25f3 + , + _0x551d10 = _0x9334eb(0x1ee) == typeof Map ? new Map() : void (-0xe * -0x5 + 0xd * -0x151 + 0x3 * 0x59d); + return (_0x16f283 = function (_0xffb48b) { + var _0x30c56b = _0x9334eb; + if (null === _0xffb48b || !_0x5cb0d7(_0xffb48b)) + return _0xffb48b; + if (_0x30c56b(0x1ee) != typeof _0xffb48b) + throw new TypeError(_0x30c56b(0x236)); + if (void (0x12 * 0xf8 + -0x41b + 0xd55 * -0x1) !== _0x551d10) { + if (_0x551d10[_0x30c56b(0x2fc)](_0xffb48b)) + return _0x551d10[_0x30c56b(0x32b)](_0xffb48b); + _0x551d10[_0x30c56b(0x1e4)](_0xffb48b, _0xfee014); + } + + function _0xfee014() { + var _0x10fec4 = _0x30c56b; + return _0x920a3d(_0xffb48b, arguments, _0x22af63(this)[_0x10fec4(0x2ac)]); + } + + return _0xfee014['prototype'] = Object[_0x30c56b(0x3b7)](_0xffb48b[_0x30c56b(0x344)], { + 'constructor': { + 'value': _0xfee014, + 'enumerable': !(0x829 + 0x1 * -0x1271 + 0xa49), + 'writable': !(0x724 + 0x15f9 + 0x1d * -0x101), + 'configurable': !(0x3e4 + 0x685 * 0x4 + 0x1df8 * -0x1) + } + }), + _0x2e2f47(_0xfee014, _0xffb48b); + } + )(_0x11646e); + } + + function _0x8f6e33(_0xca4201, _0x572889) { + var _0x44fa42 = w_0x25f3; + return null != _0x572889 && _0x44fa42(0x384) != typeof Symbol && _0x572889[Symbol[_0x44fa42(0x178)]] ? !!_0x572889[Symbol[_0x44fa42(0x178)]](_0xca4201) : _0xca4201 instanceof _0x572889; + } + + function _0x2ea366(_0x4da731) { + var _0x2c9369 = w_0x25f3; + return _0x4da731 && _0x4da731[_0x2c9369(0x3bd)] ? _0x4da731 : { + 'default': _0x4da731 + }; + } + + function _0x1629e6(_0xb8ec58) { + var _0xd6f6f1 = w_0x25f3; + if (_0xd6f6f1(0x1ee) != typeof WeakMap) + return null; + var _0x2d8f39 = new WeakMap() + , _0x2398fe = new WeakMap(); + return (_0x1629e6 = function (_0x164b35) { + return _0x164b35 ? _0x2398fe : _0x2d8f39; + } + )(_0xb8ec58); + } + + function _0x2c9158(_0x2f5c3e, _0x55c9ff) { + var _0x3d4018 = w_0x25f3; + if (!_0x55c9ff && _0x2f5c3e && _0x2f5c3e['__esModule']) + return _0x2f5c3e; + if (null === _0x2f5c3e || _0x3d4018(0x17d) != typeof _0x2f5c3e && 'function' != typeof _0x2f5c3e) + return { + 'default': _0x2f5c3e + }; + var _0xcafe97 = _0x1629e6(_0x55c9ff); + if (_0xcafe97 && _0xcafe97[_0x3d4018(0x2fc)](_0x2f5c3e)) + return _0xcafe97[_0x3d4018(0x32b)](_0x2f5c3e); + var _0x41e330 = {} + , _0x115c7f = Object[_0x3d4018(0x175)] && Object[_0x3d4018(0x2a6)]; + for (var _0x84a510 in _0x2f5c3e) + if (_0x3d4018(0x1d3) !== _0x84a510 && Object[_0x3d4018(0x344)]['hasOwnProperty'][_0x3d4018(0x334)](_0x2f5c3e, _0x84a510)) { + var _0x422bcd = _0x115c7f ? Object[_0x3d4018(0x2a6)](_0x2f5c3e, _0x84a510) : null; + _0x422bcd && (_0x422bcd[_0x3d4018(0x32b)] || _0x422bcd[_0x3d4018(0x1e4)]) ? Object['defineProperty'](_0x41e330, _0x84a510, _0x422bcd) : _0x41e330[_0x84a510] = _0x2f5c3e[_0x84a510]; + } + return _0x41e330['default'] = _0x2f5c3e, + _0xcafe97 && _0xcafe97[_0x3d4018(0x1e4)](_0x2f5c3e, _0x41e330), + _0x41e330; + } + + function _0x374736(_0x2d130b, _0x324593) { + var _0x4ccff2 = w_0x25f3; + if (_0x2d130b !== _0x324593) + throw new TypeError(_0x4ccff2(0x16c)); + } + + function _0x206199(_0x607e62) { + var _0x5bbb21 = w_0x25f3; + if (null == _0x607e62) + throw new TypeError(_0x5bbb21(0x1cc) + _0x607e62); + } + + function _0x2bfa3e(_0x161463, _0x2ff4d5) { + var _0x59d7ee = w_0x25f3; + if (null == _0x161463) + return {}; + var _0x31fbf6, _0x50d0b6, _0x5ca1c5 = {}, _0x5b71fd = Object['keys'](_0x161463); + for (_0x50d0b6 = -0x763 + -0x15a + 0x1 * 0x8bd; _0x50d0b6 < _0x5b71fd[_0x59d7ee(0x259)]; _0x50d0b6++) + _0x31fbf6 = _0x5b71fd[_0x50d0b6], + _0x2ff4d5[_0x59d7ee(0x2c5)](_0x31fbf6) >= 0x8a7 + -0x21ed + 0x1946 || (_0x5ca1c5[_0x31fbf6] = _0x161463[_0x31fbf6]); + return _0x5ca1c5; + } + + function _0x2a28e9(_0x2cdf2e, _0x74ac11) { + var _0x942c51 = w_0x25f3; + if (null == _0x2cdf2e) + return {}; + var _0x5ef46e, _0x5acf70, _0x282df4 = _0x2bfa3e(_0x2cdf2e, _0x74ac11); + if (Object['getOwnPropertySymbols']) { + var _0x33d708 = Object[_0x942c51(0x388)](_0x2cdf2e); + for (_0x5acf70 = -0xd30 + 0x4a1 * 0x1 + 0x7 * 0x139; _0x5acf70 < _0x33d708[_0x942c51(0x259)]; _0x5acf70++) + _0x5ef46e = _0x33d708[_0x5acf70], + _0x74ac11[_0x942c51(0x2c5)](_0x5ef46e) >= -0x1f5d * 0x1 + 0x40b + 0x1b52 || Object[_0x942c51(0x344)][_0x942c51(0x1da)][_0x942c51(0x334)](_0x2cdf2e, _0x5ef46e) && (_0x282df4[_0x5ef46e] = _0x2cdf2e[_0x5ef46e]); + } + return _0x282df4; + } + + function _0x58f550(_0x94e938) { + var _0x41d076 = w_0x25f3; + if (void (-0x6a * 0x1 + -0xf6 + 0x160) === _0x94e938) + throw new ReferenceError(_0x41d076(0x1bb)); + return _0x94e938; + } + + function _0xf3b17(_0x7b2cf6, _0x347c9f) { + var _0x41f350 = w_0x25f3; + if (_0x347c9f && (_0x41f350(0x17d) == typeof _0x347c9f || _0x41f350(0x1ee) == typeof _0x347c9f)) + return _0x347c9f; + if (void (0x160d + -0x24fd + -0x8 * -0x1de) !== _0x347c9f) + throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined'); + return _0x58f550(_0x7b2cf6); + } + + function _0x17b234(_0x33316f) { + var _0x3601f0 = _0x3390dc(); + return function () { + var _0x4733d6 = w_0x25f3, _0x2848c1, _0x2d0386 = _0x22af63(_0x33316f); + if (_0x3601f0) { + var _0x252bb3 = _0x22af63(this)[_0x4733d6(0x2ac)]; + _0x2848c1 = Reflect[_0x4733d6(0x320)](_0x2d0386, arguments, _0x252bb3); + } else + _0x2848c1 = _0x2d0386[_0x4733d6(0x207)](this, arguments); + return _0xf3b17(this, _0x2848c1); + } + ; + } + + function _0x2b3a8b(_0x409fbb, _0x508825) { + for (; !Object['prototype']['hasOwnProperty']['call'](_0x409fbb, _0x508825) && null !== (_0x409fbb = _0x22af63(_0x409fbb));) + ; + return _0x409fbb; + } + + function _0x33bfa4() { + var _0x1bbf02 = w_0x25f3; + return (_0x33bfa4 = _0x1bbf02(0x384) != typeof Reflect && Reflect[_0x1bbf02(0x32b)] ? Reflect[_0x1bbf02(0x32b)][_0x1bbf02(0x301)]() : function (_0x45f38c, _0x4a526c, _0x482f60) { + var _0xb2ad90 = _0x1bbf02 + , _0x53f5d7 = _0x2b3a8b(_0x45f38c, _0x4a526c); + if (_0x53f5d7) { + var _0x24e05f = Object[_0xb2ad90(0x2a6)](_0x53f5d7, _0x4a526c); + return _0x24e05f[_0xb2ad90(0x32b)] ? _0x24e05f[_0xb2ad90(0x32b)][_0xb2ad90(0x334)](arguments[_0xb2ad90(0x259)] < 0x7f * 0x25 + 0x23f3 + -0x364b ? _0x45f38c : _0x482f60) : _0x24e05f[_0xb2ad90(0x2e4)]; + } + } + )['apply'](this, arguments); + } + + function _0x5b010c(_0x878ee0, _0x27a5c4, _0x35cb40, _0x14e9ba) { + var _0x1c5f60 = w_0x25f3; + return (_0x5b010c = 'undefined' != typeof Reflect && Reflect[_0x1c5f60(0x1e4)] ? Reflect[_0x1c5f60(0x1e4)] : function (_0xc1d4d, _0x3a32f8, _0x25436d, _0x5ef6e3) { + var _0x43a591 = _0x1c5f60, _0x23d91e, _0x5ac459 = _0x2b3a8b(_0xc1d4d, _0x3a32f8); + if (_0x5ac459) { + if ((_0x23d91e = Object[_0x43a591(0x2a6)](_0x5ac459, _0x3a32f8))[_0x43a591(0x1e4)]) + return _0x23d91e['set'][_0x43a591(0x334)](_0x5ef6e3, _0x25436d), + !(0x4d * -0x59 + -0x1 * -0x3d6 + 0x16ef); + if (!_0x23d91e[_0x43a591(0x2e3)]) + return !(-0x2691 + 0x9e * 0x25 + 0xfbc); + } + if (_0x23d91e = Object['getOwnPropertyDescriptor'](_0x5ef6e3, _0x3a32f8)) { + if (!_0x23d91e[_0x43a591(0x2e3)]) + return !(0x14d + -0x1 * -0x29b + -0x3e7); + _0x23d91e[_0x43a591(0x2e4)] = _0x25436d, + Object[_0x43a591(0x175)](_0x5ef6e3, _0x3a32f8, _0x23d91e); + } else + _0x4a7824(_0x5ef6e3, _0x3a32f8, _0x25436d); + return !(0x295 + -0xa39 * -0x2 + -0x1707); + } + )(_0x878ee0, _0x27a5c4, _0x35cb40, _0x14e9ba); + } + + function _0x2732a4(_0x24a602, _0x194547, _0x16a7b5, _0x8913b1, _0x531d0d) { + var _0x16563f = w_0x25f3; + if (!_0x5b010c(_0x24a602, _0x194547, _0x16a7b5, _0x8913b1 || _0x24a602) && _0x531d0d) + throw new TypeError(_0x16563f(0x34e)); + return _0x16a7b5; + } + + function _0x281bf3(_0x4564b4, _0x1f4153) { + var _0x10b792 = w_0x25f3; + return _0x1f4153 || (_0x1f4153 = _0x4564b4[_0x10b792(0x2a5)](0x1017 + 0x1cb3 + 0x2 * -0x1665)), + Object[_0x10b792(0x198)](Object[_0x10b792(0x36c)](_0x4564b4, { + 'raw': { + 'value': Object[_0x10b792(0x198)](_0x1f4153) + } + })); + } + + function _0x2d5f0c(_0x18863e, _0x13e8d4) { + var _0x47a3d1 = w_0x25f3; + return _0x13e8d4 || (_0x13e8d4 = _0x18863e['slice'](0x8f1 * 0x1 + 0x1 * 0x1e1f + -0x7d * 0x50)), + _0x18863e[_0x47a3d1(0x2ab)] = _0x13e8d4, + _0x18863e; + } + + function _0x246229(_0x5e71a0) { + var _0x47c977 = w_0x25f3; + throw new TypeError('\x22' + _0x5e71a0 + _0x47c977(0x338)); + } + + function _0x5db7bf(_0x51f915) { + throw new TypeError('\x22' + _0x51f915 + '\x22\x20is\x20write-only'); + } + + function _0x2275f4(_0x42246e) { + var _0x2f7351 = w_0x25f3; + throw new ReferenceError(_0x2f7351(0x1c7) + _0x42246e + '\x22\x20cannot\x20be\x20referenced\x20in\x20computed\x20property\x20keys.'); + } + + function _0x516c2b() { + } + + function _0xab4ac9(_0xcde017) { + throw new ReferenceError(_0xcde017 + '\x20is\x20not\x20defined\x20-\x20temporal\x20dead\x20zone'); + } + + function _0x5b377b(_0x5f4fa5, _0x2f492b) { + return _0x5f4fa5 === _0x516c2b ? _0xab4ac9(_0x2f492b) : _0x5f4fa5; + } + + function _0x5096de(_0x3b53c6, _0x3225c3) { + return _0x1ae312(_0x3b53c6) || _0x19d66a(_0x3b53c6, _0x3225c3) || _0x525331(_0x3b53c6, _0x3225c3) || _0x25b697(); + } + + function _0x1dff6c(_0x3a7a63, _0x147620) { + return _0x1ae312(_0x3a7a63) || _0x376fd5(_0x3a7a63, _0x147620) || _0x525331(_0x3a7a63, _0x147620) || _0x25b697(); + } + + function _0x5c885(_0x3953c0) { + return _0x1ae312(_0x3953c0) || _0x1853c6(_0x3953c0) || _0x525331(_0x3953c0) || _0x25b697(); + } + + function _0x534083(_0x3396cf) { + return _0x1ccd19(_0x3396cf) || _0x1853c6(_0x3396cf) || _0x525331(_0x3396cf) || _0x542337(); + } + + function _0x1ccd19(_0x15e4f0) { + var _0x384cbb = w_0x25f3; + if (Array[_0x384cbb(0x2af)](_0x15e4f0)) + return _0x537c83(_0x15e4f0); + } + + function _0x1ae312(_0x4bfad0) { + var _0x3bc5ad = w_0x25f3; + if (Array[_0x3bc5ad(0x2af)](_0x4bfad0)) + return _0x4bfad0; + } + + function _0x4bbf4b(_0x33a831, _0x181a3c, _0x135270) { + var _0x5bf329 = w_0x25f3; + if (_0x181a3c && !Array[_0x5bf329(0x2af)](_0x181a3c) && _0x5bf329(0x28b) == typeof _0x181a3c[_0x5bf329(0x259)]) { + var _0x43388b = _0x181a3c[_0x5bf329(0x259)]; + return _0x537c83(_0x181a3c, void (0xb * -0x29 + 0x387 + -0x2 * 0xe2) !== _0x135270 && _0x135270 < _0x43388b ? _0x135270 : _0x43388b); + } + return _0x33a831(_0x181a3c, _0x135270); + } + + function _0x1853c6(_0x3086ca) { + var _0x3e6030 = w_0x25f3; + if (_0x3e6030(0x384) != typeof Symbol && null != _0x3086ca[Symbol[_0x3e6030(0x3b3)]] || null != _0x3086ca[_0x3e6030(0x1dd)]) + return Array['from'](_0x3086ca); + } + + function _0x525331(_0x1ceb3f, _0x38a668) { + var _0x2b5250 = w_0x25f3; + if (_0x1ceb3f) { + if (_0x2b5250(0x33c) == typeof _0x1ceb3f) + return _0x537c83(_0x1ceb3f, _0x38a668); + var _0x2821d9 = Object[_0x2b5250(0x344)][_0x2b5250(0x3ae)][_0x2b5250(0x334)](_0x1ceb3f)['slice'](0x2ae * -0x7 + 0x1 * 0x2181 + 0xeb7 * -0x1, -(-0x1d * -0xec + 0x2 * -0x32 + -0x1a57)); + return _0x2b5250(0x2eb) === _0x2821d9 && _0x1ceb3f[_0x2b5250(0x2ac)] && (_0x2821d9 = _0x1ceb3f[_0x2b5250(0x2ac)]['name']), + 'Map' === _0x2821d9 || _0x2b5250(0x160) === _0x2821d9 ? Array[_0x2b5250(0x29c)](_0x1ceb3f) : _0x2b5250(0x27f) === _0x2821d9 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x2b5250(0x22b)](_0x2821d9) ? _0x537c83(_0x1ceb3f, _0x38a668) : void (-0x1 * 0xf34 + 0x12e6 + 0x1d9 * -0x2); + } + } + + function _0x537c83(_0x1cc46a, _0xca9940) { + var _0x4c66e3 = w_0x25f3; + (null == _0xca9940 || _0xca9940 > _0x1cc46a[_0x4c66e3(0x259)]) && (_0xca9940 = _0x1cc46a[_0x4c66e3(0x259)]); + for (var _0x3859e4 = 0x1fe3 * 0x1 + -0x22be + 0x2db, _0x3a8ed3 = new Array(_0xca9940); _0x3859e4 < _0xca9940; _0x3859e4++) + _0x3a8ed3[_0x3859e4] = _0x1cc46a[_0x3859e4]; + return _0x3a8ed3; + } + + function _0x542337() { + var _0x1d894c = w_0x25f3; + throw new TypeError(_0x1d894c(0x3a8)); + } + + function _0x25b697() { + throw new TypeError('Invalid\x20attempt\x20to\x20destructure\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.'); + } + + function _0x350075(_0x189dc6, _0x3f6be9) { + var _0x464771 = w_0x25f3 + , + _0x199147 = _0x464771(0x384) != typeof Symbol && _0x189dc6[Symbol[_0x464771(0x3b3)]] || _0x189dc6[_0x464771(0x1dd)]; + if (!_0x199147) { + if (Array['isArray'](_0x189dc6) || (_0x199147 = _0x525331(_0x189dc6)) || _0x3f6be9 && _0x189dc6 && _0x464771(0x28b) == typeof _0x189dc6[_0x464771(0x259)]) { + _0x199147 && (_0x189dc6 = _0x199147); + var _0x544a3f = 0x1fd2 + 0x1 * -0x1ad5 + 0x4fd * -0x1 + , _0x5b20ae = function () { + }; + return { + 's': _0x5b20ae, + 'n': function () { + var _0x4c93f0 = _0x464771; + return _0x544a3f >= _0x189dc6[_0x4c93f0(0x259)] ? { + 'done': !(-0x1aaa * 0x1 + -0x126e * 0x1 + 0x2d18) + } : { + 'done': !(0x7 * -0x205 + 0x1d44 + -0xf20), + 'value': _0x189dc6[_0x544a3f++] + }; + }, + 'e': function (_0x4d8393) { + throw _0x4d8393; + }, + 'f': _0x5b20ae + }; + } + throw new TypeError(_0x464771(0x2ae)); + } + var _0x23cdd3, _0x5bcfbb = !(0x1 * -0x810 + -0xb3 * 0x2f + 0x1 * 0x28ed), + _0x4db4fd = !(0x221 + 0x62e * 0x5 + 0x3 * -0xb02); + return { + 's': function () { + _0x199147 = _0x199147['call'](_0x189dc6); + }, + 'n': function () { + var _0x30f507 = _0x464771 + , _0x2382b6 = _0x199147['next'](); + return _0x5bcfbb = _0x2382b6[_0x30f507(0x1e3)], + _0x2382b6; + }, + 'e': function (_0x3b0f24) { + _0x4db4fd = !(0x18e0 + 0x2 * 0x214 + -0x1d08), + _0x23cdd3 = _0x3b0f24; + }, + 'f': function () { + var _0x22fdad = _0x464771; + try { + _0x5bcfbb || null == _0x199147[_0x22fdad(0x2fd)] || _0x199147[_0x22fdad(0x2fd)](); + } finally { + if (_0x4db4fd) + throw _0x23cdd3; + } + } + }; + } + + function _0x37af30(_0x37ea9e, _0x2388a0) { + var _0x3701de = w_0x25f3 + , + _0x2ac940 = 'undefined' != typeof Symbol && _0x37ea9e[Symbol[_0x3701de(0x3b3)]] || _0x37ea9e['@@iterator']; + if (_0x2ac940) + return (_0x2ac940 = _0x2ac940['call'](_0x37ea9e))[_0x3701de(0x389)][_0x3701de(0x301)](_0x2ac940); + if (Array[_0x3701de(0x2af)](_0x37ea9e) || (_0x2ac940 = _0x525331(_0x37ea9e)) || _0x2388a0 && _0x37ea9e && 'number' == typeof _0x37ea9e[_0x3701de(0x259)]) { + _0x2ac940 && (_0x37ea9e = _0x2ac940); + var _0x1dcac8 = 0x1d * -0x11a + -0x1f * 0xc7 + -0x380b * -0x1; + return function () { + var _0x306ed0 = _0x3701de; + return _0x1dcac8 >= _0x37ea9e[_0x306ed0(0x259)] ? { + 'done': !(-0x29d + 0x5fb * -0x1 + 0x898) + } : { + 'done': !(-0x6e * 0x4f + 0x2311 + -0x11e), + 'value': _0x37ea9e[_0x1dcac8++] + }; + } + ; + } + throw new TypeError(_0x3701de(0x2ae)); + } + + function _0x5362e1(_0x4cd55f) { + return function () { + var _0x58617f = w_0x25f3 + , _0x183c06 = _0x4cd55f['apply'](this, arguments); + return _0x183c06[_0x58617f(0x389)](), + _0x183c06; + } + ; + } + + function _0x4ad3b0(_0x460146, _0x32cf07) { + var _0x271683 = w_0x25f3; + if (_0x271683(0x17d) != typeof _0x460146 || null === _0x460146) + return _0x460146; + var _0xa9fa9c = _0x460146[Symbol['toPrimitive']]; + if (void (0x21b4 + 0x5 * 0x4c7 + 0x3997 * -0x1) !== _0xa9fa9c) { + var _0x560849 = _0xa9fa9c['call'](_0x460146, _0x32cf07 || _0x271683(0x1d3)); + if ('object' != typeof _0x560849) + return _0x560849; + throw new TypeError(_0x271683(0x358)); + } + return ('string' === _0x32cf07 ? String : Number)(_0x460146); + } + + function _0x32e885(_0x225644) { + var _0x1eb479 = w_0x25f3 + , _0x45c5d4 = _0x4ad3b0(_0x225644, _0x1eb479(0x33c)); + return _0x1eb479(0x2ed) == typeof _0x45c5d4 ? _0x45c5d4 : String(_0x45c5d4); + } + + function _0xf47dc3(_0x1d62a3, _0xeb8470) { + var _0x31107e = w_0x25f3; + throw new Error(_0x31107e(0x1ff)); + } + + function _0x9d8dd5(_0x238b59, _0x206a18, _0x4378c6, _0x532e73) { + var _0x340b07 = w_0x25f3; + _0x4378c6 && Object[_0x340b07(0x175)](_0x238b59, _0x206a18, { + 'enumerable': _0x4378c6['enumerable'], + 'configurable': _0x4378c6[_0x340b07(0x2bc)], + 'writable': _0x4378c6[_0x340b07(0x2e3)], + 'value': _0x4378c6[_0x340b07(0x2d0)] ? _0x4378c6['initializer'][_0x340b07(0x334)](_0x532e73) : void (-0x1ae6 + -0x1 * -0xf6b + 0xb7b * 0x1) + }); + } + + function _0x271739(_0xb876c5, _0x285720, _0x361de9, _0x52c079, _0x38a76d) { + var _0x26b61e = w_0x25f3 + , _0x25c883 = {}; + return Object['keys'](_0x52c079)[_0x26b61e(0x254)](function (_0xd1a198) { + _0x25c883[_0xd1a198] = _0x52c079[_0xd1a198]; + }), + _0x25c883[_0x26b61e(0x23a)] = !!_0x25c883[_0x26b61e(0x23a)], + _0x25c883[_0x26b61e(0x2bc)] = !!_0x25c883[_0x26b61e(0x2bc)], + (_0x26b61e(0x2e4) in _0x25c883 || _0x25c883['initializer']) && (_0x25c883[_0x26b61e(0x2e3)] = !(0x21e8 + -0x7cf * -0x5 + -0x48f3)), + _0x25c883 = _0x361de9[_0x26b61e(0x2a5)]()[_0x26b61e(0x2f3)]()[_0x26b61e(0x376)](function (_0x490c4a, _0x3636f6) { + return _0x3636f6(_0xb876c5, _0x285720, _0x490c4a) || _0x490c4a; + }, _0x25c883), + _0x38a76d && void (0x1050 + 0x1 * 0x121f + -0x226f) !== _0x25c883[_0x26b61e(0x2d0)] && (_0x25c883[_0x26b61e(0x2e4)] = _0x25c883[_0x26b61e(0x2d0)] ? _0x25c883[_0x26b61e(0x2d0)][_0x26b61e(0x334)](_0x38a76d) : void (0x1392 + -0xbe * 0x23 + -0x1 * -0x668), + _0x25c883[_0x26b61e(0x2d0)] = void (-0x1 * -0x1b9a + 0x7f7 + -0x2391 * 0x1)), + void (0x53 * 0xb + 0xa2 * -0xf + 0x5ed) === _0x25c883[_0x26b61e(0x2d0)] && (Object[_0x26b61e(0x175)](_0xb876c5, _0x285720, _0x25c883), + _0x25c883 = null), + _0x25c883; + } + + _0x137ba2['prototype'][_0x5612de(0x1ee) == typeof Symbol && Symbol[_0x5612de(0x17c)] || _0x5612de(0x230)] = function () { + return this; + } + , + _0x137ba2[_0x5612de(0x344)]['next'] = function (_0x4262ae) { + var _0x1543b4 = _0x5612de; + return this[_0x1543b4(0x1b1)](_0x1543b4(0x389), _0x4262ae); + } + , + _0x137ba2[_0x5612de(0x344)]['throw'] = function (_0x29bafe) { + var _0x4c6950 = _0x5612de; + return this[_0x4c6950(0x1b1)]('throw', _0x29bafe); + } + , + _0x137ba2[_0x5612de(0x344)][_0x5612de(0x2fd)] = function (_0x49a53d) { + var _0x58f790 = _0x5612de; + return this[_0x58f790(0x1b1)](_0x58f790(0x2fd), _0x49a53d); + } + ; + var _0x371360 = 0x11 * -0x20 + 0x88 * -0x1f + 0x1298, _0x4d6c78, _0x312e19, _0x2a32a1, _0x371ac2; + + function _0x2ca065(_0x4c2f2d) { + var _0x4415ed = _0x5612de; + return _0x4415ed(0x365) + _0x371360++ + '_' + _0x4c2f2d; + } + + function _0x33f649(_0x59611c, _0xb8c4c1) { + var _0x22f43f = _0x5612de; + if (!Object['prototype'][_0x22f43f(0x3b8)][_0x22f43f(0x334)](_0x59611c, _0xb8c4c1)) + throw new TypeError(_0x22f43f(0x271)); + return _0x59611c; + } + + function _0x4c53b8(_0x467264, _0x1c39b3) { + var _0x12fb5e = _0x5612de; + return _0x1de0ff(_0x467264, _0x3feef3(_0x467264, _0x1c39b3, _0x12fb5e(0x32b))); + } + + function _0xf01d58(_0x248ad, _0xd514dd, _0x4ffcbe) { + var _0x2a0763 = _0x5612de; + return _0x30760d(_0x248ad, _0x3feef3(_0x248ad, _0xd514dd, _0x2a0763(0x1e4)), _0x4ffcbe), + _0x4ffcbe; + } + + function _0x3ff428(_0x59a12f, _0x2e6e68) { + var _0x1a4f4c = _0x5612de; + return _0x1af7ca(_0x59a12f, _0x3feef3(_0x59a12f, _0x2e6e68, _0x1a4f4c(0x1e4))); + } + + function _0x3feef3(_0x76bca3, _0x49ed2b, _0xf40042) { + var _0x26b65c = _0x5612de; + if (!_0x49ed2b[_0x26b65c(0x2fc)](_0x76bca3)) + throw new TypeError(_0x26b65c(0x2ad) + _0xf40042 + _0x26b65c(0x2bd)); + return _0x49ed2b[_0x26b65c(0x32b)](_0x76bca3); + } + + function _0x46f318(_0x2345ad, _0x29e732, _0x5d3874) { + var _0x1785a7 = _0x5612de; + return _0x3fbf28(_0x2345ad, _0x29e732), + _0x234ff5(_0x5d3874, _0x1785a7(0x32b)), + _0x1de0ff(_0x2345ad, _0x5d3874); + } + + function _0x3d490a(_0x421876, _0x556ee1, _0x489ccf, _0x32c792) { + return _0x3fbf28(_0x421876, _0x556ee1), + _0x234ff5(_0x489ccf, 'set'), + _0x30760d(_0x421876, _0x489ccf, _0x32c792), + _0x32c792; + } + + function _0x1f2159(_0x3c139e, _0xf1d93, _0xa6753b) { + return _0x3fbf28(_0x3c139e, _0xf1d93), + _0xa6753b; + } + + function _0x2fcc7b() { + var _0x52da1e = _0x5612de; + throw new TypeError(_0x52da1e(0x1bd)); + } + + function _0x1de0ff(_0x35f1cc, _0x2cd6a2) { + var _0x331169 = _0x5612de; + return _0x2cd6a2[_0x331169(0x32b)] ? _0x2cd6a2[_0x331169(0x32b)][_0x331169(0x334)](_0x35f1cc) : _0x2cd6a2[_0x331169(0x2e4)]; + } + + function _0x30760d(_0x26c16c, _0x3bf250, _0x4bb532) { + var _0x4b5758 = _0x5612de; + if (_0x3bf250['set']) + _0x3bf250['set'][_0x4b5758(0x334)](_0x26c16c, _0x4bb532); + else { + if (!_0x3bf250['writable']) + throw new TypeError('attempted\x20to\x20set\x20read\x20only\x20private\x20field'); + _0x3bf250['value'] = _0x4bb532; + } + } + + function _0x1af7ca(_0x38569e, _0x4d9da9) { + var _0x8504a5 = _0x5612de; + if (_0x4d9da9[_0x8504a5(0x1e4)]) + return _0x8504a5(0x36f) in _0x4d9da9 || (_0x4d9da9['__destrObj'] = { + set 'value'(_0xa3d23) { + var _0x3d920b = _0x8504a5; + _0x4d9da9[_0x3d920b(0x1e4)][_0x3d920b(0x334)](_0x38569e, _0xa3d23); + } + }), + _0x4d9da9['__destrObj']; + if (!_0x4d9da9[_0x8504a5(0x2e3)]) + throw new TypeError('attempted\x20to\x20set\x20read\x20only\x20private\x20field'); + return _0x4d9da9; + } + + function _0x153ad5(_0x361a17, _0x4bf341, _0x38ef34) { + var _0x36fea3 = _0x5612de; + return _0x3fbf28(_0x361a17, _0x4bf341), + _0x234ff5(_0x38ef34, _0x36fea3(0x1e4)), + _0x1af7ca(_0x361a17, _0x38ef34); + } + + function _0x3fbf28(_0x1609bf, _0x372dbd) { + if (_0x1609bf !== _0x372dbd) + throw new TypeError('Private\x20static\x20access\x20of\x20wrong\x20provenance'); + } + + function _0x234ff5(_0x5dcf40, _0xa0e3be) { + var _0x4d5828 = _0x5612de; + if (void (0x9 * 0x3b9 + -0x7 * -0x2bb + -0x382 * 0xf) === _0x5dcf40) + throw new TypeError(_0x4d5828(0x2ad) + _0xa0e3be + '\x20private\x20static\x20field\x20before\x20its\x20declaration'); + } + + function _0x3cd893(_0x4d4ac2, _0x117b1a, _0x13ebad, _0x227002) { + var _0x404d8d = _0x5612de + , _0x21250e = _0xdaf8f6(); + if (_0x227002) { + for (var _0x1ad96b = -0x1 * -0x109d + 0x157 + -0x11f4; _0x1ad96b < _0x227002[_0x404d8d(0x259)]; _0x1ad96b++) + _0x21250e = _0x227002[_0x1ad96b](_0x21250e); + } + var _0x176094 = _0x117b1a(function (_0x32bc32) { + var _0x1f970f = _0x404d8d; + _0x21250e[_0x1f970f(0x313)](_0x32bc32, _0x1fa626[_0x1f970f(0x265)]); + }, _0x13ebad) + , + _0x1fa626 = _0x21250e[_0x404d8d(0x2df)](_0x872852(_0x176094['d'][_0x404d8d(0x1cb)](_0x210308)), _0x4d4ac2); + return _0x21250e[_0x404d8d(0x217)](_0x176094['F'], _0x1fa626[_0x404d8d(0x265)]), + _0x21250e[_0x404d8d(0x165)](_0x176094['F'], _0x1fa626[_0x404d8d(0x39c)]); + } + + function _0xdaf8f6() { + var _0x3fa41d = _0x5612de; + _0xdaf8f6 = function () { + return _0x513b0e; + } + ; + var _0x513b0e = { + 'elementsDefinitionOrder': [[_0x3fa41d(0x25a)], [_0x3fa41d(0x23c)]], + 'initializeInstanceElements': function (_0x179aa6, _0x25d5cd) { + var _0x557071 = _0x3fa41d; + [_0x557071(0x25a), _0x557071(0x23c)][_0x557071(0x254)](function (_0x2476e8) { + var _0x9b5c0b = _0x557071; + _0x25d5cd[_0x9b5c0b(0x254)](function (_0x299a4a) { + var _0x53da95 = _0x9b5c0b; + _0x299a4a['kind'] === _0x2476e8 && _0x53da95(0x235) === _0x299a4a[_0x53da95(0x215)] && this[_0x53da95(0x2e1)](_0x179aa6, _0x299a4a); + }, this); + }, this); + }, + 'initializeClassElements': function (_0x300a4c, _0x38031f) { + var _0x450502 = _0x3fa41d + , _0x4e1581 = _0x300a4c[_0x450502(0x344)]; + [_0x450502(0x25a), _0x450502(0x23c)]['forEach'](function (_0x2fde74) { + _0x38031f['forEach'](function (_0xe5e082) { + var _0x123341 = w_0x25f3 + , _0x174ec4 = _0xe5e082[_0x123341(0x215)]; + if (_0xe5e082[_0x123341(0x26f)] === _0x2fde74 && (_0x123341(0x396) === _0x174ec4 || _0x123341(0x344) === _0x174ec4)) { + var _0x184ef0 = _0x123341(0x396) === _0x174ec4 ? _0x300a4c : _0x4e1581; + this[_0x123341(0x2e1)](_0x184ef0, _0xe5e082); + } + }, this); + }, this); + }, + 'defineClassElement': function (_0x2e2a2c, _0x5db810) { + var _0x522104 = _0x3fa41d + , _0x2d7321 = _0x5db810['descriptor']; + if (_0x522104(0x23c) === _0x5db810[_0x522104(0x26f)]) { + var _0x554ae6 = _0x5db810[_0x522104(0x2d0)]; + _0x2d7321 = { + 'enumerable': _0x2d7321[_0x522104(0x23a)], + 'writable': _0x2d7321[_0x522104(0x2e3)], + 'configurable': _0x2d7321[_0x522104(0x2bc)], + 'value': void (-0x1 * 0x3bd + 0x1ef9 + -0x1b3c) === _0x554ae6 ? void (0x1 * 0x1afe + 0xcd0 + 0x7f6 * -0x5) : _0x554ae6[_0x522104(0x334)](_0x2e2a2c) + }; + } + Object[_0x522104(0x175)](_0x2e2a2c, _0x5db810['key'], _0x2d7321); + }, + 'decorateClass': function (_0x4d5101, _0x1a7961) { + var _0x129760 = _0x3fa41d + , _0x1a31cc = [] + , _0x3f7e89 = [] + , _0xf8b039 = { + 'static': [], + 'prototype': [], + 'own': [] + }; + if (_0x4d5101[_0x129760(0x254)](function (_0x5c0ba5) { + var _0x27d627 = _0x129760; + this[_0x27d627(0x33d)](_0x5c0ba5, _0xf8b039); + }, this), + _0x4d5101[_0x129760(0x254)](function (_0x239102) { + var _0x151241 = _0x129760; + if (!_0x51f3b5(_0x239102)) + return _0x1a31cc[_0x151241(0x36e)](_0x239102); + var _0x43ec40 = this[_0x151241(0x1ac)](_0x239102, _0xf8b039); + _0x1a31cc[_0x151241(0x36e)](_0x43ec40[_0x151241(0x206)]), + _0x1a31cc[_0x151241(0x36e)]['apply'](_0x1a31cc, _0x43ec40[_0x151241(0x3bc)]), + _0x3f7e89[_0x151241(0x36e)]['apply'](_0x3f7e89, _0x43ec40[_0x151241(0x39c)]); + }, this), + !_0x1a7961) + return { + 'elements': _0x1a31cc, + 'finishers': _0x3f7e89 + }; + var _0x857545 = this[_0x129760(0x34c)](_0x1a31cc, _0x1a7961); + return _0x3f7e89['push'][_0x129760(0x207)](_0x3f7e89, _0x857545[_0x129760(0x39c)]), + _0x857545[_0x129760(0x39c)] = _0x3f7e89, + _0x857545; + }, + 'addElementPlacement': function (_0x9cedb8, _0x4c2171, _0xa6e6c8) { + var _0x5d3aa1 = _0x3fa41d + , _0x33e5e0 = _0x4c2171[_0x9cedb8[_0x5d3aa1(0x215)]]; + if (!_0xa6e6c8 && -(-0x1a83 + -0x1 * -0x16ee + 0x99 * 0x6) !== _0x33e5e0['indexOf'](_0x9cedb8['key'])) + throw new TypeError('Duplicated\x20element\x20(' + _0x9cedb8[_0x5d3aa1(0x392)] + ')'); + _0x33e5e0[_0x5d3aa1(0x36e)](_0x9cedb8[_0x5d3aa1(0x392)]); + }, + 'decorateElement': function (_0x463258, _0x11d852) { + var _0x495609 = _0x3fa41d; + for (var _0x4c5aa5 = [], _0x46b095 = [], _0x106243 = _0x463258['decorators'], _0x195d25 = _0x106243[_0x495609(0x259)] - (-0x1d5c * -0x1 + 0x1aa9 + 0x956 * -0x6); _0x195d25 >= 0x18ee + 0x1 * 0x1c19 + 0xf * -0x389; _0x195d25--) { + var _0x425891 = _0x11d852[_0x463258[_0x495609(0x215)]]; + _0x425891[_0x495609(0x2ec)](_0x425891[_0x495609(0x2c5)](_0x463258[_0x495609(0x392)]), 0x1 * 0xca7 + -0xaf * -0xb + -0x142b); + var _0x30722d = this[_0x495609(0x372)](_0x463258) + , _0x15a14c = this[_0x495609(0x18a)]((0x61 * 0x2d + 0x1545 + -0x1 * 0x2652, + _0x106243[_0x195d25])(_0x30722d) || _0x30722d); + _0x463258 = _0x15a14c['element'], + this['addElementPlacement'](_0x463258, _0x11d852), + _0x15a14c[_0x495609(0x2f4)] && _0x46b095[_0x495609(0x36e)](_0x15a14c[_0x495609(0x2f4)]); + var _0x98e9dc = _0x15a14c[_0x495609(0x3bc)]; + if (_0x98e9dc) { + for (var _0x56dd4d = 0xb * 0x12e + -0x1f17 + -0x121d * -0x1; _0x56dd4d < _0x98e9dc[_0x495609(0x259)]; _0x56dd4d++) + this[_0x495609(0x33d)](_0x98e9dc[_0x56dd4d], _0x11d852); + _0x4c5aa5[_0x495609(0x36e)]['apply'](_0x4c5aa5, _0x98e9dc); + } + } + return { + 'element': _0x463258, + 'finishers': _0x46b095, + 'extras': _0x4c5aa5 + }; + }, + 'decorateConstructor': function (_0x2a4d32, _0x2666ea) { + var _0x5e156c = _0x3fa41d; + for (var _0xb2f010 = [], _0x17b2e4 = _0x2666ea[_0x5e156c(0x259)] - (0x21c0 + -0xc8e * 0x2 + -0x8a3 * 0x1); _0x17b2e4 >= -0x1c70 + -0x1 * -0x1256 + -0x1af * -0x6; _0x17b2e4--) { + var _0x222759 = this[_0x5e156c(0x193)](_0x2a4d32) + , _0xc41f78 = this[_0x5e156c(0x324)]((0x1f46 + 0x81d * 0x2 + -0x5f * 0x80, + _0x2666ea[_0x17b2e4])(_0x222759) || _0x222759); + if (void (0x1373 + 0x2b1 * -0x2 + -0x1 * 0xe11) !== _0xc41f78[_0x5e156c(0x2f4)] && _0xb2f010[_0x5e156c(0x36e)](_0xc41f78[_0x5e156c(0x2f4)]), + void (0x31 * -0xb5 + -0x11 * 0x67 + 0x84c * 0x5) !== _0xc41f78['elements']) { + _0x2a4d32 = _0xc41f78[_0x5e156c(0x265)]; + for (var _0x38c2da = -0x1 * -0xc12 + 0x7 * -0x28d + 0x5c9; _0x38c2da < _0x2a4d32[_0x5e156c(0x259)] - (0x59f * 0x6 + -0x1 * -0x1c6d + 0x25 * -0x1ae); _0x38c2da++) + for (var _0x2950ed = _0x38c2da + (0x1b91 * 0x1 + -0xbc0 + -0x8 * 0x1fa); _0x2950ed < _0x2a4d32['length']; _0x2950ed++) + if (_0x2a4d32[_0x38c2da][_0x5e156c(0x392)] === _0x2a4d32[_0x2950ed][_0x5e156c(0x392)] && _0x2a4d32[_0x38c2da][_0x5e156c(0x215)] === _0x2a4d32[_0x2950ed][_0x5e156c(0x215)]) + throw new TypeError(_0x5e156c(0x367) + _0x2a4d32[_0x38c2da][_0x5e156c(0x392)] + ')'); + } + } + return { + 'elements': _0x2a4d32, + 'finishers': _0xb2f010 + }; + }, + 'fromElementDescriptor': function (_0x4a43c8) { + var _0x302152 = _0x3fa41d + , _0x406d6b = { + 'kind': _0x4a43c8[_0x302152(0x26f)], + 'key': _0x4a43c8['key'], + 'placement': _0x4a43c8['placement'], + 'descriptor': _0x4a43c8[_0x302152(0x20f)] + }; + return Object[_0x302152(0x175)](_0x406d6b, Symbol[_0x302152(0x1c0)], { + 'value': _0x302152(0x1e8), + 'configurable': !(-0x1b3a + 0x21bb * 0x1 + -0x14d * 0x5) + }), + _0x302152(0x23c) === _0x4a43c8['kind'] && (_0x406d6b[_0x302152(0x2d0)] = _0x4a43c8['initializer']), + _0x406d6b; + }, + 'toElementDescriptors': function (_0x14be66) { + if (void (0x1f48 + -0x19fe + 0x2a5 * -0x2) !== _0x14be66) + return _0x5c885(_0x14be66)['map'](function (_0x170c20) { + var _0x5285ee = w_0x25f3 + , _0xf0c7ce = this[_0x5285ee(0x25e)](_0x170c20); + return this['disallowProperty'](_0x170c20, _0x5285ee(0x2f4), _0x5285ee(0x21f)), + this[_0x5285ee(0x21a)](_0x170c20, _0x5285ee(0x3bc), _0x5285ee(0x21f)), + _0xf0c7ce; + }, this); + }, + 'toElementDescriptor': function (_0x4c8a60) { + var _0x1fc4d7 = _0x3fa41d + , _0x33cfb6 = String(_0x4c8a60[_0x1fc4d7(0x26f)]); + if (_0x1fc4d7(0x25a) !== _0x33cfb6 && _0x1fc4d7(0x23c) !== _0x33cfb6) + throw new TypeError('An\x20element\x20descriptor\x27s\x20.kind\x20property\x20must\x20be\x20either\x20\x22method\x22\x20or\x20\x22field\x22,\x20but\x20a\x20decorator\x20created\x20an\x20element\x20descriptor\x20with\x20.kind\x20\x22' + _0x33cfb6 + '\x22'); + var _0xebb768 = _0x32e885(_0x4c8a60[_0x1fc4d7(0x392)]) + , _0x52ab63 = String(_0x4c8a60[_0x1fc4d7(0x215)]); + if (_0x1fc4d7(0x396) !== _0x52ab63 && _0x1fc4d7(0x344) !== _0x52ab63 && _0x1fc4d7(0x235) !== _0x52ab63) + throw new TypeError(_0x1fc4d7(0x2b5) + _0x52ab63 + '\x22'); + var _0x33ee46 = _0x4c8a60[_0x1fc4d7(0x20f)]; + this[_0x1fc4d7(0x21a)](_0x4c8a60, 'elements', _0x1fc4d7(0x21f)); + var _0x1ca161 = { + 'kind': _0x33cfb6, + 'key': _0xebb768, + 'placement': _0x52ab63, + 'descriptor': Object[_0x1fc4d7(0x2a0)]({}, _0x33ee46) + }; + return _0x1fc4d7(0x23c) !== _0x33cfb6 ? this[_0x1fc4d7(0x21a)](_0x4c8a60, _0x1fc4d7(0x2d0), _0x1fc4d7(0x28d)) : (this['disallowProperty'](_0x33ee46, _0x1fc4d7(0x32b), _0x1fc4d7(0x277)), + this['disallowProperty'](_0x33ee46, 'set', _0x1fc4d7(0x277)), + this['disallowProperty'](_0x33ee46, _0x1fc4d7(0x2e4), _0x1fc4d7(0x277)), + _0x1ca161['initializer'] = _0x4c8a60[_0x1fc4d7(0x2d0)]), + _0x1ca161; + }, + 'toElementFinisherExtras': function (_0x53b840) { + var _0x1157c0 = _0x3fa41d; + return { + 'element': this[_0x1157c0(0x25e)](_0x53b840), + 'finisher': _0x22df7b(_0x53b840, _0x1157c0(0x2f4)), + 'extras': this[_0x1157c0(0x370)](_0x53b840['extras']) + }; + }, + 'fromClassDescriptor': function (_0x30c308) { + var _0x482b04 = _0x3fa41d + , _0xf231c1 = { + 'kind': _0x482b04(0x19c), + 'elements': _0x30c308['map'](this[_0x482b04(0x372)], this) + }; + return Object[_0x482b04(0x175)](_0xf231c1, Symbol[_0x482b04(0x1c0)], { + 'value': _0x482b04(0x1e8), + 'configurable': !(0xf * -0xf1 + 0x1 * -0xcfe + -0x1b1d * -0x1) + }), + _0xf231c1; + }, + 'toClassDescriptor': function (_0x178ca0) { + var _0x2520a1 = _0x3fa41d + , _0x79f336 = String(_0x178ca0[_0x2520a1(0x26f)]); + if ('class' !== _0x79f336) + throw new TypeError('A\x20class\x20descriptor\x27s\x20.kind\x20property\x20must\x20be\x20\x22class\x22,\x20but\x20a\x20decorator\x20created\x20a\x20class\x20descriptor\x20with\x20.kind\x20\x22' + _0x79f336 + '\x22'); + this['disallowProperty'](_0x178ca0, _0x2520a1(0x392), 'A\x20class\x20descriptor'), + this[_0x2520a1(0x21a)](_0x178ca0, _0x2520a1(0x215), 'A\x20class\x20descriptor'), + this[_0x2520a1(0x21a)](_0x178ca0, _0x2520a1(0x20f), _0x2520a1(0x1a1)), + this['disallowProperty'](_0x178ca0, 'initializer', _0x2520a1(0x1a1)), + this[_0x2520a1(0x21a)](_0x178ca0, _0x2520a1(0x3bc), 'A\x20class\x20descriptor'); + var _0x154e32 = _0x22df7b(_0x178ca0, _0x2520a1(0x2f4)); + return { + 'elements': this['toElementDescriptors'](_0x178ca0['elements']), + 'finisher': _0x154e32 + }; + }, + 'runClassFinishers': function (_0x58401c, _0x3ff489) { + var _0x4a8de1 = _0x3fa41d; + for (var _0x5ec766 = 0x13b0 + -0xe05 + 0x1 * -0x5ab; _0x5ec766 < _0x3ff489[_0x4a8de1(0x259)]; _0x5ec766++) { + var _0x176fd2 = (0x7d * -0x25 + 0x101 * 0x14 + 0x5 * -0x67, + _0x3ff489[_0x5ec766])(_0x58401c); + if (void (-0x1 * 0x200 + 0x1c4a + -0x1a4a) !== _0x176fd2) { + if (_0x4a8de1(0x1ee) != typeof _0x176fd2) + throw new TypeError('Finishers\x20must\x20return\x20a\x20constructor.'); + _0x58401c = _0x176fd2; + } + } + return _0x58401c; + }, + 'disallowProperty': function (_0x376492, _0x1998df, _0x46cda4) { + var _0x5b24b6 = _0x3fa41d; + if (void (0x2239 + -0xa67 + -0x17d2) !== _0x376492[_0x1998df]) + throw new TypeError(_0x46cda4 + _0x5b24b6(0x232) + _0x1998df + _0x5b24b6(0x2a1)); + } + }; + return _0x513b0e; + } + + function _0x210308(_0x5bae0) { + var _0x509268 = _0x5612de, _0x2061f6, _0x1daa96 = _0x32e885(_0x5bae0['key']); + _0x509268(0x25a) === _0x5bae0[_0x509268(0x26f)] ? _0x2061f6 = { + 'value': _0x5bae0[_0x509268(0x2e4)], + 'writable': !(-0x286 + -0x3 * -0x83b + -0x162b), + 'configurable': !(-0x1 * -0x13f9 + -0x2 * -0x1127 + -0x3647), + 'enumerable': !(-0x210 * -0x1 + 0xf43 * -0x2 + 0x1c77) + } : _0x509268(0x32b) === _0x5bae0[_0x509268(0x26f)] ? _0x2061f6 = { + 'get': _0x5bae0['value'], + 'configurable': !(-0x4 * -0x87 + 0x25b6 + -0x13e9 * 0x2), + 'enumerable': !(0x4 * -0x105 + -0x8 * 0x3b + 0x5ed * 0x1) + } : 'set' === _0x5bae0[_0x509268(0x26f)] ? _0x2061f6 = { + 'set': _0x5bae0[_0x509268(0x2e4)], + 'configurable': !(-0x1 * -0xd7c + 0x24e2 + -0x325e), + 'enumerable': !(0x246b * -0x1 + -0xbdc + 0x67 * 0x78) + } : _0x509268(0x23c) === _0x5bae0['kind'] && (_0x2061f6 = { + 'configurable': !(-0x7 * 0x7c + 0x0 + -0x1 * -0x364), + 'writable': !(0x10cc + 0x93a + -0x1a06), + 'enumerable': !(-0x339 + -0xfd1 * -0x1 + -0xc98) + }); + var _0x12b911 = { + 'kind': _0x509268(0x23c) === _0x5bae0[_0x509268(0x26f)] ? _0x509268(0x23c) : 'method', + 'key': _0x1daa96, + 'placement': _0x5bae0[_0x509268(0x396)] ? _0x509268(0x396) : 'field' === _0x5bae0[_0x509268(0x26f)] ? 'own' : _0x509268(0x344), + 'descriptor': _0x2061f6 + }; + return _0x5bae0['decorators'] && (_0x12b911[_0x509268(0x1b7)] = _0x5bae0[_0x509268(0x1b7)]), + _0x509268(0x23c) === _0x5bae0['kind'] && (_0x12b911['initializer'] = _0x5bae0[_0x509268(0x2e4)]), + _0x12b911; + } + + function _0x3b2c5d(_0x1d2cd7, _0x5043bf) { + var _0x6af88f = _0x5612de; + void (-0x1c1e + -0x19 * -0xd9 + -0x1 * -0x6ed) !== _0x1d2cd7[_0x6af88f(0x20f)][_0x6af88f(0x32b)] ? _0x5043bf['descriptor'][_0x6af88f(0x32b)] = _0x1d2cd7['descriptor'][_0x6af88f(0x32b)] : _0x5043bf['descriptor']['set'] = _0x1d2cd7[_0x6af88f(0x20f)][_0x6af88f(0x1e4)]; + } + + function _0x872852(_0x11fd7b) { + var _0x45b70e = _0x5612de; + for (var _0x3d0947 = [], _0x1e20eb = function (_0x3c1862) { + var _0x56210d = w_0x25f3; + return _0x56210d(0x25a) === _0x3c1862[_0x56210d(0x26f)] && _0x3c1862[_0x56210d(0x392)] === _0x44502e['key'] && _0x3c1862[_0x56210d(0x215)] === _0x44502e[_0x56210d(0x215)]; + }, _0x2773ae = -0xdd7 + 0x5 * 0x3f6 + 0x5f7 * -0x1; _0x2773ae < _0x11fd7b[_0x45b70e(0x259)]; _0x2773ae++) { + var _0x152571, _0x44502e = _0x11fd7b[_0x2773ae]; + if (_0x45b70e(0x25a) === _0x44502e[_0x45b70e(0x26f)] && (_0x152571 = _0x3d0947['find'](_0x1e20eb))) { + if (_0x3f9244(_0x44502e[_0x45b70e(0x20f)]) || _0x3f9244(_0x152571[_0x45b70e(0x20f)])) { + if (_0x51f3b5(_0x44502e) || _0x51f3b5(_0x152571)) + throw new ReferenceError('Duplicated\x20methods\x20(' + _0x44502e[_0x45b70e(0x392)] + _0x45b70e(0x20b)); + _0x152571[_0x45b70e(0x20f)] = _0x44502e[_0x45b70e(0x20f)]; + } else { + if (_0x51f3b5(_0x44502e)) { + if (_0x51f3b5(_0x152571)) + throw new ReferenceError('Decorators\x20can\x27t\x20be\x20placed\x20on\x20different\x20accessors\x20with\x20for\x20the\x20same\x20property\x20(' + _0x44502e['key'] + ').'); + _0x152571[_0x45b70e(0x1b7)] = _0x44502e[_0x45b70e(0x1b7)]; + } + _0x3b2c5d(_0x44502e, _0x152571); + } + } else + _0x3d0947[_0x45b70e(0x36e)](_0x44502e); + } + return _0x3d0947; + } + + function _0x51f3b5(_0x3b7753) { + var _0x46d225 = _0x5612de; + return _0x3b7753[_0x46d225(0x1b7)] && _0x3b7753['decorators']['length']; + } + + function _0x3f9244(_0x197382) { + var _0x1ec41e = _0x5612de; + return void (0xa8 + 0x12a * -0x4 + 0x400) !== _0x197382 && !(void (-0x2 * -0x955 + -0x965 + -0x945) === _0x197382[_0x1ec41e(0x2e4)] && void (-0x403 + 0xd * 0x1e2 + -0x1477) === _0x197382[_0x1ec41e(0x2e3)]); + } + + function _0x22df7b(_0x1a9e0b, _0x4c3aa6) { + var _0x2004a6 = _0x5612de + , _0x42d7e1 = _0x1a9e0b[_0x4c3aa6]; + if (void (-0x1ab * -0x11 + -0x2164 + 0x1 * 0x509) !== _0x42d7e1 && _0x2004a6(0x1ee) != typeof _0x42d7e1) + throw new TypeError('Expected\x20\x27' + _0x4c3aa6 + _0x2004a6(0x200)); + return _0x42d7e1; + } + + function _0x44a779(_0x290bd9, _0x3c4184, _0x356c04) { + var _0x5e1d0b = _0x5612de; + if (!_0x3c4184[_0x5e1d0b(0x2fc)](_0x290bd9)) + throw new TypeError(_0x5e1d0b(0x187)); + return _0x356c04; + } + + function _0x227cd9(_0x44aab6, _0x47792b) { + var _0x50e6e8 = _0x5612de; + if (_0x47792b[_0x50e6e8(0x2fc)](_0x44aab6)) + throw new TypeError('Cannot\x20initialize\x20the\x20same\x20private\x20elements\x20twice\x20on\x20an\x20object'); + } + + function _0x41d2eb(_0x2d54de, _0x30b42b, _0x3cc210) { + _0x227cd9(_0x2d54de, _0x30b42b), + _0x30b42b['set'](_0x2d54de, _0x3cc210); + } + + function _0x4fd04a(_0x1b36b3, _0x1a6559) { + var _0x1aaac6 = _0x5612de; + _0x227cd9(_0x1b36b3, _0x1a6559), + _0x1a6559[_0x1aaac6(0x332)](_0x1b36b3); + } + + function _0x4fb313() { + throw new TypeError('attempted\x20to\x20reassign\x20private\x20method'); + } + + function _0x4e4f66(_0x9f7990) { + return _0x9f7990; + } + + _0x5612de(0x1ee) != typeof Object[_0x5612de(0x2a0)] && Object['defineProperty'](Object, _0x5612de(0x2a0), { + 'value': function (_0x478fa2, _0x273756) { + var _0x2b8676 = _0x5612de; + if (null == _0x478fa2) + throw new TypeError(_0x2b8676(0x2cf)); + for (var _0x451cfb = Object(_0x478fa2), _0x5c5079 = -0xb5d + -0x15f0 + 0x214e; _0x5c5079 < arguments[_0x2b8676(0x259)]; _0x5c5079++) { + var _0x3059a4 = arguments[_0x5c5079]; + if (null != _0x3059a4) { + for (var _0x3ede90 in _0x3059a4) + Object[_0x2b8676(0x344)][_0x2b8676(0x3b8)][_0x2b8676(0x334)](_0x3059a4, _0x3ede90) && (_0x451cfb[_0x3ede90] = _0x3059a4[_0x3ede90]); + } + } + return _0x451cfb; + }, + 'writable': !(0x3d * -0x43 + 0x2368 + -0x1371), + 'configurable': !(0x12a + -0x1692 + 0x1568) + }), + Object[_0x5612de(0x17f)] || (Object['keys'] = (_0x4d6c78 = Object[_0x5612de(0x344)][_0x5612de(0x3b8)], + _0x312e19 = !{ + 'toString': null + }[_0x5612de(0x1da)]('toString'), + _0x2a32a1 = [_0x5612de(0x3ae), _0x5612de(0x2c8), _0x5612de(0x303), _0x5612de(0x3b8), 'isPrototypeOf', _0x5612de(0x1da), 'constructor'], + _0x371ac2 = _0x2a32a1[_0x5612de(0x259)], + function (_0x457a19) { + var _0x2d3152 = _0x5612de; + if (_0x2d3152(0x1ee) != typeof _0x457a19 && (_0x2d3152(0x17d) !== _0x1db123(_0x457a19) || null === _0x457a19)) + throw new TypeError(_0x2d3152(0x374)); + var _0x11aef0, _0x29131e, _0x4c2a63 = []; + for (_0x11aef0 in _0x457a19) + _0x4d6c78[_0x2d3152(0x334)](_0x457a19, _0x11aef0) && _0x4c2a63[_0x2d3152(0x36e)](_0x11aef0); + if (_0x312e19) { + for (_0x29131e = -0x2406 + -0x1209 + 0x1 * 0x360f; _0x29131e < _0x371ac2; _0x29131e++) + _0x4d6c78['call'](_0x457a19, _0x2a32a1[_0x29131e]) && _0x4c2a63[_0x2d3152(0x36e)](_0x2a32a1[_0x29131e]); + } + return _0x4c2a63; + } + )); + var _0x45b94b = { + '__version__': _0x5612de(0x167), + 'feVersion': 0x2, + 'domNotValid': !(-0x1e27 + -0x3fa * -0x2 + 0x1634), + 'refererKey': _0x5612de(0x318), + 'pushVersion': _0x5612de(0x2ca), + 'secInfoHeader': _0x5612de(0x248) + }; + + function _0x598972(_0x215b45, _0x2d7329) { + var _0x401595 = _0x5612de; + if (_0x401595(0x33c) == typeof _0x2d7329) + for (var _0x5d92d9, _0x112fe4 = _0x215b45 + '=', _0x28aeed = _0x2d7329[_0x401595(0x342)](/[;&]/), _0x26307f = 0x11 * -0x97 + 0x126 * -0xd + -0x1 * -0x18f5; _0x26307f < _0x28aeed[_0x401595(0x259)]; _0x26307f++) { + for (_0x5d92d9 = _0x28aeed[_0x26307f]; '\x20' === _0x5d92d9['charAt'](0x1589 + 0x5e4 + 0x7 * -0x3eb);) + _0x5d92d9 = _0x5d92d9[_0x401595(0x1b0)](-0x16d9 + -0x1 * 0x99c + 0x2 * 0x103b, _0x5d92d9['length']); + if (0x15cd + -0x1235 + 0x1 * -0x398 === _0x5d92d9[_0x401595(0x2c5)](_0x112fe4)) + return _0x5d92d9[_0x401595(0x1b0)](_0x112fe4[_0x401595(0x259)], _0x5d92d9[_0x401595(0x259)]); + } + } + + function _0x24dc34(_0x3e96bb) { + var _0x22cc3b = _0x5612de; + try { + var _0xdacad4 = ''; + return window['sessionStorage'] && (_0xdacad4 = window['sessionStorage'][_0x22cc3b(0x2d8)](_0x3e96bb)) || window[_0x22cc3b(0x1dc)] && (_0xdacad4 = window[_0x22cc3b(0x1dc)][_0x22cc3b(0x2d8)](_0x3e96bb)) ? _0xdacad4 : _0xdacad4 = _0x598972(_0x3e96bb, document['cookie']); + } catch (_0x195c1d) { + return ''; + } + } + + function _0x1f42cb(_0x247ee6, _0x28501b) { + var _0xfed486 = _0x5612de; + try { + window[_0xfed486(0x3be)] && window['sessionStorage']['setItem'](_0x247ee6, _0x28501b), + window[_0xfed486(0x1dc)] && window[_0xfed486(0x1dc)][_0xfed486(0x1c4)](_0x247ee6, _0x28501b), + (document[_0xfed486(0x272)] = _0x247ee6 + _0xfed486(0x35e), + document[_0xfed486(0x272)] = _0x247ee6 + '=' + _0x28501b + _0xfed486(0x1c1) + new Date(new Date()['getTime']() + (0x10 * 0x792317 + 0x37870478 + -0x2 * 0xd8658f4))[_0xfed486(0x15e)]() + _0xfed486(0x3c1)); + } catch (_0x2bd822) { + } + } + + function _0x2ecc5a(_0x5893e4) { + var _0x3a0d7f = _0x5612de; + try { + window[_0x3a0d7f(0x3be)] && window['sessionStorage']['removeItem'](_0x5893e4), + window[_0x3a0d7f(0x1dc)] && window[_0x3a0d7f(0x1dc)][_0x3a0d7f(0x2c3)](_0x5893e4), + document[_0x3a0d7f(0x272)] = _0x5893e4 + _0x3a0d7f(0x35e); + } catch (_0x2f5b70) { + } + } + + for (var _0x462335 = { + 'boe': !(0x1e0d + -0x1093 * 0x1 + -0xd79), + 'aid': 0x0, + 'dfp': !(-0x1 * 0x703 + 0x1025 + 0x29 * -0x39), + 'sdi': !(0x49 * -0x77 + -0x6da * 0x2 + -0x4 * -0xbe9), + 'enablePathList': [], + '_enablePathListRegex': [], + 'urlRewriteRules': [], + '_urlRewriteRules': [], + 'initialized': !(-0x31 * 0x3d + 0x9df + 0x1cf), + 'enableTrack': !(0x89 * -0x1a + -0x21ca + 0x2fb5), + 'track': { + 'unitTime': 0x0, + 'unitAmount': 0x0, + 'fre': 0x0 + }, + 'triggerUnload': !(-0x3e5 * -0x5 + -0x23cb + 0x3 * 0x571), + 'region': '', + 'regionConf': {}, + 'umode': 0x0, + 'v': !(-0x1155 + -0x25d4 + -0x1 * -0x372a), + '_enableSignature': [], + 'perf': !(0x1 * -0x1c2e + 0xef8 + -0xc7 * -0x11), + 'xxbg': !(-0xf75 + 0x3 * 0x4e5 + 0x12 * 0xb) + }, _0x3d40ff = { + 'debug': function (_0x2cf151, _0x4acfb1) { + var _0x1b6639 = _0x5612de; + _0x462335[_0x1b6639(0x1b6)]; + } + }, _0x100715 = _0x5612de(0x2d7)[_0x5612de(0x342)](''), _0x1f510e = [], _0x37750d = [], _0x1cb307 = -0xe55 + 0x1c37 + 0x2 * -0x6f1; _0x1cb307 < 0x241b + 0x10 * -0xe6 + -0x1 * 0x14bb; _0x1cb307++) + _0x1f510e[_0x1cb307] = _0x100715[_0x1cb307 >> 0xd03 + -0x269a + 0x1 * 0x199b & 0xa64 * 0x3 + -0xf7b + -0xfa2] + _0x100715[0x2bb + -0x3 * 0x92d + 0x18db & _0x1cb307], + _0x1cb307 < -0x1 * -0x82 + 0x34 * -0x3b + -0x2 * -0x5c5 && (_0x1cb307 < 0x10f1 * 0x1 + 0x86a * 0x4 + -0x328f ? _0x37750d[-0x2029 + -0x1ef1 + -0x3f4a * -0x1 + _0x1cb307] = _0x1cb307 : _0x37750d[-0x2485 + 0x1d * 0x6d + 0x1883 + _0x1cb307] = _0x1cb307); + var _0x55de18 = function (_0x33a277) { + var _0x5155ba = _0x5612de; + for (var _0x9eb2a1 = _0x33a277[_0x5155ba(0x259)], _0x1edfde = '', _0x2a69c4 = -0x1c39 + 0x569 + 0x16d0; _0x2a69c4 < _0x9eb2a1;) + _0x1edfde += _0x1f510e[_0x33a277[_0x2a69c4++]]; + return _0x1edfde; + } + , _0x655940 = function (_0x177456) { + for (var _0x1ffb9c = _0x177456['length'] >> 0x1 * 0x104b + 0x10b1 + -0x20fb, _0x3563ef = _0x1ffb9c << -0x1 * -0x263 + -0x77 * -0x21 + 0xd * -0x15d, _0x22520c = new Uint8Array(_0x1ffb9c), _0x32553 = 0x345 * 0x9 + -0x1e9a + -0x1 * -0x12d, _0x11b847 = 0x1 * 0x623 + -0x239f * -0x1 + -0x29c2; _0x11b847 < _0x3563ef;) + _0x22520c[_0x32553++] = _0x37750d[_0x177456['charCodeAt'](_0x11b847++)] << -0x1551 + -0xb5a + 0x20af * 0x1 | _0x37750d[_0x177456['charCodeAt'](_0x11b847++)]; + return _0x22520c; + } + , _0x42e709 = { + 'encode': _0x55de18, + 'decode': _0x655940 + } + , + _0x1e7721 = _0x5612de(0x384) != typeof globalThis ? globalThis : _0x5612de(0x384) != typeof window ? window : _0x5612de(0x384) != typeof global ? global : 'undefined' != typeof self ? self : {}; + + function _0x3bc8d3(_0x14565d) { + var _0x442e14 = _0x5612de; + return _0x14565d && _0x14565d[_0x442e14(0x3bd)] && Object[_0x442e14(0x344)][_0x442e14(0x3b8)][_0x442e14(0x334)](_0x14565d, _0x442e14(0x1d3)) ? _0x14565d[_0x442e14(0x1d3)] : _0x14565d; + } + + function _0x3abc0b(_0x1ca7bd) { + var _0x292845 = _0x5612de; + return _0x1ca7bd && Object[_0x292845(0x344)]['hasOwnProperty'][_0x292845(0x334)](_0x1ca7bd, _0x292845(0x1d3)) ? _0x1ca7bd[_0x292845(0x1d3)] : _0x1ca7bd; + } + + function _0x41ace1(_0x2b7455) { + var _0x39470d = _0x5612de; + return _0x2b7455 && Object[_0x39470d(0x344)][_0x39470d(0x3b8)]['call'](_0x2b7455, _0x39470d(0x1d3)) && 0x155 + 0x16f8 + -0x184c === Object[_0x39470d(0x17f)](_0x2b7455)[_0x39470d(0x259)] ? _0x2b7455[_0x39470d(0x1d3)] : _0x2b7455; + } + + function _0x3e9554(_0x22797e) { + var _0x1fa97f = _0x5612de; + if (_0x22797e[_0x1fa97f(0x3bd)]) + return _0x22797e; + var _0x21d08f = Object[_0x1fa97f(0x175)]({}, _0x1fa97f(0x3bd), { + 'value': !(0x1f82 + -0x10d * 0x1d + 0x5 * -0x35) + }); + return Object[_0x1fa97f(0x17f)](_0x22797e)['forEach'](function (_0x19f7e0) { + var _0x1f5a81 = _0x1fa97f + , _0x3cf185 = Object[_0x1f5a81(0x2a6)](_0x22797e, _0x19f7e0); + Object['defineProperty'](_0x21d08f, _0x19f7e0, _0x3cf185[_0x1f5a81(0x32b)] ? _0x3cf185 : { + 'enumerable': !(-0x222 * -0x8 + 0x1 * -0x21ac + 0x84e * 0x2), + 'get': function () { + return _0x22797e[_0x19f7e0]; + } + }); + }), + _0x21d08f; + } + + function _0x56409e(_0x362d96) { + var _0x265452 = _0x5612de + , _0x5870ef = { + 'exports': {} + }; + return _0x362d96(_0x5870ef, _0x5870ef[_0x265452(0x1b8)]), + _0x5870ef['exports']; + } + + function _0x171dc9(_0x5983b9) { + var _0x32782f = _0x5612de; + throw new Error(_0x32782f(0x36d) + _0x5983b9 + _0x32782f(0x357)); + } + + var _0x90795 = _0x56409e(function (_0xb9c7d1) { + !(function () { + var _0x2db296 = w_0x25f3 + , _0x1f977a = 'input\x20is\x20invalid\x20type' + , _0x5a87b4 = _0x2db296(0x17d) == typeof window + , _0x11d177 = _0x5a87b4 ? window : {}; + _0x11d177[_0x2db296(0x37a)] && (_0x5a87b4 = !(-0x15c4 + 0x97d * -0x2 + 0xb7 * 0x39)); + var _0x387fd8 = !_0x5a87b4 && _0x2db296(0x17d) == typeof self + , + _0x2e1226 = !_0x11d177[_0x2db296(0x216)] && _0x2db296(0x17d) == typeof process && process[_0x2db296(0x194)] && process[_0x2db296(0x194)][_0x2db296(0x287)]; + _0x2e1226 ? _0x11d177 = _0x1e7721 : _0x387fd8 && (_0x11d177 = self); + var _0x299a21 = !_0x11d177['JS_MD5_NO_COMMON_JS'] && _0xb9c7d1[_0x2db296(0x1b8)], + _0x5efc8f = !(-0x8c4 + -0xc3a + -0x1 * -0x14ff), + _0x1edc95 = !_0x11d177[_0x2db296(0x2e6)] && 'undefined' != typeof ArrayBuffer, + _0x142491 = _0x2db296(0x2d7)[_0x2db296(0x342)](''), + _0x146907 = [0x148 * 0x5 + -0x753 * 0x2 + -0x175 * -0x6, 0x1 * 0x340b + 0x460a + 0x1f9 * 0x3, 0x2766cb + -0x6327ac + 0x353 * 0x387b, -(-0xc13e2aae + -0x3aff8440 + 0x17c3daeee)], + _0x4d13bd = [-0x1721 + -0x1 * 0x611 + 0x1d32, -0x390 + -0x3a5 * -0x3 + -0x757, 0x5fc + -0x64d * -0x2 + -0x1286, 0x278 + 0x3 * 0x105 + -0x56f], + _0x3f581b = [_0x2db296(0x352), _0x2db296(0x238), _0x2db296(0x19b), _0x2db296(0x275), 'arrayBuffer', _0x2db296(0x25f)], + _0xcb4d61 = _0x2db296(0x315)[_0x2db296(0x342)](''), _0x5c5e45 = [], _0x54b265; + if (_0x1edc95) { + var _0x171107 = new ArrayBuffer(0xc87 + -0xcd8 + 0x95); + _0x54b265 = new Uint8Array(_0x171107), + _0x5c5e45 = new Uint32Array(_0x171107); + } + !_0x11d177[_0x2db296(0x216)] && Array[_0x2db296(0x2af)] || (Array['isArray'] = function (_0x263669) { + var _0x1dd8cd = _0x2db296; + return _0x1dd8cd(0x331) === Object['prototype']['toString']['call'](_0x263669); + } + ), + !_0x1edc95 || !_0x11d177[_0x2db296(0x305)] && ArrayBuffer['isView'] || (ArrayBuffer['isView'] = function (_0x4d052f) { + var _0x23ceed = _0x2db296; + return _0x23ceed(0x17d) == typeof _0x4d052f && _0x4d052f[_0x23ceed(0x275)] && _0x4d052f['buffer'][_0x23ceed(0x2ac)] === ArrayBuffer; + } + ); + var _0x2e393f = function (_0x55b71b) { + return function (_0x6901ec) { + var _0x38b178 = w_0x25f3; + return new _0x22f902(!(0x191d + 0x9e + -0x19bb))[_0x38b178(0x2d5)](_0x6901ec)[_0x55b71b](); + } + ; + } + , _0x1edabb = function () { + var _0x5664ca = _0x2db296 + , _0x4c275f = _0x2e393f(_0x5664ca(0x352)); + _0x2e1226 && (_0x4c275f = _0x4d7e2d(_0x4c275f)), + _0x4c275f[_0x5664ca(0x3b7)] = function () { + return new _0x22f902(); + } + , + _0x4c275f['update'] = function (_0x5c3464) { + return _0x4c275f['create']()['update'](_0x5c3464); + } + ; + for (var _0x349d5f = -0x9d * -0x1f + 0x1 * 0x230c + -0x15 * 0x293; _0x349d5f < _0x3f581b[_0x5664ca(0x259)]; ++_0x349d5f) { + var _0x1537c4 = _0x3f581b[_0x349d5f]; + _0x4c275f[_0x1537c4] = _0x2e393f(_0x1537c4); + } + return _0x4c275f; + } + , _0x4d7e2d = function (_0x1afe1b) { + var _0x3e0a6e = eval('var _0x13db80 = w_0x25f3;require(_0x13db80(628));') + , _0x5bfe7e = eval('var _0x20dc8b = w_0x25f3;require(\'buffer\')[_0x20dc8b(424)];') + , _0x3d7396 = function (_0x5142ff) { + var _0x30639a = w_0x25f3; + if (_0x30639a(0x33c) == typeof _0x5142ff) + return _0x3e0a6e[_0x30639a(0x1ca)](_0x30639a(0x35c))[_0x30639a(0x2d5)](_0x5142ff, _0x30639a(0x2a8))[_0x30639a(0x19b)](_0x30639a(0x352)); + if (null == _0x5142ff) + throw _0x1f977a; + return _0x5142ff[_0x30639a(0x2ac)] === ArrayBuffer && (_0x5142ff = new Uint8Array(_0x5142ff)), + Array[_0x30639a(0x2af)](_0x5142ff) || ArrayBuffer[_0x30639a(0x2c7)](_0x5142ff) || _0x5142ff[_0x30639a(0x2ac)] === _0x5bfe7e ? _0x3e0a6e[_0x30639a(0x1ca)](_0x30639a(0x35c))['update'](new _0x5bfe7e(_0x5142ff))[_0x30639a(0x19b)](_0x30639a(0x352)) : _0x1afe1b(_0x5142ff); + }; + return _0x3d7396; + }; + + function _0x22f902(_0xad0da7) { + var _0x68ef08 = _0x2db296; + if (_0xad0da7) + _0x5c5e45[-0x1b4c * 0x1 + -0x126b * 0x2 + 0x4022] = _0x5c5e45[0x143f + -0x2217 + 0xde8] = _0x5c5e45[0x16 * 0x2e + -0x1d7c + 0x1989] = _0x5c5e45[0xa0 * -0x26 + -0x3 * 0x93f + 0x337f * 0x1] = _0x5c5e45[-0xed2 + 0xe1d + 0x2e * 0x4] = _0x5c5e45[-0x10ff + -0x1 * -0x394 + 0xd6f] = _0x5c5e45[-0x36f * -0x2 + 0x1 * 0x1a5 + -0x87e] = _0x5c5e45[-0x1f81 * 0x1 + 0x25ce * -0x1 + -0x1 * -0x4555] = _0x5c5e45[0x1ae7 * 0x1 + 0x1 * -0xe3c + -0xca4 * 0x1] = _0x5c5e45[-0x583 * -0x4 + -0x5f7 * -0x5 + -0x33d7] = _0x5c5e45[0x25e + -0x1d4b * 0x1 + -0x3a * -0x77] = _0x5c5e45[0xef9 + -0x30 * -0x57 + -0x1f3f] = _0x5c5e45[0x11e + -0x18f * 0x7 + 0x9d6] = _0x5c5e45[-0x2521 * -0x1 + 0x1 * 0x1bf4 + 0x4109 * -0x1] = _0x5c5e45[0x19 * 0xa6 + 0x1f06 + -0x2f2f] = _0x5c5e45[-0x22d0 + 0x1f1 * 0xf + 0x5bf] = _0x5c5e45[0x7 * 0x549 + -0xa39 + 0x1 * -0x1ab7] = 0x1 * -0xfb + 0x1995 + 0xc4d * -0x2, + this['blocks'] = _0x5c5e45, + this[_0x68ef08(0x329)] = _0x54b265; + else { + if (_0x1edc95) { + var _0x44d65b = new ArrayBuffer(0x11 * -0xb + 0xbfd + -0xafe); + this[_0x68ef08(0x329)] = new Uint8Array(_0x44d65b), + this[_0x68ef08(0x319)] = new Uint32Array(_0x44d65b); + } else + this[_0x68ef08(0x319)] = [0x45 * 0x10 + -0xd15 + 0x8c5, 0x1d70 + 0x493 + -0x2203 * 0x1, 0x46 * 0x86 + 0x8 * -0x14e + -0x1a34, 0x9bb + 0x25 * 0xdf + -0x29f6, -0x1c * -0xda + 0x188 + 0xcb * -0x20, -0x442 + -0x199a + 0x1ddc, -0x2 * -0x32d + -0x605 * -0x2 + -0x1264, 0x1af * -0x8 + -0xf3c + 0x29c * 0xb, -0x8cc + 0x1c3 + 0x709 * 0x1, 0xb53 * 0x1 + 0x18e6 + -0x3 * 0xc13, -0x2 * 0x135e + 0x444 + 0x2278, 0xe8 * 0x2b + 0x2106 + -0xa * 0x733, 0x3 * 0x449 + 0x1103 + -0x1dde, 0x30 + -0x3 * -0x95 + -0x1ef, 0x3ca * -0x3 + -0x9 * -0x1cb + -0x3 * 0x197, -0x14ce + -0x1b9 + 0x1687, -0xb2f + -0x53f * 0x3 + 0x1aec]; + } + this['h0'] = this['h1'] = this['h2'] = this['h3'] = this[_0x68ef08(0x385)] = this[_0x68ef08(0x25b)] = this[_0x68ef08(0x1cd)] = -0x1 * 0x4f9 + 0xeb * -0xd + 0x10e8, + this[_0x68ef08(0x182)] = this[_0x68ef08(0x1e9)] = !(-0x983 + -0x5b1 * -0x1 + 0x3d3), + this[_0x68ef08(0x19f)] = !(-0xcdf + 0x2157 + -0x1478); + } + + _0x22f902[_0x2db296(0x344)][_0x2db296(0x2d5)] = function (_0x36f09d) { + var _0x449340 = _0x2db296; + if (!this['finalized']) { + var _0x462898, _0x1dd68e = typeof _0x36f09d; + if (_0x449340(0x33c) !== _0x1dd68e) { + if ('object' !== _0x1dd68e) + throw _0x1f977a; + if (null === _0x36f09d) + throw _0x1f977a; + if (_0x1edc95 && _0x36f09d['constructor'] === ArrayBuffer) + _0x36f09d = new Uint8Array(_0x36f09d); + else { + if (!(Array[_0x449340(0x2af)](_0x36f09d) || _0x1edc95 && ArrayBuffer['isView'](_0x36f09d))) + throw _0x1f977a; + } + _0x462898 = !(-0xfea + 0x449 * 0x3 + -0x1 * -0x30f); + } + for (var _0x2c6513, _0x1fd15b, _0x432ef6 = 0xadd + -0x4d7 * 0x2 + 0x1 * -0x12f, _0x383058 = _0x36f09d[_0x449340(0x259)], _0x17a6ed = this[_0x449340(0x319)], _0x161a31 = this[_0x449340(0x329)]; _0x432ef6 < _0x383058;) { + if (this[_0x449340(0x1e9)] && (this[_0x449340(0x1e9)] = !(-0x657 + 0x4fb + -0x15d * -0x1), + _0x17a6ed[0x22e1 * -0x1 + -0xeb2 + 0x3193] = _0x17a6ed[0x283 * -0xd + -0x141e + 0x34d5], + _0x17a6ed[0x1af3 * 0x1 + -0x14d1 * 0x1 + -0x15 * 0x4a] = _0x17a6ed[-0xc3 * -0x2f + -0x49 * -0x31 + 0x3 * -0x1097] = _0x17a6ed[0x1e34 + -0x1 * -0x1837 + -0x3669] = _0x17a6ed[-0x12e3 + -0x1733 * -0x1 + 0x1 * -0x44d] = _0x17a6ed[0x31 * -0x8b + 0x1643 * 0x1 + 0x45c] = _0x17a6ed[0x87 * -0xd + -0x14d5 + 0x1bb5] = _0x17a6ed[0x1d70 + 0x255a + 0x4 * -0x10b1] = _0x17a6ed[0x1312 + 0x2e6 + 0x15f1 * -0x1] = _0x17a6ed[0x1ed9 + 0x551 * -0x1 + -0x1980] = _0x17a6ed[0x269 * -0x7 + 0x1d8 + 0xf10] = _0x17a6ed[0x1134 + -0x1 * -0x15cd + -0xcfd * 0x3] = _0x17a6ed[0x1229 * 0x1 + 0x23 * -0xe3 + 0xceb] = _0x17a6ed[0x15 * 0x13a + -0x23e3 * 0x1 + 0x1 * 0xa2d] = _0x17a6ed[-0x4 * 0x8ee + -0x1d7d + 0x4142 * 0x1] = _0x17a6ed[0x9d9 + 0x1 * -0x215b + 0x34 * 0x74] = _0x17a6ed[0x1e72 + -0x9 * 0x2b + 0xa8 * -0x2c] = 0x857 + 0x1cef + -0x2546), + _0x462898) { + if (_0x1edc95) { + for (_0x1fd15b = this[_0x449340(0x385)]; _0x432ef6 < _0x383058 && _0x1fd15b < -0x836 + 0x1150 + -0xce * 0xb; ++_0x432ef6) + _0x161a31[_0x1fd15b++] = _0x36f09d[_0x432ef6]; + } else { + for (_0x1fd15b = this[_0x449340(0x385)]; _0x432ef6 < _0x383058 && _0x1fd15b < -0x4 * -0x4e8 + -0xedb * 0x1 + -0x485; ++_0x432ef6) + _0x17a6ed[_0x1fd15b >> 0x11 * 0x5c + 0x1378 * -0x2 + 0x3 * 0xaf2] |= _0x36f09d[_0x432ef6] << _0x4d13bd[0x1 * -0x4f + -0x2036 + -0x1044 * -0x2 & _0x1fd15b++]; + } + } else { + if (_0x1edc95) { + for (_0x1fd15b = this[_0x449340(0x385)]; _0x432ef6 < _0x383058 && _0x1fd15b < 0xc4 * -0x1 + 0x78f * -0x1 + 0x893; ++_0x432ef6) + (_0x2c6513 = _0x36f09d[_0x449340(0x195)](_0x432ef6)) < 0xd * 0x1a + 0x8f + -0x161 ? _0x161a31[_0x1fd15b++] = _0x2c6513 : _0x2c6513 < 0x1b9a + 0x1 * -0x4a9 + 0xef1 * -0x1 ? (_0x161a31[_0x1fd15b++] = -0x1aaa * -0x1 + 0x2511 * -0x1 + -0x23b * -0x5 | _0x2c6513 >> 0x1568 + 0x75a * 0x1 + -0x994 * 0x3, + _0x161a31[_0x1fd15b++] = 0x54a + -0x1 * 0x1a66 + -0x1cd * -0xc | 0x8ad * 0x4 + 0x6a3 * 0x1 + -0x2918 & _0x2c6513) : _0x2c6513 < 0x1807f + -0x1 * -0x44d4 + 0xed53 * -0x1 || _0x2c6513 >= -0x1 * -0x123e4 + 0x1be31 + -0x5 * 0x66d1 ? (_0x161a31[_0x1fd15b++] = 0x1 * 0x11f + 0xffd * -0x1 + 0xfbe | _0x2c6513 >> 0x1 * 0x65 + 0x533 + -0x11c * 0x5, + _0x161a31[_0x1fd15b++] = 0x4 * 0x72b + 0x23c9 * 0x1 + -0x3ff5 | _0x2c6513 >> 0x9 * 0x9 + 0x5 * 0x517 + -0x5 * 0x526 & 0x200b + 0x1 * 0xbe7 + -0x2bb3, + _0x161a31[_0x1fd15b++] = 0x1 * 0x128f + 0x11 * -0x6a + -0xb05 | 0x27 * 0x59 + -0x2126 + 0x1 * 0x13d6 & _0x2c6513) : (_0x2c6513 = -0xb295 + 0x185 * 0x139 + -0x2908 + ((-0x1ec2 * -0x1 + -0x183e + -0xf * 0x2b & _0x2c6513) << 0x2e * 0x3 + 0x14b + 0x1 * -0x1cb | 0x1225 * 0x1 + 0x2376 + -0x319c & _0x36f09d[_0x449340(0x195)](++_0x432ef6)), + _0x161a31[_0x1fd15b++] = -0x969 + 0xc97 + -0x23e | _0x2c6513 >> -0xc19 + -0x14f9 + 0x2124, + _0x161a31[_0x1fd15b++] = 0x202 + 0x1 * 0x187 + -0x309 | _0x2c6513 >> -0x1da3 + -0xa * 0xda + -0x379 * -0xb & 0x2 * -0x117b + -0x7c9 + 0x2afe, + _0x161a31[_0x1fd15b++] = 0x1 * -0x1043 + 0x1185 + -0xc2 | _0x2c6513 >> -0x8c6 + 0x1d87 + -0x1d * 0xb7 & 0x2a * 0xe7 + -0x1 * 0x1869 + -0xd3e, + _0x161a31[_0x1fd15b++] = -0x58e + 0x6 * -0x216 + 0x949 * 0x2 | 0x2474 * -0x1 + 0xa9 * 0xd + 0x1c1e & _0x2c6513); + } else { + for (_0x1fd15b = this[_0x449340(0x385)]; _0x432ef6 < _0x383058 && _0x1fd15b < -0x48a * 0x7 + 0x1993 + -0xd * -0x7f; ++_0x432ef6) + (_0x2c6513 = _0x36f09d[_0x449340(0x195)](_0x432ef6)) < 0x2 * -0x86 + 0x101 * 0x1f + -0x1 * 0x1d93 ? _0x17a6ed[_0x1fd15b >> -0x1297 + 0x71a + 0xb7f] |= _0x2c6513 << _0x4d13bd[-0x1f26 + 0xd17 + 0x1212 & _0x1fd15b++] : _0x2c6513 < 0x11b7 + -0x150d + 0xb56 ? (_0x17a6ed[_0x1fd15b >> -0x231f + -0x8eb + 0x2c0c] |= (0x1ae0 + 0x70b + -0x212b | _0x2c6513 >> -0x87f + -0x23f * 0x5 + -0x13c * -0x10) << _0x4d13bd[0x3fb + 0x8e1 * -0x1 + 0x4e9 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> -0x1d97 + 0x6ad + 0x16ec] |= (0x1d0e + 0xf0a + -0x2b98 | 0xf2c + 0xbb * -0x20 + 0x873 & _0x2c6513) << _0x4d13bd[0x8d9 + -0x17e0 + 0xf0a & _0x1fd15b++]) : _0x2c6513 < -0x8b7d + 0x113bf + 0x4fbe || _0x2c6513 >= -0xc9c0 + 0x16d4a * 0x1 + 0x3c76 ? (_0x17a6ed[_0x1fd15b >> 0x2 * 0x74f + 0x1533 + -0x23cf] |= (-0x7 * 0x28 + -0x2 * -0x1bb + -0x17e | _0x2c6513 >> 0x1d5c + 0x1e6c + -0x1 * 0x3bbc) << _0x4d13bd[0x12 * 0x119 + 0x4 * -0x1c6 + -0xca7 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> -0x26 * 0x2e + -0x12aa * 0x2 + -0x2c2a * -0x1] |= (0x245a + -0x1aa1 + -0x1 * 0x939 | _0x2c6513 >> 0x1fa6 + -0x735 + -0x2f * 0x85 & -0x5d3 + -0x1eb2 * -0x1 + -0x18a0) << _0x4d13bd[0xa40 + 0x1f49 + -0x84e * 0x5 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> 0x21 * -0xa4 + -0x139 * -0x5 + 0x1 * 0xf09] |= (-0x1434 + 0x5 * -0x35 + 0x15bd | -0xc2d + 0x2655 + 0x25b * -0xb & _0x2c6513) << _0x4d13bd[0x76 * 0x26 + -0x1 * 0x8ad + 0x1c4 * -0x5 & _0x1fd15b++]) : (_0x2c6513 = 0x12e * -0xbf + 0x1cc8a + 0x8c * 0x26 + ((-0x3f5 * 0x3 + -0xfe8 + 0x1fc6 & _0x2c6513) << 0x29a + 0x13a9 + -0x1639 | 0x1 * -0x1dd7 + 0x6a5 + 0x1 * 0x1b31 & _0x36f09d[_0x449340(0x195)](++_0x432ef6)), + _0x17a6ed[_0x1fd15b >> 0xd * 0x61 + 0xcb * -0x1e + 0x12df] |= (0x1 * -0xee4 + 0x2 * -0x767 + -0x6 * -0x51b | _0x2c6513 >> 0x1 * 0x1a4d + -0x3 * 0x149 + -0x1660) << _0x4d13bd[-0x1c70 + -0x1 * -0x57b + 0x1 * 0x16f8 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> 0xef1 + -0xba0 + -0x1 * 0x34f] |= (-0xa3 * -0x3 + 0x26af + 0x140c * -0x2 | _0x2c6513 >> -0x518 + 0x1 * -0xc26 + 0x114a & -0x25 * -0xd1 + -0x1130 * -0x1 + -0x2f26) << _0x4d13bd[-0x73 * -0xb + -0x17d * 0x1 + 0x1 * -0x371 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> 0x3 * -0x107 + 0x1dbd + -0x1aa6] |= (-0x151c + 0x16 * -0x191 + 0x3812 | _0x2c6513 >> 0xded * -0x1 + 0x45 + 0xdae & -0x2af * -0x7 + -0x49 + 0x1241 * -0x1) << _0x4d13bd[-0x19a2 + -0x7d2 + 0x2177 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> -0x180e + 0x13d2 + -0x1 * -0x43e] |= (-0x9 * -0x1f5 + -0xf1 * 0xd + -0x6 * 0xd0 | 0x7f * 0x2f + 0x1 * 0x188c + -0x986 * 0x5 & _0x2c6513) << _0x4d13bd[0x1cf9 + 0xb * -0xe7 + -0x1309 & _0x1fd15b++]); + } + } + this['lastByteIndex'] = _0x1fd15b, + this[_0x449340(0x25b)] += _0x1fd15b - this['start'], + _0x1fd15b >= -0xa42 + 0x2 * -0x11c3 + 0x2e08 ? (this[_0x449340(0x385)] = _0x1fd15b - (-0x2b * 0xe2 + 0xa55 + 0xd * 0x225), + this[_0x449340(0x2ba)](), + this[_0x449340(0x1e9)] = !(0xc54 + -0x1 * -0xfa3 + -0x1 * 0x1bf7)) : this[_0x449340(0x385)] = _0x1fd15b; + } + return this[_0x449340(0x25b)] > -0x14462193f + -0xd7facb0 + -0x2 * -0x128f0e2f7 && (this['hBytes'] += this['bytes'] / (0x73e4b4e0 * 0x3 + -0x3fc * -0x40b5a1 + -0x486a * 0x4d396) << -0x1fbb * 0x1 + -0x1623 + 0x35de, + this[_0x449340(0x25b)] = this[_0x449340(0x25b)] % (0x7d756c * -0x1e1 + -0x3b6aede * -0x2 + 0x278 * 0xc42bda)), + this; + } + } + , + _0x22f902[_0x2db296(0x344)][_0x2db296(0x1d9)] = function () { + var _0x8b694 = _0x2db296; + if (!this[_0x8b694(0x182)]) { + this[_0x8b694(0x182)] = !(0x1038 + 0x1 * -0x247f + 0x1d * 0xb3); + var _0x52f24a = this[_0x8b694(0x319)] + , _0x21cbd8 = this[_0x8b694(0x32e)]; + _0x52f24a[_0x21cbd8 >> 0x4cd * 0x4 + -0x1 * -0x1511 + -0x2843] |= _0x146907[0xb2e + -0x10 * -0xbf + -0x41 * 0x5b & _0x21cbd8], + _0x21cbd8 >= 0x8fe * 0x3 + -0x231c + -0x42d * -0x2 && (this['hashed'] || this['hash'](), + _0x52f24a[0x666 + 0x1432 + -0x1a98] = _0x52f24a[0x24cd + 0x1e1 * 0x14 + 0x19 * -0x2f9], + _0x52f24a[-0x1f46 + 0x1 * 0x1015 + 0xf41] = _0x52f24a[0xbe8 + 0x1a96 + 0xa7 * -0x3b] = _0x52f24a[-0xb * 0x14d + -0x1 * 0x59 + -0xeaa * -0x1] = _0x52f24a[-0x1f1 * -0x3 + -0x1d69 + 0x1799] = _0x52f24a[0xa7b * -0x2 + 0xbb1 * -0x1 + -0x20ab * -0x1] = _0x52f24a[-0x11dc + -0xaa + 0x2f * 0x65] = _0x52f24a[-0x1 * 0x1f99 + -0x1e53 * 0x1 + 0x3df2] = _0x52f24a[-0x103 * -0x5 + -0x2451 + 0x1f49] = _0x52f24a[0x21e6 + -0xf9 * 0x1 + -0x1 * 0x20e5] = _0x52f24a[0x88a + -0x1bea + -0x1 * -0x1369] = _0x52f24a[0xf4d + -0x177d * -0x1 + -0x26c0] = _0x52f24a[0x1e22 + 0x655 * 0x3 + -0x3116] = _0x52f24a[-0x196b + 0x19b * -0x10 + -0x2d * -0x123] = _0x52f24a[-0x1 * -0x228d + 0x1cfc + -0x3f7c] = _0x52f24a[-0x13b4 + -0x5bc + 0x197e] = _0x52f24a[0x1e68 + 0x1209 + -0x3062] = 0x26a1 + -0x124 * -0x20 + -0x4b21), + _0x52f24a[0xbb3 + 0x1210 + -0x1db5] = this[_0x8b694(0x25b)] << -0x15 * -0x1d7 + 0x2 * -0xc2a + -0xe4c, + _0x52f24a[-0x19e2 + 0x28 * 0x55 + 0xca9] = this[_0x8b694(0x1cd)] << -0x178 * 0x6 + 0xa67 + 0x194 * -0x1 | this[_0x8b694(0x25b)] >>> 0x1a65 + -0x18 * 0x44 + -0x16c * 0xe, + this['hash'](); + } + } + , + _0x22f902[_0x2db296(0x344)][_0x2db296(0x2ba)] = function () { + var _0x2f0149 = _0x2db296, _0x227f23, _0x3952af, _0x2a0c94, _0x39eb64, _0x2fd641, _0x113678, + _0x128d32 = this[_0x2f0149(0x319)]; + this['first'] ? _0x3952af = ((_0x3952af = ((_0x227f23 = ((_0x227f23 = _0x128d32[0xe * 0xd4 + 0x18b * -0x13 + 0x11b9] - (0x1ffe472d + -0x1 * 0x229b4beb + 0x8a3acdb * 0x5)) << -0xe3 + 0x794 * 0x5 + 0x2 * -0x127d | _0x227f23 >>> -0x2125 + 0x21d4 + -0x96) - (-0xa42713c + -0x131 * -0xc4faf + 0xbc9d634) << -0x76 + -0x13ee + 0x1464) ^ (_0x2a0c94 = ((_0x2a0c94 = (-(0x1d99 * -0x236f + 0xdf * -0x44be3 + 0x18092f8b) ^ (_0x39eb64 = ((_0x39eb64 = (-(-0xfc * -0xaf0303 + 0x524d2f32 + -0xcedcd * 0xbb4) ^ 0x1 * 0x7b470ebd + 0x1 * 0x4d64e86c + -0x51347fb2 & _0x227f23) + _0x128d32[-0x2684 + 0x1f4e * -0x1 + 0x8f * 0x7d] - (0x563f0e * -0x16 + 0x59003ae + 0x46faddd * 0x2)) << -0x684 + 0xa * 0x289 + -0x1a * 0xb9 | _0x39eb64 >>> -0x1116 * -0x2 + 0xee9 * -0x1 + -0x132f * 0x1) + _0x227f23 << -0x2687 * -0x1 + 0xfe3 + -0x1 * 0x366a) & (-(0x1a9157f + 0x1e0df645 + -0xf84b74d) ^ _0x227f23)) + _0x128d32[0x144d + 0x15b * -0x18 + 0xc3d] - (-0x1 * 0x5504eeba + 0x76f3f96f * 0x1 + -0x2 * -0x109ad3b9)) << 0x1af4 + -0x12cb + -0x818 | _0x2a0c94 >>> 0x7aa * 0x1 + -0x1994 * -0x1 + -0x212f) + _0x39eb64 << -0x9fc + -0x14 * 0xfa + -0x1d84 * -0x1) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x2a * 0x97 + 0x18c8 + 0x1 * 0x1] - (-0x992 * 0x9361 + 0x23b1c4 + 0x1 * 0x53d34a17)) << -0x7 * 0x1b1 + -0x234d + -0x136 * -0x27 | _0x3952af >>> -0x113f * 0x1 + 0x5 * -0x7f + 0x1cc * 0xb) + _0x2a0c94 << -0x4f0 + -0x1 * -0x1f3d + -0x1a4d : (_0x227f23 = this['h0'], + _0x3952af = this['h1'], + _0x2a0c94 = this['h2'], + _0x3952af = ((_0x3952af += ((_0x227f23 = ((_0x227f23 += ((_0x39eb64 = this['h3']) ^ _0x3952af & (_0x2a0c94 ^ _0x39eb64)) + _0x128d32[0x3a5 + -0x1684 + 0x12df * 0x1] - (0x2b26bdc2 + -0x1 * -0x4468952b + -0x5773 * 0xcfc7)) << -0x1805 + -0x18cb + 0x30d7 | _0x227f23 >>> 0x21ec * -0x1 + -0x53c * -0x1 + 0x1cc9) + _0x3952af << 0xfe0 + 0x16a4 + -0x2684) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x3952af ^ (_0x39eb64 = ((_0x39eb64 += (_0x2a0c94 ^ _0x227f23 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x1 * -0x480 + 0x1 * 0x112f + -0xcae] - (0x1e4d0bcf + 0x1be * -0xbfe2b + 0xdd00bc5)) << -0x26fe + -0x462 + 0x2b6c | _0x39eb64 >>> -0x1 * 0x251 + -0xd16 + 0xf7b) + _0x227f23 << 0x15be * 0x1 + 0x2e3 * 0x8 + -0x2cd6) & (_0x227f23 ^ _0x3952af)) + _0x128d32[-0xa5 * -0x1d + 0x5 * -0x105 + 0x2f * -0x4a] + (0x15 * 0x27c2519 + -0x1cb83878 + 0x654cf23 * 0x2)) << -0x9d5 + -0x221e + -0xeac * -0x3 | _0x2a0c94 >>> -0x718 * 0x2 + -0x5 * -0x556 + -0x425 * 0x3) + _0x39eb64 << 0x223 * -0xb + -0x92 * 0x22 + 0x2ae5) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x141c + 0x376 + 0x10a9] - (0x29f06346 + 0x14e90f87 * -0x3 + -0x3 * -0x1baefecb)) << 0x103a + -0x24f4 + 0x14d0 | _0x3952af >>> -0x16a5 + -0xe92 + 0xbb * 0x33) + _0x2a0c94 << 0x25a2 * 0x1 + 0x1a76 + -0x4018 * 0x1), + _0x3952af = ((_0x3952af += ((_0x227f23 = ((_0x227f23 += (_0x39eb64 ^ _0x3952af & (_0x2a0c94 ^ _0x39eb64)) + _0x128d32[-0x2552 + 0x577 + 0x1fdf] - (-0xec5a4e1 + 0x23fe4 * -0x78c + -0x9e * -0x447abf)) << -0x46e + 0x19b5 + -0x8 * 0x2a8 | _0x227f23 >>> 0x100e + 0xd63 + -0x1d58) + _0x3952af << -0x237d + 0x1955 * -0x1 + 0x3cd2) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x3952af ^ (_0x39eb64 = ((_0x39eb64 += (_0x2a0c94 ^ _0x227f23 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[-0x203 + 0xd54 + -0x2d3 * 0x4] + (0x1 * -0x20e3c675 + 0x8ef8e325 + 0x4e53fd * -0x7e)) << -0x9e3 * 0x2 + 0x2 * -0x8fd + 0x25cc | _0x39eb64 >>> -0x7bd + 0x2 * -0x844 + 0x1859 * 0x1) + _0x227f23 << -0x3dc + -0x122e + 0x326 * 0x7) & (_0x227f23 ^ _0x3952af)) + _0x128d32[-0xbfd + -0x1 * 0xba3 + 0x17a6] - (-0x93f8bbe0 + -0x43dcbb55 + 0x1 * 0x12fa53122)) << 0x185 * -0x10 + -0x76c + 0x1fcd | _0x2a0c94 >>> 0x19b + 0x51 * 0x6d + 0x171 * -0x19) + _0x39eb64 << 0x971 + 0x1958 + -0x5 * 0x6f5) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x978 * -0x3 + 0x315 + -0x2 * 0xfbb] - (-0x99026a + 0xa6ba6 * 0x47 + 0xc4927 * 0x9)) << 0x212 + 0x1 * 0x4c3 + 0xb * -0x9d | _0x3952af >>> -0x152a + 0x1 * -0x17b4 + -0x77c * -0x6) + _0x2a0c94 << -0xa7 * 0x1f + 0x2379 + -0xf40, + _0x3952af = ((_0x3952af += ((_0x227f23 = ((_0x227f23 += (_0x39eb64 ^ _0x3952af & (_0x2a0c94 ^ _0x39eb64)) + _0x128d32[-0x251a + -0x14 * -0x18d + 0x61e] + (0xb19f3051 + -0xb487bda1 * 0x1 + 0x6c692628)) << 0x1cc + -0x171a + 0x1555 | _0x227f23 >>> 0x1 * -0x223b + -0x282 + 0x24d6) + _0x3952af << 0x1453 + 0x1aee + -0x2f41) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x3952af ^ (_0x39eb64 = ((_0x39eb64 += (_0x2a0c94 ^ _0x227f23 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[-0x1c63 + -0x1a88 + 0x36f4] - (0x334017ba + 0x1 * -0x90d7af8d + -0x86 * -0x191cf86)) << -0x1db2 + 0x1 * 0x10b1 + 0xd0d | _0x39eb64 >>> -0x4 * -0x20 + -0xd81 * -0x1 + -0xded) + _0x227f23 << -0x2b0 + 0x4 * -0x5b0 + -0x94 * -0x2c) & (_0x227f23 ^ _0x3952af)) + _0x128d32[-0x1 * -0xf25 + 0xe75 * 0x1 + -0x1d90] - (-0x5 * 0x4eb + 0x12ff3 * -0x1 + 0x1 * 0x1ecd9)) << -0xa43 + 0x1eed + 0x1 * -0x1499 | _0x2a0c94 >>> -0x1878 + -0x92b + 0x21b2) + _0x39eb64 << -0x1 * 0x2515 + -0x8c8 + -0x3b * -0xc7) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[0x80b * -0x4 + 0xff5 + 0x1042] - (-0x2d479161 * 0x5 + -0x139 * 0x33685d + 0x197e398dc)) << -0x178 + -0x22bf + 0x1 * 0x244d | _0x3952af >>> 0x15cc + -0x26b6 + -0x5 * -0x364) + _0x2a0c94 << 0x293 * -0x2 + 0x18f7 + -0x13d1, + _0x3952af = ((_0x3952af += ((_0x227f23 = ((_0x227f23 += (_0x39eb64 ^ _0x3952af & (_0x2a0c94 ^ _0x39eb64)) + _0x128d32[-0x1225 + -0xa * -0x348 + 0x13 * -0xc5] + (-0x36f3e05c + 0x4445538c + 0x5e3e9df2)) << -0x1b3 * -0x3 + 0x2702 + -0x2c14 | _0x227f23 >>> -0x2 * 0x1006 + 0x25 * 0xc5 + 0x3ac) + _0x3952af << 0x2501 + 0x18fb + 0xf7f * -0x4) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x3952af ^ (_0x39eb64 = ((_0x39eb64 += (_0x2a0c94 ^ _0x227f23 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[-0x13cb + -0xcd4 + 0x20ac] - (-0x24 * 0x1e9ae6 + -0xa0ba1 * 0x72 + -0x18cc1 * -0x737)) << 0x702 + 0x2b * -0x35 + 0x1f1 | _0x39eb64 >>> -0x15dd + -0x22eb * -0x1 + 0x1 * -0xcfa) + _0x227f23 << 0x224b * 0x1 + 0x2f * 0x33 + 0x4 * -0xaea) & (_0x227f23 ^ _0x3952af)) + _0x128d32[0xec7 * -0x1 + -0x61 * -0x25 + 0xd0] - (0x48e87164 + 0x613cb841 + -0x509e6d33)) << -0x1c0d + 0x5d0 + 0x164e | _0x2a0c94 >>> 0x156a * 0x1 + 0x16e7 + -0x2c42) + _0x39eb64 << -0x1 * -0x19ec + 0x8b4 + -0x22a0) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[0x1df0 + -0x2365 + -0x1 * -0x584] + (0x34eb7 * 0x25f0 + -0x3 * -0x1a616a08 + -0x82ea7487)) << -0x3 * 0xc8c + 0x1fc2 * -0x1 + -0x457c * -0x1 | _0x3952af >>> -0x2464 + 0x2705 + -0xdd * 0x3) + _0x2a0c94 << -0x504 + 0x2 * -0x5f9 + 0x10f6, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ _0x2a0c94 & ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ _0x39eb64 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x1b4d + 0x2d4 * 0x5 + -0x2970] - (0x30139 * 0x8d + -0x738f7c2 + -0x1 * -0xf7325fb)) << 0x1acc + -0x13e5 + -0x6e2 | _0x227f23 >>> 0x7 * 0x1 + -0x10e9 + 0x10fd * 0x1) + _0x3952af << -0x18fd + 0x10cc + 0x831) ^ _0x3952af)) + _0x128d32[0x2 * 0x131e + -0x2511 + 0x1 * -0x125] - (-0x1f * -0x3953eea + -0x4 * -0x12786c0f + -0x793501d2)) << 0x210d + 0x11 * -0x241 + 0x54d * 0x1 | _0x39eb64 >>> -0x4 * -0x265 + -0x292 + 0xfd * -0x7) + _0x227f23 << -0x200b + -0xa * 0xff + -0x1 * -0x2a01) ^ _0x227f23 & ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ _0x3952af & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x92 * -0x13 + 0x6b0 + -0x117b] + (-0x4be8e758 + -0x1a3c * -0x1e38f + 0x40b96625)) << -0x1 * 0x13d1 + 0x22da + -0xefb | _0x2a0c94 >>> 0x166d + -0x955 + -0xd06) + _0x39eb64 << -0x13af * 0x1 + -0x1 * -0x1307 + 0xa8) ^ _0x39eb64)) + _0x128d32[-0x547 + -0x1 * 0x1c0b + -0x2152 * -0x1] - (0x7 * 0x14d828a + 0x7d4a6f4 + -0x3 * -0x1c75534)) << 0x1bb9 * -0x1 + -0x26ee + 0x42bb * 0x1 | _0x3952af >>> 0x8 * 0x296 + 0x1ce9 * 0x1 + -0x318d) + _0x2a0c94 << 0x897 * 0x4 + 0x2ca + 0x3 * -0xc62, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ _0x2a0c94 & ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ _0x39eb64 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x107f * -0x1 + -0x1299 + -0x59 * -0x65] - (0x1079c263 + -0x1889 * -0x11026 + -0xbe0716)) << -0x260c + -0x1c23 + 0x2 * 0x211a | _0x227f23 >>> 0x22b * 0x1 + -0x16f3 + -0x14e3 * -0x1) + _0x3952af << 0x183b + -0x5 * -0x72a + -0x3c0d * 0x1) ^ _0x3952af)) + _0x128d32[0x4 * 0x86b + 0x1064 + -0x3206] + (-0x1177f56 + -0x27de7f4 + -0x540d * -0x11d1)) << 0x167 * 0x5 + -0x5 * 0x531 + 0x12fb * 0x1 | _0x39eb64 >>> 0x244b + -0x13 * 0x139 + -0x9 * 0x171) + _0x227f23 << -0xf6d + -0x1f9e + 0x2f0b * 0x1) ^ _0x227f23 & ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ _0x3952af & (_0x39eb64 ^ _0x227f23)) + _0x128d32[0x187 * 0x4 + 0x1e69 + -0x2476] - (-0x10191ede + -0xd72a9b7 + 0x44e9e214)) << 0x90 * 0xc + -0x2 * 0x12 + -0x68e | _0x2a0c94 >>> 0x16 * 0x1c5 + 0x137b + 0x1d * -0x203) + _0x39eb64 << -0x14fa + 0x43 * -0x74 + -0x3356 * -0x1) ^ _0x39eb64)) + _0x128d32[-0xf4a + -0x1992 + 0x4 * 0xa38] - (-0xae6496c + 0x21ece5a8 + 0x12567fc)) << 0x1ac8 + -0x1ed2 + 0x3e * 0x11 | _0x3952af >>> 0x1268 + 0x100d + 0x1 * -0x2269) + _0x2a0c94 << 0x1817 * -0x1 + 0x239b + -0xb84 * 0x1, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ _0x2a0c94 & ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ _0x39eb64 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x5 * 0x19c + 0xef3 + -0x16f6] + (0x39d62e7 + 0xb397e9b + 0x130aec64)) << 0x11 * 0x21f + -0x1c66 + -0x7a4 | _0x227f23 >>> -0xf86 + 0x2 * -0x4e5 + 0x879 * 0x3) + _0x3952af << 0x258a + 0x19ec + -0x3f76) ^ _0x3952af)) + _0x128d32[0x914 + 0xd73 + 0x20b * -0xb] - (-0xab52d21 + -0x845d9 * 0x1f7 + 0x57bf62aa)) << -0x1 * 0x2f + -0x1280 + 0x12b8 | _0x39eb64 >>> 0x2e * -0x9 + 0x85 * 0x4b + -0x2542) + _0x227f23 << -0x151 * 0x9 + 0x20da + -0x1501) ^ _0x227f23 & ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ _0x3952af & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x84 * 0x39 + 0x57f + 0x2fd * 0x8] - (0x852a967 + 0xa4943f2 + -0x770fae0)) << -0x5 * -0x722 + 0x1 * -0x155f + -0xe3d | _0x2a0c94 >>> 0x171b + -0x2709 * 0x1 + 0x8 * 0x200) + _0x39eb64 << -0x267 + 0x6fb * -0x4 + -0x7 * -0x455) ^ _0x39eb64)) + _0x128d32[0xd73 + -0xe3f + 0xd4] + (-0x882b6c12 + 0x26ddcab5 + 0x9d1 * 0x10fa2a)) << -0x1 * -0xb31 + 0xa * -0x175 + 0x375 | _0x3952af >>> 0x106 * 0x26 + 0x2e9 + -0x29c1) + _0x2a0c94 << -0x198a + 0xb33 * -0x1 + 0x24bd, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ _0x2a0c94 & ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ _0x39eb64 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x1d4f + -0x10ae + -0xc94] - (0x76d313f * 0xd + -0x5 * -0x7a635fc + -0x2 * 0x18573b92)) << 0x612 + -0x1 * 0x40 + -0x5cd | _0x227f23 >>> -0x12e9 * 0x2 + -0x1 * -0x19e7 + -0x1 * -0xc06) + _0x3952af << 0x10db + 0x10b5 * 0x1 + -0x3 * 0xb30) ^ _0x3952af)) + _0x128d32[-0x796 + -0x13b9 + 0x1b51] - (-0x17e5b * 0x29 + 0x48058e0 + -0x132c045)) << 0x26d * -0x2 + 0x4 * -0x34e + -0x5 * -0x39f | _0x39eb64 >>> 0x198d * -0x1 + -0x25d4 + -0xa94 * -0x6) + _0x227f23 << 0x206d + -0xd3f + -0x132e) ^ _0x227f23 & ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ _0x3952af & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x1f * 0x95 + 0x6 * -0x3dc + -0x3 * -0xdbe] + (-0x2 * 0x5ec874bd + -0x4537c41d * -0x1 + 0xdfc82836)) << 0x1336 + -0x12bc + -0x6c | _0x2a0c94 >>> 0x119 * -0x1d + -0x3 * 0xc41 + 0x44aa * 0x1) + _0x39eb64 << 0xe * -0x29c + 0x4ea + 0x1f9e) ^ _0x39eb64)) + _0x128d32[0x985 + -0x1177 + 0x1 * 0x7fe] - (-0x3d273af + -0x1 * -0x72611590 + 0x4471195)) << 0x112 * 0x15 + -0xa30 + -0x412 * 0x3 | _0x3952af >>> 0x1 * 0xe74 + 0x6 * 0x1f7 + -0x1a32) + _0x2a0c94 << 0xf1 + -0xe43 * -0x2 + -0x1d77 * 0x1, + _0x3952af = ((_0x3952af += ((_0x113678 = (_0x39eb64 = ((_0x39eb64 += ((_0x2fd641 = _0x3952af ^ _0x2a0c94) ^ (_0x227f23 = ((_0x227f23 += (_0x2fd641 ^ _0x39eb64) + _0x128d32[-0x87 * -0x1 + -0x1 * -0x1626 + -0x16a8] - (-0x3ca72 + -0xac995 + 0x145ac5)) << -0x1231 + -0x1 * -0xb05 + 0x730 | _0x227f23 >>> 0x20dd * 0x1 + -0x16b8 + -0xa09) + _0x3952af << 0x1 * 0xe63 + 0xa34 * -0x2 + 0x605)) + _0x128d32[-0x9a * -0x23 + 0x25fd + -0x3b03] - (0xb06c444e + 0x2d68c * 0x1574 + 0x9 * -0xcf8fe07)) << 0x1f60 * -0x1 + -0x1fc2 + -0x1 * -0x3f2d | _0x39eb64 >>> 0x1c0e + 0x7c * -0x3b + 0x9b * 0x1) + _0x227f23 << -0x1 * 0x7db + 0x143d * 0x1 + -0x2 * 0x631) ^ _0x227f23) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x113678 ^ _0x3952af) + _0x128d32[0x1315 + 0x22f5 + -0x35ff] + (0x1 * -0xc1ee2861 + 0x5f64a13c + 0xd026e847)) << 0x10b * 0x15 + 0x9e2 + -0x1fb9 | _0x2a0c94 >>> 0x213e + -0x11 * -0x93 + -0x1 * 0x2af1) + _0x39eb64 << -0x4 * 0x7c8 + 0x1 * 0x33d + 0x1be3)) + _0x128d32[0x18c5 * 0x1 + 0x94d * -0x3 + 0x2 * 0x198] - (0xbbbcc3 + 0x1509 * -0x2a32 + 0x4d6a0f3)) << 0x12b5 * 0x1 + -0xc * 0xa2 + -0xb06 | _0x3952af >>> -0x596 * 0x5 + 0x2 * -0x655 + 0x28a1) + _0x2a0c94 << 0x5f * -0x36 + 0x2b1 * 0x4 + 0x946, + _0x3952af = ((_0x3952af += ((_0x113678 = (_0x39eb64 = ((_0x39eb64 += ((_0x2fd641 = _0x3952af ^ _0x2a0c94) ^ (_0x227f23 = ((_0x227f23 += (_0x2fd641 ^ _0x39eb64) + _0x128d32[-0xaa9 + 0x6 * 0x54e + 0x7e * -0x2b] - (-0x1309d * -0x67b3 + -0x8e97ecd6 + 0x6e74d9cb)) << -0x1 * 0x1169 + -0x1c3f + 0x2dac | _0x227f23 >>> -0x12f * 0x1d + 0x178 + 0x20f7) + _0x3952af << -0x1554 + 0x2 * -0x136e + 0x9 * 0x6b0)) + _0x128d32[0x8bd * 0x4 + 0x993 + -0x2c83] + (-0x1ec1ce29 + 0x12d9d323 + 0x57c6caaf)) << 0x2f9 * 0x1 + 0x1a55 + -0x1d43 | _0x39eb64 >>> -0xdf6 + 0x94 * 0x2 + 0xce3) + _0x227f23 << -0xd5 + -0x197e + 0x1a53) ^ _0x227f23) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x113678 ^ _0x3952af) + _0x128d32[0x697 * -0x1 + -0x617 + 0xcb5] - (0x2 * -0x11de459 + 0xaabba88 + 0xd4c2ca)) << -0x1198 * 0x1 + -0x42c * 0x3 + 0x2 * 0xf16 | _0x2a0c94 >>> 0x28e * 0x2 + 0x1547 + -0x125 * 0x17) + _0x39eb64 << 0x45 * 0x21 + -0x14 * -0x7 + 0x971 * -0x1)) + _0x128d32[-0x1 * -0x118b + 0x1f4 + -0x1375] - (0x2 * -0x34ed62bd + -0x6d39a445 + -0x11854ad4f * -0x1)) << -0x27f * -0x1 + -0x4 * 0x31a + 0xa00 | _0x3952af >>> -0x319 + -0x1 * -0x247d + -0x215b * 0x1) + _0x2a0c94 << -0x1bc7 * 0x1 + 0x1 * -0x4f7 + 0x20be, + _0x3952af = ((_0x3952af += ((_0x113678 = (_0x39eb64 = ((_0x39eb64 += ((_0x2fd641 = _0x3952af ^ _0x2a0c94) ^ (_0x227f23 = ((_0x227f23 += (_0x2fd641 ^ _0x39eb64) + _0x128d32[-0x1 * -0x1eb5 + -0x1ba5 + -0x3 * 0x101] + (0x338d6ddd + 0x1 * 0x3db4c799 + -0x48a6b6b0)) << 0x126a + 0x1 * 0x407 + -0x166d * 0x1 | _0x227f23 >>> -0x1f97 + -0x2566 * -0x1 + 0x5b3 * -0x1) + _0x3952af << 0x2175 + 0x2187 * 0x1 + -0x42fc)) + _0x128d32[0x1701 + 0x1fb6 + 0x36b7 * -0x1] - (0x1e38ad99 + -0x3 * -0x1727b1c + -0xd3146e7)) << 0x15 * -0x18d + -0x4 * -0x75e + 0x324 | _0x39eb64 >>> -0x7f8 + 0x1 * 0xc1 + 0x74c) + _0x227f23 << -0x86 * 0x27 + -0x1 * 0x1a93 + -0x17 * -0x20b) ^ _0x227f23) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x113678 ^ _0x3952af) + _0x128d32[0x1 * -0x1c6f + -0x10f0 + -0x4a * -0x9d] - (-0x353a5 * 0xce7 + 0x510a05c * 0xe + 0xf144056)) << 0x2c * -0x8f + -0x20 * -0x11b + 0x2af * -0x4 | _0x2a0c94 >>> -0x167c * -0x1 + 0x1bef * -0x1 + 0x583) + _0x39eb64 << -0x3 * 0x3b + 0x1555 + 0xa52 * -0x2)) + _0x128d32[0x35 * -0x27 + -0x1 * 0xdb8 + -0x1 * -0x15d1] + (0x2e39f97 * 0x1 + -0x1 * 0x58f09b4 + 0x7338722)) << 0x1d3 * -0x6 + 0x1 * 0x171b + 0x406 * -0x3 | _0x3952af >>> 0x3c1 + -0x1cbf + 0x1907) + _0x2a0c94 << 0x1b73 + 0x1d44 + 0x38b7 * -0x1, + _0x3952af = ((_0x3952af += ((_0x113678 = (_0x39eb64 = ((_0x39eb64 += ((_0x2fd641 = _0x3952af ^ _0x2a0c94) ^ (_0x227f23 = ((_0x227f23 += (_0x2fd641 ^ _0x39eb64) + _0x128d32[0x30b * 0x2 + 0xa52 + -0x105f] - (0x131 * 0x25e655 + -0xe61e * 0x48b + 0xe5c * -0x33bb)) << 0x17a1 + -0x26 * 0x3f + 0x3 * -0x4c1 | _0x227f23 >>> 0x1079 + -0x13 * 0xf5 + 0x1d2) + _0x3952af << -0xf27 + -0x1 * -0x21d1 + 0x955 * -0x2)) + _0x128d32[0x20e * -0x3 + -0x4a7 * 0x8 + 0x2b6e] - (0x1 * 0x79f0ea3 + -0x184cea1d + -0x11d * -0x2590d9)) << 0x12e3 + 0x12b * -0x2 + -0x1082 | _0x39eb64 >>> -0x485 * 0x2 + -0x61 * 0x1a + 0x12f9) + _0x227f23 << 0x1 * -0x34c + -0x6 * 0x4dc + -0x1 * -0x2074) ^ _0x227f23) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x113678 ^ _0x3952af) + _0x128d32[-0x3e3 + 0x22d * -0x2 + 0x84c] + (-0xdb8446c + -0x1 * -0x5cb3a83 + 0x278f86e1)) << -0x7 * -0x3f1 + 0x17f * 0x7 + -0x2600 | _0x2a0c94 >>> -0x47e + 0xce * 0x2 + 0x2 * 0x179) + _0x39eb64 << 0x1 * 0x9fe + 0x1 * 0x17f5 + -0x21f3)) + _0x128d32[-0x18 * -0x18e + -0x1dff + -0x74f * 0x1] - (0x12fee507 + -0x1 * 0x6a5c4769 + -0x1 * -0x92b10bfd)) << 0x5 * -0x52a + -0x1e75 + 0xde * 0x41 | _0x3952af >>> 0x116b + -0x1 * 0x9ed + 0x53 * -0x17) + _0x2a0c94 << 0x264e * -0x1 + -0x11fd + 0x384b, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ (_0x3952af | ~_0x39eb64)) + _0x128d32[-0x1524 + 0x65 * 0x5b + 0x1 * -0xec3] - (0x63c0c3 * 0x1f + 0x11a61fd * -0xc + -0xcff1dfb * -0x1)) << 0x36c + -0x4eb * 0x5 + 0x1531 | _0x227f23 >>> -0x941 * -0x2 + -0x1b * -0x9b + -0x22c1) + _0x3952af << 0x1862 + -0x1359 + -0x509) | ~_0x2a0c94)) + _0x128d32[-0x26d + -0x6 * 0xbd + 0x6e2] + (-0x690c7 * 0xd6d + 0x2c437c8e * 0x1 + -0x3786a162 * -0x2)) << 0x54a + -0x1bd3 + 0x1693 | _0x39eb64 >>> 0x1076 + 0xa0d + -0x1a6d) + _0x227f23 << -0x1d37 + 0x1 * 0x14fb + 0x83c) ^ ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ (_0x39eb64 | ~_0x3952af)) + _0x128d32[0x190f * -0x1 + -0x1503 + 0x2e20] - (0x12aa3 * 0x80ad + 0x5 * 0x123e2fa3 + -0x9ce661fd)) << -0x204a + -0x22cf + 0x4328 | _0x2a0c94 >>> 0x1 * 0xcac + -0x1bbf * -0x1 + -0x142d * 0x2) + _0x39eb64 << -0x11b4 + 0x10b1 * 0x1 + -0x25 * -0x7) | ~_0x227f23)) + _0x128d32[0x1 * -0x10d + 0x5f4 + -0x19 * 0x32] - (0x2181582 + -0x55ca10e + 0x6b0eb53)) << -0xd3d * 0x1 + -0x1dd7 + -0x1 * -0x2b29 | _0x3952af >>> 0x676 + 0xa84 * 0x1 + -0x10ef) + _0x2a0c94 << -0x2 * 0xc83 + 0x15 * -0x10c + -0x1781 * -0x2, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ (_0x3952af | ~_0x39eb64)) + _0x128d32[0x2 * -0x527 + 0x246c + -0x8e * 0x2f] + (0x62359ef1 + 0xc3bd213a + -0xc0976668)) << -0x22fa * 0x1 + 0x2af + 0x2051 | _0x227f23 >>> -0x92b + -0x4b4 * 0x1 + 0xdf9) + _0x3952af << 0x494 + -0x1902 + -0x1 * -0x146e) | ~_0x2a0c94)) + _0x128d32[0x1d8 * 0x1 + 0x1 * -0x5ce + 0x3f9] - (-0x324 * -0x49722 + 0xde * 0x31ad3b + -0x1bba29be * -0x2)) << 0x941 + -0x1651 + -0x4e * -0x2b | _0x39eb64 >>> 0x2 * -0xc2 + -0x112a + 0x12c4) + _0x227f23 << 0x1369 + -0x1261 + -0x3 * 0x58) ^ ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ (_0x39eb64 | ~_0x3952af)) + _0x128d32[0x10c5 + 0x78f + 0x1 * -0x184a] - (-0x3b62a * 0x6 + 0x15245b + 0x89612 * 0x2)) << 0x252f + -0x5 * -0x661 + -0x4505 | _0x2a0c94 >>> 0x251e + 0x6 * 0x2b7 + -0x3557 * 0x1) + _0x39eb64 << -0x1 * -0xa79 + -0x8d * -0x33 + -0x2690) | ~_0x227f23)) + _0x128d32[0x395 * 0x8 + -0x24a9 + -0x52 * -0x19] - (-0xc3191853 + -0x57fdcd8 * 0x29 + -0x141d00ee * -0x1b)) << 0x132b * -0x1 + -0x13 * -0x15 + 0x11b1 | _0x3952af >>> -0x175f + 0x16 * 0xc2 + -0x2 * -0x35f) + _0x2a0c94 << -0xc * -0x2de + -0x1 * -0x261a + 0x1 * -0x4882, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ (_0x3952af | ~_0x39eb64)) + _0x128d32[0x4 * -0x527 + -0xb71 + 0x2015 * 0x1] + (0x2 * -0x2405587c + 0x963dc885 * 0x1 + 0x217566c2)) << 0x14cb + -0x647 * -0x1 + -0x1b0c | _0x227f23 >>> -0xbd * 0x30 + -0x13 * 0x14f + 0x7 * 0x8a1) + _0x3952af << -0xd * 0x215 + 0xcc + 0x1a45) | ~_0x2a0c94)) + _0x128d32[-0x638 * 0x6 + -0x25fa + 0x4b59] - (0xab1cd2 + -0x184b1f6 + 0x2acae44)) << -0x177b + -0x500 + 0x1c85 | _0x39eb64 >>> -0x1e73 + -0x3 * 0x1f1 + -0x2 * -0x122e) + _0x227f23 << 0xb5 * -0x3 + 0x158f + -0x4 * 0x4dc) ^ ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ (_0x39eb64 | ~_0x3952af)) + _0x128d32[-0xe39 + 0x452 + 0x9ed] - (0x5a22d2a4 + 0x3a146128 + 0x154a34 * -0x298)) << 0x1 * -0x1fd0 + 0x1837 * 0x1 + 0x7a8 | _0x2a0c94 >>> 0x1212 + 0x2 * -0xc47 + 0x68d) + _0x39eb64 << -0x20ba + 0xbb2 + -0x8 * -0x2a1) | ~_0x227f23)) + _0x128d32[0x283 * 0x8 + -0x5f * 0x37 + 0x5e] + (-0x15db9faa + 0x3841d * -0x1db3 + 0xcc505a92)) << -0x172f + -0x5f * -0x1 + 0x16e5 | _0x3952af >>> 0x6c + 0x2 * 0x530 + 0xac1 * -0x1) + _0x2a0c94 << 0x3 * 0x312 + 0x19 * -0x107 + 0x1079, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ (_0x3952af | ~_0x39eb64)) + _0x128d32[-0x5bc + -0x1 * -0x887 + -0x1 * 0x2c7] - (0xd0d1959 + 0x9a4d1b1 + -0xe05698c)) << 0x3 * 0x6a7 + 0x252e + -0x391d | _0x227f23 >>> -0x2292 + -0x1385 + 0x1 * 0x3631) + _0x3952af << -0x2483 * -0x1 + 0x93e + 0xd * -0x385) | ~_0x2a0c94)) + _0x128d32[-0x1fd2 + 0x1bb0 + -0x1 * -0x42d] - (-0x9b7 * 0xd9fae + -0x9fdcf8b * -0x7 + 0xb3bb54 * 0xb8)) << 0x1f * 0xec + -0x260 + -0x18a * 0x11 | _0x39eb64 >>> 0x140 * -0x6 + 0x2231 * -0x1 + 0x29c7) + _0x227f23 << 0x26ef * -0x1 + -0x112b + 0x2b * 0x14e) ^ ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ (_0x39eb64 | ~_0x3952af)) + _0x128d32[-0x1 * -0x100d + 0xdc0 + -0x1d * 0x107] + (0x43dc7475 + 0x524cbd91 + -0x82661 * 0xd2b)) << -0x1f * -0xf + -0x1d3a + -0x1 * -0x1b78 | _0x2a0c94 >>> 0x235b + 0x162b + -0x3975) + _0x39eb64 << -0xf * -0x27b + -0xc58 + -0x18dd) | ~_0x227f23)) + _0x128d32[-0x72 * -0x1f + 0xac4 + -0x1889] - (0xa * -0x3c812a2 + -0x2c * 0x1bc4a2 + -0x3 * -0x15053b89)) << 0x4 * 0x9c2 + -0xd46 * 0x2 + -0xc67 | _0x3952af >>> -0x8b9 + -0x1ed3 * 0x1 + -0x1 * -0x2797) + _0x2a0c94 << -0x1 * -0xede + 0x15d3 + -0x1f * 0x12f, + this['first'] ? (this['h0'] = _0x227f23 + (-0x295123b + 0xc62a6020 * 0x1 + -0x22 * 0x2b71052) << -0x2 * -0x602 + -0x1 * 0x12c2 + 0x6be, + this['h1'] = _0x3952af - (0x3a5b52c + 0x1d978e61 + 0x7 * -0x26f46ba) << 0x5ea * 0x4 + 0xe5 + -0x4e9 * 0x5, + this['h2'] = _0x2a0c94 - (0xa6be44c7 + 0xc54d85a4 + -0x104c6a769) << 0x6d * 0x53 + 0x1809 + -0x3b60, + this['h3'] = _0x39eb64 + (-0x1fdbc0b + 0x1 * 0x1a1047ff + 0x85f6 * -0xf0d) << 0x26e8 + -0x5d * 0x1f + 0x151 * -0x15, + this[_0x2f0149(0x19f)] = !(0x25a2 + -0x5 * 0x1d5 + -0x38f * 0x8)) : (this['h0'] = this['h0'] + _0x227f23 << 0x923 + 0xb1c + -0x143f, + this['h1'] = this['h1'] + _0x3952af << -0x23 * 0xc0 + 0x1aef + -0xaf, + this['h2'] = this['h2'] + _0x2a0c94 << -0x1b53 + -0x1acc + -0xa3 * -0x55, + this['h3'] = this['h3'] + _0x39eb64 << -0xba0 * 0x1 + 0x146 + 0xa * 0x109); + } + , + _0x22f902[_0x2db296(0x344)]['hex'] = function () { + this['finalize'](); + var _0x58d18c = this['h0'] + , _0x4e2807 = this['h1'] + , _0x41534b = this['h2'] + , _0x136921 = this['h3']; + return _0x142491[_0x58d18c >> 0x3cb * -0x4 + -0x6e * -0x3 + 0xde6 & 0x3b * 0x47 + 0x1567 + -0x25b5] + _0x142491[-0x1731 + -0x16e + 0x9 * 0x2be & _0x58d18c] + _0x142491[_0x58d18c >> -0xa78 + 0x18d4 + 0xe5 * -0x10 & 0x81e + -0x6 * 0x529 + 0x16e7] + _0x142491[_0x58d18c >> 0x1894 + -0x3c + -0x1850 & -0x2228 * -0x1 + 0x3 * 0x4ff + -0x3116] + _0x142491[_0x58d18c >> -0x67 * -0x1 + -0x1842 + 0x17ef & 0x580 * -0x6 + 0x1b * 0x171 + -0x5dc] + _0x142491[_0x58d18c >> -0x1 * -0x709 + 0x1594 + -0x1 * 0x1c8d & 0x1633 + -0x70d + -0xf17] + _0x142491[_0x58d18c >> -0xaf6 + 0x1ddb * 0x1 + -0x12c9 & -0x4b * 0x7b + 0x5 * 0x41b + 0xf91] + _0x142491[_0x58d18c >> -0x1 * 0x1543 + -0x1795 * -0x1 + -0x23a & -0x1e70 + 0xcc5 + -0x11ba * -0x1] + _0x142491[_0x4e2807 >> 0x651 + -0x10f7 * -0x2 + -0x283b & 0x1199 + -0x47 * -0x59 + -0x2a39] + _0x142491[0xe3 * -0x22 + 0x2479 + 0x644 * -0x1 & _0x4e2807] + _0x142491[_0x4e2807 >> 0x121a + 0x1a84 + -0x2c92 & -0x65 * -0x4a + -0x5db + -0x1748] + _0x142491[_0x4e2807 >> 0x14a3 + -0x11 * 0x55 + -0x5 * 0x2fe & -0x24e3 * -0x1 + 0xf64 + -0x3438] + _0x142491[_0x4e2807 >> 0x1cf + -0x1c89 + -0x2 * -0xd67 & -0xd47 * -0x2 + -0x1 * 0x221b + 0x1e7 * 0x4] + _0x142491[_0x4e2807 >> 0x673 + 0x1d12 + -0x1 * 0x2375 & 0x12ce + -0x8 * -0xb5 + -0x1867] + _0x142491[_0x4e2807 >> 0x1 * 0x1499 + 0x1a6b * 0x1 + -0x98 * 0x4f & 0x1516 + -0x147 * -0x2 + -0x1795 * 0x1] + _0x142491[_0x4e2807 >> 0x4 * 0x570 + -0x2 * 0x622 + -0x2 * 0x4b2 & -0x6 * -0x15d + -0x7eb + -0x34] + _0x142491[_0x41534b >> 0x1738 + -0x6 * 0x23b + -0x3 * 0x346 & -0x97 * -0x3a + 0x3a6 + -0x25cd] + _0x142491[-0x48 * -0x11 + 0x1 * -0x2502 + 0x13 * 0x1b3 & _0x41534b] + _0x142491[_0x41534b >> -0x1 * -0x1556 + 0x3 * 0x623 + -0x27b3 * 0x1 & -0x6b * 0x1f + 0x1 * -0x49 + -0x3 * -0x46f] + _0x142491[_0x41534b >> -0x794 + -0x1 * 0x2443 + 0x2bdf & 0x26ca + -0xb02 + 0x2f * -0x97] + _0x142491[_0x41534b >> 0x177f + -0x57b + -0x11f * 0x10 & 0x1eed + 0xbb2 + -0x2a90] + _0x142491[_0x41534b >> 0xab7 * -0x2 + 0x3ba + 0x11c4 & -0x1621 + 0xa3f * 0x2 + -0xd9 * -0x2] + _0x142491[_0x41534b >> 0x607 + -0x2065 + 0x1a7a & 0x2 * -0xb0f + 0x629 * -0x5 + 0x1a7d * 0x2] + _0x142491[_0x41534b >> -0x2205 + 0x20ac + 0x171 & -0x1 * -0x1337 + 0x6e * -0x1 + -0x22 * 0x8d] + _0x142491[_0x136921 >> -0x845 + -0x1 * 0x267b + 0x1762 * 0x2 & 0x340 + -0x21 * 0xcb + 0x16fa] + _0x142491[0x4 * -0x8e2 + -0xdea + 0x3181 & _0x136921] + _0x142491[_0x136921 >> 0x1784 + 0xa * 0x31b + -0x1 * 0x3686 & -0x26 * 0x4f + -0x1 * -0xca8 + 0xdf * -0x1] + _0x142491[_0x136921 >> 0x1823 * -0x1 + 0xe5c * -0x2 + 0x1 * 0x34e3 & 0x34e * 0x6 + 0x47f + -0x1844 * 0x1] + _0x142491[_0x136921 >> 0x1 * -0x10af + 0x39a + 0xd29 & -0xea2 + 0x2 * -0xad2 + 0x2455] + _0x142491[_0x136921 >> 0xadf + 0x2db * -0x7 + 0x92e & -0x493 * 0x3 + 0x15e1 + -0x819] + _0x142491[_0x136921 >> -0x22d6 + 0x20 * -0x17 + 0x25d2 & -0x17 * 0x83 + 0x1214 + -0x640] + _0x142491[_0x136921 >> -0x96e + -0x1e99 + 0x281f & -0x18c8 + 0x33 * 0x89 + -0x274]; + } + , + _0x22f902['prototype'][_0x2db296(0x3ae)] = _0x22f902[_0x2db296(0x344)]['hex'], + _0x22f902[_0x2db296(0x344)]['digest'] = function () { + var _0x5a0a9e = _0x2db296; + this[_0x5a0a9e(0x1d9)](); + var _0x2a8796 = this['h0'] + , _0x2d7c31 = this['h1'] + , _0x1378d3 = this['h2'] + , _0x2e667f = this['h3']; + return [0x1 * 0x4bd + 0x1f15 + 0x5 * -0x6f7 & _0x2a8796, _0x2a8796 >> 0xbcd + -0x25f7 + 0x1a32 & 0x1507 + -0x177d + 0x1 * 0x375, _0x2a8796 >> -0x141c + 0x1ae2 + -0x6b6 & 0x132a + -0x3 * 0x423 + 0xb * -0x86, _0x2a8796 >> -0x1 * -0x261f + 0x115 * -0xc + -0x190b & 0x1233 * -0x1 + 0xacf * -0x3 + 0x339f, -0x16a0 + 0x1002 + 0x79d * 0x1 & _0x2d7c31, _0x2d7c31 >> -0x2 * 0xff4 + -0x541 * 0x2 + -0xe26 * -0x3 & 0x54e + -0x1c * -0x148 + -0x282f * 0x1, _0x2d7c31 >> -0x4 * -0x83f + 0x20ab * -0x1 + -0x41 & 0x427 * 0x5 + 0xdd1 + -0x2195 * 0x1, _0x2d7c31 >> 0xf * -0x201 + 0x1c26 + -0x9 * -0x39 & 0x7 * -0x235 + 0x1be + 0xeb4 * 0x1, 0x34 * 0x9b + 0xa36 + -0x28b3 & _0x1378d3, _0x1378d3 >> 0x463 * 0x1 + -0x1f0d + 0x1ab2 & 0x13 * -0x17f + -0x536 + 0x22a2, _0x1378d3 >> 0x4a7 + -0x1a4 + -0x2f3 & 0x1066 + 0xb3d + -0x1aa4, _0x1378d3 >> -0xc00 + -0x2 * 0xfcb + 0x2bae & 0x11a7 * -0x1 + 0x3a1 * -0x1 + 0x1647, -0xa38 + -0x1304 + 0x1e3b & _0x2e667f, _0x2e667f >> 0x1102 + 0x1896 + -0x2f8 * 0xe & -0x15b2 * -0x1 + -0xa6 * 0x31 + -0xf * -0xbd, _0x2e667f >> 0x25a2 + -0x4 * 0x103 + -0x2186 & -0xa83 * -0x3 + -0x15f1 + -0x899, _0x2e667f >> 0xb95 * 0x3 + -0x1a34 + -0x873 & 0xfb6 * -0x2 + 0x3b * 0x3a + 0x130d]; + } + , + _0x22f902[_0x2db296(0x344)][_0x2db296(0x238)] = _0x22f902['prototype'][_0x2db296(0x19b)], + _0x22f902['prototype'][_0x2db296(0x249)] = function () { + var _0x45ab2e = _0x2db296; + this[_0x45ab2e(0x1d9)](); + var _0x31d586 = new ArrayBuffer(0x13 * -0x20e + -0x4 * -0x62f + 0xe5e) + , _0x2d9fbd = new Uint32Array(_0x31d586); + return _0x2d9fbd[-0xbcc + -0xf5 * -0x3 + -0x5 * -0x1c9] = this['h0'], + _0x2d9fbd[0x5 * 0x103 + 0x26ee + -0x2bfc] = this['h1'], + _0x2d9fbd[0x7d + -0x1b05 * -0x1 + -0x1b80] = this['h2'], + _0x2d9fbd[0x1 * 0x1c1c + 0x1 * 0x4eb + -0x2104] = this['h3'], + _0x31d586; + } + , + _0x22f902['prototype']['buffer'] = _0x22f902[_0x2db296(0x344)][_0x2db296(0x249)], + _0x22f902[_0x2db296(0x344)][_0x2db296(0x25f)] = function () { + var _0x16e12f = _0x2db296; + for (var _0x1dad5c, _0x24f20d, _0x70d99b, _0xb48dfc = '', _0x13e0cb = this[_0x16e12f(0x238)](), _0x12e65e = -0x719 * -0x5 + -0x747 * -0x5 + 0x170 * -0x32; _0x12e65e < -0x8c + 0x164f + -0x15b4;) + _0x1dad5c = _0x13e0cb[_0x12e65e++], + _0x24f20d = _0x13e0cb[_0x12e65e++], + _0x70d99b = _0x13e0cb[_0x12e65e++], + _0xb48dfc += _0xcb4d61[_0x1dad5c >>> 0x13b + 0x209 * -0xb + 0x152a] + _0xcb4d61[0x13d3 + 0x4c7 + -0x185b & (_0x1dad5c << 0x1334 + 0x1dd7 + 0x7 * -0x701 | _0x24f20d >>> -0x3b3 * 0xa + -0x17b * -0x13 + -0x1 * -0x8e1)] + _0xcb4d61[-0x25dd + 0x14bd + 0x115f & (_0x24f20d << -0x787 + 0x888 + -0xff | _0x70d99b >>> 0xe74 + -0x104f + 0xd * 0x25)] + _0xcb4d61[0x68e + -0x1082 + -0x175 * -0x7 & _0x70d99b]; + return _0x1dad5c = _0x13e0cb[_0x12e65e], + _0xb48dfc += _0xcb4d61[_0x1dad5c >>> 0x2b * -0x77 + 0x29e * 0x2 + 0xec3] + _0xcb4d61[_0x1dad5c << -0x14c0 + -0x2 * -0x11a4 + 0x2 * -0x742 & 0xe5f + -0x1dab + 0xf8b * 0x1] + '=='; + } + ; + var _0x336469 = _0x1edabb(); + _0x299a21 ? _0xb9c7d1[_0x2db296(0x1b8)] = _0x336469 : (_0x11d177[_0x2db296(0x35c)] = _0x336469, + _0x5efc8f && (void (0x1118 + -0x25 * 0x98 + 0x1a0 * 0x3))(function () { + return _0x336469; + })); + }()); + }); + + function _0x5dd467(_0x2e8eb5) { + var _0x344c50 = _0x5612de; + return w_0x5c3140(_0x344c50(0x333), { + get 0x0() { + return _0x90795; + }, + 0x1: arguments, + 0x2: _0x2e8eb5 + }, this); + } + + function _0x176a57() { + var _0x33742c = _0x5612de; + return !!document[_0x33742c(0x373)]; + } + + function _0x1230e7() { + return 'undefined' != typeof InstallTrigger; + } + + function _0xf8ccf1() { + var _0x25d57d = _0x5612de; + return /constructor/i[_0x25d57d(0x22b)](window['HTMLElement']) || _0x25d57d(0x226) === (!window['safari'] || _0x25d57d(0x384) != typeof safari && safari['pushNotification'])[_0x25d57d(0x3ae)](); + } + + function _0x30c916() { + var _0x56f7c2 = _0x5612de; + return new Date()[_0x56f7c2(0x16d)](); + } + + function _0x5af46a(_0xeaff35) { + return null == _0xeaff35 ? '' : 'boolean' == typeof _0xeaff35 ? _0xeaff35 ? '1' : '0' : _0xeaff35; + } + + function _0x325f58(_0x3fdcb7, _0x2838bc) { + var _0x17d12c = _0x5612de; + _0x2838bc || (_0x2838bc = _0x17d12c(0x24c)); + for (var _0x3b8f2c = '', _0x98f0de = _0x3fdcb7; _0x98f0de > -0x2 * -0x90e + 0x4 * -0x3ae + -0x364; --_0x98f0de) + _0x3b8f2c += _0x2838bc[Math[_0x17d12c(0x1cf)](Math['random']() * _0x2838bc[_0x17d12c(0x259)])]; + return _0x3b8f2c; + } + + var _0x39693d = { + 'sec': 0x9, + 'asgw': 0x5, + 'init': 0x0 + } + , _0x6caf = { + 'bogusIndex': 0x0, + 'msNewTokenList': [], + 'moveList': [], + 'clickList': [], + 'keyboardList': [], + 'activeState': [], + 'aidList': [] + }; + + function _0x53b77d(_0x357347) { + return w_0x5c3140('484e4f4a403f5243001714366d6da13c00000025f8c25369000000ee00110307070002161103021200031103070700021303062b2f11030207000335490700044211010044001400011101014a1200001100010700010d05000000003c000e00054303491101034a12000607000711000143024911010433000611010412000833000911010412000812000947002100110107070002161101021200031101070700021303062b2f110102070003354902110105430047004f11010433002511010412000a11010412000b190400962934001111010412000c11010412000d190400962947002100110107070002161101021200031101070700021303062b2f11010207000335490842000e0e7170737c7b7045677a657067616c027c7108717077607272706707707b63767a71700003727061047c7b737a02307607767a7b667a797007737c67707760720a7a60617067427c71617d0a7c7b7b7067427c71617d0b7a606170675d707c727d610b7c7b7b70675d707c727d61', { + get 0x0() { + return Image; + }, + 0x1: Object, + get 0x2() { + return _0x6caf; + }, + get 0x3() { + return console; + }, + get 0x4() { + return window; + }, + get 0x5() { + return _0x1230e7; + }, + 0x6: arguments, + 0x7: _0x357347 + }, this); + } + + function _0x3ed707() { + var _0x2077c7 = _0x5612de; + return w_0x5c3140(_0x2077c7(0x31d), { + get 0x0() { + return navigator; + }, + get 0x1() { + var _0x573a52 = _0x2077c7; + return _0x573a52(0x384) != typeof global ? global : void (-0x11 * -0x1cf + 0x95 * 0x16 + -0x1 * 0x2b8d); + }, + 0x2: Object, + get 0x3() { + var _0x4b9092 = _0x2077c7; + return _0x4b9092(0x384) != typeof process ? process : void (-0x65 * 0x2 + 0x2579 * 0x1 + -0x1 * 0x24af); + }, + get 0x4() { + return _0x1db123; + }, + 0x5: arguments + }, this); + } + + function _0x328bde(_0xacb410, _0x4ed7bd, _0x49d137) { + var _0x197e65 = _0x5612de + , _0x2d8b28 = _0x197e65(0x2ce) + , _0x4dd4b8 = '='; + _0x49d137 && (_0x4dd4b8 = ''), + _0x4ed7bd && (_0x2d8b28 = _0x4ed7bd); + for (var _0x1aa067, _0x3b8c55 = '', _0x2d1a36 = 0xe0f * 0x2 + -0x35b * -0x8 + 0x29e * -0x15; _0xacb410[_0x197e65(0x259)] >= _0x2d1a36 + (0x73 * -0x26 + -0xb4e + 0x1c63);) + _0x1aa067 = (-0x1cb9 + 0x2c6 + -0x1 * -0x1af2 & _0xacb410[_0x197e65(0x195)](_0x2d1a36++)) << 0x1de9 + 0x1c + -0x1 * 0x1df5 | (-0x1 * 0xd91 + -0x23a + 0x10ca & _0xacb410[_0x197e65(0x195)](_0x2d1a36++)) << -0x16 * 0x135 + 0x9e2 * 0x3 + -0x188 * 0x2 | -0x752 + -0x2 * 0xaf3 + 0x1e37 & _0xacb410[_0x197e65(0x195)](_0x2d1a36++), + _0x3b8c55 += _0x2d8b28[_0x197e65(0x25c)]((0x1c78125 + -0x1df1122 + -0xb * -0x190d17 & _0x1aa067) >> 0x59 * 0x4f + -0x1176 + -0x1 * 0x9ef), + _0x3b8c55 += _0x2d8b28['charAt']((-0x1 * 0x13b6b + -0x13 * -0x65aa + -0x26033 & _0x1aa067) >> 0x17ea * -0x1 + 0xef7 + 0x8ff), + _0x3b8c55 += _0x2d8b28['charAt']((-0x1 * 0x16bd + 0x115 + 0x10a * 0x24 & _0x1aa067) >> 0x29c * -0x1 + -0x1 * 0x1475 + 0x1717), + _0x3b8c55 += _0x2d8b28[_0x197e65(0x25c)](-0xc * 0x196 + 0x1fae + -0xc67 & _0x1aa067); + return _0xacb410[_0x197e65(0x259)] - _0x2d1a36 > -0x69f + -0x1 * 0xe5c + 0x14fb && (_0x1aa067 = (0x740 + -0x1ed1 + 0x1890 & _0xacb410['charCodeAt'](_0x2d1a36++)) << -0x7 * 0xec + 0x2167 * 0x1 + -0x1ae3 | (_0xacb410['length'] > _0x2d1a36 ? (0x16aa + -0x762 * 0x1 + -0xe49 & _0xacb410[_0x197e65(0x195)](_0x2d1a36)) << 0x1af7 + -0x26be + 0xbcf : 0x1 * -0x649 + -0x1 * 0xe16 + 0x2e9 * 0x7), + _0x3b8c55 += _0x2d8b28[_0x197e65(0x25c)]((-0x1 * 0x484e9 + -0x13c88 * -0x4a + -0x28bd * -0x40d & _0x1aa067) >> 0x6c * -0x4a + -0x81c * -0x2 + 0xf12), + _0x3b8c55 += _0x2d8b28['charAt']((-0x1ad98 + 0x1a5c8 + 0x3f7d0 & _0x1aa067) >> 0x1f95 + -0x1c06 + -0x383), + _0x3b8c55 += _0xacb410['length'] > _0x2d1a36 ? _0x2d8b28[_0x197e65(0x25c)]((-0x2447 + -0x1 * -0x1efe + 0x1509 & _0x1aa067) >> 0x1d66 + 0x2 * 0x202 + -0x2164) : _0x4dd4b8, + _0x3b8c55 += _0x4dd4b8), + _0x3b8c55; + } + + function _0x389396(_0x49fdfd, _0x32eedf) { + var _0x36dcb8 = _0x5612de; + return w_0x5c3140(_0x36dcb8(0x3ad), { + 0x0: arguments, + 0x1: _0x49fdfd, + 0x2: _0x32eedf + }, this); + } + + function _0x3262d3(_0xb01975) { + var _0x55341a = _0x5612de; + return _0x55341a(0x315)[_0x55341a(0x2c5)](_0xb01975); + } + + function _0xb5350b(_0x1289f5) { + var _0x341e09 = _0x5612de, _0x5b1849, _0x40ad1e, _0x341488, _0x5980c5, _0x31f759, _0x5bebd7 = ''; + for (_0x5b1849 = 0x13d5 + -0xc4f * 0x1 + -0x786; _0x5b1849 < _0x1289f5[_0x341e09(0x259)] - (0xe50 * 0x1 + 0x17f3 + -0x2640); _0x5b1849 += -0xeed + 0x1 * 0x10c0 + -0x1cf * 0x1) + _0x40ad1e = _0x3262d3(_0x1289f5[_0x341e09(0x25c)](_0x5b1849)), + _0x341488 = _0x3262d3(_0x1289f5[_0x341e09(0x25c)](_0x5b1849 + (0x1103 + 0xa86 + 0x1 * -0x1b88))), + _0x5980c5 = _0x3262d3(_0x1289f5[_0x341e09(0x25c)](_0x5b1849 + (-0x1c54 + -0xf15 + 0x2b6b))), + _0x31f759 = _0x3262d3(_0x1289f5['charAt'](_0x5b1849 + (0xd1a + 0x1 * -0x175d + -0x5 * -0x20e))), + _0x5bebd7 += String[_0x341e09(0x1e2)](_0x40ad1e << 0x33 * -0x3f + 0xe73 * -0x2 + 0x2975 | _0x341488 >>> 0x12d2 + 0x851 + -0x1b1f), + '=' !== _0x1289f5[_0x341e09(0x25c)](_0x5b1849 + (0x51 * -0x25 + -0x21d * 0x12 + 0x31c1 * 0x1)) && (_0x5bebd7 += String['fromCharCode'](_0x341488 << -0xa0c + 0xee3 + -0x4d3 & 0x1 * 0x397 + -0x113f + 0xe98 | _0x5980c5 >>> 0x2161 + 0x1b7 * -0x5 + 0xc66 * -0x2 & 0x22bb + -0xf08 + 0x6 * -0x346)), + '=' !== _0x1289f5[_0x341e09(0x25c)](_0x5b1849 + (0x125d * 0x2 + -0x3d * -0x31 + 0x146 * -0x26)) && (_0x5bebd7 += String[_0x341e09(0x1e2)](_0x5980c5 << -0x2650 + 0x17 * 0xe9 + -0x3 * -0x5cd & 0x754 + -0x5df + -0xb5 | _0x31f759)); + return _0x5bebd7; + } + + _0x6caf[_0x5612de(0x380)] = -0x14e * -0x2 + 0x2519 + -0x217 * 0x13, + _0x6caf['msToken'] = '', + _0x6caf[_0x5612de(0x263)] = _0x39693d[_0x5612de(0x3b9)], + _0x6caf[_0x5612de(0x3b5)] = '', + _0x6caf['ttwid'] = '', + _0x6caf[_0x5612de(0x316)] = '', + _0x6caf[_0x5612de(0x339)] = ''; + var _0x28d239 = 0x778 + 0xa41 + 0x1 * -0x11b9, _0x2d6b72, _0x1e9bba, _0xdc7355, _0xf08186; + + function _0x33f406(_0x4b5fb5) { + var _0x1d1da4 = _0x5612de; + return _0x4b5fb5 &= -0x2632 + 0x3 * -0x591 + 0x3724, + String[_0x1d1da4(0x1e2)](_0x4b5fb5 + (_0x4b5fb5 < 0x22f * 0x1 + -0x1cac + 0x3 * 0x8dd ? -0xd * 0x123 + 0x19ac + -0x552 * 0x2 : _0x4b5fb5 < -0x1 * -0x1646 + 0x1 * -0x1f21 + -0x305 * -0x3 ? -0x2b4 * 0x1 + -0x45 * 0xb + -0x2 * -0x2f9 : _0x4b5fb5 < 0x1 * 0x70c + 0x123f + -0x190d * 0x1 ? -(0x1f73 + -0x1 * -0x3d7 + -0x46 * 0x81) : -(-0x248f + 0x20d3 + 0x3cd))); + } + + function _0x4da136(_0x620f42) { + var _0xca40fa = _0x33f406; + return _0xca40fa(_0x620f42 >> 0x420 * -0x4 + -0x53f * -0x4 + -0x464) + _0xca40fa(_0x620f42 >> -0x1492 + -0x11c3 + -0x3 * -0xccd) + _0xca40fa(_0x620f42 >> 0x1479 + 0x571 * 0x6 + -0x795 * 0x7) + _0xca40fa(_0x620f42 >> -0x1d * 0x4f + 0x313 * -0xb + 0x2aca) + _0xca40fa(_0x620f42); + } + + _0x2d6b72 = _0x1e9bba = function (_0x5d2d39) { + return _0x2d6b72 = _0xdc7355, + _0x28d239 = _0x5d2d39, + _0x4da136(_0x5d2d39 >> -0x418 * 0x8 + 0x9fe + 0x7c * 0x2f); + } + , + _0xdc7355 = function (_0x135d9a) { + _0x2d6b72 = _0xf08186; + var _0x9cdabb = _0x28d239 << -0xa41 + -0x164f + 0x2b9 * 0xc | _0x135d9a >>> 0xee4 + 0x1 * -0x143 + 0xcd * -0x11; + return _0x28d239 = _0x135d9a, + _0x4da136(_0x9cdabb); + } + , + _0xf08186 = function (_0x36c054) { + return _0x2d6b72 = _0x1e9bba, + _0x4da136(_0x28d239 << -0x302 + 0x1 * 0x2447 + -0x7 * 0x4bd | _0x36c054 >>> -0x1f5e + 0x1aa0 + 0x3d * 0x14) + _0x33f406(_0x36c054); + } + ; + var _0x539097 = -0x2 * -0x621a4af5 + 0xc681287f + -0xec7e44b0, _0x12ada0; + + function _0x75d5b3(_0x5a0afa, _0x1ccbbd) { + var _0x13780b = _0x5612de + , _0xc312d4 = _0x5a0afa['length'] + , _0x102845 = _0xc312d4 << -0x3 * -0x711 + 0x9a9 * 0x2 + -0x2883; + if (_0x1ccbbd) { + var _0x25438e = _0x5a0afa[_0xc312d4 - (0x1b18 + 0x1 * 0xfb6 + -0x1 * 0x2acd)]; + if (_0x25438e < (_0x102845 -= 0x1f * 0x62 + -0xac0 + -0x8d * 0x2) - (-0xfed + -0x8a * 0x23 + 0x22ce) || _0x25438e > _0x102845) + return null; + _0x102845 = _0x25438e; + } + for (var _0x41e0a1 = -0x13b + -0x1963 + -0xd4f * -0x2; _0x41e0a1 < _0xc312d4; _0x41e0a1++) + _0x5a0afa[_0x41e0a1] = String['fromCharCode'](-0x30 * -0x12 + -0x235b + -0x15 * -0x192 & _0x5a0afa[_0x41e0a1], _0x5a0afa[_0x41e0a1] >>> -0x1839 * -0x1 + -0x5 * -0x196 + 0x1 * -0x201f & -0x2 * 0x2b3 + 0x1 * 0x19c9 + -0x1364, _0x5a0afa[_0x41e0a1] >>> -0x12b * 0x1 + 0xa54 * 0x1 + -0x11 * 0x89 & 0xc36 * 0x2 + 0x2 * 0x1259 + 0x1 * -0x3c1f, _0x5a0afa[_0x41e0a1] >>> 0x564 + 0x2325 + -0x15 * 0x1ed & 0x2673 + -0x1411 + -0x1163); + var _0x5ef85e = _0x5a0afa[_0x13780b(0x24f)](''); + return _0x1ccbbd ? _0x5ef85e['substring'](0x3 * -0x388 + -0xe41 + 0x18d9, _0x102845) : _0x5ef85e; + } + + function _0x183951(_0x15f4d9, _0x59200b) { + var _0x4f373f = _0x5612de, _0x40761a, _0x6155ee = _0x15f4d9[_0x4f373f(0x259)], + _0x21fe82 = _0x6155ee >> 0xb8d * -0x1 + -0x1 * 0x5fe + -0x1 * -0x118d; + 0x4 * -0xbc + 0x12f0 + -0x1000 != (-0x79 * 0x2 + -0xb1 * 0x16 + 0x102b & _0x6155ee) && ++_0x21fe82, + _0x59200b ? (_0x40761a = new Array(_0x21fe82 + (0x13 * -0x65 + -0x14ef + 0xfb * 0x1d)))[_0x21fe82] = _0x6155ee : _0x40761a = new Array(_0x21fe82); + for (var _0x56bca4 = -0x9e0 + 0x51 * 0x1a + 0x1a6; _0x56bca4 < _0x6155ee; ++_0x56bca4) + _0x40761a[_0x56bca4 >> -0xc1b * -0x2 + -0xc2 * -0x21 + 0x1 * -0x3136] |= _0x15f4d9['charCodeAt'](_0x56bca4) << ((0x3 * -0x4cd + -0xdfc + 0x1c66 & _0x56bca4) << 0x1 * -0x133b + 0x21a5 + 0xe67 * -0x1); + return _0x40761a; + } + + function _0x25c901(_0x431b9d) { + return 0x1a1299587 + 0x91539 * -0x1c1b + -0x202b07 * -0x2ed & _0x431b9d; + } + + function _0x38d33e(_0x1aed31, _0x212e8a, _0x427b15, _0x8fcd39, _0x4eaad6, _0x532b8e) { + return (_0x427b15 >>> -0x1 * -0x1ddb + -0x20f7 + -0x3 * -0x10b ^ _0x212e8a << -0x1 * -0x407 + -0x132e + -0xf29 * -0x1) + (_0x212e8a >>> -0x828 + -0xf23 + -0x9d * -0x26 ^ _0x427b15 << -0xd51 + 0xc9f + 0xb6) ^ (_0x1aed31 ^ _0x212e8a) + (_0x532b8e[0x9ad + -0x763 + -0xb * 0x35 & _0x8fcd39 ^ _0x4eaad6] ^ _0x427b15); + } + + function _0x231484(_0xefe811) { + var _0x13eaf5 = _0x5612de; + return _0xefe811[_0x13eaf5(0x259)] < -0xa13 + 0x1086 + -0x66f && (_0xefe811[_0x13eaf5(0x259)] = -0x1371 + -0x1ec1 * -0x1 + 0x5a6 * -0x2), + _0xefe811; + } + + function _0x3d58e7(_0x5e28f2, _0x468b52) { + var _0x50c100 = _0x5612de, _0x7c35df, _0x4c97b3, _0x5e0270, _0x3034db, _0x56f817, _0x3084b8, + _0x66df40 = _0x5e28f2[_0x50c100(0x259)], _0x5506f5 = _0x66df40 - (-0x1c76 + 0x2246 + -0x5cf); + for (_0x4c97b3 = _0x5e28f2[_0x5506f5], + _0x5e0270 = 0x22ee + 0xa15 * -0x1 + -0x18d9 * 0x1, + _0x3084b8 = 0x1 * 0x36f + -0x2707 + 0x2398 | Math[_0x50c100(0x1cf)](0xc72 * 0x2 + -0xe3 * 0x2b + 0xd43 + (0x1a + 0x1c2a + -0x1c10) / _0x66df40); _0x3084b8 > 0x1 * -0x1cd + -0x2476 + 0x2643; --_0x3084b8) { + for (_0x3034db = (_0x5e0270 = _0x25c901(_0x5e0270 + _0x539097)) >>> 0x3b * -0x2f + 0x1290 + 0x3 * -0x293 & 0x1533 + -0x116d + -0x3c3, + _0x56f817 = 0x8 * 0x23b + -0xb89 + 0x64f * -0x1; _0x56f817 < _0x5506f5; ++_0x56f817) + _0x7c35df = _0x5e28f2[_0x56f817 + (0x3b * 0x5f + -0x1e1 * 0x1 + -0x1403)], + _0x4c97b3 = _0x5e28f2[_0x56f817] = _0x25c901(_0x5e28f2[_0x56f817] + _0x38d33e(_0x5e0270, _0x7c35df, _0x4c97b3, _0x56f817, _0x3034db, _0x468b52)); + _0x7c35df = _0x5e28f2[-0x1570 + -0x1 * -0x385 + -0x8b * -0x21], + _0x4c97b3 = _0x5e28f2[_0x5506f5] = _0x25c901(_0x5e28f2[_0x5506f5] + _0x38d33e(_0x5e0270, _0x7c35df, _0x4c97b3, _0x5506f5, _0x3034db, _0x468b52)); + } + return _0x5e28f2; + } + + function _0x4aaf04(_0x33a7ba, _0x386196) { + var _0x257c0b = _0x5612de, _0x379288, _0x247a8b, _0x334bb9, _0x2fa83f, _0x417a88, + _0x2a3ae5 = _0x33a7ba[_0x257c0b(0x259)], _0x429a0d = _0x2a3ae5 - (0xc1 * -0x11 + 0x1f99 + -0xb * 0x1b5); + for (_0x379288 = _0x33a7ba[-0x1 * -0x1397 + -0x13 * -0x187 + -0x309c], + _0x334bb9 = _0x25c901(Math[_0x257c0b(0x1cf)](0xe52 * -0x1 + -0x10 * 0xb + -0x34 * -0x4a + (-0x3 * -0xd9 + 0x9f * 0x2f + 0xfc4 * -0x2) / _0x2a3ae5) * _0x539097); -0x2e * 0x1f + 0x2223 + -0x47 * 0x67 !== _0x334bb9; _0x334bb9 = _0x25c901(_0x334bb9 - _0x539097)) { + for (_0x2fa83f = _0x334bb9 >>> 0x437 * 0x5 + -0xfd * 0x22 + -0xc89 * -0x1 & 0x1 * 0x863 + 0x2267 * 0x1 + -0x2f * 0xe9, + _0x417a88 = _0x429a0d; _0x417a88 > 0xfc7 + -0x788 * -0x1 + -0x15f * 0x11; --_0x417a88) + _0x247a8b = _0x33a7ba[_0x417a88 - (0x3b * -0x4f + 0x6d * -0xa + 0xb3c * 0x2)], + _0x379288 = _0x33a7ba[_0x417a88] = _0x25c901(_0x33a7ba[_0x417a88] - _0x38d33e(_0x334bb9, _0x379288, _0x247a8b, _0x417a88, _0x2fa83f, _0x386196)); + _0x247a8b = _0x33a7ba[_0x429a0d], + _0x379288 = _0x33a7ba[-0x1fb + 0x1952 * -0x1 + -0x1d * -0xf1] = _0x25c901(_0x33a7ba[0x7 * 0x59 + 0x5 * -0x2d2 + 0xbab] - _0x38d33e(_0x334bb9, _0x379288, _0x247a8b, -0xbac + -0x7 * 0xea + -0x606 * -0x3, _0x2fa83f, _0x386196)); + } + return _0x33a7ba; + } + + function _0x532596(_0x2394ed) { + var _0x22f5e8 = _0x5612de; + if (/^[\x00-\x7f]*$/[_0x22f5e8(0x22b)](_0x2394ed)) + return _0x2394ed; + for (var _0x47e840 = [], _0x5f04b8 = _0x2394ed[_0x22f5e8(0x259)], _0x150666 = -0xe97 + 0xd02 + 0x195, _0x19b157 = 0xf1c + -0x1f5 * 0x8 + 0x8c; _0x150666 < _0x5f04b8; ++_0x150666, + ++_0x19b157) { + var _0x44de53 = _0x2394ed[_0x22f5e8(0x195)](_0x150666); + if (_0x44de53 < -0x1 * -0xb7b + 0x1566 + -0x2061) + _0x47e840[_0x19b157] = _0x2394ed[_0x22f5e8(0x25c)](_0x150666); + else { + if (_0x44de53 < -0x3 * 0xcd2 + 0x1168 + 0x1 * 0x1d0e) + _0x47e840[_0x19b157] = String['fromCharCode'](0x2 * 0x579 + 0x263c * 0x1 + 0x306e * -0x1 | _0x44de53 >> 0xca4 * -0x1 + 0x6f * 0x13 + -0x46d * -0x1, 0x7 * -0x5 + 0x35 * 0x73 + -0x172c | 0xf88 * -0x1 + -0x108f * -0x1 + -0xc8 & _0x44de53); + else { + if (!(_0x44de53 < -0xaebb * 0x1 + -0x3 * -0x3a46 + 0x6f7 * 0x1f || _0x44de53 > 0x1679b * 0x1 + -0x121 * -0x15 + -0x9f51)) { + if (_0x150666 + (0x15a6 + 0x1ec1 + -0x26 * 0x161) < _0x5f04b8) { + var _0x254ff6 = _0x2394ed[_0x22f5e8(0x195)](_0x150666 + (-0x42 * -0x7a + 0x4 * 0x91d + -0x43e7)); + if (_0x44de53 < -0x181e4 + 0xbcbb + 0x1a129 && -0x17db * -0xf + 0xac6d * -0x1 + -0x3d8 * -0x9 <= _0x254ff6 && _0x254ff6 <= 0x159a + 0x17967 + 0x9b9 * -0x12) { + var _0x304310 = -0x1862f + 0x1121d + 0x2 * 0xba09 + ((0x1 * -0x140f + -0x18dd + 0x30eb & _0x44de53) << -0xb0 * -0x8 + 0x875 + -0x7 * 0x1fd | 0x2301 + 0x171f + 0x3621 * -0x1 & _0x254ff6); + _0x47e840[_0x19b157] = String[_0x22f5e8(0x1e2)](0x1afc * -0x1 + 0x26f4 + -0xb08 | _0x304310 >> 0xb * 0x14e + -0x119 * -0x1d + -0x2e1d & 0x1037 * 0x1 + -0x1090 + -0x2 * -0x4c, 0x1922 + 0x4 * 0x351 + -0x25e6 | _0x304310 >> 0x1e93 + -0x517 + -0x1970 & 0x2481 + 0x1591 + -0x39d3, -0xace * -0x1 + 0x1ef3 + -0x2941 | _0x304310 >> -0xb7f * -0x3 + -0x1 * 0xe7d + -0x13fa & -0x10d * -0x6 + 0x252a * 0x1 + -0x2b39, -0x1c61 * 0x1 + 0x1 * -0x5e7 + -0x13e * -0x1c | 0x13 * -0x1f9 + 0x16 * -0x164 + -0x37 * -0x13e & _0x304310), + ++_0x150666; + continue; + } + } + throw new Error(_0x22f5e8(0x297)); + } + _0x47e840[_0x19b157] = String[_0x22f5e8(0x1e2)](-0x170b + 0x109b + 0x750 | _0x44de53 >> -0xbf0 * -0x2 + 0x25bc + -0x3d90, 0x4ec + 0x1f0c + -0x8de * 0x4 | _0x44de53 >> 0x2 * 0x829 + -0x1b * -0x10c + -0x2c90 & -0x2322 + 0x19d5 + 0x34 * 0x2f, 0x2a1 + 0x1 * 0x1ac0 + 0x1 * -0x1ce1 | -0xe95 + 0x1cf * 0x11 + 0x1 * -0xfeb & _0x44de53); + } + } + } + return _0x47e840[_0x22f5e8(0x24f)](''); + } + + function _0x45fbef(_0x316827, _0x2a039f) { + var _0x1c80ac = _0x5612de; + for (var _0x4921e2 = new Array(_0x2a039f), _0x79a402 = 0x20bd + -0x10b1 + -0x1 * 0x100c, _0x28b895 = -0xd2c + -0x1730 + 0x1 * 0x245c, _0x2bc88b = _0x316827[_0x1c80ac(0x259)]; _0x79a402 < _0x2a039f && _0x28b895 < _0x2bc88b; _0x79a402++) { + var _0x43b518 = _0x316827[_0x1c80ac(0x195)](_0x28b895++); + switch (_0x43b518 >> -0x1342 + 0x67 * -0x53 + 0x34ab) { + case -0x410 * -0x3 + -0xd9 + -0xb57: + case -0x17cb + 0x2362 + -0xb96 * 0x1: + case -0x24 * 0x7f + -0x1 * -0xcfc + 0x19 * 0x32: + case 0x2025 + 0x1102 + -0x3124: + case 0x1b0d + 0xcb4 + 0xd3f * -0x3: + case -0x11d9 + 0x9 * 0x16d + -0x1 * -0x509: + case 0x79 * 0x49 + 0x1 * 0x1b8e + -0x3e09 * 0x1: + case 0x26c1 + -0x2137 * 0x1 + -0x583: + _0x4921e2[_0x79a402] = _0x43b518; + break; + case 0x10f * -0x13 + 0x426 + 0x1003: + case 0x164d * 0x1 + 0xb5a * 0x3 + 0x1c27 * -0x2: + if (!(_0x28b895 < _0x2bc88b)) + throw new Error('Unfinished\x20UTF-8\x20octet\x20sequence'); + _0x4921e2[_0x79a402] = (-0x1f7 * 0xb + -0x1fa0 + 0x2ab * 0x14 & _0x43b518) << -0x233b + 0x160e + 0xd33 | -0x1e40 + 0x22b9 + -0x2 * 0x21d & _0x316827[_0x1c80ac(0x195)](_0x28b895++); + break; + case -0x2512 + -0x1595 + 0x3ab5: + if (!(_0x28b895 + (0xba3 * -0x1 + -0x17dd * 0x1 + 0x1 * 0x2381) < _0x2bc88b)) + throw new Error(_0x1c80ac(0x394)); + _0x4921e2[_0x79a402] = (0x247f * -0x1 + 0xec2 * 0x1 + -0x136 * -0x12 & _0x43b518) << 0x1 * 0x1bcd + -0x3dd + -0x17e4 | (0x1631 + -0x1058 + 0x2 * -0x2cd & _0x316827[_0x1c80ac(0x195)](_0x28b895++)) << 0x889 * 0x4 + 0x11c8 * 0x2 + -0x45ae | -0x698 * -0x4 + -0x2f * -0x4f + -0x28a2 & _0x316827[_0x1c80ac(0x195)](_0x28b895++); + break; + case -0x85 * -0x8 + 0x1148 + -0x1561: + if (!(_0x28b895 + (0x1 * -0x8f1 + -0x67 * 0x3e + 0x21e5) < _0x2bc88b)) + throw new Error(_0x1c80ac(0x394)); + var _0x1740ac = ((0x1 * -0x1d4f + 0x1 * 0x24bf + -0x769 & _0x43b518) << 0xb19 + 0x4a * -0x48 + -0x3 * -0x343 | (-0x1ab4 + -0x205 * -0x8 + -0x3 * -0x399 & _0x316827[_0x1c80ac(0x195)](_0x28b895++)) << 0x1e52 + -0x144b + -0x5 * 0x1ff | (0x4c5 * -0x3 + 0x1 * -0x70b + 0x1599 & _0x316827[_0x1c80ac(0x195)](_0x28b895++)) << -0xf6e + -0x37 * -0x86 + 0x239 * -0x6 | 0x2 * -0xc31 + 0x26b5 + -0xe14 & _0x316827[_0x1c80ac(0x195)](_0x28b895++)) - (0x1 * -0x6b6b + -0x14502 + -0x1 * -0x2b06d); + if (!(0x86 * 0xd + -0x2210 + 0x1b42 <= _0x1740ac && _0x1740ac <= 0x141d1 * 0x1 + -0x3044 * -0x8b + 0x1 * -0xb76be)) + throw new Error(_0x1c80ac(0x24e) + _0x1740ac['toString'](-0x959 * 0x3 + -0x50e * -0x5 + -0x1 * -0x2d5)); + _0x4921e2[_0x79a402++] = _0x1740ac >> -0x1a89 * 0x1 + 0x125 * -0x1 + 0x1bb8 & -0x2 * 0x12e4 + 0xc1e + 0x1da9 | -0x4e * -0x332 + -0x6764 * -0x2 + -0xf004 * 0x1, + _0x4921e2[_0x79a402] = 0x23f0 + 0x2b * 0x11 + -0x4 * 0x8b3 & _0x1740ac | 0xb45d + -0xd352 + 0x3 * 0x53a7; + break; + default: + throw new Error(_0x1c80ac(0x330) + _0x43b518[_0x1c80ac(0x3ae)](-0x1f71 + 0xdc3 * -0x1 + 0x2d44)); + } + } + return _0x79a402 < _0x2a039f && (_0x4921e2[_0x1c80ac(0x259)] = _0x79a402), + String[_0x1c80ac(0x1e2)]['apply'](String, _0x4921e2); + } + + function _0x25bfe1(_0x5ad020, _0x1001f1) { + var _0xa8facb = _0x5612de; + for (var _0xdb2671 = [], _0x67f891 = new Array(-0x29 * 0x169 + 0x1d * -0x3c7 + -0x6 * -0x313a), _0x3fce02 = -0x47c * -0x1 + -0xc83 + 0x2ad * 0x3, _0x47254b = 0x1010 + -0xb * 0x29 + -0xe4d, _0x4445a9 = _0x5ad020[_0xa8facb(0x259)]; _0x3fce02 < _0x1001f1 && _0x47254b < _0x4445a9; _0x3fce02++) { + var _0x488af6 = _0x5ad020['charCodeAt'](_0x47254b++); + switch (_0x488af6 >> -0x1148 + 0xbd2 + 0x57a) { + case -0x1 * -0xb6b + 0x16f6 + -0x2261: + case -0x1678 + -0x1c12 + 0x3 * 0x10d9: + case 0xd01 * -0x2 + 0x2c2 + -0x1a * -0xe5: + case 0x1985 + 0x49 * -0x6d + 0x593: + case 0xbac + 0xd1a * 0x1 + -0x18c2: + case -0x11 * -0x1 + 0x1 * -0x18bd + 0x18b1: + case 0x1e6 + -0x129a * -0x1 + 0x1 * -0x147a: + case -0x1 * 0xf49 + 0xed + 0xe63: + _0x67f891[_0x3fce02] = _0x488af6; + break; + case 0x30e * 0xb + 0x255b + -0x1 * 0x46e9: + case 0x71 * -0xf + -0x1371 + 0x1a1d: + if (!(_0x47254b < _0x4445a9)) + throw new Error(_0xa8facb(0x394)); + _0x67f891[_0x3fce02] = (-0x407 * -0x5 + -0xcb5 + 0x74f * -0x1 & _0x488af6) << -0x585 + -0xbf8 + 0x1183 | -0x1 * 0x1e25 + 0x6d * -0x3b + 0x1281 * 0x3 & _0x5ad020['charCodeAt'](_0x47254b++); + break; + case -0x676 * -0x4 + -0x351 + -0x1679: + if (!(_0x47254b + (0x1b63 + -0x5 * 0x463 + -0x573) < _0x4445a9)) + throw new Error(_0xa8facb(0x394)); + _0x67f891[_0x3fce02] = (0x2dd * 0x7 + -0x15dd + 0x1e1 & _0x488af6) << 0x141c + 0x18e3 + -0x2cf3 | (-0x1 * -0x619 + 0x1 * 0x18bf + -0xa33 * 0x3 & _0x5ad020[_0xa8facb(0x195)](_0x47254b++)) << 0x1343 * -0x1 + -0x9 * 0x198 + 0x21a1 | 0x455 + -0x1ef3 + 0x1add & _0x5ad020['charCodeAt'](_0x47254b++); + break; + case -0x21f + -0x13f9 * 0x1 + -0x6b * -0x35: + if (!(_0x47254b + (-0xde * -0xb + 0x20cf + -0x2a57) < _0x4445a9)) + throw new Error(_0xa8facb(0x394)); + var _0x59357e = ((0x1081 + -0x1b6f + 0xaf5 & _0x488af6) << -0x1 * -0x511 + -0x45 * 0x55 + 0x11ea | (0x125a * 0x2 + 0x4bd * -0x2 + -0x1afb & _0x5ad020[_0xa8facb(0x195)](_0x47254b++)) << 0xbf4 * -0x2 + -0x1512 + 0x2d06 | (0x1aae + 0xd81 + -0x27f0 & _0x5ad020[_0xa8facb(0x195)](_0x47254b++)) << 0x1759 + -0x9a1 * -0x1 + 0x4c * -0x6f | 0x352 * -0xb + -0xde7 + 0x32ac & _0x5ad020[_0xa8facb(0x195)](_0x47254b++)) - (-0x57e9 + 0x19207 + -0x3a1e); + if (!(0x41b * -0x7 + 0x1658 + 0x1 * 0x665 <= _0x59357e && _0x59357e <= -0xf6 * -0x7ed + -0x1bcf3b + -0x4 * -0x90c5f)) + throw new Error('Character\x20outside\x20valid\x20Unicode\x20range:\x200x' + _0x59357e['toString'](-0x40f + -0x5 * -0x61f + 0x1c4 * -0xf)); + _0x67f891[_0x3fce02++] = _0x59357e >> -0x15e2 + 0x1 * -0xb51 + -0x43 * -0x7f & -0x11a2 + 0xb * -0x29 + 0x7cc * 0x3 | 0x1 * -0x3d14 + 0x159a9 + -0x1 * 0x4495, + _0x67f891[_0x3fce02] = 0x1 * 0x101 + -0x499 + 0x797 & _0x59357e | 0x1dec + 0x87f7 + 0x361d; + break; + default: + throw new Error('Bad\x20UTF-8\x20encoding\x200x' + _0x488af6[_0xa8facb(0x3ae)](-0x11 * 0x1dc + 0x1a53 + 0x559)); + } + if (_0x3fce02 >= -0xb3 * -0x16e + 0x1616 + 0x1a6 * -0x5b) { + var _0x2ceb4e = _0x3fce02 + (0x4 * -0x8fe + 0x665 * 0x3 + 0x10ca); + _0x67f891[_0xa8facb(0x259)] = _0x2ceb4e, + _0xdb2671[_0xdb2671[_0xa8facb(0x259)]] = String[_0xa8facb(0x1e2)][_0xa8facb(0x207)](String, _0x67f891), + _0x1001f1 -= _0x2ceb4e, + _0x3fce02 = -(-0x18 * -0x111 + 0x2 * 0x9e3 + -0x2d5d); + } + } + return _0x3fce02 > 0x1 * 0xb5d + -0x20a3 + 0x1546 && (_0x67f891['length'] = _0x3fce02, + _0xdb2671[_0xdb2671[_0xa8facb(0x259)]] = String['fromCharCode'][_0xa8facb(0x207)](String, _0x67f891)), + _0xdb2671['join'](''); + } + + function _0x31dfb5(_0x360a73, _0xe765ba) { + var _0x293f34 = _0x5612de; + return (null == _0xe765ba || _0xe765ba < -0x1605 + 0xf7 * 0xe + 0x883) && (_0xe765ba = _0x360a73[_0x293f34(0x259)]), + -0x6 * 0x30b + -0x1608 + 0x284a === _0xe765ba ? '' : /^[\x00-\x7f]*$/[_0x293f34(0x22b)](_0x360a73) || !/^[\x00-\xff]*$/[_0x293f34(0x22b)](_0x360a73) ? _0xe765ba === _0x360a73[_0x293f34(0x259)] ? _0x360a73 : _0x360a73[_0x293f34(0x3a7)](0x169 + 0x887 + 0x6a * -0x18, _0xe765ba) : _0xe765ba < 0x1d0d6 + 0x73e5 + -0x4 * 0x512f ? _0x45fbef(_0x360a73, _0xe765ba) : _0x25bfe1(_0x360a73, _0xe765ba); + } + + function _0xdda738(_0x21d8ce, _0x4bf3f9) { + var _0x46d91f = _0x5612de; + return null == _0x21d8ce || 0x1 * -0xab1 + -0x2567 * -0x1 + -0x1ab6 === _0x21d8ce[_0x46d91f(0x259)] ? _0x21d8ce : (_0x21d8ce = _0x532596(_0x21d8ce), + _0x4bf3f9 = _0x532596(_0x4bf3f9), + _0x75d5b3(_0x3d58e7(_0x183951(_0x21d8ce, !(0xad5 + 0xaa1 + -0x2 * 0xabb)), _0x231484(_0x183951(_0x4bf3f9, !(-0x106c + -0x1173 * -0x2 + -0x1279)))), !(-0x1 * 0x2c8 + -0xc8 + 0x391))); + } + + function _0x4bb829(_0x1f763e, _0x47e9cd) { + var _0x18b798 = _0x5612de; + return null == _0x1f763e || -0x12 * 0xe1 + 0x3cb * -0x5 + 0x22c9 === _0x1f763e[_0x18b798(0x259)] ? _0x1f763e : (_0x47e9cd = _0x532596(_0x47e9cd), + _0x31dfb5(_0x75d5b3(_0x4aaf04(_0x183951(_0x1f763e, !(-0x40 * -0x16 + -0x133 * -0x1d + -0x2846)), _0x231484(_0x183951(_0x47e9cd, !(0x1e64 + 0xcee + -0x2b51)))), !(-0x1daa + -0xbb1 + 0x295b)))); + } + + function _0x39dfe4() { + var _0x2fd4da = _0x5612de + , _0x21e994 = ''; + try { + window[_0x2fd4da(0x3be)] && (_0x21e994 = window[_0x2fd4da(0x3be)]['getItem']('_byted_param_sw')), + _0x21e994 && !window[_0x2fd4da(0x1dc)] || (_0x21e994 = window['localStorage'][_0x2fd4da(0x2d8)]('_byted_param_sw')); + } catch (_0x3b8cd9) { + } + if (_0x21e994) + try { + var _0x25acb5 = _0x4bb829(_0xb5350b(_0x21e994[_0x2fd4da(0x2a5)](0x19 * 0xc9 + -0x1bc8 + -0x82f * -0x1)), _0x21e994[_0x2fd4da(0x2a5)](0x2 * 0xa88 + -0x25 * -0x94 + -0x2a74, 0x2c6 * 0x5 + -0x14c6 + 0x1bc * 0x4)); + if ('on' === _0x25acb5) + return !(0x527 * -0x7 + 0x7b7 + 0x1c5a); + if (_0x2fd4da(0x304) === _0x25acb5) + return !(0x1b29 * -0x1 + -0xd8d + 0x1 * 0x28b7); + } catch (_0x1da1e4) { + } + return !(-0x158c + 0x10 * -0x13d + 0x1 * 0x295d); + } + + function _0x1b4bf1() { + var _0x4eb990 = _0x5612de; + return w_0x5c3140(_0x4eb990(0x211), { + get 0x0() { + var _0x448d97 = _0x4eb990; + return _0x448d97(0x384) != typeof navigator ? navigator : void (-0xd95 * -0x2 + -0x1 * 0x16ed + 0x5 * -0xd9); + }, + get 0x1() { + var _0x389269 = _0x4eb990; + return _0x389269(0x384) != typeof window ? window : void (0x63e + 0xb * -0x32b + -0x1c9b * -0x1); + }, + get 0x2() { + return _0x1db123; + }, + 0x3: Object, + get 0x4() { + return 'undefined' != typeof document ? document : void (0xe3a + 0x2499 + -0x32d3); + }, + get 0x5() { + var _0x813809 = _0x4eb990; + return _0x813809(0x384) != typeof location ? location : void (-0x1 * -0x2145 + 0x54e * -0x7 + -0x1 * -0x3dd); + }, + get 0x6() { + return _0x176a57; + }, + get 0x7() { + return 'undefined' != typeof history ? history : void (-0x17d + -0x1ef4 + 0x2071); + }, + 0x8: arguments + }, this); + } + + function _0x532cd9() { + var _0x3b3ba1 = _0x5612de; + return w_0x5c3140(_0x3b3ba1(0x190), { + get 0x0() { + return _0x176a57; + }, + get 0x1() { + return navigator; + }, + get 0x2() { + return PluginArray; + }, + get 0x3() { + return window; + }, + 0x4: arguments + }, this); + } + + function _0x3391fc() { + var _0x2aea9b = _0x5612de; + return w_0x5c3140(_0x2aea9b(0x266), { + get 0x0() { + return _0x12ada0; + }, + get 0x1() { + return navigator; + }, + 0x2: Object, + get 0x3() { + return window; + }, + 0x4: arguments, + 0x5: RegExp + }, this); + } + + function _0x21fa28() { + var _0x1106df = _0x5612de; + return w_0x5c3140(_0x1106df(0x17b), { + set 0x0(_0x2b3a0b) { + _0x12ada0 = _0x2b3a0b; + }, + 0x1: Object, + get 0x2() { + return window; + }, + 0x3: arguments + }, this); + } + + function _0x49b1d7(_0x4f4807) { + var _0x4f1753 = _0x5612de; + return w_0x5c3140(_0x4f1753(0x171), { + get 0x0() { + return _0x1230e7; + }, + get 0x1() { + return indexedDB; + }, + get 0x2() { + return _0xf8ccf1; + }, + get 0x3() { + return window; + }, + get 0x4() { + return DOMException; + }, + get 0x5() { + return _0x176a57; + }, + get 0x6() { + return _0x6caf; + }, + 0x7: arguments, + 0x8: _0x4f4807 + }, this); + } + + function _0x462256() { + var _0x1ed1aa = _0x5612de; + return w_0x5c3140(_0x1ed1aa(0x163), { + get 0x0() { + return _0x176a57; + }, + get 0x1() { + return document; + }, + get 0x2() { + return navigator; + }, + 0x3: arguments, + 0x4: RegExp + }, this); + } + + function _0x3cee0e() { + var _0x5f1e22 = _0x5612de; + return w_0x5c3140(_0x5f1e22(0x2dd), { + get 0x0() { + return navigator; + }, + get 0x1() { + return window; + }, + 0x2: arguments, + 0x3: RegExp + }, this); + } + + function _0x1f9824() { + var _0x1d4f72 = _0x5612de + , _0x5821af = ''; + if (_0x6caf['PLUGIN']) + _0x5821af = _0x6caf[_0x1d4f72(0x354)]; + else { + for (var _0x580f96 = [], _0x3ca683 = navigator[_0x1d4f72(0x1ba)] || [], _0x15f771 = 0x389 * 0x5 + -0x2a * -0xe2 + -0x36c1; _0x15f771 < -0xe3b * 0x1 + 0x1a76 + -0x6 * 0x209; _0x15f771++) + try { + for (var _0x5a4f6c = _0x3ca683[_0x15f771], _0x3a1f6 = [], _0x1a6da9 = -0x869 + -0x111 * 0x14 + -0x1dbd * -0x1; _0x1a6da9 < _0x5a4f6c[_0x1d4f72(0x259)]; _0x1a6da9++) + _0x5a4f6c[_0x1d4f72(0x37c)](_0x1a6da9) && _0x3a1f6[_0x1d4f72(0x36e)](_0x5a4f6c['item'](_0x1a6da9)[_0x1d4f72(0x1ab)]); + var _0x1ae7c8 = _0x5a4f6c[_0x1d4f72(0x341)] + ''; + _0x5a4f6c['version'] && (_0x1ae7c8 += _0x5a4f6c[_0x1d4f72(0x2c1)] + ''), + _0x1ae7c8 += _0x5a4f6c['filename'] + '', + _0x1ae7c8 += _0x3a1f6[_0x1d4f72(0x24f)](''), + _0x580f96['push'](_0x1ae7c8); + } catch (_0x4e31c6) { + } + _0x5821af = _0x580f96[_0x1d4f72(0x24f)]('##'), + _0x6caf[_0x1d4f72(0x354)] = _0x5821af; + } + return _0x5821af[_0x1d4f72(0x2a5)](-0x1 * 0x26c + -0x1e2f + 0x209b, -0x26ff + 0x1b6e * 0x1 + 0xf91); + } + + function _0x30412e() { + var _0x5a747f = _0x5612de + , _0x5640f8 = []; + try { + var _0x3405cb = navigator[_0x5a747f(0x1ba)]; + if (_0x3405cb) { + for (var _0x53b06e = -0x8aa + 0x341 + 0x115 * 0x5; _0x53b06e < _0x3405cb[_0x5a747f(0x259)]; _0x53b06e++) + for (var _0xa74ec6 = -0x1829 + 0x1f9c + -0x773; _0xa74ec6 < _0x3405cb[_0x53b06e][_0x5a747f(0x259)]; _0xa74ec6++) { + var _0x2bcc6c = [_0x3405cb[_0x53b06e][_0x5a747f(0x19e)], _0x3405cb[_0x53b06e][_0xa74ec6][_0x5a747f(0x1ab)], _0x3405cb[_0x53b06e][_0xa74ec6][_0x5a747f(0x169)]][_0x5a747f(0x24f)]('|'); + _0x5640f8['push'](_0x2bcc6c); + } + } + } catch (_0x11c0f4) { + } + return _0x5640f8; + } + + function _0x28e2ec() { + var _0x3301ae = _0x5612de; + return w_0x5c3140(_0x3301ae(0x1a6), { + get 0x0() { + return navigator; + }, + get 0x1() { + return _0x1f9824; + }, + get 0x2() { + return window; + }, + 0x3: arguments + }, this); + } + + function _0x5863d1() { + var _0x247350 = _0x5612de; + return w_0x5c3140(_0x247350(0x21c), { + get 0x0() { + return _0x462335; + }, + get 0x1() { + return _0x39dfe4; + }, + get 0x2() { + return _0x1b4bf1; + }, + get 0x3() { + return _0x53b77d; + }, + get 0x4() { + return _0x49b1d7; + }, + get 0x5() { + return _0x3ed707; + }, + get 0x6() { + return _0x532cd9; + }, + get 0x7() { + return _0x3391fc; + }, + get 0x8() { + return _0x462256; + }, + get 0x9() { + return _0x3cee0e; + }, + get 0xa() { + return _0x28e2ec; + }, + get 0xb() { + return _0x6caf; + }, + 0xc: arguments + }, this); + } + + function _0x2a900b(_0x29489b) { + var _0x3163ac = _0x5612de; + for (var _0x2edc36 = Object[_0x3163ac(0x17f)](_0x29489b), _0x4da10f = -0x26c9 + -0x11f1 * -0x1 + 0x14d8, _0x26fc90 = _0x2edc36[_0x3163ac(0x259)] - (0x1cea + -0x5 * 0x2f5 + 0x8 * -0x1c4); _0x26fc90 >= -0x2 * -0x397 + 0x17ce + -0x1efc; _0x26fc90--) { + _0x4da10f = (_0x29489b[_0x2edc36[_0x26fc90]] ? 0x455 * 0x9 + 0x1715 + -0x3e11 : -0x1 * -0x22f7 + 0x1f6c * 0x1 + -0x203 * 0x21) << _0x2edc36[_0x3163ac(0x259)] - _0x26fc90 - (-0x64c * -0x6 + -0x163 + -0x224 * 0x11) | _0x4da10f; + } + return _0x4da10f; + } + + function _0x246aeb(_0x1b02ae, _0x32abc9) { + var _0x172517 = _0x5612de; + for (var _0x4d2e6c = 0x1e44 + 0x2 * 0x443 + 0x2 * -0x1365; _0x4d2e6c < _0x32abc9[_0x172517(0x259)]; _0x4d2e6c++) + _0x1b02ae = (-0xa15f + -0x1a803 + 0x349a1) * _0x1b02ae + _0x32abc9[_0x172517(0x195)](_0x4d2e6c) >>> -0x2c6 + 0x2 * -0x126c + 0x279e; + return _0x1b02ae; + } + + function _0x184783(_0x9867bc, _0x21d0e6) { + var _0x25b989 = _0x5612de; + for (var _0x21703e = -0xa6 * -0x1 + 0xbf * -0x5 + -0x315 * -0x1; _0x21703e < _0x21d0e6[_0x25b989(0x259)]; _0x21703e++) + _0x9867bc = (-0x6275 + 0xd966 + -0x5f * -0x172) * (_0x9867bc ^ _0x21d0e6['charCodeAt'](_0x21703e)) >>> -0xf * 0x1a + 0x7 * -0x543 + 0x443 * 0x9; + return _0x9867bc; + } + + function _0xf119da(_0x57529f, _0x19340f) { + var _0x1de06d = _0x5612de; + for (var _0x3e7b02 = 0x45a * 0x1 + -0xe5d * 0x2 + 0x1860; _0x3e7b02 < _0x19340f[_0x1de06d(0x259)]; _0x3e7b02++) { + var _0x25af5d = _0x19340f[_0x1de06d(0x195)](_0x3e7b02); + if (_0x25af5d >= -0x12321 + 0x417 * -0xa + 0x22407 && _0x25af5d <= 0x92d4 + 0xb6fd + -0x6dd2 && _0x3e7b02 < _0x19340f[_0x1de06d(0x259)]) { + var _0xfb40a0 = _0x19340f['charCodeAt'](_0x3e7b02 + (0x688 * 0x4 + 0x145 * 0x17 + -0x3752)); + -0xa62a + -0x10ba7 + -0x5d67 * -0x7 == (0xfbaf + 0x1ce63 + -0x1ce12 & _0xfb40a0) && (_0x25af5d = ((-0x9fe * 0x1 + 0x2 * -0xf33 + 0x2c63 & _0x25af5d) << -0x86d * 0x4 + -0x211 * 0x9 + -0x1 * -0x3457) + (-0x1b17 + 0xb6c + 0x13aa & _0xfb40a0) + (0x2 * 0xab9c + -0x18f24 + -0x4 * -0x4dfb), + _0x3e7b02 += -0x1e31 + -0xa * 0x38b + -0x150 * -0x32); + } + _0x57529f = (-0x3a * 0x7e4 + -0x3827 * -0x2 + 0x151 * 0x1c9) * _0x57529f + _0x25af5d >>> 0x3e7 + -0x1 * -0x5e7 + -0x9ce; + } + return _0x57529f; + } + + function _0x53f850(_0x450920) { + var _0x30ac3f = _0x5612de + , _0x4eeea4 = _0x450920 || ''; + return _0x4eeea4 = (_0x4eeea4 = -(-0x13 * -0x5a + 0xb2f + -0x11dc) !== (_0x4eeea4 = _0x4eeea4[_0x30ac3f(0x377)](/(http:\/\/|https:\/\/|\/\/)?[^\/]*/, ''))['indexOf']('?') ? _0x4eeea4[_0x30ac3f(0x3a7)](-0x819 * 0x3 + 0x1d1c + -0x9 * 0x89, _0x4eeea4[_0x30ac3f(0x2c5)]('?')) : _0x4eeea4) || '/'; + } + + function _0x446110(_0xc80785) { + var _0x5bf664 = _0x5612de + , _0x471548 = _0xc80785 || '' + , _0x2cf363 = _0x471548[_0x5bf664(0x1c2)](/[?](\w+=.*&?)*/) + , + _0x137237 = (_0x471548 = _0x2cf363 ? _0x2cf363[-0x2292 + -0x4 * 0x520 + 0x173 * 0x26][_0x5bf664(0x3a7)](0x112 * 0x11 + 0x61 + -0x2 * 0x949) : '') ? _0x471548[_0x5bf664(0x342)]('&') : null + , _0x290269 = {}; + if (_0x137237) { + for (var _0x15cd4c = 0xd54 + -0x49f + 0x2e7 * -0x3; _0x15cd4c < _0x137237[_0x5bf664(0x259)]; _0x15cd4c++) + _0x290269[_0x137237[_0x15cd4c]['split']('=')[0x65c + 0x3f8 * -0x2 + 0x194]] = _0x137237[_0x15cd4c][_0x5bf664(0x342)]('=')[0x15bb * -0x1 + -0x50b * 0x4 + 0x29e8]; + } + return _0x290269; + } + + function _0x3a1cf3(_0x8af04, _0xe4b509) { + var _0x28f81c = _0x5612de; + if (!_0x8af04 || '{}' === JSON[_0x28f81c(0x1e6)](_0x8af04)) + return {}; + for (var _0x257ee8 = Object[_0x28f81c(0x17f)](_0x8af04)['sort'](), _0x24c84a = {}, _0x4bfbcd = -0x1 * 0x21fb + -0x25 * -0x16 + 0x1ecd; _0x4bfbcd < _0x257ee8[_0x28f81c(0x259)]; _0x4bfbcd++) + _0x24c84a[_0x257ee8[_0x4bfbcd]] = _0xe4b509 ? _0x8af04[_0x257ee8[_0x4bfbcd]] + '' : _0x8af04[_0x257ee8[_0x4bfbcd]]; + return _0x24c84a; + } + + function _0x20b77a(_0x3745f1) { + var _0x211da5 = _0x5612de; + return Array[_0x211da5(0x2af)](_0x3745f1) ? _0x3745f1['map'](_0x20b77a) : _0x3745f1 instanceof Object ? Object[_0x211da5(0x17f)](_0x3745f1)[_0x211da5(0x38e)]()[_0x211da5(0x376)](function (_0x4b45b3, _0x5188a8) { + return _0x4b45b3[_0x5188a8] = _0x20b77a(_0x3745f1[_0x5188a8]), + _0x4b45b3; + }, {}) : _0x3745f1; + } + + function _0x483e03(_0x44c650) { + var _0x498394 = _0x5612de; + if (!_0x44c650 || '{}' === JSON[_0x498394(0x1e6)](_0x44c650)) + return ''; + for (var _0x52341a = Object['keys'](_0x44c650)['sort'](), _0x3c151a = '', _0x4f5c3f = -0xefc + 0x25ba + 0x29 * -0x8e; _0x4f5c3f < _0x52341a[_0x498394(0x259)]; _0x4f5c3f++) + _0x3c151a += [_0x52341a[_0x4f5c3f]] + '=' + _0x44c650[_0x52341a[_0x4f5c3f]] + '&'; + return _0x3c151a; + } + + function _0x4bae98() { + var _0x33d77a = _0x5612de; + try { + return !!window[_0x33d77a(0x3be)]; + } catch (_0x2002b2) { + return !(0xcab + -0xcff + 0x2 * 0x2a); + } + } + + function _0x275e5a() { + try { + return !!window['localStorage']; + } catch (_0x2df8fe) { + return !(-0x1ff * -0xd + 0x1cf1 * -0x1 + -0x17f * -0x2); + } + } + + function _0x4fdb47() { + var _0x34b6b1 = _0x5612de; + try { + return !!window[_0x34b6b1(0x218)]; + } catch (_0x3b6071) { + return !(0xedb * -0x1 + 0x41b * -0x5 + -0x2 * -0x11b1); + } + } + + function _0x1afbc2() { + return _0x5af46a(_0x4fdb47()) + _0x5af46a(_0x275e5a()) + _0x5af46a(_0x4bae98()); + } + + function _0xc6f828(_0x23a724) { + var _0x198ea0 = _0x5612de, _0x112670, _0x256bde = document[_0x198ea0(0x260)](_0x198ea0(0x24d)); + _0x256bde[_0x198ea0(0x302)] = 0x1813 * -0x1 + 0x1f94 + 0x751 * -0x1, + _0x256bde[_0x198ea0(0x245)] = -0x205f + 0x4f6 + -0x1b79 * -0x1; + var _0xa760ad = _0x256bde['getContext']('2d'); + _0xa760ad[_0x198ea0(0x18f)] = '14px\x20serif', + _0xa760ad[_0x198ea0(0x196)]('龘ฑภ경', 0x2162 * 0x1 + 0xbbb + -0x2d1b, -0x1 * -0x138a + -0x164e + 0x90 * 0x5), + _0xa760ad[_0x198ea0(0x3a0)] = -0xa67 + 0x7c * 0x39 + 0x103 * -0x11, + _0xa760ad[_0x198ea0(0x268)] = 0x22cf * 0x1 + -0x4d3 + 0x5 * -0x5ff, + _0xa760ad[_0x198ea0(0x340)] = _0x198ea0(0x21b), + _0xa760ad['arc'](-0x1 * -0x5dd + -0x6de + 0x109, -0x336 * 0x4 + -0x167a + 0x712 * 0x5, -0x7c8 + 0xb80 + -0x3b * 0x10, 0x411 + 0x38 * -0xaa + 0x3d * 0x8b, 0x7f * -0x20 + 0x11bb + -0x1d9), + _0xa760ad['stroke'](), + _0x112670 = _0x256bde[_0x198ea0(0x239)](); + for (var _0x367ff8 = 0xfa7 * -0x1 + -0x53 * 0x6d + 0x32fe; _0x367ff8 < 0x17b + -0x1b0e * 0x1 + 0x2b * 0x99; _0x367ff8++) + _0x23a724 = (0x1675 * -0xc + -0xe91a + 0x2f6d5) * _0x23a724 + _0x112670['charCodeAt'](_0x23a724 % _0x112670[_0x198ea0(0x259)]) >>> -0x44 + 0xfa0 * -0x2 + -0x1f84 * -0x1; + return _0x23a724; + } + + var _0x37a93a = -0x1b3b + 0x2136 + -0x1 * 0x5fb; + + function _0x18b4be() { + var _0x4d1378 = _0x5612de; + try { + return _0x37a93a || (_0x462335[_0x4d1378(0x219)] ? -(-0x1 * 0x19d5 + -0x1e5d + 0x3833) : _0x37a93a = _0xc6f828(0x15 * 0x144d79ba + 0x8831fd63 + -0x153df3ab6)); + } catch (_0x3c9d0d) { + return -(0x1e58 + -0x26 * -0xcb + 0x3c79 * -0x1); + } + } + + function _0x1a39c4() { + if (_0x37a93a) + return _0x37a93a; + _0x37a93a = _0xc6f828(-0x361cdc2a * -0x5 + 0x17c5 * 0xb369b + -0x2f7 * 0x6a0ca6); + } + + var _0x45ece5 = { + 'fpProfileUrl': _0x5612de(0x172) + }; + + function _0x130155() { + var _0x5e9262 = _0x5612de + , _0x380346 = window[_0x5e9262(0x328)]; + return _0x380346[_0x5e9262(0x302)] + '_' + _0x380346[_0x5e9262(0x245)] + '_' + _0x380346[_0x5e9262(0x17e)]; + } + + function _0x2a76f8() { + var _0x1d2b79 = _0x5612de + , _0xa8cb6a = window['screen']; + return _0xa8cb6a[_0x1d2b79(0x38a)] + '_' + _0xa8cb6a[_0x1d2b79(0x276)]; + } + + function _0x3da279() { + return new Promise(function (_0x2a10ed) { + var _0x7d3f27 = w_0x25f3; + if (_0x7d3f27(0x1b2) in navigator) + try { + navigator['getBattery']()[_0x7d3f27(0x1ed)](function (_0x13ff1d) { + var _0x479b99 = _0x7d3f27; + _0x2a10ed(_0x13ff1d[_0x479b99(0x3ac)] + '_' + _0x13ff1d[_0x479b99(0x2b0)] + '_' + _0x13ff1d[_0x479b99(0x353)] + '_' + _0x13ff1d[_0x479b99(0x213)]); + }); + } catch (_0x2c28b8) { + _0x2a10ed(''); + } + else + _0x2a10ed(''); + } + ); + } + + var _0x47ec2a = {}; + + function _0x299f3a() { + var _0x2531b6 = _0x5612de, _0x1a8a34, _0x2e0843 = _0x2531b6(0x33b), _0x29ea20 = -0x12a4 + 0x30b + 0xf99; + void (-0x2b * 0xa + -0x1d8d + 0x1f3b) !== navigator[_0x2e0843] && (_0x29ea20 = navigator[_0x2e0843]); + try { + document[_0x2531b6(0x188)](_0x2531b6(0x240)), + _0x1a8a34 = !(-0x1f61 + 0x19 * 0x22 + 0x1c0f); + } catch (_0x3992e0) { + _0x1a8a34 = !(0x17 * -0x5d + -0x1 * 0x209 + 0x377 * 0x3); + } + var _0x11190a = _0x2531b6(0x1ea) in window; + return Object[_0x2531b6(0x2a0)](_0x47ec2a, { + 'maxTouchPoints': _0x29ea20, + 'touchEvent': _0x1a8a34, + 'touchStart': _0x11190a + }), + _0x29ea20 + '_' + _0x1a8a34 + '_' + _0x11190a; + } + + function _0xbe842b() { + return _0x47ec2a; + } + + function _0x4649a1() { + var _0x3b6f20 = _0x5612de + , _0x4256a7 = new Date(); + _0x4256a7[_0x3b6f20(0x22d)](-0x1477 + 0xde4 * -0x1 + 0xb74 * 0x3), + _0x4256a7[_0x3b6f20(0x294)](-0x360 + -0x263d + 0x29a2); + var _0x213a03 = -_0x4256a7[_0x3b6f20(0x237)](); + _0x4256a7[_0x3b6f20(0x294)](-0x9b5 + 0x5 * 0x77e + -0x2 * 0xddb); + var _0x5a2621 = -_0x4256a7[_0x3b6f20(0x237)](); + return Math['min'](_0x213a03, _0x5a2621); + } + + function _0x487576() { + var _0x5557a1 = _0x5612de; + if (_0x6caf[_0x5557a1(0x2db)]) + return _0x6caf[_0x5557a1(0x2db)]; + try { + var _0x4f28ec = document[_0x5557a1(0x260)](_0x5557a1(0x24d))[_0x5557a1(0x2f9)]('webgl') + , _0x36473d = _0x4f28ec['getExtension'](_0x5557a1(0x375)) + , + _0x3ebb8d = _0x4f28ec[_0x5557a1(0x383)](_0x36473d['UNMASKED_VENDOR_WEBGL']) + '/' + _0x4f28ec['getParameter'](_0x36473d[_0x5557a1(0x39e)]); + return _0x6caf[_0x5557a1(0x2db)] = _0x3ebb8d, + _0x3ebb8d; + } catch (_0x2b9fa5) { + return ''; + } + } + + function _0x4f323e() { + var _0x2968a5 = _0x5612de + , _0xf55c22 = [_0x2968a5(0x27b), 'sans-serif', _0x2968a5(0x1fb)] + , _0x3ed5f8 = {} + , _0x2fef11 = {}; + if (!document[_0x2968a5(0x189)]) + return '0'; + for (var _0x6f70bc = -0x2271 + 0x2f * 0x72 + 0xd83, _0x3e66d7 = _0xf55c22; _0x6f70bc < _0x3e66d7['length']; _0x6f70bc++) { + var _0x189f91 = _0x3e66d7[_0x6f70bc] + , _0x2bf145 = document[_0x2968a5(0x260)](_0x2968a5(0x1f7)); + _0x2bf145['innerHTML'] = _0x2968a5(0x2a3), + _0x2bf145['style'][_0x2968a5(0x362)] = '72px', + _0x2bf145['style']['fontFamily'] = _0x189f91, + document[_0x2968a5(0x189)][_0x2968a5(0x26c)](_0x2bf145), + _0x3ed5f8[_0x189f91] = _0x2bf145[_0x2968a5(0x2ee)], + _0x2fef11[_0x189f91] = _0x2bf145['offsetHeight'], + document[_0x2968a5(0x189)][_0x2968a5(0x30d)](_0x2bf145); + } + var _0x4f59cf, + _0x4abd0f = ['Trebuchet\x20MS', _0x2968a5(0x177), _0x2968a5(0x25d), 'Segoe\x20UI', _0x2968a5(0x321), _0x2968a5(0x192), 'MT\x20Extra', _0x2968a5(0x3a9), _0x2968a5(0x28e), _0x2968a5(0x346), 'Meiryo', _0x2968a5(0x247), _0x2968a5(0x1ef), _0x2968a5(0x1d8), 'IrisUPC', 'Palatino', 'Colonna\x20MT', 'Playbill', _0x2968a5(0x1f4), _0x2968a5(0x288), _0x2968a5(0x1f2), _0x2968a5(0x38d), 'OPTIMA', _0x2968a5(0x2d9), _0x2968a5(0x348), _0x2968a5(0x2b3), 'Savoye\x20LET', _0x2968a5(0x3c5), _0x2968a5(0x21e)]; + _0x4f59cf = -0x255b * -0x1 + -0x1 * -0x139d + -0x38f8; + for (var _0x16c300 = -0x1 * 0xc3e + -0x20ff + 0x2d3d; _0x16c300 < _0x4abd0f[_0x2968a5(0x259)]; _0x16c300++) { + var _0x2c3be4, _0x37b937 = _0x350075(_0xf55c22); + try { + for (_0x37b937['s'](); !(_0x2c3be4 = _0x37b937['n']())[_0x2968a5(0x1e3)];) { + var _0x400340 = _0x2c3be4['value'] + , _0x200821 = document[_0x2968a5(0x260)]('span'); + _0x200821[_0x2968a5(0x36a)] = _0x2968a5(0x2a3), + _0x200821['style'][_0x2968a5(0x362)] = _0x2968a5(0x283), + _0x200821[_0x2968a5(0x280)]['fontFamily'] = _0x4abd0f[_0x16c300] + ',' + _0x400340, + document['body'][_0x2968a5(0x26c)](_0x200821); + var _0x533f71 = _0x200821[_0x2968a5(0x2ee)] !== _0x3ed5f8[_0x400340] || _0x200821[_0x2968a5(0x2a4)] !== _0x2fef11[_0x400340]; + if (document[_0x2968a5(0x189)][_0x2968a5(0x30d)](_0x200821), + _0x533f71) { + _0x16c300 < -0x45 * -0x8a + -0x7a9 + -0x1d6b && (_0x4f59cf |= -0x239 + 0x3 * -0x458 + 0xf42 << _0x16c300); + break; + } + } + } catch (_0x5c1c6e) { + _0x37b937['e'](_0x5c1c6e); + } finally { + _0x37b937['f'](); + } + } + return _0x4f59cf[_0x2968a5(0x3ae)](-0xe97 + -0x183c + -0x1 * -0x26e3); + } + + function _0x5090f5() { + var _0x458c87 = _0x5612de; + try { + new WebSocket(_0x458c87(0x199)); + } catch (_0x34e866) { + return _0x34e866[_0x458c87(0x312)]; + } + } + + function _0x468d57() { + var _0x2ef0c5 = _0x5612de; + return eval[_0x2ef0c5(0x3ae)]()[_0x2ef0c5(0x259)]; + } + + function _0x5bbaf0() { + var _0x5ec561 = _0x5612de + , _0x5971d6 = window['RTCPeerConnection'] || window[_0x5ec561(0x2e0)] || window[_0x5ec561(0x19a)] + , _0x5aac87 = []; + return new Promise(function (_0x4e6ec1) { + var _0x5af634 = _0x5ec561; + (_0x176a57() || navigator[_0x5af634(0x229)][_0x5af634(0x202)]()[_0x5af634(0x2c5)](_0x5af634(0x20e)) > -0x707 + -0x106 * 0x10 + -0x1 * -0x1767) && _0x4e6ec1(''); + try { + if (_0x5971d6 && 'function' == typeof _0x5971d6) { + var _0xadabb6 = new _0x5971d6({ + 'iceServers': [{ + 'urls': _0x5af634(0x27c) + }] + }) + , _0x4405e6 = function () { + } + , _0x4de1d1 = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/; + _0xadabb6[_0x5af634(0x1eb)] = function () { + var _0x374eb0 = _0x5af634; + _0x374eb0(0x162) === _0xadabb6['iceGatheringState'] && (_0xadabb6[_0x374eb0(0x27a)](), + _0xadabb6 = null); + } + , + _0xadabb6['onicecandidate'] = function (_0x4e2717) { + var _0x18e62e = _0x5af634; + if (_0x4e2717 && _0x4e2717[_0x18e62e(0x227)] && _0x4e2717[_0x18e62e(0x227)][_0x18e62e(0x227)]) { + if ('' === _0x4e2717['candidate'][_0x18e62e(0x227)]) + return; + var _0x1d1cd1 = _0x4de1d1['exec'](_0x4e2717[_0x18e62e(0x227)][_0x18e62e(0x227)]); + if (null !== _0x1d1cd1 && _0x1d1cd1[_0x18e62e(0x259)] > -0x1675 * 0x1 + -0x19 * 0xdd + 0x19 * 0x1c3) { + var _0xbaa956 = _0x1d1cd1[-0x1bdd * 0x1 + 0x13 * -0x1df + -0x11 * -0x3bb]; + -(0x1 * -0x12c1 + -0xa * 0x38c + -0x4ee * -0xb) === _0x5aac87[_0x18e62e(0x2c5)](_0xbaa956) && _0x5aac87[_0x18e62e(0x36e)](_0xbaa956); + } + } else + _0x4e6ec1(_0x5aac87[_0x18e62e(0x24f)]()); + } + , + _0xadabb6[_0x5af634(0x1e5)]('') + // setTimeout(function () { + // var _0x36b72e = _0x5af634; + // _0x4e6ec1(_0x5aac87[_0x36b72e(0x24f)]()); + // }, 0x2205 * 0x1 + 0x1d4 * -0x10 + -0x67 * 0x7); + var _0x38a358 = _0xadabb6[_0x5af634(0x2f5)](); + _0x38a358 instanceof Promise ? _0x38a358[_0x5af634(0x1ed)](function (_0x33e26c) { + return _0xadabb6['setLocalDescription'](_0x33e26c); + })[_0x5af634(0x1ed)](_0x4405e6) : _0xadabb6['createOffer'](function (_0x1c6e51) { + _0xadabb6['setLocalDescription'](_0x1c6e51, _0x4405e6, _0x4405e6); + }, _0x4405e6); + } else + _0x4e6ec1(''); + } catch (_0x31debb) { + _0x4e6ec1(''); + } + } + ); + } + + function _0x2e02ca() { + var _0x74cdcb = _0x5612de; + return _0x74cdcb(0x3af)[_0x74cdcb(0x377)](/[xy]/g, function (_0x5790dd) { + var _0x52f0b5 = _0x74cdcb + , + _0x2eeaf3 = (0x506 + -0x85c + -0x2 * -0x1b3) * Math[_0x52f0b5(0x18e)]() | 0xbb9 * -0x1 + 0x1 * 0x9dd + 0x1dc; + return ('x' == _0x5790dd ? _0x2eeaf3 : -0xd1f * 0x1 + 0x1df6 + -0x1 * 0x10d4 & _0x2eeaf3 | 0x182d + -0x10 * 0x262 + -0xdfb * -0x1)[_0x52f0b5(0x3ae)](0x1a65 + 0x3 * 0x17a + 0x13b * -0x19); + }); + } + + function _0x2e2fa0(_0x1a6938) { + var _0x5aaa98 = _0x5612de; + return -0x14 * 0x1df + 0x649 + 0x1f45 === _0x1a6938[_0x5aaa98(0x259)] && _0x246aeb(-0x21ad + 0x819 * -0x1 + 0x29c6, _0x1a6938[_0x5aaa98(0x1b0)](-0x1a55 * 0x1 + 0x1279 + 0x7dc, 0x31b + -0xcb4 * -0x1 + -0xfaf))[_0x5aaa98(0x3ae)]()['substring'](0x17cc + 0x1 * -0xd19 + -0x3 * 0x391, -0x1ff * 0x1 + 0x2579 + -0x1c6 * 0x14) === _0x1a6938[_0x5aaa98(0x1b0)](0x1746 + 0x7b8 + -0x1ede, -0x369 * -0x2 + -0x5e5 * 0x4 + 0xbc * 0x17); + } + + function _0x178d7c() { + var _0x4d5814 = _0x5612de + , _0x2d4341 = _0x24dc34(_0x4d5814(0x262)); + return _0x2d4341 && _0x2e2fa0(_0x2d4341) || _0x1f42cb(_0x4d5814(0x262), _0x2d4341 = ((_0x2d4341 = _0x2e02ca()) + _0x246aeb(0x17 * 0x12d + -0x6 * 0x3f7 + -0x341, _0x2d4341))[_0x4d5814(0x1b0)](0x2d1 * -0xd + 0x3a * -0x7c + 0x40b5, 0x188e + 0x13 * -0x127 + -0x287)), + _0x2d4341; + } + + function _0x3c0a68(_0x449fe8, _0x5ede0c) { + var _0x40bd5b = _0x5612de + , _0x401085 = null; + try { + _0x401085 = document['getElementsByTagName'](_0x40bd5b(0x221))[-0x2581 + 0x844 + -0x1d3d * -0x1]; + } catch (_0x599ca4) { + _0x401085 = document['body']; + } + if (null !== _0x401085) { + var _0x3a3665 = document[_0x40bd5b(0x260)](_0x40bd5b(0x361)) + , + _0x215422 = '_' + parseInt((0x3df0 + 0x13d + -0x181d) * Math['random'](), 0x1 * -0x2141 + -0x1 * -0xf82 + 0x11c9) + '_' + new Date()[_0x40bd5b(0x16d)](); + _0x449fe8 += _0x40bd5b(0x1be) + _0x215422, + _0x3a3665[_0x40bd5b(0x16b)] = _0x449fe8, + window[_0x215422] = function (_0x1efd79) { + var _0x4afb72 = _0x40bd5b; + try { + _0x5ede0c(_0x1efd79), + _0x401085[_0x4afb72(0x30d)](_0x3a3665), + delete window[_0x215422]; + } catch (_0xf98f95) { + } + } + , + _0x401085[_0x40bd5b(0x26c)](_0x3a3665); + } + } + + function _0x4072ad(_0x18cd85) { + return w_0x5c3140('484e4f4a403f524300022c395eafc0a4000000004a04440d00000030110104324700040700004202110100030443011400011100010211010102110102110104110001430207000143021842000200404f4c4d4a4b484946474445424340415e5f5c5d5a5b58595657546f6c6d6a6b686966676465626360617e7f7c7d7a7b78797677743e3f3c3d3a3b383936372320', { + get 0x0() { + return _0x325f58; + }, + get 0x1() { + return _0x328bde; + }, + get 0x2() { + return _0xdda738; + }, + 0x3: arguments, + 0x4: _0x18cd85 + }, this); + } + + function _0x5c0cdd(_0x380d2b, _0x1c644a) { + var _0x349270 = _0x5612de; + if (_0x1c644a) { + for (var _0x25fd23 = -0xbdc + -0xd78 * -0x2 + -0xf14, _0x2c655d = -0x1 * -0xbdb + 0xc2 + -0xc9d; _0x2c655d < _0x380d2b[_0x349270(0x259)]; _0x2c655d++) + _0x380d2b[_0x2c655d]['p'] && (_0x380d2b[_0x2c655d]['r'] = _0x1c644a[_0x25fd23++]); + } + var _0x20da32 = ''; + _0x380d2b[_0x349270(0x254)](function (_0x564ece) { + _0x20da32 += _0x5af46a(_0x564ece['r']) + '^^'; + }), + _0x20da32 += _0x30c916(); + var _0x2803a3 = _0x2e02ca() + , + _0x273650 = Math[_0x349270(0x1cf)](_0x2803a3[_0x349270(0x195)](0x127a + 0x22e0 + -0x3557 * 0x1) / (0x1 * 0x199f + -0xab4 + -0x1 * 0xee3)) + _0x2803a3[_0x349270(0x195)](-0x15 * 0xca + -0x1ff6 * -0x1 + 0x1 * -0xf61) % (-0x1085 + -0x553 + 0x15e0) + , + _0x102025 = _0x2803a3['substring'](0x1 * -0x1ebf + 0x13a1 + 0x1e * 0x5f, 0x5c7 + -0x5a5 + -0x5 * 0x6 + _0x273650); + _0x20da32 = _0x328bde(_0xdda738(_0x20da32, _0x102025) + _0x2803a3); + var _0x197e34 = _0x45ece5['fpProfileUrl']; + _0x3c0a68(_0x197e34 += _0x349270(0x173) + encodeURIComponent(_0x20da32) + '&', function (_0x5b4c95) { + var _0x3c0c48 = _0x349270; + 0x1db6 + -0x21d * 0x1 + -0x1b99 == _0x5b4c95[_0x3c0c48(0x356)] && _0x5b4c95['fp'] && (_0x462335[_0x3c0c48(0x35f)] = _0x5b4c95['fp'], + _0x462335[_0x3c0c48(0x363)] = _0x4072ad(_0x5b4c95['fp']), + _0x1f42cb('tt_scid', _0x5b4c95['fp'])); + }); + } + + function _0x1c3b6d(_0x20f8c9) { + var _0x596053 = _0x5612de; + return w_0x5c3140(_0x596053(0x242), { + get 0x0() { + return navigator; + }, + get 0x1() { + return window; + }, + get 0x2() { + return document; + }, + get 0x3() { + return _0x30c916; + }, + get 0x4() { + return _0x1afbc2; + }, + get 0x5() { + return _0x18b4be; + }, + get 0x6() { + return _0x130155; + }, + get 0x7() { + return _0x2a76f8; + }, + get 0x8() { + return _0x3da279; + }, + get 0x9() { + return _0x299f3a; + }, + get 0xa() { + return _0x4649a1; + }, + get 0xb() { + return _0x487576; + }, + get 0xc() { + return _0x4f323e; + }, + get 0xd() { + return _0x1f9824; + }, + get 0xe() { + return _0x24dc34; + }, + get 0xf() { + return _0x5090f5; + }, + get 0x10() { + return _0x468d57; + }, + get 0x11() { + return _0x5bbaf0; + }, + get 0x12() { + return _0x45b94b; + }, + get 0x13() { + return _0x178d7c; + }, + get 0x14() { + return _0x5af46a; + }, + 0x15: Promise, + get 0x16() { + return _0x5c0cdd; + }, + 0x17: arguments, + 0x18: _0x20f8c9 + }, this); + } + + function _0x20cbf3(_0x38a8fe, _0x406d4b, _0x2e7a9b) { + var _0x1b116c = _0x5612de; + return w_0x5c3140(_0x1b116c(0x233), { + 0x0: String, + 0x1: Date, + get 0x2() { + return _0x45b94b; + }, + get 0x3() { + return _0x184783; + }, + get 0x4() { + return location; + }, + 0x5: parseInt, + get 0x6() { + return _0x5863d1; + }, + 0x7: JSON, + get 0x8() { + return _0xf119da; + }, + get 0x9() { + return _0x3a1cf3; + }, + get 0xa() { + return _0x20b77a; + }, + get 0xb() { + return _0x446110; + }, + 0xc: Object, + get 0xd() { + return _0x483e03; + }, + get 0xe() { + return _0x53f850; + }, + get 0xf() { + return _0x2a900b; + }, + get 0x10() { + return _0x18b4be; + }, + get 0x11() { + return _0x462335; + }, + get 0x12() { + return _0x4072ad; + }, + get 0x13() { + return _0x24dc34; + }, + get 0x14() { + return navigator; + }, + 0x15: arguments, + 0x16: _0x38a8fe, + 0x17: _0x406d4b, + 0x18: _0x2e7a9b + }, this); + } + + function _0x5e5a64(_0x27ec41, _0x4e1246) { + var _0x15a192 = _0x5612de; + for (var _0x3f84da = {}, _0x389521 = -0x4bd * -0x1 + -0x28a + -0x233; _0x389521 < _0x4e1246['length']; _0x389521++) { + var _0x58af98 = _0x4e1246[_0x389521] + , _0x1b7f4e = _0x27ec41[_0x58af98]; + null == _0x1b7f4e && (_0x1b7f4e = !(-0x1f76 + -0x1c06 + 0x3b7d * 0x1)), + null === _0x1b7f4e || 'function' != typeof _0x1b7f4e && _0x15a192(0x17d) !== _0x1db123(_0x1b7f4e) || (_0x1b7f4e = !(-0x2 * -0xef9 + -0xa1 * 0x3 + -0xb * 0x28d)), + _0x3f84da[_0x58af98] = _0x1b7f4e; + } + return _0x3f84da; + } + + function _0x2a6ac2() { + var _0x42b9bc = _0x5612de; + return _0x5e5a64(navigator, [_0x42b9bc(0x36b), 'appName', _0x42b9bc(0x17a), _0x42b9bc(0x246), _0x42b9bc(0x3a4), _0x42b9bc(0x360), _0x42b9bc(0x1fa), _0x42b9bc(0x33b), _0x42b9bc(0x38c), _0x42b9bc(0x212), 'vendorSub', 'doNotTrack', _0x42b9bc(0x24a), _0x42b9bc(0x2e2), _0x42b9bc(0x292), _0x42b9bc(0x390), _0x42b9bc(0x38f)]); + } + + function _0x226933() { + var _0xe67fb0 = _0x5612de; + return _0x5e5a64(window, [_0xe67fb0(0x29d), _0xe67fb0(0x222), _0xe67fb0(0x306), _0xe67fb0(0x26e), _0xe67fb0(0x366), 'isSecureContext', _0xe67fb0(0x3c0), _0xe67fb0(0x399), 'locationbar', _0xe67fb0(0x29f), _0xe67fb0(0x39f), _0xe67fb0(0x2e0), 'postMessage', 'webkitRequestAnimationFrame', _0xe67fb0(0x2de), 'netscape']); + } + + function _0x1e5a7f() { + var _0x577bf2 = _0x5612de; + return _0x5e5a64(document, [_0x577bf2(0x335), _0x577bf2(0x253), _0x577bf2(0x373), 'layers', _0x577bf2(0x2c0)]); + } + + function _0x11a1d6() { + var _0x3927af = _0x5612de + , _0x306255 = document[_0x3927af(0x260)](_0x3927af(0x24d)) + , _0x3b8708 = null; + try { + _0x3b8708 = _0x306255[_0x3927af(0x2f9)](_0x3927af(0x26b)) || _0x306255['getContext'](_0x3927af(0x3aa)); + } catch (_0x30a5e5) { + } + return _0x3b8708 || (_0x3b8708 = null), + _0x3b8708; + } + + function _0x39c3d8(_0xc6dcf6) { + var _0x59367a = _0x5612de + , + _0x5a3a25 = _0xc6dcf6[_0x59367a(0x1d7)](_0x59367a(0x1f1)) || _0xc6dcf6[_0x59367a(0x1d7)](_0x59367a(0x2e5)) || _0xc6dcf6[_0x59367a(0x1d7)](_0x59367a(0x31a)); + if (_0x5a3a25) { + var _0x5cca98 = _0xc6dcf6[_0x59367a(0x383)](_0x5a3a25[_0x59367a(0x1bf)]); + return 0xb * -0x2b8 + 0xa * 0xe + 0x1d5c === _0x5cca98 && (_0x5cca98 = -0xe6 + -0x1909 + -0xe5 * -0x1d), + _0x5cca98; + } + return null; + } + + function _0x425568() { + var _0x556a1e = _0x5612de; + if (_0x6caf[_0x556a1e(0x23d)]) + return _0x6caf[_0x556a1e(0x23d)]; + var _0x4f4b6e = _0x11a1d6(); + if (!_0x4f4b6e) + return {}; + var _0x58c017 = { + 'supportedExtensions': _0x4f4b6e[_0x556a1e(0x30f)]() || [], + 'antialias': _0x4f4b6e[_0x556a1e(0x1c5)]()[_0x556a1e(0x1a5)], + 'blueBits': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x27e)]), + 'depthBits': _0x4f4b6e['getParameter'](_0x4f4b6e[_0x556a1e(0x252)]), + 'greenBits': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x3c3)]), + 'maxAnisotropy': _0x39c3d8(_0x4f4b6e), + 'maxCombinedTextureImageUnits': _0x4f4b6e['getParameter'](_0x4f4b6e[_0x556a1e(0x1d2)]), + 'maxCubeMapTextureSize': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x300)]), + 'maxFragmentUniformVectors': _0x4f4b6e['getParameter'](_0x4f4b6e['MAX_FRAGMENT_UNIFORM_VECTORS']), + 'maxRenderbufferSize': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x2da)]), + 'maxTextureImageUnits': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x269)]), + 'maxTextureSize': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x203)]), + 'maxVaryingVectors': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x264)]), + 'maxVertexAttribs': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e['MAX_VERTEX_ATTRIBS']), + 'maxVertexTextureImageUnits': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x205)]), + 'maxVertexUniformVectors': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x19d)]), + 'shadingLanguageVersion': _0x4f4b6e['getParameter'](_0x4f4b6e['SHADING_LANGUAGE_VERSION']), + 'stencilBits': _0x4f4b6e['getParameter'](_0x4f4b6e['STENCIL_BITS']), + 'version': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e['VERSION']) + }; + return _0x6caf[_0x556a1e(0x23d)] = _0x58c017, + _0x58c017; + } + + function _0x18707d() { + var _0x52b59d = _0x5612de + , _0x56cb86 = {}; + return _0x56cb86[_0x52b59d(0x270)] = _0x2a6ac2(), + _0x56cb86[_0x52b59d(0x393)] = _0x226933(), + _0x56cb86[_0x52b59d(0x208)] = _0x1e5a7f(), + _0x56cb86[_0x52b59d(0x26b)] = _0x425568(), + _0x56cb86[_0x52b59d(0x381)] = _0x487576(), + _0x56cb86['plugins'] = _0x1f9824(), + _0x6caf['SECINFO'] = _0x56cb86, + _0x56cb86; + } + + function _0x572e48() { + var _0x151b17 = _0x5612de; + return w_0x5c3140(_0x151b17(0x1d1), { + get 0x0() { + return _0x6caf; + }, + get 0x1() { + return _0x18707d; + }, + 0x2: Date, + get 0x3() { + return _0x325f58; + }, + get 0x4() { + return _0x328bde; + }, + get 0x5() { + return _0xdda738; + }, + 0x6: JSON, + 0x7: arguments + }, this); + } + + var _0x522d20 = { + 'kCallTypeDirect': 0x0, + 'kCallTypeInterceptor': 0x1 + } + , _0x2e10da = { + 'kHttp': 0x0, + 'kWebsocket': 0x1 + } + , _0x3f742e = _0x45b94b; + + function _0x5646fa(_0x29e841) { + var _0x2ecc2b = _0x5612de; + for (var _0x5d379d, _0x5e2317, _0x34abf7 = [], _0x448a08 = -0x25ac + 0x1 * -0x1a4 + -0x128 * -0x22; _0x448a08 < _0x29e841[_0x2ecc2b(0x259)]; _0x448a08++) { + _0x5d379d = _0x29e841[_0x2ecc2b(0x195)](_0x448a08), + _0x5e2317 = []; + do { + _0x5e2317[_0x2ecc2b(0x36e)](-0x8d * -0x3e + 0x24d * -0x1 + -0x1eda & _0x5d379d), + _0x5d379d >>= -0x6d * 0x11 + 0x75 * 0x11 + 0x10 * -0x8; + } while (_0x5d379d); + _0x34abf7 = _0x34abf7[_0x2ecc2b(0x2b8)](_0x5e2317['reverse']()); + } + return _0x34abf7; + } + + function _0x6bc4ae(_0x4e8b7c) { + } + + function _0x5b890d(_0x592717) { + } + + function _0x16f345(_0x1a40af) { + } + + function _0x361214(_0x426175) { + } + + function _0xc35122(_0xe69c60, _0x3e14a1, _0x2d525a) { + } + + var _0x5dde58 = { + 'WEB_DEVICE_INFO': 0x8 + }; + + function _0x4df596(_0x14c951, _0x4c06b0) { + var _0x3cd5a5 = _0x5612de; + return JSON[_0x3cd5a5(0x1e6)]({ + 'magic': 0x20200422, + 'version': 0x1, + 'dataType': _0x14c951, + 'strData': _0x4c06b0, + 'tspFromClient': new Date()[_0x3cd5a5(0x16d)]() + }); + } + + function _0x29a5ac(_0x1a16de, _0x1af868, _0x2e45c3, _0x2a9bcc) { + var _0x233cbb = _0x5612de; + return _0x32af0e(_0x233cbb(0x3a1), _0x1a16de, _0x1af868, _0x2e45c3, _0x2a9bcc); + } + + function _0x32af0e(_0x58e2fa, _0x35c6ef, _0x5ce009, _0xba3041, _0x20e80f) { + var _0x393ad1 = _0x5612de + , _0x4841fc = new XMLHttpRequest(); + if (_0x4841fc[_0x393ad1(0x18b)](_0x58e2fa, _0x35c6ef, !(-0xb * 0x8b + -0x233 + 0x82c)), + _0x20e80f && (_0x4841fc[_0x393ad1(0x1c6)] = !(0x1 * -0x260f + -0x2 * 0xcdf + 0x3fcd)), + _0xba3041) + for (var _0x3f91e1 = -0x2ce + -0x1 * 0xe0f + 0x10dd, _0x2f8bec = Object['keys'](_0xba3041); _0x3f91e1 < _0x2f8bec[_0x393ad1(0x259)]; _0x3f91e1++) { + var _0x475f86 = _0x2f8bec[_0x3f91e1] + , _0x42c2b4 = _0xba3041[_0x475f86]; + _0x4841fc[_0x393ad1(0x3ab)](_0x475f86, _0x42c2b4); + } + _0x4841fc[_0x393ad1(0x20a)](_0x5ce009); + } + + function _0x2cd488(_0x751be6, _0x4c12d4) { + var _0x253a32 = _0x5612de; + return _0x4c12d4 || (_0x4c12d4 = null), + !!navigator['sendBeacon'] && (navigator[_0x253a32(0x24b)](_0x751be6, _0x4c12d4), + !(-0x1da1 + 0x1e93 + -0xf2)); + } + + function _0x4a2daf(_0x1ea426, _0x5a460b) { + var _0x22c57e = _0x5612de; + try { + window[_0x22c57e(0x1dc)] && window[_0x22c57e(0x1dc)][_0x22c57e(0x1c4)](_0x1ea426, _0x5a460b); + } catch (_0xe6e06d) { + } + } + + function _0x34f60a(_0x1e7505) { + var _0x389acb = _0x5612de; + try { + window[_0x389acb(0x1dc)] && window[_0x389acb(0x1dc)][_0x389acb(0x2c3)](_0x1e7505); + } catch (_0x5daf1b) { + } + } + + function _0x3d13cf(_0x3480fd) { + var _0x1ccc66 = _0x5612de; + try { + return window[_0x1ccc66(0x1dc)] ? window['localStorage']['getItem'](_0x3480fd) : null; + } catch (_0x3bb8f0) { + return null; + } + } + + function _0x21db29(_0x584f42, _0xde0f43) { + var _0x4464a1 = _0x5612de; + for (var _0x2b8d40, _0x22bd9c = [], _0x13f024 = 0x1856 * 0x1 + -0x6a * 0x20 + -0x16 * 0x81, _0x5648fb = '', _0x4c41a3 = -0x2 * -0xc67 + -0xf91 + -0x5 * 0x1d9; _0x4c41a3 < -0x1 * -0x322 + -0x25ce + 0x23ac; _0x4c41a3++) + _0x22bd9c[_0x4c41a3] = _0x4c41a3; + for (var _0x4d4c13 = -0x18e4 + -0x3 * -0x10f + 0x15b7; _0x4d4c13 < -0x36a * -0x8 + 0x1cf7 + 0x126d * -0x3; _0x4d4c13++) + _0x13f024 = (_0x13f024 + _0x22bd9c[_0x4d4c13] + _0x584f42[_0x4464a1(0x195)](_0x4d4c13 % _0x584f42[_0x4464a1(0x259)])) % (-0x577 * 0x3 + 0x4eb + 0xc7a), + _0x2b8d40 = _0x22bd9c[_0x4d4c13], + _0x22bd9c[_0x4d4c13] = _0x22bd9c[_0x13f024], + _0x22bd9c[_0x13f024] = _0x2b8d40; + var _0x11b95d = -0x7d8 + -0x256 + -0x517 * -0x2; + _0x13f024 = -0x1bef + -0xbc5 * -0x3 + -0x760 * 0x1; + for (var _0x15a79f = 0xd * 0x12e + 0x80 * -0x3d + 0xf2a; _0x15a79f < _0xde0f43[_0x4464a1(0x259)]; _0x15a79f++) + _0x13f024 = (_0x13f024 + _0x22bd9c[_0x11b95d = (_0x11b95d + (0x8ed + -0x1 * -0x836 + -0x22 * 0x81)) % (0x32b * 0x7 + 0x2311 + -0x2 * 0x1c1f)]) % (-0x1 * -0x106d + 0x35e * 0x5 + -0x2043), + _0x2b8d40 = _0x22bd9c[_0x11b95d], + _0x22bd9c[_0x11b95d] = _0x22bd9c[_0x13f024], + _0x22bd9c[_0x13f024] = _0x2b8d40, + _0x5648fb += String[_0x4464a1(0x1e2)](_0xde0f43[_0x4464a1(0x195)](_0x15a79f) ^ _0x22bd9c[(_0x22bd9c[_0x11b95d] + _0x22bd9c[_0x13f024]) % (0x179 * -0x7 + 0x2385 + -0x2 * 0xc1b)]); + return _0x5648fb; + } + + var _0x45bf15 = _0x21db29 + , _0x48a082 = {}; + + function _0x641e3d(_0x21dbac, _0x4a67ec) { + var _0x51016d = _0x5612de; + return w_0x5c3140(_0x51016d(0x3c4), { + 0x0: String, + 0x1: Math, + get 0x2() { + return _0x45bf15; + }, + get 0x3() { + return _0x389396; + }, + 0x4: arguments, + 0x5: _0x21dbac, + 0x6: _0x4a67ec + }, this); + } + + _0x48a082['pb'] = -0xd0f * -0x1 + 0xade * 0x2 + -0x22c9, + _0x48a082['json'] = 0x405 + -0x1 * -0xe59 + -0x125d; + var _0x216650 = { + 'kNoMove': 0x2, + 'kNoClickTouch': 0x4, + 'kNoKeyboardEvent': 0x8, + 'kMoveFast': 0x10, + 'kKeyboardFast': 0x20, + 'kFakeOperations': 0x40 + } + , _0x5dc9cc = { + 'sTm': 0x0, + 'acc': 0x0 + }; + + function _0x18a9f7() { + var _0x4e02b7 = _0x5612de; + try { + var _0x41737c = _0x3d13cf(_0x4e02b7(0x343)); + _0x41737c ? Object[_0x4e02b7(0x2a0)](_0x5dc9cc, JSON[_0x4e02b7(0x3b1)](_0x41737c)) : (_0x5dc9cc[_0x4e02b7(0x293)] = new Date()[_0x4e02b7(0x16d)](), + _0x5dc9cc[_0x4e02b7(0x27d)] = -0x175c + -0x1066 + 0x27c2); + } catch (_0x3da833) { + _0x5dc9cc[_0x4e02b7(0x293)] = new Date()[_0x4e02b7(0x16d)](), + _0x5dc9cc[_0x4e02b7(0x27d)] = -0x1 * -0x1129 + -0x1f1f + -0x1 * -0xdf6, + _0x26e186(); + } + } + + function _0x26e186() { + var _0x48e1a8 = _0x5612de; + _0x4a2daf(_0x48e1a8(0x343), JSON['stringify'](_0x5dc9cc)); + } + + var _0xf63a81 = { + 'T_MOVE': 0x1, + 'T_CLICK': 0x2, + 'T_KEYBOARD': 0x3 + } + , _0x2786f5 = !(0x1f31 * -0x1 + 0x1 * 0x22c7 + 0x83 * -0x7) + , _0x9fb121 = [] + , _0x207cc5 = [] + , _0x191fa5 = [] + , _0xe06992 = { + 'ubcode': 0x0 + } + , _0x388856 = function (_0x4e0342, _0x5ca571) { + return _0x4e0342 + _0x5ca571; + } + , _0x20a3d9 = function (_0x2309ca) { + return _0x2309ca * _0x2309ca; + }; + + function _0x9c0be2(_0x232ed8, _0x432cf8) { + var _0x59688f = _0x5612de; + if (_0x232ed8[_0x59688f(0x259)] > 0x1 * 0xa93 + 0x1d7a + -0xd17 * 0x3 && _0x232ed8['splice'](0x1ab7 + 0x1 * -0x2147 + -0x1a4 * -0x4, 0x617 + 0x280 + 0x1 * -0x833), + _0x232ed8[_0x59688f(0x259)] > -0x1c57 + 0x1059 + 0xbfe) { + var _0x97b7e7 = _0x232ed8[_0x232ed8['length'] - (-0xc0e + 0xb26 * 0x2 + 0xa3d * -0x1)]; + if (_0x432cf8['d'] - _0x97b7e7['d'] <= 0x5 * -0x1a3 + -0x91 * -0x32 + 0x5 * -0x407 || 'y' in _0x432cf8 && _0x432cf8['x'] === _0x97b7e7['x'] && _0x432cf8['y'] === _0x97b7e7['y']) + return; + } + _0x232ed8[_0x59688f(0x36e)](_0x432cf8); + } + + function _0x1d26db(_0x261f4b, _0x3c3c83, _0x131716) { + var _0x10f2ca = _0x5612de; + if (_0x462335['enableTrack']) { + if (_0x131716 !== _0xf63a81['T_MOVE']) + return _0x131716 === _0xf63a81[_0x10f2ca(0x1f0)] ? (_0x261f4b[_0x10f2ca(0x259)] >= 0x1167 + -0x856 * -0x4 + 0x1 * -0x30cb && _0x450b73(), + void _0x261f4b[_0x10f2ca(0x36e)](_0x3c3c83)) : _0x131716 === _0xf63a81[_0x10f2ca(0x355)] ? (_0x261f4b[_0x10f2ca(0x259)] > -0x1b6 * 0x16 + -0x115 * 0x17 + 0x11 * 0x3cb && _0x450b73(), + void _0x261f4b['push'](_0x3c3c83)) : void (-0x15a4 + -0xc9f + 0x2243); + if (_0x261f4b['length'] >= -0x5b9 + -0x1b5 + -0x2 * -0x4b1 && _0x450b73(), + _0x261f4b[_0x10f2ca(0x259)] > 0x13e * 0x6 + 0x4a5 * -0x2 + 0x1d6) { + var _0x40dc65 = _0x261f4b[_0x261f4b[_0x10f2ca(0x259)] - (-0x233e + 0x6bf + 0x1c80)] + , _0x243563 = _0x40dc65['x'] + , _0x7ef629 = _0x40dc65['y'] + , _0x293666 = _0x40dc65['ts']; + if (_0x243563 === _0x3c3c83['x'] && _0x7ef629 === _0x3c3c83['y']) + return; + if (_0x3c3c83['ts'] - _0x293666 < -0x1 * -0x9dc + -0x7 * -0x32d + -0x1e23) + return; + } + _0x261f4b['push'](_0x3c3c83); + } + } + + var _0x19ffaf = { + 'init': 0x0, + 'running': 0x1, + 'exit': 0x2, + 'flush': 0x3 + }; + + function _0x450b73(_0xd6648d) { + var _0x5b1d4d = _0x5612de; + return w_0x5c3140(_0x5b1d4d(0x3a2), { + get 0x0() { + return _0x6caf; + }, + get 0x1() { + return _0x19ffaf; + }, + 0x2: Date, + get 0x3() { + return _0x5dc9cc; + }, + get 0x4() { + return _0x462335; + }, + get 0x5() { + return _0x26e186; + }, + 0x6: Object, + get 0x7() { + return _0x4df596; + }, + get 0x8() { + return _0x5dde58; + }, + get 0x9() { + return _0x641e3d; + }, + 0xa: JSON, + get 0xb() { + return _0x48a082; + }, + get 0xc() { + return _0x2cd488; + }, + get 0xd() { + return _0x29a5ac; + }, + 0xe: arguments, + 0xf: _0xd6648d + }, this); + } + + function _0x58c311() { + var _0x30dab3 = _0x5612de; + _0x462335[_0x30dab3(0x37f)] && _0x450b73(_0x19ffaf['exit']); + } + + var _0x1a755e = {}; + _0x1a755e[_0x5612de(0x2d4)] = _0x3dcfd5, + _0x1a755e['touchmove'] = _0x3dcfd5, + _0x1a755e[_0x5612de(0x364)] = _0x56114b, + _0x1a755e[_0x5612de(0x1d6)] = _0x19d89b, + _0x1a755e[_0x5612de(0x2d3)] = _0x19d89b; + var _0x18582a = !(0x1796 + -0xf7d + -0x818); + + function _0x1dbe74() { + var _0x101f5b = _0x5612de; + if (document && document[_0x101f5b(0x2f6)] && !_0x18582a) { + for (var _0x1dfebe = 0x1 * -0xe36 + 0x6e8 + -0xa * -0xbb, _0x5af0b0 = Object[_0x101f5b(0x17f)](_0x1a755e); _0x1dfebe < _0x5af0b0[_0x101f5b(0x259)]; _0x1dfebe++) { + var _0x2ecc3c = _0x5af0b0[_0x1dfebe]; + document[_0x101f5b(0x2f6)](_0x2ecc3c, _0x1a755e[_0x2ecc3c]); + } + _0x18582a = !(-0x1 * -0xfcb + 0x21 * 0x65 + -0x1cd0); + } + } + + function _0x3dcfd5(_0x1f9f7e) { + var _0x4f99fd = _0x5612de + , _0x395631 = _0x1f9f7e + , _0x1f0c31 = _0x1f9f7e['type']; + _0x1f9f7e[_0x4f99fd(0x379)] && _0x4f99fd(0x299) === _0x1f0c31 && (_0x395631 = _0x1f9f7e['touches'][-0x9 * -0x3f4 + 0x1 * 0xc73 + -0x3007], + _0x2786f5 = !(-0x129a + 0x1bca + -0x930)); + var _0x5d0e65 = { + 'x': Math[_0x4f99fd(0x1cf)](_0x395631['clientX']), + 'y': Math[_0x4f99fd(0x1cf)](_0x395631['clientY']), + 'd': Date[_0x4f99fd(0x34d)]() + }; + _0x9c0be2(_0x9fb121, _0x5d0e65), + _0x1d26db(_0x6caf[_0x4f99fd(0x21d)], { + 'ts': _0x5d0e65['d'], + 'x': _0x5d0e65['x'], + 'y': _0x5d0e65['y'] + }, _0xf63a81[_0x4f99fd(0x2be)]); + } + + function _0x56114b(_0x35e1c1) { + var _0x3de3de = _0x5612de + , _0x411a0a = 0x22e7 + -0x5 * -0x133 + -0x28e6; + (_0x35e1c1[_0x3de3de(0x28c)] || _0x35e1c1['ctrlKey'] || _0x35e1c1['metaKey'] || _0x35e1c1[_0x3de3de(0x22e)]) && (_0x411a0a = 0xe7c + -0x3 * 0x143 + -0xab2); + var _0x5239f5 = { + 'x': _0x411a0a, + 'd': Date['now']() + }; + _0x9c0be2(_0x191fa5, _0x5239f5), + _0x1d26db(_0x6caf[_0x3de3de(0x391)], { + 'ts': _0x5239f5['d'] + }, _0xf63a81[_0x3de3de(0x355)]); + } + + function _0x19d89b(_0x39a86c) { + var _0x3bb659 = _0x5612de + , _0x4a9de2 = _0x39a86c + , _0x33eb04 = _0x39a86c['type']; + _0x39a86c[_0x3bb659(0x379)] && 'touchstart' === _0x33eb04 && (_0x4a9de2 = _0x39a86c['touches'][0x1491 + 0x1 * -0x1216 + -0x1 * 0x27b], + _0x2786f5 = !(-0x1 * -0x853 + 0x12df * 0x2 + -0x2e11)); + var _0xf57aea = { + 'x': Math['floor'](_0x4a9de2[_0x3bb659(0x2bf)]), + 'y': Math[_0x3bb659(0x1cf)](_0x4a9de2['clientY']), + 'd': Date['now']() + }; + _0x9c0be2(_0x207cc5, _0xf57aea), + _0x1d26db(_0x6caf[_0x3bb659(0x3b6)], { + 'ts': _0xf57aea['d'], + 'x': _0xf57aea['x'], + 'y': _0xf57aea['y'] + }, _0xf63a81[_0x3bb659(0x1f0)]); + } + + function _0x42fe9b(_0x320405) { + var _0x2bf333 = _0x5612de; + return _0x320405['reduce'](_0x388856) / _0x320405[_0x2bf333(0x259)]; + } + + function _0x3ea7d6(_0xbdd4a6) { + var _0x1e5c1e = _0x5612de; + if (_0xbdd4a6[_0x1e5c1e(0x259)] <= -0x1 * -0x2420 + 0xc87 * -0x1 + 0x5e6 * -0x4) + return -0x1 * -0x309 + 0x15 * 0x9d + -0xfea * 0x1; + var _0x3deca4 = _0x42fe9b(_0xbdd4a6) + , _0x58472b = _0xbdd4a6['map'](function (_0x508d28) { + return _0x508d28 - _0x3deca4; + }); + return Math[_0x1e5c1e(0x317)](_0x58472b['map'](_0x20a3d9)[_0x1e5c1e(0x376)](_0x388856) / (_0xbdd4a6[_0x1e5c1e(0x259)] - (0xa * 0x127 + -0x2103 + -0xe * -0x189))); + } + + function _0x52f064(_0x2031c9, _0x5a5379, _0xb6ab78) { + var _0x1d0db5 = _0x5612de + , _0xcfe257 = 0xae8 + -0xb * -0x6f + -0xfad + , _0x4f9c60 = -0x894 + -0x12a7 + 0x1 * 0x1b3b; + if (_0x2031c9[_0x1d0db5(0x259)] > _0x5a5379) { + for (var _0x147b41 = [], _0x5ca0e0 = -0x10a8 + -0x212f + 0x3 * 0x109d; _0x5ca0e0 < _0x2031c9[_0x1d0db5(0x259)] - (0x557 * -0x7 + -0x5 * -0xc6 + 0x14a * 0x1a); _0x5ca0e0++) { + var _0x2a170e = _0x2031c9[_0x5ca0e0 + (-0x20c6 * -0x1 + 0x1f31 + -0x3ff6)] + , _0x1f8ecf = _0x2031c9[_0x5ca0e0] + , _0x1b82ec = _0x2a170e['d'] - _0x1f8ecf['d']; + _0x1b82ec && (_0xb6ab78 ? _0x147b41[_0x1d0db5(0x36e)]((0xf98 + 0x90f + 0x2 * -0xc53) / _0x1b82ec) : _0x147b41[_0x1d0db5(0x36e)](Math[_0x1d0db5(0x317)](_0x20a3d9(_0x2a170e['x'] - _0x1f8ecf['x']) + _0x20a3d9(_0x2a170e['y'] - _0x1f8ecf['y'])) / _0x1b82ec)); + } + _0xcfe257 = _0x42fe9b(_0x147b41), + 0x5 * -0x79d + 0xf2d * -0x1 + -0xeb * -0x3a === (_0x4f9c60 = _0x3ea7d6(_0x147b41)) && (_0x4f9c60 = 0xcc5 + -0x1 * -0x9e1 + -0x16a6 + 0.01); + } + return [_0xcfe257, _0x4f9c60]; + } + + function _0x26d461() { + var _0x3f77b6 = _0x5612de + , _0x5e9ee6 = !(0x9d * -0x6 + 0x16b0 + -0x1301) + , _0x499168 = -0x21e + -0x1b6a + 0x28 * 0xbd; + try { + document && document['createEvent'] && (document[_0x3f77b6(0x188)](_0x3f77b6(0x240)), + _0x5e9ee6 = !(0x195e + -0x5 * -0x371 + -0x3f * 0xad)); + } catch (_0x4b2baa) { + } + var _0x462d0a = _0x52f064(_0x9fb121, 0x6a * 0x2 + -0x1b * 0x16b + 0x2576) + , _0x136148 = _0x52f064(_0x191fa5, -0x94c + -0xd * 0x51 + 0xd6e, !(0x1 * 0x7ed + -0xab4 + 0x2c7)) + , _0x17d8e6 = -0x2 * 0xb95 + -0xda0 + 0x24cb; + !_0x5e9ee6 && _0x2786f5 && (_0x17d8e6 |= 0x2468 + -0x1 * 0x2c2 + -0x2166, + _0x499168 |= _0x216650[_0x3f77b6(0x2f2)]), + -0x293 * -0x3 + 0x1 * 0xdad + -0x1566 === _0x9fb121['length'] ? (_0x17d8e6 |= -0x1cf3 * 0x1 + 0x12e1 + 0xa14, + _0x499168 |= _0x216650[_0x3f77b6(0x2fe)]) : _0x462d0a[-0x17f8 + -0x1eae + 0x36a6] > 0xbab + -0x1fb9 + 0x3 * 0x6c0 && (_0x17d8e6 |= 0x20 * -0x5c + 0xb22 + 0x6e, + _0x499168 |= _0x216650['kMoveFast']), + 0x2297 * -0x1 + 0x57b * 0x3 + 0x65 * 0x2e === _0x207cc5['length'] && (_0x17d8e6 |= 0x15a5 + 0x557 + -0x1af8, + _0x499168 |= _0x216650['kNoClickTouch']), + 0x20bb + 0x1e5f + 0x1f8d * -0x2 === _0x191fa5[_0x3f77b6(0x259)] ? (_0x17d8e6 |= -0x1 * 0x1b73 + -0x43e + 0x1fb9, + _0x499168 |= _0x216650['kNoKeyboardEvent']) : _0x136148[0x16ee + -0x1 * 0x1e99 + 0x7ab] > 0x1 * 0xb77 + -0x82 + -0xaf5 + 0.5 && (_0x17d8e6 |= 0x176a + 0x183 + 0x7 * -0x38b, + _0x499168 |= _0x216650[_0x3f77b6(0x3bf)]), + _0xe06992['ubcode'] = _0x499168; + var _0x9340b9 = _0x17d8e6[_0x3f77b6(0x3ae)](-0x2018 + -0x543 * 0x7 + 0x450d); + return 0xc8e * 0x1 + -0x3 * 0x3ca + -0x12f === _0x9340b9['length'] ? _0x9340b9 = '00' + _0x9340b9 : -0x117a + 0x19 * -0x57 + 0x8a9 * 0x3 === _0x9340b9[_0x3f77b6(0x259)] && (_0x9340b9 = '0' + _0x9340b9), + _0x9340b9; + } + + function _0x5047d8() { + _0x450b73(-0x1b05 + 0x103 * 0x1c + -0x4 * 0x53); + } + + function _0x4145f8(_0x30c511, _0x35c283) { + var _0x46d631 = _0x5612de; + for (var _0x3d95be = _0x35c283[_0x46d631(0x259)], _0x3c9714 = new ArrayBuffer(_0x3d95be + (-0x2ef * -0x2 + 0x1bbd + 0x2e * -0xbb)), _0x1054b9 = new Uint8Array(_0x3c9714), _0x5633c2 = -0x114 + -0x2096 + 0x21aa, _0x28d040 = 0x10a * -0x1a + 0x5 * 0x5cf + -0x207 * 0x1; _0x28d040 < _0x3d95be; _0x28d040++) + _0x1054b9[_0x28d040] = _0x35c283[_0x28d040], + _0x5633c2 ^= _0x35c283[_0x28d040]; + _0x1054b9[_0x3d95be] = _0x5633c2; + var _0x280d0b = -0xe * -0x98 + 0x1f * 0x9e + 0x6f * -0x3d & Math[_0x46d631(0x1cf)]((-0x1 * 0x13ed + -0x2 * 0x581 + 0x1fee) * Math[_0x46d631(0x18e)]()) + , _0x418204 = String[_0x46d631(0x1e2)][_0x46d631(0x207)](null, _0x1054b9) + , _0x250194 = _0x21db29(String[_0x46d631(0x1e2)](_0x280d0b), _0x418204) + , _0x37237c = ''; + return _0x37237c += String[_0x46d631(0x1e2)](_0x30c511), + _0x37237c += String[_0x46d631(0x1e2)](_0x280d0b), + _0x389396(_0x37237c += _0x250194, 's1'); + } + + function _0x1633f2(_0x48f290, _0x504655, _0x4fa808, _0x1a5c57, _0x3a4737) { + var _0x5a9e67 = _0x5612de; + _0x5863d1(), + _0x26d461(), + void (0x247a + -0x3f2 + -0x2088) !== _0x1a5c57 && '' !== _0x1a5c57 && (_0x1a5c57 = ''); + var _0x21ca02 = _0x5dd467(_0x1a5c57); + _0x3a4737 || (_0x3a4737 = '00000000000000000000000000000000'); + var _0x1fb174 = new ArrayBuffer(0x1cc4 + -0x1109 + -0x3e6 * 0x3) + , _0x1ffaa7 = new Uint8Array(_0x1fb174) + , + _0xeefda2 = 0x22cb + 0x1 * -0x32c + 0x1f9f * -0x1 | _0x48f290 << -0x228e + 0x22f4 * 0x1 + -0x60 | _0x504655 << 0x1075 + -0x2c * -0x26 + -0x16f8 | (-0x261a + 0x1e95 + 0x786 & Math[_0x5a9e67(0x1cf)]((0x705 + 0x1069 + -0x3 * 0x7ae) * Math[_0x5a9e67(0x18e)]())) << 0x3f4 * 0x5 + 0x59a + -0x195a | -0x1 * -0x2033 + 0x284 * 0x5 + 0xeed * -0x3; + _0x6caf[_0x5a9e67(0x326)]++; + _0x6caf['envcode'] = 1 + var _0x5eb39b = -0x55 + 0x8a3 + -0x80f & _0x6caf[_0x5a9e67(0x326)]; + _0x1ffaa7[0x18e0 * 0x1 + 0xd8d + -0x266d] = _0x4fa808 << -0x1 * 0x1117 + -0x144f + 0x256c | _0x5eb39b, + _0x1ffaa7[-0x177d + 0x3 * 0xb39 + -0xa2d] = _0x6caf['envcode'] >> -0x163b + 0x2c3 + 0x1380 & 0x15b3 + -0x1efd + 0xa49 * 0x1, + _0x1ffaa7[-0x5e3 + -0x1 * 0x1535 + 0x1b1a * 0x1] = 0x64a + -0xc * 0xa3 + 0x259 & _0x6caf[_0x5a9e67(0x380)], + _0x1ffaa7[0x81 * 0x11 + 0xa49 * 0x1 + -0x12d7] = _0xe06992[_0x5a9e67(0x382)]; + var _0x13f487 = _0x42e709[_0x5a9e67(0x2b7)](_0x5dd467(_0x42e709[_0x5a9e67(0x2b7)](_0x21ca02))); + _0x1ffaa7[-0xf6b * 0x2 + 0x1c4 + 0x1d16] = _0x13f487[-0x81a + -0x24ee + -0x18e * -0x1d], + _0x1ffaa7[0x73d * -0x3 + 0x2335 + -0x1 * 0xd79] = _0x13f487[-0x16 * -0x4 + -0xfdd + 0x3e5 * 0x4]; + var _0x136ce1 = _0x42e709['decode'](_0x5dd467(_0x42e709['decode'](_0x3a4737))); + return _0x1ffaa7[0x17 * -0x35 + 0x220e + -0x1d45] = _0x136ce1[0xe7 * -0x11 + 0x1 * -0x17a1 + 0x2706], + _0x1ffaa7[0x1b8 + -0x2 * -0x665 + 0x151 * -0xb] = _0x136ce1[-0x276 * 0x9 + -0x1335 + -0x39 * -0xba], + _0x1ffaa7[0x1fa8 + 0x776 + 0x1 * -0x2716] = -0x23cd + -0x69d + 0x2b69 & Math[_0x5a9e67(0x1cf)]((0x9c + 0x77b * 0x4 + -0x1 * 0x1d89) * Math[_0x5a9e67(0x18e)]()), + _0x4145f8(_0xeefda2, _0x1ffaa7); + } + + function _0x34c70a(_0xf6b3d0, _0x289075, _0x2c48ed) { + var _0x1fe583 = _0x5612de; + return { + 'X-Bogus': _0x1633f2(_0x2e10da[_0x1fe583(0x289)], _0x462335['initialized'], _0xf6b3d0, null, _0x2c48ed) + }; + } + + function _0x11233a(_0x34d47b, _0x1b3ba5, _0x55dcd4) { + var _0x3e598d = _0x5612de; + return { + 'X-Bogus': _0x1633f2(_0x2e10da[_0x3e598d(0x1df)], _0x462335[_0x3e598d(0x1fc)], _0x34d47b, _0x1b3ba5, _0x55dcd4) + }; + } + + function _0x5c2014(_0x1fa689) { + return w_0x5c3140('484e4f4a403f524300362d0a5f00233c0000000029b6a730000000630214000103001400020700001400030700011400041101031100031347000d11010311000313140001450023110103110004134700130211010011010311000413430114000145000607000214000102110101110002021100014303140005110005420003096b1e7e601e606766710c6b1e7e601e63726a7f7c7277200303030303030303030303030303030303030303030303030303030303030303', { + get 0x0() { + return _0x5dd467; + }, + get 0x1() { + return _0x34c70a; + }, + 0x2: arguments, + 0x3: _0x1fa689 + }, this); + } + + function _0x3c875d(_0x17e2b2, _0x1e7967) { + var _0x36f0c4 = _0x5612de + , _0x292251 = new Uint8Array(-0x1d76 + 0xa81 * -0x3 + 0x3cfc); + return _0x292251[0xff * 0x25 + 0x1ee0 * -0x1 + -0x5fb] = _0x17e2b2 / (0x1126 * -0x2 + -0x1 * 0x20f6 + -0x2 * -0x2221), + _0x292251[0x29 * -0xde + 0x25a6 + 0x6b * -0x5] = _0x17e2b2 % (-0x5 * 0x705 + 0x10bd + -0xb1 * -0x1c), + _0x292251[-0x1 * -0x1fb5 + -0x1921 + -0x692] = _0x1e7967 % (0x1615 + -0xda0 + 0x1 * -0x775), + String[_0x36f0c4(0x1e2)][_0x36f0c4(0x207)](null, _0x292251); + } + + function _0x4b49f3(_0xe64465) { + var _0x2fa114 = _0x5612de; + return String[_0x2fa114(0x1e2)](_0xe64465); + } + + function _0x26151b(_0x51896f, _0x3a647f, _0x2db6f6) { + return _0x4b49f3(_0x51896f) + _0x4b49f3(_0x3a647f) + _0x2db6f6; + } + + function _0xc38697(_0x5bf566, _0x20667e) { + return _0x389396(_0x5bf566, _0x20667e); + } + + function _0x538c80(_0x213380, _0x5bb06d, _0x2807a8, _0x2bbe8d, _0x43c759, _0x510d57, _0x5b433d, _0x30b81d, _0x392407, _0x124f15, _0x22fc4c, _0x56f654, _0x8ab411, _0x1c9de4, _0x24f978, _0x27f46c, _0x1bd4f9, _0x572854, _0x34f6a0) { + var _0x2e1799 = _0x5612de + , _0x432584 = new Uint8Array(0x22bb + 0xd * -0x2bd + 0x1 * 0xf1); + return _0x432584[-0xc70 + 0x5e9 + 0x22d * 0x3] = _0x213380, + _0x432584[-0x2 * -0x127c + -0x1 * 0x1f61 + -0x596] = _0x22fc4c, + _0x432584[-0x1af * 0xb + 0x97b + 0xc1 * 0xc] = _0x5bb06d, + _0x432584[-0xfc5 * -0x2 + -0x5e5 + -0x19a2] = _0x56f654, + _0x432584[-0x35 * 0xa3 + -0x10c9 * -0x2 + 0x1 * 0x31] = _0x2807a8, + _0x432584[0x1d1d + 0x124a + -0x1 * 0x2f62] = _0x8ab411, + _0x432584[-0x1 * -0xb49 + -0x5d1 + -0x572] = _0x2bbe8d, + _0x432584[-0x18e * -0xe + 0xff * 0x22 + -0x379b] = _0x1c9de4, + _0x432584[-0x697 * 0x2 + 0xcc8 + 0x5 * 0x16] = _0x43c759, + _0x432584[0x2 * 0x8bf + 0xcc4 + -0x1e39] = _0x24f978, + _0x432584[0x63 * -0x43 + -0x242 + 0x3 * 0x967] = _0x510d57, + _0x432584[0x1aa9 + 0xe38 + 0x1 * -0x28d6] = _0x27f46c, + _0x432584[-0xdee + -0x1 * 0x105b + 0x1e55 * 0x1] = _0x5b433d, + _0x432584[0x1 * -0x1543 + -0x1 * 0x1b5b + 0x1 * 0x30ab] = _0x1bd4f9, + _0x432584[0xc86 * -0x1 + 0x1c9 + 0xacb] = _0x30b81d, + _0x432584[0x1581 + -0x70c + -0xe66] = _0x572854, + _0x432584[0x1dc1 + 0xd * 0xb5 + -0x26e2] = _0x392407, + _0x432584[-0x36 * 0x4a + 0x268a + -0x16dd] = _0x34f6a0, + _0x432584[0xf * -0x1ca + -0x16c2 + 0x31aa] = _0x124f15, + String['fromCharCode'][_0x2e1799(0x207)](null, _0x432584); + } + + var _0x3c4305 = !(-0xc6b + 0x270e * 0x1 + -0x1aa2); + + function _0x8edc3d(_0x22218f, _0x1e70b9) { + var _0x364732 = _0x5612de; + return w_0x5c3140(_0x364732(0x2b2), { + get 0x0() { + return _0x5dd467; + }, + get 0x1() { + return _0x3c4305; + }, + set 0x1(_0x539e8c) { + _0x3c4305 = _0x539e8c; + }, + get 0x2() { + return _0x462335; + }, + get 0x3() { + return _0x5863d1; + }, + get 0x4() { + return _0x26d461; + }, + get 0x5() { + return _0xe06992; + }, + get 0x6() { + return _0x6caf; + }, + get 0x7() { + return _0x42e709; + }, + 0x8: String, + get 0x9() { + return navigator; + }, + get 0xa() { + return _0x3c875d; + }, + get 0xb() { + return _0x21db29; + }, + get 0xc() { + return _0xc38697; + }, + 0xd: Date, + get 0xe() { + return _0x18b4be; + }, + get 0xf() { + return _0x538c80; + }, + get 0x10() { + return _0x4b49f3; + }, + get 0x11() { + return _0x26151b; + }, + get 0x12() { + return _0x389396; + }, + 0x13: arguments, + 0x14: _0x22218f, + 0x15: _0x1e70b9, + 0x16: RegExp + }, this); + } + + function _0x556182(_0x5e8c32) { + var _0x4a1328 = _0x5612de; + _0x4a2daf(_0x4a1328(0x28a), _0x5e8c32); + } + + function _0x5141ac() { + var _0x2770a6 = _0x3d13cf('xmst'); + return _0x2770a6 || ''; + } + + function _0x50686a(_0x193aca) { + var _0x460363 = _0x5612de; + return _0x460363(0x331) === Object[_0x460363(0x344)][_0x460363(0x3ae)][_0x460363(0x334)](_0x193aca); + } + + function _0x2195cd(_0x383b5f, _0x4a7858) { + var _0x20b490 = _0x5612de; + if (_0x383b5f) { + var _0x11f5aa = _0x383b5f[_0x4a7858]; + if (_0x11f5aa) { + var _0x4fcde1 = _0x1db123(_0x11f5aa); + return _0x20b490(0x17d) === _0x4fcde1 || _0x20b490(0x1ee) === _0x4fcde1 ? -0x1 * -0x4e8 + 0x18eb + -0x1dd2 : 'string' === _0x4fcde1 ? _0x4fcde1[_0x20b490(0x259)] > -0x124c + 0x20c3 + -0xe77 ? 0x35 * 0x34 + 0x1ec8 + -0x298b : -0x8a * 0x31 + -0x18c7 + -0x1111 * -0x3 : _0x50686a(_0x11f5aa) ? -0x1 * -0xc83 + -0x3 * 0x466 + 0x4 * 0x2c : 0x1018 + -0x371 * -0x9 + 0x1 * -0x2f0f; + } + } + return -0x155a + 0x4c * -0x6c + 0x4 * 0xd5b; + } + + function _0xdc4d4c(_0x3c0aaa) { + var _0x11952c = _0x5612de; + try { + var _0x57243b = Object[_0x11952c(0x344)][_0x11952c(0x3ae)][_0x11952c(0x334)](_0x3c0aaa); + return _0x11952c(0x30e) === _0x57243b ? !(-0x1 * 0x7c5 + 0x1 * -0x853 + 0x338 * 0x5) === _0x3c0aaa ? -0xa1 * -0x23 + 0x2 * 0xaa9 + -0x2b54 : -0x1e71 * 0x1 + 0x1 * 0x1885 + 0x5ee : _0x11952c(0x1af) === _0x57243b ? -0xce * 0x25 + 0x1e1a + 0x3 * -0x1b : '[object\x20Undefined]' === _0x57243b ? -0x1 * 0x159a + -0x684 + 0x1c22 : _0x11952c(0x1ce) === _0x57243b ? -0x3a * -0x70 + 0x4b1 + 0xa04 * -0x3 : '[object\x20String]' === _0x57243b ? '' === _0x3c0aaa ? 0x12 * 0xad + 0x3b * 0x71 + -0x262e : 0x3 * 0xf8 + 0x22ec + -0x25cc : _0x11952c(0x331) === _0x57243b ? -0x1 * -0x874 + -0x1 * 0x2197 + 0x1923 === _0x3c0aaa['length'] ? -0xf6f + -0x1ee3 + 0x2e5b : -0x10c3 + -0x466 * -0x4 + 0x7 * -0x1d : _0x11952c(0x37b) === _0x57243b ? 0x1 * 0x22e6 + 0x1 * 0x2669 + 0x824 * -0x9 : _0x11952c(0x1fe) === _0x57243b ? 0x2392 + -0x15db + -0xdab : _0x11952c(0x17d) === _0x1db123(_0x3c0aaa) ? -0x3 * 0xd7 + -0x17b0 + 0x1a98 : -(-0x8e4 + 0x2 * 0xd1b + -0x1151); + } catch (_0x320465) { + return -(-0x62e * 0x1 + 0x3 * -0x3ec + 0x11f4); + } + } + + var _0x2d8bb4 = {}; + + function _0x241339() { + var _0x5d55e6 = _0x5612de; + return document[_0x5d55e6(0x373)] ? 'IE' : -0xc04 + -0xbe8 + 0x17ec; + } + + function _0x5011f8() { + var _0x52b3d6 = _0x5612de; + return eval['toString']()[_0x52b3d6(0x259)]; + } + + function _0x58210c(_0x4d43be, _0x3faa08, _0x3d51f5) { + var _0x16b761 = _0x5612de; + for (var _0x4738ee = {}, _0x793fa7 = 0x111 + -0x209 * 0x1 + 0x1f * 0x8; _0x793fa7 < _0x3faa08[_0x16b761(0x259)]; _0x793fa7++) { + var _0x15231e = void (-0xf02 * -0x1 + 0xe35 + -0x1d37) + , _0x2d01fa = void (-0x782 + 0x5 * -0x143 + 0xdd1) + , _0x17bcc5 = _0x3faa08[_0x793fa7]; + try { + _0x4d43be && (_0x15231e = _0x4d43be[_0x17bcc5]); + } catch (_0x1de94f) { + } + if ('string' === _0x3d51f5) + _0x2d01fa = '' + _0x15231e; + else { + if (_0x16b761(0x28b) === _0x3d51f5) + _0x2d01fa = _0x15231e ? Math[_0x16b761(0x1cf)](_0x15231e) : -(-0x19f0 + 0x1ada + 0xe9 * -0x1); + else { + if (_0x16b761(0x1ab) !== _0x3d51f5) + throw Error(_0x16b761(0x256)); + _0x2d01fa = _0xdc4d4c(_0x15231e); + } + } + _0x4738ee[_0x17bcc5] = _0x2d01fa; + } + return _0x4738ee; + } + + function _0x3a2b92() { + var _0x53dacb = _0x5612de, _0x1c216f; + Object[_0x53dacb(0x2a0)](_0x2d8bb4[_0x53dacb(0x270)], _0x58210c(navigator, [_0x53dacb(0x36b), _0x53dacb(0x350), _0x53dacb(0x184), 'appVersion', _0x53dacb(0x32d), 'doNotTrack', _0x53dacb(0x39a), _0x53dacb(0x38c), _0x53dacb(0x17a), _0x53dacb(0x246), 'productSub', 'cpuClass', _0x53dacb(0x212), _0x53dacb(0x1d5), _0x53dacb(0x1de), _0x53dacb(0x210), _0x53dacb(0x314), _0x53dacb(0x1c9), 'webdriver'], 'string')), + Object['assign'](_0x2d8bb4[_0x53dacb(0x270)], _0x58210c(navigator, [_0x53dacb(0x1e1), 'vibrate', _0x53dacb(0x2e2), _0x53dacb(0x292), _0x53dacb(0x390), _0x53dacb(0x38f)], _0x53dacb(0x1ab))), + Object[_0x53dacb(0x2a0)](_0x2d8bb4[_0x53dacb(0x270)], _0x58210c(navigator, [_0x53dacb(0x360), _0x53dacb(0x33b)], _0x53dacb(0x28b))), + _0x2d8bb4['navigator'][_0x53dacb(0x398)] = '' + navigator[_0x53dacb(0x398)]; + try { + document[_0x53dacb(0x188)](_0x53dacb(0x240)), + _0x1c216f = -0xa2 * -0x5 + 0x26 * -0xe8 + -0x11 * -0x1d7; + } catch (_0x264380) { + _0x1c216f = 0xbc0 + -0x26b + -0xd9 * 0xb; + } + _0x2d8bb4['navigator'][_0x53dacb(0x34b)] = _0x1c216f; + var _0x5ac61e = _0x53dacb(0x1ea) in window ? 0x2424 + 0x1 * 0xa5c + -0x2e7f : -0x86b * 0x1 + -0x195 + 0xa02; + _0x2d8bb4[_0x53dacb(0x270)][_0x53dacb(0x1d6)] = _0x5ac61e; + } + + function _0x5abc93() { + var _0x279235 = _0x5612de; + Object['assign'](_0x2d8bb4['window'], _0x58210c(window, ['Image', _0x279235(0x309), _0x279235(0x29f), _0x279235(0x399), _0x279235(0x33a), 'external', 'mozRTCPeerConnection', 'postMessage', _0x279235(0x284), _0x279235(0x2de), _0x279235(0x2ff), _0x279235(0x1dc), _0x279235(0x3be), _0x279235(0x2e9)], _0x279235(0x1ab))), + Object[_0x279235(0x2a0)](_0x2d8bb4[_0x279235(0x393)], _0x58210c(window, [_0x279235(0x3c0)], _0x279235(0x28b))), + _0x2d8bb4[_0x279235(0x393)][_0x279235(0x3c2)] = window[_0x279235(0x3c2)][_0x279235(0x290)]; + } + + function _0x5d3845() { + var _0x4ceb6d = _0x5612de; + try { + var _0x55434c = document + , _0x2f0012 = window[_0x4ceb6d(0x328)] + , _0x5ac16c = window[_0x4ceb6d(0x306)] >>> 0x1d2c + -0x21 * 0xa7 + -0x1 * 0x7a5 + , _0x44cace = window[_0x4ceb6d(0x222)] >>> -0xcd0 + -0x1f70 + 0x162 * 0x20 + , _0x5953b9 = window[_0x4ceb6d(0x1aa)] >>> 0x5 * 0x2e3 + -0x1 * -0x1f7 + -0x1 * 0x1066 + , _0x1dfce9 = window[_0x4ceb6d(0x26d)] >>> 0x1545 + -0x8d7 + -0xc6e + , _0x29911c = Math[_0x4ceb6d(0x1cf)](window['screenX']) + , _0x340972 = Math['floor'](window[_0x4ceb6d(0x366)]) + , _0x4bc0b8 = window[_0x4ceb6d(0x258)] >>> -0x1 * -0x1548 + -0x21 * -0x7 + -0x162f + , _0x39df7d = window[_0x4ceb6d(0x282)] >>> 0x1dc7 * 0x1 + -0x2113 + 0x34c + , _0x13b30d = _0x2f0012['availWidth'] >>> 0xc84 + 0x1 * -0x644 + -0x640 + , _0x3f047e = _0x2f0012[_0x4ceb6d(0x276)] >>> -0x23c + 0xc * 0x1c4 + -0x12f4 * 0x1 + , _0x3e7595 = _0x2f0012['width'] >>> 0x61 * 0x4 + -0x2469 + 0x22e5 * 0x1 + , _0xa6e264 = _0x2f0012[_0x4ceb6d(0x245)] >>> 0x882 + 0x2646 + -0x5d9 * 0x8; + return { + 'innerWidth': void (-0xa40 + 0x192e + -0x31 * 0x4e) !== _0x5ac16c ? _0x5ac16c : -(0x135c + -0xd * -0x115 + -0x45 * 0x7c), + 'innerHeight': void (-0x2176 + -0x281 * -0xc + 0x17 * 0x26) !== _0x44cace ? _0x44cace : -(-0x17a1 + 0xe8 * 0x8 + 0x576 * 0x3), + 'outerWidth': void (-0x167c + -0x6f * 0x49 + 0x3623) !== _0x5953b9 ? _0x5953b9 : -(0x3 * -0x795 + 0x4 * -0x53b + 0x2bac), + 'outerHeight': void (-0x26 * -0x5f + -0xf71 + -0x1 * -0x157) !== _0x1dfce9 ? _0x1dfce9 : -(0xebd + -0x18cd + 0x3 * 0x35b), + 'screenX': void (-0xf9 * -0x22 + 0xd3 * -0x2c + 0x332) !== _0x29911c ? _0x29911c : -(-0x188 + -0x24e3 + 0x266c), + 'screenY': void (-0x5 * -0x105 + 0x2 * 0x11fe + -0x2915) !== _0x340972 ? _0x340972 : -(-0x3cc * -0x6 + 0x1561 * 0x1 + -0x2c28), + 'pageXOffset': void (0xb15 + -0x64d * 0x5 + -0x2 * -0xa36) !== _0x4bc0b8 ? _0x4bc0b8 : -(0x647 + -0x1 * -0x1ced + -0x2333), + 'pageYOffset': void (-0x1337 * 0x1 + -0x10c1 + -0x1 * -0x23f8) !== _0x39df7d ? _0x39df7d : -(0x3b * 0x5b + -0x7 * 0x3a6 + 0x492), + 'availWidth': void (-0xd * 0x267 + 0x1a67 + -0x2 * -0x26a) !== _0x13b30d ? _0x13b30d : -(0xe48 + -0x7d * -0x23 + -0x1f5e), + 'availHeight': void (-0x192a + 0x5 * -0x5b3 + 0xf1 * 0x39) !== _0x3f047e ? _0x3f047e : -(0x4 * 0x5b + -0x3 * -0x13 + -0x1a4), + 'sizeWidth': void (-0x1a38 * 0x1 + -0x20cb + 0x1 * 0x3b03) !== _0x3e7595 ? _0x3e7595 : -(-0x663 + -0x2659 + 0x2cbd * 0x1), + 'sizeHeight': void (0x857 * 0x3 + -0x65 * -0xa + -0x1cf7) !== _0xa6e264 ? _0xa6e264 : -(0xafa + 0x305 * 0x5 + -0x1a12), + 'clientWidth': _0x55434c['body'] ? _0x55434c[_0x4ceb6d(0x189)][_0x4ceb6d(0x1a2)] >>> -0xe38 + 0x1839 + -0xa01 : -(0x1338 + 0x21c1 + 0x69f * -0x8), + 'clientHeight': _0x55434c[_0x4ceb6d(0x189)] ? _0x55434c[_0x4ceb6d(0x189)][_0x4ceb6d(0x3bb)] >>> -0x1 * 0x156 + 0x31 * 0x43 + -0xb7d : -(0x1202 + -0x32b + -0xed6), + 'colorDepth': _0x2f0012[_0x4ceb6d(0x17e)] >>> -0x1d * -0xcb + 0x197 * 0x11 + 0x26 * -0x151, + 'pixelDepth': _0x2f0012[_0x4ceb6d(0x30a)] >>> -0x254c + 0x469 + 0x20e3 * 0x1 + }; + } catch (_0x35aa5a) { + return {}; + } + } + + function _0x573065() { + var _0x109cfa = _0x5612de; + Object[_0x109cfa(0x2a0)](_0x2d8bb4[_0x109cfa(0x208)], _0x58210c(document, [_0x109cfa(0x335), _0x109cfa(0x253), 'documentMode'], _0x109cfa(0x33c))), + Object['assign'](_0x2d8bb4[_0x109cfa(0x208)], _0x58210c(document, [_0x109cfa(0x325), _0x109cfa(0x183), 'images'], _0x109cfa(0x1ab))); + } + + function _0x47f354() { + var _0xad51a5 = _0x5612de + , _0x5ad193 = {}; + try { + var _0x344158 = document[_0xad51a5(0x260)](_0xad51a5(0x24d))[_0xad51a5(0x2f9)](_0xad51a5(0x26b)) + , _0x45ab53 = _0x344158[_0xad51a5(0x1d7)](_0xad51a5(0x375)) + , _0x3724de = _0x344158['getParameter'](_0x45ab53['UNMASKED_VENDOR_WEBGL']) + , _0x41fa79 = _0x344158[_0xad51a5(0x383)](_0x45ab53[_0xad51a5(0x39e)]); + _0x5ad193['vendor'] = _0x3724de, + _0x5ad193[_0xad51a5(0x2c2)] = _0x41fa79; + } catch (_0x22684e) { + } + return _0x5ad193; + } + + function _0x58bcf8() { + var _0x3fa932 = _0x5612de + , _0xf9ae75 = _0x11a1d6(); + if (_0xf9ae75) { + var _0x3c4406 = { + 'antialias': _0xf9ae75[_0x3fa932(0x1c5)]()[_0x3fa932(0x1a5)] ? -0x1d2e + -0x4b1 + 0x21e0 : -0x1 * -0x87c + 0x4b * 0x49 + -0x5 * 0x5f9, + 'blueBits': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x27e)]), + 'depthBits': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x252)]), + 'greenBits': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75['GREEN_BITS']), + 'maxAnisotropy': _0x39c3d8(_0xf9ae75), + 'maxCombinedTextureImageUnits': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75['MAX_COMBINED_TEXTURE_IMAGE_UNITS']), + 'maxCubeMapTextureSize': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x300)]), + 'maxFragmentUniformVectors': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x286)]), + 'maxRenderbufferSize': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x2da)]), + 'maxTextureImageUnits': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75['MAX_TEXTURE_IMAGE_UNITS']), + 'maxTextureSize': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x203)]), + 'maxVaryingVectors': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x264)]), + 'maxVertexAttribs': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75['MAX_VERTEX_ATTRIBS']), + 'maxVertexTextureImageUnits': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x205)]), + 'maxVertexUniformVectors': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x19d)]), + 'shadingLanguageVersion': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x179)]), + 'stencilBits': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x2bb)]), + 'version': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x201)]) + }; + Object['assign'](_0x2d8bb4['webgl'], _0x3c4406); + } + Object[_0x3fa932(0x2a0)](_0x2d8bb4[_0x3fa932(0x26b)], _0x47f354()); + } + + function _0x75957() { + var _0x122393 = _0x5612de; + if (window[_0x122393(0x29f)]) { + for (var _0x2963d5 = -0x81a + -0xad * -0x1 + 0x76f; _0x2963d5 < -0x1629 + 0x1 * 0x31c + 0x1317; _0x2963d5++) + try { + return !!new window[(_0x122393(0x29f))](_0x122393(0x3b4) + _0x2963d5) && _0x2963d5[_0x122393(0x3ae)](); + } catch (_0x2c5722) { + } + try { + return !!new window[(_0x122393(0x29f))]('PDF.PdfCtrl.1') && '4'; + } catch (_0x1be01e) { + } + try { + return !!new window[(_0x122393(0x29f))](_0x122393(0x345)) && '7'; + } catch (_0x19cffa) { + } + } + return '0'; + } + + function _0x1555d9() { + return { + 'plugin': _0x30412e(), + 'pv': _0x75957() + }; + } + + function _0x1f01ce(_0x371dd1) { + var _0x5c76bb = _0x5612de; + try { + var _0xf71d16 = window[_0x371dd1] + , _0x28a4d1 = _0x5c76bb(0x1f9); + return _0xf71d16[_0x5c76bb(0x1c4)](_0x28a4d1, _0x28a4d1), + _0xf71d16[_0x5c76bb(0x2c3)](_0x28a4d1), + !(0x1e7a + -0x1824 + 0x2 * -0x32b); + } catch (_0x1dd803) { + return !(0x6e5 + 0x599 * -0x2 + -0x1 * -0x44e); + } + } + + function _0x3ffe15() { + return w_0x5c3140('484e4f4a403f5243003c20117d3adeac000000004e770f390000003a030014000102110100070000430147000b11000103012f170001354902110100070001430147000e110001030103012b2f17000135491100014200020c45464a48457a5d465b484e4c0e5a4c5a5a4046477a5d465b484e4c', { + get 0x0() { + return _0x1f01ce; + }, + 0x1: arguments + }, this); + } + + function _0x252788(_0x468bb4, _0x392758, _0x269720) { + var _0x16947c = _0x5612de; + for (var _0x4dea11 = 0x1 * 0x1705 + 0x29 * -0xbf + 0x72 * 0x11, _0x1f88e5 = 0x65 * -0x7 + 0xb50 + -0x88d; _0x1f88e5 < _0x392758['length']; _0x1f88e5++) { + var _0x1dd5f9 = _0x2195cd(_0x468bb4, _0x392758[_0x1f88e5]); + if (_0x1dd5f9 && (_0x4dea11 |= _0x1dd5f9 << _0x269720 + _0x1f88e5, + _0x269720 + _0x1f88e5 >= 0xd5a + 0x7c + -0x1 * 0xdb6)) { + console[_0x16947c(0x310)]('abort\x2032'); + break; + } + } + return _0x4dea11; + } + + function _0x484054() { + return w_0x5c3140('484e4f4a403f5243002c3b0a6f4f88290000000044c410000000011f1101001400010700000700010700020700030700040700050700060700070700080700090c000a14000207000a14000307000b14000407000a110101110004163e000414000a413d00d11100014a07000c1307000d43010300131400050c0000140006030014000711000711000207000e13274700691100014a07000f130700104301140008110002110007131400091100084a0700111307001207001311000918430249110004070014181100091807001518110008070016161100054a070017131100084301491100064a07001813110008430149170007214945ff891101011100041317000335490300170007354911000711000207000e132747001a1100054a0700191311000611000713430149170007214945ffd84111000342001a037e617e037e617d037e617c037e617b037e617a037e6179037e6178037e6177037e6176037d617f0014262b20213b242120382138272e3b263c3b27263c14282a3b0a232a222a213b3c0d361b2e28012e222a04272a2e2b06232a21283b270d2c3d2a2e3b2a0a232a222a213b063c2c3d263f3b0c3c2a3b0e3b3b3d262d3a3b2a08232e21283a2e282a0a052e392e1c2c3d263f3b02726d016d043b2a373b0b2e3f3f2a212b0c2726232b043f3a3c270b3d2a2220392a0c2726232b', { + get 0x0() { + return document; + }, + get 0x1() { + return window; + }, + 0x2: arguments + }, this); + } + + _0x2d8bb4[_0x5612de(0x270)] = {}, + _0x2d8bb4[_0x5612de(0x23e)] = {}, + _0x2d8bb4[_0x5612de(0x393)] = {}, + _0x2d8bb4[_0x5612de(0x26b)] = {}, + _0x2d8bb4['document'] = {}, + _0x2d8bb4[_0x5612de(0x328)] = {}, + _0x2d8bb4[_0x5612de(0x1ba)] = {}, + _0x2d8bb4['custom'] = {}; + var _0x548676 = null; + + function _0x491716() { + var _0x4f58c9 = _0x5612de; + return w_0x5c3140(_0x4f58c9(0x174), { + get 0x0() { + return self; + }, + get 0x1() { + return window; + }, + get 0x2() { + return parent; + }, + 0x3: arguments + }, this); + } + + function _0x2d2578() { + !(function () { + var _0x236733 = w_0x25f3 + , _0x460c07 = {} + , _0x3606e1 = navigator[_0x236733(0x359)] || navigator[_0x236733(0x2f0)]; + if (_0x3606e1) { + try { + _0x460c07[_0x236733(0x3ac)] = _0x3606e1[_0x236733(0x3ac)] ? 0x147a + -0x5 * 0x60f + 0x9d2 : -0x169c + 0x26d6 + -0x1038, + _0x460c07[_0x236733(0x213)] = Math[_0x236733(0x369)]((0x31 * 0x75 + 0x14c7 + -0x2ac8) * _0x3606e1[_0x236733(0x213)]), + _0x460c07[_0x236733(0x2b0)] = '' + _0x3606e1[_0x236733(0x2b0)], + _0x460c07[_0x236733(0x191)] = '' + _0x3606e1['dischargingTime']; + } catch (_0x2c301c) { + } + _0x2d8bb4[_0x236733(0x359)] = {}, + Object[_0x236733(0x2a0)](_0x2d8bb4[_0x236733(0x359)], _0x460c07); + } else { + if (_0x236733(0x384) != typeof navigator && navigator[_0x236733(0x1b2)]) + try { + navigator[_0x236733(0x1b2)]()[_0x236733(0x1ed)](function (_0x369fc5) { + var _0x34e3e9 = _0x236733; + try { + _0x460c07[_0x34e3e9(0x3ac)] = _0x369fc5[_0x34e3e9(0x3ac)] ? 0x20aa + -0x11 * -0x86 + 0x1 * -0x298f : 0xd51 + 0x152c + 0xd * -0x2a7, + _0x460c07[_0x34e3e9(0x213)] = Math[_0x34e3e9(0x369)]((0x1205 + -0x41 * 0x32 + -0x3 * 0x1a5) * _0x369fc5[_0x34e3e9(0x213)]), + _0x460c07[_0x34e3e9(0x2b0)] = '' + _0x369fc5[_0x34e3e9(0x2b0)], + _0x460c07[_0x34e3e9(0x191)] = '' + _0x369fc5['dischargingTime']; + } catch (_0x2f63d1) { + } + _0x2d8bb4['battery'] = {}, + Object[_0x34e3e9(0x2a0)](_0x2d8bb4[_0x34e3e9(0x359)], _0x460c07); + }); + } catch (_0xfc012d) { + } + } + }()), + 'undefined' != typeof Promise && (_0x548676 = new Promise(function (_0x1df02e) { + try { + _0x5bbaf0()['then'](function (_0x27ab47) { + var _0xbee19f = w_0x25f3; + Object[_0xbee19f(0x2a0)](_0x2d8bb4['wID'], { + 'rtcIP': _0x27ab47 + }); + }); + } catch (_0x7bc12a) { + } + _0x1df02e(''); + } + )); + } + + function _0x5c328e() { + var _0x378ae2 = _0x5612de; + return w_0x5c3140(_0x378ae2(0x1ad), { + get 0x0() { + return window; + }, + get 0x1() { + return navigator; + }, + get 0x2() { + var _0xa78dc5 = _0x378ae2; + return _0xa78dc5(0x384) != typeof InstallTrigger ? InstallTrigger : void (0x26ae * 0x1 + -0xad * 0x2e + -0x6c * 0x12); + }, + 0x3: Object, + get 0x4() { + return _0x241339; + }, + get 0x5() { + return _0x2d8bb4; + }, + get 0x6() { + return document; + }, + 0x7: Promise, + 0x8: Date, + get 0x9() { + return _0x252788; + }, + get 0xa() { + return _0x5011f8; + }, + get 0xb() { + return _0x4f323e; + }, + get 0xc() { + return _0x5090f5; + }, + 0xd: Math, + get 0xe() { + return _0x3ffe15; + }, + get 0xf() { + return _0x18b4be; + }, + get 0x10() { + return _0x484054; + }, + get 0x11() { + return _0x491716; + }, + get 0x12() { + return _0x462335; + }, + get 0x13() { + return _0x24dc34; + }, + get 0x14() { + return _0x6caf; + }, + get 0x15() { + return _0x2d2578; + }, + get 0x16() { + return _0x3a2b92; + }, + get 0x17() { + return _0x5abc93; + }, + get 0x18() { + return _0x573065; + }, + get 0x19() { + return _0x58bcf8; + }, + get 0x1a() { + return _0x1555d9; + }, + get 0x1b() { + return _0x5d3845; + }, + 0x1c: parseInt, + get 0x1d() { + return _0x3d13cf; + }, + get 0x1e() { + return _0x4a2daf; + }, + get 0x1f() { + return _0x641e3d; + }, + 0x20: JSON, + get 0x21() { + return _0x48a082; + }, + get 0x22() { + return _0x4df596; + }, + get 0x23() { + return _0x5dde58; + }, + get 0x24() { + return _0x548676; + }, + get 0x25() { + return _0x29a5ac; + }, + 0x26: arguments + }, this); + } + + function _0x25a792(_0x2f25f2) { + var _0x329005 = _0x5612de; + return _0x462335[_0x329005(0x185)] && _0x462335[_0x329005(0x185)][_0x329005(0x2dc)] && -(-0x4f2 * 0x5 + 0x254f + -0xc94) !== _0x2f25f2[_0x329005(0x2c5)](_0x462335[_0x329005(0x185)][_0x329005(0x2dc)]) ? _0x39693d['sec'] : _0x39693d[_0x329005(0x1b4)]; + } + + function _0xd287a1(_0x35260d) { + var _0x241816 = _0x5612de + , _0x40ac17 = _0x462335[_0x241816(0x185)][_0x241816(0x2dc)]; + return !(!_0x40ac17 || !_0x35260d || -(0x116 * -0x2 + -0x1af8 * -0x1 + -0x18cb) === _0x35260d[_0x241816(0x2c5)](_0x40ac17)); + } + + function _0x2b13af(_0x52c947) { + var _0x221375 = _0x5612de + , _0x7eff84 = _0x52c947; + decodeURIComponent(_0x52c947) === _0x52c947 && (_0x7eff84 = encodeURI(_0x52c947)); + var _0x5e1d88 = _0x7eff84[_0x221375(0x2c5)]('?'); + if (_0x5e1d88 > 0x1673 * 0x1 + 0x2150 + -0x37c3) { + var _0xc7170 = _0x7eff84[_0x221375(0x3a7)](-0x80c + 0x71e * 0x2 + -0x630, _0x5e1d88 + (0x2 * 0x919 + 0x4 * -0x931 + 0x1293)) + , _0x8fbad9 = _0x7eff84[_0x221375(0x3a7)](_0x5e1d88 + (-0x1de4 + -0x2 * -0x1163 + 0x4e1 * -0x1)); + _0x7eff84 = _0xc7170 + _0x8fbad9[_0x221375(0x342)]('\x27')['join'](_0x221375(0x37e)); + } + return _0x7eff84; + } + + function _0x1958a5(_0x42413b, _0x5e3de6) { + var _0x406220 = _0x5612de; + for (var _0x32045a = '', _0xbe63df = '', _0x5623ae = 0x5f6 + -0x220e + 0x1c18; _0x5623ae < _0x5e3de6[_0x406220(0x259)]; _0x5623ae++) + _0x5623ae % (0x951 + 0xb15 + 0x105 * -0x14) == -0x10de + 0x15 * 0x185 + 0x1 * -0xf0b ? _0xbe63df = _0x5e3de6[_0x5623ae] : _0x32045a += '&' + _0xbe63df + '=' + _0x5e3de6[_0x5623ae]; + var _0x4ddc33 = _0x42413b; + if (_0x32045a[_0x406220(0x259)] > -0x135d + 0x8e1 + -0x2c * -0x3d) { + var _0x50fb42 = -(0x2 * -0x1252 + 0x13 * 0x85 + 0x95 * 0x2e) === _0x42413b['indexOf']('?') ? '?' : '&'; + _0x4ddc33 = _0x42413b + _0x50fb42 + _0x32045a[_0x406220(0x3a7)](0x324 + -0xf1 * -0x17 + 0x1 * -0x18ca); + } + return _0x4ddc33; + } + + function _0x288415(_0x5a419e) { + var _0x259f53 = _0x5612de + , _0x4465ef = _0x5a419e['indexOf']('?'); + return -(-0x78c + -0x1a4c + -0x6c5 * -0x5) !== _0x4465ef ? _0x5a419e[_0x259f53(0x3a7)](_0x4465ef + (0x907 + 0x137b * 0x1 + -0x1c81)) : ''; + } + + function _0x6a7375(_0x2a9a57) { + var _0x447596 = _0x5612de; + for (var _0x1ca622 = -0x16a3 * -0x1 + 0x87b + -0x1f1e; _0x1ca622 < _0x462335['_enablePathListRegex']['length']; _0x1ca622++) + if (_0x462335[_0x447596(0x1a9)][_0x1ca622]['test'](_0x2a9a57)) + return !(-0x5ed + -0x3d * -0x41 + -0x990); + return !(-0x1 * -0x26ff + -0x11c1 * 0x1 + -0x153d); + } + + function _0x7d8404(_0x34967f) { + var _0x5e578e = _0x5612de; + return _0x5e578e(0x186) === _0x34967f || 'application/json' === _0x34967f; + } + + function _0x3af1be() { + var _0x1347f7 = _0x5612de; + return w_0x5c3140(_0x1347f7(0x368), { + get 0x0() { + return window; + }, + get 0x1() { + return _0x6a7375; + }, + get 0x2() { + return _0x6caf; + }, + get 0x3() { + return _0x1958a5; + }, + get 0x4() { + return _0x2b13af; + }, + get 0x5() { + return _0x288415; + }, + get 0x6() { + return _0x8edc3d; + }, + get 0x7() { + return _0x462335; + }, + get 0x8() { + return _0x45e0e9; + }, + get 0x9() { + return _0x7d8404; + }, + get 0xa() { + return _0x1294ff; + }, + get 0xb() { + return _0x20cbf3; + }, + get 0xc() { + return _0x45b94b; + }, + get 0xd() { + return _0x572e48; + }, + get 0xe() { + return _0xd287a1; + }, + get 0xf() { + return _0x25a792; + }, + get 0x10() { + return _0x39693d; + }, + get 0x11() { + return _0x1f42cb; + }, + get 0x12() { + return _0x556182; + }, + get 0x13() { + return setTimeout; + }, + get 0x14() { + return _0x5c328e; + }, + 0x15: arguments, + 0x16: RegExp + }, this); + } + + var _0x3c4266 = _0x5612de(0x384) != typeof URL && URL instanceof Object + , _0x3311d7 = 'undefined' != typeof Request && Request instanceof Object + , _0x4f1fa4 = 'undefined' != typeof Headers && Headers instanceof Object; + + function _0x415adb() { + var _0x51ab32 = _0x5612de; + return window[_0x51ab32(0x197)]; + } + + function _0x1d82ac() { + var _0x2340b7 = _0x5612de; + return w_0x5c3140(_0x2340b7(0x234), { + get 0x0() { + return _0x415adb; + }, + get 0x1() { + return window; + }, + get 0x2() { + return _0xd287a1; + }, + get 0x3() { + return _0x25a792; + }, + get 0x4() { + return _0x39693d; + }, + get 0x5() { + return _0x6caf; + }, + get 0x6() { + return _0x1f42cb; + }, + get 0x7() { + return _0x556182; + }, + get 0x8() { + return setTimeout; + }, + get 0x9() { + return _0x5c328e; + }, + get 0xa() { + return _0x3311d7; + }, + get 0xb() { + return Request; + }, + get 0xc() { + return _0x3c4266; + }, + get 0xd() { + return URL; + }, + get 0xe() { + return _0x6a7375; + }, + get 0xf() { + return _0x1958a5; + }, + get 0x10() { + return _0x2b13af; + }, + get 0x11() { + return _0x288415; + }, + get 0x12() { + return _0x8edc3d; + }, + get 0x13() { + return _0x462335; + }, + get 0x14() { + return _0x45e0e9; + }, + get 0x15() { + return _0xb48e77; + }, + get 0x16() { + return _0x7d8404; + }, + get 0x17() { + return _0x1294ff; + }, + get 0x18() { + return _0x20cbf3; + }, + get 0x19() { + return _0x45b94b; + }, + get 0x1a() { + return _0x572e48; + }, + 0x1b: arguments + }, this); + } + + function _0xb48e77(_0x29caaf, _0xa4ab82) { + var _0x1cf8d6 = _0x5612de + , _0x314297 = ''; + if (_0x3311d7 && _0x29caaf instanceof Request) { + var _0x1f374d = _0x29caaf[_0x1cf8d6(0x35b)][_0x1cf8d6(0x32b)](_0x1cf8d6(0x228)); + return _0x1f374d && (_0x314297 = _0x1f374d), + _0x314297; + } + if (_0xa4ab82 && _0xa4ab82[_0x1cf8d6(0x35b)]) { + if (_0x4f1fa4 && _0xa4ab82[_0x1cf8d6(0x35b)] instanceof Headers) { + var _0x4dff82 = _0xa4ab82[_0x1cf8d6(0x35b)][_0x1cf8d6(0x32b)](_0x1cf8d6(0x228)); + return _0x4dff82 && (_0x314297 = _0x4dff82), + _0x314297; + } + if (_0xa4ab82['headers'] instanceof Array) { + for (var _0x6ae47c = 0xd20 + 0x699 * -0x5 + -0x13dd * -0x1; _0x6ae47c < _0xa4ab82['headers'][_0x1cf8d6(0x259)]; _0x6ae47c++) + if (_0x1cf8d6(0x228) == _0xa4ab82[_0x1cf8d6(0x35b)][_0x6ae47c][-0x12f6 + -0x207f + 0x1127 * 0x3]['toLowerCase']()) + return _0xa4ab82[_0x1cf8d6(0x35b)][_0x6ae47c][-0xaa2 + -0xe0e + 0x18b1]; + } + if (_0xa4ab82[_0x1cf8d6(0x35b)] instanceof Object) { + for (var _0x1506c8 = -0x1ce4 + 0x8dc + 0xa04 * 0x2, _0x32fecb = Object['keys'](_0xa4ab82['headers']); _0x1506c8 < _0x32fecb[_0x1cf8d6(0x259)]; _0x1506c8++) { + var _0x228b3d = _0x32fecb[_0x1506c8]; + if ('content-type' === _0x228b3d['toLowerCase']()) + return _0xa4ab82[_0x1cf8d6(0x35b)][_0x228b3d]; + } + return _0x314297; + } + } + } + + function _0x1294ff(_0x1475ff, _0x5700d1, _0x563b6f) { + var _0x383b2a = _0x5612de; + if (null == _0x563b6f || '' === _0x563b6f) + return _0x1475ff; + if (_0x563b6f = _0x563b6f[_0x383b2a(0x3ae)](), + _0x383b2a(0x186) === _0x5700d1) { + _0x1475ff[_0x383b2a(0x336)] = !(0xfc + -0x22d4 + 0x21d8); + var _0x38ceac = _0x563b6f[_0x383b2a(0x342)]('&') + , _0x1b01b6 = {}; + if (_0x38ceac) { + for (var _0x4c4745 = -0x29 * -0xd3 + 0x1 * 0xa01 + -0x2bcc; _0x4c4745 < _0x38ceac['length']; _0x4c4745++) + _0x1b01b6[_0x38ceac[_0x4c4745][_0x383b2a(0x342)]('=')[0x2 * -0x391 + -0x1 * -0x99f + -0x27d]] = decodeURIComponent(_0x38ceac[_0x4c4745][_0x383b2a(0x342)]('=')[0x1e44 + -0x14e3 * -0x1 + -0x3326]); + } + _0x1475ff[_0x383b2a(0x189)] = _0x1b01b6; + } else + _0x1475ff[_0x383b2a(0x189)] = JSON['parse'](_0x563b6f); + return _0x1475ff; + } + + function _0x45e0e9(_0x2d3284, _0xb8d78) { + var _0x521f3f = _0x5612de + , _0x3496a3 = _0xb8d78; + if (_0x462335[_0x521f3f(0x18d)][_0x521f3f(0x259)] > 0x1f8f * 0x1 + -0x1 * 0x21dd + 0xa * 0x3b) + for (var _0x335ec5 = 0xb * -0xd3 + -0x1977 * 0x1 + -0x41 * -0x88; _0x335ec5 < _0x462335[_0x521f3f(0x18d)][_0x521f3f(0x259)]; _0x335ec5++) { + var _0x3f8686 = _0x462335[_0x521f3f(0x18d)][_0x335ec5][-0x2023 + 0xcb * -0x10 + -0x1cb * -0x19]; + if (_0x3f8686[_0x521f3f(0x22b)](_0xb8d78)) { + _0x3496a3 = _0xb8d78[_0x521f3f(0x377)](_0x3f8686, _0x462335[_0x521f3f(0x18d)][_0x335ec5][0x1a12 * -0x1 + 0x2361 + -0x94e]), + _0x2d3284 && _0x3d40ff[_0x521f3f(0x397)]['call'](_0x2d3284, _0x521f3f(0x243), _0x521f3f(0x223) + _0xb8d78 + '\x0aREWRITED:\x20' + _0x3496a3); + break; + } + } + return _0x3496a3 = _0x2b13af(_0x3496a3); + } + + function _0x344a4d() { + var _0x1b8e41 = _0x5612de; + return w_0x5c3140(_0x1b8e41(0x20d), { + get 0x0() { + return window; + }, + get 0x1() { + return _0x6a7375; + }, + get 0x2() { + return _0x6caf; + }, + get 0x3() { + return _0x1958a5; + }, + get 0x4() { + return _0x2b13af; + }, + get 0x5() { + return _0x288415; + }, + get 0x6() { + return _0x8edc3d; + }, + 0x7: arguments + }, this); + } + + function _0x3f720d() { + _0x3af1be(), + _0x1d82ac(), + _0x344a4d(); + } + + function _0x3bfecb(_0x4b21ed) { + var _0x3a0ee2 = _0x5612de; + this[_0x3a0ee2(0x341)] = 'ConfigException', + this[_0x3a0ee2(0x312)] = _0x4b21ed; + } + + var _0x589057 = { + 'cn': { + 'host': _0x5612de(0x2c9) + } + }, _0x2bbf08 = [_0x5612de(0x30c)], _0x3d70a4; + + function _0x43f5a3(_0x5a985f) { + var _0x20ecf9 = _0x5612de + , _0x3c43cc = ''; + return { + 'host': _0x3c43cc = _0x5a985f[_0x20ecf9(0x1b6)] || _0x5a985f[_0x20ecf9(0x1ae)] ? _0x5a985f[_0x20ecf9(0x1b3)] : _0x589057[_0x5a985f[_0x20ecf9(0x224)]][_0x20ecf9(0x2dc)], + 'pathList': _0x2bbf08, + 'reportUrl': _0x3c43cc + _0x2bbf08[0x1d7 * 0x7 + 0x1073 + -0x1d54] + }; + } + + var _0x383bd7 = !(0x244 * 0xb + -0x16a * -0x4 + -0x1e93), _0xd39ee2, _0x9e520d; + + function _0x53ee31(_0x817028) { + var _0x5d5e8d = _0x5612de; + return w_0x5c3140(_0x5d5e8d(0x34f), { + 0x0: Object, + 0x1: Math, + get 0x2() { + return _0x3bfecb; + }, + get 0x3() { + return _0x6caf; + }, + get 0x4() { + return _0x462335; + }, + get 0x5() { + return _0x43f5a3; + }, + get 0x6() { + return setTimeout; + }, + get 0x7() { + return _0x5c328e; + }, + get 0x8() { + return _0x3d70a4; + }, + set 0x8(_0x5982f0) { + _0x3d70a4 = _0x5982f0; + }, + get 0x9() { + return clearInterval; + }, + get 0xa() { + return setInterval; + }, + get 0xb() { + return _0x450b73; + }, + get 0xc() { + return _0x1a39c4; + }, + get 0xd() { + return _0x3f720d; + }, + get 0xe() { + return _0x59992f; + }, + get 0xf() { + return _0x39d569; + }, + get 0x10() { + return _0x1dbe74; + }, + get 0x11() { + return _0x383bd7; + }, + set 0x11(_0x488bc8) { + _0x383bd7 = _0x488bc8; + }, + get 0x12() { + return _0x18707d; + }, + get 0x13() { + return _0x1c3b6d; + }, + 0x14: arguments, + 0x15: _0x817028 + }, this); + } + + function _0x3498af(_0x3e9bb9) { + } + + function _0x59992f(_0x10dd97) { + var _0x1beab7 = _0x5612de; + for (var _0x52c469 = 0xb * -0x262 + -0x606 + 0x101e * 0x2; _0x52c469 < _0x10dd97[_0x1beab7(0x259)]; _0x52c469++) + _0x10dd97[_0x52c469] && _0x462335['_enablePathListRegex']['push'](new RegExp(_0x10dd97[_0x52c469])); + } + + function _0x39d569(_0x51ab06) { + var _0x59d7a1 = _0x5612de; + if (void (-0x11c8 * 0x1 + 0x1fa2 * 0x1 + -0xdda) !== _0x51ab06) { + for (var _0x3e2076 = -0x3ab * -0x5 + -0x19d4 + 0x1b * 0x47; _0x3e2076 < _0x51ab06[_0x59d7a1(0x259)]; _0x3e2076++) + _0x462335[_0x59d7a1(0x18d)][_0x59d7a1(0x36e)]([new RegExp(_0x51ab06[_0x3e2076][-0xfb * -0x1 + 0x9a7 * 0x4 + -0x5 * 0x7eb]), _0x51ab06[_0x3e2076][-0x57 * 0x55 + 0x1c99 * 0x1 + 0x4b]]); + } + } + + function _0x32e4a6() { + var _0x494ee9 = _0x5612de; + return window[_0x494ee9(0x318)] || ''; + } + + function _0x1be1e1(_0x58db04) { + var _0x32bdb2 = _0x5612de + , _0x4558be = _0x6caf[_0x32bdb2(0x323)] + , _0x4ab91a = -0x5d * 0x5e + -0xb06 + -0x47 * -0xa3; + _0x32bdb2(0x2b6) === _0x58db04 && (_0x4ab91a = 0x1754 + 0xd0 * 0x4 + -0x1a93), + _0x32bdb2(0x285) === _0x58db04 && (_0x4ab91a = -0x146 * -0x13 + 0x13 * 0xef + -0x29ed); + var _0x1741bb = { + 'ts': new Date()[_0x32bdb2(0x16d)](), + 'v': _0x4ab91a + }; + _0x4558be[_0x32bdb2(0x36e)](_0x1741bb); + } + + function _0x4de7ef() { + var _0x45ce69 = _0x5612de, _0x5c1967, _0x586941; + void (0xbc1 + 0x1 * 0x1309 + -0x1eca) !== document[_0x45ce69(0x285)] ? (_0x45ce69(0x285), + _0x586941 = _0x45ce69(0x1a0), + _0x5c1967 = _0x45ce69(0x1f6)) : void (0x2056 + 0x2306 + -0x435c) !== document[_0x45ce69(0x15f)] ? (_0x45ce69(0x15f), + _0x586941 = _0x45ce69(0x1c8), + _0x5c1967 = _0x45ce69(0x33f)) : void (0x68 * 0x53 + 0x3c7 * 0x3 + -0x2d0d) !== document[_0x45ce69(0x2c6)] ? (_0x45ce69(0x2c6), + _0x586941 = _0x45ce69(0x2cc), + _0x5c1967 = _0x45ce69(0x1a4)) : void (-0x1bd7 + 0xc9 * -0x2b + 0x3d9a) !== document[_0x45ce69(0x22a)] && (_0x45ce69(0x22a), + _0x586941 = _0x45ce69(0x322), + _0x5c1967 = _0x45ce69(0x166)), + document[_0x45ce69(0x2f6)](_0x586941, function () { + _0x1be1e1(document[_0x5c1967]); + }, !(0x1088 + 0x18c2 + 0xdc3 * -0x3)), + _0x1be1e1(document[_0x5c1967]); + } + + function _0x3ff3f1() { + _0x58c311(); + } + + function _0x4c727e() { + var _0x3f5094 = _0x5612de; + + function _0x115c6a(_0x2162b2) { + var _0x4cc12e = w_0x25f3; + _0x462335['triggerUnload'] || (_0x462335[_0x4cc12e(0x204)] = !(0x1 * -0x632 + 0x3 * -0xb71 + -0x1c3 * -0x17), + _0x3ff3f1()); + } + + window && window[_0x3f5094(0x2f6)] && (window[_0x3f5094(0x2f6)](_0x3f5094(0x37d), _0x115c6a), + window[_0x3f5094(0x2f6)](_0x3f5094(0x29b), _0x115c6a)); + } + + function _0x5b850b() { + var _0x4d0be4 = _0x5612de; + for (var _0x35a39e = document[_0x4d0be4(0x272)][_0x4d0be4(0x342)](';'), _0x3046a3 = [], _0x58914c = -0x923 + -0x66a * -0x5 + -0x16ef; _0x58914c < _0x35a39e[_0x4d0be4(0x259)]; _0x58914c++) + if (_0x4d0be4(0x3b5) == (_0x3046a3 = _0x35a39e[_0x58914c][_0x4d0be4(0x342)]('='))[-0x7cd * -0x1 + -0x1678 + 0xeab]['trim']()) { + _0x6caf[_0x4d0be4(0x3b5)] = _0x3046a3[0x200f * -0x1 + 0x926 + 0x16ea]; + break; + } + } + + function _0x498349(_0x5efcd6) { + return new _0x53ee31(_0x5efcd6); + } + + function _0x475194(_0x56e1e3) { + -0xa7f + -0xb * 0x18a + 0x1b6d === _0x56e1e3 + // setTimeout(_0x5047d8, 0x1 * -0xb55 + -0x1031 + 0x1bea * 0x1) : -0xef1 + -0xfd3 * -0x1 + -0xe1 === _0x56e1e3 && setTimeout(_0x5c328e, 0x6 * 0x38d + -0x49 * -0x2b + -0x95 * 0x39); + } + + function _0x4a4111(_0x2ba688, _0x1e135c) { + var _0x18e9b1 = _0x5612de; + -0xfab + 0x9 * -0x2a2 + 0x275e === _0x2ba688 && (_0x462335[_0x18e9b1(0x34a)] = Object['assign']({}, _0x462335[_0x18e9b1(0x34a)], _0x1e135c)); + } + + function _0x271dea(_0x20563e) { + void (-0x1aa2 + -0x2407 + 0x3 * 0x14e3) !== _0x20563e && '' != _0x20563e && (_0x6caf['ttwid'] = _0x20563e); + } + + function _0x3a4a1a(_0x5b82b5) { + var _0x30adbb = _0x5612de; + void (0xb * -0x17d + -0x227d + 0x32dc) !== _0x5b82b5 && '' != _0x5b82b5 && (_0x6caf[_0x30adbb(0x316)] = _0x5b82b5); + } + + function _0x3f0a66(_0x53e069) { + var _0x38d5b6 = _0x5612de; + void (-0x7eb * 0x3 + 0xc4 * 0x2 + -0x1 * -0x1639) !== _0x53e069 && '' != _0x53e069 && (_0x6caf[_0x38d5b6(0x339)] = _0x53e069); + } + + _0x53ee31[_0x5612de(0x344)][_0x5612de(0x1a3)] = _0x5c2014, + _0x53ee31[_0x5612de(0x344)]['getReferer'] = _0x32e4a6, + _0x53ee31[_0x5612de(0x344)]['setUserMode'] = _0x3498af, + _0xd39ee2 = _0x24dc34(_0x45b94b['refererKey']) || '', + _0x2ecc5a(_0x45b94b['refererKey']), + _0x5612de(0x2d6) === _0xd39ee2 ? _0xd39ee2 = '' : '' === _0xd39ee2 && (_0xd39ee2 = document[_0x5612de(0x2fa)]), + _0xd39ee2 && (window[_0x5612de(0x318)] = _0xd39ee2), + _0x9e520d = _0x5141ac(), + _0x9e520d && (_0x6caf[_0x5612de(0x2b4)] = _0x9e520d, + _0x6caf['msStatus'] = _0x39693d['asgw']), + // setTimeout(function () { + // _0x18a9f7(), + // _0x1dbe74(), + // _0x4de7ef(), + // _0x4c727e(), + // _0x21fa28(); + // }, -0x1a83 + 0x15ee + -0xd * -0x141), + _0x5b850b(), + _0x59992f([_0x5612de(0x30c)]); + var _0x1649bc = !(-0xc6b * -0x1 + -0x2315 + 0x16aa); + crawler = _0x5c2014 + _0x1d18f2['frontierSign'] = _0x5c2014, + _0x1d18f2[_0x5612de(0x2e8)] = _0x32e4a6, + _0x1d18f2[_0x5612de(0x3b9)] = _0x498349, + _0x1d18f2[_0x5612de(0x1f8)] = _0x1649bc, + _0x1d18f2['report'] = _0x475194, + _0x1d18f2[_0x5612de(0x298)] = _0x4a4111, + _0x1d18f2[_0x5612de(0x1a7)] = _0x3a4a1a, + _0x1d18f2['setTTWebidV2'] = _0x3f0a66, + _0x1d18f2[_0x5612de(0x244)] = _0x271dea, + _0x1d18f2[_0x5612de(0x378)] = _0x3498af, + Object['defineProperty'](_0x1d18f2, _0x5612de(0x3bd), { + 'value': !(0x1 * 0x2069 + -0x1403 + -0xc66) + }); + }); +} + +function get_sign(md5) { + let data = { + "X-MS-STUB": md5 + } + return crawler(data)["X-Bogus"]; +} diff --git a/build/appicon.png b/build/appicon.png new file mode 100644 index 0000000..63617fe Binary files /dev/null and b/build/appicon.png differ diff --git a/build/windows/icon.ico b/build/windows/icon.ico new file mode 100644 index 0000000..aa183eb Binary files /dev/null and b/build/windows/icon.ico differ diff --git a/build/windows/info.json b/build/windows/info.json new file mode 100644 index 0000000..025d3cb --- /dev/null +++ b/build/windows/info.json @@ -0,0 +1,4 @@ +{ + "fixed": { "file_version": "{{.Info.ProductVersion}}" }, + "info": { "0000": { "ProductVersion": "{{.Info.ProductVersion}}", "CompanyName": "{{.Info.CompanyName}}", "FileDescription": "{{.Info.ProductName}}", "LegalCopyright": "{{.Info.Copyright}}", "ProductName": "{{.Info.ProductName}}", "Comments": "" } } +} diff --git a/build/windows/wails.exe.manifest b/build/windows/wails.exe.manifest new file mode 100644 index 0000000..17e1a23 --- /dev/null +++ b/build/windows/wails.exe.manifest @@ -0,0 +1,15 @@ + + + + + + + + + + + true/pm + permonitorv2,permonitor + + + \ No newline at end of file diff --git a/douyin.proto b/douyin.proto new file mode 100644 index 0000000..479c9df --- /dev/null +++ b/douyin.proto @@ -0,0 +1,6606 @@ +syntax = "proto3"; +option go_package = "generated/douyin/"; +message Response { + repeated Message messagesList = 1; + string cursor = 2; + uint64 fetchInterval = 3; + uint64 now = 4; + string internalExt = 5; + uint32 fetchType = 6; + map routeParams = 7; + uint64 heartbeatDuration = 8; + bool needAck = 9; + string pushServer = 10; + string liveCursor = 11; + bool historyNoMore = 12; +} + +message Message{ + string method = 1; + bytes payload = 2; + int64 msgId = 3; + int32 msgType = 4; + int64 offset = 5; + bool needWrdsStore = 6; + int64 wrdsVersion = 7; + string wrdsSubKey = 8; +} + +message EmojiChatMessage { + Common common = 1; + User user = 2; + uint64 emojiId = 3; + Text emojiContent = 4; + string defaultContent = 5; + Image backgroundImage = 6; + bool fromIntercom = 7; + bool intercomHideUserCard = 8; + PublicAreaCommon public_area_common =9; +} + +// 聊天 +message ChatMessage { + Common common = 1; + User user = 2; + string content = 3; + bool visibleToSender = 4; + Image backgroundImage = 5; + string fullScreenTextColor = 6; + Image backgroundImageV2 = 7; + PublicAreaCommon publicAreaCommon = 9; + Image giftImage = 10; + uint64 agreeMsgId = 11; + uint32 priorityLevel = 12; + LandscapeAreaCommon landscapeAreaCommon = 13; + uint64 eventTime = 15; + bool sendReview = 16; + bool fromIntercom = 17; + bool intercomHideUserCard = 18; + // repeated chatTagsList = 19; + string chatBy = 20; + uint32 individualChatPriority = 21; + Text rtfContent = 22; +} + + +message LandscapeAreaCommon { + bool showHead = 1; + bool showNickname = 2; + bool showFontColor = 3; + repeated string colorValueList = 4; + repeated CommentTypeTag commentTypeTagsList = 5; +} + +message RoomUserSeqMessage { + Common common = 1; + repeated RoomUserSeqMessageContributor ranksList = 2; + int64 total = 3; + string popStr = 4; + repeated RoomUserSeqMessageContributor seatsList = 5; + int64 popularity = 6; + int64 totalUser = 7; + string totalUserStr = 8; + string totalStr = 9; + string onlineUserForAnchor = 10; + string totalPvForAnchor = 11; + string upRightStatsStr = 12; + string upRightStatsStrComplete = 13; + +} + +message CommonTextMessage { + Common common = 1; + User user = 2; + string scene = 3; +} +message RoomUserSeqMessageContributor { + uint64 score = 1; + User user = 2; + uint64 rank = 3; + uint64 delta = 4; + bool isHidden = 5; + string scoreDescription = 6; + string exactlyScore = 7; +} + +// 礼物消息 +message GiftMessage { + Common common = 1; // 公共信息 + int64 gift_id = 2; // 礼物ID + string fan_ticket_count = 3; // 粉丝票数量 + string group_count = 4; // 组数 + string repeat_count = 5; // 重复次数 + string combo_count = 6; // 组合数 + User user = 7; // 用户信息 + User to_user = 8; // 接收用户信息 + int32 repeat_end = 9; // 重复结束标志 + TextEffect text_effect = 10; // 文字效果 + string group_id = 11; // 组ID + string income_taskgifts = 12; // 收入任务礼物 + string room_fan_ticket_count = 13;// 房间粉丝票数量 + GiftIMPriority priority = 14; // 礼物优先级 + GiftStruct gift = 15; // 礼物结构 + string log_id = 16; // 日志ID + string send_type = 17; // 发送类型 + PublicAreaCommon public_area_common = 18; // 公共区域信息 + Text tray_display_text = 19; // 托盘显示文本 + string banned_display_effects = 20; // 禁止显示效果 + GiftTrayInfo tray_info = 21; // 礼物托盘信息 + AssetEffectMixInfo asset_effect_mix_info = 24; // 资产效果混合信息 + bool display_for_self = 25; // 是否仅自己显示 + string interact_gift_info = 26; // 交互礼物信息 + string diy_item_info = 27; // 自定义项目信息 + int64 min_asset_set = 28; // 最小资产集 + string total_count = 29; // 总数 + int32 client_gift_source = 30; // 客户端礼物来源 + AnchorGiftData anchor_gift = 31; // 主持人礼物数据 + repeated string to_user_ids = 32; // 接收用户IDs列表 + string send_time = 33; // 发送时间 + string force_display_effects = 34;// 强制显示效果 + string trace_id = 35; // 追踪ID + string effect_display_ts = 36; // 效果显示时间戳 + SendTogether send_together = 37; // 一起发送信息 + ExtraEffect extra_effect = 38; // 额外效果信息 + RoomHotInfo room_hot_info = 39; // 房间热门信息 + string GiftPlayParam = 40; // 礼物播放参数 + int32 multi_send_effect_level = 41; // 多发送效果等级 + repeated SeriesPlayGift series_gift_data = 42; // 系列礼物数据列表 +} +message SeriesPlayGift { + GiftStruct gift_struct = 1; // 礼物结构 + SeriesTrayInfo series_tray_info = 2; // 系列托盘信息 + SendTogether send_together = 3; // 一起发送信息 + string diy_item_info = 4; // 自定义项目信息 + AnchorGiftData anchor_gift = 5; // 主持人礼物数据 + AssetEffectMixInfo asset_effect_mix_info = 6; // 资产效果混合信息 +} +message SeriesTrayInfo { + int64 duration = 1; // 持续时间 + Image static_img = 2; // 静态图像信息 + Image dynamic_img = 3; // 动态图像信息 +} +message RoomHotInfo { + int32 local_hot_strategy = 1; // 本地热门策略 + int32 public_area_level = 2; // 公共区域等级 + int32 gift_level = 3; // 礼物等级 +} +message ExtraEffect { + string asset_id = 1; // 资源ID + int32 display_form = 2; // 显示形式 +} +message SendTogether { + string id = 1; // 唯一标识符 + string start_time = 2; // 开始时间(int64字符串表示) + string end_time = 3; // 结束时间(int64字符串表示) +} +message AssetEffectMixInfo { + // 一个重复的EffectMixImageInfo消息类型列表 + repeated EffectMixImageInfo effect_mix_image_infos = 1; +} +message AnchorGiftData { + Image anchor_diy_origin_img = 1; // 主持人自定义原始图像 +} +message EffectMixImageInfo { + string image_key = 1; // 图片关键字 + Image mix_image = 2; // 混合图像信息 +} +message GiftTrayInfo { + Text tray_display_text = 1; // 托盘显示文本 + Image tray_base_img = 2; // 托盘基础图像 + Image tray_head_img = 3; // 托盘头部图像 + Image tray_right_img = 4; // 托盘右侧图像 + string tray_level = 5; // 托盘等级 + Image tray_dynamic_img = 6; // 托盘动态图像 + string tray_schema_url = 7; // 托盘模式URL + int32 tray_type = 8; // 托盘类型 + Image tray_base_img_v2 = 9; // 托盘基础图像v2 + Image tray_right_img_v2 = 10; // 托盘右侧图像v2 + bool use_high_layer = 11; // 是否使用高層 + string duration = 12; // 持续时间 + string toast = 13; // 弹出提示 + int32 tray_slide_rate = 14; // 托盘滑动速率 + TrayPreEffect tray_pre_effect = 15; // 托盘前效果 + TrayPostEffect tray_post_effect = 16; // 托盘后效果 + string origin_gift_id = 17; // 原始礼物ID + string buff_level = 18; // 增益等级 + string toolbar_card_name = 19; // 工具栏卡片名称 + Image tray_base_webp_img = 20; // 托盘基础Webp图像 + int32 tray_group_mode = 21; // 托盘组模式 +} +// TrayPostEffect 主消息 +message TrayPostEffect { + Image post_effect_img = 1; // 后处理效果的图像 + string post_schema = 2; // 后处理效果的 schema + int64 post_duration = 3; // 后处理效果的持续时间 + int32 post_effect_source = 4; // 后处理效果的来源 + Text sub_title = 5; // 副标题文本 + int32 show_type = 6; // 显示类型 + map event_tracking = 10; // 事件跟踪信息 +} +message TrayPreEffect { + Image pre_effect_img = 1; // 预效果图像 + string tray_start_time = 2; // 托盘开始时间(int64字符串表示) + Image tray_ripple = 3; // 托盘涟漪效果图像 + string pre_schema = 4; // 预效果模式 + string pre_duration = 5; // 预效果持续时间(int64字符串表示) + int32 pre_effect_source = 6; // 预效果来源 + string extra = 7; // 额外信息 +} +message GiftStruct { + Image image = 1; + string describe = 2; + bool notify = 3; + uint64 duration = 4; + uint64 id = 5; + // GiftStructFansClubInfo fansclubInfo = 6; + bool forLinkmic = 7; + bool doodle = 8; + bool forFansclub = 9; + bool combo = 10; + uint32 type = 11; + uint32 diamondCount = 12; + bool isDisplayedOnPanel = 13; + uint64 primaryEffectId = 14; + Image giftLabelIcon = 15; + string name = 16; + string region = 17; + string manual = 18; + bool forCustom = 19; + // specialEffectsMap = 20; + Image icon = 21; + uint32 actionType = 22; + // fixme 后面的就不写了还有几十个属性 + +} + +message GiftIMPriority { + repeated uint64 queueSizesList = 1; + uint64 selfQueuePriority = 2; + uint64 priority = 3; +} + +message TextEffect { + TextEffectDetail portrait = 1; + TextEffectDetail landscape = 2; +} + +message TextEffectDetail { + Text text = 1; + uint32 textFontSize = 2; + Image background = 3; + uint32 start = 4; + uint32 duration = 5; + uint32 x = 6; + uint32 y = 7; + uint32 width = 8; + uint32 height = 9; + uint32 shadowDx = 10; + uint32 shadowDy = 11; + uint32 shadowRadius = 12; + string shadowColor = 13; + string strokeColor = 14; + uint32 strokeWidth = 15; +} + +// MemberMessage 主消息 +message MemberMessage { + Common common = 1; // 通用信息 + User user = 2; // 用户信息 + int64 member_count = 3; // 成员数量 + User operator = 4; // 操作者信息 + bool is_set_to_admin = 5; // 是否设置为管理员 + bool is_top_user = 6; // 是否为顶级用户 + int64 rank_score = 7; // 排名得分 + int64 top_user_no = 8; // 顶级用户编号 + int64 enter_type = 9; // 进入类型 + int64 action = 10; // 动作 + string action_description = 11; // 动作描述 + int64 user_id = 12; // 用户 ID + EffectConfig effect_config = 13; // 效果配置 + string pop_str = 14; // 弹出字符串 + EffectConfig enter_effect_config = 15; // 进入效果配置 + Image background_image = 16; // 背景图像 + Image background_image_v2 = 17; // 背景图像 V2 + Text anchor_display_text = 18; // 主播显示文本 + PublicAreaCommon public_area_common = 19; // 公共区域通用信息 + int64 user_enter_tip_type = 20; // 用户进入提示类型 + int64 anchor_enter_tip_type = 21; // 主播进入提示类型 + map buried_point = 22; // 埋点信息 + map alternative_effect_config = 23; // 替代效果配置 + PicoEffectConfig pico_enter_effect_config = 24; // Pico 进入效果配置 + string user_open_id = 5000; // 用户开放 ID + + // EffectConfig 子消息 + message EffectConfig { + int64 type = 1; // 效果类型 + Image icon = 2; // 图标 + int64 avatar_pos = 3; // 头像位置 + Text text = 4; // 文本 + Image text_icon = 5; // 文本图标 + int32 stay_time = 6; // 停留时间 + int64 anim_asset_id = 7; // 动画资产 ID + Image badge = 8; // 徽章 + repeated int64 flex_setting_array = 9; // 灵活设置数组 + Image text_icon_overlay = 10; // 文本图标覆盖 + Image animated_badge = 11; // 动画徽章 + bool has_sweep_light = 12; // 是否有扫光 + repeated int64 text_flex_setting_array = 13; // 文本灵活设置数组 + int64 center_anim_asset_id = 14; // 中心动画资产 ID + Image dynamic_image = 15; // 动态图像 + map extra = 16; // 额外信息 + int64 mp4_anim_asset_id = 17; // MP4 动画资产 ID + int64 priority = 18; // 优先级 + int64 max_wait_time = 19; // 最大等待时间 + string dress_id = 20; // 装饰 ID + int64 alignment = 21; // 对齐方式 + int64 alignment_offset = 22; // 对齐偏移 + string effect_scene = 23; // 效果场景 + map piece_values = 24; // 片段值 + } + + // PicoEffectConfig 子消息 + message PicoEffectConfig { + int64 type = 1; // 效果类型 + Image icon = 2; // 图标 + Text text = 3; // 文本 + Image text_icon = 4; // 文本图标 + int32 stay_time = 5; // 停留时间 + Image badge = 6; // 徽章 + int64 center_anim_asset_id = 7; // 中心动画资产 ID + map extra = 8; // 额外信息 + string dress_id = 9; // 装饰 ID + } +} + + +message PublicAreaCommon { + Image user_label = 1; + string user_consume_in_room = 2; + string user_send_gift_cnt_in_room = 3; + string individual_priority = 4; + string support_pin = 6; + SuffixText suffix_text = 7; + int32 im_action = 8; + bool forbidden_profile = 9; + ChatReplyRespInfo reply_resp = 10; + string is_featured = 12; + bool need_filter_display = 13; + map individual_strategy_result = 5; + map tracking_params = 11; +} +message SuffixText{ + uint64 biz_type =1; + Text text=2; +} +message ChatReplyRespInfo{ + uint64 reply_msg_id=1; + uint64 reply_id=2; + Text reply_text =3; + uint64 reply_uid=4; + string reply_webcast_uid=5; +} +message EffectConfig { + uint64 type = 1; + Image icon = 2; + uint64 avatarPos = 3; + Text text = 4; + Image textIcon = 5; + uint32 stayTime = 6; + uint64 animAssetId = 7; + Image badge = 8; + repeated uint64 flexSettingArrayList = 9; + Image textIconOverlay = 10; + Image animatedBadge = 11; + bool hasSweepLight = 12; + repeated uint64 textFlexSettingArrayList = 13; + uint64 centerAnimAssetId = 14; + Image dynamicImage = 15; + map extraMap = 16; + uint64 mp4AnimAssetId = 17; + uint64 priority = 18; + uint64 maxWaitTime = 19; + string dressId = 20; + uint64 alignment = 21; + uint64 alignmentOffset = 22; +} + +message Text { + string key = 1; // 字符串类型字段 + string default_pattern = 2; // 字符串类型字段 + TextFormat default_format = 3; // 嵌套类型字段 + repeated TextPiece pieces = 4; // 可重复的嵌套类型字段 + map schema_infos = 20; // 映射类型字段 +} + +message TextPiece { + uint32 type = 1; + TextFormat format = 2; + string value_ref = 3; + string string_value =11; + TextPieceUser uservalue =21; + TextPieceGift giftvalue =22; + TextPieceHeart heartvalue =23; + TextPiecePatternRef patternrefvalue =24; + TextPieceImage imagevalue =25; + string schema_key =100; +} + + +message TextPieceImage { + Image image = 1; + float scalingRate = 2; +} + +message TextPiecePatternRef { + string key = 1; + string defaultPattern = 2; +} + +message TextPieceHeart { + string color = 1; +} + +message TextPieceGift { + uint64 giftId = 1; + PatternRef nameRef = 2; +} + +message PatternRef { + string key = 1; + string defaultPattern = 2; +} + +message TextPieceUser { + User user = 1; + bool withColon = 2; + bool self_show_real_name =3; + uint32 left_show_extension =4; + string left_additional_content =5; + string right_additional_content =6; +} + +message TextFormat { + string color = 1; + bool bold = 2; + bool italic = 3; + uint32 weight = 4; + uint32 italic_angle = 5; + uint32 font_size = 6; + bool use_heigh_light_color = 7; + bool use_remote_clor = 8; +} + +// 点赞 +message LikeMessage { + Common common = 1; + uint64 count = 2; + uint64 total = 3; + uint64 color = 4; + User user = 5; + string icon = 6; + DoubleLikeDetail doubleLikeDetail = 7; + DisplayControlInfo displayControlInfo = 8; + uint64 linkmicGuestUid = 9; + string scene = 10; + PicoDisplayInfo picoDisplayInfo = 11; +} + +message SocialMessage { + Common common = 1; + User user = 2; + uint64 shareType = 3; + uint64 action = 4; + string shareTarget = 5; + uint64 followCount = 6; + PublicAreaCommon publicAreaCommon = 7; +} + +message PicoDisplayInfo { + uint64 comboSumCount = 1; + string emoji = 2; + Image emojiIcon = 3; + string emojiText = 4; +} + +message DoubleLikeDetail { + bool doubleFlag = 1; + uint32 seqId = 2; + uint32 renewalsNum = 3; + uint32 triggersNum = 4; +} + +message DisplayControlInfo { + bool showText = 1; + bool showIcons = 2; +} + +message EpisodeChatMessage { + Message common = 1; + User user = 2; + string content = 3; + bool visibleToSende = 4; + // BackgroundImage backgroundImage = 5; + // PublicAreaCommon publicAreaCommon = 6; + Image giftImage = 7; + uint64 agreeMsgId = 8; + repeated string colorValueList = 9; +} + + +message MatchAgainstScoreMessage { + Common common = 1; + Against against = 2; + uint32 matchStatus = 3; + uint32 displayStatus = 4; +} + +message Against { + string leftName = 1; + Image leftLogo = 2; + string leftGoal = 3; + // LeftPlayersList leftPlayersList = 4; + // LeftGoalStageDetail leftGoalStageDetail = 5; + string rightName = 6; + Image rightLogo = 7; + string rightGoal = 8; + // RightPlayersList rightPlayersList = 9; + // RightGoalStageDetail rightGoalStageDetail = 10; + uint64 timestamp = 11; + uint64 version = 12; + uint64 leftTeamId = 13; + uint64 rightTeamId = 14; + uint64 diffSei2absSecond = 15; + uint32 finalGoalStage = 16; + uint32 currentGoalStage = 17; + uint32 leftScoreAddition = 18; + uint32 rightScoreAddition = 19; + uint64 leftGoalInt = 20; + uint64 rightGoalInt = 21; +} + +// Common 消息定义 +message Common { + string method = 1; // 方法名称 + int64 msg_id = 2; // 消息 ID + int64 room_id = 3; // 房间 ID + int64 create_time = 4; // 创建时间 + int32 monitor = 5; // 监控标识 + bool is_show_msg = 6; // 是否显示消息 + string describe = 7; // 描述信息 + Text display_text = 8; // 显示文本 + int64 fold_type = 9; // 折叠类型 + int64 anchor_fold_type = 10; // 主播折叠类型 + int64 priority_score = 11; // 优先级分数 + string log_id = 12; // 日志 ID + string msg_process_filter_k = 13; // 消息处理过滤键 + string msg_process_filter_v = 14; // 消息处理过滤值 + User user = 15; // 用户信息 + Room room = 16; // 房间信息 + int64 anchor_fold_type_v2 = 17; // 主播折叠类型 V2 + int64 process_at_sei_time_ms = 18; // SEI 时间处理 + int64 random_dispatch_ms = 19; // 随机分发时间 + bool is_dispatch = 20; // 是否分发 + int64 channel_id = 21; // 频道 ID + int64 diff_sei2abs_second = 22; // SEI 到绝对时间差 + int64 anchor_fold_duration = 23; // 主播折叠持续时间 + int64 app_id = 24; // 应用 ID +} +// RegionRestriction 消息定义 +message RegionRestriction { + int64 type = 1; // 类型 + repeated string white_list = 2; // 白名单 + repeated string black_list = 3; // 黑名单 +} + +// RegionMatch 消息定义 +message RegionMatch { + int64 type = 1; // 类型 + repeated string allow_list = 2; // 允许列表 + repeated string deny_list = 3; // 拒绝列表 +} + +// StreamUrl 消息定义 +message StreamUrl { + int64 provider = 1; // 提供者 + int64 id = 2; // ID + string id_str = 3; // ID 字符串 + map resolution_name = 4; // 分辨率名称映射 + string default_resolution = 5; // 默认分辨率 + StreamUrlExtra extra = 6; // 额外信息 + string rtmp_push_url = 7; // RTMP 推流 URL + string rtmp_pull_url = 8; // RTMP 拉流 URL + map flv_pull_url = 9; // FLV 拉流 URL 映射 + repeated string candidate_resolution = 10; // 候选分辨率 + string hls_pull_url = 11; // HLS 拉流 URL + string hls_pull_url_params = 12; // HLS 拉流 URL 参数 + string rtmp_pull_url_params = 13; // RTMP 拉流 URL 参数 + map flv_pull_url_params = 14; // FLV 拉流 URL 参数映射 + string rtmp_push_url_params = 15; // RTMP 推流 URL 参数 + repeated string push_urls = 16; // 推流 URL 列表 + LiveCoreSDKData live_core_sdk_data = 17; // LiveCore SDK 数据 + map hls_pull_url_map = 18; // HLS 拉流 URL 映射 + repeated string complete_push_urls = 19; // 完整推流 URL 列表 + int32 stream_control_type = 20; // 流控制类型 + int32 stream_orientation = 21; // 流方向 + int32 push_stream_type = 22; // 推流类型 + map pull_datas = 23; // 拉流数据映射 + PlaySetting play = 24; // 播放设置 + map push_datas = 25; // 推流数据映射 + int32 vr_type = 26; // VR 类型 + OpenStreamUrlEncrypt open_stream_url_encrypt = 5000; // 打开流 URL 加密 +} + +// StreamUrlExtra 消息定义 +message StreamUrlExtra { + int64 height = 1; // 高度 + int64 width = 2; // 宽度 + int64 fps = 3; // 帧率 + int64 max_bitrate = 4; // 最大比特率 + int64 min_bitrate = 5; // 最小比特率 + int64 default_bitrate = 6; // 默认比特率 + int64 bitrate_adapt_strategy = 7; // 比特率适应策略 + int64 anchor_interact_profile = 8; // 主播互动配置 + int64 audience_interact_profile = 9; // 观众互动配置 + bool hardware_encode = 10; // 硬件编码 + int64 video_profile = 12; // 视频配置 + SuperResolution super_resolution = 14; // 超分辨率 + bool h265_enable = 15; // 是否启用 H265 + int64 gop_sec = 16; // GOP 秒数 + bool bframe_enable = 17; // 是否启用 B 帧 + bool roi = 18; // ROI + bool sw_roi = 19; // 软件 ROI + bool bytevc1_enable = 20; // 是否启用 ByteVC1 + AnchorClientInfo anchor_client_info = 21; // 主播客户端信息 + AdaptionInfo adaption_info = 22; // 适应信息 + + // SuperResolution 消息定义 + message SuperResolution { + bool enable = 1; // 是否启用 + int64 strength = 2; // 强度 + bool antialiasing = 3; // 是否启用抗锯齿 + } + + // AnchorClientInfo 消息定义 + message AnchorClientInfo { + string custom_info = 1; // 自定义信息 + } + + // AdaptionInfo 消息定义 + message AdaptionInfo { + int32 vertical_resize_mode = 1; // 垂直调整模式 + } +} + +// LiveCoreSDKData 消息定义 +message LiveCoreSDKData { + PullData pull_data = 1; // 拉流数据 + PushData push_data = 2; // 推流数据 + string size = 3; // 尺寸信息 + + // PullData 消息定义 + message PullData { + string stream_data = 1; // 流数据 + Options options = 2; // 选项 + int64 version = 3; // 版本 + map hls_data_unencrypted = 4; // 未加密的 HLS 数据 + int32 kind = 5; // 类型 + Extension extension = 6; // 扩展信息 + repeated PlayInfo Hls = 7; // HLS 播放信息 + repeated PlayInfo Flv = 8; // FLV 播放信息 + string codec = 9; // 编解码器 + Display display = 10; // 显示信息 + string compensatory_data = 11; // 补偿数据 + + // Options 消息定义 + message Options { + Quality default_quality = 1; // 默认质量 + repeated Quality qualities = 2; // 质量列表 + bool vpass_default = 3; // 默认 VPass + + // Quality 消息定义 + message Quality { + string name = 1; // 名称 + string sdk_key = 2; // SDK 键 + string v_codec = 3; // 视频编解码器 + string resolution = 4; // 分辨率 + int32 level = 5; // 级别 + int32 v_bit_rate = 6; // 视频比特率 + string additional_content = 7; // 附加内容 + int32 fps = 8; // 帧率 + int32 disable = 9; // 禁用标志 + } + } + + // Clip 消息定义 + message Clip { + float x = 1; // X 坐标 + float y = 2; // Y 坐标 + float w = 3; // 宽度 + float h = 4; // 高度 + } + + // CameraHorizontalPosition 消息定义 + message CameraHorizontalPosition { + int32 anchor = 1; // 锚点 + float x = 2; // X 坐标 + float y = 3; // Y 坐标 + float w = 4; // 宽度 + float h = 5; // 高度 + } + + // Extension 消息定义 + message Extension { + Clip game_clip = 1; // 游戏剪辑 + Clip camera_clip = 2; // 摄像头剪辑 + int32 camera_hidden = 3; // 摄像头隐藏 + string ts = 4; // 时间戳 + int64 refresh = 5; // 刷新 + int32 display_mode = 6; // 显示模式 + int32 game_hidden = 7; // 游戏隐藏 + string game_room_id = 8; // 游戏房间 ID + int32 layout = 9; // 布局 + Clip camera_clip_custom = 10; // 自定义摄像头剪辑 + int32 camera_vertical_type = 11; // 摄像头垂直类型 + CameraHorizontalPosition camera_horizontal_position = 12; // 摄像头水平位置 + int32 camera_horizontal_hidden = 13; // 摄像头水平隐藏 + int32 camera_horizontal_type = 14; // 摄像头水平类型 + } + + // PlayInfo 消息定义 + message PlayInfo { + string url = 1; // URL + string quality_name = 2; // 质量名称 + string params = 3; // 参数 + } + + // Display 消息定义 + message Display { + int64 scale_width = 1; // 缩放宽度 + int64 scale_height = 2; // 缩放高度 + } + } + + // PushData 消息定义 + message PushData { + map resolution_params = 1; // 分辨率参数映射 + int32 push_stream_level = 2; // 推流级别 + bool pre_schedule = 3; // 预调度 + string rtmp_push_url = 4; // RTMP 推流 URL + string push_params = 5; // 推流参数 + int32 kind = 6; // 类型 + int64 stream_id = 7; // 流 ID + string stream_id_str = 8; // 流 ID 字符串 + + // ResolutionParams 消息定义 + message ResolutionParams { + int64 width = 1; // 宽度 + int64 height = 2; // 高度 + int64 default_bitrate = 3; // 默认比特率 + int64 min_bitrate = 4; // 最小比特率 + int64 max_bitrate = 5; // 最大比特率 + int64 fps = 6; // 帧率 + } + } +} + +// PlaySetting 消息定义 +message PlaySetting { + string horizontal = 1; // 水平设置 + string vertical = 2; // 垂直设置 +} + +// OpenStreamUrlEncrypt 消息定义 +message OpenStreamUrlEncrypt { + string rtmp_pull_url = 1; // RTMP 拉流 URL + string hls_pull_url = 2; // HLS 拉流 URL + map flv_pull_url = 3; // FLV 拉流 URL 映射 + string stream_data = 4; // 流数据 + repeated LiveCoreSDKData.PullData.PlayInfo Hls = 5; // HLS 播放信息 + repeated LiveCoreSDKData.PullData.PlayInfo Flv = 6; // FLV 播放信息 + map hls_pull_url_map = 7; // HLS 拉流 URL 映射 + map pull_datas = 8; // 拉流数据映射 +} +// SafeReason 消息定义 +message SafeReason { + int32 safe_type = 1; // 安全类型 +} +// Quality 消息定义 +message Quality { + string name = 1; // 名称 + string sdk_key = 2; // SDK 键 + string v_codec = 3; // 视频编解码器 + string resolution = 4; // 分辨率 + int32 level = 5; // 级别 + int32 v_bit_rate = 6; // 视频比特率 + string additional_content = 7; // 附加内容 + int32 fps = 8; // 帧率 + int32 disable = 9; // 禁用标志 +} +// RoomExtra 消息定义 +message RoomExtra { + bool is_sandbox = 1; // 是否为沙盒环境 + RegionRestriction enter_region_restriction = 2; // 进入区域限制 + RegionMatch enter_region_match = 3; // 进入区域匹配 + SafeReason filter_with_no_context = 4; // 无上下文过滤 + int64 xigua_uid = 5; // 西瓜 UID + int64 limit_strategy = 6; // 限制策略 + string limit_appid = 7; // 限制应用 ID + int32 geo_block = 8; // 地理封锁 + int32 vr_type = 9; // VR 类型 + bool is_virtual_anchor = 10; // 是否为虚拟主播 + string create_scene = 11; // 创建场景 + bool realtime_replay_enabled = 12; // 实时重播启用 + int64 realtime_playback_shift = 13; // 实时播放偏移 + int64 realtime_playback_start_shift = 14; // 实时播放开始偏移 + repeated Quality realtime_playback_qualities = 15; // 实时播放质量 + int32 facial_unrecognised = 16; // 面部未识别 +} +// RoomAuthStatus 消息定义 +message RoomAuthStatus { + bool Chat = 1; // 聊天权限 + bool Danmaku = 2; // 弹幕权限 + bool Gift = 3; // 礼物权限 + bool LuckMoney = 4; // 红包权限 + bool Digg = 5; // 点赞权限 + bool RoomContributor = 7; // 房间贡献者权限 + bool Props = 8; // 道具权限 + bool UserCard = 9; // 用户卡片权限 + bool POI = 10; // POI 权限 + int64 MoreAnchor = 11; // 更多主播权限 + int64 Banner = 12; // 横幅权限 + int64 Share = 13; // 分享权限 + int64 UserCorner = 14; // 用户角标权限 + int64 Landscape = 15; // 横屏权限 + int64 LandscapeChat = 16; // 横屏聊天权限 + int64 PublicScreen = 17; // 公共屏幕权限 + int64 GiftAnchorMt = 18; // 礼物主播 MT 权限 + int64 RecordScreen = 19; // 屏幕录制权限 + int64 DonationSticker = 20; // 捐赠贴纸权限 + int64 HourRank = 21; // 小时排名权限 + int64 CommerceCard = 22; // 商业卡片权限 + int64 AudioChat = 23; // 音频聊天权限 + int64 DanmakuDefault = 24; // 默认弹幕权限 + int64 KtvOrderSong = 25; // KTV 点歌权限 + int64 SelectionAlbum = 26; // 选择专辑权限 + int64 Like = 27; // 喜欢权限 + int64 MultiplierPlayback = 28; // 倍速播放权限 + int64 DownloadVideo = 29; // 下载视频权限 + int64 Collect = 30; // 收藏权限 + int64 TimedShutdown = 31; // 定时关机权限 + int64 Seek = 32; // 搜索权限 + int64 Denounce = 33; // 举报权限 + int64 Dislike = 34; // 不喜欢权限 + int64 OnlyTa = 35; // 仅 TA 权限 + int64 CastScreen = 36; // 投屏权限 + int64 CommentWall = 37; // 评论墙权限 + int64 BulletStyle = 38; // 弹幕样式权限 + int64 ShowGamePlugin = 39; // 显示游戏插件权限 + int64 VSGift = 40; // VS 礼物权限 + int64 VSTopic = 41; // VS 话题权限 + int64 VSRank = 42; // VS 排名权限 + int64 AdminCommentWall = 43; // 管理员评论墙权限 + int64 CommerceComponent = 44; // 商业组件权限 + int64 DouPlus = 45; // Dou+ 权限 + int64 GamePointsPlaying = 46; // 游戏点数播放权限 + int64 Poster = 47; // 海报权限 + int64 Highlights = 48; // 高光权限 + int64 TypingCommentState = 49; // 打字评论状态权限 + int64 StrokeUpDownGuide = 50; // 上下滑动引导权限 + int64 UpRightStatsFloatingLayer = 51; // 右上角统计浮层权限 + int64 CastScreenExplicit = 52; // 明确投屏权限 + int64 Selection = 53; // 选择权限 + int64 IndustryService = 54; // 行业服务权限 + int64 VerticalRank = 55; // 垂直排名权限 + int64 EnterEffects = 56; // 进入效果权限 + int64 FansClub = 57; // 粉丝俱乐部权限 + int64 EmojiOutside = 58; // 外部表情权限 + int64 CanSellTicket = 59; // 可售票权限 + int64 DouPlusPopularityGem = 60; // Dou+ 人气宝石权限 + int64 MissionCenter = 61; // 任务中心权限 + int64 ExpandScreen = 62; // 扩展屏幕权限 + int64 FansGroup = 63; // 粉丝群权限 + int64 Topic = 64; // 话题权限 + int64 AnchorMission = 65; // 主播任务权限 + int64 Teleprompter = 66; // 提词器权限 + int64 ChatDynamicSlideSpeed = 67; // 聊天动态滑动速度权限 + int64 SmallWindowDisplay = 68; // 小窗口显示权限 + int64 MessageDispatch = 69; // 消息调度权限 + int64 RoomChannel = 70; // 房间频道权限 + int64 ChatDispatch = 71; // 聊天调度权限 + int64 LinkmicGuestLike = 72; // 连麦嘉宾喜欢权限 + int64 MediaLinkmic = 73; // 媒体连麦权限 + int64 VideoShare = 74; // 视频分享权限 + int64 ChatGuideEmoji = 75; // 聊天引导表情权限 + int64 ChatGuideImage = 76; // 聊天引导图片权限 + int64 PCPlay = 77; // PC 播放权限 + int64 PadPlay = 78; // 平板播放权限 + int64 LongTouch = 79; // 长按权限 + int64 FirstFeedHistChat = 80; // 首次反馈历史聊天权限 + int64 MoreHistChat = 81; // 更多历史聊天权限 + int64 WordAssociation = 82; // 词联想权限 + int64 LandscapeScreenCapture = 83; // 横屏截图权限 + int64 LandscapeScreenRecording = 84; // 横屏录屏权限 + int64 ScreenProjectionBarrage = 85; // 屏幕投影弹幕权限 + int64 SmallWindowPlayer = 86; // 小窗口播放器权限 + int64 ChatOperate = 87; // 聊天操作权限 + int64 EcomFansClub = 88; // 电商粉丝俱乐部权限 + int64 AudioChatTotext = 89; // 音频聊天转文本权限 + int64 CommonCard = 90; // 通用卡片权限 + int64 ShortTouch = 91; // 短按权限 + int64 HostTeamChannel = 92; // 主队频道权限 + int64 LandscapeChatDynamicSlideSpeed = 93; // 横屏聊天动态滑动速度权限 + int64 HostTeam = 94; // 主队权限 + int64 AnchorHotMessageAggregated = 95; // 主播热消息聚合权限 + int64 AnchorColdMessageTiled = 96; // 主播冷消息平铺权限 + int64 ScreenBottomInfo = 97; // 屏幕底部信息权限 + int64 PreviewHotCommentSwitch = 98; // 预览热评论开关权限 + int64 RoomWidget = 99; // 房间小部件权限 + RoomAuthOffReasons OffReason = 100; // 权限关闭原因 + RoomAuthSpecialStyle SpecialStyle = 101; // 特殊样式权限 + int64 PanelECService = 102; // 面板电商服务权限 + int64 FixedChat = 103; // 固定聊天权限 + int64 LandscapeGift = 104; // 横屏礼物权限 + int64 HotChatTray = 105; // 热聊托盘权限 + int64 ItemShare = 106; // 项目分享权限 + int64 ShortTouchTempState = 107; // 短按临时状态权限 + int64 StickyMessage = 108; // 粘性消息权限 + int64 ProjectionBtn = 109; // 投影按钮权限 + int64 ChatDynamicSlideSpeedAnchor = 110; // 聊天动态滑动速度(主播)权限 + int64 PosterCache = 111; // 海报缓存权限 + int64 MediaHistoryMessage = 112; // 媒体历史消息权限 + int64 ToolbarBubble = 113; // 工具栏气泡权限 + int64 ImHeatValue = 114; // IM 热度值权限 + int64 InteractiveComponent = 115; // 互动组件权限 + int64 ChatReply = 116; // 聊天回复权限 + int64 ChatMention = 117; // 聊天提及权限 + int64 FrequentlyChat = 118; // 频繁聊天权限 + int64 StreamAdaptation = 119; // 流适配权限 + int64 VideoAmplificationType = 120; // 视频放大类型权限 + int64 FeaturedPublicScreen = 121; // 特色公共屏幕权限 + int64 LandscapeScreenShare = 122; // 横屏分享权限 + int64 VerticalScreenShare = 123; // 竖屏分享权限 + int64 AnchorAudioChat = 124; // 主播音频聊天权限 + int64 PreviewChatExpose = 125; // 预览聊天曝光权限 + int64 FusionEmoji = 126; // 融合表情权限 + int64 MyLiveEntrance = 127; // 我的直播入口权限 + int64 ChatIdentity = 128; // 聊天身份权限 + int64 MarkUser = 129; // 标记用户权限 + int64 LongPressOption = 130; // 长按选项权限 + int64 ClearEntranceOption = 131; // 清除入口选项权限 + int64 PlayerRankList = 132; // 播放者排名列表权限 + int64 AIClone = 133; // AI 克隆权限 + int64 GiftVote = 134; // 礼物投票权限 + int64 TextGift = 135; // 文本礼物权限 + int64 FansClubLetter = 136; // 粉丝俱乐部信件权限 + int64 FansClubBlessing = 137; // 粉丝俱乐部祝福权限 + int64 FansClubNotice = 138; // 粉丝俱乐部通知权限 + int64 FansClubDeclaration = 139; // 粉丝俱乐部声明权限 + int64 MessageGift = 140; // 消息礼物权限 + int64 EnhancedTouch = 141; // 增强触摸权限 + int64 ChatMentionV2 = 142; // 聊天提及 V2 权限 + int64 VsCommentBar = 200; // VS 评论栏权限 + int64 VsWelcomeDanmaku = 201; // VS 欢迎弹幕权限 + int64 VsFansClub = 202; // VS 粉丝俱乐部权限 + int64 VsExtensionEnableFollow = 203; // VS 扩展启用关注权限 + int64 VsDouPlus = 204; // VS Dou+ 权限 + int64 QuizGamePointsPlaying = 205; // 测验游戏点数播放权限 + int64 UgcVSReplayDelete = 206; // UGC VS 回放删除权限 + int64 UgcVsReplayVisibility = 207; // UGC VS 回放可见性权限 + int64 InteractionGift = 208; // 互动礼物权限 + int64 SubscribeCardPackage = 209; // 订阅卡包权限 + int64 ShowQualification = 210; // 显示资格权限 + int64 UseHostInfo = 301; // 使用主机信息权限 + int64 CountType = 5000; // 计数类型权限 + + // RoomAuthOffReasons 消息定义 + message RoomAuthOffReasons { + string gift = 1; // 礼物关闭原因 + } + + // RoomAuthSpecialStyle 消息定义 +message RoomAuthSpecialStyle { + Style Chat = 1; // 聊天特殊样式 + Style Gift = 2; // 礼物特殊样式 + Style RoomContributor = 3; // 房间贡献者特殊样式 + Style Like = 4; // 点赞特殊样式 + Style RoomChannel = 5; // 房间频道特殊样式 + Style Share = 6; // 分享特殊样式 + Style CastScreenAuth = 7; // 投屏授权特殊样式 + Style Landscape = 8; // 横屏特殊样式 + + // Style 消息定义 + message Style { + int32 UnableStyle = 1; // 无法使用的样式 + string Content = 2; // 内容 + int32 OffType = 3; // 关闭类型 + int32 AnchorSwitch = 4; // 主播开关 + string SwitchStatusTipMsg = 5; // 开关状态提示消息 + string SwitchStatusAnchorTipMsg = 6; // 主播开关状态提示消息 + int32 AnchorSwitchForPaidLive = 7; // 付费直播的主播开关 + string ContentForPaidLive = 8; // 付费直播的内容 + } +} +} +// RoomTab 消息定义 +message RoomTab { + int32 tab_type = 1; // 标签类型 + string tab_name = 2; // 标签名称 + string tab_url = 3; // 标签 URL +} + +// RoomActivityTag 消息定义 +message RoomActivityTag { + int32 activity_type = 1; // 活动类型 + string name = 2; // 活动名称 + string url = 3; // 活动链接 + string extra = 4; // 额外信息 + Image icon = 5; // 活动图标 +} +// MatchInfo 消息定义 +message MatchInfo { + MatchSkinInfo skin = 1; // 比赛皮肤信息 +} + +// MatchSkinInfo 消息定义 +message MatchSkinInfo { + FollowBtnSkin unfollow_skin = 1; // 未关注按钮皮肤 + FollowBtnSkin followed_skin = 2; // 已关注按钮皮肤 + string tab_selected_color = 3; // 选中标签颜色 + string tab_unselected_color = 4; // 未选中标签颜色 + string comment_place_holder_color = 5; // 评论占位符颜色 + string anchor_name_color = 6; // 主播名称颜色 + string anchor_info_color = 7; // 主播信息颜色 + Image user_banner_image = 8; // 用户横幅图像 + Image tool_bar_image = 9; // 工具栏图像 + string comment_place_holder_bg_color = 10; // 评论占位符背景颜色 + Image share_icon = 11; // 分享图标 + + // FollowBtnSkin 消息定义 + message FollowBtnSkin { + string left_color = 1; // 左侧颜色 + string right_color = 2; // 右侧颜色 + string font_color = 3; // 字体颜色 + } + + +} +// OfficialRoomInfo 消息定义 +message OfficialRoomInfo { + bool is_show_more_anchor = 1; // 是否显示更多主播 + bool is_use_server_subtitle = 2; // 是否使用服务器字幕 + string server_subtitle = 3; // 服务器字幕内容 +} +// RoomShortTouchAreaConfig 消息定义 +message RoomShortTouchAreaConfig { + map elements = 1; // 短触区域元素映射 + map forbidden_types_map = 3; // 禁用类型映射 + map temp_state_condition_map = 4; // 临时状态条件映射 + map temp_state_strategy = 5; // 临时状态策略映射 + repeated string strategy_feat_whitelist = 6; // 策略功能白名单 + TempStateGlobalCondition temp_state_global_condition = 7; // 全局临时状态条件 + + // Element 消息定义 + message Element { + int32 type = 1; // 元素类型 + int32 priority = 2; // 优先级 + } + + // ForbiddenType 消息定义 + message ForbiddenType { + int32 type = 1; // 禁用类型 + string reason = 2; // 禁用原因 + } + + // TempStateType 消息定义 + message TempStateType { + int32 strategy_type = 1; // 策略类型 + int32 priority = 2; // 优先级 + } + + // TempStateCondition 消息定义 + message TempStateCondition { + TempStateType type = 1; // 临时状态类型 + int32 minimum_gap = 2; // 最小间隔时间 + } + + // TempStateStrategy 消息定义 + message TempStateStrategy { + int32 short_touch_type = 1; // 短触类型 + map strategy_map = 2; // 策略信息映射 + + // TempStateStrategyInfo 消息定义 + message TempStateStrategyInfo { + TempStateType type = 1; // 策略类型 + int32 duration = 2; // 策略持续时间 + string strategy_method = 3; // 策略方法 + } + } + + // TempStateGlobalCondition 消息定义 + message TempStateGlobalCondition { + int32 duration_gap = 1; // 全局持续时间间隔 + int32 allow_count = 2; // 允许次数 + repeated int32 ignore_strategy_types = 3; // 忽略的策略类型列表 + } +} +// GameExtra 消息定义 +message GameExtra { + int32 kind = 1; // 游戏类型 + int32 status = 2; // 游戏状态 + int64 game_id = 3; // 游戏 ID + int32 gift_limit = 4; // 礼物限制 + int64 round_id = 5; // 回合 ID + int32 game_kind = 6; // 游戏种类 + int64 chat = 7; // 聊天 ID + int64 loader = 8; // 加载器 ID + int64 reload = 9; // 重载 ID + map data = 10; // 附加数据 +} +// OfficialChannelInfo 消息定义 +message OfficialChannelInfo { + User channel_user = 1; // 频道用户信息 + string channel_name = 2; // 频道名称 + string channel_intro = 3; // 频道简介 + int64 end_timestamp = 4; // 结束时间戳 + int64 forbidden_before_end = 5; // 禁止进入时间 + int32 current_show_id = 6; // 当前显示 ID + int64 max_enter_time = 7; // 最大进入时间 + int64 max_next_time = 8; // 最大下一次进入时间 + map delay_enter_time = 9; // 延迟进入时间 + bool host_permission = 10; // 主持人权限 + int64 backup_room_id = 11; // 备用房间 ID + User living_user = 12; // 直播用户信息 + bool host_can_accept_gift = 13; // 主持人是否能接受礼物 + repeated int64 host_uids = 14; // 主持人 UID 列表 + string backup_room_id_str = 15; // 备用房间字符串 ID + bool enable_host = 16; // 是否启用主持人 + repeated string host_open_ids = 5000; // 主持人 OpenID 列表 +} +// RoomCart 消息定义 +message RoomCart { + bool contain_cart = 1; // 是否包含购物车 + int64 total = 2; // 总商品数量 + int64 flash_total = 3; // 限时商品总数 + string cart_icon = 4; // 购物车图标 + int32 show_cart = 5; // 是否显示购物车 (0/1) + CartVertical vertical = 6; // 垂直购物车配置 + CartHorizontal horizontal = 7; // 水平购物车配置 + GlobalCustomIcons global_custom_icons = 8; // 全局自定义图标 + + // CartVertical 消息定义 + message CartVertical { + bool allow_show_cart = 1; // 是否允许显示垂直购物车 + } + + // CartHorizontal 消息定义 + message CartHorizontal { + bool allow_show_cart = 1; // 是否允许显示水平购物车 + } + + // GlobalCustomIcons 消息定义 + message GlobalCustomIcons { + string static_icon_url = 1; // 静态图标 URL + string animated_icon_url = 2; // 动态图标 URL + string animated_common_icon_url = 3; // 通用动态图标 URL + } +} +// LinkerUsers 消息定义 +message LinkerUsers { + int64 count = 1; // 用户总数 + repeated User users_info = 2; // 用户信息列表 +} +// BorderInfo 消息定义 +message BorderInfo { + int64 border_type = 1; // 边框类型 + StaticBorderInfo static_border = 2; // 静态边框信息 + DynamicBorderInfo dynamic_border = 3; // 动态边框信息 + int64 duration = 4; // 持续时间(毫秒) + + // StaticBorderInfo 嵌套消息定义 + message StaticBorderInfo { + string color = 1; // 静态边框颜色 + int32 thickness = 2; // 边框厚度 + } + + // DynamicBorderInfo 嵌套消息定义 + message DynamicBorderInfo { + string animation_url = 1; // 动态边框动画 URL + int32 frame_rate = 2; // 动画帧率 + } +} +// Room 消息定义 +message Room { + int64 id = 1; // 房间 ID + string id_str = 2; // 房间 ID 字符串 + int64 status = 3; // 状态 + int64 owner_user_id = 4; // 所有者用户 ID + string title = 5; // 标题 + int64 user_count = 6; // 用户数量 + int64 create_time = 7; // 创建时间 + int64 linkmic_layout = 8; // 连麦布局 + int64 finish_time = 9; // 结束时间 + RoomExtra extra = 10; // 额外信息 + string dynamic_cover_uri = 11; // 动态封面 URI + map dynamic_cover_dict = 12; // 动态封面字典 + int64 last_ping_time = 13; // 最后 ping 时间 + int64 live_id = 14; // 直播 ID + int64 stream_provider = 15; // 流提供者 + int64 os_type = 16; // 操作系统类型 + int64 client_version = 17; // 客户端版本 + bool with_linkmic = 18; // 是否连麦 + bool enable_room_perspective = 19; // 启用房间视角 + Image cover = 20; // 封面 + Image dynamic_cover = 21; // 动态封面 + Image dynamic_cover_low = 22; // 低分辨率动态封面 + string share_url = 23; // 分享 URL + string anchor_share_text = 24; // 主播分享文本 + string user_share_text = 25; // 用户分享文本 + int64 stream_id = 26; // 流 ID + string stream_id_str = 27; // 流 ID 字符串 + StreamUrl stream_url = 28; // 流 URL + int64 mosaic_status = 29; // 拼接状态 + string mosaic_tip = 30; // 拼接提示 + int64 cell_style = 31; // 单元格样式 + LinkMic link_mic = 32; // 连麦信息 + int64 luckymoney_num = 33; // 红包数量 + repeated Decoration deco_list = 34; // 装饰列表 + repeated TopFan top_fans = 35; // 顶级粉丝 + RoomStats stats = 36; // 房间统计 + string sun_daily_icon_content = 37; // 每日图标内容 + string distance = 38; // 距离 + string distance_city = 39; // 距离城市 + string location = 40; // 位置 + string real_distance = 41; // 实际距离 + Image feed_room_label = 42; // 房间标签 + string common_label_list = 43; // 通用标签列表 + RoomUserAttr living_room_attrs = 44; // 房间属性 + repeated int64 admin_user_ids = 45; // 管理员用户 ID 列表 + User owner = 46; // 所有者 + string private_info = 47; // 私人信息 + bool has_commerce_goods = 48; // 是否有商业商品 + bool live_type_normal = 49; // 普通直播类型 + bool live_type_linkmic = 50; // 连麦直播类型 + bool live_type_audio = 51; // 音频直播类型 + bool live_type_third_party = 52; // 第三方直播类型 + bool live_type_screenshot = 53; // 截图直播类型 + bool live_type_sandbox = 54; // 沙盒直播类型 + bool live_type_official = 55; // 官方直播类型 + int64 group_id = 59; // 组 ID + int64 orientation = 60; // 方向 + int64 category = 61; // 类别 + repeated int64 tags = 62; // 标签 + int64 start_time = 63; // 开始时间 + int64 popularity = 64; // 人气 + string popularity_str = 65; // 人气字符串 + int64 fcdn_appid = 66; // FCDN 应用 ID + bool sell_goods = 68; // 是否卖商品 + int64 web_count = 69; // 网页计数 + string vertical_cover_uri = 70; // 垂直封面 URI + int64 base_category = 71; // 基础类别 + RoomAuthStatus room_auth = 72; // 房间认证状态 + repeated RoomTab room_tabs = 73; // 房间标签 + string introduction = 74; // 介绍 + BurstInfo burst = 75; // 爆发信息 + RoomHealthScoreInfo health_score = 76; // 健康分数信息 + bool is_replay = 77; // 是否重播 + string vid = 78; // 视频 ID + int64 group_source = 79; // 组来源 + int64 lottery_finish_time = 80; // 抽奖结束时间 + RoomActivityTag activity_tag = 81; // 活动标签 + Image portrait_cover = 82; // 头像封面 + Image background = 83; // 背景 + int64 layout = 84; // 布局 + string wait_copy = 85; // 等待复制 + Image guide_button = 86; // 引导按钮 + string preview_copy = 87; // 预览复制 + bool is_show_inquiry_ball = 88; // 是否显示询问球 + MatchInfo match_info = 89; // 比赛信息 + bool use_filter = 90; // 使用过滤器 + int64 gift_msg_style = 91; // 礼物消息样式 + string distance_km = 92; // 距离(公里) + string finish_url = 93; // 完成 URL + OfficialRoomInfo official_room_info = 94; // 官方房间信息 + bool is_show_user_card_switch = 95; // 是否显示用户卡开关 + string video_feed_tag = 96; // 视频标签 + string forum_extra_data = 97; // 论坛额外数据 + int64 fansclub_msg_style = 98; // 粉丝俱乐部消息样式 + int64 follow_msg_style = 99; // 关注消息样式 + int64 share_msg_style = 100; // 分享消息样式 + int64 room_layout = 101; // 房间布局 + string short_title = 102; // 短标题 + RoomShortTouchAreaConfig short_touch_area_config = 103; // 短触摸区域配置 + int64 book_time = 104; // 预定时间 + int64 book_end_time = 105; // 预定结束时间 + int64 room_audit_status = 106; // 房间审核状态 + repeated int64 live_distribution = 107; // 直播分布 + TVStation tv = 108; // 电视台 + bool replay = 109; // 重播 + string challenge_info = 110; // 挑战信息 + int64 like_count = 111; // 点赞数量 + int64 search_id = 112; // 搜索 ID + string anchor_scheduled_time_text = 113; // 主播预定时间文本 + string hot_sentence_info = 114; // 热门句子信息 + int64 replay_location = 115; // 重播位置 + int64 stream_close_time = 116; // 流关闭时间 + string content_tag = 117; // 内容标签 + Image content_label = 118; // 内容标签 + Image operation_label = 119; // 操作标签 + int32 anchor_tab_type = 120; // 主播标签类型 + GameExtra game_extra = 121; // 游戏额外信息 + OfficialChannelInfo official_channel = 122; // 官方频道信息 + string stamps = 123; // 邮票 + CommentBox comment_box = 124; // 评论框 + int32 business_live = 125; // 商业直播 + bool with_ktv = 126; // 带 KTV + bool with_draw_something = 127; // 带画画 + int64 webcast_comment_tcs = 128; // 网络评论 TCS + int64 room_tag = 129; // 房间标签 + map linker_map = 130; // 链接器映射 + int32 finish_reason = 131; // 完成原因 + RoomCart room_cart = 132; // 房间购物车 + string scroll_config = 133; // 滚动配置 + string relation_tag = 134; // 关系标签 + int64 owner_device_id = 135; // 所有者设备 ID + int64 auto_cover = 136; // 自动封面 + int64 app_id = 137; // 应用 ID + int64 webcast_sdk_version = 138; // SDK 版本 + int64 comment_name_mode = 139; // 评论名称模式 + string room_create_ab_param = 140; // 房间创建 AB 参数 + int64 pre_enter_time = 141; // 预进入时间 + int64 ranklist_audience_type = 142; // 排行榜观众类型 + int64 preview_flow_tag = 143; // 预览流标签 + Image preview_tag_url = 144; // 预览标签 URL + QuizExtra quiz_extra = 145; // 测验额外信息 + map AnchorABMap = 146; // 主播 AB 映射 + LinkerUsers linker_users = 147; // 链接器用户 + int64 linkmic_display_type = 148; // 连麦显示类型 + AudioBGData AudioRoomBGImage = 149; // 音频房间背景图像 + LinkerUsers city_top_linker_users = 150; // 城市顶级链接器用户 + BorderInfo border_info = 151; // 边界信息 + Image city_top_background = 152; // 城市顶级背景 + string city_top_distance = 153; // 城市顶级距离 + int64 live_room_mode = 154; // 直播房间模式 + Bonus bonus = 155; // 奖金 + bool highlight = 156; // 高亮 + bool is_official_channel_room = 157; // 是否官方频道房间 + ActivityRoomSkinInfo activity_room_skin_info = 158; // 活动房间皮肤信息 + repeated int64 fans_group_admin_user_ids = 159; // 粉丝组管理员用户 ID + RoomReplayInfo replay_info = 160; // 重播信息 + int64 official_channel_uid = 161; // 官方频道 UID + string live_platform_source = 162; // 直播平台来源 + int64 acquaintance_status = 163; // 熟人状态 + CommentWallInfo comment_wall_info = 164; // 评论墙信息 + CommentWallPosition comment_wall_position = 165; // 评论墙位置 + bool live_type_vs_live = 166; // VS 直播类型 + bool live_type_vs_premiere = 167; // VS 首映类型 + EpisodeExtraInfo episode_extra = 168; // 剧集额外信息 + repeated int32 vs_roles = 169; // VS 角色 + string item_explicit_info = 170; // 项目显式信息 + ShortTouchAuth short_touch_auth = 171; // 短触摸认证 + int64 sofa_layout = 172; // 沙发布局 + AnnouncementInfo announcement_info = 173; // 公告信息 + bool is_need_check_list = 174; // 是否需要检查列表 + LiveStatusInfo live_status_info = 175; // 直播状态信息 + RoomIMInfo im_info = 176; // 房间 IM 信息 + LabelInfo assist_label = 177; // 辅助标签 + InteractOpenExtra interact_open_extra = 178; // 互动开放额外信息 + VerticalTypeInfo vertical_type_info = 179; // 垂直类型信息 + repeated FilterWord filter_words = 180; // 过滤词 + LabelInfo dynamic_label = 181; // 动态标签 + LinkerDetail linker_detail = 182; // 链接器详细信息 + int32 visibility_range = 183; // 可见范围 + CornerMarkReach corner_mark_reach = 184; // 角标到达 + PreviewExposeData preview_expose = 185; // 预览曝光数据 + WelfareProjectInfo welfare_project_info = 186; // 福利项目信息 + int32 game_room_type = 187; // 游戏房间类型 + PaidLiveData paid_live_data = 188; // 付费直播数据 + EasterEggData easter_egg_data = 189; // 彩蛋数据 + bool title_recommend = 190; // 标题推荐 + int64 danmaku_detail = 191; // 弹幕详细信息 + AvatarLiveInfo avatar_live_info = 192; // 头像直播信息 + CircleInfo circle_info = 193; // 圈子信息 + int64 has_promotion_games = 194; // 是否有推广游戏 + Image screenshot_sover = 195; // 截图覆盖 + Appearance appearance = 196; // 外观 + EcomData ecom_data = 197; // 电子商务数据 + IndustryServiceInfo industry_service_info = 198; // 行业服务信息 + RelevantRecommendation relevant_recommendation = 199; // 相关推荐 + RoomSpecificSceneTypeInfo scene_type_info = 200; // 场景类型信息 + GameCPData game_cp = 201; // 游戏 CP 数据 + GamePlayData game_play = 202; // 游戏玩法数据 + UnionLiveInfo union_live_info = 203; // 联合直播信息 + BeautifyInfo beautify_info = 204; // 美化信息 + ToolBarData toolbar_data = 205; // 工具栏数据 + AnchorTabLabel anchor_tab_label = 206; // 主播标签 + LifeGrouponInfo life_groupon_info = 207; // 生活团购信息 + VipData vip_data = 208; // VIP 数据 + int64 toutiao_cover_recommend_level = 209; // 头条封面推荐级别 + int64 toutiao_title_recommend_level = 210; // 头条标题推荐级别 + repeated UpperRightWidgetData upper_right_widget_data_list = 211; // 右上角小部件数据列表 + FeedbackCard live_feedback_card = 212; // 直播反馈卡 + repeated LabelInfo assist_label_list = 213; // 辅助标签列表 + DesireInfo desire_info = 214; // 欲望信息 + HotRoomInfo hot_room_info = 215; // 热门房间信息 + bool with_aggregate_column = 216; // 是否带有聚合列 + CastScreenData cast_screen_data = 217; // 投屏数据 + OfficialChannelExtraInfo official_channel_extra = 218; // 官方频道额外信息 + string auth_city = 219; // 授权城市 + ActivityLiveRecommendConfig activity_live_recommend_config = 220; // 活动直播推荐配置 + RoomChannelData room_channel = 221; // 房间频道数据 + PackMetaInfo pack_meta = 222; // 包元信息 + ActivityData activity_data = 223; // 活动数据 + LikeDisplayConfig like_display_config = 224; // 点赞显示配置 + RoomViewStats room_view_stats = 225; // 房间视图统计 + MatchRoomData match = 226; // 比赛房间数据 + CommentaryRoomInfo commentary_room_info = 227; // 评论房间信息 + int64 redpacket_audience_auth = 228; // 红包观众认证 + MatchChatConfig match_chat_config = 229; // 比赛聊天配置 + int64 vs_main_replay_id = 230; // VS 主重播 ID + string screen_capture_sharing_title = 231; // 屏幕捕获共享标题 + ShareResource share_resource = 232; // 共享资源 + repeated string sharing_music_id_list = 233; // 共享音乐 ID 列表 + PublicScreenBottomInfo public_screen_bottom_info = 234; // 公共屏幕底部信息 + StreamUrl push_stream_hkt = 235; // 推流 HKT + RoomBasisData basis = 300; // 房间基础数据 + RoomInteractData interact = 301; // 房间互动数据 + RoomRevenueData revenue = 302; // 房间收入数据 + RoomReqUserData req_user = 303; // 请求用户数据 + RoomAnchorData anchor_data = 304; // 主播数据 + RoomOthersData others = 305; // 其他数据 + PicoInfo pico_info = 306; // Pico 信息 + RoomGameData game_data = 307; // 房间游戏数据 + RoomFeedData feed_data = 308; // 房间供稿数据 + OpenContentData open_content_data = 309; // 开放内容数据 + ClientComponent client_component_data = 310; // 客户端组件数据 + RoomPlatformComponentsData platform_components_data = 311; // 平台组件数据 + IOSClientComponent ios_client_component_data = 312; // iOS 客户端组件数据 + string owner_open_id = 5000; // 所有者开放 ID + repeated string admin_user_open_ids = 5001; // 管理员用户开放 ID 列表 + repeated string fans_group_admin_user_open_ids = 5002; // 粉丝组管理员用户开放 ID 列表 + string official_channel_open_id = 5003; // 官方频道开放 ID + Image cover_gauss = 5004; // 高斯模糊封面 +} +// EasterEggData 主消息 +message EasterEggData { + bool has_easter_egg = 1; // 是否有彩蛋 + int64 stage = 2; // 当前阶段 + int64 total_stage = 3; // 总阶段数 + int64 effects_num = 4; // 特效数量 + int64 start_count = 5; // 开始计数 + int64 end_count = 6; // 结束计数 + int64 count = 7; // 当前计数 + string panel_url = 8; // 彩蛋面板的 URL + Image entrance_icon = 9; // 彩蛋入口图标 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// LinkerDetail 主消息 +message LinkerDetail { + repeated int64 linker_play_modes = 1; // 联麦播放模式列表 + int32 big_party_layout_config_version = 2; // 大型派对布局配置版本 + bool accept_audience_pre_apply = 3; // 是否接受观众预申请 + int64 linker_ui_layout = 4; // 联麦 UI 布局 + int32 enable_audience_linkmic = 5; // 启用观众连麦的状态 + string function_type = 6; // 功能类型 + map linker_map_str = 7; // 联麦映射字符串 + string ktv_lyric_mode = 8; // KTV 歌词模式 + string init_source = 9; // 初始化来源 + bool forbid_apply_from_other = 10; // 是否禁止他人申请 + int32 ktv_exhibit_mode = 11; // KTV 展示模式 + int64 enlarge_guest_turn_on_source = 12; // 扩展来宾启动源 + map playmode_detail = 13; // 播放模式详细信息 + string client_ui_info = 14; // 客户端 UI 信息 + int64 manual_open_ui = 15; // 手动打开的 UI 标识 + repeated int64 feature_list = 16; // 功能列表 +} +// FilterWord 主消息 +message FilterWord { + string id = 1; // 过滤词的唯一标识符 + bool is_selected = 2; // 是否被选中 + string name = 3; // 过滤词的名称 +} +// VerticalTypeInfo 主消息 +message VerticalTypeInfo { + string name = 1; // 类型名称 + int64 tab_type = 2; // 标签类型 + int64 tag_id = 3; // 标签 ID + bool is_sub_tag = 4; // 是否为子标签 + Image icon = 5; // 图标 + int64 valid_time = 6; // 有效时间 + int64 priority = 7; // 优先级 + string extra = 8; // 额外信息 + string event_extra = 9; // 事件额外信息 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// RoomIMInfo 主消息 +message RoomIMInfo { + repeated string welcome_messages = 1; // 欢迎消息列表 + string room_tag = 2; // 房间标签 + string hide_gift_message = 3; // 隐藏礼物消息标记 +} +// AnnouncementInfo 主消息 +message AnnouncementInfo { + string scheduled_time_text = 1; // 计划时间文本 + string content = 2; // 公告内容 + bool subscribed = 3; // 是否已订阅 + int64 appointment_id = 4; // 预约 ID + int32 scheduled_time = 5; // 计划时间(可能是一天中的时间,以秒为单位) + int32 scheduled_date = 6; // 计划日期(可能是某种日期格式,如 YYYYMMDD) + repeated int32 scheduled_weekdays = 7; // 计划的星期几(0-6,表示周日到周六) +} +// ShortTouchAuth 主消息 +message ShortTouchAuth { + int32 commerce_lottery = 1; // 商业抽奖授权状态 +} +// EpisodeMod 主消息 +message EpisodeMod { + int32 episode_stage = 1; // 剧集阶段 + int32 episode_type = 2; // 剧集类型 + int32 episode_sub_type = 3; // 剧集子类型 + int32 episode_record_type = 4; // 剧集记录类型 +} +// WatchInfo 主消息 +message WatchInfo { + string desc = 1; // 描述信息 + string count = 2; // 观看人数(字符串格式) + string count_with_backup = 3; // 带备份的观看人数(字符串格式) + int32 real_count = 4; // 实际观看人数 + int64 real_count_int64 = 5; // 实际观看人数(64位整数) + int32 live_count_display_type = 6; // 观看人数显示类型 + int64 display_type_start_time = 7; // 显示类型的开始时间 + string format_count = 8; // 格式化后的观看人数 +} +// ToolbarItemConfig 主消息 +message ToolbarItemConfig { + int32 toolbar_type = 1; // 工具栏类型 + Image icon = 2; // 图标 + string jump_schema = 3; // 跳转协议 + int32 display_type = 4; // 显示类型 + Image dynamic_icon = 5; // 动态图标 + Image icon_vertical = 6; // 垂直图标 + Image dynamic_bottom_icon = 7; // 动态底部图标 + Image bottom_icon = 8; // 底部图标 + repeated Toast toast_list = 9; // 提示信息列表 + string extra = 10; // 额外信息 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } + + // Toast 消息定义 + message Toast { + string message = 1; // 提示信息 + int32 duration = 2; // 显示时长 + } +} +// EpisodePremierePlay 主消息 +message EpisodePremierePlay { + repeated VsEpisodeHighLight highlights = 1; // 精彩片段列表 + int32 play_type = 2; // 播放类型 + int64 start_time = 3; // 开始时间 + string play_text = 4; // 播放文本 + int64 text_duration = 5; // 文本持续时间 + + // VsEpisodeHighLight 主消息 +message VsEpisodeHighLight { + int64 location = 1; // 精彩片段位置(时间戳或标记点) + string description = 2; // 精彩片段描述 + Image image = 3; // 精彩片段相关图片 + string pid = 4; // 精彩片段的唯一标识符 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +} +// EpisodePreviewImage 主消息 +message EpisodePreviewImage { + Image preview_uri_up = 1; // 上半部分预览图片 + Image preview_uri_down = 2; // 下半部分预览图片 + int32 preview_type = 3; // 预览类型 + string preview_word_up = 4; // 上部文字描述 + string preview_word_down = 5; // 下部文字描述 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// VSGiftPannel 主消息 +message VSGiftPannel { + repeated string background_colors = 1; // 背景颜色列表 + Image background = 2; // 背景图片 + Image selected = 3; // 选中状态图片 + Image top_title = 4; // 顶部标题图片 + Image background_bottom = 5; // 底部背景图片 + Image background_top = 6; // 顶部背景图片 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// VSPannelIcon 主消息 +message VSPannelIcon { + Image sp_landscape_icon = 1; // 横屏专用图标 + Image sp_vertical_icon = 2; // 竖屏专用图标 + Image landscape_vertical_switch_icon = 3; // 横竖屏切换图标 + Image lock_screen_icon = 4; // 锁屏图标 + Image landscape_more_icon = 9; // 横屏更多操作图标 + Image vertical_more_icon = 10; // 竖屏更多操作图标 + Image landscape_comment_icon = 11; // 横屏评论图标 + Image vertical_comment_icon = 12; // 竖屏评论图标 + Image vertical_landscape_switch_icon = 13; // 竖屏切横屏图标 + Image vertical_lock_screen_icon = 14; // 竖屏锁屏图标 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// EpisodePreviewBottom 主消息 +message EpisodePreviewBottom { + string watch_period_str = 1; // 观看周期字符串 + string latest_period_str = 2; // 最新周期字符串 +} +// VSCameraInfo 主消息 +message VSCameraInfo { + int64 camera_id = 1; // 摄像头 ID + string camera_id_str = 2; // 摄像头 ID(字符串形式) + string title = 3; // 摄像头标题 + Image cover = 4; // 横版封面图片 + Image cover_vertical = 5; // 竖版封面图片 + StreamUrl stream_info = 6; // 流信息 + int64 start_time = 7; // 开始时间 + int64 end_time = 8; // 结束时间 + int32 style = 9; // 样式类型 + RoomAuthStatus camera_room_auth = 10; // 房间权限认证状态 + int32 vr_type = 11; // VR 类型 + CameraPaidInfo camera_paid_info = 12; // 付费信息 + CameraMatchInfo camera_match_info = 13; // 比赛相关信息 + int64 group_id = 14; // 摄像头组 ID + int32 camera_type = 15; // 摄像头类型 + Image label = 16; // 标签图片 + int64 pcu = 17; // 最大并发用户数 + bool is_subscribed = 18; // 是否已订阅 + string group_id_str = 19; // 摄像头组 ID(字符串形式) + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } + + // StreamUrl 消息定义 + message StreamUrl { + string url = 1; // 流 URL + string protocol = 2; // 流协议类型(如 HLS/RTMP) + } + + // RoomAuthStatus 消息定义 + message RoomAuthStatus { + bool is_authenticated = 1; // 是否通过认证 + string auth_type = 2; // 认证类型 + } + + // CameraPaidInfo 消息定义 + message CameraPaidInfo { + bool is_paid = 1; // 是否需要付费 + float price = 2; // 付费金额 + string currency = 3; // 货币类型 + } + + // CameraMatchInfo 消息定义 + message CameraMatchInfo { + string match_id = 1; // 比赛 ID + string match_name = 2; // 比赛名称 + } +} +// VSWatermark 主消息 +message VSWatermark { + int64 position = 1; // 水印位置标识 + int64 landscape_dis = 2; // 横屏距离(如距离边界的偏移量) + int64 vertical_dis = 3; // 竖屏距离 + repeated VSWatermarkIcon watermark_icon = 4; // 水印图标列表 + + // VSWatermarkIcon 消息定义 + message VSWatermarkIcon { + string url = 1; // 图标 URL + int32 width = 2; // 图标宽度 + int32 height = 3; // 图标高度 + } +} +// VSItemComment 主消息 +message VSItemComment { + Image item_comment_icon_dark = 1; // 暗色模式下的评论图标 + Image item_comment_icon_light = 2; // 浅色模式下的评论图标 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// VSBar 主消息 +message VSBar { + VSItemBar item_comment = 1; // 评论项 + VSItemBar item_bar = 2; // 功能栏项 + + // VSItemBar 消息定义 + message VSItemBar { + string icon_url = 1; // 图标的 URL + string label = 2; // 图标对应的文字标签 + int32 order = 3; // 显示顺序 + } +} +// VSLinkInfo 主消息 +message VSLinkInfo { + string title = 1; // 链接信息的标题 + string tab_title = 2; // 标签页标题 + repeated VSLinkNode rooms = 3; // 房间列表 + int32 pattern = 4; // 模式标识 + + // VSLinkNode 消息定义 + message VSLinkNode { + string room_id = 1; // 房间 ID + string room_name = 2; // 房间名称 + string host_name = 3; // 主持人名称 + int32 viewer_count = 4; // 观看人数 + } +} + +// CommentConfig 主消息 +message CommentConfig { + repeated CommentColor comment_colors = 1; // 评论颜色配置列表 + repeated CommentRole comment_roles = 2; // 评论角色配置列表 + string role_suffix = 3; // 角色后缀 + string role_title = 4; // 角色标题 + string unlock_role_tip = 5; // 解锁角色提示 + repeated CommentMedal comment_medals = 6; // 评论勋章配置列表 + string medal_title = 7; // 勋章标题 + + // CommentColor 消息定义 + message CommentColor { + string color_code = 1; // 颜色代码 + string description = 2; // 颜色描述 + } + + // CommentRole 消息定义 + message CommentRole { + string role_id = 1; // 角色 ID + string role_name = 2; // 角色名称 + string role_description = 3; // 角色描述 + } + + // CommentMedal 消息定义 + message CommentMedal { + string medal_id = 1; // 勋章 ID + string medal_name = 2; // 勋章名称 + string medal_description = 3; // 勋章描述 + } +} +// MatchRoomInfo 主消息 +message MatchRoomInfo { + MatchTabFrame match_tab_frame = 1; // 比赛标签框架 + MatchTitle match_title = 2; // 比赛标题 + ToutiaoMatchData match_data = 3; // 比赛数据 + map match_host_channel = 4; // 比赛主持频道映射 + string match_hash_tag = 5; // 比赛话题标签 + repeated Image background_image_url_list = 6; // 背景图片 URL 列表 + Image share_icon = 7; // 分享图标 + MatchRoomImInfo im_info = 8; // 即时通讯信息 + MatchShareBackground match_share_background = 9; // 比赛分享背景 + string theme_id = 10; // 主题 ID + MatchShareBackground match_live_share_background = 11; // 比赛直播分享背景 + int64 match_id = 12; // 比赛 ID + + // MatchTabFrame 主消息 +message MatchTabFrame { + repeated MatchTab tabs = 1; // 比赛的标签列表 + repeated MatchTab replay_tabs = 2; // 比赛回放的标签列表 + string color = 3; // 标签文字颜色 + string background_color = 4; // 标签背景颜色 + + // MatchTab 消息定义 + message MatchTab { + string tab_id = 1; // 标签 ID + string tab_name = 2; // 标签名称 + string tab_url = 3; // 标签对应的 URL + bool is_active = 4; // 标签是否激活 + } +} + + // MatchTitle 主消息 +message MatchTitle { + string room_title = 1; // 比赛房间的标题 + TitleIcon title_icon = 2; // 标题图标 + + // TitleIcon 消息定义 + message TitleIcon { + string url = 1; // 图标的 URL + int32 size_type = 2; // 图标尺寸类型 (例如: 小、中、大) + } +} + + // ToutiaoMatchData 主消息 +message ToutiaoMatchData { + int64 match_id = 1; // 比赛唯一标识 + string match_title = 2; // 比赛标题 + Against against = 3; // 比赛对阵信息 + string started_time = 4; // 比赛开始时间 (格式化) + string city = 5; // 比赛城市 + string venue_name = 6; // 比赛场馆名称 + string referee = 7; // 裁判姓名 + TeamStats team_stats = 8; // 队伍统计信息 + repeated PlayerStats player_stats = 9; // 球员统计信息列表 + string match_group = 10; // 比赛分组 + string match_round = 11; // 比赛轮次 + string match_phase_name = 12; // 比赛阶段名称 + bool can_subscribe = 13; // 是否可订阅 + int32 display_status = 14; // 显示状态 + string bjt_format = 15; // 北京时间格式 + string local_time_format = 16; // 本地时间格式 + int32 live_status = 17; // 直播状态 + int32 match_status = 18; // 比赛状态 + string match_id_str = 19; // 比赛 ID (字符串格式) + int64 started_time_unix = 20; // 比赛开始时间 (Unix 时间戳) + int32 left_score_addition = 21; // 左队得分加成 + int32 right_score_addition = 22; // 右队得分加成 + string duration = 23; // 比赛时长 + repeated int64 event_ids = 24; // 赛事 ID 列表 + int64 winner_id = 25; // 胜利方 ID + string winner_id_str = 26; // 胜利方 ID (字符串格式) + Image winner_icon = 27; // 胜利方图标 + string event_name = 28; // 赛事名称 + string bo_num = 29; // 比赛局数 (如 BO3) + + // Against 消息定义 + message Against { + string left_team = 1; // 左队名称 + string right_team = 2; // 右队名称 + int32 left_score = 3; // 左队得分 + int32 right_score = 4; // 右队得分 + } + + // TeamStats 消息定义 + message TeamStats { + string team_name = 1; // 队伍名称 + int32 total_score = 2; // 总得分 + int32 fouls = 3; // 犯规次数 + } + + // PlayerStats 消息定义 + message PlayerStats { + string player_name = 1; // 球员姓名 + int32 points = 2; // 得分 + int32 assists = 3; // 助攻 + int32 rebounds = 4; // 篮板 + } + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } + + // MatchRoomImInfo 主消息 +message MatchRoomImInfo { + Image icon = 1; // 即时通讯信息的图标 + string title = 2; // 即时通讯信息的标题 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} + + // MatchShareBackground 主消息 +message MatchShareBackground { + Image vertical_img = 1; // 竖屏分享背景图片 + Image horizontal_img = 2; // 横屏分享背景图片 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +} +// MultiCameraBasicInfo 主消息 +message MultiCameraBasicInfo { + Image icon = 1; // 图标 + string icon_background_color = 2; // 图标背景颜色 + string panel_background_color = 3; // 面板背景颜色 + Image icon_pad = 4; // 图标填充 + bool ban_xgs = 5; // 是否禁止 XGS + bool support_vs_core = 6; // 是否支持 VS 核心 + string name = 7; // 名称 + int32 default_display_duration = 8; // 默认显示时长 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// SharePosterInfo 主消息 +message SharePosterInfo { + PosterData data = 1; // 海报数据 + + // PosterData 消息定义 + message PosterData { + repeated Image poster = 1; // 海报图片列表 + repeated Image decorator = 2; // 装饰图片列表 + } + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// EpisodeExtraInfo 主消息 +message EpisodeExtraInfo { + EpisodeMod episode_mod = 1; // 剧集模块信息 + string current_period = 2; // 当前期数 + string title = 3; // 剧集标题 + string episode_list_h5 = 4; // 剧集列表 H5 链接 + WatchInfo watch_info = 5; // 观看信息 + int64 episode_id = 6; // 剧集 ID + string episode_id_str = 7; // 剧集 ID 字符串 + string item_id = 8; // 项目 ID + string selection_url = 9; // 选择 URL + string relation_place_text = 10; // 关联位置文本 + repeated string operation_place_text_list = 11; // 操作位置文本列表 + repeated ToolbarItemConfig toolbar_list = 12; // 工具栏列表 + bool collected = 13; // 是否收藏 + int64 season_id = 14; // 季 ID + string finish_url = 15; // 完成 URL + string release_time = 16; // 发布时间 + int64 watch_period = 17; // 观看期数 + int64 latest_period = 18; // 最新期数 + string show_name = 19; // 显示名称 + int32 current_period_raw = 20; // 当前期数原始值 + int32 video_code = 21; // 视频代码 + string season_id_str = 22; // 季 ID 字符串 + string watch_pv_raw = 23; // 观看 PV 原始值 + int64 next_special_episode_id = 24; // 下一特别剧集 ID + Image cover = 25; // 封面 + Image cover_vertical = 26; // 竖版封面 + int32 style = 27; // 风格 + EpisodePremierePlay play_control = 28; // 播放控制 + EpisodePreviewImage preview_image = 29; // 预览图像 + VSGiftPannel gift_pannel = 30; // 礼物面板 + VSPannelIcon pannel_icon = 31; // 面板图标 + repeated ToolbarItemConfig pannel_toolbar = 32; // 面板工具栏 + EpisodePreviewBottom preview_bottom = 33; // 预览底部 + string draw_sub_title = 34; // 绘制副标题 + Image season_cover_vertical = 35; // 季竖版封面 + repeated VSCameraInfo camera_infos = 36; // 摄像机信息 + int64 default_camera_id = 37; // 默认摄像机 ID + int64 default_camera_id_str = 38; // 默认摄像机 ID 字符串 + string default_camera_id_str_v2 = 39; // 默认摄像机 ID 字符串 V2 + VSCameraInfo priority_camera = 40; // 优先摄像机 + string multi_season_tag = 41; // 多季标签 + Image preview_background = 42; // 预览背景 + Image background = 43; // 背景 + EpisodeMod mod = 44; // 模块 + Image item_comment_icon = 45; // 评论图标 + VSWatermark vs_watermark = 46; // 水印 + VSItemComment item_comment = 47; // 评论项 + string season_type_name = 48; // 季类型名称 + VSBar vs_bar = 49; // VS 条 + WatchInfo season_watch_info = 50; // 季观看信息 + VSLinkInfo link_room_info = 51; // 链接房间信息 + CommentConfig comment_config = 52; // 评论配置 + string camera_infos_table_title = 53; // 摄像机信息表标题 + int32 episode_status = 54; // 剧集状态 + MatchRoomInfo match_room_info = 55; // 比赛房间信息 + MultiCameraBasicInfo multi_camera_basic_info = 56; // 多摄像机基本信息 + SharePosterInfo share_poster_info = 57; // 分享海报信息 + VSPremiereToast premiere_toast = 58; // 首映提示 + string preview_bottom_text = 59; // 预览底部文本 + repeated BusinessConfigure business_configure = 60; // 业务配置 + string public_screen_color = 61; // 公共屏幕颜色 + string chat_tray_color = 62; // 聊天托盘颜色 + MultiTab multi_tab = 63; // 多标签 + Image main_camera_cover = 64; // 主摄像机封面 + string main_camera_title = 65; // 主摄像机标题 + map privilege_info = 66; // 特权信息 + bool is_interact_config_exist = 67; // 是否存在交互配置 + MainCameraMatchInfo main_camera_match_info = 68; // 主摄像机匹配信息 + int64 group_id = 69; // 组 ID + VSConfigDrawer vs_config_drawer = 70; // 配置抽屉 + TitleIcon title_icon = 71; // 标题图标 + string group_id_str = 72; // 组 ID 字符串 +} +// TitleIcon 主消息 +message TitleIcon { + string url = 1; // 图标的 URL 地址 + int32 size_type = 2; // 图标的尺寸类型 +} +// VSConfigDrawer 主消息 +message VSConfigDrawer { + MatchDrawer drawer = 1; // 比赛抽屉配置 + Image drawer_label = 2; // 抽屉标签图像 + Image drawer_background = 3; // 抽屉背景图像 +} +// MainCameraMatchInfo 主消息 +message MainCameraMatchInfo { + ToutiaoMatchData match_data = 1; // 比赛数据 + int64 match_id = 2; // 比赛 ID + repeated int64 event_ids = 3; // 事件 ID 列表 + int64 content_id = 4; // 内容 ID + LeagueInfo league_info = 5; // 联赛信息 + bool is_display_score_type = 6; // 是否显示比分类型 + repeated int64 hide_tab_ids = 7; // 隐藏的标签 ID 列表 + string match_id_str = 8; // 比赛 ID 字符串 + string content_id_str = 9; // 内容 ID 字符串 + + // ToutiaoMatchData 主消息 +message ToutiaoMatchData { + int64 match_id = 1; // 比赛 ID + string match_title = 2; // 比赛标题 + Against against = 3; // 对阵信息 + string started_time = 4; // 开始时间 (格式化字符串) + string city = 5; // 比赛城市 + string venue_name = 6; // 场馆名称 + string referee = 7; // 裁判信息 + TeamStats team_stats = 8; // 团队统计信息 + repeated PlayerStats player_stats = 9; // 球员统计信息列表 + string match_group = 10; // 比赛组别 + string match_round = 11; // 比赛轮次 + string match_phase_name = 12; // 比赛阶段名称 + bool can_subscribe = 13; // 是否可订阅 + int32 display_status = 14; // 显示状态 + string bjt_format = 15; // 北京时间格式 + string local_time_format = 16; // 本地时间格式 + int32 live_status = 17; // 直播状态 + int32 match_status = 18; // 比赛状态 + string match_id_str = 19; // 比赛 ID 字符串 + int64 started_time_unix = 20; // 开始时间 (Unix 时间戳) + int32 left_score_addition = 21; // 左侧比分加成 + int32 right_score_addition = 22; // 右侧比分加成 + string duration = 23; // 比赛时长 + repeated int64 event_ids = 24; // 事件 ID 列表 + int64 winner_id = 25; // 胜者 ID + string winner_id_str = 26; // 胜者 ID 字符串 + Image winner_icon = 27; // 胜者图标 + string event_name = 28; // 事件名称 + string bo_num = 29; // BO (Best of) 数量 + + // Against 主消息 +message Against { + string left_name = 1; // 左侧队伍名称 + Image left_logo = 2; // 左侧队伍标志 + string left_goal = 3; // 左侧队伍进球数(字符串形式) + repeated PlayerInfo left_players = 4; // 左侧队伍球员信息列表 + GoalStageDetail left_goal_stage_detail = 5; // 左侧队伍进球阶段详情 + string right_name = 6; // 右侧队伍名称 + Image right_logo = 7; // 右侧队伍标志 + string right_goal = 8; // 右侧队伍进球数(字符串形式) + repeated PlayerInfo right_players = 9; // 右侧队伍球员信息列表 + GoalStageDetail right_goal_stage_detail = 10; // 右侧队伍进球阶段详情 + int64 timestamp = 11; // 时间戳 + int64 version = 12; // 版本号 + int64 left_team_id = 13; // 左侧队伍 ID + int64 right_team_id = 14; // 右侧队伍 ID + int64 diff_sei2abs_second = 15; // 时间差异(秒) + int32 final_goal_stage = 16; // 最终进球阶段 + int32 current_goal_stage = 17; // 当前进球阶段 + int32 left_score_addition = 18; // 左侧队伍比分加成 + int32 right_score_addition = 19; // 右侧队伍比分加成 + int64 left_goal_int = 20; // 左侧队伍进球数(整数形式) + int64 right_goal_int = 21; // 右侧队伍进球数(整数形式) + BasketBallGoalStageDetail left_score_detail = 22; // 左侧队伍比分详情 + BasketBallGoalStageDetail right_score_detail = 23; // 右侧队伍比分详情 + BasketballStage basketball_stage = 24; // 篮球阶段信息 + ESportsStage esport_stage = 25; // 电竞阶段信息 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } + + // PlayerInfo 主消息 +message PlayerInfo { + int64 id = 1; // 球员 ID + string name = 2; // 球员名称 + int32 shirt = 3; // 球衣号码 + string position = 4; // 球员位置 + int32 lineup_type = 5; // 阵容类型 + Image portrait = 6; // 球员头像 + PlayByPlayItemInfo last_event = 7; // 上一次事件 + double x_axis = 8; // X 坐标位置 + double y_axis = 9; // Y 坐标位置 + int32 position_num = 10; // 位置编号 + double playing_time = 11; // 上场时间 + PlayerStats player_stats = 12; // 球员统计数据 + string player_id_str = 13; // 球员 ID 字符串 + PlayByPlayItemInfo last_up_event = 14; // 最近更新的事件 + repeated PlayByPlayItemInfo event_list = 15; // 事件列表 + int32 age = 16; // 球员年龄 + double worth = 17; // 球员身价 + string club_name = 18; // 所属俱乐部名称 + bool superstar_flag = 19; // 是否为超级明星 + Image superstar_img = 20; // 超级明星图片 + string superstar_name = 21; // 超级明星称号 + string superstar_desc = 22; // 超级明星描述 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } + + // PlayByPlayItemInfo 主消息 +message PlayByPlayItemInfo { + int64 timestamp = 1; // 事件时间戳 + int64 player_id = 2; // 球员 ID + int64 ref_player_id = 3; // 参考球员 ID + int32 incident_type = 4; // 事件类型 + double elapsed = 5; // 事件经过时间 + double elapsed_plus = 6; // 事件额外经过时间 + string player_name = 7; // 球员名称 + string ref_player_name = 8; // 参考球员名称 + string player_id_str = 9; // 球员 ID 字符串 + string ref_player_id_str = 10; // 参考球员 ID 字符串 + int64 start_time_pts = 11; // 开始时间 PTS + int64 end_time_pts = 12; // 结束时间 PTS + int64 start_time_sei = 13; // 开始时间 SEI + int64 end_time_sei = 14; // 结束时间 SEI +} + + // PlayerStats 主消息 +message PlayerStats { + int64 player_id = 1; // 球员 ID + int64 team_id = 2; // 队伍 ID + double minutes_played = 3; // 比赛出场时间 (分钟) + double goals = 4; // 进球数 + double assists = 5; // 助攻数 + double shots = 6; // 射门次数 + double shots_on = 7; // 射正次数 + double y_cards = 8; // 黄牌数 + double r_cards = 9; // 红牌数 + double offsides = 10; // 越位次数 + double fouls_committed = 11; // 犯规次数 + double own_goals = 12; // 乌龙球数 + double saves = 13; // 扑救次数 + double caught_ball = 14; // 捕捉球次数 + double clean_sheets = 15; // 零封场次 + double pass = 16; // 传球次数 + double key_pass = 17; // 关键传球次数 + double passes_completed = 18; // 成功传球次数 + double steal = 19; // 抢断次数 + double intercept = 20; // 拦截次数 + double clearances = 21; // 解围次数 +} +} + + // GoalStageDetail 主消息 +message GoalStageDetail { + string first_half_goal = 1; // 上半场进球数 + string second_half_goal = 2; // 下半场进球数 + string overtime = 3; // 加时赛进球数 + string shots = 4; // 射门次数 + string total = 5; // 总进球数 +} + + // BasketBallGoalStageDetail 主消息 +message BasketBallGoalStageDetail { + int32 first_period = 1; // 第一节得分 + int32 second_period = 2; // 第二节得分 + int32 third_period = 3; // 第三节得分 + int32 forth_period = 4; // 第四节得分 + int32 overtime = 5; // 加时赛得分 + int32 total = 6; // 总得分 +} + + // BasketballStage 主消息 +message BasketballStage { + int32 current_stage = 1; // 当前阶段 + int32 final_stage = 2; // 最终阶段 +} + +// ESportsStage 主消息 +message ESportsStage { + int32 current_stage = 1; // 当前阶段 + int32 final_stage = 2; // 最终阶段 +} +} + + // TeamStats 主消息 +message TeamStats { + int64 team_id = 1; // 队伍 ID + double possession = 2; // 控球率 (%) + double shot_on = 3; // 射正次数 + double shot_off = 4; // 射偏次数 + double free_kick = 5; // 任意球次数 + double corner = 6; // 角球次数 + double counter = 7; // 快攻次数 + double saves = 8; // 扑救次数 + double offside = 9; // 越位次数 + double foul_commit = 10; // 犯规次数 + double yellow_cards = 11; // 黄牌数 + double redCards = 12; // 红牌数 + double pass = 13; // 传球次数 + double key_pass = 14; // 关键传球次数 + double passes_completed = 15; // 成功传球次数 + double steal = 16; // 抢断次数 + double intercept = 17; // 拦截次数 + double shots = 18; // 总射门次数 + double possession_five_min = 19; // 最近五分钟控球率 (%) +} + + // PlayerStats 主消息 +message PlayerStats { + int64 player_id = 1; // 球员 ID + int64 team_id = 2; // 队伍 ID + double minutes_played = 3; // 比赛出场时间 (分钟) + double goals = 4; // 进球数 + double assists = 5; // 助攻数 + double shots = 6; // 射门次数 + double shots_on = 7; // 射正次数 + double y_cards = 8; // 黄牌数 + double r_cards = 9; // 红牌数 + double offsides = 10; // 越位次数 + double fouls_committed = 11; // 犯规次数 + double own_goals = 12; // 乌龙球数 + double saves = 13; // 扑救次数 + double caught_ball = 14; // 捕捉球次数 + double clean_sheets = 15; // 零封场次 + double pass = 16; // 传球次数 + double key_pass = 17; // 关键传球次数 + double passes_completed = 18; // 成功传球次数 + double steal = 19; // 抢断次数 + double intercept = 20; // 拦截次数 + double clearances = 21; // 解围次数 +} + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} + + // LeagueInfo 主消息 +message LeagueInfo { + int64 league_id = 1; // 联赛 ID + string cnn_name = 2; // 联赛的中文名称 + string enn_name = 3; // 联赛的英文名称 + string season = 4; // 当前赛季信息 +} +} +// MultiTab 主消息 +message MultiTab { + string tab_title_color = 1; // 标签标题颜色 + repeated TabItem tabs = 2; // 标签列表 + int32 switch_on = 3; // 是否开启开关 + int32 disable_background = 4; // 是否禁用背景 + int32 disable_project = 5; // 是否禁用项目 + + // TabItem 子消息 + message TabItem { + int64 tab_type = 1; // 标签类型 + string tab_name = 2; // 标签名称 + string jump_link = 3; // 标签跳转链接 + int64 tab_id = 4; // 标签 ID + int32 tab_show_type = 5; // 标签显示类型 + repeated int64 hide_camera_ids = 6; // 隐藏的摄像头 ID 列表 + Bubble bubble = 7; // 气泡信息 + int32 disable_preload = 8; // 是否禁用预加载 + string color = 9; // 标签颜色 + int64 expire_time = 10; // 标签过期时间 (Unix 时间戳) + repeated int32 scene = 11; // 适用场景列表 + } + + // Bubble 子消息 + message Bubble { + int32 switch = 1; // 气泡开关 + int64 bubble_id = 2; // 气泡 ID + int64 duration = 3; // 气泡持续时间 + int64 delay = 4; // 气泡延迟时间 + string bubble_text = 5; // 气泡文字 + } +} +// BusinessConfigure 主消息 +message BusinessConfigure { + int64 BusinessID = 1; // 业务 ID + int64 BusType = 2; // 业务类型 + int32 DelaySecond = 3; // 延迟秒数 + int64 PreciseTime = 4; // 精确时间 (Unix 时间戳) + int32 DisplaySecond = 5; // 显示持续时间 (秒) + ResourceConfigure ResConfig = 6; // 资源配置 + int64 DelType = 7; // 删除类型 + + // ResourceConfigure 消息定义 + message ResourceConfigure { + string url = 1; // 资源 URL + string description = 2; // 资源描述 + int32 priority = 3; // 优先级 + } +} +// VSPremiereToast 主消息 +message VSPremiereToast { + string left_top_toast = 1; // 左上角提示信息 + string player_toast = 2; // 播放器提示信息 + string player_top_toast = 3; // 播放器顶部提示信息 + Image icon = 4; // 提示信息的图标 + + // Image 消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// PaidLiveData 主消息 +message PaidLiveData { + int32 paid_type = 1; // 付费类型 + int32 view_right = 2; // 查看权限 + int64 duration = 3; // 直播时长 + TicketData ticket_session = 4; // 门票会话数据 + OrderData order_data = 5; // 订单数据 + int32 delivery = 6; // 交付方式 + bool need_delivery_notice = 7; // 是否需要交付通知 + int32 anchor_right = 8; // 主播权限 + int32 pay_ab_type = 9; // 支付 AB 测试类型 + map privilege_info = 10; // 特权信息 + map privilege_info_map = 11; // 特权信息映射 + AsyncAuthData async_auth_data = 12; // 异步认证数据 + ProductsData products_data = 13; // 产品数据 + int64 max_preview_duration = 14; // 最大预览时长 + + // TicketData 主消息 +message TicketData { + int64 ticket_session_id = 1; // 门票会话 ID + string title = 2; // 标题 + string sub_title = 3; // 副标题 + string price = 4; // 价格 + int64 raw_release_time = 5; // 原始发布时间 + repeated string tags = 6; // 标签列表 + string ticket_explanation_card_jump_url = 7; // 票务说明卡片跳转 URL + string ticket_panel_jump_url = 8; // 票务面板跳转 URL + string ticket_session_id_str = 9; // 门票会话 ID 字符串 + int32 sell_status = 10; // 销售状态 + string cover_uri = 11; // 封面 URI + string cover_uri_vertical = 12; // 垂直封面 URI + string Introduction = 13; // 简介 + int64 raw_show_start_time = 14; // 原始展示开始时间 + int64 raw_show_end_time = 15; // 原始展示结束时间 + int64 raw_sale_start_time = 16; // 原始销售开始时间 + int64 raw_sale_end_time = 17; // 原始销售结束时间 + int64 raw_refund_deadline = 18; // 原始退款截止时间 + int64 raw_early_bird_start_time = 19; // 原始早鸟开始时间 + int64 raw_early_bird_end_time = 20; // 原始早鸟结束时间 + int64 raw_full_price_start_time = 21; // 原始全价开始时间 + int64 raw_full_price_end_time = 22; // 原始全价结束时间 + int64 raw_activity_start_time = 23; // 原始活动开始时间 + int64 raw_activity_end_time = 24; // 原始活动结束时间 + string early_bird_price = 25; // 早鸟价格 + string activity_price = 26; // 活动价格 + int32 status = 27; // 状态 + string show_start_time = 28; // 展示开始时间 + string show_end_time = 29; // 展示结束时间 + string sale_start_time = 30; // 销售开始时间 + string sale_end_time = 31; // 销售结束时间 + string early_bird_start_time = 32; // 早鸟开始时间 + string early_bird_end_time = 33; // 早鸟结束时间 + string full_price_start_time = 34; // 全价开始时间 + string full_price_end_time = 35; // 全价结束时间 + string activity_start_time = 36; // 活动开始时间 + string activity_end_time = 37; // 活动结束时间 + string refund_deadline = 38; // 退款截止时间 + string activity_title = 39; // 活动标题 + string activity_jump_url = 40; // 活动跳转 URL + string release_time = 41; // 发布时间 + int32 ticket_explanation_card_status = 42; // 票务说明卡片状态 + int32 last_duration = 43; // 最后时长 + string paid_conversion_jump_url = 44; // 付费转换跳转 URL + string ticket_panel_six_jump_url = 45; // 票务面板六跳转 URL + string ticket_panel_nine_jump_url = 46; // 票务面板九跳转 URL + Image cover = 47; // 封面图片 + int32 ios_pay_type = 48; // iOS 支付类型 + int32 android_pay_type = 49; // Android 支付类型 + int32 ios_pay_price = 50; // iOS 支付价格 + int32 android_pay_price = 51; // Android 支付价格 + int32 right_duration = 52; // 权利时长 + PaidLivePriceInfo friend_priceInfo = 53; // 朋友价格信息 + PaidLivePriceInfo helping_priceInfo = 54; // 帮助价格信息 + map price_info = 55; // 价格信息映射 + int64 ticket_anchor_id = 56; // 门票主播 ID + string extra = 57; // 额外信息 + repeated TicketSkuDetail sku_details = 58; // SKU 详情列表 + PaidLivePriceInfoV2 final_price_info = 59; // 最终价格信息 + int64 parent_ticket_session_id = 60; // 父门票会话 ID + string parent_ticket_session_id_str = 61; // 父门票会话 ID 字符串 + int32 ticket_category = 62; // 门票类别 + string prepay_cashier_jump_url = 63; // 预付收银跳转 URL + SubscribeMemberMark subscribe_member_mark = 64; // 订阅会员标记 + string ticket_anchor_open_id = 5000; // 门票主播开放 ID + + +// PaidLivePriceInfo 主消息 +message PaidLivePriceInfo { + int32 start_time = 1; // 开始时间(秒级时间戳) + int32 end_time = 2; // 结束时间(秒级时间戳) + int64 price = 3; // 价格(以最小货币单位表示,例如分) + int32 claim_ddl = 4; // 认领截止时间(秒级时间戳) + int64 sku_id = 5; // SKU ID +} + + + // PaidLivePriceInfoV2 子消息定义 + message PaidLivePriceInfoV2 { + string amount = 1; // 金额 + string currency = 2; // 货币 + int64 pos = 3; // 位置 + repeated int32 pay_type = 4; // 支付类型列表 + } + + // TicketSkuDetail 子消息定义 + message TicketSkuDetail { + int32 ticket_type = 1; // 门票类型 + string ticket_name = 2; // 门票名称 + int64 start_sell_time = 3; // 开始销售时间 + int64 closing_sell_time = 4; // 结束销售时间 + int32 sell_status = 5; // 销售状态 + PaidLivePriceInfoV2 price_info = 6; // 价格信息 + PaidLivePriceInfoV2 dou_price_info = 7; // Dou 价格信息 + int64 sku_id = 8; // SKU ID + } + + // SubscribeMemberMark 主消息 +message SubscribeMemberMark { + bool subscribe_member_watch_free = 1; // 标记订阅会员是否可以免费观看 +} +} + + // OrderData 主消息 +message OrderData { + string order_id = 1; // 订单 ID,唯一标识一个订单 +} + + + + // AsyncAuthData 主消息 +message AsyncAuthData { + int64 keep_alive_time = 1; // 保持活动时间(毫秒) + int64 async_authentication_operate = 2; // 异步认证操作类型 + int64 async_authentication_ab_type = 3; // 异步认证 AB 测试类型 + int64 keep_alive_time_stamp = 4; // 活动时间戳(毫秒) + int64 buffer = 5; // 缓冲区 +} + + // ProductsData 主消息 +message ProductsData { + ToolBar tool_bar = 1; // 工具栏 + ExplainCard explain_card = 2; // 说明卡片 + ToolBar product_list_tool_bar = 3; // 产品列表工具栏 + int32 bring_product_switch_status = 4; // 带产品开关状态 + int32 paid_live_bringing_product_flag = 5; // 付费直播带产品标志 + + // ToolBar 子消息定义 + message ToolBar { + string panel_jump_url = 1; // 面板跳转 URL + string six_jump_url = 2; // 六跳转 URL + string nine_jump_url = 3; // 九跳转 URL + } + + // ExplainCard 子消息定义 + message ExplainCard { + int32 status = 1; // 状态 + string card_jump_url = 2; // 卡片跳转 URL + int32 last_duration = 3; // 最后持续时间 + Product product = 4; // 产品信息 + + + } +} + +} +// Product 主消息 +message Product { + ProductBasicInfo basic_info = 1; // 产品基础信息 + ProductPriceStruct price_info = 2; // 产品价格信息 + LiveInfo live_info = 3; // 直播信息 + ItemInfo item_info = 4; // 商品信息 + ContentInfo content_info = 5; // 内容信息 + PaymentArea payment_arrea = 6; // 支付区域 + ProductPriceRichText price_rich_info = 7; // 价格富文本信息 + ProductComments product_comments = 8; // 产品评论 + ShareTicket share_ticket = 29; // 分享票据 + PrivilegeTicket privilege = 30; // 特权票据 + Combined combined = 31; // 组合信息 + Comments comments = 32; // 评论信息 + Rating rating = 33; // 评分信息 + User user = 35; // 用户信息 + repeated Author authors = 36; // 作者列表 + ProductBanner banner = 37; // 产品横幅 + repeated SKU sku_list = 17; // SKU 列表 + SubscribeMember subscribe_member = 18; // 订阅会员信息 + FilterReason filter_node = 999; // 过滤原因 + + // ProductBasicInfo 主消息 +message ProductBasicInfo { + int64 id = 1; // 产品 ID + string id_str = 2; // 产品 ID 字符串 + int64 owner_user_id = 3; // 所有者用户 ID + int32 status = 4; // 状态 + int32 biz = 5; // 业务类型 + int32 category = 6; // 分类 + string category_content = 7; // 分类内容 + string title = 8; // 标题 + int32 source = 9; // 来源 + string cover_uri = 10; // 封面 URI + Image cover = 11; // 封面图片 + int32 review_status = 12; // 审核状态 + int32 performance_status = 13; // 性能状态 + int32 disable_reason = 14; // 禁用原因 + int64 sale_start_time = 15; // 销售开始时间 + int64 sale_end_time = 16; // 销售结束时间 + int64 refund_deadline = 17; // 退款截止时间 + string introduction_text = 18; // 介绍文本 + repeated Introduction introduction = 19; // 介绍内容 + repeated HeaderMedia header_media = 20; // 头部媒体 + repeated ProductTag tags = 21; // 标签 + string content_title = 22; // 内容标题 + string content_category = 23; // 内容分类 + string content_extent_info = 24; // 内容扩展信息 + int32 sale_status = 26; // 销售状态 + int64 service_period = 27; // 服务期限 + bool geo_ban = 28; // 地理限制 + int32 combined_view_right = 29; // 组合视图权限 + string jump_schema = 30; // 跳转 schema + string detail_schema = 31; // 详情 schema + int32 new_product = 32; // 新品标志 + string content_extent_info_color = 33; // 内容扩展信息颜色 + int64 create_time = 34; // 创建时间 + int64 show_start_time = 35; // 展示开始时间 + repeated ContentTip content_tips = 36; // 内容提示 + string prepay_cashier_jump_url = 37; // 预付收银跳转 URL + repeated ProductSellingPoint selling_points = 38; // 卖点 + ProductSaleInfo sale_info = 39; // 销售信息 + repeated RecentPurchasedUser recent_purchased_user = 40; // 最近购买用户 + string owner_open_id = 5000; // 所有者开放 ID + + + + // Introduction 主消息 +message Introduction { + int32 type = 1; // 介绍类型 + string content = 2; // 介绍内容 +} + + // HeaderMedia 主消息 +message HeaderMedia { + int32 type = 1; // 媒体类型 + Image image_info = 2; // 图片信息 + ViewButton view_button = 3; // 查看按钮 + + // ViewButton 子消息定义 + message ViewButton { + string content = 1; // 按钮内容文本 + Image icon = 2; // 按钮图标 + string jump_schema = 3; // 跳转 Schema + int32 schema_type = 4; // Schema 类型 + } + + +} + + // ProductTag 主消息 +message ProductTag { + Image icon = 1; // 标签图标 + string content = 2; // 标签内容 + + +} + + // ContentTip 主消息 +message ContentTip { + string title = 1; // 提示标题 + string context = 2; // 提示内容 + string click_title = 3; // 点击后的标题 + string click_context = 4; // 点击后的内容 +} + + // ProductSellingPoint 主消息 +message ProductSellingPoint { + int32 type = 1; // 卖点类型 + string content = 2; // 卖点内容 + int64 originalValue = 3; // 原始值(可能用于表示某种数值信息) +} + + // ProductSaleInfo 主消息 +message ProductSaleInfo { + int64 sale_cnt = 1; // 销售数量 + int64 helping_sale_cnt = 2; // 帮助销售数量 + string written_off_amount = 3; // 核销金额 +} + + // RecentPurchasedUser 主消息 +message RecentPurchasedUser { + string uid = 1; // 用户 ID + string avatar_uri = 2; // 用户头像 URI + Image avatar = 3; // 用户头像信息 + int64 episodes = 4; // 购买期数 + string open_id = 5000; // 用户的 Open ID + + +} +} + + // ProductPriceStruct 主消息 +message ProductPriceStruct { + string amount = 1; // 价格金额 + string currency = 2; // 货币类型(例如 USD, CNY) + int64 pos = 3; // 位置或序号 + repeated int32 pay_type = 4; // 支付类型列表 + string full_price = 5; // 全价(未折扣时的原价) + int64 countdown_timestamp = 6; // 倒计时的时间戳(通常是促销结束时间) + string start = 7; // 开始时间 +} + + // LiveInfo 主消息 +message LiveInfo { + int64 room_id = 1; // 房间 ID + string title = 2; // 直播标题 + int32 episode_stage = 3; // 直播阶段 + int64 room_start_time = 4; // 房间开始时间(Unix 时间戳) + int32 live_status = 5; // 直播状态 + string vid = 6; // 视频 ID + string replay_id_str = 7; // 回放 ID + bool is_replay = 8; // 是否为回放 + int32 delivery = 9; // 投放标志 + int64 view_right = 10; // 查看权限 + string anchor_sign_tag_content = 11; // 主播标签内容 + string room_id_str = 12; // 房间 ID(字符串形式) + int32 paid_live_bring_product_flag = 13; // 付费直播带货标志 + string living_sku_id = 14; // 当前直播 SKU ID + int64 replay_auto_offline_time = 15; // 回放自动下线时间(Unix 时间戳) +} + + // ItemInfo 主消息 +message ItemInfo { + int64 item_id = 1; // 项目 ID + string title = 2; // 项目标题 + string tag_type = 3; // 标签类型 + int32 lastest = 4; // 最新的标识或版本 + int32 total = 5; // 总数或总量 + string play_counts = 6; // 播放次数 + int64 view_right = 7; // 查看权限 + string item_id_str = 8; // 项目 ID 的字符串形式 + int32 duration = 9; // 时长(秒) +} + +// ContentInfo 主消息 +message ContentInfo { + int64 content_id = 1; // 内容 ID + string title = 2; // 内容标题 + string tag_type = 3; // 标签类型 + int32 lastest = 4; // 最新的标识或版本 + int32 total = 5; // 总数或总量 + string category = 6; // 内容类别 + int64 view_right = 7; // 查看权限 + string content_id_str = 8; // 内容 ID 的字符串形式 + int32 duration = 9; // 时长(秒) + int64 promise_update_time = 10; // 承诺更新时间(Unix 时间戳) +} + + // PaymentArea 主消息 +message PaymentArea { + PayButton pay_button = 1; // 支付按钮 + AdditionalButton additional_button = 2; // 附加按钮 + + // PayButton 子消息 + message PayButton { + string content = 1; // 按钮文本内容 + Image icon = 2; // 按钮图标 + string jump_schema = 3; // 跳转链接 + int32 avilable = 4; // 按钮可用状态(例如:0-不可用,1-可用) + string copy_writing = 5; // 复制文案 + int32 click_type = 6; // 点击类型(例如跳转、触发事件等) + bool is_new_ent_trade = 7; // 是否为新企业交易 + } + + // AdditionalButton 子消息 + message AdditionalButton { + string content = 1; // 按钮文本内容 + Image icon = 2; // 按钮图标 + string jump_schema = 3; // 跳转链接 + int32 avilable = 4; // 按钮可用状态 + string copy_writing = 5; // 复制文案 + } + + +} + + // ProductPriceRichText 主消息 +message ProductPriceRichText { + repeated ProductRichText rich_texts = 1; // 富文本数组 + map extra = 2; // 额外的键值对信息 + + // ProductRichText 子消息 + message ProductRichText { + string text = 1; // 文本内容 + string style = 2; // 文本样式(例如颜色、字体等) + string link = 3; // 超链接地址(可选) + } +} + + // ProductComments 主消息 +message ProductComments { + string Title = 1; // 评论区标题 + string TotalCount = 2; // 评论总数 + string JumpTitle = 3; // 跳转按钮标题 + string JumpSchema = 4; // 跳转链接 + repeated ProductComment Comments = 5; // 评论列表 + + // ProductComment 子消息 + message ProductComment { + string user = 1; // 用户名 + string comment = 2; // 评论内容 + int64 timestamp = 3; // 评论时间(Unix 时间戳) + } +} + + // ShareTicket 主消息 +message ShareTicket { + bool has_share = 1; // 是否已分享 + User from_user = 2; // 分享来源用户 + string package_record_id = 3; // 分享关联的记录 ID + bool has_grab_share = 4; // 是否已领取分享 +} + + + + // PrivilegeTicket 主消息 +message PrivilegeTicket { + repeated string sku_id = 1; // SKU ID 列表 + repeated PrivilegeConfigure privilege_conf = 2; // 权益配置列表 + bool privilege_has_paid = 3; // 是否已支付权益 + + // PrivilegeConfigure 子消息 + message PrivilegeConfigure { + Image icon = 1; // 图标 + string name = 2; // 权益名称 + int32 entity_type = 3; // 实体类型 + int64 privilege_tab_key = 4; // 权益标签键 + int32 privilege_type = 5; // 权益类型 + } + + +} + + // Combined 主消息 +message Combined { + repeated BindSubProductData bind_sub_ticket_list = 1; // 绑定的子票据列表 + ParentProductSimpleData parent_ticket_panel_data = 2; // 父票据面板数据 + + // BindSubProductData 主消息 +message BindSubProductData { + string product_id = 1; // 产品 ID + string parent_product_id = 2; // 父产品 ID + string title = 3; // 标题 + int32 live_status = 4; // 直播状态 + int32 ticket_status = 5; // 票据状态 + string detail = 6; // 详情描述 + string vid = 7; // 视频 ID + string room_id = 8; // 房间 ID + int32 delivery_status = 9; // 交付状态 + int64 live_time = 10; // 直播时间(Unix 时间戳) + int64 end_time = 11; // 结束时间(Unix 时间戳) + int64 live_start_time = 12; // 直播开始时间(Unix 时间戳) + int64 live_end_time = 13; // 直播结束时间(Unix 时间戳) + int64 view_right = 14; // 查看权限 + bool is_replay = 15; // 是否为重播 + int64 replay_id = 16; // 重播 ID + string replay_id_str = 17; // 重播 ID 字符串形式 + int32 disable_reason = 18; // 禁用原因 +} + + // ParentProductSimpleData 主消息 +message ParentProductSimpleData { + string product_id = 1; // 产品 ID + string title = 2; // 标题 + string sub_title = 3; // 副标题 + Image cover = 4; // 封面图片 + int32 status = 5; // 状态 + int64 view_right = 6; // 查看权限 + int32 bind_sub_product_count = 7; // 绑定的子产品数量 + repeated PurchaseSimpleData data = 8; // 购买数据列表 + string sub_title_tag = 9; // 副标题标签 + int32 current_show_num = 10; // 当前展示数量 + int32 remain_sub_tickets_count = 11; // 剩余子票据数量 + int64 latest_finish_time = 12; // 最新完成时间(Unix 时间戳) + + + + // PurchaseSimpleData 主消息 +message PurchaseSimpleData { + int32 type = 1; // 购买类型 + string name = 2; // 名称 + repeated ProductTag tags = 3; // 标签列表 + int64 start_sell_time = 4; // 开始销售时间(Unix 时间戳) + int64 closing_sell_time = 5; // 结束销售时间(Unix 时间戳) + int32 sell_status = 6; // 销售状态 + int32 purchase_status = 7; // 购买状态 + ProductPriceStruct price_info = 8; // 价格信息 + + // ProductTag 主消息 +message ProductTag { + Image icon = 1; // 图标 + string content = 2; // 标签内容 + + +} + + // ProductPriceStruct 主消息 +message ProductPriceStruct { + string amount = 1; // 价格金额 + string currency = 2; // 货币类型 + int64 pos = 3; // 位置标识或排序优先级 + repeated int32 pay_type = 4; // 支付类型列表 + string full_price = 5; // 完整价格(原价) + int64 countdown_timestamp = 6; // 倒计时结束时间(Unix 时间戳) + string start = 7; // 开始时间 +} +} +} +} + + // Comments 主消息 +message Comments { + string title = 1; // 评论标题 + int32 count = 2; // 评论总数 + bool hasMore = 3; // 是否有更多评论 + string jump_schema = 4; // 跳转链接(可能是评论详情页) + repeated TextInfo texts = 5; // 评论列表 + + // TextInfo 子消息 + message TextInfo { + int64 comment_id = 1; // 评论 ID + UserInfo user_info = 2; // 用户信息 + string text = 3; // 评论内容 + int32 digg_count = 4; // 点赞数量 + int64 create_time_stamp = 5; // 评论创建时间(Unix 时间戳) + string comment_id_str = 6; // 评论 ID 的字符串形式 + + // UserInfo 子消息 + message UserInfo { + int64 user_id = 1; // 用户 ID + string name = 2; // 用户名称 + Image avatar = 3; // 用户头像信息 + string open_id = 5000; // 用户的 Open ID + } + } + + +} + + // Rating 主消息 +message Rating { + // 暂无明确的字段,预留未来扩展。 +} + +// User 主消息 +message User { + int64 user_id = 1; // 用户 ID + string nick_name = 2; // 用户昵称 + string avatar = 3; // 用户头像 URL + string user_id_str = 4; // 用户 ID 的字符串形式 + string user_open_id = 5000; // 用户 Open ID + string user_open_id_str = 5001; // 用户 Open ID 的字符串形式 +} + // Author 主消息 +message Author { + int32 type = 1; // 作者类型 + User user_info = 2; // 作者的用户信息 + AuthorBasicInfo author_basic_info = 3; // 作者的基础信息 + string jump_schema = 4; // 跳转链接 + + // AuthorBasicInfo 子消息 + message AuthorBasicInfo { + string name = 1; // 作者名称 + string intorduce = 2; // 作者简介 + Image cover = 3; // 作者封面图片 + } + + // User 子消息(假设结构,用于引用 User 定义) + message User { + int64 user_id = 1; // 用户 ID + string nick_name = 2; // 用户昵称 + string avatar = 3; // 用户头像 URL + string user_id_str = 4; // 用户 ID 的字符串形式 + string user_open_id = 5000; // 用户 Open ID + string user_open_id_str = 5001; // 用户 Open ID 的字符串形式 + } + + +} + + // ProductBanner 主消息 +message ProductBanner { + Image cover = 1; // 封面图片 + string schema = 2; // 跳转链接或模式 + + +} + + // SKU 主消息 +message SKU { + string id = 1; // SKU 唯一标识 + int32 category = 2; // 分类 ID + int64 price = 3; // 价格(单位分) + int64 sale_start_time = 4; // 开售时间(Unix 时间戳) + int64 sale_end_time = 5; // 停售时间(Unix 时间戳) + int32 refundable = 6; // 是否可退款(0:不可退款,1:可退款) + string cover_uri = 7; // 封面图片 URI + Image cover = 8; // 封面图片对象 + string introduction = 9; // 简介 + string title = 10; // 标题 + int32 sale_status = 11; // 销售状态 + string product_id = 12; // 产品 ID + repeated RelatedSkuSimpleInfo related_sku_simple_infos = 13; // 相关 SKU 简略信息 + int32 order_item_type = 14; // 订单项目类型 + string order_biz_ext_info = 15; // 订单扩展信息 + int32 limit_count = 16; // 购买限制数量 + int32 purchase_status = 17; // 购买状态 + bool can_purchase = 18; // 是否可以购买 + int64 episode = 19; // 集数(适用于特定商品类型) + string introduction_text = 20; // 文本简介 + int32 price_type = 21; // 价格类型 + CameraInfo camera_info = 22; // 摄像机信息 + repeated EntityIDsMap entity_ids_map = 23; // 实体映射 + int32 free_status = 24; // 免费状态 + LimitedFreeNotice limited_free_notice = 25; // 限免通知 + int32 live_status = 26; // 直播状态 + bool enable_renew_vip = 27; // 是否支持会员续费 + int64 bonus_amount = 28; // 奖励金额 + int64 right_valid_duration = 29; // 权益有效时长(单位秒) + + // 子消息 RelatedSkuSimpleInfo + message RelatedSkuSimpleInfo { + string sku_id = 1; // SKU ID + string product_id = 2; // 产品 ID + } + + // 子消息 CameraInfo + message CameraInfo { + int64 camera_id = 1; // 摄像机 ID + string camera_id_str = 2; // 摄像机 ID 字符串 + } + + // 子消息 EntityIDsMap + message EntityIDsMap { + int32 entityType = 1; // 实体类型 + repeated int64 releated_entity_ids = 23; // 相关实体 ID 列表 + } + + // 子消息 LimitedFreeNotice + message LimitedFreeNotice { + string icon_uri = 1; // 图标 URI + Image icon = 2; // 图标对象 + string content = 3; // 通知内容 + } + + // 子消息 Image + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} + + // SubscribeMember 主消息 +message SubscribeMember { + string pay_schema = 1; // 支付模式(如支付链接或支付类型标识) + string title = 2; // 订阅标题 + string sub_title = 3; // 订阅副标题 + ProductPriceStruct price_info = 4; // 价格信息 + int32 subscribe_status = 5; // 订阅状态(0:未订阅,1:已订阅等) + int64 valid_start_time = 6; // 有效期开始时间(Unix 时间戳) + int64 valid_end_time = 7; // 有效期结束时间(Unix 时间戳) + + // ProductPriceStruct 主消息 +message ProductPriceStruct { + string amount = 1; // 金额 + string currency = 2; // 货币类型 + int64 pos = 3; // 位置标识 + repeated int32 pay_type = 4; // 支付类型列表 + string full_price = 5; // 原价 + int64 countdown_timestamp = 6; // 倒计时结束时间(Unix 时间戳) + string start = 7; // 开始时间 +} +} + + // FilterReason 主消息 +message FilterReason { + bool failed = 1; // 是否过滤失败 + bool can_show = 2; // 是否可以展示 + string reason = 3; // 过滤原因 + int32 werr_code = 4; // 错误代码 + string filter_name = 5; // 过滤器名称 +} +} + +// PrivilegeInfo 主消息 +message PrivilegeInfo { + int64 entity_id = 1; // 实体 ID + repeated PaidLiveItemInfo item_list = 2; // 项目列表 + int32 paid_live_type = 3; // 付费直播类型 + PrivilegeBaseInfo paid_live_info = 4; // 付费直播信息 + string extra = 5; // 额外信息 + PrivilegeUrl privilege_url = 6; // 特权 URL + PaidLiveUIBaseConfig ui_config = 7; // UI 配置 + PaidLiveConfig entity_config = 8; // 实体配置 + + // PaidLiveItemInfo 主消息 +message PaidLiveItemInfo { + int64 item_id = 1; // 项目 ID + int32 item_type = 2; // 项目类型 +} + + // PrivilegeBaseInfo 主消息 +message PrivilegeBaseInfo { + int32 paid_live_type = 1; // 付费直播类型 + int32 view_right = 2; // 观看权限 + int32 delivery = 3; // 交付方式 +} + + // PrivilegeUrl 主消息 +message PrivilegeUrl { + string privilege_panel_schema = 1; // 权益面板链接或模式 + string privilege_card_schema = 2; // 权益卡片链接或模式 +} + + // PaidLiveUIBaseConfig 主消息 +message PaidLiveUIBaseConfig { + int32 paid_live_type = 1; // 付费直播类型 + Image paid_live_icon = 2; // 付费直播图标 + string paid_live_icon_title = 3; // 图标标题 + int64 duration = 4; // 付费直播时长 + string no_right_end_title = 5; // 无权限时的结束标题 + string no_right_end_sub_title = 6; // 无权限时的结束副标题 + string has_right_end_title = 7; // 有权限时的结束标题 + string has_right_end_sub_title = 8; // 有权限时的结束副标题 + string paid_conversion_jump_url = 9; // 付费转化跳转 URL + string panel_six_jump_url = 10; // 六宫格跳转 URL + string feed_page_purchase_btn_word = 11; // 购买按钮文案(推荐页) + string purchase_btn_word = 12; // 购买按钮文案 + string im_share_top_title = 13; // IM 分享顶部标题 + string im_share_bottom_title = 14; // IM 分享底部标题 + string search_card_top_title = 15; // 搜索卡片顶部标题 + string panel_feed_jump_url = 16; // 面板跳转 URL(推荐页) + string panel_im_card_jump_url = 17; // 面板跳转 URL(IM 卡片) + string panel_in_room_jump_url = 18; // 面板跳转 URL(直播间) + string panel_search_card_jump_url = 19; // 面板跳转 URL(搜索卡片) + +// 图片信息 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} + + // PaidLiveConfig 主消息 +message PaidLiveConfig { + int64 spu_id = 1; // SPU ID + string spu_id_str = 2; // SPU ID 字符串 + int64 sku_id = 3; // SKU ID + string sku_id_str = 4; // SKU ID 字符串 + string title = 5; // 标题 + string sub_title = 6; // 副标题 + repeated string tags = 7; // 标签列表 + Image cover = 8; // 封面图片 + int32 sell_status = 9; // 销售状态 + int32 status = 10; // 状态 + repeated PriceInfo ios_pay_price_info = 11;// iOS 平台支付价格信息 + repeated PriceInfo android_pay_price_info = 12;// Android 平台支付价格信息 + UserRight user_right = 13; // 用户权益信息 + + // 图片信息 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } + + // 支付价格信息 + message PriceInfo { + int32 pay_type = 1; // 支付类型 + int64 price = 2; // 价格 + int32 right_duration = 3; // 权益时长(单位:天) + } + + // 用户权益信息 + message UserRight { + int32 view_right = 1; // 观看权限 + int64 duration = 3; // 权益持续时间 + int32 delivery = 6; // 交付方式 + bool need_delivery_notice = 7; // 是否需要交付通知 + } +} +} +// CircleInfo 主消息 +message CircleInfo { + int64 id = 1; // 圈子的唯一标识符 + string name = 2; // 圈子的名称 + Image cover_img = 3; // 圈子的封面图片 + string description = 4; // 圈子的描述 +} +// DesireInfo 主消息 +message DesireInfo { + int64 desire_id = 1; // 欲望或需求的唯一标识符(整型) + string desire_id_str = 2; // 欲望或需求的唯一标识符(字符串形式) +} +// FeedbackCard 主消息 +message FeedbackCard { + string title = 1; // 反馈卡标题 + int64 feedback_id = 2; // 反馈 ID + repeated Question question = 3; // 反馈问题列表 + Condition condition = 4; // 条件配置 + int64 room_id = 5; // 房间 ID + Room room_data = 6; // 房间数据 + string negative_text = 7; // 否定操作文本 + Image bgm = 8; // 背景音乐或图片 + int32 feedback_type = 9; // 反馈类型 + int32 inflow_feedback_type = 10; // 流入反馈类型 + int32 anchor_feedback_type = 11; // 主播反馈类型 + + // Question 子消息 + message Question { + string question_key = 1; // 问题的唯一标识 + string question_text = 2; // 问题内容 + int64 type = 3; // 问题类型 + repeated Option options = 4; // 问题选项列表 + int64 question_id = 5; // 问题 ID + repeated RoomCardStruct room_cards = 6; // 房间卡片列表 + } + + // Option 子消息 + message Option { + string key = 1; // 选项的唯一标识 + string text = 2; // 选项内容 + int64 sub_question_id = 3; // 子问题 ID + bool negative = 4; // 是否为否定选项 + string toast_text = 5; // 提示文本 + int32 tendency = 6; // 倾向性指标 + } + + // RoomCardStruct 子消息 + message RoomCardStruct { + Room data = 1; // 房间数据 + string title = 2; // 卡片标题 + string sub_title = 3; // 卡片副标题 + } + + // Condition 子消息 + message Condition { + int64 from_time = 1; // 开始时间戳 + int64 to_time = 2; // 结束时间戳 + repeated int64 action_ids = 3; // 动作 ID 列表 + int64 action_type = 4; // 动作类型 + int64 preview_time = 5; // 预览时间 + int64 pcu_lower_threshold = 6; // 最低并发用户阈值 + ClientImpression client_impression = 7; // 客户端印象 + } + + // ClientImpression 子消息 + message ClientImpression { + int64 ignore_submit_counts = 1; // 忽略提交次数 + int64 ignore_submit_show_interval = 2; // 忽略提交显示间隔 + int64 ending_page_show_duration = 3; // 结束页显示时长 + } +} + +// VipData 主消息 +message VipData { + int32 vip_room = 1; // VIP 房间标志 +} +// ToolBarData 主消息 +message ToolBarData { + repeated ToolBarComponentData entrance_list = 1; // 工具栏入口列表 + repeated ToolBarComponentData more_panel = 2; // 更多面板组件列表 + int32 max_entrance_cnt = 3; // 最大入口数量 + repeated ToolBarComponentData landscape_up_right = 4; // 横屏右上角组件列表 + map skin_resource = 5; // 皮肤资源映射 + int32 max_entrance_cnt_landscape = 6; // 横屏最大入口数量 + ToolbarPermutation permutation = 7; // 工具栏排列信息 +} + +// ToolBarComponentData 子消息 +message ToolBarComponentData { + string component_id = 1; // 组件唯一标识 + string component_name = 2; // 组件名称 + string component_icon = 3; // 组件图标 URL + string action_url = 4; // 组件点击动作 URL +} + +// ToolbarPermutation 子消息 +message ToolbarPermutation { + repeated string order = 1; // 工具栏组件排列顺序 +} + +// ComponentSkin 子消息 +message ComponentSkin { + string skin_id = 1; // 皮肤 ID + string skin_url = 2; // 皮肤资源 URL +} +// BeautifyInfo 主消息 +message BeautifyInfo { + bool use_filter = 1; // 是否使用美颜滤镜 + bool commerce_use_filter = 2; // 是否在商业场景中使用美颜滤镜 +} +// UnionLiveInfo 主消息 +message UnionLiveInfo { + repeated GuestAnchor guest_anchors = 1; // 嘉宾主播列表 + string avatar_description = 2; // 头像描述 + bool fixed_sort = 3; // 是否固定排序 + string tag = 4; // 标签 + int32 type = 5; // 联合直播类型 + + // GuestAnchor 子消息 + message GuestAnchor { + User user = 1; // 用户信息 + string tag = 2; // 主播标签 + int32 status = 3; // 主播状态 + } +} + +// GameCPData 主消息 +message GameCPData { + int32 is_live_a_promoted_a = 1; // 是否为推广中的直播 + string game_id = 2; // 游戏 ID + string game_name = 3; // 游戏名称 + int64 promote_instance_id = 4; // 推广实例 ID +} + +// GamePlayData 主消息 +message GamePlayData { + int32 play_type = 1; // 游戏玩法类型 + int64 play_id = 2; // 游戏玩法 ID + int64 game_id = 3; // 游戏 ID +} +// AvatarLiveInfo 主消息 +message AvatarLiveInfo { + string type = 1; // 类型信息 + string text = 2; // 文本信息 + int32 text_size = 3; // 文本大小 + Image image = 4; // 图片信息 +} +// CommentWallInfo 主消息 +message CommentWallInfo { + string content = 1; // 评论内容 + int64 id = 2; // 评论墙信息 ID + int64 comment_msg_id = 3; // 评论消息 ID + int64 commenter_id = 4; // 评论者 ID + string commenter_nickname = 5; // 评论者昵称 + int64 event_time = 6; // 事件时间戳 + int64 msg_time = 7; // 消息时间戳 + int64 end_time = 8; // 结束时间戳 + int32 countdown_style = 9; // 倒计时样式 + int64 operator_id = 10; // 操作者 ID + string operator_nickname = 11; // 操作者昵称 + string operator_openid = 5000; // 操作者 OpenID + string commenter_open_id = 5001; // 评论者 OpenID +} + +// CommentWallPosition 主消息 +message CommentWallPosition { + double x = 1; // 评论墙位置 X 坐标 + double y = 2; // 评论墙位置 Y 坐标 + int64 event_time = 3; // 事件时间戳 +} +// RoomSpecificSceneTypeInfo 主消息 +message RoomSpecificSceneTypeInfo { + bool is_union_live_room = 1; // 是否为联合直播房间 + bool is_life = 2; // 是否为生活类房间 + int32 is_protected_room = 3; // 是否为受保护的房间 + int32 is_lasted_goods_room = 4; // 是否为最新商品房间 + int32 is_desire_room = 5; // 是否为需求房间 + bool commentary_type = 6; // 是否为解说类型 + int32 is_sub_orientation_vertical_room = 7; // 是否为纵向房间 +} + +// RelevantRecommendation 主消息 +message RelevantRecommendation { + int32 relevant_type = 1; // 推荐类型 + int32 bottom_bar_category = 2; // 底部栏分类 + Image icon = 3; // 图标信息 + string bar_text_prefix = 4; // 底部栏前缀文本 + string bar_text_postfix = 5; // 底部栏后缀文本 + HighLightInfo high_light_info = 6; // 高亮信息 + EcomInfo ecom_info = 7; // 电商信息 + VsInfo vs_info = 8; // 比赛信息 + WhiteCategoryInfo white_category_info = 9; // 分类信息 + + // HighLightInfo 子消息 + message HighLightInfo { + string main_url = 1; // 主高亮 URL + string bak_url = 2; // 备用高亮 URL + } + + // EcomInfo 子消息 + message EcomInfo { + int64 product_id = 1; // 商品 ID + string product_name = 2; // 商品名称 + } + + // VsInfo 子消息 + message VsInfo { + repeated Episode episodes = 1; // 比赛信息的剧集列表 + + // Episode 子消息 + message Episode { + int64 episode_id = 1; // 剧集 ID + string episode_name = 2; // 剧集名称 + Image episode_cover = 3; // 剧集封面 + string current_period = 4; // 当前周期 + int64 season_id = 5; // 季度 ID + string item_id = 6; // 项目 ID + } + } + + // WhiteCategoryInfo 子消息 + message WhiteCategoryInfo { + int64 first_level_tag_id = 1; // 一级分类标签 ID + } +} + +// IndustryServiceInfo 主消息 +message IndustryServiceInfo { + bool entrance_open = 1; // 是否开启入口 + Image icon_image = 2; // 图标图片 + ConsultInfo consult_info = 3; // 咨询信息 + + // ConsultInfo 子消息定义 + message ConsultInfo { + string biz_info = 1; // 业务信息 + int32 consult_role = 2; // 咨询角色(角色类型) + } +} +// EcomData 主消息 +message EcomData { + EcomLiveCard live_card = 1; // 直播卡片 + EcomPop pop = 2; // 弹窗信息 + EcomGoodsCard goods_card = 3; // 商品卡片 + repeated RedsShowInfo reds_show_infos = 4; // 红包展示信息数组 + RoomCartV2 room_cart_v2 = 5; // 房间购物车信息 +} + +// EcomLiveCard 消息定义 +message EcomLiveCard { + EcomProduct product = 1; // 产品信息 + EcomIcon icon = 2; // 图标信息 + EcomCampaign campaign = 3; // 活动信息 +} + +// EcomProduct 消息定义 +message EcomProduct { + int64 promotion_id = 1; // 促销 ID + int64 product_id = 2; // 产品 ID + string title = 3; // 产品标题 + string cover_image = 4; // 产品封面图片 URL + EcomPrice price = 5; // 当前价格 + int64 regular_price = 6; // 原价 + int64 deposit_price = 7; // 定金价格 +} + +// EcomPrice 消息定义 +message EcomPrice { + string prefix = 1; // 价格前缀 + string suffix = 2; // 价格后缀 + int64 by_cent = 3; // 价格(以分为单位) + string format_price = 4; // 格式化价格字符串 +} + +// EcomIcon 消息定义 +message EcomIcon { + string url = 1; // 图标 URL +} + +// EcomCampaign 消息定义 +message EcomCampaign { + int64 remaining_seconds = 1; // 剩余时间(秒) + EcomAuction auction = 2; // 拍卖信息 + int64 type = 3; // 活动类型 +} + +// EcomAuction 消息定义 +message EcomAuction { + int64 price = 1; // 当前拍卖价格 + string price_label = 2; // 价格标签 + string button_label = 3; // 按钮标签 + EcomBidder user = 4; // 当前竞标者信息 + int64 status = 5; // 拍卖状态 +} + +// EcomBidder 消息定义 +message EcomBidder { + string name = 1; // 竞标者名称 + EcomAvatar avatar = 2; // 竞标者头像 +} + +// EcomAvatar 消息定义 +message EcomAvatar { + string url = 1; // 头像 URL + int64 width = 2; // 头像宽度 + int64 height = 3; // 头像高度 +} + +// EcomPop 消息定义 +message EcomPop { + int64 product_id = 1; // 产品 ID + int64 promotion_id = 2; // 促销 ID + string title = 3; // 弹窗标题 + string cover = 4; // 弹窗封面图片 URL + EcomPrice min_price = 5; // 最低价格 + string selling_point = 6; // 卖点 + string jumanji_json = 7; // 扩展信息(JSON 格式) +} + +// EcomGoodsCard 消息定义 +message EcomGoodsCard { + string goods_id = 1; // 商品 ID + string name = 2; // 商品名称 + string image_url = 3; // 商品图片 URL + double price = 4; // 商品价格 +} + +// RedsShowInfo 消息定义 +message RedsShowInfo { + string id = 1; // 红包 ID + string description = 2; // 红包描述 +} + +// RoomCartV2 消息定义 +message RoomCartV2 { + string cart_id = 1; // 购物车 ID + string description = 2; // 购物车描述 +} + +// LifeGrouponInfo 消息定义 +message LifeGrouponInfo { + int64 permission_status = 1; // 权限状态 + int64 agg_card_id = 2; // 聚合卡片 ID + string icon_url = 3; // 图标 URL + string dynamic_url = 4; // 动态 URL + string life_live_pack_component_config = 5; // 生活直播包组件配置 +} +// UpperRightWidgetData 消息定义 +message UpperRightWidgetData { + string name = 1; // 小部件名称 + int32 widget_type = 2; // 小部件类型 + string extra = 3; // 额外信息(可选) + int32 priority = 4; // 显示优先级 +} +// LikeDisplayConfig 消息定义 +message LikeDisplayConfig { + int32 show_text = 1; // 是否显示文本 + string display_text = 2; // 显示的文本内容 +} +// WelfareProjectInfo 消息定义 +message WelfareProjectInfo { + int64 project_id = 1; // 项目 ID + int64 show_frequency = 2; // 展示频率 + string container_card_url = 3; // 容器卡片 URL + string welfare_detail_page_url = 4; // 福利详情页面 URL + string project_id_str = 5; // 项目 ID 字符串 +} +// ActivityData 消息定义 +message ActivityData { + bool xg_play = 1; // 是否开启 XG 播放 + MatchRoomData match = 2; // 匹配房间数据 +} +// MatchDrawer 消息定义 +message MatchDrawer { + string entry_name = 1; // 入口名称 + Image entry_icon = 2; // 入口图标 + string drawer_title = 3; // 抽屉标题 + Image drawer_background = 4; // 抽屉背景 + string return_btn_text = 5; // 返回按钮文本 + int32 display_mode = 6; // 显示模式 +} +// MatchRoomData 消息定义 +message MatchRoomData { + MatchDrawer drawer = 1; // 抽屉信息 + ToutiaoMatchData match = 2; // 头条匹配数据 + Image drawer_label = 3; // 抽屉标签 + string pcu_str = 4; // PCU 字符串 + Image drawer_official_label = 5; // 抽屉官方标签 + Image match_background = 6; // 匹配背景 + MatchUserInfo match_user_info = 7; // 匹配用户信息 +} +// TeamInfo 消息定义 +message TeamInfo { + int64 team_id = 1; // 团队 ID + string team_name = 2; // 团队名称 + string schema_url = 3; // 团队 Schema URL + Image team_icon = 4; // 团队图标 + Image team_badge = 5; // 团队徽章 + Image team_background = 6; // 团队背景 + string system_msg = 7; // 系统消息 + string team_id_str = 8; // 团队 ID 字符串 + Image team_avatar_box = 9; // 团队头像框 +} +// MatchUserInfo 消息定义 +message MatchUserInfo { + TeamInfo user_team_info = 1; // 用户团队信息 + map user_quiz_info = 2; // 用户竞猜信息 + bool is_activity_account = 3; // 是否为活动账户 + bool need_retry = 4; // 是否需要重试 +} +// TeamStats 消息定义 +message TeamStats { + int64 team_id = 1; // 团队 ID + double possession = 2; // 控球率 + double shot_on = 3; // 射正次数 + double shot_off = 4; // 射偏次数 + double free_kick = 5; // 任意球次数 + double corner = 6; // 角球次数 + double counter = 7; // 反击次数 + double saves = 8; // 扑救次数 + double offside = 9; // 越位次数 + double foul_commit = 10; // 犯规次数 + double yellow_cards = 11; // 黄牌数 + double redCards = 12; // 红牌数 + double pass = 13; // 传球次数 + double key_pass = 14; // 关键传球次数 + double passes_completed = 15; // 完成传球次数 + double steal = 16; // 抢断次数 + double intercept = 17; // 拦截次数 + double shots = 18; // 射门次数 + double possession_five_min = 19; // 五分钟控球率 +} +// PlayerStats 消息定义 +message PlayerStats { + int64 player_id = 1; // 球员 ID + int64 team_id = 2; // 团队 ID + double minutes_played = 3; // 上场时间(分钟) + double goals = 4; // 进球数 + double assists = 5; // 助攻数 + double shots = 6; // 射门次数 + double shots_on = 7; // 射正次数 + double y_cards = 8; // 黄牌数 + double r_cards = 9; // 红牌数 + double offsides = 10; // 越位次数 + double fouls_committed = 11; // 犯规次数 + double own_goals = 12; // 乌龙球数 + double saves = 13; // 扑救次数 + double caught_ball = 14; // 接住球次数 + double clean_sheets = 15; // 零封场次 + double pass = 16; // 传球次数 + double key_pass = 17; // 关键传球次数 + double passes_completed = 18; // 完成传球次数 + double steal = 19; // 抢断次数 + double intercept = 20; // 拦截次数 + double clearances = 21; // 解围次数 +} +// ToutiaoMatchData 消息定义 +message ToutiaoMatchData { + int64 match_id = 1; // 比赛 ID + string match_title = 2; // 比赛标题 + Against against = 3; // 对阵信息 + string started_time = 4; // 开始时间(字符串格式) + string city = 5; // 城市 + string venue_name = 6; // 场馆名称 + string referee = 7; // 裁判 + TeamStats team_stats = 8; // 团队统计 + repeated PlayerStats player_stats = 9; // 球员统计列表 + string match_group = 10; // 比赛组 + string match_round = 11; // 比赛轮次 + string match_phase_name = 12; // 比赛阶段名称 + bool can_subscribe = 13; // 是否可订阅 + int32 display_status = 14; // 显示状态 + string bjt_format = 15; // 北京时间格式 + string local_time_format = 16; // 本地时间格式 + int32 live_status = 17; // 直播状态 + int32 match_status = 18; // 比赛状态 + string match_id_str = 19; // 比赛 ID 字符串 + int64 started_time_unix = 20; // 开始时间(Unix 时间戳) + int32 left_score_addition = 21; // 左侧得分附加 + int32 right_score_addition = 22; // 右侧得分附加 + string duration = 23; // 持续时间 + repeated int64 event_ids = 24; // 事件 ID 列表 + int64 winner_id = 25; // 胜者 ID + string winner_id_str = 26; // 胜者 ID 字符串 + Image winner_icon = 27; // 胜者图标 + string event_name = 28; // 事件名称 + string bo_num = 29; // BO 数量 +} +// OfficialChannelExtraInfo 消息定义 +message OfficialChannelExtraInfo { + int64 show_start_ts = 1; // 节目开始时间戳 + string showlist_schema = 2; // 节目单 Schema + int64 showlist_id = 3; // 节目单 ID + string showlist_name = 4; // 节目单名称 +} +// PackMetaInfo 消息定义 +message PackMetaInfo { + string scene = 1; // 场景 + string env = 2; // 环境 + string dc = 3; // 数据中心 + string trace_id = 4; // 跟踪 ID + string cluster = 5; // 集群信息 + map extras = 6; // 额外信息映射 +} +// InteractOpenExtra 消息定义 +message InteractOpenExtra { + map debug_info = 1; // 调试信息映射 +} +// PreviewExposeData 消息定义 +message PreviewExposeData { + int32 style = 1; // 样式 + PreviewGuide preview_guide = 2; // 预览指南 + repeated Meta metas = 3; // 元数据列表 + repeated ChatMessage chat_msgs = 4; // 聊天消息列表 + repeated Meta force_insertion = 5; // 强制插入的元数据 + int32 scroll_after_ms = 6; // 滚动延迟(毫秒) + bool need_realtime = 7; // 是否需要实时 + int32 message_scroll_after_ms = 8; // 消息滚动延迟(毫秒) + int32 message_scroll_interval_ms = 9; // 消息滚动间隔(毫秒) + string preview_intro = 10; // 预览介绍 + PreviewExtendArea preview_extend_area = 11; // 预览扩展区域 + int32 show_uv_pv = 12; // 显示 UV/PV + int32 show_name_abbreviation = 13; // 显示名称缩写 + PreviewSwitch switch = 14; // 预览开关 + int32 is_preview_use_websocket = 15; // 是否使用 WebSocket 进行预览 + bool is_aweme_video_feed = 16; // 是否是 Aweme 视频流 + bool show_preview_cards = 17; // 是否显示预览卡片 + PreviewPromotion preview_promotion = 18; // 预览推广 + PreviewIMExtend preview_im_extend = 19; // 预览 IM 扩展 + repeated EtData et_data = 20; // ET 数据 + int32 alive_checker = 21; // 活跃检查器 + EnterPublicAreaAnimation enter_public_area_animation = 22;// 进入公共区域动画 + PreviewPromotionSyncData preview_promotion_sync_data = 23;// 预览推广同步数据 + GrowthTask growth_task = 24; // 成长任务 + PreviewExitGuide preview_exit_guide = 25; // 预览退出指南 + repeated PreviewExitGuide preview_exit_guide_list = 26; // 预览退出指南列表 + ClientComponent client_component = 27; // 客户端组件 + IOSClientComponent ios_client_component = 28; // iOS 客户端组件 + + message PreviewGuide { + Image icon = 1; // 图标 + string tip = 2; // 提示 + int64 type = 3; // 类型 + repeated string roll_tips = 4; // 滚动提示 + int64 coupon_mate_id = 5; // 优惠券 ID + int64 user_tag_get_coin = 6; // 用户标签获取硬币 + int64 live_mession_style = 7; // 直播任务样式 + string et_type = 8; // ET 类型 + string extra = 9; // 额外信息 + map et_extra = 10; // ET 额外信息 + string enter_tip = 11; // 进入提示 + repeated string enter_roll_tips = 12; // 进入滚动提示 + } + + message Meta { + int32 type = 1; // 类型 + Host host = 2; // 主机信息 + string content = 3; // 内容 + + message Host { + Image icon = 1; // 图标 + string tip = 2; // 提示 + string color = 3; // 颜色 + } + } + + message ChatMessage { + string nick_name = 1; // 昵称 + string nick_name_color = 2; // 昵称颜色 + string content = 3; // 内容 + } + + message PreviewExtendArea { + Image extend_icon = 1; // 扩展图标 + string extend_pre_text = 2; // 扩展前文本 + string extend_text = 3; // 扩展文本 + int32 extend_type = 4; // 扩展类型 + string extra = 5; // 额外信息 + int32 use_marquee = 6; // 使用跑马灯 + int32 icon_type = 7; // 图标类型 + repeated Part right_part = 8; // 右侧部分 + string button_part = 9; // 按钮部分 + repeated Part mid_part = 10; // 中间部分 + bool need_delimiter = 11; // 是否需要分隔符 + repeated Part bottom_part = 12; // 底部部分 + int32 ui_type = 13; // UI 类型 + int32 version = 14; // 版本 + ActionConfig action_cfg = 17; // 动作配置 + bool use_pass_through_extra_json = 18; // 使用透传额外 JSON + string pass_through_extra_json = 19; // 透传额外 JSON + map extra_enter_room = 20; // 额外进入房间信息 + string extra_business = 21; // 额外业务 + bool no_need_poll = 22; // 不需要轮询 + map et_extra = 23; // ET 额外信息 + int32 clickable_area = 24; // 可点击区域 + + message Part { + int32 fontSize = 1; // 字体大小 + int32 interval = 2; // 间隔 + string text = 3; // 文本 + bool cuttable = 4; // 可裁剪 + bool deleted = 5; // 已删除 + string font_color = 6; // 字体颜色 + bool bold = 7; // 加粗 + int32 part_type = 8; // 部分类型 + Image image = 9; // 图片 + string background_color = 10; // 背景颜色 + Image left_image = 11; // 左侧图片 + } + + message ActionConfig { + int32 areaAction = 1; // 区域动作 + map actionPrams = 2; // 动作参数 + } + } + + message PreviewSwitch { + int32 title = 1; // 标题 + int32 preview_guide = 2; // 预览指南 + int32 dynamic_label = 3; // 动态标签 + int32 assist_label = 4; // 辅助标签 + int32 extend_area = 5; // 扩展区域 + } + + message PreviewPromotion { + repeated Image avatar_icons = 1; // 头像图标 + string text = 2; // 文本 + repeated string fast_comments = 3; // 快速评论 + repeated EmojiDetail fast_comments_emoji = 4; // 快速评论表情 + + message EmojiDetail { + string emoji = 1; // 表情 + string description = 2; // 描述 + } + } + + message PreviewIMExtend { + int64 im_extend_type = 1; // IM 扩展类型 + Image icon = 2; // 图标 + string main_title = 3; // 主标题 + string sub_title = 4; // 副标题 + string extra = 5; // 额外信息 + } + + message EtData { + string type_enter_room = 1; // 进入房间类型 + string type_mob_params = 2; // 移动参数类型 + string type_params = 3; // 参数类型 + string type_first_room_params = 4; // 第一个房间参数类型 + string type_first_room_mob_params = 5; // 第一个房间移动参数类型 + string type_first_show_room_params = 6; // 第一次显示房间参数类型 + string type_first_show_mob_params = 7; // 第一次显示移动参数类型 + } + + message GrowthTask { + string task_key = 1; // 任务键 + string main_text = 2; // 主文本 + string sub_text = 3; // 副文本 + map extra = 4; // 额外信息 + } + + message PreviewPromotionSyncData { + Image icon = 1; // 图标 + string text = 2; // 文本 + LuckyBag lucky_bag = 3; // 幸运袋 + int64 type = 4; // 类型 + LuckyMoney lucky_money = 5; // 幸运钱 + + message LuckyBag { + int64 lottery_id = 1; // 彩票 ID + int64 start_at = 2; // 开始时间 + int64 draw_at = 3; // 抽奖时间 + } + + message LuckyMoney { + int64 box_id = 1; // 盒子 ID + int64 start_at = 2; // 开始时间 + int64 delay_seconds = 3; // 延迟秒数 + int64 display_end_at = 4; // 显示结束时间 + int64 status = 5; // 状态 + string text = 6; // 文本 + } + } + + message PreviewExitGuide { + Image icon = 1; // 图标 + string main_text = 2; // 主文本 + string sub_text = 3; // 副文本 + string schema_url = 4; // 模式 URL + int32 type = 5; // 类型 + string button_text = 6; // 按钮文本 + int64 latest_live_record = 7; // 最新直播记录 + repeated User user_list = 8; // 用户列表 + string tag = 9; // 标签 + + message User { + string user_id = 1; // 用户 ID + string user_name = 2; // 用户名 + } + } + + // EnterPublicAreaAnimation 消息定义 +message EnterPublicAreaAnimation { + string public_area_effect_url = 1; // 公共区域效果的 URL +} + + // ClientComponent 消息定义 +message ClientComponent { + map portrait_component_map = 1; // 竖屏组件映射 + map landscape_component_map = 2; // 横屏组件映射 + bool is_open = 3; // 是否开启 + int64 template_id = 4; // 模板 ID + map preview_default_component_map = 5; // 预览默认组件映射 +} + +// ClientComponentInfo 消息定义 +message ClientComponentInfo { + string component_name = 1; // 组件名称 + string version = 2; // 版本 + string description = 3; // 描述 +} + + // IOSClientComponent 消息定义 +message IOSClientComponent { + repeated IOSFragment fragments = 1; // 碎片列表 + repeated IOSContainerLayout landscape_layout = 2; // 横屏布局 + repeated IOSContainerLayout portrait_layout = 3; // 竖屏布局 + bool is_open = 4; // 是否开启 + int64 template_id = 5; // 模板 ID + repeated IOSFragment elements = 6; // 元素列表 +} + +// IOSFragment 消息定义 +message IOSFragment { + string fragment_id = 1; // 碎片 ID + string name = 2; // 名称 + string description = 3; // 描述 +} + +// IOSContainerLayout 消息定义 +message IOSContainerLayout { + string layout_id = 1; // 布局 ID + string type = 2; // 类型 + repeated string component_ids = 3; // 组件 ID 列表 +} + + +} +// Appearance 消息定义 +message Appearance { + Bubble head_bubble = 1; // 头像气泡 + int64 up_right_stats_display_type = 2; // 右上角状态显示类型 + MoreEntrance entrance = 3; // 更多入口 + repeated ToolbarItemConfig toolbar_list = 4;// 工具栏列表 + int64 preview_style = 5; // 预览样式 + Image cover_gauss = 6; // 封面高斯模糊 + repeated ContentTag content_tags = 7; // 内容标签 + PreviewLabel preview_label = 8; // 预览标签 + Image cover_dynamic_mask = 9; // 封面动态遮罩 + Image horizontal_background = 10; // 横向背景 + repeated WideCover wide_cover_list = 11; // 宽封面列表 + Image blur_placeholder_img = 12; // 模糊占位图 + + // Bubble 嵌套消息定义 + message Bubble { + int32 type = 1; // 类型 + repeated string roll_tips = 2; // 滚动提示 + Image icon = 3; // 图标 + int32 roll_after_ms = 4; // 滚动开始时间(毫秒) + int64 coupon_mate_id = 5; // 优惠券 ID + string et_type = 6; // 扩展类型 + string extra = 7; // 额外信息 + } + + // ContentTag 嵌套消息定义 + message ContentTag { + string text = 1; // 标签文本 + } + + // WideCover 嵌套消息定义 + message WideCover { + Image cover = 1; // 封面图片 + int64 cover_type = 2; // 封面类型 + } + + + // MoreEntrance 消息定义 +message MoreEntrance { + string Title = 1; // 入口标题 + int64 Type = 2; // 入口类型 +} + +// ToolbarItemConfig 消息定义 +message ToolbarItemConfig { + int32 toolbar_type = 1; // 工具栏类型 + Image icon = 2; // 图标 + string jump_schema = 3; // 跳转链接 + int32 display_type = 4; // 显示类型 + Image dynamic_icon = 5; // 动态图标 + Image icon_vertical = 6; // 垂直图标 + Image dynamic_bottom_icon = 7; // 动态底部图标 + Image bottom_icon = 8; // 底部图标 + repeated Toast toast_list = 9; // 提示列表 + string extra = 10; // 额外信息 + + + + // Toast 嵌套消息定义 + message Toast { + string message = 1; // 提示消息 + int32 duration_ms = 2; // 提示显示时长(毫秒) + } +} + + // PreviewLabel 消息定义 +message PreviewLabel { + int32 type = 1; // 标签类型 + repeated string label_tips = 2; // 标签提示列表 + int32 label_type = 3; // 标签的详细类型 + Image label_image = 4; // 标签的图片 + bool hit_test = 5; // 是否启用点击测试 + + +} +} +// CommentaryRoomInfo 消息定义 +message CommentaryRoomInfo { + int64 user_id = 1; // 用户 ID + Image avatar = 2; // 用户头像 + string nickname = 3; // 用户昵称 + string title = 4; // 房间标题 + int64 room_id = 5; // 房间 ID + string open_id = 5000; // 用户 OpenID + +} +// MatchChatConfig 消息定义 +message MatchChatConfig { + string main_group_icon_url = 1; // 主组图标 URL + string main_group_background_url = 2; // 主组背景 URL + string guest_group_icon_url = 3; // 客组图标 URL + string guest_group_background_url = 4; // 客组背景 URL + repeated string aggregate_icon_url = 5; // 聚合图标 URL 列表 +} +// ShareResource 消息定义 +message ShareResource { + Image toast_background = 1; // Toast 背景图片 + map qrcode = 2; // 二维码信息 + string ug_share_info = 3; // 用户生成内容分享信息 + + +} +// ClientComponent 消息定义 +message ClientComponent { + map portrait_component_map = 1; // 竖屏组件映射 + map landscape_component_map = 2; // 横屏组件映射 + bool is_open = 3; // 是否启用 + int64 template_id = 4; // 模板 ID + map preview_default_component_map = 5; // 预览默认组件映射 + + // ClientComponentInfo 嵌套消息定义 + message ClientComponentInfo { + string component_id = 1; // 组件 ID + string component_name = 2; // 组件名称 + string component_type = 3; // 组件类型 + map config = 4; // 配置信息 + } +} +// RoomChannelData 消息定义 +message RoomChannelData { + int32 status = 1; // 状态 + repeated RoomChannelInfo channel_list = 2; // 频道列表 + int32 support_room_channel_mode = 3; // 支持的房间频道模式 + int32 limit_of_num = 4; // 数量限制 + bool can_create = 5; // 是否可以创建 + Image background = 6; // 背景图片 + bool tab_landing = 7; // 是否支持标签着陆 + bool can_link_mic = 8; // 是否可以连麦 + bool hide_landscape = 101; // 是否隐藏横屏 + + // RoomChannelInfo 嵌套消息定义 + message RoomChannelInfo { + string channel_id = 1; // 频道 ID + string channel_name = 2; // 频道名称 + string description = 3; // 频道描述 + } + + // Image 嵌套消息定义 + message Image { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } +} +// OpenContentData 消息定义 +message OpenContentData { + OpenActivityData open_activity_data = 1; // 开放活动数据 + + // OpenActivityData 嵌套消息定义 + message OpenActivityData { + string activity_id = 1; // 活动 ID + string activity_name = 2; // 活动名称 + string start_time = 3; // 活动开始时间 + string end_time = 4; // 活动结束时间 + repeated string participants = 5; // 活动参与者列表 + map metadata = 6; // 活动的元数据键值对 + } +} +// LabelInfo 消息定义 +message LabelInfo { + int64 label_type = 1; // 标签类型 + int64 display_type = 2; // 显示类型 + SpliceLabel splice_label = 3; // 拼接标签信息 + Image whole_label = 4; // 整体标签图像 + string extra = 5; // 额外信息 + ProfilePicSpliceLabel profile_pic_splice_label = 6; // 头像拼接标签 + map et_extra = 7; // 额外的键值对信息 + + // SpliceLabel 嵌套消息定义 + message SpliceLabel { + string text = 1; // 标签文本 + string color = 2; // 标签颜色 + } + + // ProfilePicSpliceLabel 嵌套消息定义 + message ProfilePicSpliceLabel { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 + } + +} +// RoomFeedData 消息定义 +message RoomFeedData { + LabelInfo relation_label = 1; // 关系标签信息 + FollowTopAppearance follow_top_appearance = 2; // 顶部关注展示 + StreamCutPosition cut_position = 3; // 流切割位置信息 + DrawerConfig drawer_config = 4; // 抽屉配置 + + // StreamCutPosition 嵌套消息定义 + message StreamCutPosition { + double x1 = 1; // 左上角 X 坐标 + double y1 = 2; // 左上角 Y 坐标 + double x2 = 3; // 右下角 X 坐标 + double y2 = 4; // 右下角 Y 坐标 + int32 source_width = 5; // 源宽度 + int32 source_height = 6; // 源高度 + } + + // FollowTopAppearance 嵌套消息定义 + message FollowTopAppearance { + int32 style = 1; // 展示样式 + StreamCutPosition cut_position = 2; // 切割位置 + Image image = 3; // 图片信息 + } + + // DrawerConfig 嵌套消息定义 + message DrawerConfig { + AvatarArea avatar_area = 1; // 头像区域信息 + EntranceIcon entrance_icon = 2; // 入口图标 + EntranceTitle entrace_title = 3; // 入口标题 + ArrowView arrow_view = 4; // 箭头视图 + EntranceLayout entrance_layout = 5; // 入口布局 + SpecialConfig special_config = 6; // 特殊配置 + + // AvatarArea 嵌套消息定义 + message AvatarArea { + int32 can_show_follow = 1; // 是否显示关注 + } + + // EntranceIcon 嵌套消息定义 + message EntranceIcon { + Image image = 1; // 图片信息 + int32 anim_show_method = 2; // 动画显示方式 + int32 anim_stop_method = 3; // 动画停止方式 + string height = 4; // 高度 + } + + // EntranceTitle 嵌套消息定义 + message EntranceTitle { + string text = 1; // 标题文本 + } + + // ArrowView 嵌套消息定义 + message ArrowView { + int32 visibility = 1; // 可见性 + } + + // EntranceLayout 嵌套消息定义 + message EntranceLayout { + int32 layout_params = 1; // 布局参数 + } + + // SpecialConfig 嵌套消息定义 + message SpecialConfig { + EntranceTitle entrace_title = 1; // 入口标题 + int32 more_live_tab = 2; // 更多直播标签 + int32 insert_room_reason = 3; // 插入房间原因 + FreqInfo freq_info = 4; // 频率信息 + string current_talent = 5; // 当前才艺 + + // FreqInfo 嵌套消息定义 + message FreqInfo { + int32 show_duration = 1; // 显示时长 + string freq_key = 2; // 频率键 + int32 freq_duration = 3; // 频率持续时间 + } + } + } +} +// RoomGameData 消息定义 +message RoomGameData { + RoomGameDataChannelConfig room_game_data_channel_config = 1; // 房间游戏数据通道配置 + GameTagInfo game_tag_info = 2; // 游戏标签信息 + SandwichBorderInfo sandwich_border_info = 3; // 三明治边框信息 + + // RoomGameDataChannelConfig 嵌套消息定义 + message RoomGameDataChannelConfig { + string channel_id = 1; // 通道 ID + string channel_name = 2; // 通道名称 + } + + // GameTagInfo 嵌套消息定义 + message GameTagInfo { + string tag_id = 1; // 标签 ID + string tag_name = 2; // 标签名称 + } + + // SandwichBorderInfo 嵌套消息定义 + message SandwichBorderInfo { + string border_id = 1; // 边框 ID + string border_description = 2; // 边框描述 + } +} +// PicoInfo 消息定义 +message PicoInfo { + int64 pico_live_type = 1; // Pico 直播类型 + string pico_virtual_live_bg_image_uri = 2; // 虚拟直播背景图片 URI + string pico_create_scene = 3; // 创建场景 + string custom_info = 4; // 自定义信息 + string pico_virtual_live_bg_image_digest = 5; // 虚拟直播背景图片摘要 + VirtualLiveBgImages virtual_live_bg_images = 6; // 虚拟直播背景图片信息 + float pitch = 7; // 音调 + int64 client_live_type = 8; // 客户端直播类型 + int32 pico_vr_transfer = 9; // Pico VR 转换 + int64 pico_live_mode = 11; // Pico 直播模式 + map stream_mapping = 13; // 流映射 + + // VirtualLiveBgImages 嵌套消息定义 + message VirtualLiveBgImages { + Image original_image = 1; // 原始图片 + string original_digest = 2; // 原始图片摘要 + bool is_upright = 3; // 是否直立 + repeated Image converted_images = 4; // 转换后的图片列表 + repeated ConvertedImage converted_list = 5; // 转换后的图片信息列表 + + // ConvertedImage 嵌套消息定义 + message ConvertedImage { + int64 quality = 1; // 图片质量 + Image image = 2; // 图片信息 + string digest = 3; // 图片摘要 + } + } + +} +// RoomOthersData 消息定义 +message RoomOthersData { + DecotationDetail deco_detail = 1; // 装饰细节信息 + MorePanelData more_panel_info = 2; // 更多面板信息 + AppointmentData appointment_info = 3; // 预约信息 + WebSkinData web_skin = 4; // 网页皮肤信息 + WebProgramme programme = 5; // 节目信息 + LiveMatrixInfo live_matrix_info = 6; // 直播矩阵信息 + WebLivePortOptimization web_live_port_optimization = 7; // 网页直播端口优化信息 + GiftPanelTopperTray gift_panel_topper_tray = 8; // 礼物面板顶部托盘 + EnterGiftAnimation enter_gift_animation = 9; // 进入礼物动画 + PaidLiveSubscribe paid_live_subscribe = 10; // 付费直播订阅信息 + GroupLiveData group_live_data = 11; // 群组直播数据 + int64 lvideo_item_id = 12; // 视频项目 ID + WebEnterBenefitPointData web_enter_benefit_point_data = 13; // 网页进入福利点数据 + StreamRecognitionContainers recognition_containers = 14; // 流识别容器 + AnchorBottomToolBar anchor_bottom_tool_bar = 15; // 主播底部工具栏 + AnchorTogetherLive anchor_together_live = 16; // 主播联合直播信息 + int64 mosaic_version = 17; // 拼接版本 + + // DecotationDetail 嵌套消息定义 + message DecotationDetail { + string detail_id = 1; // 细节 ID + string description = 2; // 描述 + } + + // MorePanelData 嵌套消息定义 + message MorePanelData { + repeated string panel_items = 1; // 面板项目列表 + } + + // AppointmentData 嵌套消息定义 + message AppointmentData { + string appointment_id = 1; // 预约 ID + string appointment_time = 2; // 预约时间 + } + + // WebSkinData 嵌套消息定义 + message WebSkinData { + string skin_id = 1; // 皮肤 ID + string skin_name = 2; // 皮肤名称 + } + + // WebProgramme 嵌套消息定义 + message WebProgramme { + string programme_id = 1; // 节目 ID + string programme_name = 2; // 节目名称 + } + + // LiveMatrixInfo 嵌套消息定义 + message LiveMatrixInfo { + string matrix_id = 1; // 矩阵 ID + string matrix_name = 2; // 矩阵名称 + } + + // WebLivePortOptimization 嵌套消息定义 + message WebLivePortOptimization { + string optimization_id = 1; // 优化 ID + string optimization_description = 2; // 优化描述 + } + + // GiftPanelTopperTray 嵌套消息定义 + message GiftPanelTopperTray { + repeated string gift_items = 1; // 礼物项目列表 + } + + // EnterGiftAnimation 嵌套消息定义 + message EnterGiftAnimation { + string animation_id = 1; // 动画 ID + string animation_url = 2; // 动画 URL + } + + // PaidLiveSubscribe 嵌套消息定义 + message PaidLiveSubscribe { + string subscribe_id = 1; // 订阅 ID + string subscribe_status = 2; // 订阅状态 + } + + // GroupLiveData 嵌套消息定义 + message GroupLiveData { + string group_id = 1; // 群组 ID + string group_name = 2; // 群组名称 + } + + // WebEnterBenefitPointData 嵌套消息定义 + message WebEnterBenefitPointData { + string benefit_id = 1; // 福利点 ID + string benefit_description = 2; // 福利描述 + } + + // StreamRecognitionContainers 嵌套消息定义 + message StreamRecognitionContainers { + repeated string container_ids = 1; // 容器 ID 列表 + } + + // AnchorBottomToolBar 嵌套消息定义 + message AnchorBottomToolBar { + repeated string tool_items = 1; // 工具项目列表 + } + + // AnchorTogetherLive 嵌套消息定义 + message AnchorTogetherLive { + string live_id = 1; // 联合直播 ID + string live_status = 2; // 联合直播状态 + } +} +// RoomRevenueData 消息定义 +message RoomRevenueData { + OpenGame open_game = 1; // 开放游戏信息 + AnchorLinkmic anchor_linkmic = 2; // 主播连麦信息 + + // OpenGame 嵌套消息定义 + message OpenGame { + string game_id = 1; // 游戏 ID + string game_name = 2; // 游戏名称 + } + + // AnchorLinkmic 嵌套消息定义 + message AnchorLinkmic { + string linkmic_id = 1; // 连麦 ID + string status = 2; // 连麦状态 + } +} + +// RoomReqUserData 消息定义 +message RoomReqUserData { + float user_share_room_score = 1; // 用户分享房间得分 + int32 enter_user_device_type = 2; // 用户进入设备类型 +} + +// RoomAnchorData 消息定义 +message RoomAnchorData { + string finish_schema = 1; // 完成的模式或协议 + GameAnchorInfo game_anchor_info = 2; // 游戏主播信息 + string frame_scale = 3; // 帧比例 + + // GameAnchorInfo 嵌套消息定义 + message GameAnchorInfo { + string anchor_id = 1; // 主播 ID + string anchor_name = 2; // 主播名称 + } +} +// RoomInteractData 消息定义 +message RoomInteractData { + int64 landscape_comment_style = 1; // 横屏评论样式 + EpisodeExtraInfo vs_component_extra = 2; // 额外组件信息 + FeaturedPublicScreenConf featured_public_screen_data = 3; // 特定公共屏幕配置信息 + PublicScreenSpeedConf public_screen_speed_conf = 4; // 公共屏幕速度配置信息 + RoomIntroLabel public_room_intro_label = 5; // 房间简介标签 + + // EpisodeExtraInfo 嵌套消息定义 + message EpisodeExtraInfo { + string extra_data = 1; // 额外信息(可能是 JSON 或自定义字符串) + } + + // FeaturedPublicScreenConf 嵌套消息定义 + message FeaturedPublicScreenConf { + repeated string highlights = 1; // 公共屏幕的亮点内容列表 + } + + // PublicScreenSpeedConf 嵌套消息定义 + message PublicScreenSpeedConf { + int64 max_speed = 1; // 公共屏幕最大滚动速度 + int64 min_speed = 2; // 公共屏幕最小滚动速度 + } + + // RoomIntroLabel 嵌套消息定义 + message RoomIntroLabel { + string label_text = 1; // 标签文本 + string label_color = 2; // 标签颜色 + string label_icon_url = 3; // 标签图标 URL + } +} +// RoomBasisData 消息定义 +message RoomBasisData { + int64 next_ping = 1; // 下次心跳的时间间隔(毫秒) + bool is_customize_audio_room = 2; // 是否是自定义音频房间 +} +// RoomReplayInfo 消息定义 +message RoomReplayInfo { + int64 replay_duration = 1; // 回放时长(以秒为单位) + string replay_url = 2; // 回放视频的 URL + string content_uniq_id = 3; // 内容的唯一标识符 +} +// Bonus 消息定义 +message Bonus { + int64 bonus_type = 1; // 奖励类型 + BonusAuthor author = 2; // 奖励的作者信息 + string title = 3; // 奖励标题 + string sub_title = 4; // 奖励副标题 + string text = 5; // 奖励文本内容 + string style = 6; // 奖励样式 + BonusCommerce commerce_info = 7; // 奖励的商业信息 + string open_url = 8; // 打开奖励的 URL + string token = 9; // 奖励的标识符令牌 + int64 source = 10; // 奖励来源 + Image label = 11; // 奖励的标签图标 + int64 scene_id = 12; // 场景 ID + bool maybe_carp = 13; // 是否可能是特殊奖励 + int64 countdown_second = 14; // 倒计时秒数 + + // BonusAuthor 嵌套消息定义 + message BonusAuthor { + string user_id = 1; // 作者的用户 ID + string name = 2; // 作者名称 + string avatar_url = 3; // 作者头像 URL + } + + // BonusCommerce 嵌套消息定义 + message BonusCommerce { + string commerce_id = 1; // 商业信息 ID + string commerce_name = 2; // 商业信息名称 + string product_url = 3; // 产品链接 + } + +} +// CornerMarkReach 消息定义 +message CornerMarkReach { + bool need_reach = 1; // 是否需要到达标记 + int64 duration = 2; // 持续时间(毫秒) + int64 elem_type = 3; // 元素类型 +} +// PublicScreenBottomInfo 消息定义 +message PublicScreenBottomInfo { + repeated BottomCard bottom_cards = 1; // 底部卡片列表 + + // BottomCard 嵌套消息定义 + message BottomCard { + string name = 1; // 卡片名称 + int64 priority = 2; // 卡片优先级 + int64 duration = 3; // 显示时长(毫秒) + string biz_params = 4; // 业务参数(JSON 格式或自定义字符串) + } +} +// LiveStatusInfo 消息定义 +message LiveStatusInfo { + int32 live_status = 1; // 直播状态 (如直播中/未开始/已结束) + User live_user = 2; // 直播用户信息 + map live_notify_light = 3; // 直播通知灯光配置 + string preview_text = 4; // 直播预览文本 +} +// CastScreenData 消息定义 +message CastScreenData { + string show_text = 1; // 显示的文本 + repeated int64 allow_list = 2; // 允许投屏的列表 + int32 sdk_version = 3; // SDK 版本 + CastOttPermission permission = 4; // 投屏权限 + int32 force_cast_only = 5; // 是否仅强制投屏 + + // CastOttPermission 嵌套消息定义 + message CastOttPermission { + bool can_cast = 1; // 是否允许投屏 + string restriction_reason = 2; // 限制投屏的原因 + } +} +// AudioBGData 消息定义 +message AudioBGData { + int64 id = 1; // 音频背景 ID + string image_uri = 2; // 图片 URI + int32 img_type = 3; // 图片类型 + Image image = 4; // 图片 + Image imageThumbnail = 5; // 缩略图 + Image imageAnimatedBG = 6; // 动态背景图片 + Image imageNormalAvatar = 7; // 普通头像图片 + Image imageStartupAvatar = 8; // 启动头像图片 + Image imageChatJoinIcon = 9; // 聊天加入图标 + Image imageStaticBG = 10; // 静态背景图片 + AudioSpeakingImageList speakingImageList = 11; // 讲话图片列表 + string status_color_value = 12; // 状态颜色值 + string public_screen_color_value = 13; // 公共屏幕颜色值 + int32 time_limit = 14; // 时间限制 + int32 bg_type = 15; // 背景类型 + string empty_start_color = 16; // 空状态起始颜色 + string empty_end_color = 17; // 空状态结束颜色 + Image imageColdBG = 18; // 冷背景图片 + string micBGColorValue = 19; // 麦克风背景颜色值 + repeated Image iconMicNormals = 20; // 麦克风普通图标 + Image iconMicLock = 21; // 麦克风锁定图标 + string colorMicText = 22; // 麦克风文本颜色 + string colorMicLine = 23; // 麦克风线条颜色 + string colorMicBG = 24; // 麦克风背景颜色 + string themeLabel = 25; // 主题标签 + int32 bgStatus = 26; // 背景状态 + AnimatedBgInfo animateInfo = 27; // 动画信息 + string idStr = 28; // ID 字符串 + int32 play_mode = 29; // 播放模式 + string theme_tag = 30; // 主题标签 + int64 start_time = 31; // 开始时间 + int64 end_time = 32; // 结束时间 + int32 format_type = 33; // 格式类型 + AudioSpeakingImageList speaking_image_v2 = 34; // 讲话图片列表 V2 +} + +// ActivityRoomSkinInfo 消息定义 +message ActivityRoomSkinInfo { + map vertical_screen = 1; // 竖屏皮肤 + map horizontal_screen = 2; // 横屏皮肤 +} + +// Image 消息定义 +message Image { + string url = 1; // 图片 URL + string alt_text = 2; // 图片描述文本 + int64 width = 3; // 图片宽度 + int64 height = 4; // 图片高度 +} + +// AudioSpeakingImageList 消息定义 +message AudioSpeakingImageList { + repeated Image images = 1; // 图片列表 +} + +// AnimatedBgInfo 消息定义 +message AnimatedBgInfo { + string animation_url = 1; // 动画 URL + int32 duration = 2; // 动画持续时间 +} +// ActivityLiveRecommendConfig 消息定义 +message ActivityLiveRecommendConfig { + string name = 1; // 活动名称 + string level = 2; // 活动级别 + int64 start_time = 3; // 活动开始时间 + int64 end_time = 4; // 活动结束时间 + int32 live_type = 5; // 直播类型 + repeated int64 actor_uids = 6; // 演员的 UID 列表 + EpisodeInfo episode_info = 7; // 剧集信息 + repeated string actor_openids = 5000; // 演员的 OpenID 列表 + + // EpisodeInfo 嵌套消息定义 + message EpisodeInfo { + int32 content_type = 1; // 内容类型 + string content = 2; // 内容 + } +} +// IOSFragment 消息定义 +message IOSFragment { + string name = 1; // 碎片的名称 + bool is_open = 2; // 是否开启该碎片 +} + +// IOSContainerLayoutRule 消息定义 +message IOSContainerLayoutRule { + repeated string items = 1; // 布局规则中的项 + bool rule_replace = 2; // 是否替换现有规则 + string target = 3; // 布局目标 + string rule_type = 4; // 规则类型 +} + +// IOSContainerLayout 消息定义 +message IOSContainerLayout { + string name = 1; // 布局的名称 + IOSContainerLayoutRule layout_rule = 2; // 布局规则 + int32 dsl = 3; // 布局 DSL 描述 +} + +// IOSClientComponent 消息定义 +message IOSClientComponent { + repeated IOSFragment fragments = 1; // 碎片信息 + repeated IOSContainerLayout landscape_layout = 2; // 横屏布局 + repeated IOSContainerLayout portrait_layout = 3; // 竖屏布局 + bool is_open = 4; // 是否开启组件 + int64 template_id = 5; // 模板 ID + repeated IOSFragment elements = 6; // 元素信息 +} +// RoomPlatformComponentsData 消息定义 +message RoomPlatformComponentsData { + RoomTitle room_title = 1; // 房间标题信息 + RoomViewStats room_count = 2; // 房间观看统计 + RoomAvator room_avator = 3; // 房间头像信息 + RoomPublicScreenInfo public_screen_info = 4; // 公共屏幕信息 + RoomFullVideoBTN full_video_btn = 5; // 全屏按钮信息 + RoomBanner banner = 6; // 横幅信息 + RoomCore core = 7; // 核心信息 +} +// RoomPublicScreenInfo 消息定义 +message RoomPublicScreenInfo { + RoomPublicScreenAttachments attachments = 1; // 附件信息 + string background_color = 2; // 背景颜色 + string long_press_color = 3; // 长按颜色 +} + +// RoomPublicScreenAttachments 消息定义 +message RoomPublicScreenAttachments { + int64 hot_message_tray = 1; // 热门消息托盘 + int64 height_setting = 2; // 高度设置 + int64 first_message_show_opt = 3; // 首条消息显示选项 + int64 anchor_cold_message_show_opt = 4; // 主播冷消息显示选项 +} + +// RoomFullVideoBTN 消息定义 +message RoomFullVideoBTN { + int64 show = 1; // 是否显示 + Image icon = 2; // 图标 + Image disable_icon = 3; // 禁用状态的图标 + int64 show_type = 4; // 显示类型 +} + +// RoomBanner 消息定义 +message RoomBanner { + int64 AuthMsg = 1; // 授权信息 +} + +// AvatorBorder 消息定义 +message AvatorBorder { + Image icon = 1; // 边框图标 + int64 level = 2; // 边框等级 + Image thumb_icon = 3; // 缩略图标 + string dress_id = 4; // 装扮 ID +} + +// RoomCore 消息定义 +message RoomCore { + int64 room_id = 1; // 房间 ID + int64 anchor_id = 2; // 主播 ID + string anchor_open_id = 5000; // 主播 Open ID +} + + +// RoomViewStats 消息定义 +message RoomViewStats { + bool is_hidden = 1; // 是否隐藏统计信息 + string display_short = 2; // 简短显示信息 + string display_middle = 3; // 中等长度显示信息 + string display_long = 4; // 全部显示信息 + int64 display_value = 5; // 统计值 + int64 display_version = 6; // 显示版本 + bool incremental = 7; // 是否增量更新 + int32 display_type = 8; // 显示类型 + string display_short_anchor = 9; // 主播端简短显示信息 + string display_middle_anchor = 10; // 主播端中等长度显示信息 + string display_long_anchor = 11; // 主播端完整显示信息 +} +// PaidLiveSubscribe 消息定义 +message PaidLiveSubscribe { + int64 paid_live_type = 1; // 付费直播类型 + int64 subscribe_event_time = 2; // 订阅事件时间 +} + +// RoomTitle 消息定义 +message RoomTitle { + string title = 1; // 标题 + string introduction = 2; // 简介 + int64 left_tag = 3; // 左侧标签 + string left_period = 4; // 左侧周期 + string left_toast = 5; // 左侧提示 + TitleIcon left_icon = 6; // 左侧图标 + + // TitleIcon 消息定义 + message TitleIcon { + // 图标相关字段 + } +} + +// RoomAvator 消息定义 +message RoomAvator { + Image avatar = 1; // 头像 + Image authentication_info = 2; // 认证信息 + string nick_name = 3; // 昵称 + bool has_fans_club = 4; // 是否有粉丝俱乐部 + int64 follow_status = 5; // 关注状态 + bool invalid_follow_status = 6; // 无效关注状态 + int64 follow_report_scene = 7; // 关注报告场景 + AvatorBorder border = 8; // 头像边框 + repeated int64 first_label = 9; // 第一个标签 + repeated int64 second_label = 10; // 第二个标签 + int64 fans_club_type = 11; // 粉丝俱乐部类型 + int64 animation_type = 12; // 动画类型 + int64 uid = 13; // 用户 ID + string sec_uid = 14; // 安全用户 ID + int64 fan_ticket = 15; // 粉丝票 + int64 like_count = 16; // 点赞数 + string total_user_str = 17; // 总用户字符串 + int32 secret = 18; // 秘密 + AnchorTabLabel first_tab_label = 19; // 第一个标签 + AnchorTabLabel second_tab_label = 20; // 第二个标签 + string open_id = 5000; // Open ID + + +} + +// AnchorTabLabel 消息定义 +message AnchorTabLabel { + string content = 1; // 内容 + Image label = 2; // 标签图像 + Image icon = 3; // 图标 + int32 style = 4; // 样式 + int32 type = 5; // 类型 + string key = 6; // 键 + string accessible_content = 7; // 可访问内容 + map track_params = 8; // 跟踪参数 + DSLDetail dsl_label = 9; // DSL 标签 + +} +// DSLDetail 消息定义 +message DSLDetail { + int64 dsl_id = 1; // DSL 唯一标识符 + int64 dsl_type = 2; // DSL 类型 + string dsl_gecko_download_uri = 3; // DSL 下载 URI + string dsl_slice_info = 4; // DSL 分片信息 + int64 version = 5; // DSL 版本 + string dsl_data = 6; // DSL 数据 + ExtraInfo extra = 7; // 附加信息 + + // ExtraInfo 嵌套消息定义 + message ExtraInfo { + int64 height = 1; // 高度 + int64 width = 2; // 宽度 + } +} +// QuizExtra 消息定义 +message QuizExtra { + string quiz_infos = 1; // 测验信息 +} +// RoomStats 消息定义 +message RoomStats { + int64 id = 1; // 房间 ID + string id_str = 2; // 房间 ID 字符串 + int64 fan_ticket = 3; // 粉丝票数 + int64 money = 4; // 收益金额 + int64 total_user = 5; // 总用户数 + int64 gift_uv_count = 6; // 礼物 UV 数量 + int64 follow_count = 7; // 关注数 + UserCountComposition user_count_composition = 8; // 用户组成数据 + int64 watermelon = 9; // 西瓜数 + int64 digg_count = 10; // 点赞数 + int64 enter_count = 11; // 进入人数 + string dou_plus_promotion = 12; // Dou+ 推广信息 + string total_user_desp = 13; // 总用户描述 + int64 like_count = 14; // 喜欢数 + string total_user_str = 15; // 总用户字符串 + string user_count_str = 16; // 用户计数字符串 + int64 comment_count = 17; // 评论数 + int64 welfare_donation_amount = 18; // 福利捐赠金额 + string up_right_stats_str = 19; // 右上角统计字符串 + string up_right_stats_str_complete = 20; // 右上角完整统计字符串 + + // UserCountComposition 消息定义 + message UserCountComposition { + double city = 1; // 城市用户比例 + double video_detail = 2; // 视频详情用户比例 + double my_follow = 3; // 我的关注用户比例 + double other = 4; // 其他用户比例 + } +} +// TopFan 消息定义 +message TopFan { + int64 fan_ticket = 1; // 粉丝票数 + User user = 2; // 用户信息 +} + +// RoomUserAttr 消息定义 +message RoomUserAttr { + int64 room_id = 1; // 房间 ID + string room_id_str = 2; // 房间 ID 字符串 + int64 silence_flag = 3; // 静音标志 + int64 admin_flag = 4; // 管理员标志 + int64 rank = 5; // 排名 +} + +// BurstInfo 消息定义 +message BurstInfo { + int64 burst_time_remain_seconds = 1; // 爆发时间剩余秒数 + int64 multiple = 2; // 倍数 + int64 property_definition_id = 3; // 属性定义 ID + Image property_icon = 4; // 属性图标 +} + +// RoomHealthScoreInfo 消息定义 +message RoomHealthScoreInfo { + double score = 1; // 健康分数 + string bubble_message = 2; // 气泡消息 + string jump_url = 3; // 跳转 URL +} + +// TVStation 消息定义 +message TVStation { + bool is_idle = 1; // 是否空闲 + string state_desc = 2; // 状态描述 +} + +// CommentBox 消息定义 +message CommentBox { + Image icon = 1; // 图标 + string placeholder = 2; // 占位符 +} + + + +// LinkMic 消息定义 +message LinkMic { + int64 channel_id = 1; // 频道 ID + LinkMicChannelInfo channel_info = 2; // 频道信息 + repeated LinkMicBattleScore battle_scores = 3; // 对战分数列表 + LinkMicBattleSetting battle_settings = 4; // 对战设置 + int64 rival_anchor_id = 5; // 对手主播 ID + int64 linkmic_anchor_count = 6; // 连麦主播数量 + string rival_anchor_open_id = 5000; // 对手主播开放 ID + + // LinkMicChannelInfo 消息定义 + message LinkMicChannelInfo { + int64 layout = 1; // 布局 + int64 vendor = 2; // 供应商 + int64 dimension = 3; // 维度 + } + + // LinkMicBattleScore 消息定义 + message LinkMicBattleScore { + int64 user_id = 1; // 用户 ID + int64 score = 2; // 分数 + string open_id = 5000; // 用户开放 ID + } + + // LinkMicBattleSetting 消息定义 + message LinkMicBattleSetting { + int64 channel_id = 1; // 频道 ID + int64 duration = 2; // 持续时间 + int64 start_time = 3; // 开始时间(秒) + int64 start_time_ms = 4; // 开始时间(毫秒) + string theme = 5; // 主题 + int64 finished = 6; // 是否结束 + int64 battle_id = 7; // 对战 ID + int64 match_type = 8; // 匹配类型 + int64 play_mode = 9; // 播放模式 + int64 team_mode = 10; // 团队模式 + int64 activity_mode = 11; // 活动模式 + } +} +message User { + uint64 id = 1; + uint64 shortId = 2; + string nickName = 3; + uint32 gender = 4; + string Signature = 5; + uint32 Level = 6; + uint64 Birthday = 7; + string Telephone = 8; + Image AvatarThumb = 9; + Image AvatarMedium = 10; + Image AvatarLarge = 11; + bool Verified = 12; + uint32 Experience = 13; + string city = 14; + int32 Status = 15; + uint64 CreateTime = 16; + uint64 ModifyTime = 17; + uint32 Secret = 18; + string ShareQrcodeUri = 19; + uint32 IncomeSharePercent = 20; + repeated Image BadgeImageList = 21; + FollowInfo FollowInfo = 22; + PayGrade PayGrade = 23; + FansClub FansClub = 24; + // Border Border = 25; + string SpecialId = 26; + Image AvatarBorder = 27; + Image Medal = 28; + repeated Image RealTimeIconsList = 29; + string displayId = 38; + string secUid = 46; + uint64 fanTicketCount = 1022; + string idStr = 1028; + uint32 ageRange = 1045; + + +} + +message PayGrade { + int64 totalDiamondCount = 1; + Image diamondIcon = 2; + string name = 3; + Image icon = 4; + string nextName = 5; + int64 level = 6; + Image nextIcon = 7; + int64 nextDiamond = 8; + int64 nowDiamond = 9; + int64 thisGradeMinDiamond = 10; + int64 thisGradeMaxDiamond = 11; + int64 payDiamondBak = 12; + string gradeDescribe = 13; + repeated GradeIcon gradeIconList = 14; + int64 screenChatType = 15; + Image imIcon = 16; + Image imIconWithLevel = 17; + Image liveIcon = 18; + Image newImIconWithLevel = 19; + Image newLiveIcon = 20; + int64 upgradeNeedConsume = 21; + string nextPrivileges = 22; + Image background = 23; + Image backgroundBack = 24; + int64 score = 25; + GradeBuffInfo buffInfo = 26; + string gradeBanner = 1001; + Image profileDialogBg = 1002; + Image profileDialogBgBack = 1003; +} + +message FansClub{ + FansClubData data = 1; + map preferData = 2; +} +message FansClubData { + string clubName = 1; + int32 level = 2; + int32 userFansClubStatus = 3; + UserBadge badge = 4; + repeated int64 availableGiftIds = 5; + int64 anchorId = 6; +} +message UserBadge { + map icons = 1; + string title = 2; +} + +message GradeBuffInfo { +} + +message Border{ + +} + +message GradeIcon{ + Image icon = 1; + int64 iconDiamond = 2; + int64 level = 3; + string levelStr = 4; +} + +message FollowInfo { + uint64 followingCount = 1; + uint64 followerCount = 2; + uint64 followStatus = 3; + uint64 pushStatus = 4; + string remarkName = 5; + string followerCountStr = 6; + string followingCountStr = 7; + +} + +message NinePatchSetting { + repeated string settingListList = 1; +} + + +message PushFrame { + uint64 seqId = 1; + uint64 logId = 2; + uint64 service = 3; + uint64 method = 4; + repeated HeadersList headersList = 5; + string payloadEncoding = 6; + string payloadType = 7; + bytes payload = 8; +} + +message kk { + uint32 k = 14; +} + +message SendMessageBody { + string conversationId = 1; + uint32 conversationType = 2; + uint64 conversationShortId = 3; + string content = 4; + repeated ExtList ext = 5; + uint32 messageType = 6; + string ticket = 7; + string clientMessageId = 8; +} + +message ExtList { + string key = 1; + string value = 2; +} + +message Rsp{ + int32 a = 1; + int32 b = 2; + int32 c = 3; + string d = 4; + int32 e = 5; + message F { + uint64 q1 = 1; + uint64 q3 = 3; + string q4 = 4; + uint64 q5 = 5; + } + F f = 6; + string g = 7; + uint64 h = 10; + uint64 i = 11; + uint64 j = 13; +} + +message PreMessage { + uint32 cmd = 1; + uint32 sequenceId = 2; + string sdkVersion = 3; + string token = 4; + uint32 refer = 5; + uint32 inboxType = 6; + string buildNumber = 7; + SendMessageBody sendMessageBody = 8; + // 字段名待定 + string aa = 9; + string devicePlatform = 11; + repeated HeadersList headers = 15; + uint32 authType = 18; + string biz = 21; + string access = 22; +} + +message HeadersList { + string key = 1; + string value = 2; +} + + +message RoomStatsMessage { + Common common = 1; + string displayShort = 2; + string displayMiddle = 3; + string displayLong = 4; + int64 displayValue = 5; + int64 displayVersion = 6; + bool incremental = 7; + bool isHidden = 8; + int64 total = 9; + int64 displayType = 10; +} + +enum CommentTypeTag { + COMMENTTYPETAGUNKNOWN = 0; + COMMENTTYPETAGSTAR = 1; +} + +message ProductInfo { + int64 promotionId = 1; + int32 index = 2; + repeated int64 targetFlashUidsList = 3; + int64 explainType = 4; +} +message CategoryInfo { + int32 id = 1; + string name = 2; + repeated int64 promotionIdsList = 3; + string type = 4; + string uniqueIndex = 5; +} + +message ProductChangeMessage { + Common common = 1; + int64 updateTimestamp = 2; + string updateToast = 3; + repeated ProductInfo updateProductInfoList = 4; + int64 total = 5; + repeated CategoryInfo updateCategoryInfoList = 8; +} + +// from https://github.com/HaoDong108/DouyinBarrageGrab/blob/main/BarrageGrab/proto/message.proto +// status = 3 下播 +message ControlMessage { + Common common = 1; + int32 status = 2; +} + +// from https://github.com/HaoDong108/DouyinBarrageGrab/blob/main/BarrageGrab/proto/message.proto +message FansclubMessage { + Common commonInfo = 1; + // 升级是1,加入是2 + int32 type = 2; + string content = 3; + User user = 4; +} + +// from https://github.com/scx567888/live-room-watcher/blob/master/src/main/proto/douyin_hack/webcast/im/RoomRankMessage.proto +// 直播间排行榜 +message RoomRankMessage { + Common common = 1; + repeated RoomRank ranksList = 2; + + message RoomRank{ + User user = 1; + string scoreStr = 2; + bool profileHidden = 3; + } +} +// from https://github.com/scx567888/live-room-watcher/blob/master/src/main/proto/douyin_hack/webcast/im/RoomMsgTypeEnum.proto +enum RoomMsgTypeEnum{ + DEFAULTROOMMSG = 0; + ECOMLIVEREPLAYSAVEROOMMSG = 1; + CONSUMERRELATIONROOMMSG = 2; + JUMANJIDATAAUTHNOTIFYMSG = 3; + VSWELCOMEMSG = 4; + MINORREFUNDMSG = 5; + PAIDLIVEROOMNOTIFYANCHORMSG = 6; + HOSTTEAMSYSTEMMSG = 7; +} +// from https://github.com/scx567888/live-room-watcher/blob/master/src/main/proto/douyin_hack/webcast/im/RoomMessage.proto +message RoomMessage{ + Common common = 1; + string content = 2; + bool supprotLandscape = 3; + RoomMsgTypeEnum roommessagetype = 4; + bool systemTopMsg = 5; + bool forcedGuarantee = 6; + string bizScene = 20; + map buriedPointMap = 30; +} + +message RanklistHourEntranceMessage{ + Common common = 1; + RanklistHourEntrance info =2; +} +// RanklistHourEntrance 主消息 +message RanklistHourEntrance { + repeated Info global_infos = 1; // 全局排行榜信息列表 + repeated Info default_global_infos = 2; // 默认全局排行榜信息列表 + repeated Info vertical_infos = 3; // 垂直排行榜信息列表 + repeated Info default_vertical_infos = 4; // 默认垂直排行榜信息列表 + + // Info 消息 + message Info { + repeated Detail details = 1; // 详情列表 + } + + // Detail 消息 + message Detail { + repeated Page pages = 1; // 页面列表 + int32 ranklist_type = 2; // 排行榜类型 + string title = 3; // 排行榜标题 + string ranklist_extra = 4; // 排行榜附加信息 + string entrance_extra = 5; // 入口附加信息 + string schema = 6; // 跳转 schema + string icon_url = 7; // 图标 URL + } + + // Page 消息 + message Page { + string content = 1; // 内容 + string background_color = 2; // 背景颜色 + int64 show_times = 3; // 显示时间 + int32 content_type = 4; // 内容类型 + } +} + + + +message InRoomBannerMessage { + // common 字段,引用 Common 消息类型 + Common common = 1; + + // extra 字段,字符串类型 + string extra = 2; + + // position 字段,整型 + int32 position = 3; + + // action_type 字段,整型 + int32 action_type = 4; + + // container_url 字段,字符串类型 + string container_url = 5; + + // lynx_container_url 字段,字符串类型 + string lynx_container_url = 6; + + // container_type 字段,整型 + int32 container_type = 7; + + // op_type 字段,整型 + int32 op_type = 8; +} +message RoomDataSyncMessage { + // common 字段,引用 Common 消息类型 + Common common = 1; + + // roomID 字段,整型字符串(int64String) + string roomID = 2; + + // syncKey 字段,字符串类型 + string syncKey = 3; + + // version 字段,整型字符串(int64String) + string version = 4; + + // payload 字段,字节类型(bytes) + bytes payload = 5; + + // bizLogID 字段,字符串类型 + string bizLogID = 6; +} +message LuckyBoxTempStatusMessage{ + Common common =1; +} +message DecorationModifyMessage{ + //存疑 + //网页原型为DecorationModifyMessage? + Common common =1; + string extra =2; +} +message DecorationUpdateMessage { + Common common =1; + DecotationDetail detai =2; +} +message DecotationDetail{ + Decoration text_decoration =1; + Decoration image_decoration =2; + +} +message Decoration { + // id 字段,整型字符串(int64String) + string id = 1; + + // image 字段,引用 Image 消息类型 + Image image = 2; + + // type 字段,整型字符串(int64String) + string type = 3; + + // input_rect 字段,整型字符串(int64String)列表 + repeated string input_rect = 4; + + // text_size 字段,整型字符串(int64String) + string text_size = 5; + + // text_color 字段,字符串类型 + string text_color = 6; + + // content 字段,字符串类型 + string content = 7; + + // max_length 字段,整型字符串(int64String) + string max_length = 8; + + // status 字段,整型字符串(int64String) + string status = 9; + + // h 字段,整型字符串(int64String) + string h = 10; + + // x 字段,整型字符串(int64String) + string x = 11; + + // w 字段,整型字符串(int64String) + string w = 12; + + // y 字段,整型字符串(int64String) + string y = 13; + + // kind 字段,整型字符串(int64String) + string kind = 14; + + // sub_type 字段,整型字符串(int64String) + string sub_type = 15; + + // reservation 字段,引用 Reservation 消息类型 + Reservation reservation = 16; + + // nine_patch_image 字段,引用 Image 消息类型 + Image nine_patch_image = 17; + + // text_special_effects 字段,整型字符串(int64String)列表 + repeated string text_special_effects = 18; + + // text_image_adjustable_start_position 字段,整型字符串(int64String) + string text_image_adjustable_start_position = 19; + + // text_image_adjustable_end_position 字段,整型字符串(int64String) + string text_image_adjustable_end_position = 20; + + // text_font_config 字段,引用 DecorationFontConfig 消息类型 + DecorationFontConfig text_font_config = 21; + + // audit_text_color 字段,字符串类型 + string audit_text_color = 22; +} +message Reservation { + // appointment_id 字段,整型字符串(int64String) + string appointment_id = 1; + + // anchor_id 字段,整型字符串(int64String) + string anchor_id = 2; + + // room_id 字段,整型字符串(int64String) + string room_id = 3; + + // start_time 字段,整型字符串(int64String) + string start_time = 4; + + // end_time 字段,整型字符串(int64String) + string end_time = 5; + + // btn_rect 字段,整型字符串(int64String)列表,假设它是一个矩形区域 + repeated string btn_rect = 6; + + // btn_color 字段,字符串类型 + string btn_color = 7; + + // is_reserved 字段,布尔类型 + bool is_reserved = 8; +} +message DecorationFontConfig { + // FontID 字段,整型字符串(int64String) + string FontID = 1; + + // DownloadUrl 字段,字符串类型 + string DownloadUrl = 2; + + // Status 字段,整型字符串(int64String) + string Status = 3; + + // font_name 字段,字符串类型 + string font_name = 4; +} +message LinkMicAudienceKtvMessage { + // common 字段,引用 Common 消息类型 + Common common = 1; + + // message_type 字段,整型字符串(int64String) + string message_type = 2; + + // list_info 字段,是一个可重复的 ListInfo 消息类型列表 + repeated ListInfo list_info = 3; + + // want_sing_count 字段,整型字符串(int64String) + string want_sing_count = 4; + + // want_sing_song_threshold 字段,整型字符串(int64String) + string want_sing_song_threshold = 5; + + // sung_song_count 字段,整型字符串(int64String) + string sung_song_count = 6; + + // is_downgrade 字段,布尔类型 + bool is_downgrade = 7; + + // all_song_unique_list 字段,是一个可重复的 SongUniqueInfo 消息类型列表 + repeated SongUniqueInfo all_song_unique_list = 8; + message SongUniqueInfo { + // song_id 字段,整型字符串(int64String) + string song_id = 1; + + // user_id 字段,整型字符串(int64String) + string user_id = 2; + + // song_type 字段,整型字符串(int64String) + string song_type = 3; + + // is_public 字段,布尔类型 + bool is_public = 4; +} +} + +message ListInfo { + // music 字段,引用 KtvSongStruct 消息类型 + KtvSongStruct music = 1; + + // is_self_seeing 字段,布尔类型 + bool is_self_seeing = 2; +} + +message KtvSongStruct { + // id 字段,整型字符串(int64String) + string id = 1; + + // title 字段,字符串类型 + string title = 2; + + // author 字段,字符串类型 + string author = 3; + + // lyric_type 字段,整型字符串(int64String) + string lyric_type = 4; + + // song_url 字段,字符串类型 + string song_url = 5; + + // lyric_url_list 字段,字符串列表 + repeated string lyric_url_list = 6; + + // duration 字段,整型字符串(int64String) + string duration = 7; + + // cover_url 字段,字符串类型 + string cover_url = 8; + + // song_pattern 字段,整型字符串(int64String) + string song_pattern = 9; + + // preview_start_time 字段,双精度浮点数 + double preview_start_time = 10; + + // full_track 字段,AudioInfo 消息类型 + AudioInfo full_track = 11; + + // accompaniment_track 字段,AudioInfo 消息类型 + AudioInfo accompaniment_track = 12; + + // new_cover_url 字段,字符串类型 + string new_cover_url = 13; + + // midi_url 字段,字符串类型 + string midi_url = 14; + + // is_favorite 字段,布尔类型 + bool is_favorite = 15; + + // order_info 字段,OrderInfo 消息类型 + OrderInfo order_info = 16; + + // tags 字段,字符串列表 + repeated string tags = 17; + + // music_climax 字段,MusicInterval 消息类型列表 + repeated MusicInterval music_climax = 19; + + // preludes 字段,MusicInterval 消息类型列表 + repeated MusicInterval preludes = 20; + + // interludes 字段,MusicInterval 消息类型列表 + repeated MusicInterval interludes = 21; + + // segments 字段,MusicInterval 消息类型列表 + repeated MusicInterval segments = 22; + + // pattern_file_url 字段,字符串类型 + string pattern_file_url = 23; + + // bridge_segments 字段,MusicInterval 消息类型列表 + repeated MusicInterval bridge_segments = 24; + + // main_segments 字段,MusicInterval 消息类型列表 + repeated MusicInterval main_segments = 25; + + // finale_segments 字段,MusicInterval 消息类型列表 + repeated MusicInterval finale_segments = 26; + + // chorus_info 字段,ChorusVideoInfo 消息类型 + ChorusVideoInfo chorus_info = 27; + + // song_type 字段,整型 + int32 song_type = 28; + + // add_song_source 字段,字符串类型 + string add_song_source = 29; + + // total_order_with_cur_anchor 字段,整型字符串(int64String) + string total_order_with_cur_anchor = 30; + + // global_total_order 字段,整型字符串(int64String) + string global_total_order = 31; + + // artist_ids 字段,整型字符串(int64String)列表 + repeated string artist_ids = 32; + + // id_str 字段,字符串类型 + string id_str = 33; + + // song_copyright 字段,整型列表 + repeated int32 song_copyright = 34; + + // is_prior_song 字段,布尔类型 + bool is_prior_song = 35; + + // is_fragment_song 字段,布尔类型 + bool is_fragment_song = 36; + + // fragment_lyric 字段,字符串类型 + string fragment_lyric = 37; + + // personal_song_info 字段,PersonalSongInfo 消息类型 + PersonalSongInfo personal_song_info = 38; + + // lyric_hash 字段,字符串类型 + string lyric_hash = 39; + + // midi_hash 字段,字符串类型 + string midi_hash = 40; + + // want_listen_info 字段,WantListenInfo 消息类型 + WantListenInfo want_listen_info = 41; + + // challenge_info 字段,ChallengeInfo 消息类型 + ChallengeInfo challenge_info = 42; + + // 扩展字段,假设 ext 是一个 map + map ext = 18; + message AudioInfo { + // url 字段,字符串类型 + string url = 1; + + // song_patten 字段,整型字符串(int64String) + string song_patten = 2; + + // audio_id 字段,整型字符串(int64String) + string audio_id = 3; + + // volume_lufs 字段,双精度浮点数 + double volume_lufs = 4; + + // volume_peak 字段,双精度浮点数 + double volume_peak = 5; + + // bpm 字段,双精度浮点数 + double bpm = 6; + + // beats_point_url 字段,字符串类型 + string beats_point_url = 7; + + // create_time 字段,整型字符串(int64String) + string create_time = 8; + + // file_hash 字段,字符串类型 + string file_hash = 9; + } + message OrderInfo { + // top_user 字段,是一个 UserInfo 消息类型 + UserInfo top_user = 1; + + // score 字段,整型字符串(int64String) + string score = 2; + + // order_count 字段,整型字符串(int64String) + string order_count = 3; + + // has_added 字段,布尔类型 + bool has_added = 4; + + } + message ChallengeInfo { + // ktv_challenge_type 字段,整型(int32) + int32 ktv_challenge_type = 1; + + // is_success 字段,布尔类型(bool) + bool is_success = 2; + + // score 字段,双精度浮点数(double) + double score = 3; +} +} + + +message PersonalSongInfo { + // user_midi_score 字段,双精度浮点数 + double user_midi_score = 1; + + // is_high_score_song 字段,布尔类型 + bool is_high_score_song = 2; +} + +message UserInfo { + // id 字段,整型字符串(int64String) + string id = 1; + + // nickname 字段,字符串类型 + string nickname = 2; + + // avatar 字段,Image 消息类型 + Image avatar = 3; + + // id_str 字段,字符串类型 + string id_str = 4; + + // high_score_song_count 字段,字符串类型 + string high_score_song_count = 5; + + // ktv_stage_mic_pos_tag_text 字段,字符串类型 + string ktv_stage_mic_pos_tag_text = 6; + + // ktv_lyric_text 字段,整型(int32) + int32 ktv_lyric_text = 7; + + // ktv_component_lyric_text_first_line 字段,字符串类型 + string ktv_component_lyric_text_first_line = 8; + + // ktv_component_lyric_text_second_line 字段,整型(int32) + int32 ktv_component_lyric_text_second_line = 9; + + // high_score_song_tag 字段,UserHighScoreSongTag 消息类型 + UserHighScoreSongTag high_score_song_tag = 10; + + // hit_midi_record_ab 字段,整型字符串(int64String) + string hit_midi_record_ab = 11; + + // user_midi_score 字段,双精度浮点数(double) + double user_midi_score = 12; + + // is_high_score_song 字段,布尔类型(bool) + bool is_high_score_song = 13; +} + +message WantListenInfo { + // want_listen_count 字段,整型字符串(int64String) + string want_listen_count = 1; +} + +message MusicInterval { + // StartTimeMillisecond 字段,整型字符串(int64String) + string StartTimeMillisecond = 1; + + // DurationMillisecond 字段,整型字符串(int64String) + string DurationMillisecond = 2; +} +message ChorusVideoInfo { + // item_id 字段,整型字符串(int64String) + string item_id = 1; + + // item_description 字段,字符串类型 + string item_description = 2; + + // item_url 字段,字符串类型 + string item_url = 3; + + // author_id 字段,整型字符串(int64String) + string author_id = 4; + + // author_name 字段,字符串类型 + string author_name = 5; + + // use_times 字段,整型字符串(int64String) + string use_times = 6; + + // image 字段,Image 消息类型 + Image image = 7; +} +message UserHighScoreSongTag { + // high_score_song_count 字段,字符串类型 + string high_score_song_count = 1; + + // icon 字段,字符串类型 + string icon = 2; + + // bg_color 字段,字符串类型列表 + repeated string bg_color = 3; +} +message RoomStreamAdaptationMessage { + Common common = 1; + int32 adaptation_type = 2; + float adaptation_height_ratio = 3; + float adaptation_body_center_ratio = 4; +} +message QuizAudienceStatusMessage { + // common 字段,引用 Common 消息类型 + Common common = 1; + + // quiz_list 字段,是一个可重复的 Quiz 消息类型列表 + repeated Quiz quiz_list = 2; +} +message Quiz { + // quiz_id 字段,字符串类型 + string quiz_id = 1; + + // title 字段,字符串类型 + string title = 2; + + // options 字段,字符串类型 + string options = 3; + + // quiz_status 字段,整型 + int32 quiz_status = 4; + + // countdown_time 字段,整型字符串(int64String) + string countdown_time = 5; + + // win_option 字段,整型字符串(int64String) + string win_option = 6; + + // bet_option 字段,整型字符串(int64String) + string bet_option = 7; + + // gain 字段,字符串类型 + string gain = 8; + + // template_id 字段,字符串类型 + string template_id = 9; + + // absolute_end_time 字段,整型字符串(int64String) + string absolute_end_time = 10; +} +message HotChatMessage { + Common common = 1; // 公共信息 + string title = 2; // 标题 + string content = 3; // 内容 + int64 num = 4; // 数量 + int64 duration = 5; // 持续时间 + int64 show_duration = 6; // 显示持续时间 + int64 sequence_id = 7; // 序列ID + repeated string hot_list = 8; // 热门列表 + Text rtf_content = 9; // 富文本内容 + int64 chat_content_type = 10; // 聊天内容类型 + + // 额外信息的映射字段 + map extra = 200; // 假设字段编号为200 +} +message HotRoomMessage { + // common field, assuming it's a message type imported from another .proto file + Common common = 1; + + // info field, assuming it's a message type imported from another .proto file + HotRoomInfo info = 2; +} +message HotRoomInfo { + // BitMap field, an integer field represented as a string + string BitMap = 1; +} +message AudioChatMessage { + // common 字段,引用 Common 消息类型 + Common common = 1; + + // user 字段,引用 User 消息类型 + User user = 2; + + // content 字段,字符串类型 + string content = 3; + + // audio_url 字段,字符串类型 + string audio_url = 4; + + // audio_duration 字段,整型字符串(int64String) + string audio_duration = 5; + + // public_area_common 字段,引用 PublicAreaCommon 消息类型 + PublicAreaCommon public_area_common = 6; + + // rtf_content 字段,引用 Text 消息类型 + Text rtf_content = 7; +} +message NotifyMessage { + // common 字段,引用 Common 消息类型 + Common common = 1; + + // schema 字段,字符串类型 + string schema = 2; + + // notify_type 字段,整型字符串(int64String) + string notify_type = 3; + + // content 字段,字符串类型 + string content = 4; + + // user 字段,引用 User 消息类型 + User user = 5; + + // extra 字段,引用 NotifyMessage.Extra 消息类型 + NotifyMessage.Extra extra = 6; + + // notify_class 字段,整型字符串(int64String) + string notify_class = 7; + + // flex_setting 字段,整型字符串(int64String)列表 + repeated string flex_setting = 8; + + // biz_scene 字段,字符串类型 + string biz_scene = 100; + message Extra { + // duration field, an int64 string + string duration = 1; + + // background field, assuming it's a Background message + Background background = 2; + + // content_list field, assuming it's a ContentList message + ContentList content_list = 3; + + // need_gift_frequency field, a boolean + bool need_gift_frequency = 6; + + // params map field + map params = 5; + } + message Background { + // width field, an int32 + int32 width = 1; + + // height field, an int32 + int32 height = 2; + + // url_list field, a repeated string + repeated string url_list = 3; + + // uri field, a string + string uri = 4; + } + message Content { + // 假设Content有id和text两个字段 + string content = 1; + bool need_high_light = 2; + } + message ContentList { + repeated Content contents = 1; + string high_light_color = 2; + } +} +// 幸运盒子消息 +message LuckyBoxMessage { + Common common = 1; + int64 diamond_count = 2; + int64 box_id = 3; + int64 send_time = 4; + int64 delay_time = 5; + int64 box_type = 6; + string title = 7; + bool large = 8; + Image background = 9; + bool is_official = 10; + int64 priority = 11; + User user = 12; + repeated ImgText description_list = 13; // 假设ImgText也在别处定义 + Image lucky_icon = 14; + int64 display_duration = 15; + int32 box_status = 16; + int32 flat_duration = 17; + int32 unpack_type = 18; + BoxMeta meta = 19; + Extra extra = 20; + int64 business_type = 21; + Image top_cover_image = 22; + Image bottom_cover_image = 23; + string box_id_str = 24; + BottomCommentMsg bottom_comment_msg = 25; // 假设BottomCommentMsg也在别处定义 + bool is_risky_owner = 26; + string activity_id = 27; + Dress dress = 28; // 假设Dress也在别处定义 + PublicAreaCommon public_area_common = 29; // 假设PublicAreaCommon也在别处定义 + int64 join_frozen_duration = 30; + message ImgText { + Image image = 1; // 使用webcast.data包中的Image消息类型 + string text = 2; + } + message BoxMeta { + string title_desc = 1; // 标题描述 + string content_count_desc = 2; // 内容数量描述 + string content_amount_desc = 3; // 内容金额描述 + string animation_desc = 4; // 动画描述 + string before_unpack_desc = 5; // 解包前的描述 + string success_unpack_desc = 6; // 成功解包的描述 + string fail_unpack_desc = 7; // 解包失败的描述 + Image ad_image = 8; // 广告图像 + string im_desc = 9; // IM描述 + } + message Extra { + int32 current_round = 3; // 当前轮次 + int32 pct = 4; // 百分比 + int64 round_target = 5; // 轮次目标 + map all_desc = 1; // 所有描述的键值对映射 + map all_image = 2; // 所有图像的键值对映射 + } + // BottomCommentMsg消息类型,包含底部评论消息的内容 +message BottomCommentMsg { + Text text = 1; // 文本内容 + Image background = 2; // 背景图像 + Image left_icon = 3; // 左侧图标 + Image right_icon = 4; // 右侧图标 +} +message Dress { + string dress_id = 1; // 装扮ID + string dress_offline_time = 2; // 装扮下线时间(int64字符串表示) + string jump_text = 3; // 跳转文本 + + // 嵌套的映射类型,键为int64,值为字符串 + map jump_schema_to_box = 4; + map jump_schema_to_dress = 5; +} +} +message UpdateFanTicketMessage { + Common common = 1; // 假设Common是已定义的消息类型 + string room_fan_ticket_count_text = 2; // 房间粉丝票计数文本 + int64 room_fan_ticket_count = 3; // 房间粉丝票计数 + bool force_update = 4; // 是否强制更新 +} +message ScreenChatMessage { + Common common = 1; // 公共信息 + User user = 2; // 用户信息 + string screen_chat_type = 3; // 屏幕聊天类型 + string content = 4; // 内容 + string priority = 5; // 优先级 + Effect effect = 6; // 效果 + Image background_image = 7; // 背景图像 + Effect effect_v2 = 8; // 效果v2 + Image background_image_v2 = 9; // 背景图像v2 + PublicAreaCommon public_area_common = 10; // 公共区域信息 + OfficialCommentConfig official_comment_config = 11; // 官方评论配置 + string event_time = 12; // 事件时间 + bool send_review = 13; // 是否发送审核 + ChatIdentity chat_identity_info = 14; // 聊天身份信息 + Text rtf_content = 30; // 富文本内容 + bool public_area_does_not_display = 31; // 公共区域是否不显示 + Text rtf_content_v2 = 32; // 富文本内容v2 + message OfficialCommentConfig { + bool official = 1; // 是否官方评论 + } +} +message Effect { + FlexImageStruct icon = 1; // 图标结构 + Image avatar_icon = 2; // 头像图标 + string background_color = 3; // 背景颜色 +} +// FlexImageStruct消息类型 +message FlexImageStruct { + repeated string url_list = 1; // 图像URL列表 + string uri = 2; // 图像统一资源标识符 + string flex_setting = 3; // 弹性设置(假设为int64字符串表示) + string text_setting = 4; // 文本设置(假设为int64字符串表示) + string top_border_height = 5; // 顶部边框高度(假设为int64字符串表示) +} +message ChatIdentity { + int32 show_identity = 1; // 显示身份标识(假设为int32类型) + Image identity_label = 2; // 身份标签图像 +} +message NotifyEffectMessage { + Common common = 1; // 假设Common也在相应的.proto文件中定义 + repeated Image icons = 2; + CombinedText text = 3; // 假设CombinedText也在相应的.proto文件中定义 + Background background = 4; + DynamicConfig dynamic_config = 5; + CombinedText text_v2 = 6; // 假设CombinedText也在相应的.proto文件中定义 + bool support_landscape = 7; + SceneConfig scene_config = 10; + map buried_point = 20; // 假设埋点数据为string到string的映射 + // Background嵌套消息类型 +message Background { + Image background_image = 1; + string background_color = 10; + Image background_effect = 11; +} + +// DynamicConfig嵌套消息类型 +message DynamicConfig { + int32 stay_time = 1; + int32 max_stay_time = 2; + int32 display_effect_type = 3; +} + +message BindingGiftMessage { + GiftMessage msg = 1; // 嵌套类型字段 + Common common = 2; // 嵌套类型字段 +} +// SceneConfig嵌套消息类型 +message SceneConfig { + string scene = 1; + string priority = 2; // 假设优先级为string类型,如int64字符串表示 + bool need_aggregate = 3; + string aggregate_num = 4; // 假设聚合数为string类型,如int64字符串表示 + Text aggregate_text = 5; // 假设Text也在相应的.proto文件中定义 + string sub_scene = 6; + string max_wait_time = 7; // 假设最大等待时间为string类型,如int64字符串表示 +} +} +message CombinedText { + repeated DisplayItem display_items = 1; // 显示项列表 + SchemaInfo schema_info = 10; // 模式信息 + ComboInfo combo_info = 11; // 组合信息 +} +message ComboInfo { + int64 combo_seq = 1; // 组合序列 + int64 combo_order = 2; // 组合顺序 +} +message SchemaInfo { + string schema_url = 1; // 模式URL +} +message DisplayItem { + int32 display_item_type = 1; // 显示项类型 + bool combo_fresh = 20; // 组合新鲜度标记 + SchemaInfo schema_info = 21; // 模式信息 + ImagesItem images_item = 50; // 图像项 + TextItem text_item = 51; // 文本项 + DisplayItemFormat format = 100; // 显示项格式 +} +message ImagesItem { + // 假设Image是images字段中元素的类型 + repeated Image images = 1; + int32 display_style = 20; +} +message TextItem { + // 文本字段,使用repeated表示可以有多个文本项 + repeated Text text = 1; +} +message DisplayItemFormat { + bool enable_left_space = 1; // 布尔类型字段 + string left_space = 2; // 字符串类型字段,假设int64String被转换为string +} +message TempStateAreaReachMessage { + Common common = 1; // 假设Common是已经定义好的消息类型 + int64 elem_type = 2; + int64 elem_id = 3; + int64 item_id = 4; + int64 status = 5; + Resource resource = 6; // Resource是嵌套类型 + message Resource { + string name = 1; + string icon = 2; + string description = 3; + string extra = 4; + } +} +message GrowthTask { + int64 id = 1; // 64位整数 + string id_str = 2; // 字符串 + int64 live_id = 3; // 64位整数 + int64 app_id = 4; // 64位整数 + int64 class_id = 5; // 64位整数 + int64 group_id = 6; // 64位整数 + int32 item_type = 7; // 32位整数 + string item_id = 8; // 字符串 + string task_name = 9; // 字符串 + string task_desc = 10; // 字符串 + int64 start_time = 11; // 64位整数 + int64 end_time = 12; // 64位整数 + int64 display_start_time = 13; // 64位整数 + int64 display_end_time = 14; // 64位整数 + int32 status = 15; // 32位整数 + int64 completed_stage = 16; // 64位整数 + int64 finish_time = 17; // 64位整数 + repeated GrowthTaskStage stage_list = 18; // 可重复的GrowthTaskStage类型字段 + string extra = 19; // 字符串 + string config = 20; // 字符串 + int64 create_time = 21; // 64位整数 +} +message GrowthTaskStage { + repeated GrowthTaskCondition condition_list = 1; // 条件列表,可重复的GrowthTaskCondition类型字段 + repeated GrowthTaskReward reward_list = 2; // 奖励列表,可重复的GrowthTaskReward类型字段 + int64 completed_time = 3; // 完成时间,64位整数 +} +message GrowthTaskReward { + GrowthTaskRewardDef def = 1; // GrowthTaskRewardDef类型字段 + int32 status = 2; // 奖励状态,32位整数 + string extra = 3; // 额外信息,字符串类型 + int64 remaining_count = 4; // 剩余数量,64位整数 +} +message GrowthTaskRewardDef { + int64 id = 1; // 唯一标识符,64位整数 + int32 reward_type = 2; // 奖励类型,32位整数 + int32 settle_type = 3; // 结算类型,32位整数 + string target = 4; // 目标,字符串类型 + string desc = 5; // 描述,字符串类型 + string operator = 6; // 操作符,字符串类型 + string send_param_str = 7; // 发送参数字符串,字符串类型 + string extra = 8; // 额外信息,字符串类型 + string name = 9; // 名称,字符串类型 +} +message GrowthTaskCondDef { + int64 id = 1; // 唯一标识符,64位整数 + string key = 2; // 条件的键或代码,字符串类型 + string desc = 3; // 条件描述,字符串类型 + string operator = 4; // 操作符,可能定义了如何比较条件,字符串类型 + string extra = 5; // 额外信息,可能包含其他元数据,字符串类型 +} +message GrowthTaskCondition { + GrowthTaskCondDef def = 1; // GrowthTaskCondDef类型字段 + string desc = 2; // 字符串类型字段 + string current_value = 3; // 当前值,以字符串形式存储 + string target_value = 4; // 目标值,以字符串形式存储 + string display_current_value = 5; // 显示的当前值,以字符串形式存储 + string display_target_value = 6; // 显示的目标值,以字符串形式存储 + string display_delta = 7; // 显示的变化量,以字符串形式存储 +} +message GrowthTaskMessage { + + Common common = 1; + GrowthTask task = 2; + int32 action = 3; + CurrentContribution current_contribution = 4; + repeated GrowthTaskContributorRank contributors = 5; + int64 queue_task_len = 6; + + message CurrentContribution { + User user = 1; // 关联User消息类型 + map delta_info = 2; // 映射类型字段,存储贡献变化 + } + +} +message GrowthTaskContributorRank { + User user = 1; // 用户信息,关联User消息类型 + int64 score = 2; // 分数,64位整数 + int64 rank = 3; // 排名,64位整数 +} +message GameCPBaseMessage { + Common common = 1; // 公共信息,关联Common消息类型 + GameCPShowMessage show_info = 2; // 展示信息,关联GameCPShowMessage消息类型 +} +message GameCPShowMessage { + int32 type = 1; // 消息类型 + Text introduce_download_info = 2; // 游戏下载信息 + string game_image = 3; // 游戏图片 + string game_name = 4; // 游戏名称 + string game_download_url = 5; // 游戏下载链接 + string game_trace_info = 6; // 游戏追踪信息 + repeated string game_tag_names = 7; // 游戏标签名称列表 + string game_background_color = 8; // 游戏背景颜色 + int32 introduce_time_limit = 9; // 介绍时间限制 + int64 introduce_start_time = 10; // 介绍开始时间 + int32 introduce_stop_type = 11; // 介绍停止类型 + Text introduce_stop_message = 12; // 介绍停止信息 + string game_id = 13; // 游戏ID + bool audit_result = 14; // 审核结果 + string ios_app_id = 15; // iOS应用ID + string company_name = 16; // 公司名称 + string download_extra = 17; // 下载额外信息 + string android_privacy_url = 18; // Android隐私政策链接 + string android_authorization_url = 19; // Android授权链接 + string ios_privacy_url = 20; // iOS隐私政策链接 + string ios_authorization_url = 21; // iOS授权链接 + string android_version = 22; // Android版本 + string ios_version = 23; // iOS版本 + string active_link = 24; // 活跃链接 + int64 download_count = 25; // 下载次数 + bool is_show_animate = 26; // 是否显示动画 + int64 animate_start_time = 27; // 动画开始时间 + int64 animate_duration = 28; // 动画持续时间 + string anti_hijack_content = 29; // 反劫持内容 + string anti_hijack_image = 30; // 反劫持图片 + string ios_sale_point = 31; // iOS销售点 + bool is_forbid_jump_ios_app = 32; // 是否禁止跳转到iOS应用 + bool has_platform_gift = 33; // 是否有平台礼物 + string open_game_url = 44; // 打开游戏链接 + string prop_icon = 45; // 道具图标 + string prop_name = 46; // 道具名称 + string prop_id = 47; // 道具ID + int64 market_price = 48; // 市场价格 + int64 selling_price = 49; // 销售价格 + int64 prop_sku_id = 50; // 道具SKU ID + ReserveItem reserve_item = 51; // 预约项目 + int64 prop_type = 52; // 道具类型 + int64 game_access_type = 53; // 游戏访问类型 + bool is_prop_exp_game = 54; // 是否是道具体验游戏 + repeated string component_ids = 55; // 组件ID列表 + int32 biz_type = 56; // 业务类型 + int64 install_user_count = 57; // 安装用户数量 + string android_sale_point = 58; // Android销售点 + MiniGameMeta mini_game_meta = 59; // 小游戏元数据 + int64 support_platforms = 60; // 支持的平台 + MiniPlayMeta mini_play_meta = 61; // 小游戏播放元数据 + string play_introduce = 62; // 播放介绍 + string small_icon = 63; // 小图标 + string game_introduction_url = 64; // 游戏介绍链接 + GameImageBundler game_icon = 65; // 游戏图标捆绑 + CloudGameMeta cloud_game_meta = 66; // 云游戏元数据 + AtmosphereContent atmosphere_content = 67; // 氛围内容 + FeaturedContent featured_content = 68; // 特色内容 + string promote_instance_id = 70; // 推广实例ID + int64 prop_stock_num = 71; // 道具库存数量 + IntroduceCardTag tag = 72; // 介绍卡片标签 + IntroduceCardDisplayInfo card_display_info = 73; // 卡片显示信息 + bool is_in_pre_download_period = 74; // 是否在预下载期 +} +message ReserveItem { + string reserve_today_num = 1; // 当天预订数量,字符串类型 + string reserve_total_num = 2; // 总预订数量,字符串类型 + int32 reserve_status = 3; // 预订状态,32位整数 +} +message MiniGameMeta { + string schema = 1; // 小游戏的schema,字符串类型 + string version = 2; // 小游戏的版本,字符串类型 +} +message MiniPlayMeta { + string schema = 1; // 小游戏的schema,字符串类型 + string game_name = 2; // 小游戏名称,字符串类型 + string icon = 3; // 小游戏图标,字符串类型 + string game_id = 4; // 小游戏ID,字符串类型 + string app_id = 5; // 应用ID,字符串类型 + int64 support_live_scene = 6; // 支持的直播场景,64位整数 + string version = 7; // 小游戏版本,字符串类型 + int32 game_type = 8; // 小游戏类型,32位整数 + string developer = 9; // 开发者信息,字符串类型 + string extra = 10; // 额外信息,字符串类型 +} +message GameImageBundler { + GameImage origin_image = 1; // 原始图片,GameImage类型 + GameImage thumb_image = 2; // 缩略图,GameImage类型 + GameImage thumb_heif_image = 3; // HEIC格式的缩略图,GameImage类型 +} +message GameImage { + repeated string url_list = 1; // 图片URL列表,重复的字符串类型字段 + string uri = 2; // 图片统一资源标识符,字符串类型 + int64 height = 3; // 图片高度,64位整数 + int64 width = 4; // 图片宽度,64位整数 + int64 rotation = 5; // 图片旋转角度,64位整数 +} +message CloudGameMeta { + string schema = 1; // 云游戏的schema,字符串类型 +} +message AtmosphereContent { + int64 show_duration = 1; // 展示时长,64位整数 + string count = 2; // 计数,字符串类型 +} +message FeaturedContent { + int32 rotation_time = 1; // 轮播时间,32位整数 + repeated Content contents = 2; // 内容列表,重复的Content类型字段 +} +message Content { + int32 type = 1; // 内容类型,32位整数 + string content = 2; // 内容正文,字符串类型 + repeated string avatar = 3; // 头像列表,重复的字符串类型字段 +} +message IntroduceCardTag { + string icon_url = 1; // 标签的图标URL,字符串类型 + string sub_text = 2; // 标签的辅助文本,字符串类型 +} +message IntroduceCardDisplayInfo { + int64 display_duration = 1; // 展示时长,64位整数 + bool is_open_timer_introduce_card = 2; // 是否开启定时介绍卡片,布尔类型 + int64 display_timer_span = 3; // 展示定时间隔,64位整数 + int64 display_timer_loop_cnt = 4; // 展示定时循环次数,64位整数 +} +message SandwichBorderMessage { + Common common = 1; // 对应 JavaScript 中的 common 字段 + SandwichBorder sandwich_border_info = 2; // 对应 JavaScript 中的 sandwich_border_info 字段 +} +message SandwichBorder { + double top = 1; // 对应 JavaScript 中的 top 字段 + double bottom = 2; // 对应 JavaScript 中的 bottom 字段 + double left = 3; // 对应 JavaScript 中的 left 字段 + double right = 4; // 对应 JavaScript 中的 right 字段 +} +message LiveShoppingMessage { + Common common = 1; // 公共字段 + int32 msg_type = 2; // 消息类型 + int64 promotion_id = 3; // 促销 ID + int64 target_uid = 4; // 目标用户 ID + int32 bubble_type = 5; // 弹窗类型 + int64 screenshot_timestamp = 6; // 截图时间戳 + string sec_target_uid = 7; // 目标用户的安全 ID + string ecom_notice = 8; // 电商通知 + repeated int64 updated_product_ids = 9; // 更新的商品 ID 列表 + int32 update_type = 10; // 更新类型 + UpdatedProductInfo updated_product_info = 11; // 更新的商品信息 + bool sold_out = 12; // 是否售罄 + UpdatedCouponInfo updated_coupon_info = 13; // 更新的优惠券信息 + UpdatedCampaignInfo updated_campaign_info = 14; // 更新的活动信息 + int64 update_timestamp = 15; // 更新时间戳 + string button_label = 16; // 按钮标签 + int64 promotions_num = 17; // 促销数量 + UpdatedSkuInfo update_sku_info = 18; // 更新的 SKU 信息 + UpdatedCommentaryVideoInfo updated_commentary_video_info = 19; // 更新的解说视频信息 + UpdatedGroupInfo updated_group_info = 20; // 更新的组信息 + string commerce_authority_change_toast = 21; // 商业权限更改提示 + TraceTimeMetric trace_time_metric = 22; // 时间跟踪指标 + AuctionSuccess auction_success = 23; // 拍卖成功信息 + AuctionInfo auction_info = 24; // 拍卖信息 + RedpackActivityInfo redpack_activity_info = 25; // 红包活动信息 + UpdatedCartInfo updated_cart_info = 26; // 更新的购物车信息 + LotteryInfo lottery_info = 27; // 抽奖信息 + WinLotteryInfo win_lotteryinfo = 28; // 抽奖中奖信息 + LotteryInfoList lottery_info_list = 29; // 抽奖信息列表 + HotAtmosphere hot_atmosphere = 30; // 热烈氛围 + string update_toast = 31; // 更新提示 + bool can_sold = 32; // 是否可售 + int64 logical_clock = 33; // 逻辑时钟 + RoomTagOfflineInfo room_tag_offline_info = 34; // 房间标签离线信息 + FilterSwitchChangeData filter_switch_change_data = 35; // 过滤开关变化数据 + InteractionData interaction_data = 36; // 交互数据 + string target_open_id = 5000; // 目标 Open ID +} + +// LiveEcomGeneralMessage 消息定义 +message LiveEcomGeneralMessage { + Common common = 1; // 通用信息 + string content_type = 2; // 内容类型 + string content_format = 3; // 内容格式 + int64 logic_clock = 4; // 逻辑时钟 + TraceTimeMetricV2 trace_time_metric = 5; // 时间跟踪指标 + bytes data = 6; // 数据内容 + int64 target_room_id = 50; // 目标房间 ID +} + + +// TraceTimeMetricV2 消息定义 +message TraceTimeMetricV2 { + int64 op_timestamp = 1; // 操作时间戳 + int64 producer_duration = 2; // 生产者耗时 + int64 consumer_duration = 3; // 消费者耗时 + int64 msg_send_timestamp = 4; // 消息发送时间戳 +} +// FilterSwitchChangeData 消息定义 +message FilterSwitchChangeData { + bool enable = 1; // 是否启用过滤器 + UpIcon up_icon = 2; // 上升图标信息 +} + +// UpIcon 消息定义 +message UpIcon { + string name = 1; // 名称 + string up_icon = 2; // 上升图标 URL + string up_desc = 3; // 上升描述 + string public_screen_notice = 4; // 公屏通知 +} +// RoomTagOfflineInfo 消息定义 +message RoomTagOfflineInfo { + int64 tag_type = 1; // 标签类型 + string user_toast = 2; // 用户提示信息 +} + +// InteractionData 消息定义 +message InteractionData { + bool full = 1; // 是否为完整交互数据 + repeated InteractionContent contents = 2; // 交互内容列表 +} + +// InteractionContent 消息定义 +message InteractionContent { + InteractionContentCheck check = 1; // 内容检查信息 + int32 priority = 2; // 优先级 + int32 loop_count = 3; // 循环次数 + repeated InteractionElement content = 4; // 交互元素列表 + map event_param = 5; // 事件参数映射 +} + +// InteractionContentCheck 消息定义 +message InteractionContentCheck { + int64 product_id = 1; // 产品 ID + int32 index = 2; // 索引 +} + +// InteractionElement 消息定义 +message InteractionElement { + int32 element_type = 1; // 元素类型 + string text = 2; // 文本内容 + string text_color = 3; // 文本颜色 + InteractionAvatar avatars = 4; // 头像信息 + int32 blank_width = 5; // 空白宽度 +} + +// InteractionAvatar 消息定义 +message InteractionAvatar { + repeated string url_list = 1; // URL 列表 + int32 width = 2; // 宽度 + int32 height = 3; // 高度 +} +message UpdatedProductInfo { + int64 price = 1; // 商品价格 + string title = 2; // 商品标题 + string cover = 3; // 商品封面 + int64 status = 4; // 商品状态 + string pop_upicon = 5; // 弹出图标 +} + +// UpdatedCouponInfo 消息定义 +message UpdatedCouponInfo { + string tag = 1; // 优惠券标签 + string coupon_url = 2; // 优惠券链接 + string coupon_applet = 3; // 优惠券小程序 + bool is_valid = 4; // 是否有效 + string coupon_meta_id = 5;// 优惠券元数据 ID +} + +// UpdatedCampaignInfo 消息定义 +message UpdatedCampaignInfo { + bool is_valid = 1; // 活动是否有效 + string label = 2; // 活动标签 + string price = 3; // 活动价格 + string pic = 4; // 活动图片 + string start_time = 5; // 活动开始时间 + string end_time = 6; // 活动结束时间 + string time_start_label = 7; // 开始时间标签 + string time_end_label = 8; // 结束时间标签 + string user_limit = 9; // 用户限制 + string is_preheat = 10; // 是否预热 + string campaign_id = 11; // 活动 ID +} + +// SkuInfo 消息定义 +message SkuInfo { + string sku_id = 1; // SKU ID + int64 stock_num = 2; // 库存数量 + int64 price = 3; // SKU 价格 + int64 coupon_price = 4; // 优惠价格 +} + +// TraceTimeMetric 消息定义 +message TraceTimeMetric { + int64 op_timestamp = 1; // 操作时间戳 + int64 producer_duration = 2; // 生产者持续时间 + int64 consumer_duration = 3; // 消费者持续时间 + int64 msg_send_timestamp = 4; // 消息发送时间戳 +} + +// UpdatedSkuInfo 消息定义 +message UpdatedSkuInfo { + map skus = 1; // SKU 信息映射 + int64 min_price = 2; // 最低价格 + int64 max_price = 3; // 最高价格 + int64 unuse_min_price = 4; // 未使用最低价格 + int64 coupon_price = 5; // 优惠价格 +} + +// UpdatedCommentaryVideoInfo 消息定义 +message UpdatedCommentaryVideoInfo { + int64 action = 1; // 动作 +} + +// UpdatedGroupInfo 消息定义 +message UpdatedGroupInfo { + repeated string avatar_list = 1; // 头像列表 + int64 joined = 2; // 加入人数 + int64 group_size = 3; // 组大小 + int64 persent = 4; // 百分比 +} +message AuctionSuccess { + string title = 1; // 标题 + int64 product_id = 2; // 产品 ID + string product_name = 3; // 产品名称 + string product_pic = 4; // 产品图片 + int64 price = 5; // 价格 + int64 charge = 6; // 费用 + int64 freight = 7; // 运费 + int64 total = 8; // 总计 + string button_label = 9; // 按钮标签 + string jump_url = 10; // 跳转 URL + string freight_collect = 11; // 运费收集 + int64 left_payment_time = 12; // 剩余支付时间 + int32 biz_id = 13; // 业务 ID + string deposit_info = 14; // 定金信息 +} + +// RedpackActivityInfo 消息定义 +message RedpackActivityInfo { + int64 redpack_type = 1; // 红包类型 + string redpack_activity_id = 2;// 红包活动 ID + string redpack_activity_name = 3; // 红包活动名称 + int64 start_apply_time = 4; // 开始申请时间 + int64 end_apply_time = 5; // 结束申请时间 + int64 preheat_time = 6; // 预热时间 + int64 total_amount = 7; // 总金额 + string author_avatar_url = 8; // 作者头像 URL + string author_name = 9; // 作者名称 + string pendant_background_url = 10; // 挂件背景 URL + string redpack_front_background_url = 11; // 红包前景背景 URL + string redpack_label = 12; // 红包标签 + string redpack_after_background_url = 13; // 红包后背景 URL + string redpack_after_belt_url = 14; // 红包后带 URL + int64 scatter_time = 15; // 分散时间 + int64 server_time = 16; // 服务器时间 + int64 max_amount = 17; // 最大金额 + int64 show_type = 18; // 显示类型 + string shorttouch_pendant_background_url = 19; // 短触挂件背景 URL + string shorttouch_pendant_icon_url = 20; // 短触挂件图标 URL + string shorttouch_lottie_url = 21; // 短触 Lottie URL +} + +// UpdatedCartInfo 消息定义 +message UpdatedCartInfo { + CartVertical vertical = 1; // 垂直信息 + CartHorizontal horizontal = 2; // 水平信息 + GlobalCustomIcons global_custom_icons = 3; // 全局自定义图标 +} + +// LotteryProductShortInfo 消息定义 +message LotteryProductShortInfo { + int64 product_id = 1; // 产品 ID + string img = 2; // 图片 +} + +// LotteryInfo 消息定义 +message LotteryInfo { + int64 lottery_type = 1; // 抽奖类型 + string enter_icon = 2; // 进入图标 + string icon = 3; // 图标 + string activity_id = 4; // 活动 ID + int64 open_time = 5; // 开放时间 + LotteryProductShortInfo product_info = 6; // 产品信息 +} + +// LotteryUnusualInfo 消息定义 +message LotteryUnusualInfo { + string product_name = 1; // 产品名称 + int64 open_time = 2; // 开放时间 +} +message CartVertical { + bool allow_show_cart = 1; // 是否允许显示购物车 +} + +// CartHorizontal 消息定义 +message CartHorizontal { + bool allow_show_cart = 1; // 是否允许显示购物车 +} + +// GlobalCustomIcons 消息定义 +message GlobalCustomIcons { + string static_icon_url = 1; // 静态图标 URL + string animated_icon_url = 2; // 动态图标 URL + string animated_common_icon_url = 3; // 通用动态图标 URL +} +message AuctionInfo { + int64 price = 1; // 当前价格 + string price_label = 2; // 价格标签 + int32 status = 3; // 状态 + string jump_url = 4; // 跳转 URL + CurrentUserInfo current_user_info = 5; // 当前用户信息 + repeated IncrPriceList incr_price_lists = 6; // 增价列表 + string button_label = 7; // 按钮标签 + int64 product_id = 8; // 产品 ID + int64 end_time = 9; // 结束时间 + int32 biz_id = 10; // 业务 ID +} +message CurrentUserInfo { + Img user_pic = 1; // 用户头像 + string user_name = 2; // 用户名 + int64 user_id = 3; // 用户 ID +} +message Img { + string url = 1; // 图片 URL + int32 width = 2; // 图片宽度 + int32 height = 3; // 图片高度 +} +message IncrPriceList { + int64 price = 1; // 增价的价格 + int64 range = 2; // 增价的范围 +} +// WinLotteryInfo 消息定义 +message WinLotteryInfo { + string title = 1; // 标题 + string name = 2; // 名称 + string img = 3; // 图片 URL + string button_label = 4; // 按钮标签 + string win_record_id = 5; // 中奖记录 ID + string activity_id = 6; // 活动 ID + bool is_addressed = 7; // 是否已处理 + WinLotteryAlert alert = 8; // 中奖提示信息 + bool is_win = 9; // 是否中奖 + string jump_url = 10; // 跳转 URL + int64 product_id = 11; // 产品 ID + repeated int64 activity_price = 12;// 活动价格 + int64 buy_time = 13; // 购买时间 + int64 lottery_type = 14; // 抽奖类型 + string product_id_str = 15; // 产品 ID 字符串 +} + +// WinLotteryAlert 消息定义 +message WinLotteryAlert { + string title = 1; // 标题 + string content = 2; // 内容 + string button_label = 3; // 按钮标签 +} +message LotteryInfoList { + string activity_id = 1; // 活动 ID + int64 task_type = 2; // 任务类型 + int64 open_time = 3; // 开放时间 + int64 user_activity_status = 4; // 用户活动状态 + string win_record_id = 5; // 中奖记录 ID + string result_label = 6; // 结果标签 + string button_label = 7; // 按钮标签 + repeated string text = 8; // 文本数组 + string jump_url = 9; // 跳转 URL + int64 lottery_type = 10; // 抽奖类型 + string elastic_title = 11; // 弹性标题 + BenefitLabel benefit_label = 12; // 福利标签 +} + +// BenefitLabel 消息定义 +message BenefitLabel { + string LeftText = 1; // 左侧文本 + string RightText = 2; // 右侧文本 + int32 TextStyle = 3; // 文本样式 + int32 ColorStyle = 4; // 颜色样式 + int32 DivLine = 5; // 分割线样式 +} + +// HotAtmosphere 消息定义 +message HotAtmosphere { + string img = 1; // 图片 URL + string sale_num = 2; // 销售数量 + int64 type = 3; // 类型 + string num = 4; // 数量 + string bg_color = 5; // 背景颜色 + string border_color = 6; // 边框颜色 + int64 left_margin = 7; // 左边距 + int64 ui_type = 8; // UI 类型 + repeated string bg_colors = 9; // 背景颜色数组 + repeated string border_colors = 10; // 边框颜色数组 + string top_img = 11; // 顶部图片 URL +} \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..d954783 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + 抖音直播间需求抓取 + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..0467420 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,1919 @@ +{ + "name": "frontend", + "version": "1.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "1.1.0", + "dependencies": { + "qrcode.react": "^4.2.0", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@types/react": "^18.3.0", + "@types/react-dom": "^18.3.0", + "@vitejs/plugin-react": "^4.3.4", + "typescript": "^5.5.0", + "vite": "^6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz", + "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.8", + "@babel/types": "^7.29.8", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", + "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz", + "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.8", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.8", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.8", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.63.3.tgz", + "integrity": "sha512-w3Jnvi1ocaVm/c7yVPpfB98XeSRBMyzp6njL5MVVbGyXjpmUkN+s6Hp4t0PqhGCCaI1ZHMKXt/w0lA1RCaLVcw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.63.3.tgz", + "integrity": "sha512-uI/ESiaIbbRYAEhzy8PCUWDp1hB0bjAqM06mW9flOoNO4Q8DQpeoREhBR5Hegfl+wpXiguyJv6XSPzEN7OxyHQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.63.3.tgz", + "integrity": "sha512-oxhrd1jmXLwWZ83eQYDXxuqRdkqkzrjR3JobKeuUyfdNZo11FuQIvqEOZhyIT7OBHxXoGslDDjN0cQcM6T0TqQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.63.3.tgz", + "integrity": "sha512-7/YiIMghVE8DrxKvNdorAaJVdriOFgOIpdStnPx8ppx5zfTwC3jBCSEAIzB7JD5404m65THl6H93UTTVUvypmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.63.3.tgz", + "integrity": "sha512-GXFZRRoMAytaI5z6N3Zhfw0WL18Q0M8r95D5hlC4GqE/lGk8pbSJNUBoOWDfbm6dTciqHj2nU87tI5f6XhQiOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.63.3.tgz", + "integrity": "sha512-77W+8X3ddYgPxUpB8nZFQs2Mq+wc4HVlcSRtApXLjYBcnPMkttrSnU8VwKQjeWYhMsITHFs5cWBQ8vz1Q+5RHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.63.3.tgz", + "integrity": "sha512-FVkwK+iUC+mq+GipVK46rRVticfAPtvPUNlqlGXUDxdVk/UGjQiiiUVPUrEXdSpU2ufU0XxLGyTqDtBidDOVmg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.63.3.tgz", + "integrity": "sha512-+aGU1t3398yQOVj1Bz8o3e+KtswxAPvO+mtxtNdfXYMkXIHu7XhhkCD7/DEH9q8tF8uhDnMWvfpUKI8y1sZJsg==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.63.3.tgz", + "integrity": "sha512-cR0kjpRXR2KJ2oQK8E2KTPtphs+b9hZ8IhTZubNryt/RsqgdOZBQ2Zq0q5UedtiIi0rs3jVhJh55RE1ZHUVGUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.63.3.tgz", + "integrity": "sha512-y1RYi4Q3/9ByVWSSt9kX2ustE0B7kFYbJ6zZdVZVyqopZs3yhCTwRfrjIX4vezUJInma/Gs6BOFDJg7yZmJ0IQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.63.3.tgz", + "integrity": "sha512-DNhEA5viIj3Z5bZLE4z4oV8N5ozWqDwyt7T6KG7VdLDJ0nW+rNOYlphBl4/3HQkK75qipPLsVOfStHHOwN9WSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.63.3.tgz", + "integrity": "sha512-17gQCqrIpXBX2Cmi9/TygnVOqGbzsba/iaqcYSL8FY7lNugg+7AiYNs5c5nKWD+NRQha36Sa0CqkJqH4XVHwnQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.63.3.tgz", + "integrity": "sha512-6LwVnZRIyINpdku/yOcI8Tm9YqLmhHK5emmlOOnW9tO0SYEm1FmKPcsSAGp0NBlqR2P04xaND4jvN6sTHqhq8A==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.63.3.tgz", + "integrity": "sha512-xMUqkTXlEUtI/p5AAukMwBRr1enU3efsTeF+bskeFfk8t1C9rcC8sLREcZXmTfAXEbvRdJVSonVJez3TMlbR3w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.63.3.tgz", + "integrity": "sha512-S3E94co9F9WRRqEaUoQZ38K1gCz6KiM+nL7/3ijq7fDGF3OznjS5TasgYITlvl27GQKtu4lOAOsr5MFwkijvOA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.63.3.tgz", + "integrity": "sha512-1QtRDwG42x5BJI3s9mxu5rEjDnfbSnk20HQ9/ylTAYnSwYwxMVb+Vgu34wzzTQ7ogqBybebgQNUDAvZVQ38DbA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.63.3.tgz", + "integrity": "sha512-BQhejF6ZXOpxbngiNTP12GCGQeaDVL2QXGeBVViKIYzFHM5RKxTxwUMB1fr1BeNFphFMpnRqC5QSXFSa4z6UQw==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.63.3.tgz", + "integrity": "sha512-SXagRwnI2Wlwlitllu59UK/nGVbD1CKPcNqDplHwIC4BqJcpXFjD32d1R/RbuISa95HdQrZM3/7v4bKiowFaLA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.63.3.tgz", + "integrity": "sha512-2IPozoEALRCziGqE8O9KMK60PMu5TS1huv4fwoeCexj+WjmcwFtX9CTOVbfXCUqcELAubEwRFPYlzb/WvwY2HQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.63.3.tgz", + "integrity": "sha512-AoxqosUHT9IX54hFn2TiN6A7d6ZKTtE6pd2bqWtqkkNJ6HJGaU6FRouGX8L1O7R/ZwsnCnpQrHzb4pDEx+UHRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.63.3.tgz", + "integrity": "sha512-d+CaftKgmkFBzCwezMqqy1d0QNNYugqLCMcYVQWBy5SS2YfeMP8Q8ripkgx9O8IyBXXLHrJ+aaCV4U96usv6Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.63.3.tgz", + "integrity": "sha512-xXlDF6nR1eOuXbdDy5Hl5fmtY7teUDevF/k0O7IPoZe4Tpmdv+lgdE5JRsnhQtt37ql9P0VF2kAN9a0OCZdo+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.63.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.63.3.tgz", + "integrity": "sha512-YtXAgLN+JP7Ay6qG3eWhc7IHMQPzLc8r3uvhAvlJIoCz/4Q32+Bl9Fmnywidh8v1GOIMmymjovfqY9ETAtysvA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.63.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.63.3.tgz", + "integrity": "sha512-WuWtSJRNo549vzcfZyEgfqb6zeSgn1F+UE5kQ+BCjzz0W4MGCjntUHkZVc1VRuAM7+ULaSyhiPxD1spyewFvkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.63.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.63.3.tgz", + "integrity": "sha512-+lIKX7O0+IGe7WuhATaAMMeT7B76vfhXH/l9wLQL+nvyhbw2ohYCKIdWL56JfDu75CWt5oKRP4QFH/jkMtBquA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.31", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.3.31.tgz", + "integrity": "sha512-vfEqpXTvwT91yhmwdfouStN2hSKwTvyRs8qpLfADyrq/kxDw0hZM7Wk9Ug1FELj8hIby+S/+kQCSRFF32nv2Qw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.11.24", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.24.tgz", + "integrity": "sha512-hYrgxie335U08WqICoGqKRzV1HFXv6zdxwJE4ekCb80CM9a0SVVsN4QPwT67RraRo+9h8IATk6uxHJw7QSkdOg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.0.tgz", + "integrity": "sha512-3GSvyjvDI4Dur1Meg2BekJquu5uF+9R9a1+5M1Mde192eZoXbeXjzgOsgqPS2V8D5wrrip0gR5Hf/GhWQ9ZzaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.11.23", + "caniuse-lite": "^1.0.30001810", + "electron-to-chromium": "^1.5.427", + "node-releases": "^2.0.55", + "update-browserslist-db": "^1.3.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001810", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz", + "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.430", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.430.tgz", + "integrity": "sha512-e1QEj72Y4zd8RlNZVmoTg+iCOSVwpk05IOiiQwdrkwCSVlZfPthevErhE+nckGd2YbsXfp1SkisznhGVIXP2NQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.19", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz", + "integrity": "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.55", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.55.tgz", + "integrity": "sha512-mIrE/Cw9y+9Au6dS5vDKDhQza9YvG6w+ZrS6X+ZzA7yFW/soAeaups4Qzn1bL6g5FVy8WtP79+0j82oPIbqRjQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.28", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz", + "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.18", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/qrcode.react": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/qrcode.react/-/qrcode.react-4.2.0.tgz", + "integrity": "sha512-QpgqWi8rD9DsS9EP3z7BT+5lY5SFhsqGjpgW5DY/i3mK4M9DTBNz3ErMi8BWYEfI3L0d8GIbGmcdFAS1uIRGjA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.63.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.63.3.tgz", + "integrity": "sha512-1i2XreiAoMMXuPGD6Msj2xWrMMkHojNRKivInxGQcg7/1KuPuYlfUutLyh4drnOxUTHX9cHI4wFoat8D/NKaBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.63.3", + "@rollup/rollup-android-arm64": "4.63.3", + "@rollup/rollup-darwin-arm64": "4.63.3", + "@rollup/rollup-darwin-x64": "4.63.3", + "@rollup/rollup-freebsd-arm64": "4.63.3", + "@rollup/rollup-freebsd-x64": "4.63.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.63.3", + "@rollup/rollup-linux-arm-musleabihf": "4.63.3", + "@rollup/rollup-linux-arm64-gnu": "4.63.3", + "@rollup/rollup-linux-arm64-musl": "4.63.3", + "@rollup/rollup-linux-loong64-gnu": "4.63.3", + "@rollup/rollup-linux-loong64-musl": "4.63.3", + "@rollup/rollup-linux-ppc64-gnu": "4.63.3", + "@rollup/rollup-linux-ppc64-musl": "4.63.3", + "@rollup/rollup-linux-riscv64-gnu": "4.63.3", + "@rollup/rollup-linux-riscv64-musl": "4.63.3", + "@rollup/rollup-linux-s390x-gnu": "4.63.3", + "@rollup/rollup-linux-x64-gnu": "4.63.3", + "@rollup/rollup-linux-x64-musl": "4.63.3", + "@rollup/rollup-openbsd-x64": "4.63.3", + "@rollup/rollup-openharmony-arm64": "4.63.3", + "@rollup/rollup-win32-arm64-msvc": "4.63.3", + "@rollup/rollup-win32-ia32-msvc": "4.63.3", + "@rollup/rollup-win32-x64-gnu": "4.63.3", + "@rollup/rollup-win32-x64-msvc": "4.63.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.3.tgz", + "integrity": "sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmmirror.com/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..b42549c --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,23 @@ +{ + "name": "frontend", + "private": true, + "version": "1.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1", + "qrcode.react": "^4.2.0" + }, + "devDependencies": { + "@vitejs/plugin-react": "^4.3.4", + "vite": "^6.0.0", + "@types/react": "^18.3.0", + "@types/react-dom": "^18.3.0", + "typescript": "^5.5.0" + } +} diff --git a/frontend/package.json.md5 b/frontend/package.json.md5 new file mode 100644 index 0000000..61afc8d --- /dev/null +++ b/frontend/package.json.md5 @@ -0,0 +1 @@ +2e6f182c838e63c2b9afa8bd486d948a \ No newline at end of file diff --git a/frontend/src/App.css b/frontend/src/App.css new file mode 100644 index 0000000..d153b26 --- /dev/null +++ b/frontend/src/App.css @@ -0,0 +1,1500 @@ +/* ===== CSS Variables ===== */ +:root { + --bg-page: #f0f2f5; + --bg-surface: #ffffff; + --bg-card: #ffffff; + --bg-card-hover: #f8f9fa; + --bg-input: #f5f5f5; + --bg-header: #ffffff; + --bg-footer: #ffffff; + --text-primary: #1a1a1a; + --text-secondary: #666666; + --text-muted: #999999; + --border-color: #e0e0e0; + --accent: #4a9eff; + --accent-hover: #3580e4; + --success: #52c41a; + --warning: #faad14; + --danger: #ff4d4f; + --shadow-sm: 0 1px 3px rgba(0,0,0,0.08); + --shadow-md: 0 4px 12px rgba(0,0,0,0.1); + --shadow-lg: 0 8px 24px rgba(0,0,0,0.12); + --radius-sm: 6px; + --radius-md: 10px; + --radius-lg: 16px; + --topbar-h: 52px; + --footer-h: 36px; + --header-h: 48px; +} + +[data-theme="dark"] { + --bg-page: #0f1117; + --bg-surface: #1a1d27; + --bg-card: #1e2130; + --bg-card-hover: #252839; + --bg-input: #252839; + --bg-header: #1a1d27; + --bg-footer: #1a1d27; + --text-primary: #e8e8e8; + --text-secondary: #a0a0a0; + --text-muted: #666666; + --border-color: #2a2d3a; + --accent: #4a9eff; + --accent-hover: #6db3ff; + --shadow-sm: 0 1px 3px rgba(0,0,0,0.3); + --shadow-md: 0 4px 12px rgba(0,0,0,0.4); + --shadow-lg: 0 8px 24px rgba(0,0,0,0.5); +} + +/* ===== Reset & Base ===== */ +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +html, body { + height: 100%; + background: var(--bg-page); + color: var(--text-primary); + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif; + font-size: 14px; + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +#root { height: 100%; } + +button { cursor: pointer; font-family: inherit; } +input, select { font-family: inherit; } + +/* ===== App Layout ===== */ +.app { + display: flex; + flex-direction: column; + height: 100vh; + overflow: hidden; + background: var(--bg-page); +} + +/* ===== TopBar ===== */ +.topbar { + height: var(--topbar-h); + background: var(--bg-header); + border-bottom: 1px solid var(--border-color); + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 16px; + flex-shrink: 0; + z-index: 100; + box-shadow: var(--shadow-sm); +} + +.topbar-brand { + display: flex; + align-items: center; + gap: 10px; +} + +.topbar-logo { + font-size: 22px; + line-height: 1; +} + +.topbar-title { + font-size: 15px; + font-weight: 600; + color: var(--text-primary); + white-space: nowrap; +} + +.room-count-top { + font-size: 12px; + color: var(--text-secondary); + background: var(--bg-input); + padding: 2px 8px; + border-radius: 10px; +} + +.topbar-actions { + display: flex; + align-items: center; + gap: 4px; +} + +.topbar-btn { + background: transparent; + border: none; + color: var(--text-secondary); + padding: 6px 10px; + border-radius: var(--radius-sm); + font-size: 13px; + display: flex; + align-items: center; + gap: 4px; + transition: all 0.15s; + white-space: nowrap; +} + +.topbar-btn:hover { + background: var(--bg-input); + color: var(--text-primary); +} + +.topbar-btn.active { + background: var(--accent); + color: #fff; +} + +.topbar-btn.topbar-start { + color: var(--success); +} + +.topbar-btn.topbar-start:hover { + background: rgba(82, 196, 26, 0.1); +} + +.topbar-btn.topbar-stop { + color: var(--danger); +} + +.topbar-btn.topbar-stop:hover { + background: rgba(255, 77, 79, 0.1); +} + +/* ===== App Content ===== */ +.app-content { + flex: 1; + overflow: hidden; + display: flex; + flex-direction: column; + min-height: 0; +} + +/* ===== Header (content area top bar) ===== */ +.header { + height: var(--header-h); + background: var(--bg-surface); + border-bottom: 1px solid var(--border-color); + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 16px; + flex-shrink: 0; +} + +.header-left { + display: flex; + align-items: center; + gap: 12px; +} + +.room-count { + font-size: 13px; + color: var(--text-secondary); + font-weight: 500; +} + +.filter-group { + display: flex; + gap: 4px; + background: var(--bg-input); + padding: 3px; + border-radius: var(--radius-sm); +} + +.filter-btn { + background: transparent; + border: none; + color: var(--text-secondary); + padding: 4px 10px; + border-radius: 4px; + font-size: 12px; + transition: all 0.15s; +} + +.filter-btn.active, .filter-btn:hover { + background: var(--bg-surface); + color: var(--text-primary); + box-shadow: var(--shadow-sm); +} + +.search-input { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-primary); + padding: 6px 12px; + border-radius: var(--radius-sm); + font-size: 13px; + width: 200px; + outline: none; + transition: border-color 0.15s; +} + +.search-input:focus { + border-color: var(--accent); +} + +.header-right { + display: flex; + align-items: center; + gap: 6px; +} + +.view-toggle { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-secondary); + padding: 5px 10px; + border-radius: var(--radius-sm); + font-size: 14px; + transition: all 0.15s; +} + +.view-toggle:hover, .view-toggle.active { + background: var(--accent); + color: #fff; + border-color: var(--accent); +} + +.view-toggle.auth-warn { + color: var(--danger); + border-color: var(--danger); +} + +.col-select { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-primary); + padding: 5px 8px; + border-radius: var(--radius-sm); + font-size: 12px; + outline: none; +} + +.action-btn { + border: none; + padding: 6px 12px; + border-radius: var(--radius-sm); + font-size: 12px; + font-weight: 500; + transition: all 0.15s; +} + +.start-btn { + background: rgba(82, 196, 26, 0.15); + color: var(--success); +} + +.start-btn:hover { + background: rgba(82, 196, 26, 0.25); +} + +.stop-btn { + background: rgba(255, 77, 79, 0.15); + color: var(--danger); +} + +.stop-btn:hover { + background: rgba(255, 77, 79, 0.25); +} + +/* ===== Dash Zone ===== */ +.dash-zone { + flex: 1; + overflow: auto; + padding: 16px; +} + +/* ===== Add Bar ===== */ +.add-bar { + background: var(--bg-surface); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + padding: 12px; + margin-bottom: 16px; + display: flex; + align-items: center; + gap: 12px; + flex-wrap: wrap; + box-shadow: var(--shadow-sm); +} + +.add-input-wrap { + display: flex; + gap: 8px; + flex: 1; + min-width: 0; +} + +.add-input { + flex: 1; + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-primary); + padding: 8px 12px; + border-radius: var(--radius-sm); + font-size: 13px; + outline: none; + min-width: 0; +} + +.add-input:focus { + border-color: var(--accent); +} + +.add-btn { + background: var(--accent); + border: none; + color: #fff; + padding: 8px 20px; + border-radius: var(--radius-sm); + font-size: 13px; + font-weight: 500; + white-space: nowrap; + transition: background 0.15s; +} + +.add-btn:hover { + background: var(--accent-hover); +} + +.add-error { + width: 100%; + color: var(--danger); + font-size: 12px; +} + +/* ===== Room Tools ===== */ +.room-tools { + display: flex; + align-items: center; + gap: 4px; +} + +.tool-btn { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-secondary); + padding: 5px 10px; + border-radius: var(--radius-sm); + font-size: 13px; + transition: all 0.15s; +} + +.tool-btn:hover, .tool-btn.active { + background: var(--accent); + color: #fff; + border-color: var(--accent); +} + +.col-sizer { + display: flex; + align-items: center; + gap: 4px; +} + +.col-label { + font-size: 12px; + color: var(--text-muted); +} + +.col-btn { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-secondary); + padding: 3px 8px; + border-radius: 4px; + font-size: 12px; + transition: all 0.15s; +} + +.col-btn:hover, .col-btn.active { + background: var(--accent); + color: #fff; + border-color: var(--accent); +} + +/* ===== Room Grid ===== */ +.room-grid { + display: grid; + gap: 12px; +} + +/* ===== Room Card ===== */ +.room-card { + background: var(--bg-card); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + padding: 14px; + transition: all 0.2s; + box-shadow: var(--shadow-sm); + cursor: pointer; + position: relative; +} + +.room-card:hover { + box-shadow: var(--shadow-md); + transform: translateY(-1px); + border-color: var(--accent); +} + +.room-card.stopped { opacity: 0.75; } +.room-card.stopped:hover { opacity: 1; } +.room-card.error { border-color: var(--danger); } +.room-card.starting { border-color: var(--warning); } + +.card-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin-bottom: 10px; +} + +.card-title-wrap { + display: flex; + align-items: center; + gap: 6px; + flex: 1; + min-width: 0; +} + +.card-title { + font-size: 14px; + font-weight: 600; + color: var(--text-primary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.card-controls { + display: flex; + gap: 4px; + opacity: 0; + transition: opacity 0.15s; +} + +.room-card:hover .card-controls { + opacity: 1; +} + +.card-btn { + background: var(--bg-input); + border: none; + color: var(--text-secondary); + width: 28px; + height: 28px; + border-radius: 6px; + font-size: 12px; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.15s; +} + +.card-btn:hover { background: var(--accent); color: #fff; } +.card-btn.del:hover { background: var(--danger); color: #fff; } +.card-btn.start:hover { background: var(--success); color: #fff; } +.card-btn.stop:hover { background: var(--danger); color: #fff; } + +.card-stats { + display: flex; + gap: 12px; + margin-bottom: 10px; + flex-wrap: wrap; +} + +.stat { + font-size: 12px; + color: var(--text-secondary); + display: flex; + align-items: center; + gap: 3px; +} + +.stat.lead-stat { color: var(--accent); font-weight: 600; } +.stat.status-stat.running { color: var(--success); } +.stat.status-stat.error { color: var(--danger); } +.stat.status-stat.starting { color: var(--warning); } + +.card-preview { + border-top: 1px solid var(--border-color); + padding-top: 8px; + display: flex; + flex-direction: column; + gap: 4px; +} + +.preview-msg { + display: flex; + align-items: flex-start; + gap: 6px; + font-size: 12px; + color: var(--text-secondary); + padding: 3px 4px; + border-radius: 4px; +} + +.preview-msg:hover { background: var(--bg-card-hover); } +.preview-msg.lead { background: rgba(74, 158, 255, 0.08); } +.preview-msg.marked-blue { border-left: 3px solid #4a9eff; } +.preview-msg.marked-red { border-left: 3px solid #ff4d4f; } +.preview-msg.marked-yellow { border-left: 3px solid #ffc53d; } + +.msg-type-icon { flex-shrink: 0; } +.msg-content { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } +.msg-time { flex-shrink: 0; color: var(--text-muted); font-size: 11px; } + +/* ===== Room List ===== */ +.room-list { + background: var(--bg-surface); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + overflow: hidden; + box-shadow: var(--shadow-sm); +} + +.list-table { + width: 100%; + border-collapse: collapse; +} + +.list-table th { + background: var(--bg-input); + color: var(--text-secondary); + font-weight: 500; + font-size: 12px; + padding: 10px 12px; + text-align: left; + border-bottom: 1px solid var(--border-color); +} + +.list-table td { + padding: 10px 12px; + font-size: 13px; + color: var(--text-primary); + border-bottom: 1px solid var(--border-color); +} + +.list-row { + cursor: pointer; + transition: background 0.1s; +} + +.list-row:hover { background: var(--bg-card-hover); } +.list-row.stopped { opacity: 0.7; } +.list-row.running td:first-child .status-dot { background: var(--success); } +.list-row.error td:first-child .status-dot { background: var(--danger); } +.list-row.starting td:first-child .status-dot { background: var(--warning); animation: blink 1s infinite; } + +@keyframes blink { 50% { opacity: 0.3; } } + +.status-dot { + display: inline-block; + width: 8px; + height: 8px; + border-radius: 50%; + background: var(--text-muted); +} + +.list-title { + max-width: 200px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.kind-badge { + display: inline-block; + padding: 2px 8px; + border-radius: 10px; + font-size: 11px; + font-weight: 500; +} + +.kind-badge.public { background: rgba(82, 196, 26, 0.1); color: var(--success); } +.kind-badge.anon { background: rgba(250, 173, 20, 0.1); color: var(--warning); } + +.list-actions { + display: flex; + gap: 4px; +} + +.list-btn { + background: var(--bg-input); + border: none; + color: var(--text-secondary); + padding: 4px 8px; + border-radius: 4px; + font-size: 11px; + transition: all 0.15s; +} + +.list-btn:hover { background: var(--accent); color: #fff; } +.list-btn.del:hover { background: var(--danger); color: #fff; } +.list-btn.start:hover { background: var(--success); color: #fff; } +.list-btn.stop:hover { background: var(--danger); color: #fff; } + +/* ===== Pagination ===== */ +.pagination { + display: flex; + align-items: center; + justify-content: center; + gap: 12px; + padding: 16px 0; +} + +.page-btn { + background: var(--bg-surface); + border: 1px solid var(--border-color); + color: var(--text-primary); + width: 32px; + height: 32px; + border-radius: var(--radius-sm); + font-size: 18px; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.15s; +} + +.page-btn:hover:not(:disabled) { + background: var(--accent); + color: #fff; + border-color: var(--accent); +} + +.page-btn:disabled { + opacity: 0.4; + cursor: not-allowed; +} + +.page-info { + font-size: 13px; + color: var(--text-secondary); +} + +/* ===== Empty State ===== */ +.empty-state { + grid-column: 1 / -1; + text-align: center; + padding: 60px 20px; + color: var(--text-muted); +} + +.empty-state p { + margin-bottom: 8px; + font-size: 14px; +} + +/* ===== Detail View ===== */ +.detail-view { + display: flex; + flex-direction: column; + height: 100%; + overflow: hidden; + background: var(--bg-page); +} + +.detail-header { + background: var(--bg-surface); + border-bottom: 1px solid var(--border-color); + padding: 12px 16px; + display: flex; + align-items: center; + gap: 16px; + flex-shrink: 0; +} + +.back-btn { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-primary); + padding: 6px 14px; + border-radius: var(--radius-sm); + font-size: 13px; + transition: all 0.15s; + white-space: nowrap; +} + +.back-btn:hover { background: var(--accent); color: #fff; border-color: var(--accent); } + +.detail-title { + display: flex; + align-items: center; + gap: 12px; + flex: 1; + min-width: 0; +} + +.detail-room-name { + font-size: 15px; + font-weight: 600; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.detail-status { + font-size: 12px; + padding: 2px 8px; + border-radius: 10px; + flex-shrink: 0; +} + +.detail-status.running { background: rgba(82,196,26,0.15); color: var(--success); } +.detail-status.error { background: rgba(255,77,79,0.15); color: var(--danger); } +.detail-status.stopped { background: var(--bg-input); color: var(--text-muted); } +.detail-status.starting { background: rgba(250,173,20,0.15); color: var(--warning); } + +.detail-stats { + display: flex; + gap: 12px; + font-size: 12px; + color: var(--text-secondary); + flex-shrink: 0; +} + +.detail-main { + flex: 1; + display: flex; + overflow: hidden; + min-height: 0; +} + +.detail-left { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; + min-width: 0; +} + +.detail-right { + width: 260px; + flex-shrink: 0; + border-left: 1px solid var(--border-color); + background: var(--bg-surface); + overflow-y: auto; + display: flex; + flex-direction: column; +} + +/* ===== Tab Bar ===== */ +.tab-bar { + display: flex; + gap: 2px; + background: var(--bg-surface); + border-bottom: 1px solid var(--border-color); + padding: 8px 12px; + overflow-x: auto; + flex-shrink: 0; +} + +.tab-btn { + background: transparent; + border: none; + color: var(--text-secondary); + padding: 6px 12px; + border-radius: var(--radius-sm); + font-size: 12px; + white-space: nowrap; + display: flex; + align-items: center; + gap: 4px; + transition: all 0.15s; +} + +.tab-btn:hover { background: var(--bg-input); color: var(--text-primary); } +.tab-btn.active { background: var(--accent); color: #fff; } + +.tab-count { + background: rgba(255,255,255,0.2); + padding: 1px 5px; + border-radius: 8px; + font-size: 10px; +} + +.tab-btn:not(.active) .tab-count { + background: var(--bg-input); + color: var(--text-muted); +} + +/* ===== Detail Filters ===== */ +.detail-filters { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + background: var(--bg-surface); + border-bottom: 1px solid var(--border-color); + flex-shrink: 0; + flex-wrap: wrap; +} + +.detail-filters select { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-primary); + padding: 4px 8px; + border-radius: 4px; + font-size: 12px; + outline: none; +} + +.lead-filter { + display: flex; + align-items: center; + gap: 4px; + font-size: 12px; + color: var(--text-secondary); + cursor: pointer; +} + +.clear-focus { + background: var(--danger); + border: none; + color: #fff; + padding: 3px 8px; + border-radius: 4px; + font-size: 11px; + margin-left: auto; +} + +/* ===== Message Container ===== */ +.msg-container { + flex: 1; + overflow-y: auto; + padding: 12px; + display: flex; + flex-direction: column; + gap: 6px; + background: var(--bg-page); +} + +.no-msgs { + text-align: center; + color: var(--text-muted); + padding: 40px; + font-size: 13px; +} + +/* ===== Msg Card ===== */ +.msg-card { + background: var(--bg-card); + border: 1px solid var(--border-color); + border-radius: var(--radius-sm); + padding: 10px 12px; + transition: all 0.15s; +} + +.msg-card:hover { + border-color: var(--accent); + box-shadow: var(--shadow-sm); +} + +.msg-card.lead { + border-color: var(--accent); + background: rgba(74, 158, 255, 0.05); +} + +.msg-card.marked-blue { border-left: 3px solid #4a9eff; } +.msg-card.marked-red { border-left: 3px solid #ff4d4f; } +.msg-card.marked-yellow { border-left: 3px solid #ffc53d; } + +.msg-card.seen { opacity: 0.6; } + +.msg-header { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 4px; + flex-wrap: wrap; +} + +.msg-type { + font-size: 11px; + color: var(--text-muted); + background: var(--bg-input); + padding: 1px 6px; + border-radius: 3px; +} + +.msg-user { + font-size: 13px; + font-weight: 500; + color: var(--accent); + cursor: pointer; +} + +.msg-user:hover { text-decoration: underline; } + +.msg-fans { + font-size: 11px; + color: var(--warning); +} + +.msg-time { + font-size: 11px; + color: var(--text-muted); + margin-left: auto; +} + +.msg-body { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 6px; +} + +.gift-info { + font-size: 12px; + color: var(--warning); + font-weight: 500; +} + +.msg-text { + font-size: 13px; + color: var(--text-primary); + word-break: break-all; +} + +.msg-actions { + display: flex; + gap: 4px; + flex-wrap: wrap; +} + +.mark-btn { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-secondary); + padding: 2px 8px; + border-radius: 3px; + font-size: 11px; + transition: all 0.15s; +} + +.mark-btn:hover { border-color: var(--accent); color: var(--accent); } +.mark-btn.blue { background: rgba(74,158,255,0.15); color: #4a9eff; border-color: #4a9eff; } +.mark-btn.red { background: rgba(255,77,79,0.15); color: #ff4d4f; border-color: #ff4d4f; } +.mark-btn.yellow { background: rgba(255,197,61,0.15); color: #b8860b; border-color: #ffc53d; } + +.lead-btn { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-secondary); + padding: 2px 8px; + border-radius: 3px; + font-size: 11px; + transition: all 0.15s; +} + +.lead-btn:hover { border-color: var(--accent); color: var(--accent); } +.lead-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); } + +.seen-btn { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-secondary); + padding: 2px 8px; + border-radius: 3px; + font-size: 11px; + margin-left: auto; +} + +.seen-btn:hover { background: var(--success); color: #fff; border-color: var(--success); } + +/* ===== User Panel ===== */ +.user-panel { + padding: 12px; + flex: 1; + overflow-y: auto; +} + +.user-panel h3 { + font-size: 13px; + color: var(--text-secondary); + margin-bottom: 10px; + padding-bottom: 8px; + border-bottom: 1px solid var(--border-color); +} + +.user-list { + display: flex; + flex-direction: column; + gap: 6px; +} + +.user-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 6px 8px; + background: var(--bg-page); + border-radius: 6px; + font-size: 12px; + cursor: pointer; + transition: all 0.15s; +} + +.user-item:hover { background: var(--bg-card-hover); } +.user-item.focused { background: rgba(74, 158, 255, 0.1); border: 1px solid var(--accent); } +.user-item.has-lead { border-left: 3px solid var(--accent); } + +.user-info { + display: flex; + align-items: center; + gap: 8px; + min-width: 0; +} + +.user-name { + color: var(--text-primary); + font-weight: 500; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 100px; +} + +.user-count { + color: var(--text-muted); + font-size: 11px; + flex-shrink: 0; +} + +.user-actions { + display: flex; + align-items: center; + gap: 6px; + flex-shrink: 0; +} + +.user-lead-count { + color: var(--accent); + font-size: 11px; +} + +.user-mark-select { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-primary); + padding: 2px 4px; + border-radius: 3px; + font-size: 11px; + outline: none; +} + +/* ===== Lead View ===== */ +.lead-view { + padding: 20px; + overflow-y: auto; + flex: 1; +} + +.lead-view h2 { + font-size: 18px; + margin-bottom: 16px; + color: var(--text-primary); +} + +.lead-list { + display: flex; + flex-direction: column; + gap: 12px; +} + +.lead-item { + background: var(--bg-surface); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + padding: 14px; + box-shadow: var(--shadow-sm); +} + +.lead-header { + display: flex; + align-items: center; + gap: 12px; + margin-bottom: 10px; + flex-wrap: wrap; +} + +.lead-name { + font-size: 15px; + font-weight: 600; + color: var(--text-primary); +} + +.lead-room { + font-size: 12px; + color: var(--text-secondary); + background: var(--bg-input); + padding: 2px 8px; + border-radius: 10px; +} + +.lead-count { + font-size: 12px; + color: var(--accent); + font-weight: 500; + margin-left: auto; +} + +.lead-msgs { + display: flex; + flex-direction: column; + gap: 4px; +} + +.lead-msg { + display: flex; + align-items: center; + gap: 8px; + font-size: 12px; + padding: 4px 8px; + background: var(--bg-page); + border-radius: 4px; +} + +.lead-msg-type { + color: var(--text-muted); + flex-shrink: 0; +} + +.lead-msg-content { + flex: 1; + color: var(--text-primary); + word-break: break-all; +} + +.lead-msg-time { + color: var(--text-muted); + flex-shrink: 0; + font-size: 11px; +} + +/* ===== License View ===== */ +.license-view { + padding: 20px; + max-width: 600px; + margin: 0 auto; + flex: 1; + overflow-y: auto; +} + +.license-view h2 { + font-size: 18px; + margin-bottom: 16px; +} + +.license-card, .license-expired, .license-unconfigured { + background: var(--bg-surface); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + padding: 20px; + box-shadow: var(--shadow-sm); +} + +.license-card h3 { + color: var(--success); + margin-bottom: 12px; +} + +.license-card p, .license-expired p { + color: var(--text-secondary); + margin-bottom: 8px; + font-size: 13px; +} + +.license-steps { + display: flex; + flex-direction: column; + gap: 16px; + margin-top: 16px; +} + +.step h4 { + font-size: 14px; + margin-bottom: 8px; + color: var(--text-primary); +} + +.step p { + font-size: 13px; + color: var(--text-secondary); + margin-bottom: 8px; +} + +.open-url-btn, .activate-btn { + background: var(--accent); + border: none; + color: #fff; + padding: 8px 16px; + border-radius: var(--radius-sm); + font-size: 13px; + transition: background 0.15s; +} + +.open-url-btn:hover, .activate-btn:hover { + background: var(--accent-hover); +} + +.activate-form { + display: flex; + gap: 8px; + margin-top: 8px; +} + +.token-input { + flex: 1; + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-primary); + padding: 8px 12px; + border-radius: var(--radius-sm); + font-size: 13px; + outline: none; +} + +.token-input:focus { border-color: var(--accent); } + +.activate-status { + width: 100%; + font-size: 12px; + color: var(--danger); + margin-top: 4px; +} + +.qrcode-wrap { + margin-top: 20px; + text-align: center; +} + +.qrcode-wrap h4 { + margin-bottom: 12px; + color: var(--text-secondary); +} + +/* ===== Doc View ===== */ +.doc-view { + padding: 20px; + max-width: 800px; + margin: 0 auto; + flex: 1; + overflow-y: auto; +} + +.doc-view h2 { + font-size: 18px; + margin-bottom: 16px; +} + +.doc-section { + background: var(--bg-surface); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + padding: 16px 20px; + margin-bottom: 12px; + box-shadow: var(--shadow-sm); +} + +.doc-section h3 { + font-size: 15px; + margin-bottom: 12px; + color: var(--text-primary); +} + +.doc-section ol, .doc-section ul { + padding-left: 20px; + color: var(--text-secondary); + font-size: 13px; +} + +.doc-section li { + margin-bottom: 6px; +} + +.doc-section dl { + padding-left: 0; +} + +.doc-section dt { + font-weight: 600; + color: var(--text-primary); + margin-top: 8px; + font-size: 13px; +} + +.doc-section dd { + color: var(--text-secondary); + font-size: 13px; + margin-left: 16px; + margin-bottom: 8px; +} + +/* ===== Debug View ===== */ +.debug-view { + padding: 20px; + flex: 1; + overflow-y: auto; +} + +.debug-view h2 { + font-size: 18px; + margin-bottom: 16px; +} + +.debug-section { + background: var(--bg-surface); + border: 1px solid var(--border-color); + border-radius: var(--radius-md); + padding: 16px; + margin-bottom: 12px; + box-shadow: var(--shadow-sm); +} + +.debug-section h3 { + font-size: 14px; + margin-bottom: 12px; + color: var(--text-primary); + display: flex; + align-items: center; + justify-content: space-between; +} + +.debug-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: 8px; +} + +.debug-item { + background: var(--bg-page); + padding: 8px 12px; + border-radius: 6px; + font-size: 12px; + display: flex; + flex-direction: column; + gap: 2px; +} + +.debug-item .label { + color: var(--text-muted); +} + +.debug-item .value { + color: var(--text-primary); + font-weight: 500; +} + +.debug-item .value.running { color: var(--success); } +.debug-item .value.error { color: var(--danger); } +.debug-item .value.connected { color: var(--success); } +.debug-item .value.disconnected { color: var(--text-muted); } +.debug-item.room-item.running { border-left: 3px solid var(--success); } +.debug-item.room-item.error { border-left: 3px solid var(--danger); } + +.clear-btn { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-secondary); + padding: 2px 8px; + border-radius: 4px; + font-size: 11px; +} + +.log-container { + background: #0d1117; + border-radius: 8px; + padding: 12px; + max-height: 400px; + overflow-y: auto; + font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace; + font-size: 12px; + color: #8b949e; +} + +.log-line { + padding: 2px 0; + border-bottom: 1px solid #21262d; + white-space: pre-wrap; + word-break: break-all; +} + +.no-logs { + color: #484f58; + text-align: center; + padding: 20px; +} + +.test-actions { + display: flex; + gap: 8px; + flex-wrap: wrap; +} + +.test-actions button { + background: var(--bg-input); + border: 1px solid var(--border-color); + color: var(--text-primary); + padding: 6px 14px; + border-radius: var(--radius-sm); + font-size: 12px; + transition: all 0.15s; +} + +.test-actions button:hover { + background: var(--accent); + color: #fff; + border-color: var(--accent); +} + +/* ===== Footer ===== */ +.footer { + height: var(--footer-h); + background: var(--bg-footer); + border-top: 1px solid var(--border-color); + display: flex; + align-items: center; + justify-content: center; + gap: 16px; + padding: 0 16px; + flex-shrink: 0; + font-size: 12px; + color: var(--text-muted); +} + +.footer span { + display: flex; + align-items: center; +} + +.footer-link { + background: transparent; + border: none; + color: var(--accent); + font-size: 12px; + cursor: pointer; + padding: 0; + text-decoration: underline; +} + +.footer-link:hover { + color: var(--accent-hover); +} + +/* ===== Scrollbar ===== */ +::-webkit-scrollbar { width: 6px; height: 6px; } +::-webkit-scrollbar-track { background: transparent; } +::-webkit-scrollbar-thumb { background: var(--border-color); border-radius: 3px; } +::-webkit-scrollbar-thumb:hover { background: var(--text-muted); } + +/* ===== Responsive ===== */ +@media (max-width: 768px) { + .topbar-title { display: none; } + .room-count-top { display: none; } + .header-left { flex-wrap: wrap; } + .search-input { width: 150px; } + .detail-right { width: 200px; } + .card-stats { gap: 8px; } +} diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx new file mode 100644 index 0000000..e10fef8 --- /dev/null +++ b/frontend/src/App.tsx @@ -0,0 +1,305 @@ +import React, { useState, useEffect, useRef, useCallback } from 'react' +import { errorReporter } from './errorReporter' +import Header from './components/Header' +import Dashboard from './components/Dashboard' +import DetailView from './components/DetailView' +import LeadView from './components/LeadView' +import LicenseView from './components/LicenseView' +import DocView from './components/DocView' +import DebugView from './components/DebugView' +import { ICONS } from './constants' +import { useLs } from './utils' +import type { RoomData, SysState, LicenseState, Page, RoomMessage } from './types' + +errorReporter() + +const API = (path: string, init?: RequestInit) => fetch(`/api${path}`, init) + +function compactIcon(label: string, active: boolean, click: () => void) { + return ( + + ) +} + +export default function App() { + const [theme, setTheme] = useLs<'light'|'dark'>('theme', 'dark') + const [rooms, setRooms] = useState>({}) + const [activeRoom, setActiveRoom] = useState(null) + const [page, setPage] = useState('home') + const [sys, setSys] = useState({ version: '', rooms_total: 0, running: 0, error_count: 0, uptime: 0 }) + const [license, setLicense] = useState(null) + const [focusUser, setFocusUser] = useState(null) + const [logsOpen, setLogsOpen] = useState(false) + const [debugMode, setDebugMode] = useLs('debugMode', false) + const [viewMode, setViewMode] = useLs<'card'|'list'>('viewMode', 'card') + const [cardCols, setCardCols] = useLs('cardCols', 3) + const [listPerPage, setListPerPage] = useLs('listPerPage', 20) + const [filterKind, setFilterKind] = useState<'all'|'public'|'anon'>('all') + const [searchQuery, setSearchQuery] = useState('') + const msgIntervals = useRef>>({}) + + const needAuth = license && (license.state === 'unconfigured' || license.state === 'expired') + + useEffect(() => { + document.documentElement.dataset.theme = theme + if (theme === 'dark') { + ;(window as any).WindowSetDarkTheme?.() + } else { + ;(window as any).WindowSetLightTheme?.() + } + }, [theme]) + + useEffect(() => { + ;(window as any).WindowSetDebugMode?.(debugMode) + }, [debugMode]) + + // SSE + useEffect(() => { + const es = new EventSource('/stream') + es.onmessage = e => { + try { + const msg = JSON.parse(e.data) + if (msg.type === 'sys') setSys(msg.data) + else if (msg.type === 'room') { + setRooms(prev => ({ ...prev, [msg.data.id]: msg.data })) + if (msg.data.status === 'stopped' || msg.data.status === 'error') { + if (msgIntervals.current[msg.data.id]) { + clearInterval(msgIntervals.current[msg.data.id]) + delete msgIntervals.current[msg.data.id] + } + } + } + else if (msg.type === 'msg') { + setRooms(prev => { + const r = prev[msg.room_id] + if (!r) return prev + const exists = r.messages.some(m => m.id === msg.data.id) + if (exists) return prev + return { ...prev, [msg.room_id]: { ...r, messages: [...r.messages, msg.data].slice(-500) } } + }) + } + else if (msg.type === 'license') setLicense(msg.data) + } catch {} + } + es.onerror = () => es.close() + return () => es.close() + }, []) + + // Message polling + useEffect(() => { + Object.keys(rooms).forEach(id => { + const r = rooms[id] + if (r.status === 'running' && !msgIntervals.current[id]) { + msgIntervals.current[id] = setInterval(() => { + API(`/api/rooms/${encodeURIComponent(id)}/msgs`).then(r => r.json()).then(data => { + setRooms(prev => { + const cur = prev[id] + if (!cur) return prev + const newMsgs = data.messages?.filter((m: RoomMessage) => !cur.messages.some(cm => cm.id === m.id)) || [] + if (!newMsgs.length) return prev + return { ...prev, [id]: { ...cur, messages: [...cur.messages, ...newMsgs].slice(-500) } } + }) + }).catch(() => {}) + }, 2500) + } + }) + return () => { + Object.values(msgIntervals.current).forEach(clearInterval) + msgIntervals.current = {} + } + }, [rooms]) + + // Load initial data + useEffect(() => { + Promise.all([API('/api/sys').then(r => r.json()).then(setSys), API('/api/license').then(r => r.json()).then(setLicense).catch(() => {}), API('/api/rooms').then(r => r.json()).then(setRooms)]) + }, []) + + const addRoom = useCallback(async (url: string) => { + if (needAuth) { setPage('license'); return } + try { + const res = await API('/api/rooms', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ url }) }) + const data = await res.json() + if (data.id) setRooms(prev => ({ ...prev, [data.id]: data })) + } catch (e) { console.error(e) } + }, [needAuth]) + + const toggleRoom = useCallback(async (id: string, action?: string) => { + if (needAuth && action === 'start') { setPage('license'); return } + try { + await API(`/api/rooms/${encodeURIComponent(id)}/${action || 'toggle'}`, { method: 'POST' }) + } catch (e) { console.error(e) } + }, [needAuth]) + + const removeRoom = useCallback(async (id: string) => { + await API(`/api/rooms/${encodeURIComponent(id)}`, { method: 'DELETE' }) + setRooms(prev => { const n = { ...prev }; delete n[id]; return n }) + if (activeRoom === id) { setPage('home'); setActiveRoom(null) } + }, [activeRoom]) + + const setSeen = useCallback((roomId: string, msgId: string) => { + setRooms(prev => { + const r = prev[roomId] + if (!r) return prev + return { ...prev, [roomId]: { ...r, messages: r.messages.map(m => m.id === msgId ? { ...m, is_seen: true } : m) } } + }) + }, []) + + const setLead = useCallback((roomId: string, msgId: string, lead: boolean) => { + setRooms(prev => { + const r = prev[roomId] + if (!r) return prev + return { ...prev, [roomId]: { ...r, messages: r.messages.map(m => m.id === msgId ? { ...m, is_lead: lead } : m), lead_count: lead ? r.lead_count + 1 : Math.max(0, r.lead_count - 1) } } + }) + }, []) + + const setMark = useCallback((roomId: string, userId: string, mark: string) => { + setRooms(prev => { + const r = prev[roomId] + if (!r) return prev + return { ...prev, [roomId]: { ...r, messages: r.messages.map(m => m.user_id === userId ? { ...m, marked: mark } : m) } } + }) + }, []) + + const allRooms = Object.values(rooms) + const roomList = allRooms.filter(r => { + if (filterKind === 'public' && r.kind === 'anon') return false + if (filterKind === 'anon' && r.kind === 'public') return false + if (searchQuery && !r.title.toLowerCase().includes(searchQuery.toLowerCase()) && !r.anchor_id.toLowerCase().includes(searchQuery.toLowerCase())) return false + return true + }) + + const handleSetActive = (id: string) => { + setActiveRoom(id) + setPage('detail') + } + + return ( +
+ setPage('leads')} + onLicense={() => setPage('license')} + onDoc={() => setPage('doc')} + onDebug={() => setPage('debug')} + onStartAll={() => allRooms.filter(r=>r.status==='stopped').forEach(r=>toggleRoom(r.id,'start'))} + onStopAll={() => allRooms.filter(r=>r.status==='running').forEach(r=>toggleRoom(r.id,'stop'))} + onUser={() => {}} + /> +
+ {page === 'home' && ( +
setPage('leads')} + onLicense={() => setPage('license')} + onDoc={() => setPage('doc')} + onDebug={() => setPage('debug')} + onLogToggle={() => setLogsOpen(v => !v)} + onStartAll={() => allRooms.filter(r=>r.status==='stopped').forEach(r=>toggleRoom(r.id,'start'))} + onStopAll={() => allRooms.filter(r=>r.status==='running').forEach(r=>toggleRoom(r.id,'stop'))} + /> + )} + {page === 'home' && ( + + )} + {page === 'detail' && activeRoom && ( + setPage('home')} + onSeen={setSeen} + onLead={setLead} + onMark={setMark} + /> + )} + {page === 'leads' && } + {page === 'license' && setPage('home')} />} + {page === 'doc' && } + {page === 'debug' && } +
+
+ 青梧映星软件开发工作室 + 开发者: Geliebte + +
+
+ ) +} + +interface TopBarProps { + compact: boolean + theme: 'light' | 'dark' + setTheme: (v: 'light'|'dark') => void + logsOpen: boolean + setLogsOpen: (v: boolean) => void + debugMode: boolean + setDebugMode: (v: boolean) => void + roomCount: number + runningCount: number + needAuth: boolean + onLeads: () => void + onLicense: () => void + onDoc: () => void + onDebug: () => void + onStartAll: () => void + onStopAll: () => void + onUser: () => void +} + +function TopBar({ compact, theme, setTheme, logsOpen, debugMode, roomCount, runningCount, needAuth, onLeads, onLicense, onDoc, onDebug, onStartAll, onStopAll, onUser }: TopBarProps) { + if (compact) { + return ( +
+ + +
+ ) + } + return ( +
+
+ 🎬 + 抖音直播间需求抓取 + {roomCount} 房 / {runningCount} 运行 +
+
+ + + + + {runningCount > 0 + ? + : roomCount > 0 + ? + : null + } + + + +
+
+ ) +} diff --git a/frontend/src/assets/fonts/fa/fa-solid-900.woff2 b/frontend/src/assets/fonts/fa/fa-solid-900.woff2 new file mode 100644 index 0000000..1672102 Binary files /dev/null and b/frontend/src/assets/fonts/fa/fa-solid-900.woff2 differ diff --git a/frontend/src/components/AddRoomBar.tsx b/frontend/src/components/AddRoomBar.tsx new file mode 100644 index 0000000..d25f5b8 --- /dev/null +++ b/frontend/src/components/AddRoomBar.tsx @@ -0,0 +1,41 @@ +import React, { useState } from 'react' +import RoomTools from './RoomTools' + +interface AddRoomBarProps { + onAdd: (url: string) => void +} + +export default function AddRoomBar({ onAdd }: AddRoomBarProps) { + const [url, setUrl] = useState('') + const [error, setError] = useState('') + + const handleSubmit = async () => { + setError('') + const trimmed = url.trim() + if (!trimmed) { setError('请输入直播间URL'); return } + try { + await onAdd(trimmed) + setUrl('') + } catch (e: any) { + setError(e.message || '添加失败') + } + } + + return ( +
+
+ setUrl(e.target.value)} + onKeyDown={e => e.key === 'Enter' && handleSubmit()} + /> + +
+ {error && {error}} + +
+ ) +} diff --git a/frontend/src/components/Dashboard.tsx b/frontend/src/components/Dashboard.tsx new file mode 100644 index 0000000..cf87644 --- /dev/null +++ b/frontend/src/components/Dashboard.tsx @@ -0,0 +1,102 @@ +import React, { useState, useMemo } from 'react' +import RoomCard from './RoomCard' +import AddRoomBar from './AddRoomBar' +import type { RoomData } from '../types' + +interface DashboardProps { + rooms: RoomData[] + viewMode: 'card' | 'list' + cardCols: number + listPerPage: number + onAddRoom: (url: string) => void + onToggleRoom: (id: string, action?: string) => void + onRemoveRoom: (id: string) => void + onSetActive: (id: string) => void +} + +export default function Dashboard({ rooms, viewMode, cardCols, listPerPage, onAddRoom, onToggleRoom, onRemoveRoom, onSetActive }: DashboardProps) { + const [page, setPage] = useState(0) + + const paginatedRooms = useMemo(() => { + if (viewMode === 'list') { + const start = page * listPerPage + return rooms.slice(start, start + listPerPage) + } + return rooms + }, [rooms, page, listPerPage, viewMode]) + + const totalPages = viewMode === 'list' ? Math.ceil(rooms.length / listPerPage) : 0 + + return ( +
+ + {viewMode === 'card' ? ( +
+ {paginatedRooms.map(room => ( + onToggleRoom(room.id, a)} + onRemove={() => onRemoveRoom(room.id)} + onDetail={() => onSetActive(room.id)} + /> + ))} + {paginatedRooms.length === 0 && ( +
+

暂无房间

+

在上方输入框添加直播间URL开始监控

+
+ )} +
+ ) : ( +
+ + + + + + + + + + + + + + + {paginatedRooms.map(room => ( + onSetActive(room.id)}> + + + + + + + + + + ))} + +
状态房间主播类型观众消息精准操作
{room.title}{room.anchor_id}{room.kind === 'public' ? '公开' : '匿名'}{room.viewers}{room.total_msg}{room.lead_count} + + + +
+ {paginatedRooms.length === 0 && ( +
+

暂无房间

+

在上方输入框添加直播间URL开始监控

+
+ )} +
+ )} + {totalPages > 1 && ( +
+ + {page + 1} / {totalPages} + +
+ )} +
+ ) +} diff --git a/frontend/src/components/DebugView.tsx b/frontend/src/components/DebugView.tsx new file mode 100644 index 0000000..356ac39 --- /dev/null +++ b/frontend/src/components/DebugView.tsx @@ -0,0 +1,103 @@ +import React, { useState, useEffect, useRef } from 'react' +import type { SysState, RoomData } from '../types' + +interface DebugViewProps { + sys: SysState + rooms: RoomData[] +} + +export default function DebugView({ sys, rooms }: DebugViewProps) { + const [logs, setLogs] = useState([]) + const [wsConnected, setWsConnected] = useState(false) + const logEndRef = useRef(null) + + useEffect(() => { + const es = new EventSource('/stream') + es.onmessage = e => { + const line = `[${new Date().toLocaleTimeString()}] ${e.data}` + setLogs(prev => [...prev.slice(-500), line]) + } + es.onerror = () => setWsConnected(false) + es.onopen = () => setWsConnected(true) + return () => { es.close() } + }, []) + + useEffect(() => { + logEndRef.current?.scrollIntoView({ behavior: 'smooth' }) + }, [logs]) + + return ( +
+ +

🔧 系统调试

+ +
+

系统状态

+
+
版本{sys.version || '未知'}
+
房间总数{sys.rooms_total}
+
运行中{sys.running}
+
错误数{sys.error_count}
+
运行时长{formatUptime(sys.uptime)}
+
WebSocket{wsConnected ? '已连接' : '未连接'}
+
+
+ +
+

房间状态 ({rooms.length})

+
+ {rooms.map(r => ( +
+ {r.anchor_id} + {r.status} | 观众:{r.viewers} | 消息:{r.total_msg} | 精准:{r.lead_count} +
+ ))} +
+
+ +
+

实时日志

+
+ {logs.length === 0 ?
暂无日志
: logs.map((l, i) => ( +
{l}
+ ))} +
+
+
+ +
+

手动测试

+
+ + + +
+
+
+ ) +} + +function formatUptime(s: number): string { + const h = Math.floor(s / 3600) + const m = Math.floor((s % 3600) / 60) + const sec = s % 60 + return `${h}h ${m}m ${sec}s` +} diff --git a/frontend/src/components/DetailView.tsx b/frontend/src/components/DetailView.tsx new file mode 100644 index 0000000..94fb4b5 --- /dev/null +++ b/frontend/src/components/DetailView.tsx @@ -0,0 +1,193 @@ +import React, { useState, useMemo, useEffect, useRef } from 'react' +import { ICONS, TYPE_LABELS, MARKS, MARK_MAP } from '../constants' +import { formatTime } from '../utils' +import type { RoomData, RoomMessage } from '../types' + +interface DetailViewProps { + room: RoomData | undefined + focusUser: string | null + setFocusUser: (id: string | null) => void + onBack: () => void + onSeen: (roomId: string, msgId: string) => void + onLead: (roomId: string, msgId: string, lead: boolean) => void + onMark: (roomId: string, userId: string, mark: string) => void +} + +export default function DetailView({ room, focusUser, setFocusUser, onBack, onSeen, onLead, onMark }: DetailViewProps) { + const [activeTab, setActiveTab] = useState('all') + const [markFilter, setMarkFilter] = useState('') + const [showLeadOnly, setShowLeadOnly] = useState(false) + const scrollRef = useRef(null) + + if (!room) return
房间不存在
+ + const tabs = ['all', 'chat', 'gift', 'enter', 'like', 'follow', 'stats', 'fansclub', 'rank', 'status', 'lead'] + + const filteredMsgs = useMemo(() => { + let msgs = room.messages + if (activeTab !== 'all') { + if (activeTab === 'lead') { + msgs = msgs.filter(m => m.is_lead) + } else { + msgs = msgs.filter(m => m.type === activeTab) + } + } + if (markFilter) { + msgs = msgs.filter(m => m.marked === markFilter) + } + if (focusUser) { + msgs = msgs.filter(m => m.user_id === focusUser) + } + return msgs + }, [room.messages, activeTab, markFilter, focusUser]) + + const userStats = useMemo(() => { + const map = new Map() + room.messages.forEach(m => { + const existing = map.get(m.user_id) + if (existing) { + existing.count++ + if (m.is_lead) existing.leads++ + } else { + map.set(m.user_id, { name: m.username, count: 1, leads: m.is_lead ? 1 : 0, msgs: [m] }) + } + }) + return Array.from(map.values()).sort((a, b) => b.count - a.count) + }, [room.messages]) + + const scrollToBottom = () => { + if (scrollRef.current) { + scrollRef.current.scrollTop = scrollRef.current.scrollHeight + } + } + + useEffect(() => { + scrollToBottom() + }, [filteredMsgs.length]) + + return ( +
+
+ +
+ {room.title || room.anchor_id} + {room.status === 'running' ? '● 直播中' : room.status === 'error' ? '✕ 错误' : '○ 已停止'} +
+
+ 👁 {room.viewers} + 💬 {room.total_msg} + 🎯 {room.lead_count} +
+
+ +
+
+
+ {tabs.map(tab => ( + + ))} +
+ +
+ + + {focusUser && ( + + )} +
+ +
+ {filteredMsgs.length === 0 ? ( +
暂无消息
+ ) : ( + filteredMsgs.map(msg => ( + setFocusUser(msg.user_id)} + onSeen={() => onSeen(room.id, msg.id)} + onLead={(v) => onLead(room.id, msg.id, v)} + onMark={(v) => onMark(room.id, msg.user_id, v)} + /> + )) + )} +
+
+ +
+
+

👥 用户统计

+
+ {userStats.slice(0, 50).map(u => ( +
0 ? 'has-lead' : ''}`}> +
+ setFocusUser(focusUser === u.name ? null : u.name)}>{u.name} + {u.count}次 +
+
+ {u.leads > 0 && 🎯{u.leads}} + +
+
+ ))} +
+
+
+
+
+ ) +} + +interface MsgCardProps { + msg: RoomMessage + isLead: boolean + onFocus: () => void + onSeen: () => void + onLead: (v: boolean) => void + onMark: (v: string) => void +} + +function MsgCard({ msg, isLead, onFocus, onSeen, onLead, onMark }: MsgCardProps) { + const typeIcon = ICONS[msg.type as keyof typeof ICONS] || ICONS.chat + + return ( +
+
+ {typeIcon} {TYPE_LABELS[msg.type] || msg.type} + {msg.username} + {msg.fans_level > 0 && ⭐{msg.fans_level}} + {formatTime(msg.timestamp)} +
+
+ {msg.type === 'gift' && msg.gift_name && ( + {msg.gift_name} ×{msg.gift_num} ({msg.gift_price}抖币) + )} + {msg.content && {msg.content}} +
+
+ + + + + {!msg.is_seen && } +
+
+ ) +} diff --git a/frontend/src/components/DocView.tsx b/frontend/src/components/DocView.tsx new file mode 100644 index 0000000..f0005a3 --- /dev/null +++ b/frontend/src/components/DocView.tsx @@ -0,0 +1,75 @@ +import React from 'react' + +export default function DocView() { + return ( +
+ +

📖 使用帮助

+ +
+

一、快速开始

+
    +
  1. 在首页输入框粘贴直播间URL(支持抖音直播间分享链接或主播主页链接)
  2. +
  3. 点击「添加」按钮,系统会自动解析并开始监控
  4. +
  5. 在房间卡片上点击「▶」启动监控,或点击「全部开始」一键启动所有房间
  6. +
+
+ +
+

二、房间操作

+
    +
  • 启动/停止:点击卡片上的 ▶ / ⏹ 按钮,或鼠标悬停卡片显示控制按钮
  • +
  • 查看详情:点击卡片进入详情页,查看所有消息流
  • +
  • 删除房间:点击卡片右上角 ✕ 按钮
  • +
+
+ +
+

三、消息标记与精准客户

+
    +
  • 颜色标记:在消息操作栏点击「蓝」「红」「黄」,可对用户进行颜色标记,便于识别不同需求的用户
  • +
  • 精准客户:点击消息的「🎯精准」按钮,将该用户标记为精准客户
  • +
  • 已看标记:点击「✓已看」标记消息已浏览
  • +
  • 用户筛选:点击详情页右侧用户列表中的用户名,可筛选仅显示该用户的消息
  • +
+
+ +
+

四、视图切换

+
    +
  • 卡片视图:网格展示房间卡片,可通过列数选择器调整列数(2-5列)
  • +
  • 列表视图:表格展示房间列表,可通过每页条数选择器调整分页
  • +
  • 搜索过滤:在搜索框输入关键词,可按房间名或主播ID过滤
  • +
  • 类型过滤:点击「公开房」/「匿名房」按钮筛选房间类型
  • +
+
+ +
+

五、精准客户汇总

+

点击顶部「🎯 客户」按钮进入客户名单页,查看所有房间的精准客户汇总,支持按房间筛选。

+
+ +
+

六、主题切换

+

点击顶栏 🌙/☀️ 按钮切换深色/浅色主题,主题偏好会自动保存。

+
+ +
+

七、常见问题

+
+
Q: 添加房间后显示「授权失效」?
+
A: 请点击顶栏「🔑 授权」按钮,输入授权码完成激活。
+
Q: 消息不实时更新?
+
A: 检查网络连接,如使用SSE连接失败会自动降级为轮询模式。
+
Q: 如何导出精准客户数据?
+
A: 在详情页点击精准客户筛选,右键复制消息内容,或联系开发者获取更多导出功能。
+
+
+ +
+

八、技术支持

+

如有问题请联系客户服务中心:https://yser.ging.plus/

+
+
+ ) +} diff --git a/frontend/src/components/Header.tsx b/frontend/src/components/Header.tsx new file mode 100644 index 0000000..08bb413 --- /dev/null +++ b/frontend/src/components/Header.tsx @@ -0,0 +1,79 @@ +import React from 'react' +import { ICONS } from '../constants' +import type { AppState } from '../types' + +interface HeaderProps { + roomCount: number + viewMode: 'card' | 'list' + setViewMode: (v: 'card' | 'list') => void + cardCols: number + setCardCols: (v: number) => void + listPerPage: number + setListPerPage: (v: number) => void + filterKind: 'all' | 'public' | 'anon' + setFilterKind: (v: 'all' | 'public' | 'anon') => void + searchQuery: string + setSearchQuery: (v: string) => void + needAuth: boolean + onLeads: () => void + onLicense: () => void + onDoc: () => void + onDebug: () => void + onLogToggle: () => void + onStartAll: () => void + onStopAll: () => void +} + +export default function Header({ + roomCount, viewMode, setViewMode, cardCols, setCardCols, listPerPage, setListPerPage, + filterKind, setFilterKind, searchQuery, setSearchQuery, needAuth, + onLeads, onLicense, onDoc, onDebug, onLogToggle, onStartAll, onStopAll +}: HeaderProps) { + return ( +
+
+ {ICONS.room} {roomCount} 个房间 +
+ + + +
+ setSearchQuery(e.target.value)} + /> +
+
+ + + + + + + {viewMode === 'card' ? ( + + ) : ( + + )} + + + +
+
+ ) +} diff --git a/frontend/src/components/KindBadge.tsx b/frontend/src/components/KindBadge.tsx new file mode 100644 index 0000000..f8d0c99 --- /dev/null +++ b/frontend/src/components/KindBadge.tsx @@ -0,0 +1,13 @@ +import React from 'react' + +interface KindBadgeProps { + kind: 'public' | 'anon' +} + +export default function KindBadge({ kind }: KindBadgeProps) { + return ( + + {kind === 'public' ? '📢 公开' : '🎭 匿名'} + + ) +} diff --git a/frontend/src/components/LeadView.tsx b/frontend/src/components/LeadView.tsx new file mode 100644 index 0000000..34fe5fe --- /dev/null +++ b/frontend/src/components/LeadView.tsx @@ -0,0 +1,53 @@ +import React, { useMemo } from 'react' +import type { RoomData } from '../types' + +interface LeadViewProps { + rooms: RoomData[] +} + +export default function LeadView({ rooms }: LeadViewProps) { + const leads = useMemo(() => { + const map = new Map() + rooms.forEach(room => { + room.messages.filter(m => m.is_lead).forEach(msg => { + const existing = map.get(msg.user_id) + if (existing) { + existing.msgs.push({ content: msg.content, time: msg.timestamp, type: msg.type }) + } else { + map.set(msg.user_id, { name: msg.username, room: room.title || room.anchor_id, msgs: [{ content: msg.content, time: msg.timestamp, type: msg.type }] }) + } + }) + }) + return Array.from(map.values()).sort((a, b) => b.msgs.length - a.msgs.length) + }, [rooms]) + + return ( +
+

🎯 跨房间精准客户汇总

+ {leads.length === 0 ? ( +

暂无精准客户

+ ) : ( +
+ {leads.map(lead => ( +
+
+ {lead.name} + {lead.room} + {lead.msgs.length}条精准消息 +
+
+ {lead.msgs.slice(-10).reverse().map((m, i) => ( +
+ {m.type} + {m.content} + {new Date(m.time).toLocaleTimeString()} +
+ ))} +
+
+ ))} +
+ )} +
+ ) +} diff --git a/frontend/src/components/LicenseView.tsx b/frontend/src/components/LicenseView.tsx new file mode 100644 index 0000000..b135473 --- /dev/null +++ b/frontend/src/components/LicenseView.tsx @@ -0,0 +1,108 @@ +import React, { useState, useEffect } from 'react' +import { QRCodeSVG } from 'qrcode.react' +import type { LicenseState } from '../types' + +interface LicenseViewProps { + license: LicenseState | null + onBack: () => void +} + +export default function LicenseView({ license, onBack }: LicenseViewProps) { + const [step, setStep] = useState<'login' | 'scan' | 'activate'>('login') + const [token, setToken] = useState('') + const [status, setStatus] = useState('') + + useEffect(() => { + if (license?.state === 'active') setStep('activate') + else if (license?.qrcode) setStep('scan') + }, [license]) + + const handleActivate = async () => { + if (!token.trim()) return + try { + const res = await fetch('/api/license/activate', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ token: token.trim() }) + }) + const data = await res.json() + if (data.ok) { + setStatus('授权成功!') + setTimeout(onBack, 1500) + } else { + setStatus(data.error || '授权失败,请检查token') + } + } catch { + setStatus('网络错误,请重试') + } + } + + return ( +
+ +

🔑 订阅授权

+ + {license?.state === 'active' ? ( +
+
+

✅ 授权有效

+

计划: {license.plan}

+

有效期至: {license.expires_at ? new Date(license.expires_at).toLocaleDateString() : '永久'}

+

最大房间数: {license.max_rooms}

+
+
+ ) : license?.state === 'expired' ? ( +
+

⚠️ 授权已过期,请重新激活

+ +
+ ) : ( +
+

🔒 尚未配置授权,请选择以下方式激活:

+
+
+

步骤 1: 登录/注册

+

访问客户服务中心获取授权码

+ +
+
+

步骤 2: 输入授权码

+ +
+
+
+ )} + + {license?.qrcode && ( +
+

扫码激活

+ +
+ )} +
+ ) +} + +function ActivateForm({ token, setToken, status, onActivate }: { + token: string + setToken: (v: string) => void + status: string + onActivate: () => void +}) { + return ( +
+ setToken(e.target.value)} + onKeyDown={e => e.key === 'Enter' && onActivate()} + /> + + {status && {status}} +
+ ) +} diff --git a/frontend/src/components/RoomCard.tsx b/frontend/src/components/RoomCard.tsx new file mode 100644 index 0000000..7a40406 --- /dev/null +++ b/frontend/src/components/RoomCard.tsx @@ -0,0 +1,61 @@ +import React from 'react' +import KindBadge from './KindBadge' +import { ICONS, TYPE_LABELS } from '../constants' +import type { RoomData } from '../types' + +interface RoomCardProps { + room: RoomData + onToggle: (action: 'start' | 'stop' | 'toggle') => void + onRemove: () => void + onDetail: () => void +} + +export default function RoomCard({ room, onToggle, onRemove, onDetail }: RoomCardProps) { + const lastMsgs = room.messages.slice(-5) + + return ( +
+
+
+ + {room.title || room.anchor_id} +
+
+ + + +
+
+
+ 👁 {room.viewers} + 💬 {room.total_msg} + 🎯 {room.lead_count} + {room.status === 'running' ? '● 直播中' : room.status === 'starting' ? '◌ 启动中' : room.status === 'error' ? '✕ 错误' : '○ 已停止'} +
+ {lastMsgs.length > 0 && ( +
+ {lastMsgs.map(msg => ( +
+ {ICONS[msg.type as keyof typeof ICONS] || ICONS.chat} + {truncate(msg.content, 40)} + {formatTime(msg.timestamp)} +
+ ))} +
+ )} +
+ ) +} + +function truncate(s: string, n: number) { + return s.length > n ? s.slice(0, n) + '...' : s +} + +function formatTime(ts: number) { + if (!ts) return '' + const d = new Date(ts) + const pad = (n: number) => String(n).padStart(2, '0') + return `${pad(d.getHours())}:${pad(d.getMinutes())}` +} diff --git a/frontend/src/components/RoomTools.tsx b/frontend/src/components/RoomTools.tsx new file mode 100644 index 0000000..efc8f41 --- /dev/null +++ b/frontend/src/components/RoomTools.tsx @@ -0,0 +1,35 @@ +import React from 'react' + +interface RoomToolsProps { + viewMode?: 'card' | 'list' + cardCols?: number + listPerPage?: number + onToggleView?: (v: 'card' | 'list') => void + onSetCols?: (n: number) => void + onSetPerPage?: (n: number) => void +} + +export default function RoomTools({ viewMode, cardCols, listPerPage, onToggleView, onSetCols, onSetPerPage }: RoomToolsProps) { + return ( +
+ + + {viewMode === 'card' && ( +
+ 列: + {[2, 3, 4, 5].map(n => ( + + ))} +
+ )} + {viewMode === 'list' && ( +
+ 页: + {[10, 20, 50, 100].map(n => ( + + ))} +
+ )} +
+ ) +} diff --git a/frontend/src/constants.ts b/frontend/src/constants.ts new file mode 100644 index 0000000..cd64217 --- /dev/null +++ b/frontend/src/constants.ts @@ -0,0 +1,39 @@ +export const ICONS = { + chat: '💬', + gift: '🎁', + enter: '👋', + like: '❤️', + follow: '➕', + stats: '📊', + fansclub: '⭐', + status: 'ℹ️', + rank: '🏆', + room: '🏠', + room_stats: '📊', + emoji_chat: '😀', + stream_adaptation: '⚙️', + lead: '🎯' +} as const + +export const MARKS = [ + { key: 'blue', label: '蓝', color: '#4a9eff', tint: 'rgba(74,158,255,0.10)' }, + { key: 'red', label: '红', color: '#ff4d4f', tint: 'rgba(255,77,79,0.10)' }, + { key: 'yellow', label: '黄', color: '#ffc53d', tint: 'rgba(255,197,61,0.10)' } +] as const + +export const MARK_MAP = Object.fromEntries(MARKS.map(m => [m.key, m])) as Record + +export const TYPE_LABELS: Record = { + all: '全部', + chat: '聊天', + gift: '礼物', + enter: '进场', + like: '点赞', + follow: '关注', + stats: '统计', + fansclub: '粉丝团', + rank: '排行榜', + status: '状态', + room_stats: '统计', + lead: '精准客户' +} diff --git a/frontend/src/errorReporter.ts b/frontend/src/errorReporter.ts new file mode 100644 index 0000000..80a74c0 --- /dev/null +++ b/frontend/src/errorReporter.ts @@ -0,0 +1,24 @@ +import React from 'react' + +export function errorReporter() { + window.onerror = (msg, src, line, col, err) => { + const body = JSON.stringify({ + type: 'js_error', + message: String(msg), + source: src, + line, + column: col, + stack: err ? (err.stack || '') : '', + ts: Date.now() + }) + fetch('/api/error', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body }).catch(() => {}) + } + window.addEventListener('unhandledrejection', e => { + const body = JSON.stringify({ + type: 'unhandled_rejection', + message: (e.reason && (e.reason as any).message) || String(e.reason), + ts: Date.now() + }) + fetch('/api/error', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body }).catch(() => {}) + }) +} diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx new file mode 100644 index 0000000..37d57d0 --- /dev/null +++ b/frontend/src/main.tsx @@ -0,0 +1,8 @@ +import { createRoot } from 'react-dom/client' +import App from './App.tsx' +import './style.css' +import './App.css' + +createRoot(document.getElementById('root')!).render( + +) diff --git a/frontend/src/style.css b/frontend/src/style.css new file mode 100644 index 0000000..a726c89 --- /dev/null +++ b/frontend/src/style.css @@ -0,0 +1,28 @@ +html, body { + margin: 0; + padding: 0; + background: var(--bg-page); + color: var(--text-primary); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +* { + box-sizing: border-box; +} + +button { + background: none; + border: none; + cursor: pointer; +} + +input, select, textarea { + font-family: inherit; + font-size: inherit; +} + +a { + color: inherit; + text-decoration: none; +} diff --git a/frontend/src/types.ts b/frontend/src/types.ts new file mode 100644 index 0000000..7119147 --- /dev/null +++ b/frontend/src/types.ts @@ -0,0 +1,51 @@ +import React from 'react' +import { ICONS, TYPE_LABELS } from './constants' + +export interface RoomMessage { + id: string + type: string + user_id: string + username: string + fans_level: number + content: string + gift_name?: string + gift_num?: number + gift_price?: number + timestamp: number + marked?: string + is_lead?: boolean + is_seen?: boolean +} + +export interface RoomData { + id: string + anchor_id: string + room_id: string + title: string + kind: 'public' | 'anon' + status: 'stopped' | 'starting' | 'running' | 'error' + viewers: number + total_msg: number + lead_count: number + messages: RoomMessage[] + added_at: number +} + +export interface SysState { + version: string + rooms_total: number + running: number + error_count: number + uptime: number +} + +export interface LicenseState { + state: 'unconfigured' | 'active' | 'expired' | 'trial' + plan: string + expires_at: number + max_rooms: number + qrcode?: string + token?: string +} + +export type Page = 'home' | 'leads' | 'doc' | 'debug' | 'license' | 'detail' diff --git a/frontend/src/utils.ts b/frontend/src/utils.ts new file mode 100644 index 0000000..28ee386 --- /dev/null +++ b/frontend/src/utils.ts @@ -0,0 +1,23 @@ +import React from 'react' + +export function formatTime(ts: number): string { + if (!ts) return '' + const d = new Date(ts) + const pad = (n: number) => String(n).padStart(2, '0') + return `${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}` +} + +export function useLs(key: string, init: T): [T, (v: T) => void] { + const [val, setVal] = React.useState(() => { + try { + const s = localStorage.getItem(key) + return s ? JSON.parse(s) : init + } catch { + return init + } + }) + React.useEffect(() => { + try { localStorage.setItem(key, JSON.stringify(val)) } catch {} + }, [key, val]) + return [val, setVal] +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..17f43b1 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/frontend/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts new file mode 100644 index 0000000..2e9ede5 --- /dev/null +++ b/frontend/vite.config.ts @@ -0,0 +1,24 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +export default defineConfig({ + plugins: [react()], + base: '/', + server: { + port: 5173, + proxy: { + '/api': { + target: 'http://localhost:8080', + changeOrigin: true + }, + '/stream': { + target: 'http://localhost:8080', + ws: true + } + } + }, + build: { + outDir: 'dist', + emptyOutDir: true + } +}) diff --git a/frontend/wailsjs/go/main/App.d.ts b/frontend/wailsjs/go/main/App.d.ts new file mode 100644 index 0000000..9ca2e3a --- /dev/null +++ b/frontend/wailsjs/go/main/App.d.ts @@ -0,0 +1,5 @@ +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT +import {context} from '../models'; + +export function Startup(arg1:context.Context):Promise; diff --git a/frontend/wailsjs/go/main/App.js b/frontend/wailsjs/go/main/App.js new file mode 100644 index 0000000..f98e933 --- /dev/null +++ b/frontend/wailsjs/go/main/App.js @@ -0,0 +1,7 @@ +// @ts-check +// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL +// This file is automatically generated. DO NOT EDIT + +export function Startup(arg1) { + return window['go']['main']['App']['Startup'](arg1); +} diff --git a/frontend/wailsjs/runtime/package.json b/frontend/wailsjs/runtime/package.json new file mode 100644 index 0000000..1e7c8a5 --- /dev/null +++ b/frontend/wailsjs/runtime/package.json @@ -0,0 +1,24 @@ +{ + "name": "@wailsapp/runtime", + "version": "2.0.0", + "description": "Wails Javascript runtime library", + "main": "runtime.js", + "types": "runtime.d.ts", + "scripts": { + }, + "repository": { + "type": "git", + "url": "git+https://github.com/wailsapp/wails.git" + }, + "keywords": [ + "Wails", + "Javascript", + "Go" + ], + "author": "Lea Anthony ", + "license": "MIT", + "bugs": { + "url": "https://github.com/wailsapp/wails/issues" + }, + "homepage": "https://github.com/wailsapp/wails#readme" +} diff --git a/frontend/wailsjs/runtime/runtime.d.ts b/frontend/wailsjs/runtime/runtime.d.ts new file mode 100644 index 0000000..3bbea84 --- /dev/null +++ b/frontend/wailsjs/runtime/runtime.d.ts @@ -0,0 +1,330 @@ +/* + _ __ _ __ +| | / /___ _(_) /____ +| | /| / / __ `/ / / ___/ +| |/ |/ / /_/ / / (__ ) +|__/|__/\__,_/_/_/____/ +The electron alternative for Go +(c) Lea Anthony 2019-present +*/ + +export interface Position { + x: number; + y: number; +} + +export interface Size { + w: number; + h: number; +} + +export interface Screen { + isCurrent: boolean; + isPrimary: boolean; + width : number + height : number +} + +// Environment information such as platform, buildtype, ... +export interface EnvironmentInfo { + buildType: string; + platform: string; + arch: string; +} + +// [EventsEmit](https://wails.io/docs/reference/runtime/events#eventsemit) +// emits the given event. Optional data may be passed with the event. +// This will trigger any event listeners. +export function EventsEmit(eventName: string, ...data: any): void; + +// [EventsOn](https://wails.io/docs/reference/runtime/events#eventson) sets up a listener for the given event name. +export function EventsOn(eventName: string, callback: (...data: any) => void): () => void; + +// [EventsOnMultiple](https://wails.io/docs/reference/runtime/events#eventsonmultiple) +// sets up a listener for the given event name, but will only trigger a given number times. +export function EventsOnMultiple(eventName: string, callback: (...data: any) => void, maxCallbacks: number): () => void; + +// [EventsOnce](https://wails.io/docs/reference/runtime/events#eventsonce) +// sets up a listener for the given event name, but will only trigger once. +export function EventsOnce(eventName: string, callback: (...data: any) => void): () => void; + +// [EventsOff](https://wails.io/docs/reference/runtime/events#eventsoff) +// unregisters the listener for the given event name. +export function EventsOff(eventName: string, ...additionalEventNames: string[]): void; + +// [EventsOffAll](https://wails.io/docs/reference/runtime/events#eventsoffall) +// unregisters all listeners. +export function EventsOffAll(): void; + +// [LogPrint](https://wails.io/docs/reference/runtime/log#logprint) +// logs the given message as a raw message +export function LogPrint(message: string): void; + +// [LogTrace](https://wails.io/docs/reference/runtime/log#logtrace) +// logs the given message at the `trace` log level. +export function LogTrace(message: string): void; + +// [LogDebug](https://wails.io/docs/reference/runtime/log#logdebug) +// logs the given message at the `debug` log level. +export function LogDebug(message: string): void; + +// [LogError](https://wails.io/docs/reference/runtime/log#logerror) +// logs the given message at the `error` log level. +export function LogError(message: string): void; + +// [LogFatal](https://wails.io/docs/reference/runtime/log#logfatal) +// logs the given message at the `fatal` log level. +// The application will quit after calling this method. +export function LogFatal(message: string): void; + +// [LogInfo](https://wails.io/docs/reference/runtime/log#loginfo) +// logs the given message at the `info` log level. +export function LogInfo(message: string): void; + +// [LogWarning](https://wails.io/docs/reference/runtime/log#logwarning) +// logs the given message at the `warning` log level. +export function LogWarning(message: string): void; + +// [WindowReload](https://wails.io/docs/reference/runtime/window#windowreload) +// Forces a reload by the main application as well as connected browsers. +export function WindowReload(): void; + +// [WindowReloadApp](https://wails.io/docs/reference/runtime/window#windowreloadapp) +// Reloads the application frontend. +export function WindowReloadApp(): void; + +// [WindowSetAlwaysOnTop](https://wails.io/docs/reference/runtime/window#windowsetalwaysontop) +// Sets the window AlwaysOnTop or not on top. +export function WindowSetAlwaysOnTop(b: boolean): void; + +// [WindowSetSystemDefaultTheme](https://wails.io/docs/next/reference/runtime/window#windowsetsystemdefaulttheme) +// *Windows only* +// Sets window theme to system default (dark/light). +export function WindowSetSystemDefaultTheme(): void; + +// [WindowSetLightTheme](https://wails.io/docs/next/reference/runtime/window#windowsetlighttheme) +// *Windows only* +// Sets window to light theme. +export function WindowSetLightTheme(): void; + +// [WindowSetDarkTheme](https://wails.io/docs/next/reference/runtime/window#windowsetdarktheme) +// *Windows only* +// Sets window to dark theme. +export function WindowSetDarkTheme(): void; + +// [WindowCenter](https://wails.io/docs/reference/runtime/window#windowcenter) +// Centers the window on the monitor the window is currently on. +export function WindowCenter(): void; + +// [WindowSetTitle](https://wails.io/docs/reference/runtime/window#windowsettitle) +// Sets the text in the window title bar. +export function WindowSetTitle(title: string): void; + +// [WindowFullscreen](https://wails.io/docs/reference/runtime/window#windowfullscreen) +// Makes the window full screen. +export function WindowFullscreen(): void; + +// [WindowUnfullscreen](https://wails.io/docs/reference/runtime/window#windowunfullscreen) +// Restores the previous window dimensions and position prior to full screen. +export function WindowUnfullscreen(): void; + +// [WindowIsFullscreen](https://wails.io/docs/reference/runtime/window#windowisfullscreen) +// Returns the state of the window, i.e. whether the window is in full screen mode or not. +export function WindowIsFullscreen(): Promise; + +// [WindowSetSize](https://wails.io/docs/reference/runtime/window#windowsetsize) +// Sets the width and height of the window. +export function WindowSetSize(width: number, height: number): void; + +// [WindowGetSize](https://wails.io/docs/reference/runtime/window#windowgetsize) +// Gets the width and height of the window. +export function WindowGetSize(): Promise; + +// [WindowSetMaxSize](https://wails.io/docs/reference/runtime/window#windowsetmaxsize) +// Sets the maximum window size. Will resize the window if the window is currently larger than the given dimensions. +// Setting a size of 0,0 will disable this constraint. +export function WindowSetMaxSize(width: number, height: number): void; + +// [WindowSetMinSize](https://wails.io/docs/reference/runtime/window#windowsetminsize) +// Sets the minimum window size. Will resize the window if the window is currently smaller than the given dimensions. +// Setting a size of 0,0 will disable this constraint. +export function WindowSetMinSize(width: number, height: number): void; + +// [WindowSetPosition](https://wails.io/docs/reference/runtime/window#windowsetposition) +// Sets the window position relative to the monitor the window is currently on. +export function WindowSetPosition(x: number, y: number): void; + +// [WindowGetPosition](https://wails.io/docs/reference/runtime/window#windowgetposition) +// Gets the window position relative to the monitor the window is currently on. +export function WindowGetPosition(): Promise; + +// [WindowHide](https://wails.io/docs/reference/runtime/window#windowhide) +// Hides the window. +export function WindowHide(): void; + +// [WindowShow](https://wails.io/docs/reference/runtime/window#windowshow) +// Shows the window, if it is currently hidden. +export function WindowShow(): void; + +// [WindowMaximise](https://wails.io/docs/reference/runtime/window#windowmaximise) +// Maximises the window to fill the screen. +export function WindowMaximise(): void; + +// [WindowToggleMaximise](https://wails.io/docs/reference/runtime/window#windowtogglemaximise) +// Toggles between Maximised and UnMaximised. +export function WindowToggleMaximise(): void; + +// [WindowUnmaximise](https://wails.io/docs/reference/runtime/window#windowunmaximise) +// Restores the window to the dimensions and position prior to maximising. +export function WindowUnmaximise(): void; + +// [WindowIsMaximised](https://wails.io/docs/reference/runtime/window#windowismaximised) +// Returns the state of the window, i.e. whether the window is maximised or not. +export function WindowIsMaximised(): Promise; + +// [WindowMinimise](https://wails.io/docs/reference/runtime/window#windowminimise) +// Minimises the window. +export function WindowMinimise(): void; + +// [WindowUnminimise](https://wails.io/docs/reference/runtime/window#windowunminimise) +// Restores the window to the dimensions and position prior to minimising. +export function WindowUnminimise(): void; + +// [WindowIsMinimised](https://wails.io/docs/reference/runtime/window#windowisminimised) +// Returns the state of the window, i.e. whether the window is minimised or not. +export function WindowIsMinimised(): Promise; + +// [WindowIsNormal](https://wails.io/docs/reference/runtime/window#windowisnormal) +// Returns the state of the window, i.e. whether the window is normal or not. +export function WindowIsNormal(): Promise; + +// [WindowSetBackgroundColour](https://wails.io/docs/reference/runtime/window#windowsetbackgroundcolour) +// Sets the background colour of the window to the given RGBA colour definition. This colour will show through for all transparent pixels. +export function WindowSetBackgroundColour(R: number, G: number, B: number, A: number): void; + +// [ScreenGetAll](https://wails.io/docs/reference/runtime/window#screengetall) +// Gets the all screens. Call this anew each time you want to refresh data from the underlying windowing system. +export function ScreenGetAll(): Promise; + +// [BrowserOpenURL](https://wails.io/docs/reference/runtime/browser#browseropenurl) +// Opens the given URL in the system browser. +export function BrowserOpenURL(url: string): void; + +// [Environment](https://wails.io/docs/reference/runtime/intro#environment) +// Returns information about the environment +export function Environment(): Promise; + +// [Quit](https://wails.io/docs/reference/runtime/intro#quit) +// Quits the application. +export function Quit(): void; + +// [Hide](https://wails.io/docs/reference/runtime/intro#hide) +// Hides the application. +export function Hide(): void; + +// [Show](https://wails.io/docs/reference/runtime/intro#show) +// Shows the application. +export function Show(): void; + +// [ClipboardGetText](https://wails.io/docs/reference/runtime/clipboard#clipboardgettext) +// Returns the current text stored on clipboard +export function ClipboardGetText(): Promise; + +// [ClipboardSetText](https://wails.io/docs/reference/runtime/clipboard#clipboardsettext) +// Sets a text on the clipboard +export function ClipboardSetText(text: string): Promise; + +// [OnFileDrop](https://wails.io/docs/reference/runtime/draganddrop#onfiledrop) +// OnFileDrop listens to drag and drop events and calls the callback with the coordinates of the drop and an array of path strings. +export function OnFileDrop(callback: (x: number, y: number ,paths: string[]) => void, useDropTarget: boolean) :void + +// [OnFileDropOff](https://wails.io/docs/reference/runtime/draganddrop#dragandddropoff) +// OnFileDropOff removes the drag and drop listeners and handlers. +export function OnFileDropOff() :void + +// Check if the file path resolver is available +export function CanResolveFilePaths(): boolean; + +// Resolves file paths for an array of files +export function ResolveFilePaths(files: File[]): void + +// Notification types +export interface NotificationOptions { + id: string; + title: string; + subtitle?: string; // macOS and Linux only + body?: string; + categoryId?: string; + data?: { [key: string]: any }; +} + +export interface NotificationAction { + id?: string; + title?: string; + destructive?: boolean; // macOS-specific +} + +export interface NotificationCategory { + id?: string; + actions?: NotificationAction[]; + hasReplyField?: boolean; + replyPlaceholder?: string; + replyButtonTitle?: string; +} + +// [InitializeNotifications](https://wails.io/docs/reference/runtime/notification#initializenotifications) +// Initializes the notification service for the application. +// This must be called before sending any notifications. +export function InitializeNotifications(): Promise; + +// [CleanupNotifications](https://wails.io/docs/reference/runtime/notification#cleanupnotifications) +// Cleans up notification resources and releases any held connections. +export function CleanupNotifications(): Promise; + +// [IsNotificationAvailable](https://wails.io/docs/reference/runtime/notification#isnotificationavailable) +// Checks if notifications are available on the current platform. +export function IsNotificationAvailable(): Promise; + +// [RequestNotificationAuthorization](https://wails.io/docs/reference/runtime/notification#requestnotificationauthorization) +// Requests notification authorization from the user (macOS only). +export function RequestNotificationAuthorization(): Promise; + +// [CheckNotificationAuthorization](https://wails.io/docs/reference/runtime/notification#checknotificationauthorization) +// Checks the current notification authorization status (macOS only). +export function CheckNotificationAuthorization(): Promise; + +// [SendNotification](https://wails.io/docs/reference/runtime/notification#sendnotification) +// Sends a basic notification with the given options. +export function SendNotification(options: NotificationOptions): Promise; + +// [SendNotificationWithActions](https://wails.io/docs/reference/runtime/notification#sendnotificationwithactions) +// Sends a notification with action buttons. Requires a registered category. +export function SendNotificationWithActions(options: NotificationOptions): Promise; + +// [RegisterNotificationCategory](https://wails.io/docs/reference/runtime/notification#registernotificationcategory) +// Registers a notification category that can be used with SendNotificationWithActions. +export function RegisterNotificationCategory(category: NotificationCategory): Promise; + +// [RemoveNotificationCategory](https://wails.io/docs/reference/runtime/notification#removenotificationcategory) +// Removes a previously registered notification category. +export function RemoveNotificationCategory(categoryId: string): Promise; + +// [RemoveAllPendingNotifications](https://wails.io/docs/reference/runtime/notification#removeallpendingnotifications) +// Removes all pending notifications from the notification center. +export function RemoveAllPendingNotifications(): Promise; + +// [RemovePendingNotification](https://wails.io/docs/reference/runtime/notification#removependingnotification) +// Removes a specific pending notification by its identifier. +export function RemovePendingNotification(identifier: string): Promise; + +// [RemoveAllDeliveredNotifications](https://wails.io/docs/reference/runtime/notification#removealldeliverednotifications) +// Removes all delivered notifications from the notification center. +export function RemoveAllDeliveredNotifications(): Promise; + +// [RemoveDeliveredNotification](https://wails.io/docs/reference/runtime/notification#removedeliverednotification) +// Removes a specific delivered notification by its identifier. +export function RemoveDeliveredNotification(identifier: string): Promise; + +// [RemoveNotification](https://wails.io/docs/reference/runtime/notification#removenotification) +// Removes a notification by its identifier (cross-platform convenience function). +export function RemoveNotification(identifier: string): Promise; \ No newline at end of file diff --git a/frontend/wailsjs/runtime/runtime.js b/frontend/wailsjs/runtime/runtime.js new file mode 100644 index 0000000..556621e --- /dev/null +++ b/frontend/wailsjs/runtime/runtime.js @@ -0,0 +1,298 @@ +/* + _ __ _ __ +| | / /___ _(_) /____ +| | /| / / __ `/ / / ___/ +| |/ |/ / /_/ / / (__ ) +|__/|__/\__,_/_/_/____/ +The electron alternative for Go +(c) Lea Anthony 2019-present +*/ + +export function LogPrint(message) { + window.runtime.LogPrint(message); +} + +export function LogTrace(message) { + window.runtime.LogTrace(message); +} + +export function LogDebug(message) { + window.runtime.LogDebug(message); +} + +export function LogInfo(message) { + window.runtime.LogInfo(message); +} + +export function LogWarning(message) { + window.runtime.LogWarning(message); +} + +export function LogError(message) { + window.runtime.LogError(message); +} + +export function LogFatal(message) { + window.runtime.LogFatal(message); +} + +export function EventsOnMultiple(eventName, callback, maxCallbacks) { + return window.runtime.EventsOnMultiple(eventName, callback, maxCallbacks); +} + +export function EventsOn(eventName, callback) { + return EventsOnMultiple(eventName, callback, -1); +} + +export function EventsOff(eventName, ...additionalEventNames) { + return window.runtime.EventsOff(eventName, ...additionalEventNames); +} + +export function EventsOffAll() { + return window.runtime.EventsOffAll(); +} + +export function EventsOnce(eventName, callback) { + return EventsOnMultiple(eventName, callback, 1); +} + +export function EventsEmit(eventName) { + let args = [eventName].slice.call(arguments); + return window.runtime.EventsEmit.apply(null, args); +} + +export function WindowReload() { + window.runtime.WindowReload(); +} + +export function WindowReloadApp() { + window.runtime.WindowReloadApp(); +} + +export function WindowSetAlwaysOnTop(b) { + window.runtime.WindowSetAlwaysOnTop(b); +} + +export function WindowSetSystemDefaultTheme() { + window.runtime.WindowSetSystemDefaultTheme(); +} + +export function WindowSetLightTheme() { + window.runtime.WindowSetLightTheme(); +} + +export function WindowSetDarkTheme() { + window.runtime.WindowSetDarkTheme(); +} + +export function WindowCenter() { + window.runtime.WindowCenter(); +} + +export function WindowSetTitle(title) { + window.runtime.WindowSetTitle(title); +} + +export function WindowFullscreen() { + window.runtime.WindowFullscreen(); +} + +export function WindowUnfullscreen() { + window.runtime.WindowUnfullscreen(); +} + +export function WindowIsFullscreen() { + return window.runtime.WindowIsFullscreen(); +} + +export function WindowGetSize() { + return window.runtime.WindowGetSize(); +} + +export function WindowSetSize(width, height) { + window.runtime.WindowSetSize(width, height); +} + +export function WindowSetMaxSize(width, height) { + window.runtime.WindowSetMaxSize(width, height); +} + +export function WindowSetMinSize(width, height) { + window.runtime.WindowSetMinSize(width, height); +} + +export function WindowSetPosition(x, y) { + window.runtime.WindowSetPosition(x, y); +} + +export function WindowGetPosition() { + return window.runtime.WindowGetPosition(); +} + +export function WindowHide() { + window.runtime.WindowHide(); +} + +export function WindowShow() { + window.runtime.WindowShow(); +} + +export function WindowMaximise() { + window.runtime.WindowMaximise(); +} + +export function WindowToggleMaximise() { + window.runtime.WindowToggleMaximise(); +} + +export function WindowUnmaximise() { + window.runtime.WindowUnmaximise(); +} + +export function WindowIsMaximised() { + return window.runtime.WindowIsMaximised(); +} + +export function WindowMinimise() { + window.runtime.WindowMinimise(); +} + +export function WindowUnminimise() { + window.runtime.WindowUnminimise(); +} + +export function WindowSetBackgroundColour(R, G, B, A) { + window.runtime.WindowSetBackgroundColour(R, G, B, A); +} + +export function ScreenGetAll() { + return window.runtime.ScreenGetAll(); +} + +export function WindowIsMinimised() { + return window.runtime.WindowIsMinimised(); +} + +export function WindowIsNormal() { + return window.runtime.WindowIsNormal(); +} + +export function BrowserOpenURL(url) { + window.runtime.BrowserOpenURL(url); +} + +export function Environment() { + return window.runtime.Environment(); +} + +export function Quit() { + window.runtime.Quit(); +} + +export function Hide() { + window.runtime.Hide(); +} + +export function Show() { + window.runtime.Show(); +} + +export function ClipboardGetText() { + return window.runtime.ClipboardGetText(); +} + +export function ClipboardSetText(text) { + return window.runtime.ClipboardSetText(text); +} + +/** + * Callback for OnFileDrop returns a slice of file path strings when a drop is finished. + * + * @export + * @callback OnFileDropCallback + * @param {number} x - x coordinate of the drop + * @param {number} y - y coordinate of the drop + * @param {string[]} paths - A list of file paths. + */ + +/** + * OnFileDrop listens to drag and drop events and calls the callback with the coordinates of the drop and an array of path strings. + * + * @export + * @param {OnFileDropCallback} callback - Callback for OnFileDrop returns a slice of file path strings when a drop is finished. + * @param {boolean} [useDropTarget=true] - Only call the callback when the drop finished on an element that has the drop target style. (--wails-drop-target) + */ +export function OnFileDrop(callback, useDropTarget) { + return window.runtime.OnFileDrop(callback, useDropTarget); +} + +/** + * OnFileDropOff removes the drag and drop listeners and handlers. + */ +export function OnFileDropOff() { + return window.runtime.OnFileDropOff(); +} + +export function CanResolveFilePaths() { + return window.runtime.CanResolveFilePaths(); +} + +export function ResolveFilePaths(files) { + return window.runtime.ResolveFilePaths(files); +} + +export function InitializeNotifications() { + return window.runtime.InitializeNotifications(); +} + +export function CleanupNotifications() { + return window.runtime.CleanupNotifications(); +} + +export function IsNotificationAvailable() { + return window.runtime.IsNotificationAvailable(); +} + +export function RequestNotificationAuthorization() { + return window.runtime.RequestNotificationAuthorization(); +} + +export function CheckNotificationAuthorization() { + return window.runtime.CheckNotificationAuthorization(); +} + +export function SendNotification(options) { + return window.runtime.SendNotification(options); +} + +export function SendNotificationWithActions(options) { + return window.runtime.SendNotificationWithActions(options); +} + +export function RegisterNotificationCategory(category) { + return window.runtime.RegisterNotificationCategory(category); +} + +export function RemoveNotificationCategory(categoryId) { + return window.runtime.RemoveNotificationCategory(categoryId); +} + +export function RemoveAllPendingNotifications() { + return window.runtime.RemoveAllPendingNotifications(); +} + +export function RemovePendingNotification(identifier) { + return window.runtime.RemovePendingNotification(identifier); +} + +export function RemoveAllDeliveredNotifications() { + return window.runtime.RemoveAllDeliveredNotifications(); +} + +export function RemoveDeliveredNotification(identifier) { + return window.runtime.RemoveDeliveredNotification(identifier); +} + +export function RemoveNotification(identifier) { + return window.runtime.RemoveNotification(identifier); +} \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..17ff75f --- /dev/null +++ b/go.mod @@ -0,0 +1,51 @@ +module github.com/qingwuyingxing/douyin-live-fetcher + +go 1.25.6 + +require ( + github.com/dop251/goja v0.0.0-20260917113740-793a2a65c13b + github.com/google/uuid v1.6.0 + github.com/labstack/echo/v4 v4.15.4 + github.com/wailsapp/wails/v2 v2.16.0 + modernc.org/sqlite v1.59.0 + nhooyr.io/websocket v1.8.17 +) + +require ( + git.sr.ht/~jackmordaunt/go-toast/v2 v2.0.3 // indirect + github.com/bep/debounce v1.2.1 // indirect + github.com/dlclark/regexp2/v2 v2.5.2 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/go-ole/go-ole v1.3.0 // indirect + github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect + github.com/godbus/dbus/v5 v5.1.0 // indirect + github.com/google/pprof v0.0.0-20260802141513-ef3492d7dac3 // indirect + github.com/gorilla/websocket v1.5.3 // indirect + github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect + github.com/labstack/gommon v0.5.0 // indirect + github.com/leaanthony/go-ansi-parser v1.6.1 // indirect + github.com/leaanthony/gosod v1.0.4 // indirect + github.com/leaanthony/slicer v1.6.0 // indirect + github.com/leaanthony/u v1.1.1 // indirect + github.com/mattn/go-colorable v0.1.15 // indirect + github.com/mattn/go-isatty v0.0.24 // indirect + github.com/ncruces/go-strftime v1.0.0 // indirect + github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/rivo/uniseg v0.4.7 // indirect + github.com/samber/lo v1.49.1 // indirect + github.com/tkrajina/go-reflector v0.5.8 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasttemplate v1.2.2 // indirect + github.com/wailsapp/go-webview2 v1.0.22 // indirect + github.com/wailsapp/mimetype v1.4.1 // indirect + golang.org/x/crypto v0.53.0 // indirect + golang.org/x/net v0.56.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/text v0.39.0 // indirect + golang.org/x/time v0.15.0 // indirect + modernc.org/libc v1.75.7 // indirect + modernc.org/mathutil v1.7.1 // indirect + modernc.org/memory v1.12.1 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..011562b --- /dev/null +++ b/go.sum @@ -0,0 +1,139 @@ +git.sr.ht/~jackmordaunt/go-toast/v2 v2.0.3 h1:N3IGoHHp9pb6mj1cbXbuaSXV/UMKwmbKLf53nQmtqMA= +git.sr.ht/~jackmordaunt/go-toast/v2 v2.0.3/go.mod h1:QtOLZGz8olr4qH2vWK0QH0w0O4T9fEIjMuWpKUsH7nc= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= +github.com/Masterminds/semver/v3 v3.5.0 h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAwZ/2OOE= +github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/bep/debounce v1.2.1 h1:v67fRdBA9UQu2NhLFXrSg0Brw7CexQekrBwDMM8bzeY= +github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dlclark/regexp2/v2 v2.5.2 h1:HAsucWRhsqcDzl6Ua9aR8JwYOTzrZyPrF0/FNxJVAI0= +github.com/dlclark/regexp2/v2 v2.5.2/go.mod h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU= +github.com/dop251/goja v0.0.0-20260917113740-793a2a65c13b h1:UMDLDHFR1Chu3qnsPNCrVxq0lZgG6JqHpLL5+iqfSkw= +github.com/dop251/goja v0.0.0-20260917113740-793a2a65c13b/go.mod h1:u8yZRUavu+N4EnFFy6J5fVtjE7lEcZ2YyV2GcBXY9c8= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= +github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= +github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/google/pprof v0.0.0-20260802141513-ef3492d7dac3 h1:LMLX+LgTNWpfvCBdFebv6EsYotImrt/Ppc5cXIriCSo= +github.com/google/pprof v0.0.0-20260802141513-ef3492d7dac3/go.mod h1:jl5iWTm0/hd5PjEYEOuwAJ57L/CibdZfrqZ5XA5GrCk= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e h1:Q3+PugElBCf4PFpxhErSzU3/PY5sFL5Z6rfv4AbGAck= +github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs= +github.com/labstack/echo/v4 v4.15.4 h1:DL45vVYa+BWE+XuW+zZNd9H0YEdZ80UAWJGcTVW4EVs= +github.com/labstack/echo/v4 v4.15.4/go.mod h1:CuMetKIRwsuO/qlAgMq+KTAalwGoB/h4tC+yPdrTj1g= +github.com/labstack/gommon v0.5.0 h1:6VSQ2NOzsnEJ5W6+84E0RbcaDDmgB6NIAzWCczTEe6c= +github.com/labstack/gommon v0.5.0/go.mod h1:Rzlg7HHy1maLfzBYGg9NZcVuz1sA68HHhLjhcEllYE0= +github.com/leaanthony/debme v1.2.1 h1:9Tgwf+kjcrbMQ4WnPcEIUcQuIZYqdWftzZkBr+i/oOc= +github.com/leaanthony/debme v1.2.1/go.mod h1:3V+sCm5tYAgQymvSOfYQ5Xx2JCr+OXiD9Jkw3otUjiA= +github.com/leaanthony/go-ansi-parser v1.6.1 h1:xd8bzARK3dErqkPFtoF9F3/HgN8UQk0ed1YDKpEz01A= +github.com/leaanthony/go-ansi-parser v1.6.1/go.mod h1:+vva/2y4alzVmmIEpk9QDhA7vLC5zKDTRwfZGOp3IWU= +github.com/leaanthony/gosod v1.0.4 h1:YLAbVyd591MRffDgxUOU1NwLhT9T1/YiwjKZpkNFeaI= +github.com/leaanthony/gosod v1.0.4/go.mod h1:GKuIL0zzPj3O1SdWQOdgURSuhkF+Urizzxh26t9f1cw= +github.com/leaanthony/slicer v1.6.0 h1:1RFP5uiPJvT93TAHi+ipd3NACobkW53yUiBqZheE/Js= +github.com/leaanthony/slicer v1.6.0/go.mod h1:o/Iz29g7LN0GqH3aMjWAe90381nyZlDNquK+mtH2Fj8= +github.com/leaanthony/u v1.1.1 h1:TUFjwDGlNX+WuwVEzDqQwC2lOv0P4uhTQw7CMFdiK7M= +github.com/leaanthony/u v1.1.1/go.mod h1:9+o6hejoRljvZ3BzdYlVL0JYCwtnAsVuN9pVTQcaRfI= +github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= +github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ= +github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= +github.com/mattn/go-colorable v0.1.15 h1:+u9SLTRGnXv73cEsnsmoZBom+dMU88B2M0aDcWy0/jY= +github.com/mattn/go-colorable v0.1.15/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= +github.com/mattn/go-isatty v0.0.24 h1:tGZZoVgT/KiqK1c8ocVLeDS8BSWMRd47J3Lbz7vsReI= +github.com/mattn/go-isatty v0.0.24/go.mod h1:nMCL3Zebbrt45jsMDgnfIwz6ydEQApk5oEI3HqDio6A= +github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w= +github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/samber/lo v1.49.1 h1:4BIFyVfuQSEpluc7Fua+j1NolZHiEHEpaSEKdsH0tew= +github.com/samber/lo v1.49.1/go.mod h1:dO6KHFzUKXgP8LDhU0oI8d2hekjXnGOu0DB8Jecxd6o= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/tkrajina/go-reflector v0.5.8 h1:yPADHrwmUbMq4RGEyaOUpz2H90sRsETNVpjzo3DLVQQ= +github.com/tkrajina/go-reflector v0.5.8/go.mod h1:ECbqLgccecY5kPmPmXg1MrHW585yMcDkVl6IvJe64T4= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= +github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/wailsapp/go-webview2 v1.0.22 h1:YT61F5lj+GGaat5OB96Aa3b4QA+mybD0Ggq6NZijQ58= +github.com/wailsapp/go-webview2 v1.0.22/go.mod h1:qJmWAmAmaniuKGZPWwne+uor3AHMB5PFhqiK0Bbj8kc= +github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhwHs= +github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o= +github.com/wailsapp/wails/v2 v2.16.0 h1:hLYrSHUUq6hRXl3rWT9ZXiyFIgM94nVN9Ns6iEJzxyw= +github.com/wailsapp/wails/v2 v2.16.0/go.mod h1:scxrgwfsv6yR6fE6cCF+Flfl+JeU+SR87T9x4kILJ6M= +golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= +golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= +golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= +golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40= +golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= +golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= +golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= +golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.48.0 h1:3+hClM1aLL5mjMKm5ovokw9epgRXPuu2tILgismM6RE= +golang.org/x/tools v0.48.0/go.mod h1:08xX0orndb/F7jJxGDicx061tyd5pcMto75YMAXr6lk= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +modernc.org/cc/v4 v4.29.2 h1:h6+9ciCnPKutf4I03CvheAvDLX7+IHlqR6Iy6J+cgd8= +modernc.org/cc/v4 v4.29.2/go.mod h1:OnovgIhbbMXMu1aISnJ0wvVD1KnW+cAUJkIrAWh+kVI= +modernc.org/ccgo/v4 v4.35.0 h1:F+TUsmw09QxLzmi3aeYYGxjAXarmZaKgj3mKQHNaA8w= +modernc.org/ccgo/v4 v4.35.0/go.mod h1:qrVGs9S3Sr2Ztcg9ve+kTAYMp5a3YvWjo+SoN06kJ5I= +modernc.org/fileutil v1.4.0 h1:j6ZzNTftVS054gi281TyLjHPp6CPHr2KCxEXjEbD6SM= +modernc.org/fileutil v1.4.0/go.mod h1:EqdKFDxiByqxLk8ozOxObDSfcVOv/54xDs/DUHdvCUU= +modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI= +modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito= +modernc.org/gc/v3 v3.1.5 h1:21ldfPfRYE31Tb7B3mwAK8gy1AxP4+dKjrOQPfqakoc= +modernc.org/gc/v3 v3.1.5/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY= +modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks= +modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI= +modernc.org/libc v1.75.7 h1:o3DTP9/0p9pKmY2WCKQaySW6wIiZhNM7wc2lUoyhfew= +modernc.org/libc v1.75.7/go.mod h1:bO5o2ztHxBb2rjz0PgdHN0sSMw57CgxGFLZ3Qd/QpVQ= +modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU= +modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg= +modernc.org/memory v1.12.1 h1:nFMiWrpStgZczNl6XI9GnIk/rWhYIyHGUaR04pGbp9g= +modernc.org/memory v1.12.1/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw= +modernc.org/opt v0.2.0 h1:tGyef5ApycA7FSEOMraay9SaTk5zmbx7Tu+cJs4QKZg= +modernc.org/opt v0.2.0/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns= +modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w= +modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE= +modernc.org/sqlite v1.59.0 h1:X1es1GpqBlS/5T+vbM4HLUdaa8OtQx468DF2vrx+38A= +modernc.org/sqlite v1.59.0/go.mod h1:+paeT2A3iPRHkQDwG7oA6Tk0zQd5woMEI8q7orfry8k= +modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= +modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= +modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= +modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +nhooyr.io/websocket v1.8.17 h1:KEVeLJkUywCKVsnLIDlD/5gtayKp8VoCkksHCGGfT9Y= +nhooyr.io/websocket v1.8.17/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= diff --git a/go_win_template.exe~ b/go_win_template.exe~ new file mode 100644 index 0000000..f71569d Binary files /dev/null and b/go_win_template.exe~ differ diff --git a/internal/api/server.go b/internal/api/server.go new file mode 100644 index 0000000..400c15d --- /dev/null +++ b/internal/api/server.go @@ -0,0 +1,803 @@ +package api + +import ( + "encoding/csv" + "fmt" + "io" + "log" + "net/http" + "regexp" + "strconv" + "strings" + "sync" + "time" + + "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" + + "github.com/qingwuyingxing/douyin-live-fetcher/internal/broadcaster" + "github.com/qingwuyingxing/douyin-live-fetcher/internal/db" + "github.com/qingwuyingxing/douyin-live-fetcher/internal/fetcher" + "github.com/qingwuyingxing/douyin-live-fetcher/internal/license" +) + +var ( + fetchers = make(map[string]*fetcher.Fetcher) + fetcherMu sync.RWMutex + bc *broadcaster.Broadcaster + startedAt = time.Now() +) + +func StartServer(b *broadcaster.Broadcaster, assets http.FileSystem, port int) error { + bc = b + e := echo.New() + e.HideBanner = true + e.Use(middleware.Recover()) + e.Use(middleware.CORSWithConfig(middleware.CORSConfig{ + AllowOrigins: []string{"*"}, + AllowMethods: []string{"GET", "POST", "OPTIONS"}, + AllowHeaders: []string{"Content-Type"}, + })) + + g := e.Group("/api") + g.POST("/start", handleStart) + g.POST("/stop", handleStop) + g.POST("/del", handleDel) + g.GET("/rooms", handleRooms) + g.GET("/rooms_db", handleRoomsDB) + g.POST("/rooms", handleAddRoom) + g.GET("/messages", handleMessages) + g.GET("/users", handleUsers) + g.GET("/users_db", handleUsersDB) + g.GET("/marks", handleMarksGet) + g.POST("/mark", handleMarkSet) + g.POST("/marks_clear", handleMarksClear) + g.POST("/msg_seen", handleMsgSeen) + g.POST("/msg_seen_bulk", handleMsgSeenBulk) + g.POST("/msg_seen_clear", handleMsgSeenClear) + g.POST("/lead", handleLead) + g.GET("/leads", handleLeads) + g.GET("/leads_export", handleLeadsExport) + g.GET("/export", handleExport) + g.GET("/keywords", handleKeywordsGet) + g.POST("/keywords", handleKeywordsSet) + g.GET("/resolve", handleResolve) + g.GET("/status", handleStatus) + g.GET("/stream", handleStream) + g.GET("/errors", handleErrors) + g.POST("/error", handleError) + g.GET("/license", handleLicenseGet) + g.POST("/license", handleLicensePost) + g.POST("/license/logout", handleLicenseLogout) + g.GET("/settings", handleSettingsGet) + g.POST("/settings", handleSettingsPost) + + // 静态文件服务(直接读文件系统) + e.GET("/", func(c echo.Context) error { + return c.File("frontend/dist/index.html") + }) + e.Static("/assets", "frontend/dist/assets") + + go _autoWatch() + go _licenseWatch() + + addr := fmt.Sprintf(":%d", port) + log.Printf("[api] starting server on %s", addr) + return e.Start(addr) +} + +func serveFile(c echo.Context, fs http.FileSystem, name string) error { + f, err := fs.Open(name) + if err != nil { + log.Printf("[serveFile] open %q failed: %v", name, err) + return c.String(404, "not found") + } + defer f.Close() + data, err := io.ReadAll(f) + if err != nil { + log.Printf("[serveFile] read %q failed: %v", name, err) + return c.String(500, "read failed") + } + c.Response().Header().Set("Content-Type", http.DetectContentType(data)) + c.Response().Header().Set("Cache-Control", "public, max-age=3600") + c.Response().WriteHeader(200) + _, err = c.Response().Write(data) + if err != nil { + log.Printf("[serveFile] write %q failed: %v", name, err) + } + return nil +} + +// ─── 房间 ──────────────────────────────────────────────────── + +func handleStart(c echo.Context) error { + if !license.LicenseAllowed(false) { + return c.JSON(403, map[string]string{"error": "授权不可用"}) + } + var body struct { + LiveID string `json:"live_id"` + Keywords string `json:"keywords"` + } + if err := c.Bind(&body); err != nil { + return c.JSON(400, map[string]string{"error": err.Error()}) + } + lid := resolveID(body.LiveID) + if lid == "" { + return c.JSON(400, map[string]string{"error": "无效直播间ID"}) + } + kws := body.Keywords + if kws == "" { + kws = db.GetSetting("kw_" + lid) + } + db.SaveRoom(lid, kws) + startFetcher(lid, kws, "manual") + return c.JSON(200, map[string]string{"status": "ok", "live_id": lid}) +} + +func handleStop(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + } + c.Bind(&body) + lid := strings.TrimSpace(body.LiveID) + fetcherMu.Lock() + if lid == "all" { + for id := range fetchers { + stopFetcher(id) + } + fetcherMu.Unlock() + return c.JSON(200, map[string]string{"status": "ok", "message": "Stopped all"}) + } + if lid != "" { + stopFetcher(lid) + } + fetcherMu.Unlock() + return c.JSON(200, map[string]string{"status": "ok"}) +} + +func handleDel(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + } + c.Bind(&body) + lid := resolveID(body.LiveID) + fetcherMu.Lock() + stopFetcher(lid) + fetcherMu.Unlock() + db.DelRoom(lid) + return c.JSON(200, map[string]string{"status": "ok"}) +} + +func handleRooms(c echo.Context) error { + fetcherMu.RLock() + rooms := make([]map[string]interface{}, 0) + for id, f := range fetchers { + rooms = append(rooms, map[string]interface{}{ + "live_id": id, "connected": f.Ok(), "silent": f.IsSilent(), + "last_pkt_age": time.Since(time.Unix(int64(f.LastPkt()), 0)).Seconds(), + "chatter_count": len(f.Users()), "keywords": f.Keywords(), + }) + } + fetcherMu.RUnlock() + return c.JSON(200, map[string]interface{}{"rooms": rooms}) +} + +func handleRoomsDB(c echo.Context) error { + return c.JSON(200, map[string]interface{}{"rooms": db.GetRooms()}) +} + +func handleAddRoom(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + } + c.Bind(&body) + lid := resolveID(body.LiveID) + if lid == "" { + return c.JSON(400, map[string]string{"error": "无效的直播间ID"}) + } + db.SaveRoom(lid, "") + if license.LicenseAllowed(false) { + startFetcher(lid, db.GetSetting("kw_"+lid), "add-room") + } + return c.JSON(200, map[string]interface{}{"status": "ok", "live_id": lid}) +} + +// ─── 消息 ──────────────────────────────────────────────────── + +func handleMessages(c echo.Context) error { + lid := resolveID(c.QueryParam("live_id")) + if lid == "" { + return c.JSON(400, map[string]string{"error": "missing live_id"}) + } + after := parseInt64(c.QueryParam("after_id"), 0) + limit := min(parseInt(c.QueryParam("limit"), 200), 500) + msgs, last := db.GetMessages(lid, after, limit) + return c.JSON(200, map[string]interface{}{"live_id": lid, "after_id": last, "messages": msgs}) +} + +// ─── 用户 ──────────────────────────────────────────────────── + +func handleUsers(c echo.Context) error { + lid := resolveID(c.QueryParam("live_id")) + if lid == "" { + return c.JSON(400, map[string]string{"error": "missing live_id"}) + } + fetcherMu.RLock() + f := fetchers[lid] + fetcherMu.RUnlock() + if f != nil { + return c.JSON(200, map[string]interface{}{"live_id": lid, "count": len(f.Users()), "users": f.Users()}) + } + users := db.GetUsers(lid) + return c.JSON(200, map[string]interface{}{"live_id": lid, "count": len(users), "users": userMapList(users)}) +} + +func handleUsersDB(c echo.Context) error { + lid := resolveID(c.QueryParam("live_id")) + if lid == "" { + return c.JSON(400, map[string]string{"error": "missing live_id"}) + } + users := db.GetUsers(lid) + return c.JSON(200, map[string]interface{}{"live_id": lid, "count": len(users), "users": userMapList(users)}) +} + +// ─── 标记 / 已看 / 客户 ───────────────────────────────────── + +func handleMarksGet(c echo.Context) error { + lid := resolveID(c.QueryParam("live_id")) + if lid == "" { + return c.JSON(400, map[string]string{"error": "missing live_id"}) + } + return c.JSON(200, map[string]interface{}{"live_id": lid, "marks": db.GetMarks(lid)}) +} + +func handleMarkSet(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + UserID string `json:"user_id"` + Mark string `json:"mark"` + } + c.Bind(&body) + lid := resolveID(body.LiveID) + if lid == "" || body.UserID == "" { + return c.JSON(400, map[string]string{"error": "missing live_id/user_id"}) + } + valid := map[string]bool{"blue": true, "red": true, "yellow": true} + mark := body.Mark + if mark != "" && !valid[mark] { + mark = "" + } + db.SetMark(lid, body.UserID, mark) + fetcherMu.RLock() + if f := fetchers[lid]; f != nil { + f.SetMark(body.UserID, mark) + } + fetcherMu.RUnlock() + return c.JSON(200, map[string]interface{}{"status": "ok", "user_id": body.UserID, "mark": mark}) +} + +func handleMarksClear(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + } + c.Bind(&body) + lid := resolveID(body.LiveID) + if lid == "" { + return c.JSON(400, map[string]string{"error": "missing live_id"}) + } + db.ClearMarks(lid) + fetcherMu.RLock() + if f := fetchers[lid]; f != nil { + f.ClearMarks() + } + fetcherMu.RUnlock() + return c.JSON(200, map[string]interface{}{"status": "ok"}) +} + +func handleMsgSeen(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + MsgID int64 `json:"msg_id"` + Seen bool `json:"seen"` + } + c.Bind(&body) + lid := resolveID(body.LiveID) + if lid == "" || body.MsgID == 0 { + return c.JSON(400, map[string]string{"error": "missing live_id/msg_id"}) + } + n := db.SetMsgSeen(lid, body.MsgID, body.Seen) + return c.JSON(200, map[string]interface{}{"status": "ok", "updated": n}) +} + +func handleMsgSeenBulk(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + IDs []int64 `json:"ids"` + Seen bool `json:"seen"` + } + c.Bind(&body) + lid := resolveID(body.LiveID) + if lid == "" || len(body.IDs) == 0 { + return c.JSON(400, map[string]string{"error": "missing live_id/ids"}) + } + n := db.SetMsgSeenMany(lid, body.IDs, body.Seen) + return c.JSON(200, map[string]interface{}{"status": "ok", "updated": n}) +} + +func handleMsgSeenClear(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + } + c.Bind(&body) + lid := resolveID(body.LiveID) + if lid == "" { + return c.JSON(400, map[string]string{"error": "missing live_id"}) + } + n := db.ClearMsgSeen(lid) + return c.JSON(200, map[string]interface{}{"status": "ok", "cleared": n}) +} + +func handleLead(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + UserID string `json:"user_id"` + Lead bool `json:"lead"` + } + c.Bind(&body) + lid := resolveID(body.LiveID) + if lid == "" || body.UserID == "" { + return c.JSON(400, map[string]string{"error": "missing live_id/user_id"}) + } + db.SetLead(lid, body.UserID, body.Lead) + fetcherMu.RLock() + if f := fetchers[lid]; f != nil { + f.SetLead(body.UserID, body.Lead) + } + fetcherMu.RUnlock() + return c.JSON(200, map[string]interface{}{"status": "ok", "lead": body.Lead}) +} + +func handleLeads(c echo.Context) error { + lid := resolveID(c.QueryParam("live_id")) + leads := db.GetLeads(lid) + return c.JSON(200, map[string]interface{}{"live_id": lid, "count": len(leads), "leads": userMapList(leads)}) +} + +func handleLeadsExport(c echo.Context) error { + lid := resolveID(c.QueryParam("live_id")) + leads := db.GetLeads(lid) + buf := new(strings.Builder) + w := csv.NewWriter(buf) + w.Write([]string{"live_id", "user_id", "nickname", "profile_url", "mark", "last_msg", "msg_count", + "gift_count", "enter_count", "like_count", "follow_count", "lead_time", "last_seen"}) + for _, u := range leads { + profileURL := "" + if u.SecUID != "" { + profileURL = "https://www.douyin.com/user/" + u.SecUID + } + w.Write([]string{ + u.LiveID, u.UserID, u.UserName, profileURL, u.Mark, u.LastMsg, + strconv.Itoa(u.MsgCount), strconv.Itoa(u.GiftCount), strconv.Itoa(u.EnterCount), + strconv.Itoa(u.LikeCount), strconv.Itoa(u.FollowCount), + formatTS(u.LeadTs), formatTS(u.LastSeen), + }) + } + w.Flush() + resp := c.Response() + resp.Header().Set("Content-Type", "text/csv; charset=utf-8") + resp.Header().Set("Content-Disposition", "attachment; filename=leads.csv") + resp.Write([]byte("\ufeff" + buf.String())) + return nil +} + +func handleExport(c echo.Context) error { + lid := resolveID(c.QueryParam("live_id")) + fmtType := c.QueryParam("fmt") + if lid == "" { + return c.JSON(400, map[string]string{"error": "missing live_id"}) + } + fetcherMu.RLock() + var users []map[string]interface{} + if f := fetchers[lid]; f != nil { + users = f.Users() + } + fetcherMu.RUnlock() + if len(users) == 0 { + users = userMapList(db.GetUsers(lid)) + } + if fmtType == "json" { + return c.JSON(200, users) + } + buf := new(strings.Builder) + w := csv.NewWriter(buf) + w.Write([]string{"user_id", "nickname", "msg_count", "gift_count", "enter_count", "like_count", + "follow_count", "last_msg", "hit_keyword", "mark", "lead", "last_action", "sec_uid", "profile_url"}) + for _, u := range users { + suid := strVal(u, "sec_uid") + profileURL := "" + if suid != "" { + profileURL = "https://www.douyin.com/user/" + suid + } + w.Write([]string{ + strVal(u, "user_id"), strVal(u, "user_name"), + strVal(u, "msg_count"), strVal(u, "gift_count"), strVal(u, "enter_count"), + strVal(u, "like_count"), strVal(u, "follow_count"), + strVal(u, "last_msg"), strVal(u, "hit_kw"), strVal(u, "mark"), + func() string { if boolVal(u, "lead") { return "精准客户" }; return "" }(), + strVal(u, "last_action"), suid, profileURL, + }) + } + w.Flush() + resp := c.Response() + resp.Header().Set("Content-Type", "text/csv; charset=utf-8") + resp.Header().Set("Content-Disposition", "attachment; filename=users_"+lid+".csv") + resp.Write([]byte("\ufeff" + buf.String())) + return nil +} + +// ─── 关键词 / 解析 ─────────────────────────────────────────── + +func handleKeywordsGet(c echo.Context) error { + lid := resolveID(c.QueryParam("live_id")) + if lid == "" { + return c.JSON(400, map[string]string{"error": "missing live_id"}) + } + return c.JSON(200, map[string]interface{}{"live_id": lid, "keywords": db.GetSetting("kw_" + lid)}) +} + +func handleKeywordsSet(c echo.Context) error { + var body struct { + LiveID string `json:"live_id"` + Keywords string `json:"keywords"` + } + c.Bind(&body) + lid := resolveID(body.LiveID) + if lid == "" { + return c.JSON(400, map[string]string{"error": "missing live_id"}) + } + db.SetSetting("kw_"+lid, body.Keywords) + fetcherMu.RLock() + if f := fetchers[lid]; f != nil { + f.SetKeywords(body.Keywords) + } + fetcherMu.RUnlock() + return c.JSON(200, map[string]string{"status": "ok"}) +} + +func handleResolve(c echo.Context) error { + lid := resolveID(c.QueryParam("input")) + if lid == "" { + return c.JSON(400, map[string]string{"error": "无法识别为抖音直播间,请输入直播间ID或完整分享链接"}) + } + return c.JSON(200, map[string]string{"live_id": lid}) +} + +// ─── 状态 / SSE ───────────────────────────────────────────── + +func handleStatus(c echo.Context) error { + fetcherMu.RLock() + rooms := make([]map[string]interface{}, 0) + for id, f := range fetchers { + rooms = append(rooms, map[string]interface{}{ + "live_id": id, "connected": f.Ok(), + "last_pkt_age": time.Since(time.Unix(int64(f.LastPkt()), 0)).Seconds(), + "silent": f.IsSilent(), "chatter_count": len(f.Users()), "keywords": f.Keywords(), + }) + } + fetcherMu.RUnlock() + ts := license.AppLicenseState(false) + note, _ := ts["note"].(string) + if note == "" { + note = "登录订阅账号以解锁全部功能" + } + return c.JSON(200, map[string]interface{}{ + "mode": func() string { if db.GetSetting("mode") == "debug" { return "debug" }; return "release" }(), + "version": "1.1.0", + "uptime": time.Since(startedAt).Seconds(), + "log_enabled": db.GetSetting("log_enabled") == "1", + "rooms": rooms, + "license": ts, + "note": note, + }) +} + +func handleStream(c echo.Context) error { + ch := bc.Register() + c.Response().Header().Set("Content-Type", "text/event-stream") + c.Response().Header().Set("Cache-Control", "no-cache") + c.Response().Header().Set("Connection", "keep-alive") + flusher, _ := c.Response().Writer.(http.Flusher) + done := c.Request().Context().Done() + for { + select { + case <-done: + bc.Unregister(ch) + return nil + case data := <-ch: + fmt.Fprintf(c.Response().Writer, "data: %s\n\n", string(data)) + if flusher != nil { + flusher.Flush() + } + } + } +} + +// ─── 错误日志 ──────────────────────────────────────────────── + +func handleErrors(c echo.Context) error { + limit := parseInt(c.QueryParam("limit"), 100) + return c.JSON(200, map[string]interface{}{"errors": db.GetErrors(limit)}) +} + +func handleError(c echo.Context) error { + var body struct { + Message string `json:"message"` + Stack string `json:"stack"` + RoomID string `json:"room_id"` + } + c.Bind(&body) + msg := body.Message + if len(msg) > 2000 { + msg = msg[:2000] + } + stack := body.Stack + if len(stack) > 8000 { + stack = stack[:8000] + } + db.LogError("frontend", body.RoomID, msg, stack) + return c.JSON(200, map[string]string{"status": "ok"}) +} + +// ─── 授权 ──────────────────────────────────────────────────── + +func handleLicenseGet(c echo.Context) error { + return c.JSON(200, map[string]interface{}{ + "license": license.AppLicenseState(true), + "config": license.LicenseConfig(), + }) +} + +func handleLicensePost(c echo.Context) error { + var body struct { + ServerUrl string `json:"server_url"` + CustomerCode string `json:"customer_code"` + ProductCode string `json:"product_code"` + AccountToken string `json:"account_token"` + Login string `json:"login"` + Password string `json:"password"` + } + c.Bind(&body) + if body.Login != "" && body.Password != "" { + data, err := license.LoginAccount(body.ServerUrl, body.Login, body.Password) + if err != nil { + return c.JSON(400, map[string]interface{}{"status": "error", "message": err.Error(), "license": license.AppLicenseState(false)}) + } + return c.JSON(200, map[string]interface{}{"status": "ok", "account": data, "license": license.CheckCloudLicense(true), "config": license.LicenseConfig()}) + } + license.SaveLicenseConfig(body.ServerUrl, body.CustomerCode, body.ProductCode, body.AccountToken) + return c.JSON(200, map[string]interface{}{"status": "ok", "license": license.CheckCloudLicense(true), "config": license.LicenseConfig()}) +} + +func handleLicenseLogout(c echo.Context) error { + license.ClearLicenseLogin() + return c.JSON(200, map[string]interface{}{"status": "ok", "license": license.AppLicenseState(true), "config": license.LicenseConfig()}) +} + +// ─── 设置 ──────────────────────────────────────────────────── + +func handleSettingsGet(c echo.Context) error { + return c.JSON(200, map[string]interface{}{ + "log_enabled": db.GetSetting("log_enabled") == "1", + "mode": db.GetSetting("mode"), + }) +} + +func handleSettingsPost(c echo.Context) error { + var body struct { + LogEnabled *bool `json:"log_enabled"` + Mode string `json:"mode"` + } + c.Bind(&body) + if body.LogEnabled != nil { + db.SetSetting("log_enabled", boolStr(*body.LogEnabled)) + } + if body.Mode == "debug" || body.Mode == "release" { + db.SetSetting("mode", body.Mode) + } + return c.JSON(200, map[string]string{"status": "ok"}) +} + +// ─── 内部 helper ───────────────────────────────────────────── + +func startFetcher(lid, keywords, reason string) { + fetcherMu.Lock() + defer fetcherMu.Unlock() + if f, ok := fetchers[lid]; ok { + if f.ThreadAlive() { + log.Printf("[api] room %s already running", lid) + return + } + f.Stop() + delete(fetchers, lid) + } + if keywords == "" { + keywords = db.GetSetting("kw_" + lid) + } + log.Printf("[api] start room=%s kw=[%s] reason=%s", lid, keywords, reason) + bc.Broadcast(map[string]interface{}{"type": "status", "room_id": lid, "content": "connecting", "timestamp": float64(time.Now().Unix())}) + f := fetcher.NewFetcher(lid, bc, keywords) + fetchers[lid] = f + go f.Start() +} + +func stopFetcher(lid string) { + fetcherMu.Lock() + f := fetchers[lid] + delete(fetchers, lid) + fetcherMu.Unlock() + if f != nil { + f.Stop() + } +} + +func _autoWatch() { + for { + time.Sleep(15 * time.Second) + if !license.LicenseAllowed(false) { + continue + } + rooms := db.GetRooms() + fetcherMu.Lock() + for _, r := range rooms { + lid := r.LiveID + f := fetchers[lid] + if f == nil { + startFetcher(lid, db.GetSetting("kw_"+lid), "auto-start") + continue + } + alive := f.ThreadAlive() + ok := f.Ok() + age := time.Since(time.Unix(int64(f.LastPkt()), 0)).Seconds() + silent := f.IsSilent() + if alive && ok && !silent && age <= 90 { + continue + } + log.Printf("[auto-watch] room %s reconnect: age=%.1fs", lid, age) + stopFetcher(lid) + startFetcher(lid, db.GetSetting("kw_"+lid), "auto-reconnect") + } + for lid := range fetchers { + found := false + for _, r := range rooms { + if r.LiveID == lid { + found = true + break + } + } + if !found { + stopFetcher(lid) + } + } + fetcherMu.Unlock() + } +} + +func _licenseWatch() { + for { + time.Sleep(30 * time.Second) + if !license.LicenseAllowed(false) && len(fetchers) > 0 { + fetcherMu.Lock() + for id := range fetchers { + stopFetcher(id) + } + fetcherMu.Unlock() + log.Printf("[license] 授权不可用,全部直播间已停止") + } + } +} + +func resolveID(raw string) string { + raw = strings.TrimSpace(raw) + if raw == "" { + return "" + } + if allDigits(raw) { + return raw + } + re1 := regexp.MustCompile(`live\.douyin\.com/(\d+)`) + if m := re1.FindStringSubmatch(raw); len(m) > 1 { + return m[1] + } + re2 := regexp.MustCompile(`webcast\.amemv\.com/\w+/\w+/reflow/(\d+)`) + if m := re2.FindStringSubmatch(raw); len(m) > 1 { + return m[1] + } + re3 := regexp.MustCompile(`https?://\S+`) + for _, u := range re3.FindAllString(raw, -1) { + if m := re1.FindStringSubmatch(u); len(m) > 1 { + return m[1] + } + if m := re2.FindStringSubmatch(u); len(m) > 1 { + return m[1] + } + } + if allDigits(raw) { + return raw + } + return "" +} + +func allDigits(s string) bool { + if s == "" { + return false + } + for _, c := range s { + if c < '0' || c > '9' { + return false + } + } + return true +} + +func userMapList(users []db.User) []map[string]interface{} { + out := make([]map[string]interface{}, len(users)) + for i, u := range users { + out[i] = map[string]interface{}{ + "id": u.ID, "live_id": u.LiveID, "user_id": u.UserID, + "user_name": u.UserName, "first_seen": u.FirstSeen, "last_seen": u.LastSeen, + "msg_count": u.MsgCount, "gift_count": u.GiftCount, "enter_count": u.EnterCount, + "like_count": u.LikeCount, "follow_count": u.FollowCount, "last_msg": u.LastMsg, + "last_action": u.LastAction, "hit_kw": u.HitKw, "sec_uid": u.SecUID, + "avatar": u.Avatar, "mark": u.Mark, "lead": u.Lead, "lead_ts": u.LeadTs, + } + } + return out +} + +func strVal(m map[string]interface{}, k string) string { + v, ok := m[k] + if !ok { + return "" + } + s, _ := v.(string) + return s +} + +func boolVal(m map[string]interface{}, k string) bool { + v, ok := m[k] + if !ok { + return false + } + b, _ := v.(bool) + return b +} + +func parseInt(s string, def int) int { + n, err := strconv.Atoi(s) + if err != nil { + return def + } + return n +} + +func parseInt64(s string, def int64) int64 { + n, err := strconv.ParseInt(s, 10, 64) + if err != nil { + return def + } + return n +} + +func boolStr(b bool) string { + if b { + return "1" + } + return "0" +} + +func formatTS(ts float64) string { + if ts == 0 { + return "" + } + return time.Unix(int64(ts), 0).Format("2006-01-02 15:04") +} diff --git a/internal/broadcaster/broadcaster.go b/internal/broadcaster/broadcaster.go new file mode 100644 index 0000000..3d7dc5e --- /dev/null +++ b/internal/broadcaster/broadcaster.go @@ -0,0 +1,66 @@ +package broadcaster + +import ( + "encoding/json" + "sync" +) + +type Broadcaster struct { + chs []chan []byte + lk sync.Mutex +} + +func NewBroadcaster() *Broadcaster { + return &Broadcaster{} +} + +func (bc *Broadcaster) Register() chan []byte { + ch := make(chan []byte, 1000) + bc.lk.Lock() + bc.chs = append(bc.chs, ch) + bc.lk.Unlock() + return ch +} + +func (bc *Broadcaster) Unregister(ch chan []byte) { + bc.lk.Lock() + defer bc.lk.Unlock() + for i, c := range bc.chs { + if c == ch { + bc.chs = append(bc.chs[:i], bc.chs[i+1:]...) + close(ch) + return + } + } +} + +func (bc *Broadcaster) Broadcast(data map[string]interface{}) { + b, err := json.Marshal(data) + if err != nil { + return + } + bc.lk.Lock() + dead := make([]int, 0) + for i, ch := range bc.chs { + select { + case ch <- b: + default: + select { + case <-ch: + ch <- b + default: + dead = append(dead, i) + } + } + } + bc.lk.Unlock() + for j := len(dead) - 1; j >= 0; j-- { + bc.lk.Lock() + idx := dead[j] + if idx < len(bc.chs) { + close(bc.chs[idx]) + bc.chs = append(bc.chs[:idx], bc.chs[idx+1:]...) + } + bc.lk.Unlock() + } +} diff --git a/internal/db/db.go b/internal/db/db.go new file mode 100644 index 0000000..8ca609c --- /dev/null +++ b/internal/db/db.go @@ -0,0 +1,581 @@ +package db + +import ( + "database/sql" + "encoding/json" + "fmt" + "os" + "path/filepath" + "sync" + "time" + + _ "modernc.org/sqlite" +) + +var ( + dbPath string + mu sync.Mutex + sqlDB *sql.DB +) + +type Room struct { + LiveID string `json:"live_id"` + Keywords string `json:"keywords"` + CreatedAt float64 `json:"created_at"` +} + +type User struct { + ID int64 `json:"id"` + LiveID string `json:"live_id"` + UserID string `json:"user_id"` + UserName string `json:"user_name"` + FirstSeen float64 `json:"first_seen"` + LastSeen float64 `json:"last_seen"` + MsgCount int `json:"msg_count"` + GiftCount int `json:"gift_count"` + EnterCount int `json:"enter_count"` + LikeCount int `json:"like_count"` + FollowCount int `json:"follow_count"` + LastMsg string `json:"last_msg"` + LastAction string `json:"last_action"` + HitKw string `json:"hit_kw"` + SecUID string `json:"sec_uid"` + Avatar string `json:"avatar"` + Mark string `json:"mark"` + Lead int `json:"lead"` + LeadTs float64 `json:"lead_ts"` +} + +type ChatLog struct { + ID int64 `json:"id"` + LiveID string `json:"live_id"` + Msg string `json:"msg"` + Seen int `json:"seen"` +} + +type ErrorLog struct { + ID int64 `json:"id"` + TS float64 `json:"ts"` + Source string `json:"source"` + RoomID string `json:"room_id"` + Message string `json:"message"` + Stack string `json:"stack"` +} + +func init() { + if exePath, err := os.Executable(); err == nil { + candidate := filepath.Join(filepath.Dir(exePath), "data.db") + if dir := filepath.Dir(candidate); writable(dir) { + dbPath = candidate + return + } + } + appData := os.Getenv("APPDATA") + if appData == "" { + appData = filepath.Join(os.Getenv("USERPROFILE"), "AppData", "Roaming") + } + dbPath = filepath.Join(appData, "青梧映星", "douyinlive", "data.db") +} + +func writable(d string) bool { + if err := os.MkdirAll(d, 0755); err != nil { + return false + } + f, err := os.CreateTemp(d, ".wtest") + if err != nil { + return false + } + f.Close() + os.Remove(f.Name()) + return true +} + +func conn() (*sql.DB, error) { + if sqlDB != nil { + return sqlDB, nil + } + dir := filepath.Dir(dbPath) + if err := os.MkdirAll(dir, 0755); err != nil { + return nil, err + } + var err error + sqlDB, err = sql.Open("sqlite", dbPath) + if err != nil { + return nil, err + } + sqlDB.SetMaxOpenConns(4) + sqlDB.SetMaxIdleConns(2) + return sqlDB, nil +} + +func InitDB() error { + mu.Lock() + defer mu.Unlock() + c, err := conn() + if err != nil { + return err + } + return ensureMigrated(c) +} + +func ensureMigrated(c *sql.DB) error { + _, err := c.Exec(` +CREATE TABLE IF NOT EXISTS rooms(live_id TEXT PRIMARY KEY, keywords TEXT DEFAULT NULL, created_at REAL); +CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY AUTOINCREMENT, live_id TEXT, user_id TEXT, user_name TEXT, first_seen REAL, last_seen REAL, msg_count INTEGER DEFAULT 0, gift_count INTEGER DEFAULT 0, enter_count INTEGER DEFAULT 0, like_count INTEGER DEFAULT 0, follow_count INTEGER DEFAULT 0, last_msg TEXT, last_action TEXT, hit_kw TEXT, sec_uid TEXT DEFAULT '', avatar TEXT DEFAULT '', mark TEXT DEFAULT '', lead INTEGER DEFAULT 0, lead_ts REAL DEFAULT 0, UNIQUE(live_id, user_id)); +CREATE TABLE IF NOT EXISTS error_logs(id INTEGER PRIMARY KEY AUTOINCREMENT, ts REAL, source TEXT, room_id TEXT, message TEXT, stack TEXT); +CREATE INDEX IF NOT EXISTS idx_el ON error_logs(ts); +CREATE TABLE IF NOT EXISTS settings(k TEXT PRIMARY KEY, v TEXT); +CREATE TABLE IF NOT EXISTS chat_logs(id INTEGER PRIMARY KEY AUTOINCREMENT, live_id TEXT, ts REAL, msg TEXT, seen INTEGER DEFAULT 0); +CREATE INDEX IF NOT EXISTS idx_cl ON chat_logs(live_id, id); +CREATE INDEX IF NOT EXISTS idx_ul ON users(live_id); +CREATE INDEX IF NOT EXISTS idx_un ON users(user_name); +`) + if err != nil { + return err + } + return migrateUsers(c) +} + +func migrateUsers(c *sql.DB) error { + var cnt int + c.QueryRow("SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='users'").Scan(&cnt) + if cnt == 0 { + return nil + } + for col, ddl := range map[string]string{ + "sec_uid": "TEXT DEFAULT ''", + "avatar": "TEXT DEFAULT ''", + "mark": "TEXT DEFAULT ''", + "lead": "INTEGER DEFAULT 0", + "lead_ts": "REAL DEFAULT 0", + } { + var n int + c.QueryRow("SELECT COUNT(*) FROM pragma_table_info('users') WHERE name=?", col).Scan(&n) + if n == 0 { + c.Exec(fmt.Sprintf("ALTER TABLE users ADD COLUMN %s %s", col, ddl)) + } + } + var n int + c.QueryRow("SELECT COUNT(*) FROM pragma_table_info('chat_logs') WHERE name='seen'").Scan(&n) + if n == 0 { + c.Exec("ALTER TABLE chat_logs ADD COLUMN seen INTEGER DEFAULT 0") + } + return nil +} + +// SaveRoom records a room (idempotent on live_id). +func SaveRoom(liveID, keywords string) { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + c.Exec("INSERT OR IGNORE INTO rooms(live_id, keywords, created_at) VALUES(?,?,?)", + liveID, keywords, float64(time.Now().Unix())) +} + +// GetRooms returns all rooms from DB. +func GetRooms() []Room { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + rows, err := c.Query("SELECT live_id, keywords, created_at FROM rooms ORDER BY created_at ASC") + if err != nil { + return nil + } + defer rows.Close() + var out []Room + for rows.Next() { + var r Room + rows.Scan(&r.LiveID, &r.Keywords, &r.CreatedAt) + out = append(out, r) + } + return out +} + +// DelRoom removes a room and its associated users/chat_logs. +func DelRoom(liveID string) { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + c.Exec("DELETE FROM users WHERE live_id=?", liveID) + c.Exec("DELETE FROM rooms WHERE live_id=?", liveID) + c.Exec("DELETE FROM chat_logs WHERE live_id=?", liveID) +} + +// GetUsers returns users for a room. +func GetUsers(liveID string) []User { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + rows, err := c.Query( + `SELECT id,live_id,user_id,user_name,first_seen,last_seen, + msg_count,gift_count,enter_count,like_count,follow_count, + last_msg,last_action,hit_kw,sec_uid,avatar,mark,lead,lead_ts + FROM users WHERE live_id=? ORDER BY (msg_count*10+gift_count*20+enter_count+like_count+follow_count) DESC`, + liveID) + if err != nil { + return nil + } + defer rows.Close() + var out []User + for rows.Next() { + var u User + rows.Scan(&u.ID, &u.LiveID, &u.UserID, &u.UserName, &u.FirstSeen, &u.LastSeen, + &u.MsgCount, &u.GiftCount, &u.EnterCount, &u.LikeCount, &u.FollowCount, + &u.LastMsg, &u.LastAction, &u.HitKw, &u.SecUID, &u.Avatar, &u.Mark, &u.Lead, &u.LeadTs) + out = append(out, u) + } + return out +} + +// UpsertUser creates or updates a user row. +func UpsertUser(liveID, uid, uname, action string, extra map[string]string) { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + now := float64(time.Now().Unix()) + var id int64 + var mc, gc, ec, lc, fc int + err := c.QueryRow("SELECT id,msg_count,gift_count,enter_count,like_count,follow_count FROM users WHERE live_id=? AND user_id=?", liveID, uid).Scan(&id, &mc, &gc, &ec, &lc, &fc) + if err == nil { + switch action { + case "chat": + mc++ + case "gift": + gc++ + case "enter": + ec++ + case "like": + lc++ + case "follow": + fc++ + } + q := "'`" + sets := []string{fmt.Sprintf("last_seen=%g", now), fmt.Sprintf("last_action=%s%s%s", q, action, q)} + if action == "chat" { + cm := escapeSQL(extra["content"]) + kw := escapeSQL(extra["keyword"]) + sets = append(sets, fmt.Sprintf("msg_count=%d", mc)) + sets = append(sets, fmt.Sprintf("last_msg=%s%s%s", q, cm, q)) + sets = append(sets, fmt.Sprintf("hit_kw=%s%s%s", q, kw, q)) + } else if action == "gift" { + sets = append(sets, fmt.Sprintf("gift_count=%d", gc)) + } else if action == "enter" { + sets = append(sets, fmt.Sprintf("enter_count=%d", ec)) + } else if action == "like" { + sets = append(sets, fmt.Sprintf("like_count=%d", lc)) + } else if action == "follow" { + sets = append(sets, fmt.Sprintf("follow_count=%d", fc)) + } + for _, col := range []string{"sec_uid", "avatar"} { + if v := extra[col]; v != "" { + sets = append(sets, fmt.Sprintf("%s=%s%s%s", col, q, escapeSQL(v), q)) + } + } + c.Exec(fmt.Sprintf("UPDATE users SET %s WHERE id=%d", joinStrings(sets, ","), id)) + } else { + cols := []string{"live_id", "user_id", "user_name", "first_seen", "last_seen", "last_action"} + vs := []interface{}{liveID, uid, uname, now, now, action} + for _, col := range []string{"sec_uid", "avatar"} { + if v := extra[col]; v != "" { + cols = append(cols, col) + vs = append(vs, v) + } + } + ps := make([]string, len(cols)) + for i := range ps { + ps[i] = "?" + } + c.Exec(fmt.Sprintf("INSERT INTO users(%s) VALUES(%s)", joinStrings(cols, ","), joinStrings(ps, ",")), vs...) + } +} + +func escapeSQL(s string) string { + return `''` + s + `''` +} + +func joinStrings(ss []string, sep string) string { + if len(ss) == 0 { + return "" + } + out := ss[0] + for i := 1; i < len(ss); i++ { + out += sep + ss[i] + } + return out +} + +// SetMark assigns a color/mark to a user. +func SetMark(liveID, userID, mark string) { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + c.Exec("UPDATE users SET mark=? WHERE live_id=? AND user_id=?", mark, liveID, userID) + if mark != "" { + var id int64 + c.QueryRow("SELECT id FROM users WHERE live_id=? AND user_id=?", liveID, userID).Scan(&id) + if id == 0 { + now := float64(time.Now().Unix()) + c.Exec("INSERT OR IGNORE INTO users(live_id,user_id,user_name,first_seen,last_seen,mark) VALUES(?,?,?,?,?,?)", + liveID, userID, "", now, now, mark) + } + } +} + +// ClearMarks resets all marks for a room. +func ClearMarks(liveID string) { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + c.Exec("UPDATE users SET mark='' WHERE live_id=? AND mark!=''", liveID) +} + +// GetMarks returns {user_id: mark} for a room. +func GetMarks(liveID string) map[string]string { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + rows, err := c.Query("SELECT user_id, mark FROM users WHERE live_id=? AND mark IS NOT NULL AND mark!=''", liveID) + if err != nil { + return nil + } + defer rows.Close() + out := make(map[string]string) + for rows.Next() { + var uid, m string + rows.Scan(&uid, &m) + out[uid] = m + } + return out +} + +// SetLead marks/unmarks a lead customer. +func SetLead(liveID, userID string, lead bool) { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + now := float64(time.Now().Unix()) + var ll int + var lts float64 + if lead { + ll = 1 + lts = now + } + c.Exec("UPDATE users SET lead=?, lead_ts=? WHERE live_id=? AND user_id=?", ll, lts, liveID, userID) + if lead { + var id int64 + c.QueryRow("SELECT id FROM users WHERE live_id=? AND user_id=?", liveID, userID).Scan(&id) + if id == 0 { + c.Exec("INSERT OR IGNORE INTO users(live_id,user_id,user_name,first_seen,last_seen,lead,lead_ts) VALUES(?,?,?,?,?,?,?)", + liveID, userID, "", now, now, 1, now) + } + } +} + +// GetLeads returns lead customers, optionally scoped to one room. +func GetLeads(liveID string) []User { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + var rows *sql.Rows + var err error + if liveID != "" { + rows, err = c.Query("SELECT id,live_id,user_id,user_name,first_seen,last_seen,msg_count,gift_count,enter_count,like_count,follow_count,last_msg,last_action,hit_kw,sec_uid,avatar,mark,lead,lead_ts FROM users WHERE live_id=? AND lead=1 ORDER BY lead_ts DESC", liveID) + } else { + rows, err = c.Query("SELECT id,live_id,user_id,user_name,first_seen,last_seen,msg_count,gift_count,enter_count,like_count,follow_count,last_msg,last_action,hit_kw,sec_uid,avatar,mark,lead,lead_ts FROM users WHERE lead=1 ORDER BY lead_ts DESC") + } + if err != nil { + return nil + } + defer rows.Close() + var out []User + for rows.Next() { + var u User + rows.Scan(&u.ID, &u.LiveID, &u.UserID, &u.UserName, &u.FirstSeen, &u.LastSeen, + &u.MsgCount, &u.GiftCount, &u.EnterCount, &u.LikeCount, &u.FollowCount, + &u.LastMsg, &u.LastAction, &u.HitKw, &u.SecUID, &u.Avatar, &u.Mark, &u.Lead, &u.LeadTs) + out = append(out, u) + } + return out +} + +var storeTypes = map[string]bool{ + "chat": true, "gift": true, "enter": true, "like": true, + "follow": true, "fansclub": true, "emoji_chat": true, +} + +// StoreMsg persists a user-interaction message. +func StoreMsg(liveID, msgType string, data map[string]interface{}) { + if !storeTypes[msgType] { + return + } + mu.Lock() + defer mu.Unlock() + c, _ := conn() + ts := 0.0 + if v, ok := data["timestamp"]; ok { + switch x := v.(type) { + case float64: + ts = x + case int: + ts = float64(x) + case int64: + ts = float64(x) + default: + ts = float64(time.Now().Unix()) + } + } + if ts == 0 { + ts = float64(time.Now().Unix()) + } + payload := map[string]interface{}{"type": msgType, "room_id": liveID, "timestamp": ts} + for k, v := range data { + if k != "type" && k != "room_id" && k != "timestamp" { + payload[k] = v + } + } + b, _ := json.Marshal(payload) + c.Exec("INSERT INTO chat_logs(live_id, ts, msg) VALUES(?,?,?)", liveID, ts, string(b)) +} + +// GetMessages returns messages for a room with pagination. +func GetMessages(liveID string, afterID int64, limit int) ([]ChatLog, int64) { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + rows, err := c.Query("SELECT id, msg, seen FROM chat_logs WHERE live_id=? AND id>? ORDER BY id ASC LIMIT ?", liveID, afterID, limit) + if err != nil { + return nil, afterID + } + defer rows.Close() + var out []ChatLog + var lastID = afterID + for rows.Next() { + var cl ChatLog + rows.Scan(&cl.ID, &cl.Msg, &cl.Seen) + out = append(out, cl) + lastID = cl.ID + } + return out, lastID +} + +// SetMsgSeen marks a single message as seen. +func SetMsgSeen(liveID string, msgID int64, seen bool) int { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + v := 0 + if seen { + v = 1 + } + res, err := c.Exec("UPDATE chat_logs SET seen=? WHERE id=? AND live_id=?", v, msgID, liveID) + if err != nil { + return 0 + } + n, _ := res.RowsAffected() + return int(n) +} + +// SetMsgSeenMany bulk marks messages as seen. +func SetMsgSeenMany(liveID string, ids []int64, seen bool) int { + if len(ids) == 0 { + return 0 + } + mu.Lock() + defer mu.Unlock() + c, _ := conn() + if len(ids) > 2000 { + ids = ids[:2000] + } + ph := make([]string, len(ids)) + vs := make([]interface{}, len(ids)+2) + vs[0] = btoi(seen) + vs[1] = liveID + for i, id := range ids { + ph[i] = "?" + vs[i+2] = id + } + res, err := c.Exec(fmt.Sprintf("UPDATE chat_logs SET seen=? WHERE live_id=? AND id IN (%s)", joinStrings(ph, ",")), vs...) + if err != nil { + return 0 + } + n, _ := res.RowsAffected() + return int(n) +} + +// ClearMsgSeen resets all seen flags for a room. +func ClearMsgSeen(liveID string) int { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + res, err := c.Exec("UPDATE chat_logs SET seen=0 WHERE live_id=? AND seen=1", liveID) + if err != nil { + return 0 + } + n, _ := res.RowsAffected() + return int(n) +} + +// GetSetting reads a setting value. +func GetSetting(key string) string { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + var v string + c.QueryRow("SELECT v FROM settings WHERE k=?", key).Scan(&v) + return v +} + +// SetSetting writes a setting value. +func SetSetting(key, val string) { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + c.Exec("INSERT OR REPLACE INTO settings(k,v) VALUES(?,?)", key, val) +} + +// LogError stores an error log entry. +func LogError(source, roomID, message, stack string) { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + c.Exec("INSERT INTO error_logs(ts, source, room_id, message, stack) VALUES(?,?,?,?,?)", + float64(time.Now().Unix()), + truncStr(source, 20), + truncStr(roomID, 40), + truncStr(message, 2000), + truncStr(stack, 8000), + ) +} + +// GetErrors returns recent error logs. +func GetErrors(limit int) []ErrorLog { + mu.Lock() + defer mu.Unlock() + c, _ := conn() + rows, err := c.Query("SELECT id, ts, source, room_id, message, stack FROM error_logs ORDER BY id DESC LIMIT ?", limit) + if err != nil { + return nil + } + defer rows.Close() + var out []ErrorLog + for rows.Next() { + var el ErrorLog + rows.Scan(&el.ID, &el.TS, &el.Source, &el.RoomID, &el.Message, &el.Stack) + out = append(out, el) + } + return out +} + +func truncStr(s string, n int) string { + if len(s) <= n { + return s + } + return s[:n] +} + +func btoi(b bool) int { + if b { + return 1 + } + return 0 +} diff --git a/internal/fetcher/fetcher.go b/internal/fetcher/fetcher.go new file mode 100644 index 0000000..c7973d7 --- /dev/null +++ b/internal/fetcher/fetcher.go @@ -0,0 +1,714 @@ +package fetcher + +import ( + "compress/gzip" + "context" + "encoding/binary" + "encoding/json" + "fmt" + "io" + "log" + "math/rand" + "net/http" + "net/url" + "regexp" + "strings" + "sync" + "sync/atomic" + "time" + + "bytes" + + "nhooyr.io/websocket" + + "github.com/qingwuyingxing/douyin-live-fetcher/internal/broadcaster" + "github.com/qingwuyingxing/douyin-live-fetcher/internal/db" + "github.com/qingwuyingxing/douyin-live-fetcher/internal/sign" +) + +type Fetcher struct { + LiveID string + bc *broadcaster.Broadcaster + ok atomic.Bool + ws atomic.Value + lastPkt int64 + silent bool + kws string + kr *regexp.Regexp + users map[string]map[string]interface{} + lk sync.RWMutex + done chan struct{} +} + +var didC int64 + +func NewFetcher(liveID string, bc *broadcaster.Broadcaster, keywords string) *Fetcher { + var kr *regexp.Regexp + if keywords != "" { + parts := strings.FieldsFunc(keywords, func(c rune) bool { return c == ',' || c == ' ' || c == '\n' }) + if len(parts) > 0 { + escaped := make([]string, len(parts)) + for i, p := range parts { + escaped[i] = regexp.QuoteMeta(p) + } + kr = regexp.MustCompile("(?i)" + strings.Join(escaped, "|")) + } + } + f := &Fetcher{ + LiveID: liveID, + bc: bc, + lastPkt: time.Now().Unix(), + kws: keywords, + kr: kr, + users: make(map[string]map[string]interface{}), + done: make(chan struct{}), + } + for _, u := range db.GetUsers(liveID) { + f.users[u.UserID] = map[string]interface{}{ + "user_id": u.UserID, + "user_name": u.UserName, + "msg_count": u.MsgCount, + "gift_count": u.GiftCount, + "enter_count": u.EnterCount, + "like_count": u.LikeCount, + "follow_count": u.FollowCount, + "last_msg": u.LastMsg, + "last_action": u.LastAction, + "hit_kw": u.HitKw, + "sec_uid": u.SecUID, + "avatar": u.Avatar, + "mark": u.Mark, + "lead": u.Lead, + } + } + return f +} + +func (f *Fetcher) Start() { + go f._connectWebSocket() + go f._watchdog() +} + +func (f *Fetcher) Stop() { + select { + case <-f.done: + return + default: + close(f.done) + } + if ws, ok := f.ws.Load().(*websocket.Conn); ok && ws != nil { + cancel := func() {} + _ = cancel + ws.CloseNow() + } + f.ok.Store(false) +} + +func (f *Fetcher) Ok() bool { return f.ok.Load() } +func (f *Fetcher) LastPkt() float64 { return float64(atomic.LoadInt64(&f.lastPkt)) } +func (f *Fetcher) IsSilent() bool { return f.silent } +func (f *Fetcher) Keywords() string { return f.kws } +func (f *Fetcher) SetKeywords(kws string) { + f.kws = kws + var kr *regexp.Regexp + if kws != "" { + parts := strings.FieldsFunc(kws, func(c rune) bool { return c == ',' || c == ' ' || c == '\n' }) + if len(parts) > 0 { + escaped := make([]string, len(parts)) + for i, p := range parts { + escaped[i] = regexp.QuoteMeta(p) + } + kr = regexp.MustCompile("(?i)" + strings.Join(escaped, "|")) + } + } + f.kr = kr +} +func (f *Fetcher) SetMark(uid, mark string) { db.SetMark(f.LiveID, uid, mark) } +func (f *Fetcher) ClearMarks() { db.ClearMarks(f.LiveID) } +func (f *Fetcher) SetLead(uid string, lead bool) { db.SetLead(f.LiveID, uid, lead) } +func (f *Fetcher) ThreadAlive() bool { + select { + case <-f.done: + return false + default: + return true + } +} + +func (f *Fetcher) Users() []map[string]interface{} { + f.lk.RLock() + defer f.lk.RUnlock() + out := make([]map[string]interface{}, 0, len(f.users)) + for _, u := range f.users { + out = append(out, u) + } + return out +} + +func (f *Fetcher) _connectWebSocket() { + for { + select { + case <-f.done: + return + default: + } + ttwid := f.getTTWID() + roomID := f.getRoomID(ttwid) + if roomID == "" { + roomID = f.LiveID + } + nonce := f.getACNonce() + sig := sign.GetACSignature("www.douyin.com", nonce, uaStr, 0) + wssURL := f.buildWSSURL(roomID, sig, nonce, ttwid) + sig2, err := sign.GenerateSignature(wssURL) + if err != nil { + log.Printf("[fetcher:%s] sign error: %v", f.LiveID, err) + } + wssURL += "&signature=" + sig2 + f._wsLoop(wssURL) + select { + case <-f.done: + return + case <-time.After(5 * time.Second): + } + } +} + +const uaStr = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" + +func (f *Fetcher) getTTWID() string { + req, _ := http.NewRequest("GET", "https://live.douyin.com/"+f.LiveID, nil) + req.Header.Set("User-Agent", uaStr) + client := &http.Client{Timeout: 5 * time.Second, CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }} + resp, err := client.Do(req) + if err != nil { + return "" + } + defer resp.Body.Close() + for _, c := range resp.Cookies() { + if c.Name == "ttwid" { + return c.Value + } + } + return "" +} + +func (f *Fetcher) getRoomID(ttwid string) string { + req, _ := http.NewRequest("GET", "https://live.douyin.com/"+f.LiveID, nil) + req.Header.Set("User-Agent", uaStr) + req.Header.Set("Cookie", "ttwid="+ttwid+"; __ac_nonce=0123407cc00a9e438deb4") + client := &http.Client{Timeout: 5 * time.Second} + resp, err := client.Do(req) + if err != nil { + return "" + } + defer resp.Body.Close() + body, _ := io.ReadAll(resp.Body) + m := regexp.MustCompile(`roomId[":\s]+(\d+)`).FindSubmatch(body) + if len(m) > 1 { + return string(m[1]) + } + m = regexp.MustCompile(`"room_id_str":"(\d+)"`).FindSubmatch(body) + if len(m) > 1 { + return string(m[1]) + } + return "" +} + +func (f *Fetcher) getACNonce() string { + client := &http.Client{Timeout: 5 * time.Second} + resp, err := client.Get("https://www.douyin.com/") + if err != nil { + return "" + } + defer resp.Body.Close() + for _, c := range resp.Cookies() { + if c.Name == "__ac_nonce" { + return c.Value + } + } + return "" +} + +func (f *Fetcher) buildWSSURL(roomID, sig, nonce, ttwid string) string { + did := fmt.Sprintf("7%d", atomic.AddInt64(&didC, 1)) + nowMs := time.Now().UnixMilli() + internalExt := fmt.Sprintf("internal_src:dim|wss_push_room_id:%s|wss_push_did:%s|first_req_ms:%d|fetch_time:%d|seq:1|wss_info:0-%d-0-0|wrds_v:%d", + roomID, did, nowMs, nowMs, nowMs, rand.Int63n(9999999999999)) + params := url.Values{} + params.Set("app_name", "douyin_web") + params.Set("version_code", "180800") + params.Set("webcast_sdk_version", "1.0.14-beta.0") + params.Set("compress", "gzip") + params.Set("device_platform", "web") + params.Set("cookie_enabled", "true") + params.Set("screen_width", "1536") + params.Set("screen_height", "864") + params.Set("browser_language", "zh-CN") + params.Set("browser_platform", "Win32") + params.Set("browser_name", "Mozilla") + params.Set("browser_version", "5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/126.0.0.0%20Safari/537.36") + params.Set("browser_online", "true") + params.Set("tz_name", "Asia/Shanghai") + params.Set("cursor", "d-1_u-1_fh-1_t-1_r-1") + params.Set("internal_ext", internalExt) + params.Set("host", "https://live.douyin.com") + params.Set("aid", "6383") + params.Set("live_id", "1") + params.Set("did_rule", "3") + params.Set("endpoint", "live_pc") + params.Set("support_wrds", "1") + params.Set("user_unique_id", did) + params.Set("im_path", "/webcast/im/fetch/") + params.Set("identity", "audience") + params.Set("need_persist_msg_count", "15") + params.Set("room_id", roomID) + params.Set("heartbeatDuration", "0") + base := "wss://webcast100-ws-web-lq.douyin.com/webcast/im/push/v2/" + return base + "?" + params.Encode() +} + +func (f *Fetcher) _wsLoop(wssURL string) { + headers := make(http.Header) + headers.Set("User-Agent", uaStr) + headers.Set("Referer", "https://live.douyin.com/"+f.LiveID) + ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) + ws, _, err := websocket.Dial(ctx, wssURL, &websocket.DialOptions{HTTPHeader: headers}) + cancel() + if err != nil { + log.Printf("[fetcher:%s] ws dial error: %v", f.LiveID, err) + return + } + f.ws.Store(ws) + f.ok.Store(true) + atomic.StoreInt64(&f.lastPkt, time.Now().Unix()) + f.bc.Broadcast(map[string]interface{}{"type": "status", "room_id": f.LiveID, "content": "connected"}) + go f._heartbeat(ws) + go f._readLoop(ws) +} + +func (f *Fetcher) _heartbeat(ws *websocket.Conn) { + tick := time.NewTicker(5 * time.Second) + defer tick.Stop() + for { + select { + case <-f.done: + return + case <-tick.C: + pushFrame := buildPushFrame(1, []byte{}) + if err := ws.Write(context.Background(), websocket.MessageBinary, pushFrame); err != nil { + return + } + f._watchdogCheck() + } + } +} + +func buildPushFrame(msgType byte, payload []byte) []byte { + length := uint32(16 + len(payload)) + buf := make([]byte, length) + binary.BigEndian.PutUint32(buf[0:4], 2) + buf[4] = msgType + binary.BigEndian.PutUint32(buf[8:12], length) + binary.BigEndian.PutUint64(buf[12:16], uint64(time.Now().UnixNano())) + copy(buf[16:], payload) + return buf +} + +func (f *Fetcher) _readLoop(ws *websocket.Conn) { + defer func() { + f.ok.Store(false) + f.bc.Broadcast(map[string]interface{}{"type": "status", "room_id": f.LiveID, "content": "disconnected"}) + ws.Close(websocket.StatusNormalClosure, "") + }() + buf := make([]byte, 4*1024*1024) + for { + select { + case <-f.done: + return + default: + } + msgType, reader, err := ws.Reader(contextWithTimeout(30 * time.Second)) + if err != nil { + return + } + if msgType != websocket.MessageBinary { + continue + } + n, err := io.ReadFull(reader, buf) + if err != nil { + return + } + data := buf[:n] + if len(data) < 16 { + continue + } + atomic.StoreInt64(&f.lastPkt, time.Now().Unix()) + f._watchdogCheck() + if err := f._dispatch(data); err != nil { + log.Printf("[fetcher:%s] dispatch error: %v", f.LiveID, err) + } + } +} + +func (f *Fetcher) _dispatch(data []byte) error { + if len(data) < 16 { + return nil + } + version := binary.BigEndian.Uint32(data[0:4]) + msgTypeByte := data[4] + compressed := (msgTypeByte & 0x80) != 0 + needsAck := (msgTypeByte & 0x40) != 0 + msgType := msgTypeByte & 0x3F + length := binary.BigEndian.Uint32(data[8:12]) + logID := binary.BigEndian.Uint64(data[12:16]) + + var payload []byte + offset := 16 + if compressed { + switch msgType { + case 0: + decomp, err := decompressGzip(data[offset:]) + if err != nil { + return err + } + payload = decomp + case 1: + payload = data[offset:] + default: + return nil + } + } else { + payload = data[offset:] + } + + if needsAck && length > 0 { + ack := make([]byte, 16+len(payload)) + binary.BigEndian.PutUint32(ack[0:4], version) + ack[4] = msgTypeByte | 0x40 + binary.BigEndian.PutUint32(ack[8:12], uint32(len(payload))) + binary.BigEndian.PutUint64(ack[12:16], logID) + copy(ack[16:], payload) + if ws, ok := f.ws.Load().(*websocket.Conn); ok && ws != nil { + ws.Write(context.Background(), websocket.MessageBinary, ack) + } + } + + var msgs []dyMessage + if err := json.Unmarshal(payload, &msgs); err != nil { + return nil + } + for _, msg := range msgs { + switch msg.Method { + case "WebcastChatMessage": + f._parseChatMsg(msg.Payload) + case "WebcastGiftMessage": + f._parseGiftMsg(msg.Payload) + case "WebcastMemberMessage": + f._parseMemberMsg(msg.Payload) + case "WebcastLikeMessage": + f._parseLikeMsg(msg.Payload) + case "WebcastSocialMessage": + f._parseSocialMsg(msg.Payload) + case "WebcastFansclubMessage": + f._parseFansclubMsg(msg.Payload) + case "WebcastControlMessage": + f._parseControlMsg(msg.Payload) + case "WebcastEmojiChatMessage": + f._parseEmojiChatMsg(msg.Payload) + case "WebcastRoomUserSeqMessage": + f._parseRoomUserSeqMsg(msg.Payload) + } + } + return nil +} + +type dyMessage struct { + Method string `json:"method"` + Payload json.RawMessage `json:"payload"` +} + +func decompressGzip(data []byte) ([]byte, error) { + r, err := gzip.NewReader(bytes.NewReader(data)) + if err != nil { + return nil, err + } + defer r.Close() + return io.ReadAll(r) +} + +func (f *Fetcher) _parseChatMsg(payload []byte) { + var m struct { + User struct { + NickName string `json:"nickName"` + ID uint64 `json:"id"` + SecUID string `json:"secUid"` + AvatarThumb struct { + URLList []string `json:"urlList"` + } `json:"avatarThumb"` + } `json:"user"` + Content string `json:"content"` + } + json.Unmarshal(payload, &m) + uid := fmt.Sprintf("%d", m.User.ID) + sec := m.User.SecUID + av := "" + if len(m.User.AvatarThumb.URLList) > 0 { + av = m.User.AvatarThumb.URLList[0] + } + kw := "" + if f.kr != nil && f.kr.MatchString(m.Content) { + kw = f.kr.FindString(m.Content) + } + f.bc.Broadcast(map[string]interface{}{"type": "chat", "room_id": f.LiveID, "user_name": m.User.NickName, "user_id": uid, "sec_uid": sec, "avatar": av, "content": m.Content, "keyword": kw}) + db.StoreMsg(f.LiveID, "chat", map[string]interface{}{"type": "chat", "timestamp": float64(time.Now().Unix()), "user_name": m.User.NickName, "user_id": uid, "content": m.Content, "keyword": kw}) + f._upsertUser(uid, m.User.NickName, "chat", map[string]string{"content": m.Content, "keyword": kw, "sec_uid": sec, "avatar": av}) +} + +func (f *Fetcher) _parseGiftMsg(payload []byte) { + var m struct { + User struct { + NickName string `json:"nickName"` + ID uint64 `json:"id"` + SecUID string `json:"secUid"` + AvatarThumb struct { + URLList []string `json:"urlList"` + } `json:"avatarThumb"` + } `json:"user"` + Gift struct{ Name string `json:"name"` } `json:"gift"` + ComboCount int `json:"comboCount"` + } + json.Unmarshal(payload, &m) + uid := fmt.Sprintf("%d", m.User.ID) + sec, av := m.User.SecUID, "" + if len(m.User.AvatarThumb.URLList) > 0 { + av = m.User.AvatarThumb.URLList[0] + } + f.bc.Broadcast(map[string]interface{}{"type": "gift", "room_id": f.LiveID, "user_name": m.User.NickName, "user_id": uid, "sec_uid": sec, "avatar": av, "gift_name": m.Gift.Name, "count": m.ComboCount}) + db.StoreMsg(f.LiveID, "gift", map[string]interface{}{"type": "gift", "timestamp": float64(time.Now().Unix()), "user_name": m.User.NickName, "user_id": uid, "gift_name": m.Gift.Name, "count": m.ComboCount}) + f._upsertUser(uid, m.User.NickName, "gift", map[string]string{"sec_uid": sec, "avatar": av}) +} + +func (f *Fetcher) _parseMemberMsg(payload []byte) { + var m struct { + User struct { + NickName string `json:"nickName"` + ID uint64 `json:"id"` + Gender int `json:"gender"` + SecUID string `json:"secUid"` + AvatarThumb struct { + URLList []string `json:"urlList"` + } `json:"avatarThumb"` + } `json:"user"` + } + json.Unmarshal(payload, &m) + uid := fmt.Sprintf("%d", m.User.ID) + sec, av := m.User.SecUID, "" + if len(m.User.AvatarThumb.URLList) > 0 { + av = m.User.AvatarThumb.URLList[0] + } + gender := "?" + if m.User.Gender == 0 { + gender = "女" + } else if m.User.Gender == 1 { + gender = "男" + } + f.bc.Broadcast(map[string]interface{}{"type": "enter", "room_id": f.LiveID, "user_name": m.User.NickName, "user_id": uid, "gender": gender, "sec_uid": sec, "avatar": av}) + db.StoreMsg(f.LiveID, "enter", map[string]interface{}{"type": "enter", "timestamp": float64(time.Now().Unix()), "user_name": m.User.NickName, "user_id": uid, "gender": gender}) + f._upsertUser(uid, m.User.NickName, "enter", map[string]string{"sec_uid": sec, "avatar": av}) +} + +func (f *Fetcher) _parseLikeMsg(payload []byte) { + var m struct { + User struct { + NickName string `json:"nickName"` + ID uint64 `json:"id"` + SecUID string `json:"secUid"` + AvatarThumb struct { + URLList []string `json:"urlList"` + } `json:"avatarThumb"` + } `json:"user"` + Count int `json:"count"` + } + json.Unmarshal(payload, &m) + uid := fmt.Sprintf("%d", m.User.ID) + sec, av := m.User.SecUID, "" + if len(m.User.AvatarThumb.URLList) > 0 { + av = m.User.AvatarThumb.URLList[0] + } + f.bc.Broadcast(map[string]interface{}{"type": "like", "room_id": f.LiveID, "user_name": m.User.NickName, "user_id": uid, "sec_uid": sec, "avatar": av, "count": m.Count}) + db.StoreMsg(f.LiveID, "like", map[string]interface{}{"type": "like", "timestamp": float64(time.Now().Unix()), "user_name": m.User.NickName, "user_id": uid, "count": m.Count}) + f._upsertUser(uid, m.User.NickName, "like", map[string]string{"sec_uid": sec, "avatar": av}) +} + +func (f *Fetcher) _parseSocialMsg(payload []byte) { + var m struct { + User struct { + NickName string `json:"nickName"` + ID uint64 `json:"id"` + SecUID string `json:"secUid"` + AvatarThumb struct { + URLList []string `json:"urlList"` + } `json:"avatarThumb"` + } `json:"user"` + } + json.Unmarshal(payload, &m) + uid := fmt.Sprintf("%d", m.User.ID) + sec, av := m.User.SecUID, "" + if len(m.User.AvatarThumb.URLList) > 0 { + av = m.User.AvatarThumb.URLList[0] + } + f.bc.Broadcast(map[string]interface{}{"type": "follow", "room_id": f.LiveID, "user_name": m.User.NickName, "user_id": uid, "sec_uid": sec, "avatar": av}) + db.StoreMsg(f.LiveID, "follow", map[string]interface{}{"type": "follow", "timestamp": float64(time.Now().Unix()), "user_name": m.User.NickName, "user_id": uid}) + f._upsertUser(uid, m.User.NickName, "follow", map[string]string{"sec_uid": sec, "avatar": av}) +} + +func (f *Fetcher) _parseFansclubMsg(payload []byte) { + var m struct { + User struct { + NickName string `json:"nickName"` + ID uint64 `json:"id"` + SecUID string `json:"secUid"` + AvatarThumb struct { + URLList []string `json:"urlList"` + } `json:"avatarThumb"` + } `json:"user"` + Content string `json:"content"` + Type int `json:"type"` + } + json.Unmarshal(payload, &m) + uid := fmt.Sprintf("%d", m.User.ID) + sec, av := m.User.SecUID, "" + if len(m.User.AvatarThumb.URLList) > 0 { + av = m.User.AvatarThumb.URLList[0] + } + f.bc.Broadcast(map[string]interface{}{"type": "fansclub", "room_id": f.LiveID, "content": m.Content, "user_name": m.User.NickName, "user_id": uid, "sec_uid": sec, "avatar": av, "fc_type": m.Type}) + f._upsertUser(uid, m.User.NickName, "follow", map[string]string{"sec_uid": sec, "avatar": av}) +} + +func (f *Fetcher) _parseControlMsg(payload []byte) { + var m struct { + Status int `json:"status"` + } + json.Unmarshal(payload, &m) + if m.Status == 3 { + f.bc.Broadcast(map[string]interface{}{"type": "status", "room_id": f.LiveID, "content": "stream_ended"}) + go f.Stop() + } +} + +func (f *Fetcher) _parseEmojiChatMsg(payload []byte) { + var m struct { + EmojiID int `json:"emojiId"` + DefaultContent string `json:"defaultContent"` + User struct{ NickName string `json:"nickName"` } `json:"user"` + } + json.Unmarshal(payload, &m) + f.bc.Broadcast(map[string]interface{}{"type": "emoji_chat", "room_id": f.LiveID, "emoji_id": m.EmojiID, "user_name": m.User.NickName, "default_content": m.DefaultContent}) +} + +func (f *Fetcher) _parseRoomUserSeqMsg(payload []byte) { + var m struct { + Total int `json:"total"` + TotalPvForAnchor int `json:"totalPvForAnchor"` + } + json.Unmarshal(payload, &m) + f.bc.Broadcast(map[string]interface{}{"type": "stats", "room_id": f.LiveID, "current_viewers": m.Total, "total_viewers": m.TotalPvForAnchor}) +} + +func (f *Fetcher) _upsertUser(uid, uname, action string, extra map[string]string) { + db.UpsertUser(f.LiveID, uid, uname, action, extra) + f.lk.Lock() + defer f.lk.Unlock() + if _, ok := f.users[uid]; !ok { + f.users[uid] = make(map[string]interface{}) + } + u := f.users[uid] + u["user_id"] = uid + u["user_name"] = uname + u["last_action"] = action + u["last_seen"] = float64(time.Now().Unix()) + if v, ok := extra["content"]; ok && v != "" { + u["msg_count"] = asInt(u["msg_count"]) + 1 + u["last_msg"] = v + } + if v, ok := extra["keyword"]; ok && v != "" { + u["hit_kw"] = v + } + if v, ok := extra["sec_uid"]; ok && v != "" { + u["sec_uid"] = v + } + if v, ok := extra["avatar"]; ok && v != "" { + u["avatar"] = v + } + switch action { + case "gift": + u["gift_count"] = asInt(u["gift_count"]) + 1 + case "enter": + u["enter_count"] = asInt(u["enter_count"]) + 1 + case "like": + u["like_count"] = asInt(u["like_count"]) + 1 + case "follow": + u["follow_count"] = asInt(u["follow_count"]) + 1 + } + f.users[uid] = u +} + +func asInt(v interface{}) int { + switch x := v.(type) { + case int: + return x + case int64: + return int(x) + case float64: + return int(x) + case nil: + return 0 + } + return 0 +} + +func (f *Fetcher) _watchdog() { + tick := time.NewTicker(1 * time.Second) + stTick := time.NewTicker(25 * time.Second) + defer tick.Stop() + defer stTick.Stop() + for { + select { + case <-f.done: + return + case <-tick.C: + f._watchdogCheck() + case <-stTick.C: + if f.ok.Load() && !f.silent { + f.bc.Broadcast(map[string]interface{}{"type": "status", "room_id": f.LiveID, "content": "connected"}) + } + } + } +} + +func (f *Fetcher) _watchdogCheck() { + now := time.Now().Unix() + dt := now - atomic.LoadInt64(&f.lastPkt) + if !f.ok.Load() { + return + } + if dt > 60 && !f.silent { + f.silent = true + f.bc.Broadcast(map[string]interface{}{"type": "status", "room_id": f.LiveID, "content": "stream_ended"}) + log.Printf("[fetcher:%s] no data for %.0fs, stream_ended", f.LiveID, float64(dt)) + } else if dt <= 40 && f.silent { + f.silent = false + f.bc.Broadcast(map[string]interface{}{"type": "status", "room_id": f.LiveID, "content": "connected"}) + log.Printf("[fetcher:%s] data resumed, connected", f.LiveID) + } +} + +func contextWithTimeout(d time.Duration) context.Context { + ctx, cancel := context.WithTimeout(context.Background(), d) + go func() { + <-ctx.Done() + cancel() + }() + return ctx +} diff --git a/internal/license/license.go b/internal/license/license.go new file mode 100644 index 0000000..88d1943 --- /dev/null +++ b/internal/license/license.go @@ -0,0 +1,343 @@ +package license + +import ( + "encoding/json" + "fmt" + "io" + "net" + "net/http" + "os" + "runtime" + "strings" + "time" + + "github.com/google/uuid" + + "github.com/qingwuyingxing/douyin-live-fetcher/internal/db" +) + +const ( + DefaultServer = "http://42.193.21.75:7777" + DefaultProductCode = "douyin-live-fetcher" +) + +const ( + keyServerURL = "license_server_url" + keyAccountToken = "license_account_token" + keyCustomerCode = "license_customer_code" + keyProductCode = "license_product_code" + keySessionToken = "license_session_token" + keyLastCheckAt = "license_last_check_at" + keyLastAllowed = "license_last_allowed" + keyLastStatus = "license_last_status" + keyCustomerName = "license_customer_name" + keyProductName = "license_product_name" + keyStartAt = "license_start_at" + keyEndAt = "license_end_at" + keyPaymentOpts = "license_payment_options" + keyDeviceID = "device_id" +) + +const checkInterval = 300 + +func LicenseConfig() map[string]string { + return map[string]string{ + "server_url": strings.TrimRight(funcWithDefault(keyServerURL, DefaultServer), "/"), + "account_token": strings.TrimSpace(funcWithDefault(keyAccountToken, "")), + "customer_code": strings.TrimSpace(funcWithDefault(keyCustomerCode, "")), + "product_code": strings.TrimSpace(funcWithDefault(keyProductCode, DefaultProductCode)), + "session_token": strings.TrimSpace(funcWithDefault(keySessionToken, "")), + "device_id": DeviceID(), + } +} + +func SaveLicenseConfig(server, customerCode, productCode, accountToken string) { + db.SetSetting(keyServerURL, strings.TrimRight(server, "/")) + db.SetSetting(keyCustomerCode, strings.TrimSpace(customerCode)) + db.SetSetting(keyProductCode, strings.TrimSpace(productCode)) + db.SetSetting(keyAccountToken, strings.TrimSpace(accountToken)) +} + +func ClearLicenseLogin() { + for _, k := range []string{ + keyAccountToken, keyCustomerCode, keySessionToken, + keyLastCheckAt, keyLastAllowed, keyLastStatus, + keyCustomerName, keyProductName, keyStartAt, keyEndAt, keyPaymentOpts, + } { + db.SetSetting(k, "") + } +} + +func LoginAccount(server, login, password string) (map[string]interface{}, error) { + base := strings.TrimRight(server, "/") + payload, _ := json.Marshal(map[string]string{"login": login, "password": password}) + resp, err := http.Post(base+"/api/yser/public/auth/login", "application/json", io.NopCloser(strings.NewReader(string(payload)))) + if err != nil { + return nil, fmt.Errorf("login request failed: %w", err) + } + defer resp.Body.Close() + body, _ := io.ReadAll(resp.Body) + var result map[string]interface{} + json.Unmarshal(body, &result) + if code, _ := result["code"].(float64); code != 0 { + return nil, fmt.Errorf("%v", result["message"]) + } + data, _ := result["data"].(map[string]interface{}) + token, _ := data["api_token"].(string) + if token == "" { + return nil, fmt.Errorf("login success but no token returned") + } + customer, _ := data["customer"].(map[string]interface{}) + customerCode, _ := customer["code"].(string) + if customerCode == "" { + if vc, ok := data["customer_code"].(string); ok { + customerCode = vc + } + } + if customerCode == "" { + return nil, fmt.Errorf("login success but no customer code returned") + } + cfg := LicenseConfig() + SaveLicenseConfig(base, customerCode, cfg["product_code"], token) + return data, nil +} + +func CheckCloudLicense(force bool) map[string]interface{} { + cfg := LicenseConfig() + if cfg["account_token"] == "" && cfg["customer_code"] == "" { + return map[string]interface{}{"configured": false, "allowed": true, "state": "unconfigured", "note": "登录订阅账号以解锁全部功能"} + } + + now := time.Now().Unix() + lastAt := int64(0) + if v := funcWithDefault(keyLastCheckAt, "0"); v != "" { + fmt.Sscanf(v, "%d", &lastAt) + } + + cached := buildCached(cfg, lastAt) + if !force && lastAt > 0 && now-lastAt < checkInterval { + return cached + } + + endpoint := "/api/yser/license/check" + payload := map[string]interface{}{ + "product_code": cfg["product_code"], + "device_id": cfg["device_id"], + } + if cfg["account_token"] != "" { + endpoint = "/api/yser/account/license/check" + payload["account_token"] = cfg["account_token"] + payload["device_name"] = getHostname() + payload["fingerprint"] = runtime.GOOS + "/" + runtime.GOARCH + payload["session_token"] = cfg["session_token"] + } else { + payload["customer_code"] = cfg["customer_code"] + payload["hostname"] = getHostname() + payload["platform"] = runtime.GOOS + "/" + runtime.GOARCH + } + + body, _ := json.Marshal(payload) + req, _ := http.NewRequest("POST", cfg["server_url"]+endpoint, strings.NewReader(string(body))) + req.Header.Set("Content-Type", "application/json") + req.Header.Set("User-Agent", "DouyinLiveFetcher/1.0.0") + + client := &http.Client{Timeout: 8 * time.Second} + resp, err := client.Do(req) + if err != nil { + endTS := parseTS(cached["end_at"].(string)) + if cached["allowed"].(bool) && (endTS == 0 || endTS > now) { + cached["note"] = "暂时无法连接授权服务器,使用上次有效授权" + cached["offline"] = true + return cached + } + cached["allowed"] = false + cached["state"] = "offline" + cached["note"] = "授权服务器连接失�? " + err.Error() + return cached + } + defer resp.Body.Close() + respBody, _ := io.ReadAll(resp.Body) + var r map[string]interface{} + json.Unmarshal(respBody, &r) + + info, _ := r["data"].(map[string]interface{}) + allowed := info["allowed"] == true || info["allowed"] == 1 + stateVal, _ := info["status"].(string) + if stateVal == "" { + if allowed { + stateVal = "active" + } else { + stateVal = "suspended" + } + } + + db.SetSetting(keyLastCheckAt, fmt.Sprintf("%d", now)) + db.SetSetting(keyLastAllowed, fmt.Sprintf("%d", btoi(allowed))) + db.SetSetting(keyLastStatus, stateVal) + if v, ok := info["customer_name"].(string); ok { + db.SetSetting(keyCustomerName, v) + } + if v, ok := info["product_name"].(string); ok { + db.SetSetting(keyProductName, v) + } + if v, ok := info["start_at"].(string); ok { + db.SetSetting(keyStartAt, v) + } + if v, ok := info["end_at"].(string); ok { + db.SetSetting(keyEndAt, v) + } + if opts, ok := info["payment_options"].([]interface{}); ok { + ob, _ := json.Marshal(opts) + db.SetSetting(keyPaymentOpts, string(ob)) + } + if v, ok := info["session_token"].(string); ok && v != "" { + db.SetSetting(keySessionToken, v) + } + + cached["allowed"] = allowed + cached["state"] = stateVal + cached["checked_at"] = now + if v, ok := info["customer_name"].(string); ok { + cached["customer_name"] = v + } + if v, ok := info["product_name"].(string); ok { + cached["product_name"] = v + } + if v, ok := info["start_at"].(string); ok { + cached["start_at"] = v + } + if v, ok := info["end_at"].(string); ok { + cached["end_at"] = v + } + if opts, ok := info["payment_options"].([]interface{}); ok { + cached["payment_options"] = opts + } + if allowed { + cached["note"] = "云授权有效" + } else { + if reason, ok := info["reason"].(string); ok { + cached["note"] = reason + } else { + cached["note"] = "云授权不可用: " + stateVal + } + } + return cached +} + +func AppLicenseState(force bool) map[string]interface{} { + cloud := CheckCloudLicense(force) + ts := trialState() + if configured, _ := cloud["configured"].(bool); configured { + if allowed, _ := cloud["allowed"].(bool); allowed { + cloud["state"] = "active" + cloud["days_left"] = nil + return cloud + } + cloud["days_left"] = 0 + return cloud + } + ts["configured"] = false + if ts["state"] == "unconfigured" || (ts["state"] == "expired" && ts["days_left"] == 0) { + ts["allowed"] = true + } else { + ts["allowed"] = ts["state"] != "expired" + } + ts["server_url"] = DefaultServer + ts["product_code"] = DefaultProductCode + ts["device_id"] = DeviceID() + return ts +} + +func LicenseAllowed(force bool) bool { + s := AppLicenseState(force) + allowed, _ := s["allowed"].(bool) + return allowed +} + +func DeviceID() string { + did := funcWithDefault(keyDeviceID, "") + if did != "" { + return did + } + mac := getFirstMac() + raw := fmt.Sprintf("%s|%s|%s", mac, getHostname(), runtime.GOOS+"/"+runtime.GOARCH) + did = uuid.NewSHA1(uuid.NameSpaceDNS, []byte(raw)).String() + db.SetSetting(keyDeviceID, did) + return did +} + +func buildCached(cfg map[string]string, lastAt int64) map[string]interface{} { + popts := []interface{}{} + if raw := funcWithDefault(keyPaymentOpts, "[]"); raw != "[]" { + json.Unmarshal([]byte(raw), &popts) + } + return map[string]interface{}{ + "configured": true, + "allowed": funcWithDefault(keyLastAllowed, "0") == "1", + "state": funcWithDefault(keyLastStatus, "unknown"), + "account_token": cfg["account_token"], + "customer_code": cfg["customer_code"], + "product_code": cfg["product_code"], + "customer_name": funcWithDefault(keyCustomerName, ""), + "product_name": funcWithDefault(keyProductName, ""), + "start_at": funcWithDefault(keyStartAt, ""), + "end_at": funcWithDefault(keyEndAt, ""), + "server_url": cfg["server_url"], + "device_id": cfg["device_id"], + "checked_at": lastAt, + "payment_options": popts, + } +} + +func trialState() map[string]interface{} { + if funcWithDefault("license", "") == "activated" { + return map[string]interface{}{"state": "activated", "days_left": nil, "configured": false, "allowed": true} + } + return map[string]interface{}{"state": "unconfigured", "days_left": nil} +} + +func getFirstMac() string { + ifaces, err := net.Interfaces() + if err != nil { + return "" + } + for _, iface := range ifaces { + if iface.HardwareAddr != nil && len(iface.HardwareAddr) >= 6 { + return strings.ReplaceAll(iface.HardwareAddr.String(), ":", "") + } + } + return "" +} + +func getHostname() string { + h, _ := os.Hostname() + return h +} + +func parseTS(s string) int64 { + if s == "" { + return 0 + } + t, err := time.Parse(time.RFC3339, s[:19]) + if err != nil { + return 0 + } + return t.Unix() +} + +func btoi(b bool) int { + if b { + return 1 + } + return 0 +} + +func strconvParseInt(s string) int64 { + var n int64 + fmt.Sscanf(s, "%d", &n) + return n +} + +func funcWithDefault(key, def string) string { + return db.GetSetting(key) +} diff --git a/internal/sign/a_bogus.js b/internal/sign/a_bogus.js new file mode 100644 index 0000000..f5b901f --- /dev/null +++ b/internal/sign/a_bogus.js @@ -0,0 +1,389 @@ +function get_ab(dpf, ua) { + function enc_sum(n_str) { + function ir(t) { + return ir = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { + return typeof t + } : function (t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + }, + ir(t) + } + function ur(t, r) { + for (var e = 0; e < r.length; e++) { + var n = r[e]; + n.enumerable = n.enumerable || !1, + n.configurable = !0, "value" in n && (n.writable = !0), + Object.defineProperty(t, sr(n.key), n) + } + } + function sr(t) { + var r = function (t, r) { + if ("object" != ir(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var n = e.call(t, r || "default"); + if ("object" != ir(n)) return n; + throw new TypeError("@@toPrimitive must return a primitive value.") + } + return ("string" === r ? String : Number)(t) + }(t, "string"); + return "symbol" == ir(r) ? r : r + "" + } + var gr = function () { + function t() { + if (function (t, r) { + if (!(t instanceof r)) throw new TypeError("Cannot call a class as a function") + }(this, t), !(this instanceof t)) return new t; + this.reg = new Array(8), + this.chunk = [], + this.size = 0, + this.reset() + } + return function (t, r, e) { + r && ur(t.prototype, r), + e && ur(t, e), + Object.defineProperty(t, "prototype", { + writable: !1 + }) + }(t, [{ + key: "reset", + value: function () { + this.reg[0] = 1937774191, + this.reg[1] = 1226093241, + this.reg[2] = 388252375, + this.reg[3] = 3666478592, + this.reg[4] = 2842636476, + this.reg[5] = 372324522, + this.reg[6] = 3817729613, + this.reg[7] = 2969243214, + this.chunk = [], + this.size = 0 + } + }, { + key: "write", + value: function (t) { + var r = "string" == typeof t ? function (t) { + var r = encodeURIComponent(t).replace(/%([0-9A-F]{2})/g, (function (t, r) { + return String.fromCharCode("0x" + r) + })), + e = new Array(r.length); + return Array.prototype.forEach.call(r, (function (t, r) { + e[r] = t.charCodeAt(0) + })), + e + }(t) : t; + this.size += r.length; + var e = 64 - this.chunk.length; + if (r.length < e) this.chunk = this.chunk.concat(r); + else + for (this.chunk = this.chunk.concat(r.slice(0, e)); this.chunk.length >= 64;) this._compress(this.chunk), + e < r.length ? this.chunk = r.slice(e, Math.min(e + 64, r.length)) : this.chunk = [], + e += 64 + } + }, { + key: "sum", + value: function (t, r) { + t && (this.reset(), this.write(t)), + this._fill(); + for (var e = 0; e < this.chunk.length; e += 64) this._compress(this.chunk.slice(e, e + 64)); + var n, o, i, u = null; + if ("hex" == r) { + u = ""; + for (e = 0; e < 8; e++) u += (n = this.reg[e].toString(16), o = 8, i = "0", n.length >= o ? n : i.repeat(o - n.length) + n) + } else + for (u = new Array(32), e = 0; e < 8; e++) { + var s = this.reg[e]; + u[4 * e + 3] = (255 & s) >>> 0, + s >>>= 8, + u[4 * e + 2] = (255 & s) >>> 0, + s >>>= 8, + u[4 * e + 1] = (255 & s) >>> 0, + s >>>= 8, + u[4 * e] = (255 & s) >>> 0 + } + return this.reset(), + u + } + }, { + key: "_compress", + value: function (t) { + if (t < 64) console.error("compress error: not enough data"); + else { + for (var r = function (t) { + for (var r = new Array(132), e = 0; e < 16; e++) r[e] = t[4 * e] << 24, + r[e] |= t[4 * e + 1] << 16, + r[e] |= t[4 * e + 2] << 8, + r[e] |= t[4 * e + 3], + r[e] >>>= 0; + for (var n = 16; n < 68; n++) { + var o = r[n - 16] ^ r[n - 9] ^ dr(r[n - 3], 15); + o = o ^ dr(o, 15) ^ dr(o, 23), + r[n] = (o ^ dr(r[n - 13], 7) ^ r[n - 6]) >>> 0 + } + for (n = 0; n < 64; n++) r[n + 68] = (r[n] ^ r[n + 4]) >>> 0; + return r + }(t), e = this.reg.slice(0), n = 0; n < 64; n++) { + var o = dr(e[0], 12) + e[4] + dr(yr(n), n), + i = ((o = dr(o = (4294967295 & o) >>> 0, 7)) ^ dr(e[0], 12)) >>> 0, + u = br(n, e[0], e[1], e[2]); + u = (4294967295 & (u = u + e[3] + i + r[n + 68])) >>> 0; + var s = mr(n, e[4], e[5], e[6]); + s = (4294967295 & (s = s + e[7] + o + r[n])) >>> 0, + e[3] = e[2], + e[2] = dr(e[1], 9), + e[1] = e[0], + e[0] = u, + e[7] = e[6], + e[6] = dr(e[5], 19), + e[5] = e[4], + e[4] = (s ^ dr(s, 9) ^ dr(s, 17)) >>> 0 + } + for (var c = 0; c < 8; c++) this.reg[c] = (this.reg[c] ^ e[c]) >>> 0 + } + } + }, { + key: "_fill", + value: function () { + var t = 8 * this.size, + r = this.chunk.push(128) % 64; + for (64 - r < 8 && (r -= 64); r < 56; r++) this.chunk.push(0); + for (var e = 0; e < 4; e++) { + var n = Math.floor(t / 4294967296); + this.chunk.push(n >>> 8 * (3 - e) & 255) + } + for (e = 0; e < 4; e++) this.chunk.push(t >>> 8 * (3 - e) & 255) + } + }]), + t + }(); + function dr(t, r) { + return (t << (r %= 32) | t >>> 32 - r) >>> 0 + } + function yr(t) { + return 0 <= t && t < 16 ? 2043430169 : 16 <= t && t < 64 ? 2055708042 : void console.error("invalid j for constant Tj") + } + function br(t, r, e, n) { + return 0 <= t && t < 16 ? (r ^ e ^ n) >>> 0 : 16 <= t && t < 64 ? (r & e | r & n | e & n) >>> 0 : (console.error("invalid j for bool function FF"), 0) + } + function mr(t, r, e, n) { + return 0 <= t && t < 16 ? (r ^ e ^ n) >>> 0 : 16 <= t && t < 64 ? (r & e | ~r & n) >>> 0 : (console.error("invalid j for bool function GG"), 0) + } + enc_ = new gr; + return enc_.sum(n_str); + } + function generate_lm_g_EP(ua_n = ua) { + // function get_sz256f_2() { + // var r = [], k = 0, y = [0, 1, 0]; + // for (var i = 255; i >= 0; i--) { + // r.push(i); + // } + // for (var i = 0; i < r.length; i++) { + // var a = r[i]; + // k = (k * a + k + y[i % 3]) % 256; + // var b = r[k]; + // r[i] = b, r[k] = a; + // } + // return r; + // } + var sz256f_2 = [233, 5, 1, 249, 162, 140, 57, 143, 19, 203, 254, 236, 99, 248, 93, 213, 79, 149, 216, 50, 145, 123, 240, 92, 23, 113, 130, 53, 235, 220, 201, 136, 223, 155, 190, 242, 243, 42, 52, 214, 151, 232, 97, 187, 163, 222, 30, 78, 47, 71, 49, 170, 247, 196, 25, 156, 183, 182, 217, 180, 147, 124, 208, 69, 215, 200, 161, 154, 91, 60, 133, 224, 119, 164, 221, 45, 98, 40, 186, 120, 51, 167, 38, 90, 194, 212, 129, 56, 87, 195, 144, 44, 75, 84, 81, 13, 197, 245, 36, 250, 115, 100, 105, 252, 206, 103, 112, 202, 114, 138, 192, 21, 116, 173, 181, 29, 82, 125, 141, 16, 211, 131, 225, 118, 31, 101, 77, 146, 135, 150, 62, 66, 67, 176, 0, 41, 46, 59, 107, 178, 43, 26, 189, 128, 8, 207, 166, 110, 3, 229, 85, 54, 63, 11, 32, 4, 234, 142, 72, 58, 33, 231, 12, 230, 102, 86, 70, 159, 226, 65, 237, 34, 244, 76, 132, 122, 111, 95, 179, 152, 175, 18, 177, 6, 126, 193, 219, 74, 134, 2, 61, 251, 191, 168, 209, 241, 137, 165, 88, 238, 160, 174, 153, 157, 199, 48, 22, 64, 246, 7, 139, 55, 27, 188, 148, 204, 127, 171, 89, 37, 172, 205, 121, 20, 28, 17, 169, 15, 227, 117, 80, 218, 198, 10, 106, 9, 39, 210, 104, 83, 109, 24, 108, 228, 184, 96, 185, 158, 14, 255, 239, 68, 94, 35, 73, 253]; + var k = 0, s = ''; + for (var i = 0; i < ua_n.length; i++) { + var i1 = (i + 1) % 256; + var a = sz256f_2[i1]; + k = (k + a) % 256; + var c = sz256f_2[k]; + sz256f_2[i1] = c; + sz256f_2[k] = a; + s += String.fromCharCode(ua_n.charCodeAt(i) ^ sz256f_2[(a + c) % 256]); + } + return s; + } + function get_str_chr_list(one_str) { + var r = []; // 当然也可以用map实现 + for (var i = 0; i < one_str.length; i++) { + r.push(one_str.charCodeAt(i)); + } + return r; + } + function generate_szenc_head8p1() { + var z = Math.random() * 65535; + var a = z & 255; + var b = (z >> 8) & 255, d = []; + d.push((a & 170) | 1); + d.push((a & 85) | 0); + d.push((b & 170) | 0); + d.push((b & 85) | 0); + return d; + } + function generate_szenc_head8p2() { + var a = ((Math.random() * 240) >> 0) + 1; + var b = ((Math.random() * 255) >> 0) & 77, c = [1, 4, 5, 7], d = []; + for (var i = 0; i < c.length; i++) { + b = b | (1 << c[i]); + } + d.push((a & 170) | 1); + d.push((a & 85) | 0); + d.push((b & 170) | 0); + d.push((b & 85) | 0); + return d; + } + function get_szenc_tail(sz96_n) { + key_sz_6 = [145, 110, 66, 189, 44, 211] + var a = []; + for (var i = 0; i < 94; i += 3) { + var b = sz96_n[i]; + var c = sz96_n[i + 1]; + var d = sz96_n[i + 2]; + var e = (Math.random() * 1000) & 255; + a.push((e & key_sz_6[0]) | (b & key_sz_6[1])); + a.push((e & key_sz_6[2]) | (c & key_sz_6[3])); + a.push((e & key_sz_6[4]) | (d & key_sz_6[5])); + a.push(((b & key_sz_6[0]) | (c & key_sz_6[2])) | (d & key_sz_6[4])); + } + return a; + } + function generate_lm_g_ab_head4() { + var s = ''; + var a = (Math.random() * 65535) & 255, b = (Math.random() * 40) >> 0; + s += String.fromCharCode((a & 170) | 1); + s += String.fromCharCode((a & 85) | 2); + s += String.fromCharCode((b & 170) | 80); + s += String.fromCharCode((b & 85) | 2); + return s; + } + function get_list_str(one_list) { + var s = ''; + for (var i = 0; i < one_list.length; i++) { + s += String.fromCharCode(one_list[i]); + } + return s; + } + function get_lm_g_ab(lm_g_lm_n) { + // function get_sz256() { + // var raw = []; + // var z = 0; + // for (var i = 255; i >= 0; i--) { + // raw.push(i); + // } + // for (var i = 0; i < raw.length; i++) { + // z += 211; + // var a = z % 256; + // var b = raw[i]; + // var c = raw[a]; + // raw[a] = b; + // raw[i] = c; + // z = (raw[i + 1] * a) + a; + // } + // return raw; + // } + var fixed_sz256_n = [194, 249, 255, 165, 114, 67, 251, 187, 174, 231, 164, 237, 124, 235, 68, 83, 206, 79, 142, 167, 30, 77, 0, 93, 118, 29, 32, 161, 2, 171, 243, 179, 42, 170, 223, 119, 98, 222, 219, 57, 245, 135, 197, 13, 186, 202, 88, 184, 214, 12, 76, 185, 116, 74, 54, 53, 104, 208, 158, 163, 82, 173, 253, 240, 172, 63, 191, 207, 25, 15, 201, 203, 215, 236, 183, 233, 145, 127, 72, 6, 16, 10, 228, 35, 232, 159, 66, 168, 108, 71, 217, 75, 33, 155, 112, 128, 36, 24, 138, 50, 211, 23, 107, 14, 247, 137, 175, 242, 234, 157, 199, 49, 139, 85, 81, 17, 180, 86, 120, 78, 51, 205, 169, 148, 181, 3, 94, 106, 252, 220, 150, 47, 151, 84, 212, 18, 149, 182, 100, 123, 121, 156, 154, 152, 126, 204, 60, 133, 132, 248, 7, 91, 58, 59, 20, 97, 113, 117, 131, 46, 250, 224, 21, 73, 146, 31, 193, 69, 140, 125, 9, 39, 89, 5, 65, 141, 218, 80, 1, 70, 64, 166, 87, 189, 55, 147, 22, 26, 143, 61, 144, 99, 92, 44, 129, 130, 227, 103, 90, 192, 198, 244, 136, 101, 246, 153, 56, 38, 4, 178, 221, 162, 134, 37, 111, 28, 216, 96, 102, 210, 254, 196, 195, 230, 241, 62, 11, 122, 52, 40, 41, 229, 226, 225, 48, 45, 160, 105, 8, 115, 34, 43, 209, 95, 239, 190, 188, 109, 27, 19, 176, 213, 200, 238, 177, 110]; + // var fixed_sz256_n = get_sz256(); + var z = 0; + var st = ""; + for (var i = 0; i < lm_g_lm_n.length; i++) { + var a = (i + 1) % 256; + var c = fixed_sz256_n[a]; + z = (z + c) % 256; + var e = fixed_sz256_n[z]; + fixed_sz256_n[a] = e; + fixed_sz256_n[z] = c; + var g = (e + c) % 256; + var h = lm_g_lm_n.charCodeAt(i); + var j = fixed_sz256_n[g]; + var k = h ^ j; + var l = String.fromCharCode(k); + st += l; + } + return st; + } + function get_raw_ab(lm_get_ab_n, key_str = info_dic.s4) { + var s = "", bw = 0; + for (var i = 0; i < lm_get_ab_n.length; i += 3) { + var cl = 16; + var tcz = 0; + var sof = 16515072; + for (var j = i; j < i + 3; j++) { + if (j < lm_get_ab_n.length) { + var tlcy = lm_get_ab_n.charCodeAt(j) & 255; + tcz = tcz | (tlcy << cl); + cl -= 8; + } else { + bw += 1; + } + } + for (var h = 18; h >= (6 * bw); h -= 6) { + var tsz = tcz & sof; + s += key_str[tsz >> h]; + sof = sof / 64; + } + s += '='.repeat(bw); + } + return s; + } + function get_random_number(min, max) { + return Math.floor(Math.random() * (max - min + 1)) + min; + } + var info_dic = { "s0": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + "s1": "Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=", + "s2": "Dkdpgh4ZKsQB80/Mfvw36XI1R25-WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=", + "s3": "ckdp1h4ZKsUB80/Mfvw36XIgR25+WQAlEi7NLboqYTOPuzmFjJnryx9HVGDaStCe", + "s4": "Dkdpgh2ZmsQB80/MfvV36XI1R45-WUAlEixNLwoqYTOPuzKFjJnry79HbGcaStCe" } + var t1 = Date.now(); + var s = []; + + var t2 = Date.now() - 1 + get_random_number(1, 3); + + var EP = get_raw_ab(generate_lm_g_EP(ua), key_str = info_dic.s3), eEP = enc_sum(EP); + + s.push("env_fx_list", "dpf_ua_dic", 1, 0, 8, "dpf", "", "ua", 6241, 6383, "1.0.1.19-fix.01", "ink", 3, "0X21_dic"); // 固定即可 + + var t3 = Date.now() + get_random_number(4, 15); + var eedp = enc_sum(enc_sum(dpf + 'dhzx')); + + s.push(t3, "reg_dic", 1, 0, eedp, "eedh", EP, eEP, t2, [3, 82], 41, [1, 0, 1, 0, 1]); + + var t4 = Date.now() + get_random_number(100, 1000); + + s1 = ((t4 - 1721836800000) / 1000 / 60 / 60 / 24 / 14) >> 0, szenc_o95_tail41 = [49, 52, 52, 49, 124, 56, 51, 56, 124, 49, 52, 52, 49, 124, 57, 49, 51, 124, 49, 52, 52, 49, 124, 57, 49, 51, 124, 49, 52, 52, 49, 124, 57, 54, 49, 124, 87, 105, 110, 51, 50]; + + s.push(s1, 6, (t3 - t1 + 3) & 255, t3 & 255, (t3 >> 8) & 255, (t3 >> 16) & 255, (t3 >> 24) & 255, (t3 / 256 / 256 / 256 / 256) & 255); + + var s2 = (t3 / 256 / 256 / 256 / 256 / 256) & 255; + + s.push(s2, (s2 % 256) & 255, (s2 / 256) & 255, [211, 2, 5, 1, 129], 129, 0, 211, 2, 5, 1, 0, 0, 0, 0, eedp[9], eedp[18], 3, eedp[3], 82, 177, 4, 44, eEP[11], eEP[21], 5, eEP[5], t2 & 255, (t2 >> 8) & 255, (t2 >> 16) & 255, (t2 >> 24) & 255, (t2 / 256 / 256 / 256 / 256) & 255, (t2 / 256 / 256 / 256 / 256 / 256) & 255, 3, 97, 24, 0, 0, 239, 24, 0, 0, "screec_dic", "screen_str", szenc_o95_tail41, 41, 41, 0); + + var s3 = ((t3 + 3) & 255) + ',', s4 = get_str_chr_list(s3); + + s.push(s3, s4, s4.length, s4.length & 255, (s4.length >> 8) & 255); + + szenc_head8_p1 = generate_szenc_head8p1(), szenc_head8_p2 = generate_szenc_head8p2(), szenc_head8 = szenc_head8_p1.concat(szenc_head8_p2), s5 = [], s6 = [24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 79, 80, 84, 85]; + for (var i = 0; i < s6.length; i++) { + s5.push(s[s6[i]]); + } + s.push(szenc_head8); + var s7 = szenc_head8.concat(s5); + + var s8 = s7[0]; + for (var i = 1; i < s7.length; i++) { + s8 = s8 ^ s7[i]; + } + s.push(s8); + + enc_s_i = [34, 44, 56, 61, 73, 29, 70, 45, 35, 49, 38, 66, 51, 68, 28, 48, 64, 47, 30, 71, 26, 55, 31, 69, 59, 40, 62, 63, 27, 72, 41, 74, 57, 52, 42, 39, 33, 67, 53, 43, 65, 46, 36, 24, 60, 32, 79, 80, 84, 85]; + szenc_o95_head50 = []; + for (var i = 0; i < enc_s_i.length; i++) { + szenc_o95_head50.push(s[enc_s_i[i]]); + } + szenc_o95 = []; + szenc_o95 = szenc_o95.concat(szenc_o95_head50, szenc_o95_tail41, s4, [s8]); + + szenc_tail = get_szenc_tail(szenc_o95); + szenc = szenc_head8.concat(szenc_tail); + + lm_get_ab_head4 = generate_lm_g_ab_head4(); + + var lm_get_lm = get_list_str(szenc); + var lm_get_ab_tail = get_lm_g_ab(lm_get_lm); + var lm_get_ab = lm_get_ab_head4 + lm_get_ab_tail + return get_raw_ab(lm_get_ab); +} diff --git a/internal/sign/ac_signature.go b/internal/sign/ac_signature.go new file mode 100644 index 0000000..87a964e --- /dev/null +++ b/internal/sign/ac_signature.go @@ -0,0 +1,96 @@ +package sign + +import "time" + +func GetACSignature(oneSite, oneNonce, uaN string, oneTimeStamp int64) string { + if oneTimeStamp == 0 { + oneTimeStamp = time.Now().Unix() + } + + calOneStr := func(s string, iv int) int { + k := iv + for _, ch := range s { + k = int(((k ^ int(ch)) * 65599) & 0xFFFFFFFF) + } + return k + } + + calOneStr3 := func(s string, iv int) int { + k := iv + for _, ch := range s { + k = int((int64(k)*65599 + int64(ch)) & 0xFFFFFFFF) + } + return k + } + + getOneChr := func(code int) string { + code &= 0x3F + if code < 26 { + return string(rune('A' + code)) + } else if code < 52 { + return string(rune('a' + code - 26)) + } else if code < 62 { + return string(rune('0' + code - 52)) + } else if code == 62 { + return "+" + } + return "/" + } + + encNumToStr := func(val uint32) string { + var s string + for i := 24; i >= 0; i -= 6 { + s += getOneChr(int((val >> uint(i)) & 0x3F)) + } + return s + } + + signHead := "_02B4Z6wo00f01" + timeStampS := itoa(oneTimeStamp) + + a := calOneStr(oneSite, calOneStr(timeStampS, 0)) % 65521 + + xorVal := uint32(oneTimeStamp) ^ uint32(a*65521) + b := uint64(0x80F0) << 32 | uint64(xorVal) + bStr := itoa(int64(b)) + + c := calOneStr(bStr, 0) + + d := encNumToStr(uint32(b >> 2)) + e := uint32((b >> 32) & 0xFFFFFFFF) + f := encNumToStr(uint32((b << 28) | (uint64(e) >> 4))) + g := uint32(0x22AA7A58) ^ uint32(b&0xFFFFFFFF) + h := encNumToStr(uint32((e << 26) | (g >> 6))) + i := getOneChr(int(g & 0x3F)) + + j := (uint32(calOneStr(uaN, c)%65521) << 16) | uint32(calOneStr(oneNonce, c)%65521) + k := encNumToStr(j >> 2) + l := encNumToStr(uint32((j << 28) | ((0x8000 ^ uint32(b&0xFFFFFFFF)) >> 4))) + m := encNumToStr(uint32(a)) + + n := signHead + d + f + h + i + k + l + m + + oHex := itoa(int64(calOneStr3(n, 0))) + if len(oHex) < 2 { + oHex = "00" + } + o := oHex[len(oHex)-2:] + + return n + o +} + +func itoa(v int64) string { + if v == 0 { + return "0" + } + var digits []byte + n := v + if n < 0 { + n = -n + } + for n > 0 { + digits = append([]byte{byte('0' + n%10)}, digits...) + n /= 10 + } + return string(digits) +} diff --git a/internal/sign/bogus.go b/internal/sign/bogus.go new file mode 100644 index 0000000..47c8b29 --- /dev/null +++ b/internal/sign/bogus.go @@ -0,0 +1,54 @@ +package sign + +import ( + "fmt" + + "github.com/dop251/goja" + _ "embed" +) + +//go:embed sign.js +var signJS []byte + +//go:embed a_bogus.js +var abogusJS []byte + +func GenerateSignature(wssURL string) (string, error) { + vm := goja.New() + vm.Set("console", goja.Null()) + if _, err := vm.RunString(string(signJS)); err != nil { + return "", fmt.Errorf("run sign.js: %w", err) + } + fn := vm.Get("get_sign") + if fn == nil || goja.IsUndefined(fn) { + return "", fmt.Errorf("get_sign not found in sign.js") + } + result, err := fn.Export().(goja.Callable)(goja.Undefined(), vm.ToValue(wssURL)) + if err != nil { + return "", fmt.Errorf("call get_sign: %w", err) + } + return result.Export().(string), nil +} + +func GetABogus(urlParams map[string]string, userAgent string) (string, error) { + vm := goja.New() + if _, err := vm.RunString(string(abogusJS)); err != nil { + return "", fmt.Errorf("run a_bogus.js: %w", err) + } + fn := vm.Get("get_ab") + if fn == nil || goja.IsUndefined(fn) { + return "", fmt.Errorf("get_ab not found in a_bogus.js") + } + dpf := "" + for k, v := range urlParams { + if dpf != "" { + dpf += "&" + } + dpf += k + "=" + v + } + result, err := fn.Export().(goja.Callable)(goja.Undefined(), vm.ToValue(dpf), vm.ToValue(userAgent)) + if err != nil { + return "", fmt.Errorf("call get_ab: %w", err) + } + return result.Export().(string), nil +} diff --git a/internal/sign/sign.js b/internal/sign/sign.js new file mode 100644 index 0000000..eef7918 --- /dev/null +++ b/internal/sign/sign.js @@ -0,0 +1,7011 @@ +document = {} +window = {} +navigator = {'userAgent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'} + +var crawler; + + +/** 1.0.0.53 */ +; +if (!window.byted_acrawler) { + function w_0x25f3(_0x545d0a, _0xb73ac6) { + var _0x4173a9 = w_0x42f5(); + return w_0x25f3 = function (_0x138003, _0x35a375) { + _0x138003 = _0x138003 - (-0x1 * -0xd15 + -0x1044 + 0x48d); + var _0x484578 = _0x4173a9[_0x138003]; + return _0x484578; + } + , + w_0x25f3(_0x545d0a, _0xb73ac6); + } + + (function (_0x2afeae, _0x11644f) { + var _0x34f31d = w_0x25f3 + , _0x222a7c = _0x2afeae(); + while (!![]) { + try { + var _0x5a962 = -parseInt(_0x34f31d(0x31b)) / (-0x1c * 0xac + 0x22 * 0x121 + 0x1 * -0x1391) * (-parseInt(_0x34f31d(0x26a)) / (0xa27 * -0x1 + 0x683 * -0x5 + 0x4 * 0xaae)) + parseInt(_0x34f31d(0x296)) / (-0x18c1 + 0xa9a + 0x715 * 0x2) + -parseInt(_0x34f31d(0x1f3)) / (0x446 * 0x4 + 0x649 + -0x175d) * (parseInt(_0x34f31d(0x31c)) / (0x3 * -0xbbf + 0xf67 * 0x1 + -0x12b * -0x11)) + parseInt(_0x34f31d(0x347)) / (-0x102f * 0x2 + 0x9e * 0x19 + 0x10f6) * (-parseInt(_0x34f31d(0x28f)) / (-0x1 * 0x1817 + -0x1 * -0x184d + -0x2f)) + -parseInt(_0x34f31d(0x241)) / (0x779 * -0x1 + -0x1e1d + 0x259e) * (-parseInt(_0x34f31d(0x2b9)) / (-0x435 + -0x8c9 * 0x2 + 0x1 * 0x15d0)) + -parseInt(_0x34f31d(0x295)) / (0x246e + 0x1 * -0x1c79 + 0x7eb * -0x1) * (-parseInt(_0x34f31d(0x291)) / (-0x1b67 + -0x3c3 * -0x3 + 0x1029)) + parseInt(_0x34f31d(0x307)) / (0x1c3d + -0xaa0 + 0x3 * -0x5db) * (-parseInt(_0x34f31d(0x39d)) / (-0x18de + -0x3 * -0x6f7 + 0x406)); + if (_0x5a962 === _0x11644f) + break; + else + _0x222a7c['push'](_0x222a7c['shift']()); + } catch (_0x4c4ab0) { + _0x222a7c['push'](_0x222a7c['shift']()); + } + } + }(w_0x42f5, -0x131739 + 0x156382 + -0x7 * -0x144df)); + + function w_0x42f5() { + var _0x458f30 = ['\x20can\x27t\x20have\x20a\x20.', '484e4f4a403f5243001f3009ad9ffc90000000dc0b1204fb00000477110001033f2e17000135491102004a120000110001110001031a2747000503414500201100010334274700050347450012110001033e2747000603041d45000303111d184301421101021400020211000211000103182c43010211000211000103122c43011802110002110001030c2c4301180211000211000103062c43011802110002110001430118421100011401010211010311000103022c430142110101031c2b11000103042d2f1400021100011401010211010311000243014202110103110101031a2b11000103062d2f4301021101021100014301184205000000003b0114000205000000473b01140003050000008b3b01140004050000009e3b0114000505000000be3b0114000603001400010300140007030014000811010144004a12000143000403e81b03002d14000911010212000232330033021101030211010303001100090700031843021101041200044a12000511010412000612000703021843014302050000fff11c140008110009110008050000fff11a3103002d4a1200080302430114000a11000a14000b11000a12000703202947001811000a4a12000511000a120007032019430114000b45004511000a12000703202747003907000314000c030014000d11000d032011000a120007192747001411000c0700091817000c354917000d214945ffdc11000c11000b1814000b07000a11000b18140007021101051100070302430214000702110103030011000707000318430214000e02110106430014000f11011807000b25470004014500010011000f07000c1607000314001011011612000d3300131101074a12000e11011612000d430107000f2647006503001400111101161200104700290211010803001101074a12000e0211010911011612000d1101161200104302430143021400114500200211010803001101074a12000e0211010a11011612000d43014301430214001107001111001118070012181400100211010b110116120013430114001211011612001447001511010c4a12001511001211011612001443024500031100121400121100100211010d110012430118140010110010070016180211010e1101161200134301180700121814001011001007001718070018181400100211010f11000f4301140013110102120002323300060211011043001400141101021200023233001811011112001934000f021101120211011307001a430143011400150211000411000743010211000511000706001b1b03002d4301180211000611001411000731430118021100040211010311000e1101021200023233000611011412001c4a12000843004302050000fff11c03102b0211010311000e110010070003184302050000fff11c2f4301180211000511001303082b11010212001d03042b2f110007314301180211000311000843011814001602110006030043014911001547000a1100161100151814001607001e1100161814001702110108030011001743024a120008031043011400181100184a12001f1100181200070302191100181200074302140019110017110019181400171100174200200c6b7f62604e656c7f4e626968076a6879596460680b6962604362795b6c6164690004657f686b097e786f7e797f64636a087d7f6279626e6261066168636a79650879625e797f64636a013d0e3c3d3d3d3d3d3d3d3c3c3d3d3d3d076b627f7f686c610a69647f686e795e646a63046f626974097e797f64636a646b740276700b6f6269745b6c613f7e797f0a6f62697452656c7e6530012b03787f61057c78687f740a6c7e626169527e646a63097d6c7965636c606830097979527a686f646930062b78786469300e526f74796869527e686e52696469077979527e6e64690a393f3439343b3a3f343b09787e687f4c6a686379096b685b687f7e6462630e523d3f4f39573b7a623d3d3d3d3c057e61646e68', '484e4f4a403f5243003c01321067d4bc00000824ebfd74540000087f0211010311000111000243024a12000505000000213b0105000001533b014302421100011200064701251100011200073300191100011200074a12000811030112000912000a430103011d2634000c0211030211000112000743014700f111000112000b4a12000c07000d43011400021100024700d902110303110001120007430114000311000311030412000e2547005511000211030515000f1100031103051500100211030607000f110002430249021103071100024301491100031101032947001f1103051200111200120300294700100211030811030903020403e81a4302494500161101031103051200102a47000911000211030515000f1101031103041200132533000c110305120011120012030a274700361103051200114a120014110002430149110305120011120012030125470017021103071100024301490211030607000f110002430249110001421100014008421100023400010d14000211020a33000711000111020b3714000307001514000407001614000507001514000611020c33000711000111020d374701c411000112000a14000411000212001747000f1100021200174a12001843004500030700161400050211020e1100044301330011110005070016253400071100050700192547017d11020512001014000711020512001a1400081100080700152347000f07000f11020512000f0c000245001207000f11020512000f07001a1100080c00041400090211020f021102101100044301110009430214000a0211021111000a430114000b0211021211000b11000212001b430214000c0211020f11000a11010111000c0c0002430214000d07001514000e11021312001c47000911000d14000e4500b10d021102140211000d43020e000714000f110005070019254700710211021511000111000243024a12001d07001e43010300134a12001f430014000602110216110006430147003b0211021711000f11000611000212001b4303490211021811000f0807002043031400100211020f11000d1101021100100c0002430214000e45000611000d14000e4500250211021811000f0807002043031400110211020f11000d1101021100110c0002430214000e1102131200214700130211021a430011000212000b110219120022160211010411000e1100021100074303421100034701e91100011200071400041100011200174700091100011200174500030700161400050211020e1100044301330011110005070016253400071100050700192547019811020512001014001211020512001a1400131100130700152347000f07000f11020512000f0c000245001207000f11020512000f07001a1100130c00041400140211020f021102101100044301110014430214001502110211110015430114001611000112000b1400171102131200214700161100174a1200231102191200220211021a4300430249110005070019254700480211021511000111000243024a12001d07001e43010300134a12001f43001400061100014a12002443004a12002543004a12000505000007293b01050000081e3b014302424500bd021102121100160243021400180211020f1100151101011100180c000243021400190d021102140211001943020e000714001a0211021811001a08070020430314001b0211020f11001911010211001b0c0002430214001c11020b11001c0d1100170e000b080e001b1100011200260e00261100011200270e00271100011200280e00281100011200290e002911000112002a0e002a11000112002b0e002b11000112002c0e002c440214001d0211010411001d110002110012430342021101031100011100024302424501df11000212000b324700070d11000215000b11000114000411000212001747000f1100021200174a12001843004500030700161400050211020e1100044301330011110005070016253400071100050700192547017d11020512001014001e11020512001a14001f11001f0700152347000f07000f11020512000f0c000245001207000f11020512000f07001a11001f0c00041400200211020f02110210110004430111002043021400210211021111002143011400220211021211002211000212001b43021400230211020f1100211101011100230c0002430214002407001514002511021312001c4700091100241400254500b10d021102140211002443020e0007140026110005070019254700710211021511000111000243024a12001d07001e43010300134a12001f430014000602110216110006430147003b0211021711002611000611000212001b430349021102181100260807002043031400270211020f1100241101021100270c00024302140025450006110024140025450025021102181100260807002043031400280211020f1100241101021100280c000243021400251102131200214700130211021a430011000212000b110219120022160211010411002511000211001e4303420211010311000111000243024208420700151400020211031211011611000143021400030211030f1101151102011100030c000243021400040211031611010643014700490d021103140211000443020e000714000502110317110005110106110001430349021103181100050807002043031400060211030f1100041102021100060c0002430214000245000611000414000211030b1100020d1101011200170e00171101170e000b1100010e001b1101011200260e00261101011200270e00271101011200280e00281101011200290e002911010112002a0e002a11010112002b0e002b11010112002c0e002c44021400070211020411000711010211011243034211000140084205000000003b0314000405000001593b021400050700001400010700011400020211010043003247000208421101011200024700020842001101011500021101011200031400031100031101011500041100051101011500030842002d0754214e636b797f0a537f656b626d78797e691653536d6f53656278697e6f697c786968536a69786f64056a69786f6406536a69786f64047864696202636703797e60076562686974436a0860636f6d7865636204647e696a0764696d68697e7f036b69780a7421617f217863676962037f696f07617f586367696208617f5f786d78797f0e617f42697b586367696240657f78066069626b78640465626578047c797f6400034b4958066169786463680b7863597c7c697e4f6d7f69045c435f580b53536d6f5378697f786568046e636875017a057f7c60657801370b786340637b697e4f6d7f69076a637e7e696d60037f68650d7f696f45626a6344696d68697e037f6978056f606362690478697478087e696a697e7e697e0e7e696a697e7e697e5c6360656f7504616368690b6f7e6968696278656d607f056f6d6f6469087e6968657e696f7809656278696b7e657875', 'own', 'Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function', 'getTimezoneOffset', 'array', 'toDataURL', 'enumerable', 'setPrototypeOf', 'field', 'WEBGL', 'wID', 'illegal\x20catch\x20attempt', 'TouchEvent', '3160hBpQVk', '484e4f4a403f5243000d0a13c08652000000000f3be74070000003930211021611010111000143024908421101003300031101013300031101023247000208420d0700000e000103040e00021101181200000e00030d0700040e000103030e00021101030e00050d0700060e000103030e00021101040e00050d0700070e000103030e00021101050e00050d0700080e000103030e00021101030e00050d0700090e000103000e00020d07000a0e000103000e00020d07000b0e000103000e00020d07000c0e000103000e00020d07000d0e000103000e00020d07000e0e000103030e00021101060e00050d07000f0e000103030e00021101070e00050d0700100e000103010e00020d0700110e000103010e00020d0700120e000103010e00020d0700130e000103000e00020d0700140e000103030e00021101080e000503010e00150d0700160e000103030e00021101090e00050d0700170e000103030e000211010a0e00050d0700180e000103030e00021101030e00050d0700190e000103030e000211010b0e00050d07001a0e000103030e000211010c0e00050d07001b0e000103030e000211010d0e00050d07001c0e000103030e00021101030e00050d07001d0e000103000e00020d07001e0e000103030e000211010e0e000507001f0e00200d0700210e000103030e000211010f0e00050d0700220e000103030e00021101100e00050d0700230e000103030e00021101110e000503010e00150d0700240e000103010e00020d0700250e000103040e00021101121200260e00030d0700270e000103030e00021101130e00050d0700280e000103030e00021101030e00050d0700290e000103040e00020c00221400010c0000140002030014000311000311000112002a274700eb110001110003131200020300480013030148002f0302480045030348005b494500be0211011411010011000111000313120001134301110001110003131500034500a011010111000111000313120001131100011100031315000345008511010211000111000313120001131100011100031315000345006a110001110003131200154700321101153a07002b264700241100024a12002c110001110003131200054a12002d110001110003131200204301430149450025110001110003131200054a12002d0211000111000313120020430211000111000313150003450003450000170003214945ff081101153a07002b2647001d1101154a12002e11000243014a12002f05000000003b0143014945000a02110116110001430149084200300349414c0146014e015a095b5c495a5c7c41454d015c09494a4144415c414d5b064b49465e495b0a5c41454d5b5c49455819085844495c4e475a451340495a4c5f495a4d6b47464b5d5a5a4d464b510c4c4d5e414b4d654d45475a51084449464f5d494f4d094449464f5d494f4d5b0a5a4d5b47445d5c4147460f495e4941447a4d5b47445d5c414746095b4b5a4d4d467c47580a5b4b5a4d4d46644d4e5c104c4d5e414b4d7841504d447a495c41470a585a474c5d4b5c7b5d4a074a495c5c4d5a510158095c475d4b4061464e47085c41454d5247464d0a5c41454d5b5c4945581a074f585d61464e470b425b6e47465c5b64415b5c0b58445d4f41465b64415b5c0a5c41454d5b5c4945581b095d5b4d5a694f4d465c0a4d5e4d5a6b474743414d075c5c775b4b414c01450b5b51465c49506d5a5a475a0c46495c415e4d644d464f5c40055a5c4b61780844474b495c414746094e587e4d5a5b4147460b77775e4d5a5b4147467777084b44414d465c614c0a5c41454d5b5c4945581c0b4d505c4d464c6e414d444c06444d464f5c40095d464c4d4e41464d4c04585d5b40044b49444403494444045c404d46', 'rewriteUrl\x20', 'setTTWid', 'height', 'product', 'Vrinda', 'X-Mssdk-Info', 'arrayBuffer', 'vibrate', 'sendBeacon', '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 'canvas', 'Character\x20outside\x20valid\x20Unicode\x20range:\x200x', 'join', 'throw', 'iterator\x20result\x20is\x20not\x20an\x20object', 'DEPTH_BITS', 'compatMode', 'forEach', 'Attempted\x20to\x20access\x20private\x20element\x20on\x20non-instance', 'unsupport\x20type', 'attempted\x20to\x20call\x20addInitializer\x20after\x20decoration\x20was\x20finished', 'pageXOffset', 'length', 'method', 'bytes', 'charAt', 'Sylfaen', 'toElementDescriptor', 'base64', 'createElement', 'private', 'ttcid', 'msStatus', 'MAX_VARYING_VECTORS', 'elements', '484e4f4a403f524300232a0d2ebaf9a00000000042410a740000019d110100002347000200421101011200004700020042070001110102364700351101024a12000111010143011400011100014a120002070000430103002a34000f1100014a120002070003430103002a470002004211010333000611010312000433000911010312000412000533000c1101031200041200051200064700213e000414000c413d00171101031200041200054a1200064300082547000200424107000707000807000907000a07000b07000c07000d07000e07000f0700100700110c000b1400020700120700130700140c000314000303001400041100041100031200152747001e11000311000413140005110103110005134700020042170004214945ffd503001400061100061100021200152747002111000211000613140007110103120016110007134700020042170006214945ffd21101024a1200171101031200164301140008030014000911000814000a11000911000a1200152747003911000a1100091314000b11000b4a1200181101050700194401430133000e11010312001611000b1307001a134700020042170009214945ffba0142001b096d7f787e68736c7f68137d7f6e556d744a68756a7f686e63547b777f690773747e7f62557c09767b747d6f7b7d7f690679726875777f07686f746e73777f07797574747f796e1445456d7f787e68736c7f68457f6c7b766f7b6e7f134545697f767f74736f77457f6c7b766f7b6e7f1b45456d7f787e68736c7f6845697968736a6e457c6f74796e7375741745456d7f787e68736c7f6845697968736a6e457c6f74791545456d7f787e68736c7f6845697968736a6e457c741345457c627e68736c7f68457f6c7b766f7b6e7f1245457e68736c7f68456f746d687b6a6a7f7e1545456d7f787e68736c7f68456f746d687b6a6a7f7e1145457e68736c7f68457f6c7b766f7b6e7f144545697f767f74736f77456f746d687b6a6a7f7e1445457c627e68736c7f68456f746d687b6a6a7f7e0945697f767f74736f770c797b7676497f767f74736f771645497f767f74736f7745535e5f45487f7975687e7f6806767f747d6e72087e75796f777f746e04717f636905777b6e79720a463e417b3760477e794506797b79727f45', 'pop', 'showOffsetX', 'MAX_TEXTURE_IMAGE_UNITS', '2571598OPFKfY', 'webgl', 'appendChild', 'outerHeight', 'screenX', 'kind', 'navigator', 'attempted\x20to\x20use\x20private\x20field\x20on\x20non-instance', 'cookie', 'AsyncIterator', 'crypto', 'buffer', 'availHeight', 'The\x20property\x20descriptor\x20of\x20a\x20field\x20descriptor', 'resolve', 'react.element', 'close', 'monospace', 'stun:stun.l.google.com:19302', 'acc', 'BLUE_BITS', 'Arguments', 'style', 'nextLoc', 'pageYOffset', '72px', 'webkitRequestAnimationFrame', 'hidden', 'MAX_FRAGMENT_UNIFORM_VECTORS', 'node', 'Parchment', 'kWebsocket', 'xmst', 'number', 'altKey', 'A\x20method\x20descriptor', 'Leelawadee', '6300OtYFrs', 'href', '1155KnHwvu', 'storage', 'sTm', 'setMonth', '20690wmYtVy', '266076LNZfld', 'Malformed\x20string', 'setConfig', 'touchmove', 'rval', 'unload', 'from', 'Image', 'tryLoc', 'ActiveXObject', 'assign', '\x20property.', '_sent', 'mmmmmmmmmmlli', 'offsetHeight', 'slice', 'getOwnPropertyDescriptor', 'mhe', 'utf8', 'Object\x20is\x20not\x20async\x20iterable', 'reset', 'raw', 'constructor', 'attempted\x20to\x20', 'Invalid\x20attempt\x20to\x20iterate\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.', 'isArray', 'chargingTime', '__await', '484e4f4a403f524300071336bc6677450000001613b112b6000003090b4a12000911021607000a07000b4402070001430242070000140001110115082633000511011502263300071101150700012647001d3e000a140029070002140001413d000d021101001101154301140001411101013234000611010212000347000b001401010211010343004902110104430049110105120004140002110106120005140003030214000411000414000503401400060211010011011443011400071101074a120006021101001101074a1200061100074301430143011400081101074a120006021101001101074a1200061100014301430143011400091101081200071200083247001005000000003b0011010812000715000811010912000c14000a11000a33000811000a3a07000d2547000c11000a4a120008430014000a0211010a110003110002430214000b0211010b11000b11000a430214000c0211010c11000c07000e430214000d1101074a1200060211010011000d4301430114000e11010d44004a12000f43000403e81b14000f0211010e43001400101100061400111100030401001b1400121100030401001c140013110002140014110008030e13140015110008030f13140016110009030e13140017110009030f1314001811000e030e1314001911000e030f1314001a11000f03182c0400ff2e14001b11000f03102c0400ff2e14001c11000f03082c0400ff2e14001d11000f03002c0400ff2e14001e11001003182c0400ff2e14001f11001003102c0400ff2e14002011001003082c0400ff2e14002111001003002c0400ff2e140022110011110012311100133111001431110015311100163111001731110018311100193111001a3111001b3111001c3111001d3111001e3111001f311100203111002131110022311400230400ff1400240211010f11001111001311001511001711001911001b11001d11001f11002111002311001211001411001611001811001a11001c11001e11002011002243131400250211010b0211011011002443011100254302140026021101111100051100241100264303140027021101121100270700104302140028110028420011201c4c491c401b1c41401e48481a4a484c1d414048484141401d1b1e404c4a4f1d00201e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e010e060d1a1b171c1d071d160e1b171c1d061c1d1b171c1d09080a170c170c01081d040c0a1115070a1d0814191b1d212623240b240d3e3d3e3e2400394825530423240b240d3e3d3e3e2400394825535c011f090d0b1d0a391f1d160c060b0c0a11161f020b48071f1d0c2c11151d020b4a', 'Arial\x20Hebrew', 'msToken', 'An\x20element\x20descriptor\x27s\x20.placement\x20property\x20must\x20be\x20one\x20of\x20\x22static\x22,\x20\x22prototype\x22\x20or\x20\x22own\x22,\x20but\x20a\x20decorator\x20created\x20an\x20element\x20descriptor\x20with\x20.placement\x20\x22', 'visible', 'decode', 'concat', '30762fvQkGV', 'hash', 'STENCIL_BITS', 'configurable', '\x20private\x20field\x20on\x20non-instance', 'T_MOVE', 'clientX', 'images', 'version', 'renderer', 'removeItem', 'catchLoc', 'indexOf', 'msHidden', 'isView', 'toLocaleString', 'https://mssdk.bytedance.com', 'B4Z6wo', 'dispatchException', 'msvisibilitychange', '\x20decorators\x20must\x20return\x20a\x20function\x20or\x20void\x200', 'Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe', 'Cannot\x20convert\x20undefined\x20or\x20null\x20to\x20object', 'initializer', 'awrap', 'continue', 'mousedown', 'mousemove', 'update', '__ac_blank', '0123456789abcdef', 'getItem', 'Futura', 'MAX_RENDERBUFFER_SIZE', 'GPUINFO', 'host', '484e4f4a403f524300010a1106afb0650000000079a66ec20000008c1101001200004a12000143001400011100014a120002070003430103002a470002014211010307000444011400021101013300061101011200053300091101011200051200064700411101011200051200061400031100034a120002070007430103002534000f1100034a120002070008430103002534000c1100024a120009110003430147000200420142000a093b3d2b3c0f292b203a0b3a210221392b3c0d2f3d2b0727202a2b360128082b222b2d3a3c21204a10263a3a3e3d71741261126166157e637713357f627d33661260157e637713357f627d3367357d3332152f63287e637713357f627a336674152f63287e637713357f627a3367357933670822212d2f3a27212004263c2b28042827222b10263a3a3e74616122212d2f2226213d3a043a2b3d3a', 'BluetoothUUID', 'decorateClass', 'mozRTCPeerConnection', 'defineClassElement', 'credentials', 'writable', 'value', 'WEBKIT_EXT_texture_filter_anisotropic', 'JS_MD5_NO_ARRAY_BUFFER', 'Metadata\x20keys\x20must\x20be\x20symbols,\x20received:\x20', 'getReferer', 'indexDB', '__proto__', 'Object', 'splice', 'symbol', 'offsetWidth', 'executing', 'mozBattery', 'normal', 'kFakeOperations', 'reverse', 'finisher', 'createOffer', 'addEventListener', 'Cannot\x20call\x20a\x20class\x20as\x20a\x20function', '\x20must\x20be\x20a\x20function', 'getContext', 'referrer', 'afterLoc', 'has', 'return', 'kNoMove', 'netscape', 'MAX_CUBE_MAP_TEXTURE_SIZE', 'bind', 'width', 'valueOf', 'off', 'JS_MD5_NO_ARRAY_BUFFER_IS_VIEW', 'innerWidth', '257232gkndOM', 'null', 'isSecureContext', 'pixelDepth', '.initializer\x20has\x20been\x20renamed\x20to\x20.init\x20as\x20of\x20March\x202022', '/web/report', 'removeChild', '[object\x20Boolean]', 'getSupportedExtensions', 'error', 'GeneratorFunction', 'message', 'initializeInstanceElements', 'systemLanguage', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', 'tt_webid', 'sqrt', '__ac_referer', 'blocks', 'MOZ_EXT_texture_filter_anisotropic', '1hcbEHL', '308350OyvEoV', '484e4f4a403f5243003a20169967f185000000000b49c93c000000761101001200004a12000143001400011100014a120002070003430103002a47000201421101013a070004263300191101021200051200064a12000711010112000843010700092534002b1101033a0700042547000607000445000902110104110103430107000a2533000a11010312000b07000c2542000d09282e382f1c3a3833290b293211322a382f1e3c2e38073433393825123b083831383e292f323309283339383b34333839092d2f32293229242d380829320e292f34333a043e3c3131072d2f323e382e2e1006323f37383e297d2d2f323e382e2e0006323f37383e290529342931380433323938', 'for', 'break', 'construct', 'Constantia', 'webkitvisibilitychange', 'activeState', 'toClassDescriptor', 'layers', 'bogusIndex', 'arg', 'screen', 'buffer8', 'getOwnPropertyNames', 'get', 'prev', 'buildID', 'lastByteIndex', '\x27\x20method', 'Bad\x20UTF-8\x20encoding\x200x', '[object\x20Array]', 'add', '484e4f4a403f5243000027194f9666590000000044a16fed000000270700001400013e000a140002070001140001413d000d0211010011010243011400014111000142000200200d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d', 'call', 'characterSet', 'bodyVal2str', 'tryEntries', '\x22\x20is\x20read-only', 'tt_webid_v2', 'locationbar', 'maxTouchPoints', 'string', 'addElementPlacement', 'try\x20statement\x20without\x20catch\x20or\x20finally', 'mozVisibilityState', 'showColor', 'name', 'split', 'xmstr', 'prototype', 'AcroPDF.PDF.1', 'Tunga', '4218tDAtHd', 'AVENIR', 'getMetadata', 'track', 'touchEvent', 'decorateConstructor', 'now', 'failed\x20to\x20set\x20property', '484e4f4a403f524300263203ec75a3740000000817718683000003051100011100022e4211011507000013002547000a070001110115070002160d03000e0003000e00040c00000e00050c00000e0006010e0007010e00000700080e0002010e00090d0305033c1a0e000a03020e000b0305033c1a0e000c0e000d0700080e000e000e000f03030e00101400011101004a1200111100011101154302491100011200030300253400161101014a120012110001120003430111000112000326470009110102070013440140110001120014330007110001120015324700091101020700164401401101031200174a12001811000112000343014911010412000303002547000c1100011200031101041500031100011200043247009c110001120002070008254700091101020700194401401100011200020700012447000911010207001a44014011000112000211010415000202110105110001430111010415001b021101061101071100011200100403e81a43024911000112001c0826330005110001022647002e11010412001d4a12001811000112001c43014911010412001d4a12001e05000000003b024301323211010415001c11000112000d4700a60011010415001f11010847006411000112000d12000a33001311000112000d12000a11010412000d12000a2947003f021101091101084301491101004a1200110d11010412000d11000112000d430311010415000d0211010a11010b11010412000d12000a0403e81a43021401084500351101004a1200110d11010412000d11000112000d430311010415000d0211010a11010b11010412000d12000a0403e81a430214010811000112002047001c1100011200201101041500200211010611010c03050403e81a4302491100010b1500210211010d4300490211010e1100011200054301490211010f1100011200064301490211011043004911011132330006110001120007470020001401111100011200071101041500070211010611011203050403e81a43024911000112000f4700241101041200223247001a0011010415002202110106110113030a0403e81a11000143034900110104150023084200240350524402575a064651535d5b5a03555d50055d4767707f0e515a555658516455405c785d47400f414658665143465d405166415851470347505d0003505142035246510a415a5d4075595b415a4008415a5d40605d595105404655575f04595b5051044c4c56530450504640065547475d535a0552585b5b461e5b44405d5b5a14555d501c7d5a40515351461d145d47145a51515051501503565b5107565b517c5b474024565b517c5b474014594147401456511444465b425d505150145d5a14565b5114595b505107555d50785d4740044441475c0f4651535d5b5a145d47145a41585815124651535d5b5a145d47145d5a4255585d50150a4651535d5b5a775b5a520142106b515a55565851675d535a5540414651064651504157510b515a55565851604655575f0444514652075b44405d5b5a47046b5052440b5d5a5d405d55585d4e5150', 'appMinorVersion', 'Attempted\x20to\x20decorate\x20a\x20public\x20method/accessor\x20that\x20has\x20the\x20same\x20name\x20as\x20a\x20previously\x20decorated\x20public\x20method/accessor.\x20This\x20is\x20not\x20currently\x20supported\x20by\x20the\x20decorators\x20plugin.\x20Property\x20name\x20was:\x20', 'hex', 'dischargingTime', 'PLUGIN', 'T_KEYBOARD', 'ret_code', '\x22.\x20Please\x20configure\x20the\x20dynamicRequireTargets\x20or/and\x20ignoreDynamicRequires\x20option\x20of\x20@rollup/plugin-commonjs\x20appropriately\x20for\x20this\x20require\x20call\x20to\x20work.', '@@toPrimitive\x20must\x20return\x20a\x20primitive\x20value.', 'battery', 'Generator\x20is\x20already\x20running', 'headers', 'md5', 'setter', '=;\x20expires=Mon,\x2020\x20Sep\x202010\x2000:00:00\x20UTC;\x20path=/;', '_raw_sec_did', 'hardwareConcurrency', 'script', 'fontSize', '_byted_sec_did', 'keydown', '__private_', 'screenY', 'Duplicated\x20element\x20(', '484e4f4a403f524300211209597bcccc0000053aae77fba6000005e50b1200093247004e0b12000a4a12000b0d0700050e000c1100000e000d43014911021607000e07000f44024a120010110001430147001f1100024a12001143004a12001243004a12001307001443010300130b1500151101054a1200160b1100004302421100000b1500171101074a1200160b1100004302420c00000b15000a0b12000a4a12000b0d0700040e000c1100000e000d4301491100014a12001843000b1500191100020b15001a1101044a1200160b1100004302421101094a1200240b120019430103011d26140002021102010b12001a43013300031100024702fe0b12001a4a120024070025430103011d2947000e1101064a1200160b1100004302421100010b1500260b1200271400030b12001b1400040b12001c1400050b12001d1400060b12001e1400070b12001f1400080b1200201400090b12002114000a0d14000b030014000c11000c1101081200282747001f0b12002911010811000c131311000b11010811000c131617000c214945ffd411020212002a14000d11020212002b14000e11000e07002c2347000f07002d11020212002d0c000245001207002d11020212002d07002b11000e0c000414000f02110203021102040b12001a430111000f4302140010021102051100104301140011021102061100110b1200264302140012021102031100101101011100120c0002430214001307002c14001411020712002e4700091100131400144500910d021102080211001343020e002f1400150b12001907002325470050021102090b120015430147003a0211020a1100150b1200150b1200264303490211020b110015080700304303140016021102031100131101021100160c000243021400144500061100131400144500250211020b110015080700304303140017021102031100131101021100170c000243021400140b12000a33000f0b12000a03001307000c130700042647000202420b12000a14001803001400191100191100181200282747005d11001903002547002d1100141100181100191312000d030116000b1500091101044a1200160b1100181100191312000d43024945001f0b1100181100191307000c13134a1200160b1100181100191312000d430249170019214945ff960b1200174700100b1200074a1200160b0b1200174302490b07000a39491102071200314700140b4a12000511020c1200320211020d43004302491100030b1500271100040b15001b1100050b15001c05000003ed3b010b15001d1100070b15001e1100080b15001f1100090b15002011000a0b150021030014001a11001a1101081200282747001f11000b11010811001a13130b12002911010811001a131617001a214945ffd41101064a1200160b11000043024203001400020b1200333400040b12001a34000307002c1400030211030e110003430147000503011400021100034a120024110300120034120035430103011d2647000503021400021100020300294700ea0b4a12003607003743011400041100044700d70211030f0b12001a43011400051100051103101200382547005511000411030215002d11000511030215002a0211031107002d1100044302490211031211000443014911000511010d2947001f1103021200391200280300294700100211031311031403020403e81a43024945001611010d11030212002a2a47000911000411030215002d11010d11031012003a2533000c110302120039120028030a274700361103021200394a12000b110004430149110302120039120028030125470017021103121100044301490211031107002d11000443024911010647000a02110106110001430149084207000014000107000114000211010012000212000314000311000312000414000411000312000514000511000312000614000611000312000714000711000312000847000208420011000315000805000000003b0211000315000505000000643b0011000315000705000000793b0211000315000407001b07001c07001d07001e07001f0700200700210c00071400080700220700230c000214000905000000ba3b011100031500060842003b0755204f626a787e0a527e646a636c79787f680e5540414579797d5f687c78687e79097d7f62796279747d6804627d6863107e68795f687c78687e7945686c69687f047e68636910627b687f7f6469684064606859747d680f526c6e52646379687f6e687d79686905527e68636915526f7479686952646379687f6e687d795261647e79047d787e65046b78636e096c7f6a78606863797e0e536e6263796863792079747d682901640479687e790879625e797f64636a0b796241627a687f4e6c7e68057e7d61647901360e526f74796869526e626379686379056c7d7d61741552627b687f7f6469684064606859747d684c7f6a7e0b7962587d7d687f4e6c7e680d526f74796869526068796562690a526f7479686952787f610762636c6f627f79076263687f7f627f06626361626c6909626361626c696863690b626361626c697e796c7f790a62637d7f626a7f687e7e09626379646068627879034a4859045d425e59076463696875426b0b527e646a636c79787f68300b526f74796869526f6269741262637f686c69747e796c79686e656c636a68066168636a796506787d61626c6908607e5e796c79787e0b52526c6e5279687e7964690007607e5962666863017b03787f61076b627f7f686c61037e69640d7e686e44636b6245686c69687f0b7f687e7d62637e68585f410861626e6c796462630465627e79116a68795f687e7d62637e6845686c69687f0a7520607e207962666863037e686e0e607e43687a596266686341647e790464636479', 'round', 'innerHTML', 'appCodeName', 'defineProperties', 'Could\x20not\x20dynamically\x20require\x20\x22', 'push', '__destrObj', 'toElementDescriptors', 'defaultProps', 'fromElementDescriptor', 'documentMode', 'Object.keys\x20called\x20on\x20non-object', 'WEBGL_debug_renderer_info', 'reduce', 'replace', 'setUserMode', 'changedTouches', 'JS_MD5_NO_WINDOW', '[object\x20Object]', 'item', 'beforeunload', '%27', 'enableTrack', 'envcode', 'gpu', 'ubcode', 'getParameter', 'undefined', 'start', 'isGeneratorFunction', 'completion', 'getOwnPropertySymbols', 'next', 'availWidth', 'values', 'oscpu', 'Tw\x20Cen\x20MT', 'sort', 'bluetooth', 'requestMediaKeySystemAccess', 'keyboardList', 'key', 'window', 'Unfinished\x20UTF-8\x20octet\x20sequence', 'setMetadata', 'static', 'debug', 'languages', 'toolbar', 'msDoNotTrack', 'reject', 'finishers', '208XZrBOJ', 'UNMASKED_RENDERER_WEBGL', 'external', 'shadowBlur', 'POST', '484e4f4a403f5243003e0d23e5c579310000006248d1745c000002cc0d140001110200070000131400021100020700012447000a11000211000107000016110200070002131400031100030700012447000a11000311000107000316110200070004131400041100040700012447000a110004110001070005161100014205000000003b001400010114000211010f3247000911010112000614010f11010f110101120007254700040014000211010244004a12000843001400030d1101001200094a12000a030043010e000b11010012000c4a12000a030043010e000d11010012000e4a12000a030043010e000f1101001200104a12000a030043010e001114000411000412000b12001203002533000c11000412000d12001203002533000c11000412000f12001203002533000c110004120011120012030025470002084211000412000b12001203101a11000412000d120012030c1a1811000412000f12001203041a1811000412001112001203081a181400051100031101031200131101041200141200150403e81a182747003a1101031200161101041200141200170404001a27470020110103120016110005181101030700163549021101054300490014000245000045001d11000311010315001311000511010315001602110105430049001400021100024700f703021400060d1100040e00181100060e00191400070d11000707001a1611010412001b11000707001a1307001b1607000111010244004a12000843001811000707001a1307001c1611010012001d11000707001a1307001d16030011000707001a1307001e160d11000707001f161101064a12002011000707001f13021100014300430249021101071101081200210211010911010a4a120022110007430111010b120023430243021400081101041200240700251314000911000932470002084211010f110101120026254700190211010c110009110008430214000a11000a3247000045000f0211010d1100091100080d0043044908420027052121223c31000821210a2230373c310721210230371c310b21210a2230373c310a23670921210230373c3103670727203b3b3c3b3205333920263d07323021013c383008383a2330193c2621062625393c3630063730183a23300936393c363e193c262107373016393c363e0c3e302c373a342731193c26210a37301e302c373a3427310b3436213c233006213421300b223c3b313a2206213421300639303b32213d0326013805212734363e08203b3c21013c3830033436360a203b3c2114383a203b210837303d34233c3a2707382632012c253003221c1103343c3109213c3830262134382507343c31193c26210b25273c2334362c183a313006362026213a38063426263c323b0f0210170a1110031c16100a1c1b131a092621273c3b323c332c043f263a3b0a2730323c3a3b163a3b33092730253a272100273904302d3c21', 'metadata', 'productSub', 'mark', '\x20is\x20not\x20an\x20object.', 'substr', 'Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.', 'Gulim', 'experimental-webgl', 'setRequestHeader', 'charging', '484e4f4a403f52430031032581faca6c0000000093505d60000001c60700001400010d1400020700011100020700021607000311000207000416070005110002070006161100021101021314000307000714000403001400061101011200081100060303182a4700b11101014a1200091700062143010400ff2e03102b1101014a1200091700062143010400ff2e03082b2f1101014a1200091700062143010400ff2e2f1400051100041100034a12000a1100050500fc00002e03122c43011817000435491100041100034a12000a110005050003f0002e030c2c43011817000435491100041100034a12000a110005040fc02e03062c43011817000435491100041100034a12000a110005033f2e430118170004354945ff3f110101120008110006190300294700b41101014a1200091700062143010400ff2e03102b110101120008110006294700161101014a12000911000643010400ff2e03082b45000203002f1400051100041100034a12000a1100050500fc00002e03122c43011817000435491100041100034a12000a110005050003f0002e030c2c4301181700043549110004110101120008110006294700161100034a12000a110005040fc02e03062c430145000311000118170004354911000411000118170004354911000442000b011441686b6a6d6c6f6e616063626564676679787b7a7d7c7f7e717073484b4a4d4c4f4e414043424544474659585b5a5d5c5f5e51505319181b1a1d1c1f1e1110020614025a19416d424d594e411d73625a786b111906644f5f5e1a1f7160187b1b1c027e7c68456c401e67654b4658707d66795c53446f4363475b505110617f6e4a487a5d6a4c14025a18416d424d594e411d73625a786b111906644f5f5e1a1f7160187b1b1c047e7c68456c401e67654b4658707d66795c53446f4363475b505110617f6e4a487a5d6a4c14025a1b0006454c474e5d410a4a41485b6a464d4c685d064a41485b685d', 'toString', 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx', 'warn', 'parse', 'sent', 'iterator', 'PDF.PdfCtrl.', '__ac_testid', 'clickList', 'create', 'hasOwnProperty', 'init', 'An\x20initializer', 'clientHeight', 'extras', '__esModule', 'sessionStorage', 'kKeyboardFast', 'devicePixelRatio', ';\x20path=/;', 'location', 'GREEN_BITS', '484e4f4a403f524300192d11257a6fc000000000d4cf00750000006703011400011101004a12000011010603062b1100012f43011400021101004a1200001101014a1200011101014a12000243000401001a4301430114000302110102110003110105430214000411000211000318110004181400050211010311000507000343024200040c5f4b56547a51584b7a565d5c055f5556564b064b58575d5654024a08', 'Castellar', 'toGMTString', 'mozHidden', 'Set', '[native\x20code]', 'complete', '484e4f4a403f52430012270f0b8aa329000000005cddda270000008a0211010043003247007e1101014a12000007000143011400011100011200024a12000343004a120004110104070005070006440207000743024a120008070009430103002734002c1101021200034a12000343004a120004110104070005070006440207000743024a120008070009430103002734001011010212000a4a120003430007000b26420142000c0d18091e1a0f1e3e171e161e150f06181a150d1a08090f143f1a0f1a2e2937080f14280f0912151c07091e0b171a181e03270851011c000712151f1e03341d0a151a0f120d1e18141f1e070b170e1c12150814201419111e180f5b2b170e1c12153a09091a0226', 'filter', 'runClassFinishers', 'webkitVisibilityState', '2.11.0', '\x20after\x20decoration\x20was\x20finished', 'suffixes', 'completed', 'src', 'Cannot\x20instantiate\x20an\x20arrow\x20function', 'getTime', 'resultName', 'children', 'accessor.get', '484e4f4a403f52430024153c4037f00000000009d722c1e5000000d200110208150002084202110100430047001c1101014a120000070001430114000105000000003b001100011500030211010243004700553e002b140002110002120004110104070005132533000c11010312000612000703002547000700110108150002413d00241101031200064a12000807000907000a4302491101031200064a12000b0700094301494102110105430047002311010312000c3233000f11010312000d34000611010312000e4700070011010815000211010612000f11010812000203022b2f11010607000f35490842001004637c69620478697f780965626f636b62657863076362697e7e637e046f636869125d5943584d5349544f494948494853495e5e0e7f697f7f6563625f78637e6d6b69066069626b7864077f697845786961107f63616947697544697e694e75786968000a7e6961637a69457869610965626869746968484e0c5c63656278697e497a6962780e415f5c63656278697e497a6962780769627a6f636869', 'https://mssdk.bytedance.com/websdk/v1/getInfo', '?q=', '484e4f4a403f5243003e19390bcd41790000000084fc29f10000006111010012000033000d1101001200001200010700022347000303014211010112000311010112000412000326470003030142110101120005110101120006264700030301421101011200071200081101021200071200082447000303014203024200090c3125363a32123b323a3239230723363019363a32061e1105161a12083b383436233e3839062736253239230424323b3103233827063125363a3224063b323930233f', 'defineProperty', '[object\x20Generator]', 'Wingdings', 'hasInstance', 'SHADING_LANGUAGE_VERSION', 'platform', '484e4f4a403f52430007152cc2c1a53c00000061235466970000007f1100010700022534000711000107000325340007110001070004253400071100010700052547000200423e0004140002413d002b1102021100011333001b11020211000113120006082634000c11020211000113120007082647000200424108421101014a12000011010243014a12000105000000003b0143011401000842000813717362596178466479667364626f58777b73650465797b7308757370457e77646608557370457e77646605737977667f16737941737454647961657364527f65667762757e73640f747f787259747c73756257656f78750e7f65535941737454647961657364', 'asyncIterator', 'object', 'colorDepth', 'keys', 'wrapped', 'getter', 'finalized', 'all', 'appName', 'regionConf', 'application/x-www-form-urlencoded', 'attempted\x20to\x20get\x20private\x20field\x20on\x20non-instance', 'createEvent', 'body', 'toElementFinisherExtras', 'open', 'displayName', '_urlRewriteRules', 'random', 'font', '484e4f4a403f52430031033191576c4000000000940c5eb50000005302110100430032470047070000110101363234000b110101120000110102373234000707000111010336340007070002110103363400070700031101033634000f0700041101033607000511010336274201420006077d61786a64637e08527d656c637962600b6e6c61615d656c637962600b525263646a6579606c7f68054c78696462184e6c637b6c7e5f686369687f64636a4e6263796875793f49', 'discharingTime', 'SimSun-ExtB', 'fromClassDescriptor', 'versions', 'charCodeAt', 'fillText', 'fetch', 'freeze', 'Create\x20WebSocket', 'webkitRTCPeerConnection', 'digest', 'class', 'MAX_VERTEX_UNIFORM_VECTORS', 'filename', 'first', 'visibilitychange', 'A\x20class\x20descriptor', 'clientWidth', 'frontierSign', 'msVisibilityState', 'antialias', '484e4f4a403f5243002a3d04fa03273900000000b93145d7000004061101001200004a12000143001400011101001200024a120001430014000203001400030301140004030214000503031400060304140007030514000811000814000907000314000a07000414000b07000514000c07000614000d07000714000e07000814000f07000914001007000a1400111100014a12000b07000c430103002a34000f1100014a12000b07000d430103002a4700091100071400094500de1100014a12000b11000a430103002a4700091100031400094500c31100014a12000b11000c430103002a4700091100041400094500a81100014a12000b11000d430103002a34000f1100014a12000b07000e430103002a34000f1100014a12000b07000f430103002a4700091100051400094500691100014a12000b11000e430103002a34000f1100014a12000b11000f430103002a34000f1100014a12000b110010430103002a34000f1100014a12000b070010430103002a34000f1100014a12000b070011430103002a4700091100061400094500061100081400091100024a12000b11000b430103002a33000711000911000326470005004245012c1100024a12000b11000d430103002a34000f1100024a12000b11000c430103002a34000f1100024a12000b070012430103002a330007110009110005263300071100091100042647000500424500dd1100024a12000b110011430103002a34000f1100024a12000b11000f430103002a34000f1100024a12000b110010430103002a34000f1100024a12000b11000e430103002a3300071100091100072633000711000911000626470005004245007c1100024a12000b11000b430103002733000f1100024a12000b11000d430103002733000f1100024a12000b110011430103002733000f1100024a12000b11000e430103002733000f1100024a12000b11000f430103002733000f1100024a12000b1100104301030027140012110012110009110008252647000200420300140013030114001403021400150303140016030414001703051400181100181400191100014a12000b070013430103002a47000911001514001945008a1100014a12000b070014430103002a34000f1100014a12000b070015430103002a34000c1100014a12000b070016430147000911001414001945004e1100014a12000b070017430103002a4700091100131400194500331100014a12000b070018430103002a34000f1100014a12000b070019430103002a4700091100171400194500061100181400190211010143004a120001430014001a110019110013243300071100191100142433002111010212001a34001811010012001b4a12001c43004a12000b07001d430103002a4700020042110019110013243300071100191100142433000f11001a4a12000b07001a430103002a47000200420142001e090b0d1b0c3f191b100a0b0a113211091b0c3d1f0d1b080e121f0a18110c13070917101a11090d03091710071f101a0c11171a051217100b0606170e1611101b04170e1f1a04170e111a03131f1d0717101a1b06311809131f1d17100a110d160c131f1d210e11091b0c0e1d57041d0c110d03064f4f051d0c17110d05180617110d040e17151b0818170c1b1811065106110e1b0c1f51055e110e0c51055e110e0a51071d160c11131b51080a0c171a1b100a5104130d171b061d160c11131b06081b101a110c080a112d0a0c1710190639111119121b', 'setTTWebid', 'Buffer', '_enablePathListRegex', 'outerWidth', 'type', 'decorateElement', '484e4f4a403f524300040e131c85d3950000064d665eaab9000007ca05000001d03b0014000105000003953b00140002050000046a3b001400031102084400140004021100024300490211000343004907004b07004c07004d07004e07004f07005007005107005207005307005407005507005607005707005807005907005a07005b07005c0c001214000702110209110200110007030043031400051100050211020911020007005d1307005e0c000111000712005f43032f17000535490700600c00011400080211020911020607006113110008030043031400060d1400090211020a4300110009070062160211020b4300110009070063160211020c43001100090700641607001811020844004a1200654300181100090700661611020d4a1200671100044a12006843001d033c1b4301110009070069160211020e430011000907006a160211020f43004a120008430011000907001d1611000511000907006b1611000611000907006c1602110210430011000907006d1602110001430011000907006e1602110211430011000907006f16030114000a11021212007011000907007016021102130700714301110009070072160211021307007343011100090700741611000a1100090700751603001100090700761611021412007711000907007716110009423e000714000a030042413d01b6030014000111030007000013340014110301070001134a07000213070003430103002a47000607000445000203001400020700051103023a24470006070006450002030014000311030307000713070008134a0700091311030007000a1343014a0700021307000b430103002934002e11030007000c1333000b11030007000c1307000d1333001607000e11030007000c1307000d134a0700081343002534000711030007000f131400041100044700060700104500020300140004110004330011110301070001134a0700111307001243014700060700134500020300140005110300070014133300041100023247000607001545000203001400060211030443001400071100073233000711030007001613470006070017450002030014000807001814000911000247000b11000103012f170001354911000347000e110001030103012b2f170001354911000847000e110001030103022b2f170001354911000747000e110001030103032b2f170001354911000647000e110001030103042b2f170001354911000547000e110001030103052b2f170001354911000447000e110001030103062b2f17000135491100014241084211030512001907001a133247000c030011030512001907001a163e0010140003030111030512001907001a16413d004911030007001b1347003e11030007001b1344001400011103064a07001c1307001d43014a07001e1307001f430114000205000004103b0011000107002316070024110001070025164108423e0010140002030111040512001907001a16413d00421101024a070020131101010300030043034903001101024a0700211303000300030103014304070022130303132514000103021100011811040512001907001a164108420c000014000107002607002707002807002907002a07002b07002c07002d07002e07002f0700300700310700320700330700340700350700360700370700380700390c001414000211030107003a133247000e07003b11030512001907003c35423e001214000507003d11030512001907003c3542413d003b05000005203c021400031100024a0700481305000005c63b0243011400041103074a0700491311000443014a0700401305000005d33b0043014941084211050107003a134a07003e130d1100010e003f43014a0700401305000005523b0143014a07004513050000059e3b014301421100010700411307004248001007004348001607004448001c49450024030111030111010216450021030211030111010216450015030011030111010216450009030511030111010216084203011d110001070046134a0700021307004743012647000503044500020303110301110102160842021101031100011100024302421101014a07004a13070018430111040512001907003c35420d140001110214070078131400021100020700182447000a11000211000107007816110214070079131400031100030700182447000a11000311000107007a1611021407007b131400041100040700182447000a11000411000107007c161100014205000000003b0014000105000005eb3b0014000202110115430049021101164300490211011743004902110118430049021101194300491101034a12007d1101051200190211000143004302491101034a12007d11010512007e0211011a43004302491101034a12007d11010512007f0211011b43004302491101034a12007d1101051200800211000243004302491101141200814a120082030043011400030d1100030e00831400040700841400050211011c0211011d1100054301030a430214000611000647000e110006030118170006354945000503011400060211011e11000511000643024911000611010507001913070085161101034a12007d1100041101054302490211011f1101204a1200861100044301110121120087430214000702110122110123120088110007430214000811011212008907008a1314000911000932470002084211012447001b1101244a120040021101251100091100080d00430443014945000f021101251100091100080d004304490842008b051b0411061509010711063513111a00071d1a10110c3b1205543b24265b053b0411061509011a1011121d1a111007321d0611121b0c0904061b001b000d041108001b2700061d1a1304171518180b3c20393831181119111a000b371b1a0700060117001b060607151215061d100401071c3a1b001d121d1715001d1b1a212f1b161e1117005427151215061d2611191b00113a1b001d121d1715001d1b1a290f350404181124150d271107071d1b1a0627151215061d05191500171c0537061d3b270a371c061b1911543d3b2706171c061b191106371c061b19110a27000d18113911101d1504311013110003033d3004181b1510053d191513110d17061115001131181119111a000617151a0215070a131100371b1a00110c0002461009100615033d191513110c1311003d19151311301500150410150015061b1a181b15104e101500154e1d191513115b131d124f16150711424058264418333b30181c35253536353d35353535353535245b5b5b0d3c41363531353535353538353535353535363535313535353d3626353543030706170b13111b181b1715001d1b1a0d1a1b001d121d1715001d1b1a07040401071c04191d101d061715191106150a191d17061b041c1b1a1107070411151f11060b1011021d1711591d1a121b0f1615171f13061b011a1059070d1a170916180111001b1b001c12041106071d0700111a005907001b06151311141519161d111a0059181d131c005907111a071b060d151717111811061b191100110609130d061b07171b04110c1915131a11001b19110011060917181d04161b150610141517171107071d161d181d000d591102111a00070e17181d04161b15061059061115100f17181d04161b1506105903061d00110f04150d19111a00591c151a101811060b041106191d07071d1b1a070142031a1504014305050111060d041a15191104001c111a0507001500110604061b190400071306151a0011100610111a1d111005171500171c0719110707151311301d07541a1b005415540215181d1054111a0119540215180111541b1254000d041154241106191d07071d1b1a3a1519110319150403151818041e1b1d1a0e2c301b19151d1a261105011107000b170611150011241b040104130611191b02113102111a00381d0700111a11060d13181b16151827001b061513110c1b04111a3015001516150711091d1a10110c111030360b15000015171c3102111a000d3517001d02112c3b161e1117000d101d07041500171c3102111a000b15101036111c15021d1b06101510103102111a00381d0700111a11060b10110015171c3102111a0009121d06113102111a001039010015001d1b1a3b16071106021106133c20393839111a013d00111931181119111a00093d1a004c350606150d0b041b0700391107071513110d050111060d2711181117001b060b041106121b0619151a1711031a1b030618111a13001c0b171b1a00110c0039111a010f101b170119111a0031181119111a000c1a15001d021138111a13001c0b1e07321b1a0007381d07000b070d1a00150c3106061b0607131100201d191109001d191107001519040512181b1b0611131100201d19110e1b1a113b121207110008001d19110e1b1a11051915131d17060324061b0407061024061b0407031e07020b16061b03071106200d0411061d120615191103151d10050000171d100617181d111a000700002b07171d1005001b1f111a07190713200d04110b04061d0215170d391b101107151d10381d0700050000031d100800002b0311161d100700002311163d100b00002b0311161d102b02460900002311161d102246061507071d131a07041801131d1a070607170611111a06170107001b190e19073a1103201b1f111a381d0700060704181d171109001b1f111a381d0700040c19071d051d1a10110c090700061d1a131d120d041e071b1a0f2331362b3031223d37312b3d3a323b0a0611131d1b1a371b1a12090611041b0600210618', 'dev', '[object\x20Function]', 'substring', '_invoke', 'getBattery', 'boeHost', 'asgw', 'Generator', 'boe', 'decorators', 'exports', 'accessor', 'plugins', 'this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called', 'delegate', 'attempted\x20to\x20set\x20read\x20only\x20static\x20private\x20field', 'callback=', 'MAX_TEXTURE_MAX_ANISOTROPY_EXT', 'toStringTag', ';\x20expires=', 'match', 'root', 'setItem', 'getContextAttributes', 'withCredentials', 'Class\x20\x22', 'mozvisibilitychange', 'userLanguage', 'createHash', 'map', 'Cannot\x20destructure\x20', 'hBytes', '[object\x20Number]', 'floor', 'access', '484e4f4a403f5243001a3309b621c6a00000000048c0ec7f000000650d14000111010012000047000c1101001200001400014500090211010143001400011101024a1200014300110001150002021101030304430114000211000202110104021101051101064a12000311000143011100024302070004430218140003110003420005077563656f6860690348495109524f4b435552474b56095552544f48414f405f40676465626360616e6f6c6d6a6b686976777475727370717e7f7c474445424340414e4f4c4d4a4b484956575455525350515e5f5c16171415121310111e1f0b08', 'MAX_COMBINED_TEXTURE_IMAGE_UNITS', 'default', 'public', 'vendorSub', 'touchstart', 'getExtension', 'Aparajita', 'finalize', 'propertyIsEnumerable', 'end', 'localStorage', '@@iterator', 'deviceMemory', 'kHttp', '@@toStringTag', 'cookieEnabled', 'fromCharCode', 'done', 'set', 'createDataChannel', 'stringify', 'async', 'Descriptor', 'hashed', 'ontouchstart', 'onicegatheringstatechange', 'getOwnPropertyDescriptors', 'then', 'function', 'CordiaUPC', 'T_CLICK', 'EXT_texture_filter_anisotropic', 'MS\x20Outlook', '80pSJSjK', 'Jokerman', 'byted_acrawler', 'visibilityState', 'span', 'isWebmssdk', '__web_idontknowwhyiwriteit__', 'cpuClass', 'serif', 'initialized', 'accessor\x20decorators\x20must\x20return\x20an\x20object\x20with\x20get,\x20set,\x20or\x20init\x20properties\x20or\x20void\x200', '[object\x20HTMLAllCollection]', 'Decorating\x20class\x20property\x20failed.\x20Please\x20ensure\x20that\x20proposal-class-properties\x20is\x20enabled\x20and\x20runs\x20after\x20the\x20decorators\x20transform.', '\x27\x20to\x20be\x20a\x20function', 'VERSION', 'toLowerCase', 'MAX_TEXTURE_SIZE', 'triggerUnload', 'MAX_VERTEX_TEXTURE_IMAGE_UNITS', 'element', 'apply', 'document', 'exec', 'send', ')\x20can\x27t\x20be\x20decorated.', 'min', '484e4f4a403f5243002814122ddd79950000009eb285a1cb000000e811000114000402110201110001430147007c1102021200041400051100050700052347000f0700061102021200060c00024500120700061102021200060700041100050c0004140006021102030211020411000143011100064302140007021102051100074301140008021102061100080700054302140009021102031100071101011100090c000243021400040211010211000411000211000343034205000000003b03140003070000140001110100120001082334000611010012000247000208421101001200011400021100021101001500030011010015000211000311010015000108420007070d78173a322026043a25303b150a0a34360a3c3b2130273630252130310a3a25303b050a3a25303b0b0a0a34360a213026213c3100073826013a3e303b', 'vivobrowser', 'descriptor', 'language', '484e4f4a403f524300023a25866a0150000000002b0aa01b000001541101001200004a12000143001400011100014a120002070003430103002a47000201420700041400021101013a070004254700060700044500090211010211010143011100022534000d1101014a1200054300070006263400161101031200071200054a12000811010143010700062634001e1101043a07000425470006070004450009021101021101044301110002253400151101044a12000543004a120002070009430103002734001e1101003a070004254700060700044500090211010211010043011100022534000d1101004a120005430007000a263400121101001200004a12000207000b430103002a34001e1101053a07000425470006070004450009021101021101054301110002254700020042021101064300324700331101073a070004254700060700044500090211010211010743011100022534000d1101074a120005430007000c2647000200420142000d096f697f685b7d7f746e0b6e7556756d7f68597b697f0773747e7f62557c087f767f796e687574096f747e7f7c73747f7e086e75496e6873747d0f417578707f796e3a4d73747e756d47096a68756e756e636a7f04797b7676085e75796f777f746e12417578707f796e3a547b6c737d7b6e7568470570697e757710417578707f796e3a5273696e75686347', 'vendor', 'level', 'attempted\x20to\x20call\x20', 'placement', 'JS_MD5_NO_NODE_JS', 'initializeClassElements', 'indexedDB', 'perf', 'disallowProperty', 'lime', '484e4f4a403f524300341b3e336a785800000000dbd5951f000001b50114000111010012000000254700070014000145001b1101001200000125470007011400014500090211010143001400010d010e0001010e0002010e00031100010e0004010e0005010e0006010e0007010e0008010e0009010e000a010e000b000e000c1400020211010243001100021500051100021200053247005c021101031100024301490211010411000243014902110105430011000215000702110106430011000215000802110107430011000215000902110108430011000215000b0211010943001100021500030211010a4300110002150002030014000311000303012f170003354911000311000212000b03012b2f170003354911000311000212000a03022b2f170003354911000311000212000903032b2f170003354911000311000212000803042b2f170003354911000311000212000703052b2f17000335491100031100020700061303062b2f170003354911000311000212000503072b2f17000335491100031100020700041303082b2f170003354911000311000212000303092b2f1700033549110003110002120002030a2b2f170003354911010b12000d1100032f11010b07000d354911000242000e0e547b6a796a66587c627f686344650a6f62796e687f58626c650a6864657862787f6e657f086764686a7f62646506787c627f6863036f6466086f6e697e6c6c6e790465646f6e077b636a657f6466097c6e696f79627d6e7909626568646c65627f640463646460047f6e787f076e657d68646f6e', 'moveList', 'MYRIAD\x20PRO', 'An\x20element\x20descriptor', 'finallyLoc', 'head', 'innerHeight', 'ORIGIN:\x20', 'region', 'addInitializer', '[object\x20SafariRemoteNotification]', 'candidate', 'content-type', 'userAgent', 'webkitHidden', 'test', 'getPrototypeOf', 'setDate', 'shiftKey', 'accessor.init', '@@asyncIterator', 'accessor.set']; + w_0x42f5 = function () { + return _0x458f30; + } + ; + return w_0x42f5(); + } + + function w_0x5c3140(_0x41676a, _0x3f9548, _0x39b0b8) { + var _0x2145df = w_0x25f3; + + function _0x467cb0(_0x174e0d, _0x4ea737) { + var _0x569e4c = w_0x25f3 + , + _0x3ed868 = parseInt(_0x174e0d[_0x569e4c(0x2a5)](_0x4ea737, _0x4ea737 + (0x30 * 0x1a + 0x1 * 0x1424 + -0xc2 * 0x21)), -0x253b + -0x1ce1 + -0x974 * -0x7); + return _0x3ed868 >>> 0x23ca + 0x882 + 0x2c45 * -0x1 == 0x11cb + -0x5c7 * 0x3 + 0x2 * -0x3b ? [-0xc * 0x300 + 0x1 * 0x1067 + 0x139a, _0x3ed868] : _0x3ed868 >>> -0x3 * 0x3b9 + 0x4a * 0x75 + -0x16a1 == -0x742 + -0x429 + 0xb6d ? (_0x3ed868 = (-0x1eee + 0x1175 + 0xdb8 & _0x3ed868) << 0x2 * 0x108d + 0x2 * -0x5e6 + 0x1 * -0x1546, + [-0x949 + 0xe2f + -0x4 * 0x139, _0x3ed868 += parseInt(_0x174e0d['slice'](_0x4ea737 + (0x5 * -0x643 + -0x1 * 0x95 + -0x1fe6 * -0x1), _0x4ea737 + (0x9b6 + 0x8 * 0x24a + -0x1c02)), -0xa6 * 0x11 + -0x3f * -0x1 + 0x6f * 0x19)]) : (_0x3ed868 = (0x1af1 + 0x1442 + -0x964 * 0x5 & _0x3ed868) << 0x3f3 + -0xd93 + 0x9b0, + [-0x13 * -0x192 + -0x1588 + 0xc1 * -0xb, _0x3ed868 += parseInt(_0x174e0d[_0x569e4c(0x2a5)](_0x4ea737 + (-0x8 * 0x39c + 0x59 * 0x35 + 0x1 * 0xa75), _0x4ea737 + (0x1 * -0xad6 + -0x326 + 0x16 * 0xa3)), 0x20b0 + -0x7d + -0x1b1 * 0x13)]); + } + + var _0x450bf1, _0x55d729 = 0x242c + 0x150c * 0x1 + -0x4 * 0xe4e, _0x26f45f = [], _0x408609 = [], + _0x5e254d = parseInt(_0x41676a[_0x2145df(0x2a5)](-0x43 * 0x7a + 0xbac * -0x1 + 0x2 * 0x15cd, -0x18c6 + -0x1515 + 0x2de3), -0x17e6 + 0x4 * -0x269 + 0x1fa * 0x11), + _0x56844b = parseInt(_0x41676a[_0x2145df(0x2a5)](0x262 * -0x3 + 0x19e0 + -0x12b2, 0x5 * 0x3e + 0xd * -0x2ec + -0x73 * -0x52), 0x1 * 0xd69 + 0x1 * 0xb9 + -0xe12); + if (-0x5eec40a * 0xd + 0x353b2368 + 0x60332064 !== _0x5e254d || 0x7b7 * 0x44245 + -0x712c7271 + 0x1ce9b3ad * 0x5 !== _0x56844b) + throw new Error(_0x2145df(0x2a7)); + if (0x2 * 0xae1 + -0x1e47 + 0x885 !== parseInt(_0x41676a[_0x2145df(0x2a5)](0x1 * 0x45 + 0x149 * -0x1 + 0x114, -0x1d69 * -0x1 + 0xf47 * 0x1 + -0x2c9e), -0x59 * 0x4b + -0xfdb + -0xd7 * -0x32)) + throw new Error('ve'); + for (_0x450bf1 = 0x2 * 0xe7d + -0xdf * -0x19 + 0x3d * -0xd5; _0x450bf1 < -0x22db * -0x1 + -0xf98 * -0x1 + -0x1 * 0x326f; ++_0x450bf1) { + _0x55d729 += (-0x1a7 * 0x3 + 0x17 * -0x47 + 0xb59 & parseInt(_0x41676a[_0x2145df(0x2a5)](0x751 * -0x4 + 0x1d * 0xfd + 0xb3 + (-0x44b * 0x7 + -0x100 + 0x1f0f) * _0x450bf1, 0x8 * 0x3ae + 0x128d + -0xd * 0x3af + (0x2 * -0x80f + -0xd * 0x24a + 0x2de2) * _0x450bf1), -0x14d6 + -0x255 + 0x173b)) << (-0x1ce2 * -0x1 + 0x11e3 + -0x2ec3) * _0x450bf1; + } + var _0x537efa = parseInt(_0x41676a[_0x2145df(0x2a5)](0x13 * -0x209 + 0x116b + 0xc * 0x1c8, -0x26a0 + 0x10d * -0x12 + 0x39b2), 0x154e + -0x25e * -0xf + 0xe3 * -0x40) + , + _0x3d66d8 = (0x1bdb * 0x1 + -0x4e9 * 0x3 + -0xd1e) * parseInt(_0x41676a[_0x2145df(0x2a5)](-0x1 * -0x24f5 + 0x2279 + 0x67a * -0xb, -0x2 * -0x1083 + -0x5 * 0x185 + 0xef * -0x1b), -0x82 + 0x8e6 + 0x4 * -0x215); + for (_0x450bf1 = -0x2471 + -0x116 * -0x7 + 0x1d0f * 0x1; _0x450bf1 < _0x3d66d8 + (-0x1c * -0x106 + 0x370 + -0x8 * 0x3fc); _0x450bf1 += 0x13ac * 0x1 + 0x9bd * 0x1 + -0x1 * 0x1d67) + _0x26f45f[_0x2145df(0x36e)](parseInt(_0x41676a[_0x2145df(0x2a5)](_0x450bf1, _0x450bf1 + (0x7 * 0x539 + 0x3cb * -0x2 + -0x1 * 0x1cf7)), 0x23fc + -0xa45 + -0x3 * 0x88d)); + var _0x50f001 = _0x3d66d8 + (-0x1429 + -0x69d * -0x1 + 0x371 * 0x4) + , + _0x23f32e = parseInt(_0x41676a[_0x2145df(0x2a5)](_0x50f001, _0x50f001 + (-0x179c + -0x3f + -0x61 * -0x3f)), -0x2a * 0x65 + -0x20e5 + 0x3187); + for (_0x50f001 += -0x20c6 + 0x3 * -0x1a5 + 0x25b9, + _0x450bf1 = -0x2 * -0x766 + 0x127e + -0x214a; _0x450bf1 < _0x23f32e; ++_0x450bf1) { + var _0x37a7c1 = _0x467cb0(_0x41676a, _0x50f001); + _0x50f001 += (0xcfd + 0x399 * -0x3 + -0x7 * 0x50) * _0x37a7c1[-0x14ee + -0x912 + 0x1e00]; + for (var _0x13d988 = '', _0x4b0c3a = -0x1bcf + 0x16cf + 0x10 * 0x50; _0x4b0c3a < _0x37a7c1[-0x476 * 0x3 + -0x112b + 0x2 * 0xf47]; ++_0x4b0c3a) { + var _0x49abb4 = _0x467cb0(_0x41676a, _0x50f001); + _0x13d988 += String[_0x2145df(0x1e2)](_0x55d729 ^ _0x49abb4[0x18f1 * -0x1 + -0x17e5 * 0x1 + -0x30d7 * -0x1]), + _0x50f001 += (0x2dd * -0xd + -0x8 * 0x227 + 0x3673) * _0x49abb4[-0xd9 + 0x1702 + -0x763 * 0x3]; + } + _0x408609['push'](_0x13d988); + } + return _0x3f9548['p'] = null, + function _0x970e7(_0x3e87c6, _0x536685, _0xecd4ef, _0x5acf67, _0x560641) { + var _0x261736 = _0x2145df, _0x1fc1ed, _0x281ec0, _0x5c0f33, _0xd55c82, _0x37b70b, + _0x12cd72 = -(0x1bdd + -0x8 * 0x116 + -0x3 * 0x664), _0x27fcf3 = [], + _0x42ef1a = [-0x5 * -0x2b6 + 0x1d6c + -0x2afa, null], _0x428c87 = null, _0x4444cf = [_0x536685]; + for (_0x281ec0 = Math['min'](_0x536685[_0x261736(0x259)], _0xecd4ef), + _0x5c0f33 = -0x90b + -0x1 * 0x1e2f + 0x273a; _0x5c0f33 < _0x281ec0; ++_0x5c0f33) + _0x4444cf[_0x261736(0x36e)](_0x536685[_0x5c0f33]); + _0x4444cf['p'] = _0x5acf67; + for (var _0x4b7ccd = []; ;) + try { + var _0x5cd5b9 = _0x26f45f[_0x3e87c6++]; + if (_0x5cd5b9 < -0x788 + 0x18c7 + 0x1 * -0x1118) { + if (_0x5cd5b9 < 0x208d + -0x1031 + -0x1049 * 0x1) { + if (_0x5cd5b9 < 0x1a1c + -0xbff * 0x3 + 0x27a * 0x4) + _0x5cd5b9 < 0x3ee + 0x1 * 0x21c3 + -0x2e6 * 0xd ? _0x27fcf3[++_0x12cd72] = _0x5cd5b9 < -0x61 * 0x61 + 0x1115 + 0x13ad || -0x1d * -0x4f + 0x11c9 + 0x3 * -0x8e9 !== _0x5cd5b9 && null : _0x5cd5b9 < -0x783 + 0xa0d + -0x285 ? -0xb * 0x24f + 0x141a + 0x54e === _0x5cd5b9 ? (_0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0x27fcf3[++_0x12cd72] = _0x1fc1ed << 0x12b * 0x1f + 0x5 * 0x70c + -0x4759 >> -0x352 + 0x7 * 0x58f + -0x237f) : (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0xb02 + 0x2af + -0xda9) + _0x26f45f[_0x3e87c6 + (0x220e + 0x1 * -0x1175 + -0x1098)], + _0x3e87c6 += -0x325 * 0x3 + 0xafe + -0x18d, + _0x27fcf3[++_0x12cd72] = _0x1fc1ed << -0xe7c * -0x1 + -0xe17 * -0x2 + -0x2a9a >> -0x23ae * 0x1 + -0x1f8f + -0x434d * -0x1) : -0xa * 0x15c + 0x24bc + -0x1 * 0x171f === _0x5cd5b9 ? (_0x1fc1ed = ((_0x1fc1ed = ((_0x1fc1ed = _0x26f45f[_0x3e87c6++]) << -0x1f87 + -0xda8 + 0x2d37) + _0x26f45f[_0x3e87c6++]) << -0x1d32 + -0x2 * 0x124 + 0x1f82) + _0x26f45f[_0x3e87c6++], + _0x27fcf3[++_0x12cd72] = (_0x1fc1ed << 0xc * -0x8 + -0x25f7 + 0x265f) + _0x26f45f[_0x3e87c6++]) : (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x1bf7 + 0x4e9 * 0x7 + -0xc76 * 0x5) + _0x26f45f[_0x3e87c6 + (0xba7 + -0x1611 + 0xa6b)], + _0x3e87c6 += 0xa1e + -0x1a21 + 0x557 * 0x3, + _0x27fcf3[++_0x12cd72] = +_0x408609[_0x1fc1ed]); + else { + if (_0x5cd5b9 < 0x369 * -0x9 + 0x20de + -0x220) + _0x5cd5b9 < -0x2626 + 0x336 * -0x5 + 0x363f ? 0x12b * -0x15 + -0x2 * -0x11f5 + 0x5ae * -0x2 === _0x5cd5b9 ? (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x8 * 0x2 + 0x35 * 0x18 + -0x500) + _0x26f45f[_0x3e87c6 + (-0x330 + -0xec * -0x5 + -0x16b)], + _0x3e87c6 += 0x224 + -0x19 * -0xb3 + -0x1 * 0x139d, + _0x27fcf3[++_0x12cd72] = _0x408609[_0x1fc1ed]) : _0x27fcf3[++_0x12cd72] = void (0x5 * 0x1ef + 0x2493 * -0x1 + -0x35d * -0x8) : 0x1abb + 0x191 * 0xd + -0x3 * 0xfaf === _0x5cd5b9 ? _0x27fcf3[++_0x12cd72] = _0x560641 : (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << -0x20b0 + -0x3da + 0x2492) + _0x26f45f[_0x3e87c6 + (-0x129d * 0x1 + 0x1 * -0x2316 + 0x35b4)], + _0x3e87c6 += -0xcb8 + 0x1bb * -0xa + -0x2 * -0xf04, + _0x12cd72 = _0x12cd72 - _0x1fc1ed + (0xb3 * 0x1 + -0x2018 * 0x1 + 0x1 * 0x1f66), + _0x281ec0 = _0x27fcf3[_0x261736(0x2a5)](_0x12cd72, _0x12cd72 + _0x1fc1ed), + _0x27fcf3[_0x12cd72] = _0x281ec0); + else { + if (_0x5cd5b9 < 0x2 * -0xf38 + 0xdd0 + 0x10b1) + -0x15d2 + 0x26f0 + 0x11 * -0x101 === _0x5cd5b9 ? _0x27fcf3[++_0x12cd72] = {} : (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << -0x9ac + 0x1201 * 0x1 + -0x84d) + _0x26f45f[_0x3e87c6 + (0x1ecb + -0x1bdd + 0x7 * -0x6b)], + _0x3e87c6 += 0x6a4 + -0x922 + 0x280, + _0x281ec0 = _0x408609[_0x1fc1ed], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72][_0x281ec0] = _0x5c0f33); + else { + if (0x17 * -0xc3 + 0x1da5 + 0x3 * -0x405 === _0x5cd5b9) { + for (_0x281ec0 = _0x26f45f[_0x3e87c6++], + _0x5c0f33 = _0x26f45f[_0x3e87c6++], + _0xd55c82 = _0x4444cf; _0x281ec0 > -0x3 * 0x4ba + -0x12 * 0xb1 + 0x1aa0; --_0x281ec0) + _0xd55c82 = _0xd55c82['p']; + _0x27fcf3[++_0x12cd72] = _0xd55c82[_0x5c0f33]; + } else + _0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x15c3 + -0x453 + -0x1168) + _0x26f45f[_0x3e87c6 + (-0x1f3f * 0x1 + 0x1f6a + 0x6 * -0x7)], + _0x3e87c6 += 0x1 * -0x1f4e + -0x118f * 0x1 + 0x30df, + _0x281ec0 = _0x408609[_0x1fc1ed], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72][_0x281ec0]; + } + } + } + } else { + if (_0x5cd5b9 < -0xf5c + -0x6d7 + 0x164e) { + if (_0x5cd5b9 < 0xc8 * -0x2f + 0xee * -0x9 + -0xf * -0x303) { + if (_0x5cd5b9 < 0x1 * -0x2426 + 0x224e + 0x11 * 0x1d) { + if (-0xb15 + 0x2d5 * 0x1 + -0x853 * -0x1 === _0x5cd5b9) + _0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72][_0x281ec0]; + else { + for (_0x281ec0 = _0x26f45f[_0x3e87c6++], + _0x5c0f33 = _0x26f45f[_0x3e87c6++], + _0xd55c82 = _0x4444cf; _0x281ec0 > 0x2 * -0x11b8 + 0x240a + -0x9a; --_0x281ec0) + _0xd55c82 = _0xd55c82['p']; + _0xd55c82[_0x5c0f33] = _0x27fcf3[_0x12cd72--]; + } + } else + 0x1 * 0x17f1 + 0x115 * -0x9 + 0x2d3 * -0x5 === _0x5cd5b9 ? (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x16ff + 0x158a + -0x2c81 * 0x1) + _0x26f45f[_0x3e87c6 + (0x88f * -0x3 + 0x1c82 + 0x16a * -0x2)], + _0x3e87c6 += 0x1 * -0xa7 + 0x18d4 + 0x1 * -0x182b, + _0x281ec0 = _0x408609[_0x1fc1ed], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0xd55c82 = _0x27fcf3[_0x12cd72--], + _0x5c0f33[_0x281ec0] = _0xd55c82) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0xd55c82 = _0x27fcf3[_0x12cd72--], + _0x5c0f33[_0x281ec0] = _0xd55c82); + } else { + if (_0x5cd5b9 < -0x19f3 + 0x1c6b + -0x25f) { + if (0x1b * -0xbd + -0x84a * -0x2 + -0x126 * -0x3 === _0x5cd5b9) { + for (_0x281ec0 = _0x26f45f[_0x3e87c6++], + _0x5c0f33 = _0x26f45f[_0x3e87c6++], + _0xd55c82 = _0x4444cf, + _0xd55c82 = _0x4444cf; _0x281ec0 > 0x3 * -0x65a + 0xe28 + 0x4e6; --_0x281ec0) + _0xd55c82 = _0xd55c82['p']; + _0x27fcf3[++_0x12cd72] = _0xd55c82, + _0x27fcf3[++_0x12cd72] = _0x5c0f33; + } else + _0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] += _0x281ec0; + } else + 0x44b * -0x9 + 0x61 * -0xa + -0x2a86 * -0x1 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] -= _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] *= _0x281ec0); + } + } else + _0x5cd5b9 < 0x3 * -0x7ce + 0x907 * -0x1 + -0x1 * -0x2094 ? _0x5cd5b9 < 0xa68 + -0xc5f + 0x214 ? 0x3e * -0x7d + 0x13d1 + 0xa90 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] /= _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] %= _0x281ec0) : -0x171d * -0x1 + -0x6a2 * -0x3 + -0x2ae6 === _0x5cd5b9 ? _0x27fcf3[_0x12cd72] = -_0x27fcf3[_0x12cd72] : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[++_0x12cd72] = _0x5c0f33[_0x281ec0]++) : _0x5cd5b9 < 0x2565 + -0x2 * -0xd76 + -0x1bc * 0x25 ? 0x951 + 0x13da + -0x1d08 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] == _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] != _0x281ec0) : -0x144c * -0x1 + 0xd01 + -0x2128 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] === _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] !== _0x281ec0); + } + } else { + if (_0x5cd5b9 < -0x3bb + 0xdb6 + -0x9c2 * 0x1) + _0x5cd5b9 < -0xe16 + -0x2 * -0x409 + 0x633 ? _0x5cd5b9 < 0x1 * 0xeea + -0x3 * 0x863 + 0x2b * 0x3e ? _0x5cd5b9 < -0x2f * -0x15 + 0x185 * 0x2 + -0x35e * 0x2 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] < _0x281ec0) : -0x2152 + -0x1853 + 0x39ce === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] > _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] >= _0x281ec0) : _0x5cd5b9 < 0x3 * -0x822 + 0xc76 + 0x1bb * 0x7 ? 0x20ae + -0x21ca + -0x6d * -0x3 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] << _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] >> _0x281ec0) : -0x10 * 0x1a + -0x1431 + 0xa * 0x233 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] >>> _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] & _0x281ec0) : _0x5cd5b9 < 0x1 * 0x1ca7 + 0x1ea1 * 0x1 + -0x31c * 0x13 ? _0x5cd5b9 < -0xa63 * -0x2 + -0x114d + -0x1 * 0x347 ? -0x12b5 + -0x153 * 0x4 + 0x8 * 0x306 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] | _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] ^ _0x281ec0) : -0xab + 0x10c1 + 0x9 * -0x1c4 === _0x5cd5b9 ? _0x27fcf3[_0x12cd72] = !_0x27fcf3[_0x12cd72] : (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x9 * -0xd0 + -0x1 * -0xa04 + 0x2 * -0x156) + _0x26f45f[_0x3e87c6 + (0xa6a + 0x113c + 0x1ba5 * -0x1)]) << 0x2 * -0x41b + -0x1bf1 + 0x7f * 0x49 >> -0x1bc0 + 0x232e + -0x75e, + _0x3e87c6 += -0x62 * 0x31 + 0x26b * 0x7 + 0x1d7 * 0x1, + _0x27fcf3[_0x12cd72] ? --_0x12cd72 : _0x3e87c6 += _0x1fc1ed) : _0x5cd5b9 < 0x8 * 0x493 + -0x6c * 0x49 + 0x1a * -0x37 ? -0x21 * 0x1 + -0x3 * -0xc19 + 0x2 * -0x11fb === _0x5cd5b9 ? (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << -0x2 * 0x11ff + 0x9d3 + 0x1a33) + _0x26f45f[_0x3e87c6 + (0x1ba6 + -0x134f * -0x1 + -0x2ef4)]) << 0x10dc * -0x1 + -0x1130 + 0x221c >> -0x5 * 0x685 + 0x1a23 + 0x686, + _0x3e87c6 += 0x4 * 0xf9 + -0x21c5 + 0x1de3, + _0x27fcf3[_0x12cd72] ? _0x3e87c6 += _0x1fc1ed : --_0x12cd72) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + (_0x5c0f33 = _0x27fcf3[_0x12cd72--])[_0x281ec0] = _0x27fcf3[_0x12cd72]) : -0x5 * -0x65c + 0x15 * 0x17b + -0x3ead === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] in _0x281ec0) : (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] = _0x27fcf3[_0x12cd72] instanceof _0x281ec0); + else { + if (_0x5cd5b9 < 0x52 + 0x7 * 0x102 + -0x2 * 0x38f) { + if (_0x5cd5b9 < -0x1887 + -0x303 + 0x1bc7) + _0x5cd5b9 < 0x2132 + -0x592 * 0x2 + -0x15d3 ? -0x136b + -0x21cd + 0x3571 * 0x1 === _0x5cd5b9 ? (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[++_0x12cd72] = delete _0x5c0f33[_0x281ec0]) : _0x27fcf3[_0x12cd72] = typeof _0x27fcf3[_0x12cd72] : 0xeed * 0x1 + -0xa1e + 0x2 * -0x24a === _0x5cd5b9 ? (_0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0x281ec0 = _0x27fcf3[_0x12cd72--], + (_0x5c0f33 = function _0x3b7712() { + var _0x295f58 = _0x3b7712['_u'] + , _0x29116a = _0x3b7712['_v']; + return _0x295f58(_0x29116a[0x28c * 0x4 + -0x6 * 0x1d6 + 0xd4], arguments, _0x29116a[0x1d72 * 0x1 + 0x7b * -0x1b + -0x1078], _0x29116a[0x11e6 + 0x1a1f * -0x1 + 0x83b], this); + } + )['_v'] = [_0x281ec0, _0x1fc1ed, _0x4444cf], + _0x5c0f33['_u'] = _0x970e7, + _0x27fcf3[++_0x12cd72] = _0x5c0f33) : (_0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0x281ec0 = _0x27fcf3[_0x12cd72--], + (_0xd55c82 = [_0x5c0f33 = function _0x465123() { + var _0x2f6d57 = _0x465123['_u'] + , _0x399ae1 = _0x465123['_v']; + return _0x2f6d57(_0x399ae1[-0x113b + 0xb * 0x71 + 0xc60], arguments, _0x399ae1[0xa13 + 0x24b0 + -0x9 * 0x532], _0x399ae1[0x1 * 0x463 + -0x56 * -0x49 + -0x1ce7], this); + } + ])['p'] = _0x4444cf, + _0x5c0f33['_v'] = [_0x281ec0, _0x1fc1ed, _0xd55c82], + _0x5c0f33['_u'] = _0x970e7, + _0x27fcf3[++_0x12cd72] = _0x5c0f33); + else { + if (_0x5cd5b9 < 0x62 * -0xd + 0xae3 + -0x5a9) + 0x9d1 * -0x1 + 0x2425 + -0x1 * 0x1a17 === _0x5cd5b9 ? (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0xd1 * 0x2 + -0xe5 * 0x7 + 0x4a9) + _0x26f45f[_0x3e87c6 + (0x33a + -0xb14 + 0x7db * 0x1)]) << -0xb * -0xde + 0x1199 + -0x1b13 >> -0xa3d + 0xc * 0x2aa + -0x15ab, + _0x3e87c6 += -0x2f * 0x3 + 0x2 * 0x9a3 + -0x12b7, + (_0x281ec0 = _0x4b7ccd[_0x4b7ccd['length'] - (0x427 + 0xa54 + -0xda * 0x11)])[0x5d4 + 0x14f2 + -0x4d * 0x59] = _0x3e87c6 + _0x1fc1ed) : (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x349 * -0x2 + 0xa4 * -0x17 + 0x1556) + _0x26f45f[_0x3e87c6 + (-0x86 * -0x2 + -0x1c9 + -0xbe * -0x1)]) << 0x14bf + -0x1aec + -0x1 * -0x63d >> 0x2 * 0x17b + -0x1e3c + 0x1b56, + _0x3e87c6 += -0x1 * -0x1052 + 0x10 * -0x17e + 0x790, + (_0x281ec0 = _0x4b7ccd[_0x4b7ccd['length'] - (-0x1ad2 + 0x1b9 * 0x2 + 0x39 * 0x69)]) && !_0x281ec0[-0x3 * 0xe8 + -0x5 * -0x142 + -0x1 * 0x391] ? (_0x281ec0[0x25 * -0x7a + 0x21ec + -0x104a] = 0x7bf + -0x3 * -0xa43 + -0x2685, + _0x281ec0[_0x261736(0x36e)](_0x3e87c6)) : _0x4b7ccd[_0x261736(0x36e)]([-0x1d * 0x82 + -0x11f4 + 0x20af, 0x15ac + -0x399 * -0x9 + -0x360d, _0x3e87c6]), + _0x3e87c6 += _0x1fc1ed); + else { + if (0x2263 * -0x1 + -0x689 + 0x292c === _0x5cd5b9) + throw _0x281ec0 = _0x27fcf3[_0x12cd72--]; + if (_0x5c0f33 = (_0x281ec0 = _0x4b7ccd['pop']())[0x1 * 0x6a1 + 0x1ceb + -0x238c], + _0xd55c82 = _0x42ef1a[-0x1b8 + 0x1d25 + -0x3eb * 0x7], + 0x751 * 0x1 + -0xa4b + 0x7 * 0x6d === _0x5c0f33) + _0x3e87c6 = _0x281ec0[0x1 * 0x8e + 0x128c + -0x1319]; + else { + if (0x11f4 + 0x3 * 0x95 + -0x13b3 === _0x5c0f33) { + if (-0x2607 + -0xdc8 + -0x1145 * -0x3 === _0xd55c82) + _0x3e87c6 = _0x281ec0[-0x262 + -0x12bf * -0x2 + 0x13 * -0x1d9]; + else { + if (0x6d * 0x2 + 0x2ff * -0x9 + 0x1a1e !== _0xd55c82) + throw _0x42ef1a[0x3 * 0xced + 0x1dd7 + 0x16df * -0x3]; + if (!_0x428c87) + return _0x42ef1a[0x21b7 + 0x20a5 * -0x1 + -0x5b * 0x3]; + _0x3e87c6 = _0x428c87[-0x4bd + -0x3 * -0x353 + 0x53b * -0x1], + _0x560641 = _0x428c87[0x149e + 0x1 * -0x751 + -0xd4b], + _0x4444cf = _0x428c87[-0x2 * 0x94d + -0x7bf * -0x1 + 0x2 * 0x56f], + _0x4b7ccd = _0x428c87[0x15c3 * 0x1 + -0x4 * 0x82e + -0x35 * -0x35], + _0x27fcf3[++_0x12cd72] = _0x42ef1a[0x3 * 0xaf3 + -0x983 + -0x1755], + _0x42ef1a = [-0x1c1c + -0x14c * 0x1a + 0x3dd4, null], + _0x428c87 = _0x428c87[0x1a3 + 0x1 * -0x1e23 + 0x1c80]; + } + } else + _0x3e87c6 = _0x281ec0[-0x1 * -0x953 + 0x159 * 0x1 + -0xaaa], + _0x281ec0[0x26ad * -0x1 + 0x2 * -0xe4b + 0x4343] = 0x100d + -0x19cc + 0x5 * 0x1f3, + _0x4b7ccd[_0x261736(0x36e)](_0x281ec0); + } + } + } + } else { + if (_0x5cd5b9 < 0x195 + -0x3b * -0x9d + -0x3 * 0xc7f) { + if (_0x5cd5b9 < 0xd * -0x1 + 0x229 + -0x1d8) { + if (-0x949 + 0x13f8 + -0xa6d === _0x5cd5b9) { + for (_0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x5c0f33 = null; _0xd55c82 = _0x4b7ccd[_0x261736(0x267)]();) + if (0x1e97 + 0x31 * -0x5e + -0xc97 === _0xd55c82[0x150 + 0x6 * 0x645 + -0x26ee] || 0xb29 * -0x3 + -0x333 * 0x3 + 0x2b17 === _0xd55c82[0x1 * -0x22c2 + -0x187b + 0x3b3d]) { + _0x5c0f33 = _0xd55c82; + break; + } + if (_0x5c0f33) + _0x42ef1a = [-0x11 * 0x14d + 0x1492 * 0x1 + 0x18c, _0x281ec0], + _0x3e87c6 = _0x5c0f33[0xc28 * -0x3 + -0x8 * 0x4e1 + 0x4b82], + _0x5c0f33[0x51e * 0x1 + 0x755 * -0x5 + 0x1f8b] = 0x1875 * 0x1 + 0x146 + -0x19bb, + _0x4b7ccd[_0x261736(0x36e)](_0x5c0f33); + else { + if (!_0x428c87) + return _0x281ec0; + _0x3e87c6 = _0x428c87[0x1 * 0x15be + -0x2639 + 0x107c], + _0x560641 = _0x428c87[-0x1 * 0xe1e + 0x2042 + 0x2 * -0x911], + _0x4444cf = _0x428c87[0x25fd + 0x1cfe + -0x42f8], + _0x4b7ccd = _0x428c87[0x3 * 0xa76 + 0x17ce + -0x372c], + _0x27fcf3[++_0x12cd72] = _0x281ec0, + _0x42ef1a = [-0x7 * 0x4a6 + -0x12d3 + -0x3 * -0x111f, null], + _0x428c87 = _0x428c87[-0x29 * 0x1e + 0x9d * -0x2f + 0x21a1]; + } + } else + _0x12cd72 -= _0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0x5c0f33 = _0x27fcf3['slice'](_0x12cd72 + (0xf4f * -0x1 + 0x1af9 * 0x1 + -0xba9), _0x12cd72 + _0x1fc1ed + (0x230 + 0x1e17 * -0x1 + 0x6fa * 0x4)), + _0x281ec0 = _0x27fcf3[_0x12cd72--], + _0xd55c82 = _0x27fcf3[_0x12cd72--], + _0x281ec0['_u'] === _0x970e7 ? (_0x281ec0 = _0x281ec0['_v'], + _0x428c87 = [_0x428c87, _0x3e87c6, _0x560641, _0x4444cf, _0x4b7ccd], + _0x3e87c6 = _0x281ec0[0x190c + 0x3 * 0x89b + 0x32dd * -0x1], + null == _0xd55c82 && (_0xd55c82 = (function () { + return this; + }())), + _0x560641 = _0xd55c82, + (_0x4444cf = [_0x5c0f33]['concat'](_0x5c0f33))[_0x261736(0x259)] = Math[_0x261736(0x20c)](_0x281ec0[-0x1 * 0x170b + -0x936 + 0x1 * 0x2042], _0x1fc1ed) + (0x3 * -0x4fa + 0x21ed + -0x12fe), + _0x4444cf['p'] = _0x281ec0[-0x16 * -0x1af + 0x35f * 0x1 + 0x2867 * -0x1], + _0x4b7ccd = []) : _0x27fcf3[++_0x12cd72] = _0x281ec0[_0x261736(0x207)](_0xd55c82, _0x5c0f33); + } else { + if (0x60a + -0xf05 * -0x1 + 0x14cb * -0x1 === _0x5cd5b9) { + for (_0x1fc1ed = _0x26f45f[_0x3e87c6++], + _0xd55c82 = [void (-0x1b5d + 0x22a1 + 0x26c * -0x3)], + _0x37b70b = _0x1fc1ed; _0x37b70b > 0x1 * 0xd7e + -0x25f1 + 0x1873; --_0x37b70b) + _0xd55c82[_0x37b70b] = _0x27fcf3[_0x12cd72--]; + _0x5c0f33 = _0x27fcf3[_0x12cd72--], + _0x281ec0 = Function['bind'][_0x261736(0x207)](_0x5c0f33, _0xd55c82), + _0x27fcf3[++_0x12cd72] = new _0x281ec0(); + } else + _0x3e87c6 += (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x1f7 + 0x1 * -0x7d0 + 0x7 * 0xd7) + _0x26f45f[_0x3e87c6 + (0x264a + 0xc3c + -0x3285)]) << 0x4 * 0x3ee + 0x45 * 0x51 + -0x15 * 0x1c9 >> 0x5 * 0x199 + -0x24f * -0x2 + -0xc8b) + (-0x1f3 * 0x6 + 0x24f7 + -0x1943); + } + } else + _0x5cd5b9 < -0x45d * -0x2 + -0x1e51 + 0x15e0 ? 0x125b + 0x198a + -0x2b9e === _0x5cd5b9 ? (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << -0x269 * -0xe + 0x1 * -0x225 + -0x1f91) + _0x26f45f[_0x3e87c6 + (-0x23bd * -0x1 + 0x1ce2 + 0x12 * -0x397)]) << 0xc61 + -0x133b + 0x6ea >> 0x10dc + -0x30a * 0x1 + -0xdc2, + _0x3e87c6 += -0xc5 * -0x9 + -0x252f + 0x1e44, + (_0x281ec0 = _0x27fcf3[_0x12cd72--]) || (_0x3e87c6 += _0x1fc1ed)) : (_0x1fc1ed = (_0x1fc1ed = (_0x26f45f[_0x3e87c6] << 0x55 * 0x14 + 0x1 * 0x1e18 + -0x3 * 0xc3c) + _0x26f45f[_0x3e87c6 + (-0x22a3 + -0x5bf * -0x2 + 0x1726)]) << -0x98e * 0x4 + 0x8a1 * 0x1 + 0x1da7 >> -0x72 * -0x26 + 0x2b * -0x51 + -0x341, + _0x3e87c6 += 0x47 * 0x1d + 0x137 * -0x1d + 0x1b32, + _0x281ec0 = _0x27fcf3[_0x12cd72--], + _0x27fcf3[_0x12cd72] === _0x281ec0 && (--_0x12cd72, + _0x3e87c6 += _0x1fc1ed)) : -0xb * 0x33d + 0x23 * -0xf2 + 0x44fe === _0x5cd5b9 ? --_0x12cd72 : (_0x281ec0 = _0x27fcf3[_0x12cd72], + _0x27fcf3[++_0x12cd72] = _0x281ec0); + } + } + } + } catch (_0x111ea4) { + for (_0x42ef1a = [-0x392 * -0x4 + 0x1a0 + -0xfe8, null]; (_0x1fc1ed = _0x4b7ccd[_0x261736(0x267)]()) && !_0x1fc1ed[0x126a + -0x1 * 0x227c + 0x1012 * 0x1];) + ; + if (!_0x1fc1ed) { + _0x489bfb: for (; _0x428c87;) { + for (_0x281ec0 = _0x428c87[0x10da * -0x1 + -0x539 + 0x1617 * 0x1]; _0x1fc1ed = _0x281ec0[_0x261736(0x267)]();) + if (_0x1fc1ed[0xaf4 * -0x2 + -0x2 * 0x132d + -0x2 * -0x1e21]) + break _0x489bfb; + _0x428c87 = _0x428c87[0x1381 + 0x193e + -0x4f * 0x91]; + } + if (!_0x428c87) + throw _0x111ea4; + _0x3e87c6 = _0x428c87[0xb * -0x277 + 0x14ac + -0x226 * -0x3], + _0x560641 = _0x428c87[0x153e + 0x1fd * -0xf + 0x897], + _0x4444cf = _0x428c87[-0x1 * -0xa2e + 0xcd6 + 0x3 * -0x7ab], + _0x4b7ccd = _0x428c87[-0x2 * 0x1145 + 0x2 * 0x293 + -0x3ad * -0x8], + _0x428c87 = _0x428c87[-0x8e7 + 0x247f + -0x1b98]; + } + -0xe * 0x277 + -0x3db + -0x665 * -0x6 === (_0x281ec0 = _0x1fc1ed[-0xe65 + 0x11d1 + -0x36c]) ? (_0x3e87c6 = _0x1fc1ed[-0x7 * -0x1c + 0x2fe * 0xa + -0x1eae], + _0x1fc1ed[0x3f5 * 0x1 + 0x9e4 + 0x1 * -0xdd9] = -0x1622 * -0x1 + -0x1 * -0x1736 + -0x2d58, + _0x4b7ccd['push'](_0x1fc1ed), + _0x27fcf3[++_0x12cd72] = _0x111ea4) : 0x1a52 + -0xfc4 + 0x2d * -0x3c === _0x281ec0 ? (_0x3e87c6 = _0x1fc1ed[-0x19 * 0xfe + 0x1f98 + -0x6c8], + _0x1fc1ed[0x5 * -0x33f + 0x11d * -0x1 + 0x1158] = 0x3ac * 0x1 + 0x2 * -0x1300 + 0x152 * 0x1a, + _0x4b7ccd['push'](_0x1fc1ed), + _0x42ef1a = [0x8f * 0x1d + -0x1c4b + 0xc1b, _0x111ea4]) : (_0x3e87c6 = _0x1fc1ed[0x31f * -0x5 + -0xae7 + -0x1 * -0x1a85], + _0x1fc1ed[0x27 * -0xb3 + -0x186 * 0xa + 0x2a81] = 0xf9 + 0x164a + -0x1741, + _0x4b7ccd[_0x261736(0x36e)](_0x1fc1ed), + _0x27fcf3[++_0x12cd72] = _0x111ea4); + } + }(_0x537efa, [], -0x1e + 0x2631 + -0x2613, _0x3f9548, _0x39b0b8); + } + + !function (_0xe67213, _0x19937e) { + _0x19937e(window.byted_acrawler = {}); + // var _0x40472c = w_0x25f3; + // 'object' == typeof exports && _0x40472c(0x384) != typeof module ? _0x19937e(exports) : _0x40472c(0x1ee) == typeof define && define['amd'] ? define([_0x40472c(0x1b8)], _0x19937e) : _0x19937e((_0xe67213 = _0x40472c(0x384) != typeof globalThis ? globalThis : _0xe67213 || self)[_0x40472c(0x1f5)] = {}); + }(this, function (_0x1d18f2) { + 'use strict'; + var _0x5612de = w_0x25f3; + + function _0x137ba2(_0x383b51) { + var _0x382940 = w_0x25f3, _0x2e23ce, _0x2c2004; + + function _0x3a4f3f(_0x5a726e, _0x520718) { + var _0x480686 = w_0x25f3; + try { + var _0x4a8345 = _0x383b51[_0x5a726e](_0x520718) + , _0x8d9d0a = _0x4a8345[_0x480686(0x2e4)] + , _0x32f534 = _0x8d9d0a instanceof _0x59d886; + Promise[_0x480686(0x278)](_0x32f534 ? _0x8d9d0a['v'] : _0x8d9d0a)[_0x480686(0x1ed)](function (_0x5047be) { + var _0x2a7bf3 = _0x480686; + if (_0x32f534) { + var _0x1c15d7 = 'return' === _0x5a726e ? _0x2a7bf3(0x2fd) : _0x2a7bf3(0x389); + if (!_0x8d9d0a['k'] || _0x5047be['done']) + return _0x3a4f3f(_0x1c15d7, _0x5047be); + _0x5047be = _0x383b51[_0x1c15d7](_0x5047be)[_0x2a7bf3(0x2e4)]; + } + _0x396815(_0x4a8345[_0x2a7bf3(0x1e3)] ? _0x2a7bf3(0x2fd) : _0x2a7bf3(0x2f1), _0x5047be); + }, function (_0x55c002) { + var _0x11b83e = _0x480686; + _0x3a4f3f(_0x11b83e(0x250), _0x55c002); + }); + } catch (_0x5e07d1) { + _0x396815(_0x480686(0x250), _0x5e07d1); + } + } + + function _0x396815(_0x189a93, _0x2988d2) { + var _0x557617 = w_0x25f3; + switch (_0x189a93) { + case _0x557617(0x2fd): + _0x2e23ce[_0x557617(0x278)]({ + 'value': _0x2988d2, + 'done': !(-0x252f + 0x1b60 + 0x9cf) + }); + break; + case 'throw': + _0x2e23ce[_0x557617(0x39b)](_0x2988d2); + break; + default: + _0x2e23ce[_0x557617(0x278)]({ + 'value': _0x2988d2, + 'done': !(-0x18ec + -0x12dc + 0x2bc9) + }); + } + (_0x2e23ce = _0x2e23ce['next']) ? _0x3a4f3f(_0x2e23ce[_0x557617(0x392)], _0x2e23ce[_0x557617(0x327)]) : _0x2c2004 = null; + } + + this['_invoke'] = function (_0xd1d2b8, _0x168b0a) { + return new Promise(function (_0x1a939a, _0x9b7633) { + var _0x1f7808 = w_0x25f3 + , _0x270c76 = { + 'key': _0xd1d2b8, + 'arg': _0x168b0a, + 'resolve': _0x1a939a, + 'reject': _0x9b7633, + 'next': null + }; + _0x2c2004 ? _0x2c2004 = _0x2c2004[_0x1f7808(0x389)] = _0x270c76 : (_0x2e23ce = _0x2c2004 = _0x270c76, + _0x3a4f3f(_0xd1d2b8, _0x168b0a)); + } + ); + } + , + _0x382940(0x1ee) != typeof _0x383b51[_0x382940(0x2fd)] && (this[_0x382940(0x2fd)] = void (-0xe73 + -0xe * 0x24b + 0x2e8d)); + } + + function _0x59d886(_0x53e3a8, _0x594492) { + this['v'] = _0x53e3a8, + this['k'] = _0x594492; + } + + function _0x1d9867(_0x38463f, _0x559d1b, _0x1b2c54, _0x595501) { + return { + 'getMetadata': function (_0x397823) { + var _0x2d4b6b = w_0x25f3; + _0x1fca4f(_0x595501, _0x2d4b6b(0x349)), + _0x525dc3(_0x397823); + var _0x18296f = _0x38463f[_0x397823]; + if (void (-0x15d1 + 0x4d8 + -0xb * -0x18b) !== _0x18296f) { + if (-0x1fa5 * -0x1 + 0x6b8 + -0x265c === _0x559d1b) { + var _0x192f00 = _0x18296f[_0x2d4b6b(0x1d4)]; + if (void (-0x1 * 0x46d + -0x74 * 0x6 + 0x1f * 0x3b) !== _0x192f00) + return _0x192f00[_0x1b2c54]; + } else { + if (0x409 * 0x8 + 0x53 * -0x3e + -0xc2c === _0x559d1b) { + var _0x6d3fe1 = _0x18296f[_0x2d4b6b(0x261)]; + if (void (0x1c7c + 0x8b0 + -0x7a * 0x4e) !== _0x6d3fe1) + return _0x6d3fe1[_0x2d4b6b(0x32b)](_0x1b2c54); + } else { + if (Object[_0x2d4b6b(0x3b8)][_0x2d4b6b(0x334)](_0x18296f, _0x2d4b6b(0x2ac))) + return _0x18296f[_0x2d4b6b(0x2ac)]; + } + } + } + }, + 'setMetadata': function (_0x3ee519, _0x4e53ba) { + var _0x22e2d1 = w_0x25f3; + _0x1fca4f(_0x595501, _0x22e2d1(0x395)), + _0x525dc3(_0x3ee519); + var _0x39b490 = _0x38463f[_0x3ee519]; + if (void (0x181 * -0x1 + 0x102 * 0x9 + -0x791) === _0x39b490 && (_0x39b490 = _0x38463f[_0x3ee519] = {}), + -0x97e + -0x39 * -0x22 + 0x11 * 0x1d === _0x559d1b) { + var _0x38c721 = _0x39b490[_0x22e2d1(0x1d4)]; + void (-0x2f9 * -0x7 + 0x8fe + -0x1dcd * 0x1) === _0x38c721 && (_0x38c721 = _0x39b490[_0x22e2d1(0x1d4)] = {}), + _0x38c721[_0x1b2c54] = _0x4e53ba; + } else { + if (-0x4dc + 0xbb0 + -0x6d2 === _0x559d1b) { + var _0x4ca087 = _0x39b490['priv']; + void (0x29 * 0xb9 + -0x24a + -0x1b57) === _0x4ca087 && (_0x4ca087 = _0x39b490[_0x22e2d1(0x261)] = new Map()), + _0x4ca087[_0x22e2d1(0x1e4)](_0x1b2c54, _0x4e53ba); + } else + _0x39b490[_0x22e2d1(0x2ac)] = _0x4e53ba; + } + } + }; + } + + function _0x43bce4(_0x282431, _0x336297) { + var _0xd4a703 = w_0x25f3 + , _0x2b5c4b = _0x282431[Symbol['metadata'] || Symbol[_0xd4a703(0x31e)]('Symbol.metadata')] + , _0x191a7e = Object[_0xd4a703(0x388)](_0x336297); + if (-0x22cd + -0x378 + -0x65 * -0x61 !== _0x191a7e[_0xd4a703(0x259)]) { + for (var _0x434093 = 0x1d66 + -0x2 * 0xa03 + -0x960; _0x434093 < _0x191a7e[_0xd4a703(0x259)]; _0x434093++) { + var _0x720e9a = _0x191a7e[_0x434093] + , _0x14e145 = _0x336297[_0x720e9a] + , _0x2965bc = _0x2b5c4b ? _0x2b5c4b[_0x720e9a] : null + , _0x530b43 = _0x14e145[_0xd4a703(0x1d4)] + , _0x36f2c2 = _0x2965bc ? _0x2965bc[_0xd4a703(0x1d4)] : null; + _0x530b43 && _0x36f2c2 && Object['setPrototypeOf'](_0x530b43, _0x36f2c2); + var _0x1732ba = _0x14e145[_0xd4a703(0x261)]; + if (_0x1732ba) { + var _0x550c9f = Array[_0xd4a703(0x29c)](_0x1732ba['values']()) + , _0x5cb426 = _0x2965bc ? _0x2965bc[_0xd4a703(0x261)] : null; + _0x5cb426 && (_0x550c9f = _0x550c9f[_0xd4a703(0x2b8)](_0x5cb426)), + _0x14e145[_0xd4a703(0x261)] = _0x550c9f; + } + _0x2965bc && Object[_0xd4a703(0x23b)](_0x14e145, _0x2965bc); + } + _0x2b5c4b && Object['setPrototypeOf'](_0x336297, _0x2b5c4b), + _0x282431[Symbol[_0xd4a703(0x3a3)] || Symbol['for']('Symbol.metadata')] = _0x336297; + } + } + + function _0x26f5a8(_0x4a45da, _0x3cff50) { + return function (_0x346098) { + var _0x33211b = w_0x25f3; + _0x1fca4f(_0x3cff50, 'addInitializer'), + _0x3ccc16(_0x346098, _0x33211b(0x3ba)), + _0x4a45da[_0x33211b(0x36e)](_0x346098); + } + ; + } + + function _0x2bb58f(_0x256829, _0x48125d, _0x3ef27c, _0x2a2bd4, _0x3688dc, _0x348e43, _0x559d92, _0x5a7ba4, _0x9da1fe) { + var _0x2a79c7 = w_0x25f3, _0x2e3577; + switch (_0x348e43) { + case 0xf31 + -0x3 * 0x2dd + -0x699: + _0x2e3577 = _0x2a79c7(0x1b9); + break; + case 0x269d + -0x1291 + -0x140a: + _0x2e3577 = _0x2a79c7(0x25a); + break; + case 0x24f * -0x9 + 0x12b3 + 0x217: + _0x2e3577 = _0x2a79c7(0x181); + break; + case 0xee9 + -0xe3b * 0x1 + -0xaa: + _0x2e3577 = _0x2a79c7(0x35d); + break; + default: + _0x2e3577 = _0x2a79c7(0x23c); + } + var _0x12a0c0, _0x433c00, _0x37f6a8 = { + 'kind': _0x2e3577, + 'name': _0x5a7ba4 ? '#' + _0x48125d : _0x48125d, + 'isStatic': _0x559d92, + 'isPrivate': _0x5a7ba4 + }, _0x71731a = { + 'v': !(-0x1b16 * -0x1 + 0x1 * 0x1fe1 + -0x2 * 0x1d7b) + }; + if (0x15e0 + -0xdfe + -0x7e2 !== _0x348e43 && (_0x37f6a8['addInitializer'] = _0x26f5a8(_0x3688dc, _0x71731a)), + _0x5a7ba4) { + _0x12a0c0 = -0x2 * 0xd69 + 0x2a1 * 0x1 + 0x1833, + _0x433c00 = Symbol(_0x48125d); + var _0x18857b = {}; + 0x2b + 0x9ef * 0x1 + -0x1 * 0xa1a === _0x348e43 ? (_0x18857b[_0x2a79c7(0x32b)] = _0x3ef27c[_0x2a79c7(0x32b)], + _0x18857b['set'] = _0x3ef27c['set']) : -0x2 * 0xd06 + 0x1816 + 0x1f8 === _0x348e43 ? _0x18857b[_0x2a79c7(0x32b)] = function () { + var _0x14604b = _0x2a79c7; + return _0x3ef27c[_0x14604b(0x2e4)]; + } + : (0x6bc + 0x1 * 0x2095 + 0x10 * -0x275 !== _0x348e43 && -0x1207 + 0x31f + 0x13 * 0xc9 !== _0x348e43 || (_0x18857b[_0x2a79c7(0x32b)] = function () { + var _0x290422 = _0x2a79c7; + return _0x3ef27c[_0x290422(0x32b)][_0x290422(0x334)](this); + } + ), + 0x1296 + -0x1481 + 0x1ec !== _0x348e43 && -0x1892 + -0xfa7 + 0x283d * 0x1 !== _0x348e43 || (_0x18857b[_0x2a79c7(0x1e4)] = function (_0x4e18b8) { + var _0x7e7883 = _0x2a79c7; + _0x3ef27c['set'][_0x7e7883(0x334)](this, _0x4e18b8); + } + )), + _0x37f6a8[_0x2a79c7(0x1d0)] = _0x18857b; + } else + _0x12a0c0 = 0xca0 * 0x1 + 0x83 + -0x52 * 0x29, + _0x433c00 = _0x48125d; + try { + return _0x256829(_0x9da1fe, Object[_0x2a79c7(0x2a0)](_0x37f6a8, _0x1d9867(_0x2a2bd4, _0x12a0c0, _0x433c00, _0x71731a))); + } finally { + _0x71731a['v'] = !(0x6ad + -0x17a9 + 0x10fc); + } + } + + function _0x1fca4f(_0x322983, _0x544667) { + var _0x43acb9 = w_0x25f3; + if (_0x322983['v']) + throw new Error(_0x43acb9(0x214) + _0x544667 + _0x43acb9(0x168)); + } + + function _0x525dc3(_0x3ef577) { + var _0x42d9e9 = w_0x25f3; + if (_0x42d9e9(0x2ed) != typeof _0x3ef577) + throw new TypeError(_0x42d9e9(0x2e7) + _0x3ef577); + } + + function _0x3ccc16(_0x56cd04, _0x56ab29) { + var _0x12ff08 = w_0x25f3; + if ('function' != typeof _0x56cd04) + throw new TypeError(_0x56ab29 + _0x12ff08(0x2f8)); + } + + function _0x32dfd4(_0x43869e, _0x434307) { + var _0x3fc8b9 = w_0x25f3 + , _0xd7b002 = typeof _0x434307; + if (-0x1116 + 0x183f + 0x2 * -0x394 === _0x43869e) { + if (_0x3fc8b9(0x17d) !== _0xd7b002 || null === _0x434307) + throw new TypeError(_0x3fc8b9(0x1fd)); + void (-0x39e * -0x9 + -0x1 * 0x1241 + -0x7 * 0x20b) !== _0x434307[_0x3fc8b9(0x32b)] && _0x3ccc16(_0x434307[_0x3fc8b9(0x32b)], _0x3fc8b9(0x170)), + void (0xeff * 0x1 + 0x2673 + 0x1 * -0x3572) !== _0x434307[_0x3fc8b9(0x1e4)] && _0x3ccc16(_0x434307[_0x3fc8b9(0x1e4)], _0x3fc8b9(0x231)), + void (-0x1558 + -0x1b41 * 0x1 + 0x57 * 0x8f) !== _0x434307['init'] && _0x3ccc16(_0x434307['init'], _0x3fc8b9(0x22f)), + void (-0x148f + 0xfa3 * 0x1 + 0x4ec) !== _0x434307[_0x3fc8b9(0x2d0)] && _0x3ccc16(_0x434307[_0x3fc8b9(0x2d0)], 'accessor.initializer'); + } else { + if (_0x3fc8b9(0x1ee) !== _0xd7b002) + throw new TypeError((0xf1a + 0xce * 0x1f + -0x280c === _0x43869e ? _0x3fc8b9(0x23c) : 0x2428 + -0x6 * -0x635 + -0x495c === _0x43869e ? _0x3fc8b9(0x19c) : _0x3fc8b9(0x25a)) + _0x3fc8b9(0x2cd)); + } + } + + function _0x372120(_0x40b476) { + var _0x3e830c = w_0x25f3, _0x49c5be; + return null == (_0x49c5be = _0x40b476['init']) && (_0x49c5be = _0x40b476[_0x3e830c(0x2d0)]) && _0x3e830c(0x384) != typeof console && console[_0x3e830c(0x3b0)](_0x3e830c(0x30b)), + _0x49c5be; + } + + function _0x481bfe(_0x40006c, _0xdbd444, _0x2c21df, _0x2a4c98, _0x438b52, _0x13e34d, _0x5ae545, _0xa813f0, _0x4c4bfe) { + var _0x2ee2fe = w_0x25f3, _0x2f4463, _0x470ce0, _0x5e0119, _0x2b261c, _0x52c40b, _0x4e02cf, + _0x1fa0af = _0x2c21df[-0x987 + 0x27 * -0xdf + -0x40 * -0xae]; + if (_0x5ae545 ? _0x2f4463 = -0xa89 * 0x1 + -0xd71 + 0x17fa === _0x438b52 || -0x272 * -0xd + -0x1c * 0xb2 + -0xc51 === _0x438b52 ? { + 'get': _0x2c21df[0xefd + 0x232b + -0x3225], + 'set': _0x2c21df[0x21b5 * -0x1 + -0x1015 + 0x31ce] + } : 0x17ef + -0x1d3 + 0x1619 * -0x1 === _0x438b52 ? { + 'get': _0x2c21df[-0x1e92 + 0xff * -0xe + 0x2c87] + } : -0x2211 + 0x1568 + 0xcad === _0x438b52 ? { + 'set': _0x2c21df[-0xcd2 + 0x126e + 0x1 * -0x599] + } : { + 'value': _0x2c21df[0x2293 + -0x1815 + -0xa7b * 0x1] + } : 0x23f1 + -0x93b * -0x4 + 0x1 * -0x48dd !== _0x438b52 && (_0x2f4463 = Object[_0x2ee2fe(0x2a6)](_0xdbd444, _0x2a4c98)), + -0x9a5 + 0x2cc * -0x5 + -0xb * -0x226 === _0x438b52 ? _0x5e0119 = { + 'get': _0x2f4463['get'], + 'set': _0x2f4463[_0x2ee2fe(0x1e4)] + } : -0xb5c + 0x210d + -0x1ab * 0xd === _0x438b52 ? _0x5e0119 = _0x2f4463[_0x2ee2fe(0x2e4)] : -0x12e2 * -0x2 + 0x1 * 0x815 + -0x2dd6 === _0x438b52 ? _0x5e0119 = _0x2f4463['get'] : 0x6 * 0x182 + 0x15fd + -0x1f05 * 0x1 === _0x438b52 && (_0x5e0119 = _0x2f4463[_0x2ee2fe(0x1e4)]), + _0x2ee2fe(0x1ee) == typeof _0x1fa0af) + void (0x12b3 * -0x2 + 0x1229 * 0x1 + 0x133d) !== (_0x2b261c = _0x2bb58f(_0x1fa0af, _0x2a4c98, _0x2f4463, _0xa813f0, _0x4c4bfe, _0x438b52, _0x13e34d, _0x5ae545, _0x5e0119)) && (_0x32dfd4(_0x438b52, _0x2b261c), + -0x655 + -0xb75 + 0x9 * 0x1fa === _0x438b52 ? _0x470ce0 = _0x2b261c : 0x2239 + -0x9 * -0x42b + -0x47bb === _0x438b52 ? (_0x470ce0 = _0x372120(_0x2b261c), + _0x52c40b = _0x2b261c[_0x2ee2fe(0x32b)] || _0x5e0119[_0x2ee2fe(0x32b)], + _0x4e02cf = _0x2b261c['set'] || _0x5e0119['set'], + _0x5e0119 = { + 'get': _0x52c40b, + 'set': _0x4e02cf + }) : _0x5e0119 = _0x2b261c); + else + for (var _0x5801c7 = _0x1fa0af['length'] - (0x2435 + 0x18d0 + 0x16 * -0x2c6); _0x5801c7 >= 0x3ab + 0x58e * -0x6 + 0x1da9; _0x5801c7--) { + var _0x2c9ee5; + void (0x11 * -0x22 + -0x29 * -0x45 + 0x8cb * -0x1) !== (_0x2b261c = _0x2bb58f(_0x1fa0af[_0x5801c7], _0x2a4c98, _0x2f4463, _0xa813f0, _0x4c4bfe, _0x438b52, _0x13e34d, _0x5ae545, _0x5e0119)) && (_0x32dfd4(_0x438b52, _0x2b261c), + -0x220e + 0x3 * 0x4d5 + 0x138f === _0x438b52 ? _0x2c9ee5 = _0x2b261c : -0x2 * -0x1281 + 0x48f * 0x7 + -0x44ea === _0x438b52 ? (_0x2c9ee5 = _0x372120(_0x2b261c), + _0x52c40b = _0x2b261c[_0x2ee2fe(0x32b)] || _0x5e0119[_0x2ee2fe(0x32b)], + _0x4e02cf = _0x2b261c[_0x2ee2fe(0x1e4)] || _0x5e0119[_0x2ee2fe(0x1e4)], + _0x5e0119 = { + 'get': _0x52c40b, + 'set': _0x4e02cf + }) : _0x5e0119 = _0x2b261c, + void (0x204c + -0x2618 + 0x7 * 0xd4) !== _0x2c9ee5 && (void (0x3b3 * 0x9 + -0x2709 + 0x69 * 0xe) === _0x470ce0 ? _0x470ce0 = _0x2c9ee5 : _0x2ee2fe(0x1ee) == typeof _0x470ce0 ? _0x470ce0 = [_0x470ce0, _0x2c9ee5] : _0x470ce0['push'](_0x2c9ee5))); + } + if (-0x236c + 0xbb8 + 0x17b4 === _0x438b52 || 0x1 * 0x13e5 + -0x73 * -0xd + -0x1 * 0x19bb === _0x438b52) { + if (void (0x213e + 0xef + -0x222d) === _0x470ce0) + _0x470ce0 = function (_0x2f3a47, _0x29873e) { + return _0x29873e; + } + ; + else { + if (_0x2ee2fe(0x1ee) != typeof _0x470ce0) { + var _0x41d3b0 = _0x470ce0; + _0x470ce0 = function (_0x434b4b, _0x5f49e4) { + var _0x463980 = _0x2ee2fe; + for (var _0x99d6c0 = _0x5f49e4, _0x29ba97 = -0x120f * 0x1 + 0x1241 + -0x1 * 0x32; _0x29ba97 < _0x41d3b0['length']; _0x29ba97++) + _0x99d6c0 = _0x41d3b0[_0x29ba97][_0x463980(0x334)](_0x434b4b, _0x99d6c0); + return _0x99d6c0; + } + ; + } else { + var _0x58c0cd = _0x470ce0; + _0x470ce0 = function (_0x15ad86, _0x1885c8) { + return _0x58c0cd['call'](_0x15ad86, _0x1885c8); + } + ; + } + } + _0x40006c[_0x2ee2fe(0x36e)](_0x470ce0); + } + 0x1 * -0x241 + 0xf4f + -0xd0e !== _0x438b52 && (0x1 * 0x10e7 + -0x47c + -0x2 * 0x635 === _0x438b52 ? (_0x2f4463[_0x2ee2fe(0x32b)] = _0x5e0119[_0x2ee2fe(0x32b)], + _0x2f4463[_0x2ee2fe(0x1e4)] = _0x5e0119[_0x2ee2fe(0x1e4)]) : -0x53 * 0x6b + 0x16e * 0x8 + 0x1743 === _0x438b52 ? _0x2f4463[_0x2ee2fe(0x2e4)] = _0x5e0119 : 0x4 * -0x4cd + -0x1 * -0x211a + 0x1 * -0xde3 === _0x438b52 ? _0x2f4463['get'] = _0x5e0119 : -0x1d4b * 0x1 + 0x1853 + 0x4fc === _0x438b52 && (_0x2f4463[_0x2ee2fe(0x1e4)] = _0x5e0119), + _0x5ae545 ? 0x5 * -0x28 + 0xcfd + -0xc34 * 0x1 === _0x438b52 ? (_0x40006c[_0x2ee2fe(0x36e)](function (_0x21a97b, _0x5eb78e) { + var _0x40880e = _0x2ee2fe; + return _0x5e0119[_0x40880e(0x32b)][_0x40880e(0x334)](_0x21a97b, _0x5eb78e); + }), + _0x40006c[_0x2ee2fe(0x36e)](function (_0x2fa7d1, _0x120ab2) { + var _0x14b22a = _0x2ee2fe; + return _0x5e0119[_0x14b22a(0x1e4)][_0x14b22a(0x334)](_0x2fa7d1, _0x120ab2); + })) : -0x4 * 0x64c + -0x1 * 0xe54 + 0x13c3 * 0x2 === _0x438b52 ? _0x40006c['push'](_0x5e0119) : _0x40006c[_0x2ee2fe(0x36e)](function (_0xcb08af, _0x156de1) { + var _0x327ef4 = _0x2ee2fe; + return _0x5e0119[_0x327ef4(0x334)](_0xcb08af, _0x156de1); + }) : Object[_0x2ee2fe(0x175)](_0xdbd444, _0x2a4c98, _0x2f4463)); + } + + function _0xa6bc9e(_0x4ceb2c, _0x1b99e7, _0xa8afec, _0x19fdc6, _0x501635) { + var _0x4c0532 = w_0x25f3; + for (var _0xcd77fa, _0x29d8ee, _0x1865b0 = new Map(), _0x4b9277 = new Map(), _0xbb3086 = 0x8 * 0x5e + 0x1f79 + -0x17 * 0x17f; _0xbb3086 < _0x501635[_0x4c0532(0x259)]; _0xbb3086++) { + var _0x58c865 = _0x501635[_0xbb3086]; + if (Array['isArray'](_0x58c865)) { + var _0x203b06, _0x4069ae, _0x479925, _0x2ccf6e = _0x58c865[-0x3f4 + -0x1cc4 + -0x1 * -0x20b9], + _0x138f67 = _0x58c865[0x17b7 + 0x1 * 0x1525 + -0x2cda], + _0xf00e58 = _0x58c865[_0x4c0532(0x259)] > -0x9f5 + -0xd * -0x103 + -0x5 * 0xa3, + _0x356344 = _0x2ccf6e >= -0x14cc + -0xe02 + 0x6f7 * 0x5; + if (_0x356344 ? (_0x203b06 = _0x1b99e7, + _0x4069ae = _0x19fdc6, + 0x7 * -0x3c7 + -0x225e + 0x3ccf != (_0x2ccf6e -= -0xdf * 0x17 + -0xb0c + 0x1f1a) && (_0x479925 = _0x29d8ee = _0x29d8ee || [])) : (_0x203b06 = _0x1b99e7[_0x4c0532(0x344)], + _0x4069ae = _0xa8afec, + -0xc0c + 0x1a8e + -0x2 * 0x741 !== _0x2ccf6e && (_0x479925 = _0xcd77fa = _0xcd77fa || [])), + -0x135b + 0xba6 + -0x7b5 * -0x1 !== _0x2ccf6e && !_0xf00e58) { + var _0x5ef9f5 = _0x356344 ? _0x4b9277 : _0x1865b0 + , + _0x4ff161 = _0x5ef9f5[_0x4c0532(0x32b)](_0x138f67) || 0x2 * 0x27b + 0x137 * 0x1d + -0x2831; + if (!(-0xea4 + 0x2178 + 0x96a * -0x2) === _0x4ff161 || -0x1dce + 0x245d + -0x346 * 0x2 === _0x4ff161 && -0x6 * -0x38f + -0x4 * 0x179 + 0xf72 * -0x1 !== _0x2ccf6e || 0x1265 + -0x40 * 0x6a + -0x21 * -0x3f === _0x4ff161 && -0x14bf + -0x1fa6 + 0x3468 !== _0x2ccf6e) + throw new Error(_0x4c0532(0x351) + _0x138f67); + !_0x4ff161 && _0x2ccf6e > -0x895 * 0x1 + 0x9fa + -0x163 ? _0x5ef9f5[_0x4c0532(0x1e4)](_0x138f67, _0x2ccf6e) : _0x5ef9f5['set'](_0x138f67, !(-0x1a * 0x12 + 0xa1 * 0x1d + -0x1069 * 0x1)); + } + _0x481bfe(_0x4ceb2c, _0x203b06, _0x58c865, _0x138f67, _0x2ccf6e, _0x356344, _0xf00e58, _0x4069ae, _0x479925); + } + } + _0x3657e2(_0x4ceb2c, _0xcd77fa), + _0x3657e2(_0x4ceb2c, _0x29d8ee); + } + + function _0x3657e2(_0x27f72c, _0x8206e1) { + var _0x4690f1 = w_0x25f3; + _0x8206e1 && _0x27f72c[_0x4690f1(0x36e)](function (_0x5a459a) { + var _0x25d832 = _0x4690f1; + for (var _0x3abe8d = -0x2d8 + -0x38c + 0x664; _0x3abe8d < _0x8206e1['length']; _0x3abe8d++) + _0x8206e1[_0x3abe8d][_0x25d832(0x334)](_0x5a459a); + return _0x5a459a; + }); + } + + function _0x5f3676(_0x5c13b5, _0x4779ee, _0x3479c8, _0x3cb840) { + var _0x5df6f5 = w_0x25f3; + if (_0x3cb840['length'] > -0x1744 + -0xfb * 0xd + 0x2403) { + for (var _0x3c4c21 = [], _0x504436 = _0x4779ee, _0x1b5d8b = _0x4779ee['name'], _0x38689d = _0x3cb840[_0x5df6f5(0x259)] - (-0x1f5e + 0x1e2c * 0x1 + 0x133); _0x38689d >= 0x878 + -0x1269 * 0x2 + 0x1c5a; _0x38689d--) { + var _0x2bbf37 = { + 'v': !(0x1 * -0x17dc + -0x1f4 * -0x10 + -0x3d * 0x1f) + }; + try { + var _0x175a61 = Object['assign']({ + 'kind': _0x5df6f5(0x19c), + 'name': _0x1b5d8b, + 'addInitializer': _0x26f5a8(_0x3c4c21, _0x2bbf37) + }, _0x1d9867(_0x3479c8, -0x1dfa + -0x1517 + 0x3311, _0x1b5d8b, _0x2bbf37)) + , _0x23fff7 = _0x3cb840[_0x38689d](_0x504436, _0x175a61); + } finally { + _0x2bbf37['v'] = !(0x1 * -0x1e5d + -0xba7 * 0x2 + 0x35ab); + } + void (-0x2bf + -0x103d * -0x1 + -0xd7e) !== _0x23fff7 && (_0x32dfd4(0xcf3 + -0x9f8 + -0x2f1, _0x23fff7), + _0x504436 = _0x23fff7); + } + _0x5c13b5[_0x5df6f5(0x36e)](_0x504436, function () { + var _0x52b1c0 = _0x5df6f5; + for (var _0x4f0e95 = 0x18 * 0x57 + 0x9f2 * 0x3 + -0x25fe; _0x4f0e95 < _0x3c4c21[_0x52b1c0(0x259)]; _0x4f0e95++) + _0x3c4c21[_0x4f0e95][_0x52b1c0(0x334)](_0x504436); + }); + } + } + + function _0x51be3f(_0x44772e, _0x5243ca, _0x398fa6) { + var _0x234a54 = w_0x25f3 + , _0x13ba59 = [] + , _0x3f8aa9 = {} + , _0x129506 = {}; + return _0xa6bc9e(_0x13ba59, _0x44772e, _0x129506, _0x3f8aa9, _0x5243ca), + _0x43bce4(_0x44772e[_0x234a54(0x344)], _0x129506), + _0x5f3676(_0x13ba59, _0x44772e, _0x3f8aa9, _0x398fa6), + _0x43bce4(_0x44772e, _0x3f8aa9), + _0x13ba59; + } + + function _0x281b3b() { + function _0x556aac(_0xe6f04c, _0x2cf155) { + return function (_0x4ecc37) { + var _0x253daa = w_0x25f3; + !function (_0x109a83, _0x5991fe) { + var _0x11a2fc = w_0x25f3; + if (_0x109a83['v']) + throw new Error(_0x11a2fc(0x257)); + }(_0x2cf155), + _0x3020d2(_0x4ecc37, _0x253daa(0x3ba)), + _0xe6f04c[_0x253daa(0x36e)](_0x4ecc37); + } + ; + } + + function _0x193050(_0xc0995a, _0x3ee2bb, _0x30e0b6, _0xba208c, _0x262641, _0x4fa001, _0x1bb0d5, _0xa6e531) { + var _0x208bac = w_0x25f3, _0x59dc77; + switch (_0x262641) { + case 0x1af6 + -0xd13 + -0xde2: + _0x59dc77 = 'accessor'; + break; + case 0xfda + -0x760 + -0x878: + _0x59dc77 = _0x208bac(0x25a); + break; + case 0x1a * 0xb9 + 0xc3f + -0x1f06: + _0x59dc77 = 'getter'; + break; + case -0xb42 * 0x3 + -0x12d9 + 0x34a3: + _0x59dc77 = 'setter'; + break; + default: + _0x59dc77 = _0x208bac(0x23c); + } + var _0x1b169f, _0x3fad4b, _0x1050cb = { + 'kind': _0x59dc77, + 'name': _0x1bb0d5 ? '#' + _0x3ee2bb : _0x3ee2bb, + 'static': _0x4fa001, + 'private': _0x1bb0d5 + }, _0x252772 = { + 'v': !(0x5 * 0x4d5 + -0x1 * 0x1d6e + 0x546) + }; + -0x21ff + -0x127a + -0x3479 * -0x1 !== _0x262641 && (_0x1050cb['addInitializer'] = _0x556aac(_0xba208c, _0x252772)), + -0x2c9 + -0x27 + 0x2f0 === _0x262641 ? _0x1bb0d5 ? (_0x1b169f = _0x30e0b6['get'], + _0x3fad4b = _0x30e0b6[_0x208bac(0x1e4)]) : (_0x1b169f = function () { + return this[_0x3ee2bb]; + } + , + _0x3fad4b = function (_0x417555) { + this[_0x3ee2bb] = _0x417555; + } + ) : 0x1 * -0x1d61 + -0x1 * 0x841 + -0xc8c * -0x3 === _0x262641 ? _0x1b169f = function () { + var _0x195f9b = _0x208bac; + return _0x30e0b6[_0x195f9b(0x2e4)]; + } + : (0x1 * -0x1e49 + 0x1 * 0x1eef + 0x37 * -0x3 !== _0x262641 && 0x1 * 0x204a + -0x137 * -0xb + -0x2da4 !== _0x262641 || (_0x1b169f = function () { + var _0x3ad118 = _0x208bac; + return _0x30e0b6[_0x3ad118(0x32b)][_0x3ad118(0x334)](this); + } + ), + 0x729 + -0x7ae + 0x1 * 0x86 !== _0x262641 && -0xa * -0x161 + -0x512 + -0x2 * 0x45a !== _0x262641 || (_0x3fad4b = function (_0x37b522) { + var _0x599416 = _0x208bac; + _0x30e0b6[_0x599416(0x1e4)]['call'](this, _0x37b522); + } + )), + _0x1050cb[_0x208bac(0x1d0)] = _0x1b169f && _0x3fad4b ? { + 'get': _0x1b169f, + 'set': _0x3fad4b + } : _0x1b169f ? { + 'get': _0x1b169f + } : { + 'set': _0x3fad4b + }; + try { + return _0xc0995a(_0xa6e531, _0x1050cb); + } finally { + _0x252772['v'] = !(-0x1 * 0x1ecf + 0x1cfc + 0x1d3); + } + } + + function _0x3020d2(_0x5684cc, _0x512b77) { + var _0x3b7e7a = w_0x25f3; + if (_0x3b7e7a(0x1ee) != typeof _0x5684cc) + throw new TypeError(_0x512b77 + '\x20must\x20be\x20a\x20function'); + } + + function _0x13d7df(_0x22787a, _0x4a8dfe) { + var _0x994eff = w_0x25f3 + , _0x751eff = typeof _0x4a8dfe; + if (-0x690 + 0x133f * -0x2 + 0x2d0f === _0x22787a) { + if (_0x994eff(0x17d) !== _0x751eff || null === _0x4a8dfe) + throw new TypeError(_0x994eff(0x1fd)); + void (-0x2af + 0x838 + -0xd * 0x6d) !== _0x4a8dfe[_0x994eff(0x32b)] && _0x3020d2(_0x4a8dfe[_0x994eff(0x32b)], _0x994eff(0x170)), + void (0x1b * -0x43 + -0x24c8 + 0x2bd9) !== _0x4a8dfe[_0x994eff(0x1e4)] && _0x3020d2(_0x4a8dfe[_0x994eff(0x1e4)], _0x994eff(0x231)), + void (-0x2a4 + 0x35 * -0x1d + 0x8a5) !== _0x4a8dfe[_0x994eff(0x3b9)] && _0x3020d2(_0x4a8dfe[_0x994eff(0x3b9)], _0x994eff(0x22f)); + } else { + if ('function' !== _0x751eff) + throw new TypeError((-0x800 + 0xd * 0x75 + 0x20f === _0x22787a ? _0x994eff(0x23c) : 0x13ad + 0x1db0 + -0x3153 === _0x22787a ? _0x994eff(0x19c) : _0x994eff(0x25a)) + '\x20decorators\x20must\x20return\x20a\x20function\x20or\x20void\x200'); + } + } + + function _0x3345ab(_0xc8cad8, _0x5d015f, _0x32f33f, _0x5f5169, _0x23451f, _0x2595f8, _0xb8bdee, _0x2c3fb2) { + var _0x1d74f6 = w_0x25f3, _0x584e33, _0x103b18, _0x5d6523, _0x2d18a1, _0x2b9fd3, _0x11479e, + _0x4ef3d6 = _0x32f33f[0x23c3 + -0x1a88 + 0x1 * -0x93b]; + if (_0xb8bdee ? _0x584e33 = 0x7ed * 0x1 + 0xac9 + -0x12b6 === _0x23451f || 0x4 * 0x7f5 + 0x11ab + 0x712 * -0x7 === _0x23451f ? { + 'get': _0x32f33f[0x265e * 0x1 + -0x23e1 + -0x1 * 0x27a], + 'set': _0x32f33f[0x108e + -0x2551 + 0x1b * 0xc5] + } : 0x19bc + 0x1c0d * 0x1 + 0x35c6 * -0x1 === _0x23451f ? { + 'get': _0x32f33f[-0x7fd * 0x4 + 0x1b6c + 0x48b] + } : 0x149a + 0x2522 + -0x39b8 === _0x23451f ? { + 'set': _0x32f33f[-0x1 * 0x3ad + -0xb4e * 0x2 + -0x9 * -0x2ec] + } : { + 'value': _0x32f33f[0x21a6 + -0x7 + -0x219c] + } : 0x12ab * 0x1 + -0x1f41 + 0xc96 !== _0x23451f && (_0x584e33 = Object[_0x1d74f6(0x2a6)](_0x5d015f, _0x5f5169)), + 0x11 * -0xf7 + -0x4 * 0x7be + 0x2f60 === _0x23451f ? _0x5d6523 = { + 'get': _0x584e33[_0x1d74f6(0x32b)], + 'set': _0x584e33['set'] + } : 0x1e3 + 0x2 * 0x11ef + -0x25bf === _0x23451f ? _0x5d6523 = _0x584e33[_0x1d74f6(0x2e4)] : -0x6b + 0x1ff8 + -0xfc5 * 0x2 === _0x23451f ? _0x5d6523 = _0x584e33['get'] : 0x2577 + -0x2272 + -0x301 === _0x23451f && (_0x5d6523 = _0x584e33[_0x1d74f6(0x1e4)]), + 'function' == typeof _0x4ef3d6) + void (0x1bdc * -0x1 + 0x2343 + -0x1 * 0x767) !== (_0x2d18a1 = _0x193050(_0x4ef3d6, _0x5f5169, _0x584e33, _0x2c3fb2, _0x23451f, _0x2595f8, _0xb8bdee, _0x5d6523)) && (_0x13d7df(_0x23451f, _0x2d18a1), + -0x5 * -0x27e + 0x6a * 0x1e + -0x18e2 === _0x23451f ? _0x103b18 = _0x2d18a1 : 0x23f1 + -0x4 * 0x8bb + 0x14 * -0xd === _0x23451f ? (_0x103b18 = _0x2d18a1['init'], + _0x2b9fd3 = _0x2d18a1[_0x1d74f6(0x32b)] || _0x5d6523[_0x1d74f6(0x32b)], + _0x11479e = _0x2d18a1[_0x1d74f6(0x1e4)] || _0x5d6523[_0x1d74f6(0x1e4)], + _0x5d6523 = { + 'get': _0x2b9fd3, + 'set': _0x11479e + }) : _0x5d6523 = _0x2d18a1); + else + for (var _0x4328fb = _0x4ef3d6[_0x1d74f6(0x259)] - (0xe31 + -0xc5b + -0x1d5); _0x4328fb >= 0x87a + -0xf7c + 0x702; _0x4328fb--) { + var _0x5c4cc8; + void (0x83b + -0x8af + 0x74) !== (_0x2d18a1 = _0x193050(_0x4ef3d6[_0x4328fb], _0x5f5169, _0x584e33, _0x2c3fb2, _0x23451f, _0x2595f8, _0xb8bdee, _0x5d6523)) && (_0x13d7df(_0x23451f, _0x2d18a1), + -0x4 * 0x511 + -0xc0a * -0x1 + 0x83a === _0x23451f ? _0x5c4cc8 = _0x2d18a1 : -0x22 * -0x4d + -0x135d * -0x2 + 0x1051 * -0x3 === _0x23451f ? (_0x5c4cc8 = _0x2d18a1[_0x1d74f6(0x3b9)], + _0x2b9fd3 = _0x2d18a1[_0x1d74f6(0x32b)] || _0x5d6523[_0x1d74f6(0x32b)], + _0x11479e = _0x2d18a1[_0x1d74f6(0x1e4)] || _0x5d6523[_0x1d74f6(0x1e4)], + _0x5d6523 = { + 'get': _0x2b9fd3, + 'set': _0x11479e + }) : _0x5d6523 = _0x2d18a1, + void (0x23b9 * 0x1 + 0x2 * -0xccb + -0x5 * 0x207) !== _0x5c4cc8 && (void (-0x15ac + 0x376 + 0x7e * 0x25) === _0x103b18 ? _0x103b18 = _0x5c4cc8 : _0x1d74f6(0x1ee) == typeof _0x103b18 ? _0x103b18 = [_0x103b18, _0x5c4cc8] : _0x103b18['push'](_0x5c4cc8))); + } + if (-0x11a3 + 0xd * -0x2f2 + -0x67 * -0x8b === _0x23451f || 0xeab * -0x1 + 0x752 * -0x1 + -0x15fe * -0x1 === _0x23451f) { + if (void (-0x4a8 * 0x1 + 0xfb0 + -0xb08) === _0x103b18) + _0x103b18 = function (_0x1682da, _0x55e4de) { + return _0x55e4de; + } + ; + else { + if (_0x1d74f6(0x1ee) != typeof _0x103b18) { + var _0x278a7c = _0x103b18; + _0x103b18 = function (_0x1c32a2, _0x442b39) { + var _0x56cde3 = _0x1d74f6; + for (var _0x200043 = _0x442b39, _0x52eaec = 0xc8a + 0x26f6 + 0x20 * -0x19c; _0x52eaec < _0x278a7c[_0x56cde3(0x259)]; _0x52eaec++) + _0x200043 = _0x278a7c[_0x52eaec]['call'](_0x1c32a2, _0x200043); + return _0x200043; + } + ; + } else { + var _0x120537 = _0x103b18; + _0x103b18 = function (_0x5a0b99, _0x523966) { + var _0x2de49d = _0x1d74f6; + return _0x120537[_0x2de49d(0x334)](_0x5a0b99, _0x523966); + } + ; + } + } + _0xc8cad8['push'](_0x103b18); + } + 0x3ac * -0x8 + 0x915 + 0x144b !== _0x23451f && (-0xcde + -0x1f3f + 0x2c1e === _0x23451f ? (_0x584e33[_0x1d74f6(0x32b)] = _0x5d6523['get'], + _0x584e33[_0x1d74f6(0x1e4)] = _0x5d6523['set']) : -0x31 * -0xc1 + -0x1 * -0x2388 + -0x4877 === _0x23451f ? _0x584e33[_0x1d74f6(0x2e4)] = _0x5d6523 : -0x4 * 0x899 + 0x1944 + 0x923 === _0x23451f ? _0x584e33[_0x1d74f6(0x32b)] = _0x5d6523 : -0x64e * 0x5 + 0x152f + 0xa5b === _0x23451f && (_0x584e33[_0x1d74f6(0x1e4)] = _0x5d6523), + _0xb8bdee ? 0x186b + 0x3 * 0x7e9 + -0x1ed * 0x19 === _0x23451f ? (_0xc8cad8[_0x1d74f6(0x36e)](function (_0x1c7663, _0x210e49) { + var _0xb35933 = _0x1d74f6; + return _0x5d6523['get'][_0xb35933(0x334)](_0x1c7663, _0x210e49); + }), + _0xc8cad8[_0x1d74f6(0x36e)](function (_0x9ce4a0, _0xa2a6a5) { + var _0x548bf5 = _0x1d74f6; + return _0x5d6523[_0x548bf5(0x1e4)][_0x548bf5(0x334)](_0x9ce4a0, _0xa2a6a5); + })) : -0x2 * 0x91d + -0x226e + 0x282 * 0x15 === _0x23451f ? _0xc8cad8['push'](_0x5d6523) : _0xc8cad8[_0x1d74f6(0x36e)](function (_0x5b9e9b, _0x4ef49d) { + return _0x5d6523['call'](_0x5b9e9b, _0x4ef49d); + }) : Object[_0x1d74f6(0x175)](_0x5d015f, _0x5f5169, _0x584e33)); + } + + function _0xbbd38b(_0x42478e, _0x1ef3db) { + var _0x15d90a = w_0x25f3; + _0x1ef3db && _0x42478e[_0x15d90a(0x36e)](function (_0xdfc40e) { + var _0x10548c = _0x15d90a; + for (var _0x3e6f2c = -0x349 * -0xa + 0xe * 0x5b + -0x25d4; _0x3e6f2c < _0x1ef3db[_0x10548c(0x259)]; _0x3e6f2c++) + _0x1ef3db[_0x3e6f2c][_0x10548c(0x334)](_0xdfc40e); + return _0xdfc40e; + }); + } + + return function (_0x2327f5, _0x28ca06, _0x53ed99) { + var _0x253a06 = []; + return function (_0x1816e5, _0x29e49e, _0x48cb46) { + var _0x5efef1 = w_0x25f3; + for (var _0x5857a9, _0x48222e, _0x2f7979 = new Map(), _0x2e733e = new Map(), _0x4b6d1a = 0x1 * -0xec3 + 0x1 * 0x6a2 + 0x821; _0x4b6d1a < _0x48cb46[_0x5efef1(0x259)]; _0x4b6d1a++) { + var _0x58c6d3 = _0x48cb46[_0x4b6d1a]; + if (Array['isArray'](_0x58c6d3)) { + var _0x124b63, _0x4324aa, _0x8c2a39 = _0x58c6d3[-0x1d3a + -0x24ff + 0x423a], + _0x8fabbd = _0x58c6d3[0x1b14 + -0x1 * -0x1f0c + -0x1d0f * 0x2], + _0x249da3 = _0x58c6d3[_0x5efef1(0x259)] > 0x1 * 0xb42 + -0x1c1 * 0xe + -0x1 * -0xd4f, + _0x11d04c = _0x8c2a39 >= -0x12b3 * 0x1 + 0x10e6 + 0x1d2; + if (_0x11d04c ? (_0x124b63 = _0x29e49e, + -0x15b * -0x5 + 0x373 + -0xa3a != (_0x8c2a39 -= -0x24b2 + -0x12b * 0x17 + 0x3f94) && (_0x4324aa = _0x48222e = _0x48222e || [])) : (_0x124b63 = _0x29e49e['prototype'], + 0x11fa + -0x1859 + 0x65f !== _0x8c2a39 && (_0x4324aa = _0x5857a9 = _0x5857a9 || [])), + -0x11df + -0x205d * 0x1 + 0x323c !== _0x8c2a39 && !_0x249da3) { + var _0x3e0748 = _0x11d04c ? _0x2e733e : _0x2f7979 + , + _0x148749 = _0x3e0748[_0x5efef1(0x32b)](_0x8fabbd) || 0x6c0 + 0x8e3 + 0x1 * -0xfa3; + if (!(-0x288 + -0x1b8f + 0x1e17) === _0x148749 || 0xcae + -0x84a + -0x461 === _0x148749 && 0xebc + -0x6cf + -0x7e9 !== _0x8c2a39 || 0x132d * 0x2 + 0x1 * 0x6ab + -0x1 * 0x2d01 === _0x148749 && 0x2144 + -0xe17 * -0x1 + -0x2f58 !== _0x8c2a39) + throw new Error('Attempted\x20to\x20decorate\x20a\x20public\x20method/accessor\x20that\x20has\x20the\x20same\x20name\x20as\x20a\x20previously\x20decorated\x20public\x20method/accessor.\x20This\x20is\x20not\x20currently\x20supported\x20by\x20the\x20decorators\x20plugin.\x20Property\x20name\x20was:\x20' + _0x8fabbd); + !_0x148749 && _0x8c2a39 > -0x2ea * -0xc + 0x1 * 0x24cb + 0x1 * -0x47c1 ? _0x3e0748[_0x5efef1(0x1e4)](_0x8fabbd, _0x8c2a39) : _0x3e0748[_0x5efef1(0x1e4)](_0x8fabbd, !(0xb9e + -0xc * -0x9d + -0x12fa)); + } + _0x3345ab(_0x1816e5, _0x124b63, _0x58c6d3, _0x8fabbd, _0x8c2a39, _0x11d04c, _0x249da3, _0x4324aa); + } + } + _0xbbd38b(_0x1816e5, _0x5857a9), + _0xbbd38b(_0x1816e5, _0x48222e); + }(_0x253a06, _0x2327f5, _0x28ca06), + function (_0x528ea3, _0x4f695c, _0x1527df) { + var _0x436c1d = w_0x25f3; + if (_0x1527df[_0x436c1d(0x259)] > 0xe5 + 0x269c + -0x2781) { + for (var _0x4e0e1b = [], _0x3eca99 = _0x4f695c, _0x5c69d2 = _0x4f695c[_0x436c1d(0x341)], _0x2abebb = _0x1527df[_0x436c1d(0x259)] - (0x1 * -0x1cbe + 0xa * -0x2ba + 0x3803); _0x2abebb >= 0x8c0 + -0x44d * 0x4 + 0x874; _0x2abebb--) { + var _0x30122e = { + 'v': !(0x26bb + 0x34c * 0x7 + 0x1 * -0x3dce) + }; + try { + var _0x46e0b1 = _0x1527df[_0x2abebb](_0x3eca99, { + 'kind': _0x436c1d(0x19c), + 'name': _0x5c69d2, + 'addInitializer': _0x556aac(_0x4e0e1b, _0x30122e) + }); + } finally { + _0x30122e['v'] = !(0x114e + 0x1f1 * -0x1 + 0x1 * -0xf5d); + } + void (-0x1 * -0x1c41 + 0x38d * 0x1 + -0x1fce) !== _0x46e0b1 && (_0x13d7df(0x180 + 0x6 * -0x2f + -0x5c, _0x46e0b1), + _0x3eca99 = _0x46e0b1); + } + _0x528ea3['push'](_0x3eca99, function () { + var _0x1ef0f8 = _0x436c1d; + for (var _0x337d50 = 0x1 * -0x217d + -0x1a35 + -0x2 * -0x1dd9; _0x337d50 < _0x4e0e1b[_0x1ef0f8(0x259)]; _0x337d50++) + _0x4e0e1b[_0x337d50]['call'](_0x3eca99); + }); + } + }(_0x253a06, _0x2327f5, _0x53ed99), + _0x253a06; + } + ; + } + + var _0x15b960, _0x500e9f; + + function _0x4ab133(_0x538caa, _0x1dca3a, _0x362c83) { + return (_0x15b960 = _0x15b960 || _0x281b3b())(_0x538caa, _0x1dca3a, _0x362c83); + } + + function _0x4591cd() { + function _0x135cea(_0x43f619, _0x5dfa54) { + return function (_0x33b776) { + var _0x55feea = w_0x25f3; + !function (_0x4d2467, _0x1aaab5) { + var _0x188bf8 = w_0x25f3; + if (_0x4d2467['v']) + throw new Error(_0x188bf8(0x257)); + }(_0x5dfa54), + _0x23bc0c(_0x33b776, _0x55feea(0x3ba)), + _0x43f619[_0x55feea(0x36e)](_0x33b776); + } + ; + } + + function _0x39ceae(_0x5713eb, _0x3cd64b, _0x2a5e05, _0x428f9b, _0x1cd0f5, _0x386fff, _0x54211b, _0x40ee96) { + var _0x32bd6c = w_0x25f3, _0x43d2aa; + switch (_0x1cd0f5) { + case -0x3 * -0x9f7 + 0x13bc + -0x31a0: + _0x43d2aa = _0x32bd6c(0x1b9); + break; + case 0x14f5 + -0x1f56 + -0x1 * -0xa63: + _0x43d2aa = _0x32bd6c(0x25a); + break; + case -0x1 * -0x346 + -0xe + 0x335 * -0x1: + _0x43d2aa = _0x32bd6c(0x181); + break; + case -0x2 * -0x367 + 0x16b3 + -0x1 * 0x1d7d: + _0x43d2aa = _0x32bd6c(0x35d); + break; + default: + _0x43d2aa = _0x32bd6c(0x23c); + } + var _0x1f76cf, _0x2d3a63, _0x52dc9f = { + 'kind': _0x43d2aa, + 'name': _0x54211b ? '#' + _0x3cd64b : _0x3cd64b, + 'static': _0x386fff, + 'private': _0x54211b + }, _0x33b885 = { + 'v': !(0x1 * 0xea1 + 0x22b7 + 0x3157 * -0x1) + }; + -0x948 + -0x2454 + 0x1c * 0x1a1 !== _0x1cd0f5 && (_0x52dc9f[_0x32bd6c(0x225)] = _0x135cea(_0x428f9b, _0x33b885)), + 0xb * 0xb1 + 0x1417 + -0x1bb2 === _0x1cd0f5 ? _0x54211b ? (_0x1f76cf = _0x2a5e05[_0x32bd6c(0x32b)], + _0x2d3a63 = _0x2a5e05['set']) : (_0x1f76cf = function () { + return this[_0x3cd64b]; + } + , + _0x2d3a63 = function (_0x209e9f) { + this[_0x3cd64b] = _0x209e9f; + } + ) : 0x240f + 0xc11 * 0x3 + -0x22 * 0x220 === _0x1cd0f5 ? _0x1f76cf = function () { + var _0x446fc0 = _0x32bd6c; + return _0x2a5e05[_0x446fc0(0x2e4)]; + } + : (-0x4 * -0x1f6 + 0x1b48 + -0x231f !== _0x1cd0f5 && 0x61 * 0x1a + -0x113 * -0x11 + -0x1c1a !== _0x1cd0f5 || (_0x1f76cf = function () { + var _0x447b7b = _0x32bd6c; + return _0x2a5e05['get'][_0x447b7b(0x334)](this); + } + ), + 0x1e4e + 0x25b6 * -0x1 + 0x769 !== _0x1cd0f5 && 0x1397 + -0xb7e + -0x815 !== _0x1cd0f5 || (_0x2d3a63 = function (_0x4c071d) { + _0x2a5e05['set']['call'](this, _0x4c071d); + } + )), + _0x52dc9f[_0x32bd6c(0x1d0)] = _0x1f76cf && _0x2d3a63 ? { + 'get': _0x1f76cf, + 'set': _0x2d3a63 + } : _0x1f76cf ? { + 'get': _0x1f76cf + } : { + 'set': _0x2d3a63 + }; + try { + return _0x5713eb(_0x40ee96, _0x52dc9f); + } finally { + _0x33b885['v'] = !(-0x8c9 + 0x2 * -0x1189 + 0x2bdb); + } + } + + function _0x23bc0c(_0x4aa0f2, _0x12640a) { + var _0x1b925e = w_0x25f3; + if (_0x1b925e(0x1ee) != typeof _0x4aa0f2) + throw new TypeError(_0x12640a + _0x1b925e(0x2f8)); + } + + function _0x2de5e4(_0x3de3bb, _0xa398ec) { + var _0xf94308 = w_0x25f3 + , _0x2c8661 = typeof _0xa398ec; + if (-0x33 * 0x4c + 0x5 * 0x787 + -0x1 * 0x167e === _0x3de3bb) { + if (_0xf94308(0x17d) !== _0x2c8661 || null === _0xa398ec) + throw new TypeError(_0xf94308(0x1fd)); + void (-0x1e03 + -0x1eb + 0xff7 * 0x2) !== _0xa398ec[_0xf94308(0x32b)] && _0x23bc0c(_0xa398ec[_0xf94308(0x32b)], 'accessor.get'), + void (0x3ba + -0x24db + -0xb0b * -0x3) !== _0xa398ec[_0xf94308(0x1e4)] && _0x23bc0c(_0xa398ec[_0xf94308(0x1e4)], _0xf94308(0x231)), + void (0x7f8 + -0x1b10 + -0x1318 * -0x1) !== _0xa398ec[_0xf94308(0x3b9)] && _0x23bc0c(_0xa398ec['init'], _0xf94308(0x22f)); + } else { + if (_0xf94308(0x1ee) !== _0x2c8661) + throw new TypeError((-0xf65 + 0xbd0 + 0x395 === _0x3de3bb ? _0xf94308(0x23c) : 0x48e + -0x1 * 0x1ebe + 0x1a3a === _0x3de3bb ? _0xf94308(0x19c) : _0xf94308(0x25a)) + _0xf94308(0x2cd)); + } + } + + function _0x343a1e(_0xc4b124, _0x1026d8, _0x47c875, _0x150a83, _0x4cdf11, _0x3e4a0b, _0x1dd313, _0x2b027d) { + var _0x1c87ab = w_0x25f3, _0x2f46a5, _0x5a2be0, _0x547138, _0x289168, _0x1e1872, _0xd2fd89, + _0x17ee52 = _0x47c875[-0x2099 + -0x133 * 0x1 + 0x21cc]; + if (_0x1dd313 ? _0x2f46a5 = 0xb0a + 0x2125 + -0x2c2f === _0x4cdf11 || 0x12ea + 0x5ba + 0x385 * -0x7 === _0x4cdf11 ? { + 'get': _0x47c875[0x1cf3 + 0x7 * -0x57d + 0x97b], + 'set': _0x47c875[0x6 * 0x210 + -0x2b3 * 0x3 + 0x1 * -0x443] + } : 0x1f7b + -0x2 * 0x1253 + 0x52e * 0x1 === _0x4cdf11 ? { + 'get': _0x47c875[0x1476 + 0x23 * -0xb5 + 0x44c] + } : 0x2290 + -0x20e6 + -0x1a6 === _0x4cdf11 ? { + 'set': _0x47c875[0x1465 * -0x1 + -0x1 * 0x7d9 + -0x1 * -0x1c41] + } : { + 'value': _0x47c875[-0x1550 + 0xb0f + 0xa44] + } : 0x8bb + 0x37b + 0x1 * -0xc36 !== _0x4cdf11 && (_0x2f46a5 = Object[_0x1c87ab(0x2a6)](_0x1026d8, _0x150a83)), + -0xf * -0x49 + -0x8c3 * -0x1 + 0xd09 * -0x1 === _0x4cdf11 ? _0x547138 = { + 'get': _0x2f46a5[_0x1c87ab(0x32b)], + 'set': _0x2f46a5['set'] + } : -0x7c4 + 0x1da9 + -0x15e3 === _0x4cdf11 ? _0x547138 = _0x2f46a5[_0x1c87ab(0x2e4)] : 0x7e1 + -0x159a + 0xdbc === _0x4cdf11 ? _0x547138 = _0x2f46a5[_0x1c87ab(0x32b)] : 0x105 + 0x177d * 0x1 + 0xbe * -0x21 === _0x4cdf11 && (_0x547138 = _0x2f46a5['set']), + _0x1c87ab(0x1ee) == typeof _0x17ee52) + void (-0x12c9 + 0x3 * -0x2f + 0x1e * 0xa5) !== (_0x289168 = _0x39ceae(_0x17ee52, _0x150a83, _0x2f46a5, _0x2b027d, _0x4cdf11, _0x3e4a0b, _0x1dd313, _0x547138)) && (_0x2de5e4(_0x4cdf11, _0x289168), + -0x1cc9 + -0x2 * 0xb5d + 0x1 * 0x3383 === _0x4cdf11 ? _0x5a2be0 = _0x289168 : -0x1 * 0x1517 + 0x25 * 0x44 + 0xb44 === _0x4cdf11 ? (_0x5a2be0 = _0x289168[_0x1c87ab(0x3b9)], + _0x1e1872 = _0x289168[_0x1c87ab(0x32b)] || _0x547138['get'], + _0xd2fd89 = _0x289168[_0x1c87ab(0x1e4)] || _0x547138[_0x1c87ab(0x1e4)], + _0x547138 = { + 'get': _0x1e1872, + 'set': _0xd2fd89 + }) : _0x547138 = _0x289168); + else + for (var _0x5a46d9 = _0x17ee52[_0x1c87ab(0x259)] - (-0x49 * 0x19 + 0x4a2 + 0x280); _0x5a46d9 >= -0x225b + 0x1562 + 0xcf9; _0x5a46d9--) { + var _0x60a0d7; + void (-0xffd + 0x7 * -0x293 + 0x2202) !== (_0x289168 = _0x39ceae(_0x17ee52[_0x5a46d9], _0x150a83, _0x2f46a5, _0x2b027d, _0x4cdf11, _0x3e4a0b, _0x1dd313, _0x547138)) && (_0x2de5e4(_0x4cdf11, _0x289168), + 0x52 * -0x59 + 0x9 * -0x104 + 0x2 * 0x12d3 === _0x4cdf11 ? _0x60a0d7 = _0x289168 : -0x1689 + 0x1e96 + -0x80c === _0x4cdf11 ? (_0x60a0d7 = _0x289168['init'], + _0x1e1872 = _0x289168[_0x1c87ab(0x32b)] || _0x547138['get'], + _0xd2fd89 = _0x289168[_0x1c87ab(0x1e4)] || _0x547138[_0x1c87ab(0x1e4)], + _0x547138 = { + 'get': _0x1e1872, + 'set': _0xd2fd89 + }) : _0x547138 = _0x289168, + void (-0x1a77 + -0x136f + -0xeb * -0x32) !== _0x60a0d7 && (void (-0x519 + -0x1 * -0x1245 + -0x2 * 0x696) === _0x5a2be0 ? _0x5a2be0 = _0x60a0d7 : _0x1c87ab(0x1ee) == typeof _0x5a2be0 ? _0x5a2be0 = [_0x5a2be0, _0x60a0d7] : _0x5a2be0[_0x1c87ab(0x36e)](_0x60a0d7))); + } + if (0x78c + 0x1d71 * -0x1 + 0x15e5 * 0x1 === _0x4cdf11 || -0x49 * 0x6 + 0x1e * 0xd2 + -0x1 * 0x16e5 === _0x4cdf11) { + if (void (0x21db + 0x22d * 0xd + -0x3e24) === _0x5a2be0) + _0x5a2be0 = function (_0x5345b0, _0x1a659b) { + return _0x1a659b; + } + ; + else { + if ('function' != typeof _0x5a2be0) { + var _0x336daa = _0x5a2be0; + _0x5a2be0 = function (_0x30e05d, _0xf3b4df) { + var _0x4d9e7f = _0x1c87ab; + for (var _0x362c52 = _0xf3b4df, _0x22ed8a = 0x1 * 0x1f3c + -0x610 + -0x192c; _0x22ed8a < _0x336daa[_0x4d9e7f(0x259)]; _0x22ed8a++) + _0x362c52 = _0x336daa[_0x22ed8a]['call'](_0x30e05d, _0x362c52); + return _0x362c52; + } + ; + } else { + var _0x5aed3b = _0x5a2be0; + _0x5a2be0 = function (_0x5dc978, _0x5db160) { + return _0x5aed3b['call'](_0x5dc978, _0x5db160); + } + ; + } + } + _0xc4b124[_0x1c87ab(0x36e)](_0x5a2be0); + } + 0x177a + -0xe7 * -0x1c + 0x22 * -0x16f !== _0x4cdf11 && (0x3af + 0x9 * -0x217 + 0x50b * 0x3 === _0x4cdf11 ? (_0x2f46a5[_0x1c87ab(0x32b)] = _0x547138[_0x1c87ab(0x32b)], + _0x2f46a5[_0x1c87ab(0x1e4)] = _0x547138[_0x1c87ab(0x1e4)]) : 0x18a3 * -0x1 + 0x263c + -0xd97 === _0x4cdf11 ? _0x2f46a5[_0x1c87ab(0x2e4)] = _0x547138 : -0x4 * -0x31b + -0x837 * 0x4 + -0x5 * -0x417 === _0x4cdf11 ? _0x2f46a5[_0x1c87ab(0x32b)] = _0x547138 : -0x1a2e + 0x2 * 0x131d + -0xc08 === _0x4cdf11 && (_0x2f46a5[_0x1c87ab(0x1e4)] = _0x547138), + _0x1dd313 ? -0x1 * -0x1757 + 0x1ada + -0x3230 === _0x4cdf11 ? (_0xc4b124[_0x1c87ab(0x36e)](function (_0xb886c1, _0x3a6bf5) { + var _0x288d67 = _0x1c87ab; + return _0x547138[_0x288d67(0x32b)][_0x288d67(0x334)](_0xb886c1, _0x3a6bf5); + }), + _0xc4b124[_0x1c87ab(0x36e)](function (_0x337452, _0x50608d) { + var _0x44b896 = _0x1c87ab; + return _0x547138[_0x44b896(0x1e4)][_0x44b896(0x334)](_0x337452, _0x50608d); + })) : -0x2 * 0x93d + 0x297 + -0x139 * -0xd === _0x4cdf11 ? _0xc4b124['push'](_0x547138) : _0xc4b124[_0x1c87ab(0x36e)](function (_0x1e24c7, _0x120c64) { + var _0x3e3294 = _0x1c87ab; + return _0x547138[_0x3e3294(0x334)](_0x1e24c7, _0x120c64); + }) : Object[_0x1c87ab(0x175)](_0x1026d8, _0x150a83, _0x2f46a5)); + } + + function _0x4c3a0d(_0x48207f, _0x257e35) { + var _0x1249e7 = w_0x25f3; + for (var _0x47fbbd, _0x402774, _0x333e3a = [], _0xe5fb1e = new Map(), _0x15f194 = new Map(), _0x41a1c1 = -0x1 * 0x575 + -0x13c0 + -0x1b * -0xef; _0x41a1c1 < _0x257e35[_0x1249e7(0x259)]; _0x41a1c1++) { + var _0x63ddf3 = _0x257e35[_0x41a1c1]; + if (Array[_0x1249e7(0x2af)](_0x63ddf3)) { + var _0x446366, _0x186385, _0x19186f = _0x63ddf3[-0x5bc * 0x4 + 0xf6a * -0x1 + -0x3 * -0xcc9], + _0x4911c0 = _0x63ddf3[0x1 * 0x46 + -0xb73 + 0xb2f], + _0x39f6a1 = _0x63ddf3['length'] > -0x4 * -0x101 + -0xe6c + 0xa6b, + _0x27b8e1 = _0x19186f >= 0xb76 + 0x73 * -0x34 + 0x71 * 0x1b; + if (_0x27b8e1 ? (_0x446366 = _0x48207f, + 0x26c + -0x157d + -0x65b * -0x3 != (_0x19186f -= 0x2324 + 0x27 * 0xbe + -0x4011) && (_0x186385 = _0x402774 = _0x402774 || [])) : (_0x446366 = _0x48207f[_0x1249e7(0x344)], + -0x7 * 0x297 + 0x1b26 + -0x905 !== _0x19186f && (_0x186385 = _0x47fbbd = _0x47fbbd || [])), + 0x13d6 * -0x1 + 0x1 * 0xbb7 + 0x81f !== _0x19186f && !_0x39f6a1) { + var _0x3f295f = _0x27b8e1 ? _0x15f194 : _0xe5fb1e + , + _0x566c7b = _0x3f295f[_0x1249e7(0x32b)](_0x4911c0) || -0x188 * -0xb + 0x3e * 0x49 + -0x2286; + if (!(0x903 * -0x1 + -0x1f * -0x8d + 0x1 * -0x810) === _0x566c7b || -0x43 * 0x5 + -0x1c6c + 0x2f * 0xa2 === _0x566c7b && -0x737 + -0x1ac2 + 0x21fd !== _0x19186f || 0xdd2 + -0x202b + 0x125d === _0x566c7b && -0x1 * 0x118d + -0x2b8 * -0x3 + 0x8 * 0x12d !== _0x19186f) + throw new Error('Attempted\x20to\x20decorate\x20a\x20public\x20method/accessor\x20that\x20has\x20the\x20same\x20name\x20as\x20a\x20previously\x20decorated\x20public\x20method/accessor.\x20This\x20is\x20not\x20currently\x20supported\x20by\x20the\x20decorators\x20plugin.\x20Property\x20name\x20was:\x20' + _0x4911c0); + !_0x566c7b && _0x19186f > 0xf * -0x26f + 0x1 * 0x79d + 0x1ce6 * 0x1 ? _0x3f295f[_0x1249e7(0x1e4)](_0x4911c0, _0x19186f) : _0x3f295f['set'](_0x4911c0, !(0x4a * 0x71 + -0xad * 0x2 + 0x6 * -0x538)); + } + _0x343a1e(_0x333e3a, _0x446366, _0x63ddf3, _0x4911c0, _0x19186f, _0x27b8e1, _0x39f6a1, _0x186385); + } + } + return _0x45d367(_0x333e3a, _0x47fbbd), + _0x45d367(_0x333e3a, _0x402774), + _0x333e3a; + } + + function _0x45d367(_0x59ffc8, _0x5ae59b) { + var _0x5b965e = w_0x25f3; + _0x5ae59b && _0x59ffc8[_0x5b965e(0x36e)](function (_0x3ed28e) { + var _0x5985fb = _0x5b965e; + for (var _0x5bcc94 = 0x156a + 0x18e0 + -0x2e4a; _0x5bcc94 < _0x5ae59b['length']; _0x5bcc94++) + _0x5ae59b[_0x5bcc94][_0x5985fb(0x334)](_0x3ed28e); + return _0x3ed28e; + }); + } + + return function (_0x33b4ae, _0x339d11, _0x5ebc36) { + return { + 'e': _0x4c3a0d(_0x33b4ae, _0x339d11), + get 'c'() { + return function (_0x92474e, _0x343c16) { + var _0x3cc4d2 = w_0x25f3; + if (_0x343c16['length'] > -0x271 + -0x2690 + 0x2901) { + for (var _0x18f66c = [], _0x1dd6eb = _0x92474e, _0x1d8833 = _0x92474e[_0x3cc4d2(0x341)], _0x163025 = _0x343c16[_0x3cc4d2(0x259)] - (0x1 * -0x20ed + 0x1f94 + 0x2 * 0xad); _0x163025 >= 0xfba + 0x22 * 0xb6 + 0x27e6 * -0x1; _0x163025--) { + var _0x49ea6f = { + 'v': !(-0x524 + 0x1a34 + -0x150f) + }; + try { + var _0x181a9d = _0x343c16[_0x163025](_0x1dd6eb, { + 'kind': _0x3cc4d2(0x19c), + 'name': _0x1d8833, + 'addInitializer': _0x135cea(_0x18f66c, _0x49ea6f) + }); + } finally { + _0x49ea6f['v'] = !(-0x23e + 0x1 * -0x7fb + 0xa39); + } + void (-0x1 * -0x253d + -0x23d + -0x80 * 0x46) !== _0x181a9d && (_0x2de5e4(0x4c5 + 0xcaf + -0x2e7 * 0x6, _0x181a9d), + _0x1dd6eb = _0x181a9d); + } + return [_0x1dd6eb, function () { + var _0x543396 = _0x3cc4d2; + for (var _0x2a7175 = -0xe71 * -0x1 + 0x24c0 + -0xa3d * 0x5; _0x2a7175 < _0x18f66c['length']; _0x2a7175++) + _0x18f66c[_0x2a7175][_0x543396(0x334)](_0x1dd6eb); + } + ]; + } + }(_0x33b4ae, _0x5ebc36); + } + }; + } + ; + } + + function _0x49af1f(_0x3a86ea, _0x270f72, _0x219a67) { + return (_0x49af1f = _0x4591cd())(_0x3a86ea, _0x270f72, _0x219a67); + } + + function _0x3e4ff5(_0x5b206b, _0xdfb3e7) { + return function (_0x19bdbd) { + var _0x1caf0f = w_0x25f3; + _0x15eb90(_0xdfb3e7, _0x1caf0f(0x225)), + _0x45d8b1(_0x19bdbd, _0x1caf0f(0x3ba)), + _0x5b206b[_0x1caf0f(0x36e)](_0x19bdbd); + } + ; + } + + function _0x19207d(_0x45ced6, _0xcee03f) { + var _0x41489e = w_0x25f3; + if (!_0x45ced6(_0xcee03f)) + throw new TypeError(_0x41489e(0x255)); + } + + function _0x151762(_0x535a19, _0x4e0a69, _0x270f96, _0x52f7e9, _0x23d388, _0x49094d, _0x49f620, _0x251987, _0x40c067) { + var _0x3b49d7 = w_0x25f3, _0x5d54d8; + switch (_0x23d388) { + case -0x14b9 + 0x1dd5 + -0x91b: + _0x5d54d8 = _0x3b49d7(0x1b9); + break; + case -0xe4a + 0x12be + -0x472: + _0x5d54d8 = _0x3b49d7(0x25a); + break; + case -0x10f1 * -0x2 + 0x179 * 0x19 + -0x46b0: + _0x5d54d8 = _0x3b49d7(0x181); + break; + case 0x3 * -0x5cf + 0x778 * 0x1 + 0x353 * 0x3: + _0x5d54d8 = _0x3b49d7(0x35d); + break; + default: + _0x5d54d8 = _0x3b49d7(0x23c); + } + var _0x246ff5, _0x4e02d1, _0x45ccfd = { + 'kind': _0x5d54d8, + 'name': _0x49f620 ? '#' + _0x4e0a69 : _0x4e0a69, + 'static': _0x49094d, + 'private': _0x49f620 + }, _0x4733a4 = { + 'v': !(-0xad5 + 0x1f * -0x59 + -0x1f7 * -0xb) + }; + if (0xcf6 + 0x1e15 + -0x3 * 0xe59 !== _0x23d388 && (_0x45ccfd[_0x3b49d7(0x225)] = _0x3e4ff5(_0x52f7e9, _0x4733a4)), + _0x49f620 || -0x112e + -0x23ab + 0x34d9 !== _0x23d388 && 0xa00 + -0x234a + 0x194c !== _0x23d388) { + if (-0x327 * -0x2 + -0xb00 + 0x4b4 === _0x23d388) + _0x246ff5 = function (_0x36bc44) { + var _0x2d48fd = _0x3b49d7; + return _0x19207d(_0x40c067, _0x36bc44), + _0x270f96[_0x2d48fd(0x2e4)]; + } + ; + else { + var _0x339c00 = -0x1746 + -0x1bb + 0xad * 0x25 === _0x23d388 || -0x859 + 0x4 * -0xe2 + -0x27 * -0x4e === _0x23d388; + (_0x339c00 || 0x5 * -0x3bf + -0x1d90 + 0x304e === _0x23d388) && (_0x246ff5 = _0x49f620 ? function (_0x26da64) { + var _0x21bb3a = _0x3b49d7; + return _0x19207d(_0x40c067, _0x26da64), + _0x270f96['get'][_0x21bb3a(0x334)](_0x26da64); + } + : function (_0x2ac873) { + var _0xa2fd4f = _0x3b49d7; + return _0x270f96[_0xa2fd4f(0x32b)][_0xa2fd4f(0x334)](_0x2ac873); + } + ), + (_0x339c00 || -0x14c4 * 0x1 + -0x231e + -0xb2e * -0x5 === _0x23d388) && (_0x4e02d1 = _0x49f620 ? function (_0x1e61ca, _0x1c77b0) { + var _0x5f2230 = _0x3b49d7; + _0x19207d(_0x40c067, _0x1e61ca), + _0x270f96[_0x5f2230(0x1e4)][_0x5f2230(0x334)](_0x1e61ca, _0x1c77b0); + } + : function (_0x4d5a08, _0x3ac6c6) { + var _0x1baec7 = _0x3b49d7; + _0x270f96[_0x1baec7(0x1e4)][_0x1baec7(0x334)](_0x4d5a08, _0x3ac6c6); + } + ); + } + } else + _0x246ff5 = function (_0x4ff2b5) { + return _0x4ff2b5[_0x4e0a69]; + } + , + -0x20ec + 0x12ee * 0x2 + -0x4f0 === _0x23d388 && (_0x4e02d1 = function (_0x2f8383, _0x4a22e5) { + _0x2f8383[_0x4e0a69] = _0x4a22e5; + } + ); + var _0x557c63 = _0x49f620 ? _0x40c067[_0x3b49d7(0x301)]() : function (_0x2f4445) { + return _0x4e0a69 in _0x2f4445; + } + ; + _0x45ccfd[_0x3b49d7(0x1d0)] = _0x246ff5 && _0x4e02d1 ? { + 'get': _0x246ff5, + 'set': _0x4e02d1, + 'has': _0x557c63 + } : _0x246ff5 ? { + 'get': _0x246ff5, + 'has': _0x557c63 + } : { + 'set': _0x4e02d1, + 'has': _0x557c63 + }; + try { + return _0x535a19(_0x251987, _0x45ccfd); + } finally { + _0x4733a4['v'] = !(0xea8 + -0xe9f * 0x1 + 0x1 * -0x9); + } + } + + function _0x15eb90(_0x202051, _0x1c2373) { + var _0x51521b = w_0x25f3; + if (_0x202051['v']) + throw new Error('attempted\x20to\x20call\x20' + _0x1c2373 + _0x51521b(0x168)); + } + + function _0x45d8b1(_0x2ad532, _0x423791) { + var _0x14562d = w_0x25f3; + if (_0x14562d(0x1ee) != typeof _0x2ad532) + throw new TypeError(_0x423791 + _0x14562d(0x2f8)); + } + + function _0xed525b(_0x522a86, _0x4177e1) { + var _0x442324 = w_0x25f3 + , _0x399204 = typeof _0x4177e1; + if (-0x361 + 0x3 * 0x2c4 + 0x4ea * -0x1 === _0x522a86) { + if (_0x442324(0x17d) !== _0x399204 || null === _0x4177e1) + throw new TypeError(_0x442324(0x1fd)); + void (-0x4a0 + 0x2e8 + 0x1b8) !== _0x4177e1[_0x442324(0x32b)] && _0x45d8b1(_0x4177e1[_0x442324(0x32b)], _0x442324(0x170)), + void (0xc4 * -0x1d + 0x651 + 0xfe3) !== _0x4177e1['set'] && _0x45d8b1(_0x4177e1[_0x442324(0x1e4)], _0x442324(0x231)), + void (-0x168c + 0x16b5 * 0x1 + 0x29 * -0x1) !== _0x4177e1['init'] && _0x45d8b1(_0x4177e1[_0x442324(0x3b9)], _0x442324(0x22f)); + } else { + if (_0x442324(0x1ee) !== _0x399204) + throw new TypeError((0x20d7 + 0x7 * -0x362 + 0x7 * -0x14f === _0x522a86 ? _0x442324(0x23c) : 0x1 * -0x1257 + -0x2d9 + -0x26 * -0x8f === _0x522a86 ? 'class' : 'method') + '\x20decorators\x20must\x20return\x20a\x20function\x20or\x20void\x200'); + } + } + + function _0x244c39(_0x17683) { + return function () { + return _0x17683(this); + } + ; + } + + function _0x48532c(_0x5503e0) { + return function (_0x23d6a1) { + _0x5503e0(this, _0x23d6a1); + } + ; + } + + function _0x23e6b(_0x5cf198, _0x5646db, _0x26f9f9, _0x37f54b, _0x47565f, _0x2aa948, _0xccabc1, _0x5c3a48, _0x9ffbdc) { + var _0x3e2adf = w_0x25f3, _0x592aeb, _0x365a6e, _0x4e8d10, _0x589008, _0x17d95a, _0x11c9ab, + _0x9a7bbd = _0x26f9f9[0xa46 + 0xb3c + -0x1582]; + if (_0xccabc1 ? _0x592aeb = 0x24 * 0x47 + 0xf85 + -0x1981 === _0x47565f || 0x14ca + -0x1099 + 0x218 * -0x2 === _0x47565f ? { + 'get': _0x244c39(_0x26f9f9[0x7 * -0x2f0 + 0x227b + -0xde8]), + 'set': _0x48532c(_0x26f9f9[-0xad * -0x19 + -0xc3c + 0x29 * -0x1d]) + } : 0x1b99 * -0x1 + 0x367 + -0x1 * -0x1835 === _0x47565f ? { + 'get': _0x26f9f9[0xb1 * 0x22 + 0x3 * 0xcef + -0x24 * 0x1bb] + } : 0x1 * -0x10f + -0x1 * -0x2023 + -0x1f10 === _0x47565f ? { + 'set': _0x26f9f9[0x36 * -0xa6 + -0x1cb2 + 0x3fb9] + } : { + 'value': _0x26f9f9[-0x7ba * 0x1 + 0x1850 + -0x1093] + } : -0x2 * 0x713 + 0x26fe + 0x27c * -0xa !== _0x47565f && (_0x592aeb = Object[_0x3e2adf(0x2a6)](_0x5646db, _0x37f54b)), + -0x1982 + 0x1947 + 0x14 * 0x3 === _0x47565f ? _0x4e8d10 = { + 'get': _0x592aeb[_0x3e2adf(0x32b)], + 'set': _0x592aeb[_0x3e2adf(0x1e4)] + } : 0xe9b + -0x2a3 + 0x5fb * -0x2 === _0x47565f ? _0x4e8d10 = _0x592aeb['value'] : -0x13 * -0x5b + 0x17cb + -0x1 * 0x1e89 === _0x47565f ? _0x4e8d10 = _0x592aeb[_0x3e2adf(0x32b)] : 0x7d7 * -0x1 + 0x5 * 0x81 + 0x556 === _0x47565f && (_0x4e8d10 = _0x592aeb['set']), + 'function' == typeof _0x9a7bbd) + void (0x1 * 0x1ee3 + 0xd + -0x1ef0) !== (_0x589008 = _0x151762(_0x9a7bbd, _0x37f54b, _0x592aeb, _0x5c3a48, _0x47565f, _0x2aa948, _0xccabc1, _0x4e8d10, _0x9ffbdc)) && (_0xed525b(_0x47565f, _0x589008), + 0xc91 * -0x1 + -0x893 * -0x1 + 0x3fe === _0x47565f ? _0x365a6e = _0x589008 : -0x1 * 0x21dd + -0x109 * -0x24 + -0x366 === _0x47565f ? (_0x365a6e = _0x589008[_0x3e2adf(0x3b9)], + _0x17d95a = _0x589008[_0x3e2adf(0x32b)] || _0x4e8d10[_0x3e2adf(0x32b)], + _0x11c9ab = _0x589008['set'] || _0x4e8d10[_0x3e2adf(0x1e4)], + _0x4e8d10 = { + 'get': _0x17d95a, + 'set': _0x11c9ab + }) : _0x4e8d10 = _0x589008); + else + for (var _0x4f1458 = _0x9a7bbd['length'] - (0x204c + 0x277 * 0x7 + -0xe * 0x38a); _0x4f1458 >= -0x23c2 + 0x91 + 0x2331; _0x4f1458--) { + var _0x189ac8; + void (-0x18f8 * -0x1 + -0x143a + -0x1 * 0x4be) !== (_0x589008 = _0x151762(_0x9a7bbd[_0x4f1458], _0x37f54b, _0x592aeb, _0x5c3a48, _0x47565f, _0x2aa948, _0xccabc1, _0x4e8d10, _0x9ffbdc)) && (_0xed525b(_0x47565f, _0x589008), + -0x22cb + -0x2043 * -0x1 + 0x288 === _0x47565f ? _0x189ac8 = _0x589008 : 0x1bd * -0x3 + 0x283 * 0x8 + 0x2 * -0x770 === _0x47565f ? (_0x189ac8 = _0x589008[_0x3e2adf(0x3b9)], + _0x17d95a = _0x589008[_0x3e2adf(0x32b)] || _0x4e8d10[_0x3e2adf(0x32b)], + _0x11c9ab = _0x589008[_0x3e2adf(0x1e4)] || _0x4e8d10['set'], + _0x4e8d10 = { + 'get': _0x17d95a, + 'set': _0x11c9ab + }) : _0x4e8d10 = _0x589008, + void (-0xaeb + 0x1 * 0x1bb3 + 0x4 * -0x432) !== _0x189ac8 && (void (-0x2359 + -0x3 * -0x323 + 0x19f0) === _0x365a6e ? _0x365a6e = _0x189ac8 : _0x3e2adf(0x1ee) == typeof _0x365a6e ? _0x365a6e = [_0x365a6e, _0x189ac8] : _0x365a6e[_0x3e2adf(0x36e)](_0x189ac8))); + } + if (0x21ee + -0x129b + 0xf53 * -0x1 === _0x47565f || -0x44d * -0x7 + -0xa27 + -0x13f3 * 0x1 === _0x47565f) { + if (void (0x10 * -0x218 + -0x707 * 0x1 + 0x2887) === _0x365a6e) + _0x365a6e = function (_0x56b70b, _0x5e4d55) { + return _0x5e4d55; + } + ; + else { + if (_0x3e2adf(0x1ee) != typeof _0x365a6e) { + var _0x3101a1 = _0x365a6e; + _0x365a6e = function (_0x449bbf, _0x5196d8) { + var _0x360050 = _0x3e2adf; + for (var _0x143a4f = _0x5196d8, _0x36e4b1 = -0x1ef8 + -0x3 * -0xd01 + -0x80b * 0x1; _0x36e4b1 < _0x3101a1[_0x360050(0x259)]; _0x36e4b1++) + _0x143a4f = _0x3101a1[_0x36e4b1][_0x360050(0x334)](_0x449bbf, _0x143a4f); + return _0x143a4f; + } + ; + } else { + var _0x1e2902 = _0x365a6e; + _0x365a6e = function (_0xe6998d, _0xec7c91) { + var _0x5bb1b6 = _0x3e2adf; + return _0x1e2902[_0x5bb1b6(0x334)](_0xe6998d, _0xec7c91); + } + ; + } + } + _0x5cf198['push'](_0x365a6e); + } + 0x82e + 0x14c5 + -0x1cf3 !== _0x47565f && (-0x1 * -0x1d72 + 0x15b0 + 0x3 * -0x110b === _0x47565f ? (_0x592aeb[_0x3e2adf(0x32b)] = _0x4e8d10[_0x3e2adf(0x32b)], + _0x592aeb['set'] = _0x4e8d10['set']) : 0x1de7 + -0x16 * -0x10a + -0x34c1 === _0x47565f ? _0x592aeb[_0x3e2adf(0x2e4)] = _0x4e8d10 : -0x2508 + -0x2665 + 0x4b70 === _0x47565f ? _0x592aeb[_0x3e2adf(0x32b)] = _0x4e8d10 : 0x11 * -0x9f + -0x6a5 + 0x1138 === _0x47565f && (_0x592aeb[_0x3e2adf(0x1e4)] = _0x4e8d10), + _0xccabc1 ? 0x8f6 * 0x1 + -0xae9 + 0xa * 0x32 === _0x47565f ? (_0x5cf198['push'](function (_0x31015b, _0x979f27) { + var _0x1938a1 = _0x3e2adf; + return _0x4e8d10['get'][_0x1938a1(0x334)](_0x31015b, _0x979f27); + }), + _0x5cf198[_0x3e2adf(0x36e)](function (_0x506584, _0x44c428) { + var _0x29e7e5 = _0x3e2adf; + return _0x4e8d10['set'][_0x29e7e5(0x334)](_0x506584, _0x44c428); + })) : 0x27 * -0xd0 + 0x4 * -0x12d + 0x2466 === _0x47565f ? _0x5cf198[_0x3e2adf(0x36e)](_0x4e8d10) : _0x5cf198[_0x3e2adf(0x36e)](function (_0x3345b4, _0x845662) { + var _0x1b7734 = _0x3e2adf; + return _0x4e8d10[_0x1b7734(0x334)](_0x3345b4, _0x845662); + }) : Object['defineProperty'](_0x5646db, _0x37f54b, _0x592aeb)); + } + + function _0x754898(_0x2bd2c5, _0x2c3dcd, _0x119780) { + var _0x42b3ee = w_0x25f3; + for (var _0x328f7d, _0x12addf, _0x29a079, _0x3330d8 = [], _0x484293 = new Map(), _0x4a2ea8 = new Map(), _0x478e5d = 0x1 * -0x3e1 + -0x22b8 + 0x2699; _0x478e5d < _0x2c3dcd[_0x42b3ee(0x259)]; _0x478e5d++) { + var _0x5c7927 = _0x2c3dcd[_0x478e5d]; + if (Array[_0x42b3ee(0x2af)](_0x5c7927)) { + var _0x25ea34, _0x5b9b12, _0x35b641 = _0x5c7927[-0x33b * 0x1 + 0xebe + 0x3 * -0x3d6], + _0x49a803 = _0x5c7927[-0x78a + -0x29 * 0x60 + 0xc * 0x1e9], + _0x410da0 = _0x5c7927[_0x42b3ee(0x259)] > 0x1291 + -0x1e03 + 0xb75, + _0x3c9168 = _0x35b641 >= -0x13e1 * 0x1 + 0x793 + -0x5 * -0x277, _0x41ada5 = _0x119780; + if (_0x3c9168 ? (_0x25ea34 = _0x2bd2c5, + -0x7e3 + -0x1087 * 0x2 + 0x28f1 != (_0x35b641 -= 0x867 + 0xa1b + 0x127d * -0x1) && (_0x5b9b12 = _0x12addf = _0x12addf || []), + _0x410da0 && !_0x29a079 && (_0x29a079 = function (_0x106ee5) { + return _0x37e1e2(_0x106ee5) === _0x2bd2c5; + } + ), + _0x41ada5 = _0x29a079) : (_0x25ea34 = _0x2bd2c5['prototype'], + 0x13a3 * 0x1 + -0x2589 + 0x11e6 * 0x1 !== _0x35b641 && (_0x5b9b12 = _0x328f7d = _0x328f7d || [])), + 0xfad + 0x3 * -0xceb + 0x1714 !== _0x35b641 && !_0x410da0) { + var _0x4430b1 = _0x3c9168 ? _0x4a2ea8 : _0x484293 + , _0x3a9a47 = _0x4430b1[_0x42b3ee(0x32b)](_0x49a803) || 0x139e + -0xa * 0x13d + -0x73c; + if (!(-0x1 * 0x5df + 0x94b + -0x36c) === _0x3a9a47 || 0x3 * 0x38 + -0x25b * 0x7 + -0x8 * -0x1fb === _0x3a9a47 && 0x54 + 0x152e + -0x2a * 0x83 !== _0x35b641 || 0x2 * -0x1cb + 0x1e71 + -0x1ad7 * 0x1 === _0x3a9a47 && 0x6e9 + 0xa71 + 0xc1 * -0x17 !== _0x35b641) + throw new Error('Attempted\x20to\x20decorate\x20a\x20public\x20method/accessor\x20that\x20has\x20the\x20same\x20name\x20as\x20a\x20previously\x20decorated\x20public\x20method/accessor.\x20This\x20is\x20not\x20currently\x20supported\x20by\x20the\x20decorators\x20plugin.\x20Property\x20name\x20was:\x20' + _0x49a803); + !_0x3a9a47 && _0x35b641 > -0x73 * -0x45 + 0x798 + -0x2695 ? _0x4430b1['set'](_0x49a803, _0x35b641) : _0x4430b1['set'](_0x49a803, !(0x1 * 0xb7c + -0x15ce * 0x1 + 0xa52)); + } + _0x23e6b(_0x3330d8, _0x25ea34, _0x5c7927, _0x49a803, _0x35b641, _0x3c9168, _0x410da0, _0x5b9b12, _0x41ada5); + } + } + return _0xdfc9aa(_0x3330d8, _0x328f7d), + _0xdfc9aa(_0x3330d8, _0x12addf), + _0x3330d8; + } + + function _0xdfc9aa(_0x18680e, _0x994303) { + var _0x3df611 = w_0x25f3; + _0x994303 && _0x18680e[_0x3df611(0x36e)](function (_0x3720d6) { + var _0xc905ee = _0x3df611; + for (var _0x400047 = 0x17dc + -0x3df * 0x6 + -0xa2; _0x400047 < _0x994303['length']; _0x400047++) + _0x994303[_0x400047][_0xc905ee(0x334)](_0x3720d6); + return _0x3720d6; + }); + } + + function _0x2258b9(_0x31d7ec, _0x22dcdb) { + var _0x41474b = w_0x25f3; + if (_0x22dcdb[_0x41474b(0x259)] > 0x26a0 + -0x145f + -0x1241) { + for (var _0x3c54e9 = [], _0x8cb428 = _0x31d7ec, _0x2344cd = _0x31d7ec['name'], _0x16f8af = _0x22dcdb[_0x41474b(0x259)] - (0x1321 + 0x1388 + 0x1354 * -0x2); _0x16f8af >= 0x1a79 + 0x6f * 0x2a + -0x2caf; _0x16f8af--) { + var _0x36735e = { + 'v': !(0x4 * -0x601 + 0x116d * 0x1 + -0x698 * -0x1) + }; + try { + var _0x147e7c = _0x22dcdb[_0x16f8af](_0x8cb428, { + 'kind': _0x41474b(0x19c), + 'name': _0x2344cd, + 'addInitializer': _0x3e4ff5(_0x3c54e9, _0x36735e) + }); + } finally { + _0x36735e['v'] = !(0x1e88 + -0x1973 + -0x515 * 0x1); + } + void (-0xedb + -0x5 * 0x2bf + 0x1c96) !== _0x147e7c && (_0xed525b(0x10b8 + -0xb * 0x2e1 + -0x3 * -0x4ff, _0x147e7c), + _0x8cb428 = _0x147e7c); + } + return [_0x8cb428, function () { + var _0x28afa7 = _0x41474b; + for (var _0x4967c5 = -0x1 * 0x23b5 + -0x2 * -0x4c7 + 0x203 * 0xd; _0x4967c5 < _0x3c54e9[_0x28afa7(0x259)]; _0x4967c5++) + _0x3c54e9[_0x4967c5][_0x28afa7(0x334)](_0x8cb428); + } + ]; + } + } + + function _0x499d65(_0x2be690, _0x428d43, _0x381e26, _0x409a13) { + return { + 'e': _0x754898(_0x2be690, _0x428d43, _0x409a13), + get 'c'() { + return _0x2258b9(_0x2be690, _0x381e26); + } + }; + } + + function _0x63f01f(_0x5fd149) { + var _0x2e1243 = w_0x25f3 + , _0x111c4c = {} + , _0x2aa094 = !(-0x3d * -0x53 + -0x2086 * -0x1 + -0x344c); + + function _0x3ad3fe(_0x4a2256, _0x3bcff1) { + return _0x2aa094 = !(0x160 * 0x3 + -0x4b5 * 0x1 + 0x1 * 0x95), + { + 'done': !(0x1cd3 + 0x1 * -0xa11 + -0x12c1 * 0x1), + 'value': new _0x59d886(_0x3bcff1 = new Promise(function (_0x353966) { + _0x353966(_0x5fd149[_0x4a2256](_0x3bcff1)); + } + ), 0x2b * 0x44 + -0x8b3 * 0x2 + 0x1 * 0x5fb) + }; + } + + return _0x111c4c[_0x2e1243(0x384) != typeof Symbol && Symbol['iterator'] || _0x2e1243(0x1dd)] = function () { + return this; + } + , + _0x111c4c[_0x2e1243(0x389)] = function (_0x45912d) { + return _0x2aa094 ? (_0x2aa094 = !(0x1569 + 0x7 * 0x314 + -0x2af4), + _0x45912d) : _0x3ad3fe('next', _0x45912d); + } + , + _0x2e1243(0x1ee) == typeof _0x5fd149[_0x2e1243(0x250)] && (_0x111c4c[_0x2e1243(0x250)] = function (_0xd71e81) { + var _0x37886e = _0x2e1243; + if (_0x2aa094) + throw _0x2aa094 = !(-0x648 + -0x1eca + -0x2513 * -0x1), + _0xd71e81; + return _0x3ad3fe(_0x37886e(0x250), _0xd71e81); + } + ), + _0x2e1243(0x1ee) == typeof _0x5fd149[_0x2e1243(0x2fd)] && (_0x111c4c[_0x2e1243(0x2fd)] = function (_0xd4b711) { + return _0x2aa094 ? (_0x2aa094 = !(-0x8e1 * -0x4 + -0x2194 + 0x3 * -0xa5), + _0xd4b711) : _0x3ad3fe('return', _0xd4b711); + } + ), + _0x111c4c; + } + + function _0x278b9f(_0x12b945) { + var _0x55cd1f = w_0x25f3, _0x449dfe, _0x31b182, _0x218f32, _0x2ecb8a = -0x1d9 * -0x5 + -0x5d4 + -0x367; + for ('undefined' != typeof Symbol && (_0x31b182 = Symbol[_0x55cd1f(0x17c)], + _0x218f32 = Symbol[_0x55cd1f(0x3b3)]); _0x2ecb8a--;) { + if (_0x31b182 && null != (_0x449dfe = _0x12b945[_0x31b182])) + return _0x449dfe[_0x55cd1f(0x334)](_0x12b945); + if (_0x218f32 && null != (_0x449dfe = _0x12b945[_0x218f32])) + return new _0x3d6fc9(_0x449dfe[_0x55cd1f(0x334)](_0x12b945)); + _0x31b182 = _0x55cd1f(0x230), + _0x218f32 = _0x55cd1f(0x1dd); + } + throw new TypeError(_0x55cd1f(0x2a9)); + } + + function _0x3d6fc9(_0x4d37b6) { + var _0x36b1b0 = w_0x25f3; + + function _0x6c368b(_0x231d6c) { + var _0x3a3e78 = w_0x25f3; + if (Object(_0x231d6c) !== _0x231d6c) + return Promise['reject'](new TypeError(_0x231d6c + _0x3a3e78(0x3a6))); + var _0x4cdd04 = _0x231d6c[_0x3a3e78(0x1e3)]; + return Promise['resolve'](_0x231d6c[_0x3a3e78(0x2e4)])['then'](function (_0x468cc1) { + return { + 'value': _0x468cc1, + 'done': _0x4cdd04 + }; + }); + } + + return (_0x3d6fc9 = function (_0x5a83bf) { + var _0x2ffee8 = w_0x25f3; + this['s'] = _0x5a83bf, + this['n'] = _0x5a83bf[_0x2ffee8(0x389)]; + } + )[_0x36b1b0(0x344)] = { + 's': null, + 'n': null, + 'next': function () { + var _0x1eac7c = _0x36b1b0; + return _0x6c368b(this['n'][_0x1eac7c(0x207)](this['s'], arguments)); + }, + 'return': function (_0x379438) { + var _0x45dc23 = _0x36b1b0 + , _0x35ef86 = this['s'][_0x45dc23(0x2fd)]; + return void (0x23cd + 0x6f3 * 0x1 + -0x48 * 0x98) === _0x35ef86 ? Promise[_0x45dc23(0x278)]({ + 'value': _0x379438, + 'done': !(-0x220 + -0x16b0 + 0x8 * 0x31a) + }) : _0x6c368b(_0x35ef86[_0x45dc23(0x207)](this['s'], arguments)); + }, + 'throw': function (_0x2ca86a) { + var _0x5812c4 = _0x36b1b0 + , _0x449ee5 = this['s'][_0x5812c4(0x2fd)]; + return void (0xe3b + 0x1 * -0x128e + 0x453) === _0x449ee5 ? Promise[_0x5812c4(0x39b)](_0x2ca86a) : _0x6c368b(_0x449ee5['apply'](this['s'], arguments)); + } + }, + new _0x3d6fc9(_0x4d37b6); + } + + function _0x81c36b(_0x305287) { + return new _0x59d886(_0x305287, -0x5e + 0xf84 + -0xf26 * 0x1); + } + + function _0x37e1e2(_0x3127ce) { + var _0x43b88e = w_0x25f3; + if (Object(_0x3127ce) !== _0x3127ce) + throw TypeError('right-hand\x20side\x20of\x20\x27in\x27\x20should\x20be\x20an\x20object,\x20got\x20' + (null !== _0x3127ce ? typeof _0x3127ce : _0x43b88e(0x308))); + return _0x3127ce; + } + + function _0x564673(_0x18bd7c, _0x51fb0f, _0x2103c5, _0x5f4619) { + var _0x41c64 = w_0x25f3 + , _0xab8c16 = { + 'configurable': !(-0x15c4 + 0x25f7 * -0x1 + 0x3bbb), + 'enumerable': !(0x2581 + -0x121c + -0x1365) + }; + return _0xab8c16[_0x18bd7c] = _0x5f4619, + Object[_0x41c64(0x175)](_0x51fb0f, _0x2103c5, _0xab8c16); + } + + function _0x19d66a(_0x14c297, _0x128d38) { + var _0x48eab4 = w_0x25f3 + , + _0x25f943 = null == _0x14c297 ? null : _0x48eab4(0x384) != typeof Symbol && _0x14c297[Symbol[_0x48eab4(0x3b3)]] || _0x14c297[_0x48eab4(0x1dd)]; + if (null != _0x25f943) { + var _0x285958, _0x5bcc9e, _0x2d4c39, _0x193c70, _0x146015 = [], + _0x16efb7 = !(-0x7e * 0x36 + 0xcff * 0x1 + 0xd95), + _0x5c9556 = !(-0x1d71 * -0x1 + 0x434 * -0x9 + 0x864); + try { + if (_0x2d4c39 = (_0x25f943 = _0x25f943[_0x48eab4(0x334)](_0x14c297))['next'], + -0xe3 * -0xb + -0x1f3 * 0xe + -0x43 * -0x43 === _0x128d38) { + if (Object(_0x25f943) !== _0x25f943) + return; + _0x16efb7 = !(0x17cb + 0x18a9 + -0x4f * 0x9d); + } else { + for (; !(_0x16efb7 = (_0x285958 = _0x2d4c39['call'](_0x25f943))[_0x48eab4(0x1e3)]) && (_0x146015[_0x48eab4(0x36e)](_0x285958[_0x48eab4(0x2e4)]), + _0x146015[_0x48eab4(0x259)] !== _0x128d38); _0x16efb7 = !(0x1 * -0x22d3 + 0x1f2e + 0x3 * 0x137)) + ; + } + } catch (_0x22e14d) { + _0x5c9556 = !(-0x3 * -0x69e + -0xd79 + -0x47 * 0x17), + _0x5bcc9e = _0x22e14d; + } finally { + try { + if (!_0x16efb7 && null != _0x25f943[_0x48eab4(0x2fd)] && (_0x193c70 = _0x25f943['return'](), + Object(_0x193c70) !== _0x193c70)) + return; + } finally { + if (_0x5c9556) + throw _0x5bcc9e; + } + } + return _0x146015; + } + } + + function _0x376fd5(_0x233550, _0x1b337f) { + var _0x545ac4 = w_0x25f3 + , + _0x524438 = _0x233550 && (_0x545ac4(0x384) != typeof Symbol && _0x233550[Symbol[_0x545ac4(0x3b3)]] || _0x233550['@@iterator']); + if (null != _0x524438) { + var _0x259ce6, _0x4523ee = []; + for (_0x524438 = _0x524438['call'](_0x233550); _0x233550[_0x545ac4(0x259)] < _0x1b337f && !(_0x259ce6 = _0x524438['next']())[_0x545ac4(0x1e3)];) + _0x4523ee[_0x545ac4(0x36e)](_0x259ce6['value']); + return _0x4523ee; + } + } + + function _0x2e4b86(_0x760974, _0x438efa, _0x37a20b, _0x52b279) { + var _0x2644f8 = w_0x25f3; + _0x500e9f || (_0x500e9f = _0x2644f8(0x1ee) == typeof Symbol && Symbol[_0x2644f8(0x31e)] && Symbol[_0x2644f8(0x31e)](_0x2644f8(0x279)) || 0x1353f + -0x1157 + -0x3921); + var _0x513b54 = _0x760974 && _0x760974[_0x2644f8(0x371)] + , _0x5469e9 = arguments[_0x2644f8(0x259)] - (-0xcb * -0xb + -0xa * 0x137 + -0x28 * -0x16); + if (_0x438efa || 0x109 * -0x1c + 0xdc1 + 0xf3b === _0x5469e9 || (_0x438efa = { + 'children': void (-0x2 * -0x1037 + 0x32f + -0x239d) + }), + -0xf69 + 0xedb + -0x8f * -0x1 === _0x5469e9) + _0x438efa[_0x2644f8(0x16f)] = _0x52b279; + else { + if (_0x5469e9 > -0x18e2 + -0x25af + 0x3e92) { + for (var _0x5c6f82 = new Array(_0x5469e9), _0x63cb90 = -0x1 * -0xebd + -0x1a37 + 0x2 * 0x5bd; _0x63cb90 < _0x5469e9; _0x63cb90++) + _0x5c6f82[_0x63cb90] = arguments[_0x63cb90 + (0x15f5 + -0x245f + -0x4cf * -0x3)]; + _0x438efa[_0x2644f8(0x16f)] = _0x5c6f82; + } + } + if (_0x438efa && _0x513b54) { + for (var _0xbcee2c in _0x513b54) + void (-0x1091 * -0x1 + -0x3 * 0x34d + -0x6aa) === _0x438efa[_0xbcee2c] && (_0x438efa[_0xbcee2c] = _0x513b54[_0xbcee2c]); + } else + _0x438efa || (_0x438efa = _0x513b54 || {}); + return { + '$$typeof': _0x500e9f, + 'type': _0x760974, + 'key': void (-0x7 * 0x1cd + -0x1 * -0xb38 + 0x163) === _0x37a20b ? null : '' + _0x37a20b, + 'ref': null, + 'props': _0x438efa, + '_owner': null + }; + } + + function _0x3a3eb5(_0x4619be, _0x3fc822) { + var _0x44978d = w_0x25f3 + , _0x504f59 = Object[_0x44978d(0x17f)](_0x4619be); + if (Object[_0x44978d(0x388)]) { + var _0x4ea700 = Object['getOwnPropertySymbols'](_0x4619be); + _0x3fc822 && (_0x4ea700 = _0x4ea700[_0x44978d(0x164)](function (_0x2a0c03) { + var _0x162328 = _0x44978d; + return Object[_0x162328(0x2a6)](_0x4619be, _0x2a0c03)[_0x162328(0x23a)]; + })), + _0x504f59['push'][_0x44978d(0x207)](_0x504f59, _0x4ea700); + } + return _0x504f59; + } + + function _0x4ee2dd(_0xf371f0) { + var _0x145ce6 = w_0x25f3; + for (var _0x5e36a1 = -0x5 * 0x1ad + 0x11e6 * -0x1 + 0x1a48; _0x5e36a1 < arguments[_0x145ce6(0x259)]; _0x5e36a1++) { + var _0xdb889d = null != arguments[_0x5e36a1] ? arguments[_0x5e36a1] : {}; + _0x5e36a1 % (0x1174 + 0xeb3 + -0x2025) ? _0x3a3eb5(Object(_0xdb889d), !(-0x263c * 0x1 + 0x1 * -0xf7f + 0x7ad * 0x7))[_0x145ce6(0x254)](function (_0x328928) { + _0x4a7824(_0xf371f0, _0x328928, _0xdb889d[_0x328928]); + }) : Object[_0x145ce6(0x1ec)] ? Object[_0x145ce6(0x36c)](_0xf371f0, Object[_0x145ce6(0x1ec)](_0xdb889d)) : _0x3a3eb5(Object(_0xdb889d))[_0x145ce6(0x254)](function (_0x593f5f) { + var _0x53f055 = _0x145ce6; + Object[_0x53f055(0x175)](_0xf371f0, _0x593f5f, Object[_0x53f055(0x2a6)](_0xdb889d, _0x593f5f)); + }); + } + return _0xf371f0; + } + + function _0x385d19() { + var _0x44a0fc = w_0x25f3; + _0x385d19 = function () { + return _0x507b23; + } + ; + var _0x507b23 = {} + , _0x39fa01 = Object[_0x44a0fc(0x344)] + , _0x43238c = _0x39fa01[_0x44a0fc(0x3b8)] + , _0x4cf7d8 = Object['defineProperty'] || function (_0x2541c5, _0x22c938, _0x405bab) { + var _0x32f2ae = _0x44a0fc; + _0x2541c5[_0x22c938] = _0x405bab[_0x32f2ae(0x2e4)]; + } + , _0x1c97cc = _0x44a0fc(0x1ee) == typeof Symbol ? Symbol : {} + , _0x5acd1a = _0x1c97cc[_0x44a0fc(0x3b3)] || _0x44a0fc(0x1dd) + , _0x52f292 = _0x1c97cc['asyncIterator'] || _0x44a0fc(0x230) + , _0x447ab4 = _0x1c97cc[_0x44a0fc(0x1c0)] || _0x44a0fc(0x1e0); + + function _0x3baf2c(_0x30f952, _0x3ef614, _0x2d2b61) { + var _0x598819 = _0x44a0fc; + return Object[_0x598819(0x175)](_0x30f952, _0x3ef614, { + 'value': _0x2d2b61, + 'enumerable': !(0x1b1a * -0x1 + 0x1 * 0x2696 + -0x31 * 0x3c), + 'configurable': !(-0x1a13 + 0x5 * -0x6d + 0xa * 0x2d2), + 'writable': !(-0x1cd + 0x214e + 0x1f81 * -0x1) + }), + _0x30f952[_0x3ef614]; + } + + try { + _0x3baf2c({}, ''); + } catch (_0x275159) { + _0x3baf2c = function (_0x37fa7b, _0x2671f0, _0x45b82e) { + return _0x37fa7b[_0x2671f0] = _0x45b82e; + } + ; + } + + function _0x3e46c6(_0x50c0cc, _0x5f3c83, _0x148917, _0x2e5141) { + var _0x1a25db = _0x44a0fc + , _0x1b0fa0 = _0x5f3c83 && _0x5f3c83['prototype'] instanceof _0x50f36d ? _0x5f3c83 : _0x50f36d + , _0x4f06ab = Object[_0x1a25db(0x3b7)](_0x1b0fa0[_0x1a25db(0x344)]) + , _0x3e4999 = new _0x1b5db9(_0x2e5141 || []); + return _0x4cf7d8(_0x4f06ab, _0x1a25db(0x1b1), { + 'value': _0x121728(_0x50c0cc, _0x148917, _0x3e4999) + }), + _0x4f06ab; + } + + function _0x575dfd(_0x48fd20, _0x6545ef, _0x242936) { + var _0x580d50 = _0x44a0fc; + try { + return { + 'type': _0x580d50(0x2f1), + 'arg': _0x48fd20[_0x580d50(0x334)](_0x6545ef, _0x242936) + }; + } catch (_0x5aebac) { + return { + 'type': 'throw', + 'arg': _0x5aebac + }; + } + } + + _0x507b23['wrap'] = _0x3e46c6; + var _0x511b05 = {}; + + function _0x50f36d() { + } + + function _0x2e67e9() { + } + + function _0x3a5ac7() { + } + + var _0x4c3008 = {}; + _0x3baf2c(_0x4c3008, _0x5acd1a, function () { + return this; + }); + var _0x118945 = Object[_0x44a0fc(0x22c)] + , _0x5d1d04 = _0x118945 && _0x118945(_0x118945(_0x2edbf4([]))); + _0x5d1d04 && _0x5d1d04 !== _0x39fa01 && _0x43238c[_0x44a0fc(0x334)](_0x5d1d04, _0x5acd1a) && (_0x4c3008 = _0x5d1d04); + var _0x42763b = _0x3a5ac7[_0x44a0fc(0x344)] = _0x50f36d['prototype'] = Object[_0x44a0fc(0x3b7)](_0x4c3008); + + function _0x4e156b(_0x314ec0) { + var _0x1229ff = _0x44a0fc; + [_0x1229ff(0x389), _0x1229ff(0x250), _0x1229ff(0x2fd)][_0x1229ff(0x254)](function (_0x1cac9a) { + _0x3baf2c(_0x314ec0, _0x1cac9a, function (_0x509669) { + var _0x3b5587 = w_0x25f3; + return this[_0x3b5587(0x1b1)](_0x1cac9a, _0x509669); + }); + }); + } + + function _0x23eb73(_0x5cb4f0, _0xfdda3) { + var _0x2f70bc; + _0x4cf7d8(this, '_invoke', { + 'value': function (_0x47f883, _0x34dd78) { + var _0x5c5cca = w_0x25f3; + + function _0x65e836() { + return new _0xfdda3(function (_0x494e99, _0x39f97a) { + !function _0x19e170(_0xd94afd, _0x7f5a3, _0x1fc978, _0x392c17) { + var _0x5108db = w_0x25f3 + , _0x123c2b = _0x575dfd(_0x5cb4f0[_0xd94afd], _0x5cb4f0, _0x7f5a3); + if (_0x5108db(0x250) !== _0x123c2b[_0x5108db(0x1ab)]) { + var _0x57ff30 = _0x123c2b[_0x5108db(0x327)] + , _0x519f3c = _0x57ff30[_0x5108db(0x2e4)]; + return _0x519f3c && 'object' == typeof _0x519f3c && _0x43238c[_0x5108db(0x334)](_0x519f3c, _0x5108db(0x2b1)) ? _0xfdda3[_0x5108db(0x278)](_0x519f3c[_0x5108db(0x2b1)])[_0x5108db(0x1ed)](function (_0x513ad4) { + var _0x372e8b = _0x5108db; + _0x19e170(_0x372e8b(0x389), _0x513ad4, _0x1fc978, _0x392c17); + }, function (_0x3ee973) { + _0x19e170('throw', _0x3ee973, _0x1fc978, _0x392c17); + }) : _0xfdda3[_0x5108db(0x278)](_0x519f3c)[_0x5108db(0x1ed)](function (_0xb8049c) { + var _0x3f5791 = _0x5108db; + _0x57ff30[_0x3f5791(0x2e4)] = _0xb8049c, + _0x1fc978(_0x57ff30); + }, function (_0x163a1d) { + var _0x43e785 = _0x5108db; + return _0x19e170(_0x43e785(0x250), _0x163a1d, _0x1fc978, _0x392c17); + }); + } + _0x392c17(_0x123c2b[_0x5108db(0x327)]); + }(_0x47f883, _0x34dd78, _0x494e99, _0x39f97a); + } + ); + } + + return _0x2f70bc = _0x2f70bc ? _0x2f70bc[_0x5c5cca(0x1ed)](_0x65e836, _0x65e836) : _0x65e836(); + } + }); + } + + function _0x121728(_0x39e85b, _0x26363f, _0x3838fc) { + var _0x4a9454 = 'suspendedStart'; + return function (_0x33b907, _0x5c348b) { + var _0x14af93 = w_0x25f3; + if (_0x14af93(0x2ef) === _0x4a9454) + throw new Error(_0x14af93(0x35a)); + if ('completed' === _0x4a9454) { + if ('throw' === _0x33b907) + throw _0x5c348b; + return _0x159200(); + } + for (_0x3838fc[_0x14af93(0x25a)] = _0x33b907, + _0x3838fc[_0x14af93(0x327)] = _0x5c348b; ;) { + var _0x43652a = _0x3838fc[_0x14af93(0x1bc)]; + if (_0x43652a) { + var _0xc12f6f = _0x5489f3(_0x43652a, _0x3838fc); + if (_0xc12f6f) { + if (_0xc12f6f === _0x511b05) + continue; + return _0xc12f6f; + } + } + if (_0x14af93(0x389) === _0x3838fc[_0x14af93(0x25a)]) + _0x3838fc[_0x14af93(0x3b2)] = _0x3838fc[_0x14af93(0x2a2)] = _0x3838fc[_0x14af93(0x327)]; + else { + if ('throw' === _0x3838fc[_0x14af93(0x25a)]) { + if ('suspendedStart' === _0x4a9454) + throw _0x4a9454 = _0x14af93(0x16a), + _0x3838fc['arg']; + _0x3838fc[_0x14af93(0x2cb)](_0x3838fc[_0x14af93(0x327)]); + } else + _0x14af93(0x2fd) === _0x3838fc[_0x14af93(0x25a)] && _0x3838fc['abrupt'](_0x14af93(0x2fd), _0x3838fc['arg']); + } + _0x4a9454 = _0x14af93(0x2ef); + var _0x1a99b5 = _0x575dfd(_0x39e85b, _0x26363f, _0x3838fc); + if ('normal' === _0x1a99b5['type']) { + if (_0x4a9454 = _0x3838fc[_0x14af93(0x1e3)] ? _0x14af93(0x16a) : 'suspendedYield', + _0x1a99b5[_0x14af93(0x327)] === _0x511b05) + continue; + return { + 'value': _0x1a99b5[_0x14af93(0x327)], + 'done': _0x3838fc[_0x14af93(0x1e3)] + }; + } + _0x14af93(0x250) === _0x1a99b5[_0x14af93(0x1ab)] && (_0x4a9454 = _0x14af93(0x16a), + _0x3838fc[_0x14af93(0x25a)] = _0x14af93(0x250), + _0x3838fc[_0x14af93(0x327)] = _0x1a99b5[_0x14af93(0x327)]); + } + } + ; + } + + function _0x5489f3(_0x3c1e2d, _0x59877f) { + var _0x299ed9 = _0x44a0fc + , _0x1a45fc = _0x59877f['method'] + , _0x116edb = _0x3c1e2d[_0x299ed9(0x3b3)][_0x1a45fc]; + if (void (-0x15fe + 0xe93 + 0x76b) === _0x116edb) + return _0x59877f[_0x299ed9(0x1bc)] = null, + _0x299ed9(0x250) === _0x1a45fc && _0x3c1e2d[_0x299ed9(0x3b3)][_0x299ed9(0x2fd)] && (_0x59877f['method'] = 'return', + _0x59877f[_0x299ed9(0x327)] = void (-0x78 * -0x25 + -0x2272 + 0x111a * 0x1), + _0x5489f3(_0x3c1e2d, _0x59877f), + _0x299ed9(0x250) === _0x59877f[_0x299ed9(0x25a)]) || 'return' !== _0x1a45fc && (_0x59877f[_0x299ed9(0x25a)] = _0x299ed9(0x250), + _0x59877f[_0x299ed9(0x327)] = new TypeError('The\x20iterator\x20does\x20not\x20provide\x20a\x20\x27' + _0x1a45fc + _0x299ed9(0x32f))), + _0x511b05; + var _0x5be46a = _0x575dfd(_0x116edb, _0x3c1e2d[_0x299ed9(0x3b3)], _0x59877f[_0x299ed9(0x327)]); + if (_0x299ed9(0x250) === _0x5be46a[_0x299ed9(0x1ab)]) + return _0x59877f[_0x299ed9(0x25a)] = _0x299ed9(0x250), + _0x59877f['arg'] = _0x5be46a[_0x299ed9(0x327)], + _0x59877f[_0x299ed9(0x1bc)] = null, + _0x511b05; + var _0x44f533 = _0x5be46a[_0x299ed9(0x327)]; + return _0x44f533 ? _0x44f533['done'] ? (_0x59877f[_0x3c1e2d[_0x299ed9(0x16e)]] = _0x44f533[_0x299ed9(0x2e4)], + _0x59877f['next'] = _0x3c1e2d[_0x299ed9(0x281)], + _0x299ed9(0x2fd) !== _0x59877f[_0x299ed9(0x25a)] && (_0x59877f[_0x299ed9(0x25a)] = _0x299ed9(0x389), + _0x59877f['arg'] = void (0x1a2 * -0x17 + -0x1910 + 0x5 * 0xc86)), + _0x59877f[_0x299ed9(0x1bc)] = null, + _0x511b05) : _0x44f533 : (_0x59877f[_0x299ed9(0x25a)] = _0x299ed9(0x250), + _0x59877f['arg'] = new TypeError(_0x299ed9(0x251)), + _0x59877f[_0x299ed9(0x1bc)] = null, + _0x511b05); + } + + function _0x14015c(_0x5bad37) { + var _0x42a847 = _0x44a0fc + , _0x401cb9 = { + 'tryLoc': _0x5bad37[-0x953 * 0x3 + 0xd3c + 0xebd] + }; + -0x85b + 0x1181 + -0x925 in _0x5bad37 && (_0x401cb9['catchLoc'] = _0x5bad37[0x12b4 + -0x1d08 + 0xa55]), + 0x4dc + 0x1b6f + 0xac3 * -0x3 in _0x5bad37 && (_0x401cb9[_0x42a847(0x220)] = _0x5bad37[-0xd0c * -0x2 + 0x914 + -0xe * 0x283], + _0x401cb9[_0x42a847(0x2fb)] = _0x5bad37[0x7 * -0x216 + 0x702 + 0x79b]), + this['tryEntries'][_0x42a847(0x36e)](_0x401cb9); + } + + function _0x2f82b3(_0x43fd78) { + var _0x38de29 = _0x44a0fc + , _0x2f1d6c = _0x43fd78[_0x38de29(0x387)] || {}; + _0x2f1d6c['type'] = _0x38de29(0x2f1), + delete _0x2f1d6c[_0x38de29(0x327)], + _0x43fd78['completion'] = _0x2f1d6c; + } + + function _0x1b5db9(_0x53b843) { + var _0x2569b6 = _0x44a0fc; + this[_0x2569b6(0x337)] = [{ + 'tryLoc': _0x2569b6(0x1c3) + }], + _0x53b843[_0x2569b6(0x254)](_0x14015c, this), + this[_0x2569b6(0x2aa)](!(0x1bba + 0x132e + -0x4c * 0x9e)); + } + + function _0x2edbf4(_0xe32b16) { + var _0x3a0ecf = _0x44a0fc; + if (_0xe32b16) { + var _0x3f503a = _0xe32b16[_0x5acd1a]; + if (_0x3f503a) + return _0x3f503a['call'](_0xe32b16); + if (_0x3a0ecf(0x1ee) == typeof _0xe32b16[_0x3a0ecf(0x389)]) + return _0xe32b16; + if (!isNaN(_0xe32b16['length'])) { + var _0x1ff1cf = -(-0x254c + 0xc7 * 0x11 + -0x2 * -0xc0b) + , _0x4f1000 = function _0x136bfc() { + var _0x10b933 = _0x3a0ecf; + for (; ++_0x1ff1cf < _0xe32b16[_0x10b933(0x259)];) + if (_0x43238c[_0x10b933(0x334)](_0xe32b16, _0x1ff1cf)) + return _0x136bfc[_0x10b933(0x2e4)] = _0xe32b16[_0x1ff1cf], + _0x136bfc[_0x10b933(0x1e3)] = !(-0x1f79 + -0x22d2 + 0x424c), + _0x136bfc; + return _0x136bfc['value'] = void (-0x639 + -0x115f + 0xa * 0x25c), + _0x136bfc[_0x10b933(0x1e3)] = !(0x14ad + -0x1 * 0xa1b + -0xa92), + _0x136bfc; + }; + return _0x4f1000[_0x3a0ecf(0x389)] = _0x4f1000; + } + } + return { + 'next': _0x159200 + }; + } + + function _0x159200() { + return { + 'value': void (-0x540 + -0x12 * -0x60 + -0x8 * 0x30), + 'done': !(-0x526 + -0x6d4 * 0x2 + -0x2 * -0x967) + }; + } + + return _0x2e67e9[_0x44a0fc(0x344)] = _0x3a5ac7, + _0x4cf7d8(_0x42763b, _0x44a0fc(0x2ac), { + 'value': _0x3a5ac7, + 'configurable': !(-0x2414 + 0x1307 + 0x110d) + }), + _0x4cf7d8(_0x3a5ac7, _0x44a0fc(0x2ac), { + 'value': _0x2e67e9, + 'configurable': !(0x117d + -0x12aa + 0x12d) + }), + _0x2e67e9[_0x44a0fc(0x18c)] = _0x3baf2c(_0x3a5ac7, _0x447ab4, _0x44a0fc(0x311)), + _0x507b23[_0x44a0fc(0x386)] = function (_0x54fdc6) { + var _0x2c4038 = _0x44a0fc + , _0x29797b = _0x2c4038(0x1ee) == typeof _0x54fdc6 && _0x54fdc6[_0x2c4038(0x2ac)]; + return !!_0x29797b && (_0x29797b === _0x2e67e9 || _0x2c4038(0x311) === (_0x29797b['displayName'] || _0x29797b['name'])); + } + , + _0x507b23[_0x44a0fc(0x3a5)] = function (_0x41ff3c) { + var _0x286ce7 = _0x44a0fc; + return Object[_0x286ce7(0x23b)] ? Object[_0x286ce7(0x23b)](_0x41ff3c, _0x3a5ac7) : (_0x41ff3c[_0x286ce7(0x2ea)] = _0x3a5ac7, + _0x3baf2c(_0x41ff3c, _0x447ab4, 'GeneratorFunction')), + _0x41ff3c[_0x286ce7(0x344)] = Object['create'](_0x42763b), + _0x41ff3c; + } + , + _0x507b23[_0x44a0fc(0x2d1)] = function (_0x4d3173) { + return { + '__await': _0x4d3173 + }; + } + , + _0x4e156b(_0x23eb73[_0x44a0fc(0x344)]), + _0x3baf2c(_0x23eb73[_0x44a0fc(0x344)], _0x52f292, function () { + return this; + }), + _0x507b23[_0x44a0fc(0x273)] = _0x23eb73, + _0x507b23[_0x44a0fc(0x1e7)] = function (_0x1403cf, _0xb864ce, _0x191461, _0x3aafb7, _0x4bc5ca) { + var _0x225b19 = _0x44a0fc; + void (-0x1 * 0x1145 + -0x239 + -0x3e6 * -0x5) === _0x4bc5ca && (_0x4bc5ca = Promise); + var _0x1e23c5 = new _0x23eb73(_0x3e46c6(_0x1403cf, _0xb864ce, _0x191461, _0x3aafb7), _0x4bc5ca); + return _0x507b23[_0x225b19(0x386)](_0xb864ce) ? _0x1e23c5 : _0x1e23c5[_0x225b19(0x389)]()[_0x225b19(0x1ed)](function (_0x3bf8a0) { + var _0x1af03c = _0x225b19; + return _0x3bf8a0[_0x1af03c(0x1e3)] ? _0x3bf8a0[_0x1af03c(0x2e4)] : _0x1e23c5[_0x1af03c(0x389)](); + }); + } + , + _0x4e156b(_0x42763b), + _0x3baf2c(_0x42763b, _0x447ab4, _0x44a0fc(0x1b5)), + _0x3baf2c(_0x42763b, _0x5acd1a, function () { + return this; + }), + _0x3baf2c(_0x42763b, _0x44a0fc(0x3ae), function () { + var _0x26f06c = _0x44a0fc; + return _0x26f06c(0x176); + }), + _0x507b23['keys'] = function (_0x10e233) { + var _0x515044 = _0x44a0fc + , _0x184dfc = Object(_0x10e233) + , _0x1ee5ea = []; + for (var _0x103175 in _0x184dfc) + _0x1ee5ea[_0x515044(0x36e)](_0x103175); + return _0x1ee5ea[_0x515044(0x2f3)](), + function _0x5c4b0b() { + var _0x4f9a2b = _0x515044; + for (; _0x1ee5ea[_0x4f9a2b(0x259)];) { + var _0x180e64 = _0x1ee5ea[_0x4f9a2b(0x267)](); + if (_0x180e64 in _0x184dfc) + return _0x5c4b0b[_0x4f9a2b(0x2e4)] = _0x180e64, + _0x5c4b0b[_0x4f9a2b(0x1e3)] = !(0x411 * -0x2 + -0x20 * 0x3c + 0x1 * 0xfa3), + _0x5c4b0b; + } + return _0x5c4b0b['done'] = !(-0x4d2 * -0x5 + -0x3fd + -0x13 * 0x10f), + _0x5c4b0b; + } + ; + } + , + _0x507b23[_0x44a0fc(0x38b)] = _0x2edbf4, + _0x1b5db9['prototype'] = { + 'constructor': _0x1b5db9, + 'reset': function (_0x3ebc58) { + var _0x52c025 = _0x44a0fc; + if (this[_0x52c025(0x32c)] = -0x16 * 0x181 + 0x1e6a + 0x2ac, + this[_0x52c025(0x389)] = 0x1 * 0xa3f + -0x1 * 0x1fb7 + 0x1578, + this[_0x52c025(0x3b2)] = this[_0x52c025(0x2a2)] = void (0x18ca + -0x52c * 0x2 + -0xe72), + this[_0x52c025(0x1e3)] = !(-0x775 + -0xfe1 + -0x1757 * -0x1), + this[_0x52c025(0x1bc)] = null, + this[_0x52c025(0x25a)] = _0x52c025(0x389), + this[_0x52c025(0x327)] = void (-0x1a0a + -0x263c + -0x2 * -0x2023), + this[_0x52c025(0x337)][_0x52c025(0x254)](_0x2f82b3), + !_0x3ebc58) { + for (var _0x271134 in this) + 't' === _0x271134['charAt'](0x3 * 0x707 + 0x2132 + 0x7 * -0x7c1) && _0x43238c[_0x52c025(0x334)](this, _0x271134) && !isNaN(+_0x271134['slice'](0x2629 * 0x1 + -0x7ec + -0x1e3c)) && (this[_0x271134] = void (0x14a3 + 0x211 + -0x16b4)); + } + }, + 'stop': function () { + var _0x5d1331 = _0x44a0fc; + this[_0x5d1331(0x1e3)] = !(-0x1157 + -0x1d00 * -0x1 + -0xba9); + var _0x360ca1 = this[_0x5d1331(0x337)][0x181c + 0x2252 + 0x137a * -0x3][_0x5d1331(0x387)]; + if (_0x5d1331(0x250) === _0x360ca1[_0x5d1331(0x1ab)]) + throw _0x360ca1['arg']; + return this[_0x5d1331(0x29a)]; + }, + 'dispatchException': function (_0x5ccdbe) { + var _0x2739ee = _0x44a0fc; + if (this[_0x2739ee(0x1e3)]) + throw _0x5ccdbe; + var _0x2375b1 = this; + + function _0x5bc3f7(_0x2f8813, _0x2926a6) { + var _0x19cf66 = _0x2739ee; + return _0x459dde[_0x19cf66(0x1ab)] = _0x19cf66(0x250), + _0x459dde[_0x19cf66(0x327)] = _0x5ccdbe, + _0x2375b1[_0x19cf66(0x389)] = _0x2f8813, + _0x2926a6 && (_0x2375b1[_0x19cf66(0x25a)] = _0x19cf66(0x389), + _0x2375b1[_0x19cf66(0x327)] = void (-0x77f + -0x1c03 * -0x1 + -0xd * 0x194)), + !!_0x2926a6; + } + + for (var _0x218123 = this[_0x2739ee(0x337)][_0x2739ee(0x259)] - (-0x8ed + -0x9e5 + 0x12d3); _0x218123 >= -0x3 * -0x4ef + -0x161b * -0x1 + -0x24e8; --_0x218123) { + var _0x5e4d00 = this[_0x2739ee(0x337)][_0x218123] + , _0x459dde = _0x5e4d00[_0x2739ee(0x387)]; + if (_0x2739ee(0x1c3) === _0x5e4d00['tryLoc']) + return _0x5bc3f7(_0x2739ee(0x1db)); + if (_0x5e4d00[_0x2739ee(0x29e)] <= this[_0x2739ee(0x32c)]) { + var _0x55fd7f = _0x43238c['call'](_0x5e4d00, 'catchLoc') + , _0x47cf6c = _0x43238c[_0x2739ee(0x334)](_0x5e4d00, _0x2739ee(0x220)); + if (_0x55fd7f && _0x47cf6c) { + if (this[_0x2739ee(0x32c)] < _0x5e4d00[_0x2739ee(0x2c4)]) + return _0x5bc3f7(_0x5e4d00['catchLoc'], !(-0x25 * 0xe9 + -0x2368 + 0x4515)); + if (this['prev'] < _0x5e4d00[_0x2739ee(0x220)]) + return _0x5bc3f7(_0x5e4d00[_0x2739ee(0x220)]); + } else { + if (_0x55fd7f) { + if (this['prev'] < _0x5e4d00[_0x2739ee(0x2c4)]) + return _0x5bc3f7(_0x5e4d00[_0x2739ee(0x2c4)], !(0xf11 + -0x1032 + -0x121 * -0x1)); + } else { + if (!_0x47cf6c) + throw new Error(_0x2739ee(0x33e)); + if (this[_0x2739ee(0x32c)] < _0x5e4d00['finallyLoc']) + return _0x5bc3f7(_0x5e4d00['finallyLoc']); + } + } + } + } + }, + 'abrupt': function (_0x452b06, _0x46591d) { + var _0x189350 = _0x44a0fc; + for (var _0x24d9ee = this[_0x189350(0x337)][_0x189350(0x259)] - (-0x1 * -0x434 + 0xb2d * -0x1 + 0x6fa); _0x24d9ee >= 0x144c + -0x1 * 0x80f + -0xc3d; --_0x24d9ee) { + var _0x3e29ca = this[_0x189350(0x337)][_0x24d9ee]; + if (_0x3e29ca[_0x189350(0x29e)] <= this[_0x189350(0x32c)] && _0x43238c[_0x189350(0x334)](_0x3e29ca, _0x189350(0x220)) && this[_0x189350(0x32c)] < _0x3e29ca[_0x189350(0x220)]) { + var _0x35a2dc = _0x3e29ca; + break; + } + } + _0x35a2dc && (_0x189350(0x31f) === _0x452b06 || _0x189350(0x2d2) === _0x452b06) && _0x35a2dc[_0x189350(0x29e)] <= _0x46591d && _0x46591d <= _0x35a2dc[_0x189350(0x220)] && (_0x35a2dc = null); + var _0x1837c0 = _0x35a2dc ? _0x35a2dc[_0x189350(0x387)] : {}; + return _0x1837c0['type'] = _0x452b06, + _0x1837c0[_0x189350(0x327)] = _0x46591d, + _0x35a2dc ? (this[_0x189350(0x25a)] = _0x189350(0x389), + this[_0x189350(0x389)] = _0x35a2dc[_0x189350(0x220)], + _0x511b05) : this[_0x189350(0x162)](_0x1837c0); + }, + 'complete': function (_0x4daef1, _0x152d13) { + var _0x2e0c88 = _0x44a0fc; + if (_0x2e0c88(0x250) === _0x4daef1[_0x2e0c88(0x1ab)]) + throw _0x4daef1[_0x2e0c88(0x327)]; + return _0x2e0c88(0x31f) === _0x4daef1[_0x2e0c88(0x1ab)] || _0x2e0c88(0x2d2) === _0x4daef1[_0x2e0c88(0x1ab)] ? this[_0x2e0c88(0x389)] = _0x4daef1[_0x2e0c88(0x327)] : _0x2e0c88(0x2fd) === _0x4daef1['type'] ? (this[_0x2e0c88(0x29a)] = this[_0x2e0c88(0x327)] = _0x4daef1[_0x2e0c88(0x327)], + this[_0x2e0c88(0x25a)] = _0x2e0c88(0x2fd), + this[_0x2e0c88(0x389)] = 'end') : _0x2e0c88(0x2f1) === _0x4daef1[_0x2e0c88(0x1ab)] && _0x152d13 && (this[_0x2e0c88(0x389)] = _0x152d13), + _0x511b05; + }, + 'finish': function (_0x33d396) { + var _0x38fc51 = _0x44a0fc; + for (var _0x5abbd8 = this[_0x38fc51(0x337)][_0x38fc51(0x259)] - (0x1b6c + 0x10f1 + -0x2c5c); _0x5abbd8 >= -0x106c + -0x26aa + 0x3716; --_0x5abbd8) { + var _0x5eb5c4 = this[_0x38fc51(0x337)][_0x5abbd8]; + if (_0x5eb5c4[_0x38fc51(0x220)] === _0x33d396) + return this['complete'](_0x5eb5c4[_0x38fc51(0x387)], _0x5eb5c4[_0x38fc51(0x2fb)]), + _0x2f82b3(_0x5eb5c4), + _0x511b05; + } + }, + 'catch': function (_0x235ccf) { + var _0x4e3345 = _0x44a0fc; + for (var _0x1db840 = this['tryEntries'][_0x4e3345(0x259)] - (-0x3a * -0x4f + -0x1 * -0x12d6 + -0x24bb * 0x1); _0x1db840 >= -0x168 + 0x305 + -0x19d; --_0x1db840) { + var _0x545b66 = this['tryEntries'][_0x1db840]; + if (_0x545b66[_0x4e3345(0x29e)] === _0x235ccf) { + var _0x2d5b63 = _0x545b66[_0x4e3345(0x387)]; + if (_0x4e3345(0x250) === _0x2d5b63[_0x4e3345(0x1ab)]) { + var _0x13e035 = _0x2d5b63[_0x4e3345(0x327)]; + _0x2f82b3(_0x545b66); + } + return _0x13e035; + } + } + throw new Error(_0x4e3345(0x23f)); + }, + 'delegateYield': function (_0x395df9, _0x50d973, _0x48faf1) { + var _0x39919e = _0x44a0fc; + return this[_0x39919e(0x1bc)] = { + 'iterator': _0x2edbf4(_0x395df9), + 'resultName': _0x50d973, + 'nextLoc': _0x48faf1 + }, + 'next' === this['method'] && (this['arg'] = void (0x1958 + -0xaba + -0xe9e)), + _0x511b05; + } + }, + _0x507b23; + } + + function _0x1db123(_0x149c27) { + var _0x39d672 = w_0x25f3; + return (_0x1db123 = _0x39d672(0x1ee) == typeof Symbol && 'symbol' == typeof Symbol['iterator'] ? function (_0x4a8f2c) { + return typeof _0x4a8f2c; + } + : function (_0x40eb64) { + var _0x4f8eee = _0x39d672; + return _0x40eb64 && _0x4f8eee(0x1ee) == typeof Symbol && _0x40eb64[_0x4f8eee(0x2ac)] === Symbol && _0x40eb64 !== Symbol['prototype'] ? _0x4f8eee(0x2ed) : typeof _0x40eb64; + } + )(_0x149c27); + } + + function _0x34d29a() { + var _0x4bbdba = w_0x25f3; + _0x34d29a = function (_0x1859fe, _0x26adf2) { + return new _0x3b92d4(_0x1859fe, void (-0x1f * 0x133 + 0x3 * 0x4f5 + 0x23b * 0xa), _0x26adf2); + } + ; + var _0x5aed6e = RegExp[_0x4bbdba(0x344)] + , _0x58ba91 = new WeakMap(); + + function _0x3b92d4(_0x2f61fd, _0x513c44, _0xaf22fc) { + var _0xd932c6 = _0x4bbdba + , _0xd60509 = new RegExp(_0x2f61fd, _0x513c44); + return _0x58ba91[_0xd932c6(0x1e4)](_0xd60509, _0xaf22fc || _0x58ba91[_0xd932c6(0x32b)](_0x2f61fd)), + _0x2e2f47(_0xd60509, _0x3b92d4[_0xd932c6(0x344)]); + } + + function _0x427d42(_0x489eeb, _0x1699d8) { + var _0x1004fb = _0x4bbdba + , _0x2ae826 = _0x58ba91[_0x1004fb(0x32b)](_0x1699d8); + return Object[_0x1004fb(0x17f)](_0x2ae826)[_0x1004fb(0x376)](function (_0x100f10, _0x5bfdf5) { + var _0x3ad421 = _0x1004fb + , _0x541568 = _0x2ae826[_0x5bfdf5]; + if (_0x3ad421(0x28b) == typeof _0x541568) + _0x100f10[_0x5bfdf5] = _0x489eeb[_0x541568]; + else { + for (var _0x3bc728 = 0x1 * 0x3ce + 0x3 * -0x435 + 0x8d1; void (0x2695 + 0x1ee8 + -0x457d) === _0x489eeb[_0x541568[_0x3bc728]] && _0x3bc728 + (0x3fb * -0x2 + 0x2631 + -0x2 * 0xf1d) < _0x541568['length'];) + _0x3bc728++; + _0x100f10[_0x5bfdf5] = _0x489eeb[_0x541568[_0x3bc728]]; + } + return _0x100f10; + }, Object[_0x1004fb(0x3b7)](null)); + } + + return _0x5dda7d(_0x3b92d4, RegExp), + _0x3b92d4['prototype']['exec'] = function (_0x1bc796) { + var _0x2a6afd = _0x4bbdba + , _0x457628 = _0x5aed6e[_0x2a6afd(0x209)]['call'](this, _0x1bc796); + if (_0x457628) { + _0x457628['groups'] = _0x427d42(_0x457628, this); + var _0x546542 = _0x457628['indices']; + _0x546542 && (_0x546542['groups'] = _0x427d42(_0x546542, this)); + } + return _0x457628; + } + , + _0x3b92d4[_0x4bbdba(0x344)][Symbol[_0x4bbdba(0x377)]] = function (_0x10e2ef, _0x453a26) { + var _0x226516 = _0x4bbdba; + if (_0x226516(0x33c) == typeof _0x453a26) { + var _0x42705a = _0x58ba91[_0x226516(0x32b)](this); + return _0x5aed6e[Symbol[_0x226516(0x377)]]['call'](this, _0x10e2ef, _0x453a26[_0x226516(0x377)](/\$<([^>]+)>/g, function (_0x4536fa, _0x53b1c5) { + var _0x5db08d = _0x226516 + , _0x1b4f5c = _0x42705a[_0x53b1c5]; + return '$' + (Array[_0x5db08d(0x2af)](_0x1b4f5c) ? _0x1b4f5c[_0x5db08d(0x24f)]('$') : _0x1b4f5c); + })); + } + if (_0x226516(0x1ee) == typeof _0x453a26) { + var _0x51880e = this; + return _0x5aed6e[Symbol[_0x226516(0x377)]][_0x226516(0x334)](this, _0x10e2ef, function () { + var _0x3ce548 = _0x226516 + , _0x352e21 = arguments; + return _0x3ce548(0x17d) != typeof _0x352e21[_0x352e21[_0x3ce548(0x259)] - (-0xf9 * -0x7 + 0xd4 + -0x2 * 0x3d1)] && (_0x352e21 = []['slice'][_0x3ce548(0x334)](_0x352e21))[_0x3ce548(0x36e)](_0x427d42(_0x352e21, _0x51880e)), + _0x453a26[_0x3ce548(0x207)](this, _0x352e21); + }); + } + return _0x5aed6e[Symbol[_0x226516(0x377)]]['call'](this, _0x10e2ef, _0x453a26); + } + , + _0x34d29a[_0x4bbdba(0x207)](this, arguments); + } + + function _0x2772ab(_0x17b93c) { + var _0x2e8af4 = w_0x25f3; + this[_0x2e8af4(0x180)] = _0x17b93c; + } + + function _0x125e01(_0x221f1a) { + return function () { + var _0x2db496 = w_0x25f3; + return new _0x137ba2(_0x221f1a[_0x2db496(0x207)](this, arguments)); + } + ; + } + + function _0x8a0370(_0x1ac7e2, _0x440b38, _0x4611ac, _0x1f79f3, _0x26eb95, _0x4af1d4, _0x2b24bc) { + var _0x3a480e = w_0x25f3; + try { + var _0x16d0ce = _0x1ac7e2[_0x4af1d4](_0x2b24bc) + , _0x2e8eaf = _0x16d0ce[_0x3a480e(0x2e4)]; + } catch (_0xc88fae) { + return void _0x4611ac(_0xc88fae); + } + _0x16d0ce[_0x3a480e(0x1e3)] ? _0x440b38(_0x2e8eaf) : Promise[_0x3a480e(0x278)](_0x2e8eaf)[_0x3a480e(0x1ed)](_0x1f79f3, _0x26eb95); + } + + function _0x50daaa(_0x10de0d) { + return function () { + var _0x310206 = this + , _0x17ad73 = arguments; + return new Promise(function (_0x37120b, _0x728e37) { + var _0x5a819e = _0x10de0d['apply'](_0x310206, _0x17ad73); + + function _0x12466a(_0x263e68) { + var _0x123e7f = w_0x25f3; + _0x8a0370(_0x5a819e, _0x37120b, _0x728e37, _0x12466a, _0x191f8b, _0x123e7f(0x389), _0x263e68); + } + + function _0x191f8b(_0x255ae1) { + var _0x5d15ce = w_0x25f3; + _0x8a0370(_0x5a819e, _0x37120b, _0x728e37, _0x12466a, _0x191f8b, _0x5d15ce(0x250), _0x255ae1); + } + + _0x12466a(void (0xbdf + -0x129c + -0x19 * -0x45)); + } + ); + } + ; + } + + function _0x297d3d(_0xd86983, _0x45590a) { + var _0x51c357 = w_0x25f3; + if (!(_0xd86983 instanceof _0x45590a)) + throw new TypeError(_0x51c357(0x2f7)); + } + + function _0x96f358(_0x217e4a, _0x156410) { + var _0x251198 = w_0x25f3; + for (var _0x336960 = 0x1613 + -0x2f * 0x3b + 0xb3e * -0x1; _0x336960 < _0x156410[_0x251198(0x259)]; _0x336960++) { + var _0x3d27f0 = _0x156410[_0x336960]; + _0x3d27f0[_0x251198(0x23a)] = _0x3d27f0[_0x251198(0x23a)] || !(-0xbf7 + -0x166e + 0x2266), + _0x3d27f0[_0x251198(0x2bc)] = !(-0xde + 0x1c94 + -0x1bb6), + _0x251198(0x2e4) in _0x3d27f0 && (_0x3d27f0['writable'] = !(-0x21 * 0x12f + -0x2 * -0x17d + 0x2415)), + Object[_0x251198(0x175)](_0x217e4a, _0x32e885(_0x3d27f0[_0x251198(0x392)]), _0x3d27f0); + } + } + + function _0x55cd8a(_0x174a54, _0x5e25eb, _0x465e50) { + var _0x4d17e4 = w_0x25f3; + return _0x5e25eb && _0x96f358(_0x174a54[_0x4d17e4(0x344)], _0x5e25eb), + _0x465e50 && _0x96f358(_0x174a54, _0x465e50), + Object[_0x4d17e4(0x175)](_0x174a54, _0x4d17e4(0x344), { + 'writable': !(-0xc19 + 0x1aa + -0x2 * -0x538) + }), + _0x174a54; + } + + function _0x58d8c2(_0x5634d7, _0x53515c) { + var _0x5fc7bf = w_0x25f3; + for (var _0x5e7563 in _0x53515c) { + (_0x532356 = _0x53515c[_0x5e7563])[_0x5fc7bf(0x2bc)] = _0x532356[_0x5fc7bf(0x23a)] = !(0xb5 + 0x6 * 0x80 + -0x3b5), + 'value' in _0x532356 && (_0x532356[_0x5fc7bf(0x2e3)] = !(0x19d * 0x11 + 0x126f + -0x2ddc)), + Object[_0x5fc7bf(0x175)](_0x5634d7, _0x5e7563, _0x532356); + } + if (Object[_0x5fc7bf(0x388)]) + for (var _0x45bcc1 = Object[_0x5fc7bf(0x388)](_0x53515c), _0x368698 = -0x11 * -0x1af + -0x1ec7 + 0x228; _0x368698 < _0x45bcc1[_0x5fc7bf(0x259)]; _0x368698++) { + var _0x532356, _0x6be33e = _0x45bcc1[_0x368698]; + (_0x532356 = _0x53515c[_0x6be33e])['configurable'] = _0x532356[_0x5fc7bf(0x23a)] = !(-0x833 + 0x9 * -0x76 + 0x1d * 0x6d), + _0x5fc7bf(0x2e4) in _0x532356 && (_0x532356[_0x5fc7bf(0x2e3)] = !(0x18bf + -0x337 * 0x5 + -0x14 * 0x6f)), + Object[_0x5fc7bf(0x175)](_0x5634d7, _0x6be33e, _0x532356); + } + return _0x5634d7; + } + + function _0x40ff51(_0x254aaa, _0x287254) { + var _0x77273f = w_0x25f3; + for (var _0x587d0b = Object[_0x77273f(0x32a)](_0x287254), _0xa5f40d = -0x2174 + 0x25a * -0x2 + 0x42 * 0x94; _0xa5f40d < _0x587d0b[_0x77273f(0x259)]; _0xa5f40d++) { + var _0x23b426 = _0x587d0b[_0xa5f40d] + , _0x59ae3e = Object[_0x77273f(0x2a6)](_0x287254, _0x23b426); + _0x59ae3e && _0x59ae3e[_0x77273f(0x2bc)] && void (-0x221b * 0x1 + 0x2326 * 0x1 + -0x10b) === _0x254aaa[_0x23b426] && Object['defineProperty'](_0x254aaa, _0x23b426, _0x59ae3e); + } + return _0x254aaa; + } + + function _0x4a7824(_0x26784f, _0x47795a, _0x26a673) { + var _0x1edba1 = w_0x25f3; + return (_0x47795a = _0x32e885(_0x47795a)) in _0x26784f ? Object[_0x1edba1(0x175)](_0x26784f, _0x47795a, { + 'value': _0x26a673, + 'enumerable': !(0x24eb + 0x1b2 + -0x1 * 0x269d), + 'configurable': !(-0x472 + -0xb7 * 0x12 + 0x1150), + 'writable': !(-0x23f8 + 0x257d + -0x185 * 0x1) + }) : _0x26784f[_0x47795a] = _0x26a673, + _0x26784f; + } + + function _0x36f54f() { + var _0x472dbc = w_0x25f3; + return (_0x36f54f = Object['assign'] ? Object[_0x472dbc(0x2a0)]['bind']() : function (_0x3e0b52) { + var _0x1eddf8 = _0x472dbc; + for (var _0x16d75e = -0x645 + -0x2115 * 0x1 + -0x19 * -0x193; _0x16d75e < arguments[_0x1eddf8(0x259)]; _0x16d75e++) { + var _0x5a9173 = arguments[_0x16d75e]; + for (var _0x145ff6 in _0x5a9173) + Object[_0x1eddf8(0x344)][_0x1eddf8(0x3b8)][_0x1eddf8(0x334)](_0x5a9173, _0x145ff6) && (_0x3e0b52[_0x145ff6] = _0x5a9173[_0x145ff6]); + } + return _0x3e0b52; + } + )['apply'](this, arguments); + } + + function _0x5f346f(_0x2ab8ef) { + var _0x39ff04 = w_0x25f3; + for (var _0x176101 = 0xc60 + -0x43 * -0x1f + 0x6 * -0x36a; _0x176101 < arguments[_0x39ff04(0x259)]; _0x176101++) { + var _0x99688c = null != arguments[_0x176101] ? Object(arguments[_0x176101]) : {} + , _0xbf3314 = Object[_0x39ff04(0x17f)](_0x99688c); + _0x39ff04(0x1ee) == typeof Object[_0x39ff04(0x388)] && _0xbf3314[_0x39ff04(0x36e)][_0x39ff04(0x207)](_0xbf3314, Object[_0x39ff04(0x388)](_0x99688c)[_0x39ff04(0x164)](function (_0x2adc39) { + var _0x23e48e = _0x39ff04; + return Object[_0x23e48e(0x2a6)](_0x99688c, _0x2adc39)[_0x23e48e(0x23a)]; + })), + _0xbf3314['forEach'](function (_0x2e44e4) { + _0x4a7824(_0x2ab8ef, _0x2e44e4, _0x99688c[_0x2e44e4]); + }); + } + return _0x2ab8ef; + } + + function _0x5dda7d(_0x46427b, _0x4b68de) { + var _0x5c7f41 = w_0x25f3; + if ('function' != typeof _0x4b68de && null !== _0x4b68de) + throw new TypeError(_0x5c7f41(0x236)); + _0x46427b[_0x5c7f41(0x344)] = Object['create'](_0x4b68de && _0x4b68de[_0x5c7f41(0x344)], { + 'constructor': { + 'value': _0x46427b, + 'writable': !(-0x59 * -0x6d + -0x3a5 + -0x2240), + 'configurable': !(0xf4d * -0x2 + -0x182e + 0x1b64 * 0x2) + } + }), + Object[_0x5c7f41(0x175)](_0x46427b, _0x5c7f41(0x344), { + 'writable': !(-0x9d0 * -0x1 + 0x17a1 + -0x217 * 0x10) + }), + _0x4b68de && _0x2e2f47(_0x46427b, _0x4b68de); + } + + function _0x3879ac(_0x40738f, _0x3ddb1f) { + var _0x34aaee = w_0x25f3; + _0x40738f[_0x34aaee(0x344)] = Object['create'](_0x3ddb1f[_0x34aaee(0x344)]), + _0x40738f[_0x34aaee(0x344)][_0x34aaee(0x2ac)] = _0x40738f, + _0x2e2f47(_0x40738f, _0x3ddb1f); + } + + function _0x22af63(_0x26c4e4) { + var _0x3c9cd2 = w_0x25f3; + return (_0x22af63 = Object[_0x3c9cd2(0x23b)] ? Object['getPrototypeOf'][_0x3c9cd2(0x301)]() : function (_0x212968) { + var _0x3a939f = _0x3c9cd2; + return _0x212968['__proto__'] || Object[_0x3a939f(0x22c)](_0x212968); + } + )(_0x26c4e4); + } + + function _0x2e2f47(_0x24c757, _0x1d9d80) { + var _0x5e1251 = w_0x25f3; + return (_0x2e2f47 = Object['setPrototypeOf'] ? Object[_0x5e1251(0x23b)][_0x5e1251(0x301)]() : function (_0x1f13b4, _0x24fdc8) { + var _0x16bc1b = _0x5e1251; + return _0x1f13b4[_0x16bc1b(0x2ea)] = _0x24fdc8, + _0x1f13b4; + } + )(_0x24c757, _0x1d9d80); + } + + function _0x3390dc() { + var _0x31b3f3 = w_0x25f3; + if (_0x31b3f3(0x384) == typeof Reflect || !Reflect[_0x31b3f3(0x320)]) + return !(-0x1158 + -0x789 + 0x18e2); + if (Reflect[_0x31b3f3(0x320)]['sham']) + return !(0xec5 + 0x8 * -0x92 + -0xa34 * 0x1); + if (_0x31b3f3(0x1ee) == typeof Proxy) + return !(-0xe01 + 0xa7b + 0x386); + try { + return Boolean[_0x31b3f3(0x344)][_0x31b3f3(0x303)][_0x31b3f3(0x334)](Reflect[_0x31b3f3(0x320)](Boolean, [], function () { + })), + !(-0xe0c + -0x2415 + 0x3221 * 0x1); + } catch (_0x20aa1e) { + return !(0xd * -0xa4 + -0xc1f + 0x1474); + } + } + + function _0x920a3d(_0x35e7ab, _0x5cbd00, _0x53ced5) { + var _0x4ba719 = w_0x25f3; + return (_0x920a3d = _0x3390dc() ? Reflect['construct'][_0x4ba719(0x301)]() : function (_0x40c7ae, _0xd26edf, _0x5ecdaf) { + var _0x3b4c0f = _0x4ba719 + , _0x55cb1f = [null]; + _0x55cb1f['push'][_0x3b4c0f(0x207)](_0x55cb1f, _0xd26edf); + var _0x47f6fb = new (Function[_0x3b4c0f(0x301)]['apply'](_0x40c7ae, _0x55cb1f))(); + return _0x5ecdaf && _0x2e2f47(_0x47f6fb, _0x5ecdaf[_0x3b4c0f(0x344)]), + _0x47f6fb; + } + )['apply'](null, arguments); + } + + function _0x5cb0d7(_0x6e2f2f) { + var _0x26e451 = w_0x25f3; + return -(-0x65 * 0x35 + -0x2087 + -0x3571 * -0x1) !== Function[_0x26e451(0x3ae)]['call'](_0x6e2f2f)[_0x26e451(0x2c5)](_0x26e451(0x161)); + } + + function _0x16f283(_0x11646e) { + var _0x9334eb = w_0x25f3 + , + _0x551d10 = _0x9334eb(0x1ee) == typeof Map ? new Map() : void (-0xe * -0x5 + 0xd * -0x151 + 0x3 * 0x59d); + return (_0x16f283 = function (_0xffb48b) { + var _0x30c56b = _0x9334eb; + if (null === _0xffb48b || !_0x5cb0d7(_0xffb48b)) + return _0xffb48b; + if (_0x30c56b(0x1ee) != typeof _0xffb48b) + throw new TypeError(_0x30c56b(0x236)); + if (void (0x12 * 0xf8 + -0x41b + 0xd55 * -0x1) !== _0x551d10) { + if (_0x551d10[_0x30c56b(0x2fc)](_0xffb48b)) + return _0x551d10[_0x30c56b(0x32b)](_0xffb48b); + _0x551d10[_0x30c56b(0x1e4)](_0xffb48b, _0xfee014); + } + + function _0xfee014() { + var _0x10fec4 = _0x30c56b; + return _0x920a3d(_0xffb48b, arguments, _0x22af63(this)[_0x10fec4(0x2ac)]); + } + + return _0xfee014['prototype'] = Object[_0x30c56b(0x3b7)](_0xffb48b[_0x30c56b(0x344)], { + 'constructor': { + 'value': _0xfee014, + 'enumerable': !(0x829 + 0x1 * -0x1271 + 0xa49), + 'writable': !(0x724 + 0x15f9 + 0x1d * -0x101), + 'configurable': !(0x3e4 + 0x685 * 0x4 + 0x1df8 * -0x1) + } + }), + _0x2e2f47(_0xfee014, _0xffb48b); + } + )(_0x11646e); + } + + function _0x8f6e33(_0xca4201, _0x572889) { + var _0x44fa42 = w_0x25f3; + return null != _0x572889 && _0x44fa42(0x384) != typeof Symbol && _0x572889[Symbol[_0x44fa42(0x178)]] ? !!_0x572889[Symbol[_0x44fa42(0x178)]](_0xca4201) : _0xca4201 instanceof _0x572889; + } + + function _0x2ea366(_0x4da731) { + var _0x2c9369 = w_0x25f3; + return _0x4da731 && _0x4da731[_0x2c9369(0x3bd)] ? _0x4da731 : { + 'default': _0x4da731 + }; + } + + function _0x1629e6(_0xb8ec58) { + var _0xd6f6f1 = w_0x25f3; + if (_0xd6f6f1(0x1ee) != typeof WeakMap) + return null; + var _0x2d8f39 = new WeakMap() + , _0x2398fe = new WeakMap(); + return (_0x1629e6 = function (_0x164b35) { + return _0x164b35 ? _0x2398fe : _0x2d8f39; + } + )(_0xb8ec58); + } + + function _0x2c9158(_0x2f5c3e, _0x55c9ff) { + var _0x3d4018 = w_0x25f3; + if (!_0x55c9ff && _0x2f5c3e && _0x2f5c3e['__esModule']) + return _0x2f5c3e; + if (null === _0x2f5c3e || _0x3d4018(0x17d) != typeof _0x2f5c3e && 'function' != typeof _0x2f5c3e) + return { + 'default': _0x2f5c3e + }; + var _0xcafe97 = _0x1629e6(_0x55c9ff); + if (_0xcafe97 && _0xcafe97[_0x3d4018(0x2fc)](_0x2f5c3e)) + return _0xcafe97[_0x3d4018(0x32b)](_0x2f5c3e); + var _0x41e330 = {} + , _0x115c7f = Object[_0x3d4018(0x175)] && Object[_0x3d4018(0x2a6)]; + for (var _0x84a510 in _0x2f5c3e) + if (_0x3d4018(0x1d3) !== _0x84a510 && Object[_0x3d4018(0x344)]['hasOwnProperty'][_0x3d4018(0x334)](_0x2f5c3e, _0x84a510)) { + var _0x422bcd = _0x115c7f ? Object[_0x3d4018(0x2a6)](_0x2f5c3e, _0x84a510) : null; + _0x422bcd && (_0x422bcd[_0x3d4018(0x32b)] || _0x422bcd[_0x3d4018(0x1e4)]) ? Object['defineProperty'](_0x41e330, _0x84a510, _0x422bcd) : _0x41e330[_0x84a510] = _0x2f5c3e[_0x84a510]; + } + return _0x41e330['default'] = _0x2f5c3e, + _0xcafe97 && _0xcafe97[_0x3d4018(0x1e4)](_0x2f5c3e, _0x41e330), + _0x41e330; + } + + function _0x374736(_0x2d130b, _0x324593) { + var _0x4ccff2 = w_0x25f3; + if (_0x2d130b !== _0x324593) + throw new TypeError(_0x4ccff2(0x16c)); + } + + function _0x206199(_0x607e62) { + var _0x5bbb21 = w_0x25f3; + if (null == _0x607e62) + throw new TypeError(_0x5bbb21(0x1cc) + _0x607e62); + } + + function _0x2bfa3e(_0x161463, _0x2ff4d5) { + var _0x59d7ee = w_0x25f3; + if (null == _0x161463) + return {}; + var _0x31fbf6, _0x50d0b6, _0x5ca1c5 = {}, _0x5b71fd = Object['keys'](_0x161463); + for (_0x50d0b6 = -0x763 + -0x15a + 0x1 * 0x8bd; _0x50d0b6 < _0x5b71fd[_0x59d7ee(0x259)]; _0x50d0b6++) + _0x31fbf6 = _0x5b71fd[_0x50d0b6], + _0x2ff4d5[_0x59d7ee(0x2c5)](_0x31fbf6) >= 0x8a7 + -0x21ed + 0x1946 || (_0x5ca1c5[_0x31fbf6] = _0x161463[_0x31fbf6]); + return _0x5ca1c5; + } + + function _0x2a28e9(_0x2cdf2e, _0x74ac11) { + var _0x942c51 = w_0x25f3; + if (null == _0x2cdf2e) + return {}; + var _0x5ef46e, _0x5acf70, _0x282df4 = _0x2bfa3e(_0x2cdf2e, _0x74ac11); + if (Object['getOwnPropertySymbols']) { + var _0x33d708 = Object[_0x942c51(0x388)](_0x2cdf2e); + for (_0x5acf70 = -0xd30 + 0x4a1 * 0x1 + 0x7 * 0x139; _0x5acf70 < _0x33d708[_0x942c51(0x259)]; _0x5acf70++) + _0x5ef46e = _0x33d708[_0x5acf70], + _0x74ac11[_0x942c51(0x2c5)](_0x5ef46e) >= -0x1f5d * 0x1 + 0x40b + 0x1b52 || Object[_0x942c51(0x344)][_0x942c51(0x1da)][_0x942c51(0x334)](_0x2cdf2e, _0x5ef46e) && (_0x282df4[_0x5ef46e] = _0x2cdf2e[_0x5ef46e]); + } + return _0x282df4; + } + + function _0x58f550(_0x94e938) { + var _0x41d076 = w_0x25f3; + if (void (-0x6a * 0x1 + -0xf6 + 0x160) === _0x94e938) + throw new ReferenceError(_0x41d076(0x1bb)); + return _0x94e938; + } + + function _0xf3b17(_0x7b2cf6, _0x347c9f) { + var _0x41f350 = w_0x25f3; + if (_0x347c9f && (_0x41f350(0x17d) == typeof _0x347c9f || _0x41f350(0x1ee) == typeof _0x347c9f)) + return _0x347c9f; + if (void (0x160d + -0x24fd + -0x8 * -0x1de) !== _0x347c9f) + throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined'); + return _0x58f550(_0x7b2cf6); + } + + function _0x17b234(_0x33316f) { + var _0x3601f0 = _0x3390dc(); + return function () { + var _0x4733d6 = w_0x25f3, _0x2848c1, _0x2d0386 = _0x22af63(_0x33316f); + if (_0x3601f0) { + var _0x252bb3 = _0x22af63(this)[_0x4733d6(0x2ac)]; + _0x2848c1 = Reflect[_0x4733d6(0x320)](_0x2d0386, arguments, _0x252bb3); + } else + _0x2848c1 = _0x2d0386[_0x4733d6(0x207)](this, arguments); + return _0xf3b17(this, _0x2848c1); + } + ; + } + + function _0x2b3a8b(_0x409fbb, _0x508825) { + for (; !Object['prototype']['hasOwnProperty']['call'](_0x409fbb, _0x508825) && null !== (_0x409fbb = _0x22af63(_0x409fbb));) + ; + return _0x409fbb; + } + + function _0x33bfa4() { + var _0x1bbf02 = w_0x25f3; + return (_0x33bfa4 = _0x1bbf02(0x384) != typeof Reflect && Reflect[_0x1bbf02(0x32b)] ? Reflect[_0x1bbf02(0x32b)][_0x1bbf02(0x301)]() : function (_0x45f38c, _0x4a526c, _0x482f60) { + var _0xb2ad90 = _0x1bbf02 + , _0x53f5d7 = _0x2b3a8b(_0x45f38c, _0x4a526c); + if (_0x53f5d7) { + var _0x24e05f = Object[_0xb2ad90(0x2a6)](_0x53f5d7, _0x4a526c); + return _0x24e05f[_0xb2ad90(0x32b)] ? _0x24e05f[_0xb2ad90(0x32b)][_0xb2ad90(0x334)](arguments[_0xb2ad90(0x259)] < 0x7f * 0x25 + 0x23f3 + -0x364b ? _0x45f38c : _0x482f60) : _0x24e05f[_0xb2ad90(0x2e4)]; + } + } + )['apply'](this, arguments); + } + + function _0x5b010c(_0x878ee0, _0x27a5c4, _0x35cb40, _0x14e9ba) { + var _0x1c5f60 = w_0x25f3; + return (_0x5b010c = 'undefined' != typeof Reflect && Reflect[_0x1c5f60(0x1e4)] ? Reflect[_0x1c5f60(0x1e4)] : function (_0xc1d4d, _0x3a32f8, _0x25436d, _0x5ef6e3) { + var _0x43a591 = _0x1c5f60, _0x23d91e, _0x5ac459 = _0x2b3a8b(_0xc1d4d, _0x3a32f8); + if (_0x5ac459) { + if ((_0x23d91e = Object[_0x43a591(0x2a6)](_0x5ac459, _0x3a32f8))[_0x43a591(0x1e4)]) + return _0x23d91e['set'][_0x43a591(0x334)](_0x5ef6e3, _0x25436d), + !(0x4d * -0x59 + -0x1 * -0x3d6 + 0x16ef); + if (!_0x23d91e[_0x43a591(0x2e3)]) + return !(-0x2691 + 0x9e * 0x25 + 0xfbc); + } + if (_0x23d91e = Object['getOwnPropertyDescriptor'](_0x5ef6e3, _0x3a32f8)) { + if (!_0x23d91e[_0x43a591(0x2e3)]) + return !(0x14d + -0x1 * -0x29b + -0x3e7); + _0x23d91e[_0x43a591(0x2e4)] = _0x25436d, + Object[_0x43a591(0x175)](_0x5ef6e3, _0x3a32f8, _0x23d91e); + } else + _0x4a7824(_0x5ef6e3, _0x3a32f8, _0x25436d); + return !(0x295 + -0xa39 * -0x2 + -0x1707); + } + )(_0x878ee0, _0x27a5c4, _0x35cb40, _0x14e9ba); + } + + function _0x2732a4(_0x24a602, _0x194547, _0x16a7b5, _0x8913b1, _0x531d0d) { + var _0x16563f = w_0x25f3; + if (!_0x5b010c(_0x24a602, _0x194547, _0x16a7b5, _0x8913b1 || _0x24a602) && _0x531d0d) + throw new TypeError(_0x16563f(0x34e)); + return _0x16a7b5; + } + + function _0x281bf3(_0x4564b4, _0x1f4153) { + var _0x10b792 = w_0x25f3; + return _0x1f4153 || (_0x1f4153 = _0x4564b4[_0x10b792(0x2a5)](0x1017 + 0x1cb3 + 0x2 * -0x1665)), + Object[_0x10b792(0x198)](Object[_0x10b792(0x36c)](_0x4564b4, { + 'raw': { + 'value': Object[_0x10b792(0x198)](_0x1f4153) + } + })); + } + + function _0x2d5f0c(_0x18863e, _0x13e8d4) { + var _0x47a3d1 = w_0x25f3; + return _0x13e8d4 || (_0x13e8d4 = _0x18863e['slice'](0x8f1 * 0x1 + 0x1 * 0x1e1f + -0x7d * 0x50)), + _0x18863e[_0x47a3d1(0x2ab)] = _0x13e8d4, + _0x18863e; + } + + function _0x246229(_0x5e71a0) { + var _0x47c977 = w_0x25f3; + throw new TypeError('\x22' + _0x5e71a0 + _0x47c977(0x338)); + } + + function _0x5db7bf(_0x51f915) { + throw new TypeError('\x22' + _0x51f915 + '\x22\x20is\x20write-only'); + } + + function _0x2275f4(_0x42246e) { + var _0x2f7351 = w_0x25f3; + throw new ReferenceError(_0x2f7351(0x1c7) + _0x42246e + '\x22\x20cannot\x20be\x20referenced\x20in\x20computed\x20property\x20keys.'); + } + + function _0x516c2b() { + } + + function _0xab4ac9(_0xcde017) { + throw new ReferenceError(_0xcde017 + '\x20is\x20not\x20defined\x20-\x20temporal\x20dead\x20zone'); + } + + function _0x5b377b(_0x5f4fa5, _0x2f492b) { + return _0x5f4fa5 === _0x516c2b ? _0xab4ac9(_0x2f492b) : _0x5f4fa5; + } + + function _0x5096de(_0x3b53c6, _0x3225c3) { + return _0x1ae312(_0x3b53c6) || _0x19d66a(_0x3b53c6, _0x3225c3) || _0x525331(_0x3b53c6, _0x3225c3) || _0x25b697(); + } + + function _0x1dff6c(_0x3a7a63, _0x147620) { + return _0x1ae312(_0x3a7a63) || _0x376fd5(_0x3a7a63, _0x147620) || _0x525331(_0x3a7a63, _0x147620) || _0x25b697(); + } + + function _0x5c885(_0x3953c0) { + return _0x1ae312(_0x3953c0) || _0x1853c6(_0x3953c0) || _0x525331(_0x3953c0) || _0x25b697(); + } + + function _0x534083(_0x3396cf) { + return _0x1ccd19(_0x3396cf) || _0x1853c6(_0x3396cf) || _0x525331(_0x3396cf) || _0x542337(); + } + + function _0x1ccd19(_0x15e4f0) { + var _0x384cbb = w_0x25f3; + if (Array[_0x384cbb(0x2af)](_0x15e4f0)) + return _0x537c83(_0x15e4f0); + } + + function _0x1ae312(_0x4bfad0) { + var _0x3bc5ad = w_0x25f3; + if (Array[_0x3bc5ad(0x2af)](_0x4bfad0)) + return _0x4bfad0; + } + + function _0x4bbf4b(_0x33a831, _0x181a3c, _0x135270) { + var _0x5bf329 = w_0x25f3; + if (_0x181a3c && !Array[_0x5bf329(0x2af)](_0x181a3c) && _0x5bf329(0x28b) == typeof _0x181a3c[_0x5bf329(0x259)]) { + var _0x43388b = _0x181a3c[_0x5bf329(0x259)]; + return _0x537c83(_0x181a3c, void (0xb * -0x29 + 0x387 + -0x2 * 0xe2) !== _0x135270 && _0x135270 < _0x43388b ? _0x135270 : _0x43388b); + } + return _0x33a831(_0x181a3c, _0x135270); + } + + function _0x1853c6(_0x3086ca) { + var _0x3e6030 = w_0x25f3; + if (_0x3e6030(0x384) != typeof Symbol && null != _0x3086ca[Symbol[_0x3e6030(0x3b3)]] || null != _0x3086ca[_0x3e6030(0x1dd)]) + return Array['from'](_0x3086ca); + } + + function _0x525331(_0x1ceb3f, _0x38a668) { + var _0x2b5250 = w_0x25f3; + if (_0x1ceb3f) { + if (_0x2b5250(0x33c) == typeof _0x1ceb3f) + return _0x537c83(_0x1ceb3f, _0x38a668); + var _0x2821d9 = Object[_0x2b5250(0x344)][_0x2b5250(0x3ae)][_0x2b5250(0x334)](_0x1ceb3f)['slice'](0x2ae * -0x7 + 0x1 * 0x2181 + 0xeb7 * -0x1, -(-0x1d * -0xec + 0x2 * -0x32 + -0x1a57)); + return _0x2b5250(0x2eb) === _0x2821d9 && _0x1ceb3f[_0x2b5250(0x2ac)] && (_0x2821d9 = _0x1ceb3f[_0x2b5250(0x2ac)]['name']), + 'Map' === _0x2821d9 || _0x2b5250(0x160) === _0x2821d9 ? Array[_0x2b5250(0x29c)](_0x1ceb3f) : _0x2b5250(0x27f) === _0x2821d9 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x2b5250(0x22b)](_0x2821d9) ? _0x537c83(_0x1ceb3f, _0x38a668) : void (-0x1 * 0xf34 + 0x12e6 + 0x1d9 * -0x2); + } + } + + function _0x537c83(_0x1cc46a, _0xca9940) { + var _0x4c66e3 = w_0x25f3; + (null == _0xca9940 || _0xca9940 > _0x1cc46a[_0x4c66e3(0x259)]) && (_0xca9940 = _0x1cc46a[_0x4c66e3(0x259)]); + for (var _0x3859e4 = 0x1fe3 * 0x1 + -0x22be + 0x2db, _0x3a8ed3 = new Array(_0xca9940); _0x3859e4 < _0xca9940; _0x3859e4++) + _0x3a8ed3[_0x3859e4] = _0x1cc46a[_0x3859e4]; + return _0x3a8ed3; + } + + function _0x542337() { + var _0x1d894c = w_0x25f3; + throw new TypeError(_0x1d894c(0x3a8)); + } + + function _0x25b697() { + throw new TypeError('Invalid\x20attempt\x20to\x20destructure\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.'); + } + + function _0x350075(_0x189dc6, _0x3f6be9) { + var _0x464771 = w_0x25f3 + , + _0x199147 = _0x464771(0x384) != typeof Symbol && _0x189dc6[Symbol[_0x464771(0x3b3)]] || _0x189dc6[_0x464771(0x1dd)]; + if (!_0x199147) { + if (Array['isArray'](_0x189dc6) || (_0x199147 = _0x525331(_0x189dc6)) || _0x3f6be9 && _0x189dc6 && _0x464771(0x28b) == typeof _0x189dc6[_0x464771(0x259)]) { + _0x199147 && (_0x189dc6 = _0x199147); + var _0x544a3f = 0x1fd2 + 0x1 * -0x1ad5 + 0x4fd * -0x1 + , _0x5b20ae = function () { + }; + return { + 's': _0x5b20ae, + 'n': function () { + var _0x4c93f0 = _0x464771; + return _0x544a3f >= _0x189dc6[_0x4c93f0(0x259)] ? { + 'done': !(-0x1aaa * 0x1 + -0x126e * 0x1 + 0x2d18) + } : { + 'done': !(0x7 * -0x205 + 0x1d44 + -0xf20), + 'value': _0x189dc6[_0x544a3f++] + }; + }, + 'e': function (_0x4d8393) { + throw _0x4d8393; + }, + 'f': _0x5b20ae + }; + } + throw new TypeError(_0x464771(0x2ae)); + } + var _0x23cdd3, _0x5bcfbb = !(0x1 * -0x810 + -0xb3 * 0x2f + 0x1 * 0x28ed), + _0x4db4fd = !(0x221 + 0x62e * 0x5 + 0x3 * -0xb02); + return { + 's': function () { + _0x199147 = _0x199147['call'](_0x189dc6); + }, + 'n': function () { + var _0x30f507 = _0x464771 + , _0x2382b6 = _0x199147['next'](); + return _0x5bcfbb = _0x2382b6[_0x30f507(0x1e3)], + _0x2382b6; + }, + 'e': function (_0x3b0f24) { + _0x4db4fd = !(0x18e0 + 0x2 * 0x214 + -0x1d08), + _0x23cdd3 = _0x3b0f24; + }, + 'f': function () { + var _0x22fdad = _0x464771; + try { + _0x5bcfbb || null == _0x199147[_0x22fdad(0x2fd)] || _0x199147[_0x22fdad(0x2fd)](); + } finally { + if (_0x4db4fd) + throw _0x23cdd3; + } + } + }; + } + + function _0x37af30(_0x37ea9e, _0x2388a0) { + var _0x3701de = w_0x25f3 + , + _0x2ac940 = 'undefined' != typeof Symbol && _0x37ea9e[Symbol[_0x3701de(0x3b3)]] || _0x37ea9e['@@iterator']; + if (_0x2ac940) + return (_0x2ac940 = _0x2ac940['call'](_0x37ea9e))[_0x3701de(0x389)][_0x3701de(0x301)](_0x2ac940); + if (Array[_0x3701de(0x2af)](_0x37ea9e) || (_0x2ac940 = _0x525331(_0x37ea9e)) || _0x2388a0 && _0x37ea9e && 'number' == typeof _0x37ea9e[_0x3701de(0x259)]) { + _0x2ac940 && (_0x37ea9e = _0x2ac940); + var _0x1dcac8 = 0x1d * -0x11a + -0x1f * 0xc7 + -0x380b * -0x1; + return function () { + var _0x306ed0 = _0x3701de; + return _0x1dcac8 >= _0x37ea9e[_0x306ed0(0x259)] ? { + 'done': !(-0x29d + 0x5fb * -0x1 + 0x898) + } : { + 'done': !(-0x6e * 0x4f + 0x2311 + -0x11e), + 'value': _0x37ea9e[_0x1dcac8++] + }; + } + ; + } + throw new TypeError(_0x3701de(0x2ae)); + } + + function _0x5362e1(_0x4cd55f) { + return function () { + var _0x58617f = w_0x25f3 + , _0x183c06 = _0x4cd55f['apply'](this, arguments); + return _0x183c06[_0x58617f(0x389)](), + _0x183c06; + } + ; + } + + function _0x4ad3b0(_0x460146, _0x32cf07) { + var _0x271683 = w_0x25f3; + if (_0x271683(0x17d) != typeof _0x460146 || null === _0x460146) + return _0x460146; + var _0xa9fa9c = _0x460146[Symbol['toPrimitive']]; + if (void (0x21b4 + 0x5 * 0x4c7 + 0x3997 * -0x1) !== _0xa9fa9c) { + var _0x560849 = _0xa9fa9c['call'](_0x460146, _0x32cf07 || _0x271683(0x1d3)); + if ('object' != typeof _0x560849) + return _0x560849; + throw new TypeError(_0x271683(0x358)); + } + return ('string' === _0x32cf07 ? String : Number)(_0x460146); + } + + function _0x32e885(_0x225644) { + var _0x1eb479 = w_0x25f3 + , _0x45c5d4 = _0x4ad3b0(_0x225644, _0x1eb479(0x33c)); + return _0x1eb479(0x2ed) == typeof _0x45c5d4 ? _0x45c5d4 : String(_0x45c5d4); + } + + function _0xf47dc3(_0x1d62a3, _0xeb8470) { + var _0x31107e = w_0x25f3; + throw new Error(_0x31107e(0x1ff)); + } + + function _0x9d8dd5(_0x238b59, _0x206a18, _0x4378c6, _0x532e73) { + var _0x340b07 = w_0x25f3; + _0x4378c6 && Object[_0x340b07(0x175)](_0x238b59, _0x206a18, { + 'enumerable': _0x4378c6['enumerable'], + 'configurable': _0x4378c6[_0x340b07(0x2bc)], + 'writable': _0x4378c6[_0x340b07(0x2e3)], + 'value': _0x4378c6[_0x340b07(0x2d0)] ? _0x4378c6['initializer'][_0x340b07(0x334)](_0x532e73) : void (-0x1ae6 + -0x1 * -0xf6b + 0xb7b * 0x1) + }); + } + + function _0x271739(_0xb876c5, _0x285720, _0x361de9, _0x52c079, _0x38a76d) { + var _0x26b61e = w_0x25f3 + , _0x25c883 = {}; + return Object['keys'](_0x52c079)[_0x26b61e(0x254)](function (_0xd1a198) { + _0x25c883[_0xd1a198] = _0x52c079[_0xd1a198]; + }), + _0x25c883[_0x26b61e(0x23a)] = !!_0x25c883[_0x26b61e(0x23a)], + _0x25c883[_0x26b61e(0x2bc)] = !!_0x25c883[_0x26b61e(0x2bc)], + (_0x26b61e(0x2e4) in _0x25c883 || _0x25c883['initializer']) && (_0x25c883[_0x26b61e(0x2e3)] = !(0x21e8 + -0x7cf * -0x5 + -0x48f3)), + _0x25c883 = _0x361de9[_0x26b61e(0x2a5)]()[_0x26b61e(0x2f3)]()[_0x26b61e(0x376)](function (_0x490c4a, _0x3636f6) { + return _0x3636f6(_0xb876c5, _0x285720, _0x490c4a) || _0x490c4a; + }, _0x25c883), + _0x38a76d && void (0x1050 + 0x1 * 0x121f + -0x226f) !== _0x25c883[_0x26b61e(0x2d0)] && (_0x25c883[_0x26b61e(0x2e4)] = _0x25c883[_0x26b61e(0x2d0)] ? _0x25c883[_0x26b61e(0x2d0)][_0x26b61e(0x334)](_0x38a76d) : void (0x1392 + -0xbe * 0x23 + -0x1 * -0x668), + _0x25c883[_0x26b61e(0x2d0)] = void (-0x1 * -0x1b9a + 0x7f7 + -0x2391 * 0x1)), + void (0x53 * 0xb + 0xa2 * -0xf + 0x5ed) === _0x25c883[_0x26b61e(0x2d0)] && (Object[_0x26b61e(0x175)](_0xb876c5, _0x285720, _0x25c883), + _0x25c883 = null), + _0x25c883; + } + + _0x137ba2['prototype'][_0x5612de(0x1ee) == typeof Symbol && Symbol[_0x5612de(0x17c)] || _0x5612de(0x230)] = function () { + return this; + } + , + _0x137ba2[_0x5612de(0x344)]['next'] = function (_0x4262ae) { + var _0x1543b4 = _0x5612de; + return this[_0x1543b4(0x1b1)](_0x1543b4(0x389), _0x4262ae); + } + , + _0x137ba2[_0x5612de(0x344)]['throw'] = function (_0x29bafe) { + var _0x4c6950 = _0x5612de; + return this[_0x4c6950(0x1b1)]('throw', _0x29bafe); + } + , + _0x137ba2[_0x5612de(0x344)][_0x5612de(0x2fd)] = function (_0x49a53d) { + var _0x58f790 = _0x5612de; + return this[_0x58f790(0x1b1)](_0x58f790(0x2fd), _0x49a53d); + } + ; + var _0x371360 = 0x11 * -0x20 + 0x88 * -0x1f + 0x1298, _0x4d6c78, _0x312e19, _0x2a32a1, _0x371ac2; + + function _0x2ca065(_0x4c2f2d) { + var _0x4415ed = _0x5612de; + return _0x4415ed(0x365) + _0x371360++ + '_' + _0x4c2f2d; + } + + function _0x33f649(_0x59611c, _0xb8c4c1) { + var _0x22f43f = _0x5612de; + if (!Object['prototype'][_0x22f43f(0x3b8)][_0x22f43f(0x334)](_0x59611c, _0xb8c4c1)) + throw new TypeError(_0x22f43f(0x271)); + return _0x59611c; + } + + function _0x4c53b8(_0x467264, _0x1c39b3) { + var _0x12fb5e = _0x5612de; + return _0x1de0ff(_0x467264, _0x3feef3(_0x467264, _0x1c39b3, _0x12fb5e(0x32b))); + } + + function _0xf01d58(_0x248ad, _0xd514dd, _0x4ffcbe) { + var _0x2a0763 = _0x5612de; + return _0x30760d(_0x248ad, _0x3feef3(_0x248ad, _0xd514dd, _0x2a0763(0x1e4)), _0x4ffcbe), + _0x4ffcbe; + } + + function _0x3ff428(_0x59a12f, _0x2e6e68) { + var _0x1a4f4c = _0x5612de; + return _0x1af7ca(_0x59a12f, _0x3feef3(_0x59a12f, _0x2e6e68, _0x1a4f4c(0x1e4))); + } + + function _0x3feef3(_0x76bca3, _0x49ed2b, _0xf40042) { + var _0x26b65c = _0x5612de; + if (!_0x49ed2b[_0x26b65c(0x2fc)](_0x76bca3)) + throw new TypeError(_0x26b65c(0x2ad) + _0xf40042 + _0x26b65c(0x2bd)); + return _0x49ed2b[_0x26b65c(0x32b)](_0x76bca3); + } + + function _0x46f318(_0x2345ad, _0x29e732, _0x5d3874) { + var _0x1785a7 = _0x5612de; + return _0x3fbf28(_0x2345ad, _0x29e732), + _0x234ff5(_0x5d3874, _0x1785a7(0x32b)), + _0x1de0ff(_0x2345ad, _0x5d3874); + } + + function _0x3d490a(_0x421876, _0x556ee1, _0x489ccf, _0x32c792) { + return _0x3fbf28(_0x421876, _0x556ee1), + _0x234ff5(_0x489ccf, 'set'), + _0x30760d(_0x421876, _0x489ccf, _0x32c792), + _0x32c792; + } + + function _0x1f2159(_0x3c139e, _0xf1d93, _0xa6753b) { + return _0x3fbf28(_0x3c139e, _0xf1d93), + _0xa6753b; + } + + function _0x2fcc7b() { + var _0x52da1e = _0x5612de; + throw new TypeError(_0x52da1e(0x1bd)); + } + + function _0x1de0ff(_0x35f1cc, _0x2cd6a2) { + var _0x331169 = _0x5612de; + return _0x2cd6a2[_0x331169(0x32b)] ? _0x2cd6a2[_0x331169(0x32b)][_0x331169(0x334)](_0x35f1cc) : _0x2cd6a2[_0x331169(0x2e4)]; + } + + function _0x30760d(_0x26c16c, _0x3bf250, _0x4bb532) { + var _0x4b5758 = _0x5612de; + if (_0x3bf250['set']) + _0x3bf250['set'][_0x4b5758(0x334)](_0x26c16c, _0x4bb532); + else { + if (!_0x3bf250['writable']) + throw new TypeError('attempted\x20to\x20set\x20read\x20only\x20private\x20field'); + _0x3bf250['value'] = _0x4bb532; + } + } + + function _0x1af7ca(_0x38569e, _0x4d9da9) { + var _0x8504a5 = _0x5612de; + if (_0x4d9da9[_0x8504a5(0x1e4)]) + return _0x8504a5(0x36f) in _0x4d9da9 || (_0x4d9da9['__destrObj'] = { + set 'value'(_0xa3d23) { + var _0x3d920b = _0x8504a5; + _0x4d9da9[_0x3d920b(0x1e4)][_0x3d920b(0x334)](_0x38569e, _0xa3d23); + } + }), + _0x4d9da9['__destrObj']; + if (!_0x4d9da9[_0x8504a5(0x2e3)]) + throw new TypeError('attempted\x20to\x20set\x20read\x20only\x20private\x20field'); + return _0x4d9da9; + } + + function _0x153ad5(_0x361a17, _0x4bf341, _0x38ef34) { + var _0x36fea3 = _0x5612de; + return _0x3fbf28(_0x361a17, _0x4bf341), + _0x234ff5(_0x38ef34, _0x36fea3(0x1e4)), + _0x1af7ca(_0x361a17, _0x38ef34); + } + + function _0x3fbf28(_0x1609bf, _0x372dbd) { + if (_0x1609bf !== _0x372dbd) + throw new TypeError('Private\x20static\x20access\x20of\x20wrong\x20provenance'); + } + + function _0x234ff5(_0x5dcf40, _0xa0e3be) { + var _0x4d5828 = _0x5612de; + if (void (0x9 * 0x3b9 + -0x7 * -0x2bb + -0x382 * 0xf) === _0x5dcf40) + throw new TypeError(_0x4d5828(0x2ad) + _0xa0e3be + '\x20private\x20static\x20field\x20before\x20its\x20declaration'); + } + + function _0x3cd893(_0x4d4ac2, _0x117b1a, _0x13ebad, _0x227002) { + var _0x404d8d = _0x5612de + , _0x21250e = _0xdaf8f6(); + if (_0x227002) { + for (var _0x1ad96b = -0x1 * -0x109d + 0x157 + -0x11f4; _0x1ad96b < _0x227002[_0x404d8d(0x259)]; _0x1ad96b++) + _0x21250e = _0x227002[_0x1ad96b](_0x21250e); + } + var _0x176094 = _0x117b1a(function (_0x32bc32) { + var _0x1f970f = _0x404d8d; + _0x21250e[_0x1f970f(0x313)](_0x32bc32, _0x1fa626[_0x1f970f(0x265)]); + }, _0x13ebad) + , + _0x1fa626 = _0x21250e[_0x404d8d(0x2df)](_0x872852(_0x176094['d'][_0x404d8d(0x1cb)](_0x210308)), _0x4d4ac2); + return _0x21250e[_0x404d8d(0x217)](_0x176094['F'], _0x1fa626[_0x404d8d(0x265)]), + _0x21250e[_0x404d8d(0x165)](_0x176094['F'], _0x1fa626[_0x404d8d(0x39c)]); + } + + function _0xdaf8f6() { + var _0x3fa41d = _0x5612de; + _0xdaf8f6 = function () { + return _0x513b0e; + } + ; + var _0x513b0e = { + 'elementsDefinitionOrder': [[_0x3fa41d(0x25a)], [_0x3fa41d(0x23c)]], + 'initializeInstanceElements': function (_0x179aa6, _0x25d5cd) { + var _0x557071 = _0x3fa41d; + [_0x557071(0x25a), _0x557071(0x23c)][_0x557071(0x254)](function (_0x2476e8) { + var _0x9b5c0b = _0x557071; + _0x25d5cd[_0x9b5c0b(0x254)](function (_0x299a4a) { + var _0x53da95 = _0x9b5c0b; + _0x299a4a['kind'] === _0x2476e8 && _0x53da95(0x235) === _0x299a4a[_0x53da95(0x215)] && this[_0x53da95(0x2e1)](_0x179aa6, _0x299a4a); + }, this); + }, this); + }, + 'initializeClassElements': function (_0x300a4c, _0x38031f) { + var _0x450502 = _0x3fa41d + , _0x4e1581 = _0x300a4c[_0x450502(0x344)]; + [_0x450502(0x25a), _0x450502(0x23c)]['forEach'](function (_0x2fde74) { + _0x38031f['forEach'](function (_0xe5e082) { + var _0x123341 = w_0x25f3 + , _0x174ec4 = _0xe5e082[_0x123341(0x215)]; + if (_0xe5e082[_0x123341(0x26f)] === _0x2fde74 && (_0x123341(0x396) === _0x174ec4 || _0x123341(0x344) === _0x174ec4)) { + var _0x184ef0 = _0x123341(0x396) === _0x174ec4 ? _0x300a4c : _0x4e1581; + this[_0x123341(0x2e1)](_0x184ef0, _0xe5e082); + } + }, this); + }, this); + }, + 'defineClassElement': function (_0x2e2a2c, _0x5db810) { + var _0x522104 = _0x3fa41d + , _0x2d7321 = _0x5db810['descriptor']; + if (_0x522104(0x23c) === _0x5db810[_0x522104(0x26f)]) { + var _0x554ae6 = _0x5db810[_0x522104(0x2d0)]; + _0x2d7321 = { + 'enumerable': _0x2d7321[_0x522104(0x23a)], + 'writable': _0x2d7321[_0x522104(0x2e3)], + 'configurable': _0x2d7321[_0x522104(0x2bc)], + 'value': void (-0x1 * 0x3bd + 0x1ef9 + -0x1b3c) === _0x554ae6 ? void (0x1 * 0x1afe + 0xcd0 + 0x7f6 * -0x5) : _0x554ae6[_0x522104(0x334)](_0x2e2a2c) + }; + } + Object[_0x522104(0x175)](_0x2e2a2c, _0x5db810['key'], _0x2d7321); + }, + 'decorateClass': function (_0x4d5101, _0x1a7961) { + var _0x129760 = _0x3fa41d + , _0x1a31cc = [] + , _0x3f7e89 = [] + , _0xf8b039 = { + 'static': [], + 'prototype': [], + 'own': [] + }; + if (_0x4d5101[_0x129760(0x254)](function (_0x5c0ba5) { + var _0x27d627 = _0x129760; + this[_0x27d627(0x33d)](_0x5c0ba5, _0xf8b039); + }, this), + _0x4d5101[_0x129760(0x254)](function (_0x239102) { + var _0x151241 = _0x129760; + if (!_0x51f3b5(_0x239102)) + return _0x1a31cc[_0x151241(0x36e)](_0x239102); + var _0x43ec40 = this[_0x151241(0x1ac)](_0x239102, _0xf8b039); + _0x1a31cc[_0x151241(0x36e)](_0x43ec40[_0x151241(0x206)]), + _0x1a31cc[_0x151241(0x36e)]['apply'](_0x1a31cc, _0x43ec40[_0x151241(0x3bc)]), + _0x3f7e89[_0x151241(0x36e)]['apply'](_0x3f7e89, _0x43ec40[_0x151241(0x39c)]); + }, this), + !_0x1a7961) + return { + 'elements': _0x1a31cc, + 'finishers': _0x3f7e89 + }; + var _0x857545 = this[_0x129760(0x34c)](_0x1a31cc, _0x1a7961); + return _0x3f7e89['push'][_0x129760(0x207)](_0x3f7e89, _0x857545[_0x129760(0x39c)]), + _0x857545[_0x129760(0x39c)] = _0x3f7e89, + _0x857545; + }, + 'addElementPlacement': function (_0x9cedb8, _0x4c2171, _0xa6e6c8) { + var _0x5d3aa1 = _0x3fa41d + , _0x33e5e0 = _0x4c2171[_0x9cedb8[_0x5d3aa1(0x215)]]; + if (!_0xa6e6c8 && -(-0x1a83 + -0x1 * -0x16ee + 0x99 * 0x6) !== _0x33e5e0['indexOf'](_0x9cedb8['key'])) + throw new TypeError('Duplicated\x20element\x20(' + _0x9cedb8[_0x5d3aa1(0x392)] + ')'); + _0x33e5e0[_0x5d3aa1(0x36e)](_0x9cedb8[_0x5d3aa1(0x392)]); + }, + 'decorateElement': function (_0x463258, _0x11d852) { + var _0x495609 = _0x3fa41d; + for (var _0x4c5aa5 = [], _0x46b095 = [], _0x106243 = _0x463258['decorators'], _0x195d25 = _0x106243[_0x495609(0x259)] - (-0x1d5c * -0x1 + 0x1aa9 + 0x956 * -0x6); _0x195d25 >= 0x18ee + 0x1 * 0x1c19 + 0xf * -0x389; _0x195d25--) { + var _0x425891 = _0x11d852[_0x463258[_0x495609(0x215)]]; + _0x425891[_0x495609(0x2ec)](_0x425891[_0x495609(0x2c5)](_0x463258[_0x495609(0x392)]), 0x1 * 0xca7 + -0xaf * -0xb + -0x142b); + var _0x30722d = this[_0x495609(0x372)](_0x463258) + , _0x15a14c = this[_0x495609(0x18a)]((0x61 * 0x2d + 0x1545 + -0x1 * 0x2652, + _0x106243[_0x195d25])(_0x30722d) || _0x30722d); + _0x463258 = _0x15a14c['element'], + this['addElementPlacement'](_0x463258, _0x11d852), + _0x15a14c[_0x495609(0x2f4)] && _0x46b095[_0x495609(0x36e)](_0x15a14c[_0x495609(0x2f4)]); + var _0x98e9dc = _0x15a14c[_0x495609(0x3bc)]; + if (_0x98e9dc) { + for (var _0x56dd4d = 0xb * 0x12e + -0x1f17 + -0x121d * -0x1; _0x56dd4d < _0x98e9dc[_0x495609(0x259)]; _0x56dd4d++) + this[_0x495609(0x33d)](_0x98e9dc[_0x56dd4d], _0x11d852); + _0x4c5aa5[_0x495609(0x36e)]['apply'](_0x4c5aa5, _0x98e9dc); + } + } + return { + 'element': _0x463258, + 'finishers': _0x46b095, + 'extras': _0x4c5aa5 + }; + }, + 'decorateConstructor': function (_0x2a4d32, _0x2666ea) { + var _0x5e156c = _0x3fa41d; + for (var _0xb2f010 = [], _0x17b2e4 = _0x2666ea[_0x5e156c(0x259)] - (0x21c0 + -0xc8e * 0x2 + -0x8a3 * 0x1); _0x17b2e4 >= -0x1c70 + -0x1 * -0x1256 + -0x1af * -0x6; _0x17b2e4--) { + var _0x222759 = this[_0x5e156c(0x193)](_0x2a4d32) + , _0xc41f78 = this[_0x5e156c(0x324)]((0x1f46 + 0x81d * 0x2 + -0x5f * 0x80, + _0x2666ea[_0x17b2e4])(_0x222759) || _0x222759); + if (void (0x1373 + 0x2b1 * -0x2 + -0x1 * 0xe11) !== _0xc41f78[_0x5e156c(0x2f4)] && _0xb2f010[_0x5e156c(0x36e)](_0xc41f78[_0x5e156c(0x2f4)]), + void (0x31 * -0xb5 + -0x11 * 0x67 + 0x84c * 0x5) !== _0xc41f78['elements']) { + _0x2a4d32 = _0xc41f78[_0x5e156c(0x265)]; + for (var _0x38c2da = -0x1 * -0xc12 + 0x7 * -0x28d + 0x5c9; _0x38c2da < _0x2a4d32[_0x5e156c(0x259)] - (0x59f * 0x6 + -0x1 * -0x1c6d + 0x25 * -0x1ae); _0x38c2da++) + for (var _0x2950ed = _0x38c2da + (0x1b91 * 0x1 + -0xbc0 + -0x8 * 0x1fa); _0x2950ed < _0x2a4d32['length']; _0x2950ed++) + if (_0x2a4d32[_0x38c2da][_0x5e156c(0x392)] === _0x2a4d32[_0x2950ed][_0x5e156c(0x392)] && _0x2a4d32[_0x38c2da][_0x5e156c(0x215)] === _0x2a4d32[_0x2950ed][_0x5e156c(0x215)]) + throw new TypeError(_0x5e156c(0x367) + _0x2a4d32[_0x38c2da][_0x5e156c(0x392)] + ')'); + } + } + return { + 'elements': _0x2a4d32, + 'finishers': _0xb2f010 + }; + }, + 'fromElementDescriptor': function (_0x4a43c8) { + var _0x302152 = _0x3fa41d + , _0x406d6b = { + 'kind': _0x4a43c8[_0x302152(0x26f)], + 'key': _0x4a43c8['key'], + 'placement': _0x4a43c8['placement'], + 'descriptor': _0x4a43c8[_0x302152(0x20f)] + }; + return Object[_0x302152(0x175)](_0x406d6b, Symbol[_0x302152(0x1c0)], { + 'value': _0x302152(0x1e8), + 'configurable': !(-0x1b3a + 0x21bb * 0x1 + -0x14d * 0x5) + }), + _0x302152(0x23c) === _0x4a43c8['kind'] && (_0x406d6b[_0x302152(0x2d0)] = _0x4a43c8['initializer']), + _0x406d6b; + }, + 'toElementDescriptors': function (_0x14be66) { + if (void (0x1f48 + -0x19fe + 0x2a5 * -0x2) !== _0x14be66) + return _0x5c885(_0x14be66)['map'](function (_0x170c20) { + var _0x5285ee = w_0x25f3 + , _0xf0c7ce = this[_0x5285ee(0x25e)](_0x170c20); + return this['disallowProperty'](_0x170c20, _0x5285ee(0x2f4), _0x5285ee(0x21f)), + this[_0x5285ee(0x21a)](_0x170c20, _0x5285ee(0x3bc), _0x5285ee(0x21f)), + _0xf0c7ce; + }, this); + }, + 'toElementDescriptor': function (_0x4c8a60) { + var _0x1fc4d7 = _0x3fa41d + , _0x33cfb6 = String(_0x4c8a60[_0x1fc4d7(0x26f)]); + if (_0x1fc4d7(0x25a) !== _0x33cfb6 && _0x1fc4d7(0x23c) !== _0x33cfb6) + throw new TypeError('An\x20element\x20descriptor\x27s\x20.kind\x20property\x20must\x20be\x20either\x20\x22method\x22\x20or\x20\x22field\x22,\x20but\x20a\x20decorator\x20created\x20an\x20element\x20descriptor\x20with\x20.kind\x20\x22' + _0x33cfb6 + '\x22'); + var _0xebb768 = _0x32e885(_0x4c8a60[_0x1fc4d7(0x392)]) + , _0x52ab63 = String(_0x4c8a60[_0x1fc4d7(0x215)]); + if (_0x1fc4d7(0x396) !== _0x52ab63 && _0x1fc4d7(0x344) !== _0x52ab63 && _0x1fc4d7(0x235) !== _0x52ab63) + throw new TypeError(_0x1fc4d7(0x2b5) + _0x52ab63 + '\x22'); + var _0x33ee46 = _0x4c8a60[_0x1fc4d7(0x20f)]; + this[_0x1fc4d7(0x21a)](_0x4c8a60, 'elements', _0x1fc4d7(0x21f)); + var _0x1ca161 = { + 'kind': _0x33cfb6, + 'key': _0xebb768, + 'placement': _0x52ab63, + 'descriptor': Object[_0x1fc4d7(0x2a0)]({}, _0x33ee46) + }; + return _0x1fc4d7(0x23c) !== _0x33cfb6 ? this[_0x1fc4d7(0x21a)](_0x4c8a60, _0x1fc4d7(0x2d0), _0x1fc4d7(0x28d)) : (this['disallowProperty'](_0x33ee46, _0x1fc4d7(0x32b), _0x1fc4d7(0x277)), + this['disallowProperty'](_0x33ee46, 'set', _0x1fc4d7(0x277)), + this['disallowProperty'](_0x33ee46, _0x1fc4d7(0x2e4), _0x1fc4d7(0x277)), + _0x1ca161['initializer'] = _0x4c8a60[_0x1fc4d7(0x2d0)]), + _0x1ca161; + }, + 'toElementFinisherExtras': function (_0x53b840) { + var _0x1157c0 = _0x3fa41d; + return { + 'element': this[_0x1157c0(0x25e)](_0x53b840), + 'finisher': _0x22df7b(_0x53b840, _0x1157c0(0x2f4)), + 'extras': this[_0x1157c0(0x370)](_0x53b840['extras']) + }; + }, + 'fromClassDescriptor': function (_0x30c308) { + var _0x482b04 = _0x3fa41d + , _0xf231c1 = { + 'kind': _0x482b04(0x19c), + 'elements': _0x30c308['map'](this[_0x482b04(0x372)], this) + }; + return Object[_0x482b04(0x175)](_0xf231c1, Symbol[_0x482b04(0x1c0)], { + 'value': _0x482b04(0x1e8), + 'configurable': !(0xf * -0xf1 + 0x1 * -0xcfe + -0x1b1d * -0x1) + }), + _0xf231c1; + }, + 'toClassDescriptor': function (_0x178ca0) { + var _0x2520a1 = _0x3fa41d + , _0x79f336 = String(_0x178ca0[_0x2520a1(0x26f)]); + if ('class' !== _0x79f336) + throw new TypeError('A\x20class\x20descriptor\x27s\x20.kind\x20property\x20must\x20be\x20\x22class\x22,\x20but\x20a\x20decorator\x20created\x20a\x20class\x20descriptor\x20with\x20.kind\x20\x22' + _0x79f336 + '\x22'); + this['disallowProperty'](_0x178ca0, _0x2520a1(0x392), 'A\x20class\x20descriptor'), + this[_0x2520a1(0x21a)](_0x178ca0, _0x2520a1(0x215), 'A\x20class\x20descriptor'), + this[_0x2520a1(0x21a)](_0x178ca0, _0x2520a1(0x20f), _0x2520a1(0x1a1)), + this['disallowProperty'](_0x178ca0, 'initializer', _0x2520a1(0x1a1)), + this[_0x2520a1(0x21a)](_0x178ca0, _0x2520a1(0x3bc), 'A\x20class\x20descriptor'); + var _0x154e32 = _0x22df7b(_0x178ca0, _0x2520a1(0x2f4)); + return { + 'elements': this['toElementDescriptors'](_0x178ca0['elements']), + 'finisher': _0x154e32 + }; + }, + 'runClassFinishers': function (_0x58401c, _0x3ff489) { + var _0x4a8de1 = _0x3fa41d; + for (var _0x5ec766 = 0x13b0 + -0xe05 + 0x1 * -0x5ab; _0x5ec766 < _0x3ff489[_0x4a8de1(0x259)]; _0x5ec766++) { + var _0x176fd2 = (0x7d * -0x25 + 0x101 * 0x14 + 0x5 * -0x67, + _0x3ff489[_0x5ec766])(_0x58401c); + if (void (-0x1 * 0x200 + 0x1c4a + -0x1a4a) !== _0x176fd2) { + if (_0x4a8de1(0x1ee) != typeof _0x176fd2) + throw new TypeError('Finishers\x20must\x20return\x20a\x20constructor.'); + _0x58401c = _0x176fd2; + } + } + return _0x58401c; + }, + 'disallowProperty': function (_0x376492, _0x1998df, _0x46cda4) { + var _0x5b24b6 = _0x3fa41d; + if (void (0x2239 + -0xa67 + -0x17d2) !== _0x376492[_0x1998df]) + throw new TypeError(_0x46cda4 + _0x5b24b6(0x232) + _0x1998df + _0x5b24b6(0x2a1)); + } + }; + return _0x513b0e; + } + + function _0x210308(_0x5bae0) { + var _0x509268 = _0x5612de, _0x2061f6, _0x1daa96 = _0x32e885(_0x5bae0['key']); + _0x509268(0x25a) === _0x5bae0[_0x509268(0x26f)] ? _0x2061f6 = { + 'value': _0x5bae0[_0x509268(0x2e4)], + 'writable': !(-0x286 + -0x3 * -0x83b + -0x162b), + 'configurable': !(-0x1 * -0x13f9 + -0x2 * -0x1127 + -0x3647), + 'enumerable': !(-0x210 * -0x1 + 0xf43 * -0x2 + 0x1c77) + } : _0x509268(0x32b) === _0x5bae0[_0x509268(0x26f)] ? _0x2061f6 = { + 'get': _0x5bae0['value'], + 'configurable': !(-0x4 * -0x87 + 0x25b6 + -0x13e9 * 0x2), + 'enumerable': !(0x4 * -0x105 + -0x8 * 0x3b + 0x5ed * 0x1) + } : 'set' === _0x5bae0[_0x509268(0x26f)] ? _0x2061f6 = { + 'set': _0x5bae0[_0x509268(0x2e4)], + 'configurable': !(-0x1 * -0xd7c + 0x24e2 + -0x325e), + 'enumerable': !(0x246b * -0x1 + -0xbdc + 0x67 * 0x78) + } : _0x509268(0x23c) === _0x5bae0['kind'] && (_0x2061f6 = { + 'configurable': !(-0x7 * 0x7c + 0x0 + -0x1 * -0x364), + 'writable': !(0x10cc + 0x93a + -0x1a06), + 'enumerable': !(-0x339 + -0xfd1 * -0x1 + -0xc98) + }); + var _0x12b911 = { + 'kind': _0x509268(0x23c) === _0x5bae0[_0x509268(0x26f)] ? _0x509268(0x23c) : 'method', + 'key': _0x1daa96, + 'placement': _0x5bae0[_0x509268(0x396)] ? _0x509268(0x396) : 'field' === _0x5bae0[_0x509268(0x26f)] ? 'own' : _0x509268(0x344), + 'descriptor': _0x2061f6 + }; + return _0x5bae0['decorators'] && (_0x12b911[_0x509268(0x1b7)] = _0x5bae0[_0x509268(0x1b7)]), + _0x509268(0x23c) === _0x5bae0['kind'] && (_0x12b911['initializer'] = _0x5bae0[_0x509268(0x2e4)]), + _0x12b911; + } + + function _0x3b2c5d(_0x1d2cd7, _0x5043bf) { + var _0x6af88f = _0x5612de; + void (-0x1c1e + -0x19 * -0xd9 + -0x1 * -0x6ed) !== _0x1d2cd7[_0x6af88f(0x20f)][_0x6af88f(0x32b)] ? _0x5043bf['descriptor'][_0x6af88f(0x32b)] = _0x1d2cd7['descriptor'][_0x6af88f(0x32b)] : _0x5043bf['descriptor']['set'] = _0x1d2cd7[_0x6af88f(0x20f)][_0x6af88f(0x1e4)]; + } + + function _0x872852(_0x11fd7b) { + var _0x45b70e = _0x5612de; + for (var _0x3d0947 = [], _0x1e20eb = function (_0x3c1862) { + var _0x56210d = w_0x25f3; + return _0x56210d(0x25a) === _0x3c1862[_0x56210d(0x26f)] && _0x3c1862[_0x56210d(0x392)] === _0x44502e['key'] && _0x3c1862[_0x56210d(0x215)] === _0x44502e[_0x56210d(0x215)]; + }, _0x2773ae = -0xdd7 + 0x5 * 0x3f6 + 0x5f7 * -0x1; _0x2773ae < _0x11fd7b[_0x45b70e(0x259)]; _0x2773ae++) { + var _0x152571, _0x44502e = _0x11fd7b[_0x2773ae]; + if (_0x45b70e(0x25a) === _0x44502e[_0x45b70e(0x26f)] && (_0x152571 = _0x3d0947['find'](_0x1e20eb))) { + if (_0x3f9244(_0x44502e[_0x45b70e(0x20f)]) || _0x3f9244(_0x152571[_0x45b70e(0x20f)])) { + if (_0x51f3b5(_0x44502e) || _0x51f3b5(_0x152571)) + throw new ReferenceError('Duplicated\x20methods\x20(' + _0x44502e[_0x45b70e(0x392)] + _0x45b70e(0x20b)); + _0x152571[_0x45b70e(0x20f)] = _0x44502e[_0x45b70e(0x20f)]; + } else { + if (_0x51f3b5(_0x44502e)) { + if (_0x51f3b5(_0x152571)) + throw new ReferenceError('Decorators\x20can\x27t\x20be\x20placed\x20on\x20different\x20accessors\x20with\x20for\x20the\x20same\x20property\x20(' + _0x44502e['key'] + ').'); + _0x152571[_0x45b70e(0x1b7)] = _0x44502e[_0x45b70e(0x1b7)]; + } + _0x3b2c5d(_0x44502e, _0x152571); + } + } else + _0x3d0947[_0x45b70e(0x36e)](_0x44502e); + } + return _0x3d0947; + } + + function _0x51f3b5(_0x3b7753) { + var _0x46d225 = _0x5612de; + return _0x3b7753[_0x46d225(0x1b7)] && _0x3b7753['decorators']['length']; + } + + function _0x3f9244(_0x197382) { + var _0x1ec41e = _0x5612de; + return void (0xa8 + 0x12a * -0x4 + 0x400) !== _0x197382 && !(void (-0x2 * -0x955 + -0x965 + -0x945) === _0x197382[_0x1ec41e(0x2e4)] && void (-0x403 + 0xd * 0x1e2 + -0x1477) === _0x197382[_0x1ec41e(0x2e3)]); + } + + function _0x22df7b(_0x1a9e0b, _0x4c3aa6) { + var _0x2004a6 = _0x5612de + , _0x42d7e1 = _0x1a9e0b[_0x4c3aa6]; + if (void (-0x1ab * -0x11 + -0x2164 + 0x1 * 0x509) !== _0x42d7e1 && _0x2004a6(0x1ee) != typeof _0x42d7e1) + throw new TypeError('Expected\x20\x27' + _0x4c3aa6 + _0x2004a6(0x200)); + return _0x42d7e1; + } + + function _0x44a779(_0x290bd9, _0x3c4184, _0x356c04) { + var _0x5e1d0b = _0x5612de; + if (!_0x3c4184[_0x5e1d0b(0x2fc)](_0x290bd9)) + throw new TypeError(_0x5e1d0b(0x187)); + return _0x356c04; + } + + function _0x227cd9(_0x44aab6, _0x47792b) { + var _0x50e6e8 = _0x5612de; + if (_0x47792b[_0x50e6e8(0x2fc)](_0x44aab6)) + throw new TypeError('Cannot\x20initialize\x20the\x20same\x20private\x20elements\x20twice\x20on\x20an\x20object'); + } + + function _0x41d2eb(_0x2d54de, _0x30b42b, _0x3cc210) { + _0x227cd9(_0x2d54de, _0x30b42b), + _0x30b42b['set'](_0x2d54de, _0x3cc210); + } + + function _0x4fd04a(_0x1b36b3, _0x1a6559) { + var _0x1aaac6 = _0x5612de; + _0x227cd9(_0x1b36b3, _0x1a6559), + _0x1a6559[_0x1aaac6(0x332)](_0x1b36b3); + } + + function _0x4fb313() { + throw new TypeError('attempted\x20to\x20reassign\x20private\x20method'); + } + + function _0x4e4f66(_0x9f7990) { + return _0x9f7990; + } + + _0x5612de(0x1ee) != typeof Object[_0x5612de(0x2a0)] && Object['defineProperty'](Object, _0x5612de(0x2a0), { + 'value': function (_0x478fa2, _0x273756) { + var _0x2b8676 = _0x5612de; + if (null == _0x478fa2) + throw new TypeError(_0x2b8676(0x2cf)); + for (var _0x451cfb = Object(_0x478fa2), _0x5c5079 = -0xb5d + -0x15f0 + 0x214e; _0x5c5079 < arguments[_0x2b8676(0x259)]; _0x5c5079++) { + var _0x3059a4 = arguments[_0x5c5079]; + if (null != _0x3059a4) { + for (var _0x3ede90 in _0x3059a4) + Object[_0x2b8676(0x344)][_0x2b8676(0x3b8)][_0x2b8676(0x334)](_0x3059a4, _0x3ede90) && (_0x451cfb[_0x3ede90] = _0x3059a4[_0x3ede90]); + } + } + return _0x451cfb; + }, + 'writable': !(0x3d * -0x43 + 0x2368 + -0x1371), + 'configurable': !(0x12a + -0x1692 + 0x1568) + }), + Object[_0x5612de(0x17f)] || (Object['keys'] = (_0x4d6c78 = Object[_0x5612de(0x344)][_0x5612de(0x3b8)], + _0x312e19 = !{ + 'toString': null + }[_0x5612de(0x1da)]('toString'), + _0x2a32a1 = [_0x5612de(0x3ae), _0x5612de(0x2c8), _0x5612de(0x303), _0x5612de(0x3b8), 'isPrototypeOf', _0x5612de(0x1da), 'constructor'], + _0x371ac2 = _0x2a32a1[_0x5612de(0x259)], + function (_0x457a19) { + var _0x2d3152 = _0x5612de; + if (_0x2d3152(0x1ee) != typeof _0x457a19 && (_0x2d3152(0x17d) !== _0x1db123(_0x457a19) || null === _0x457a19)) + throw new TypeError(_0x2d3152(0x374)); + var _0x11aef0, _0x29131e, _0x4c2a63 = []; + for (_0x11aef0 in _0x457a19) + _0x4d6c78[_0x2d3152(0x334)](_0x457a19, _0x11aef0) && _0x4c2a63[_0x2d3152(0x36e)](_0x11aef0); + if (_0x312e19) { + for (_0x29131e = -0x2406 + -0x1209 + 0x1 * 0x360f; _0x29131e < _0x371ac2; _0x29131e++) + _0x4d6c78['call'](_0x457a19, _0x2a32a1[_0x29131e]) && _0x4c2a63[_0x2d3152(0x36e)](_0x2a32a1[_0x29131e]); + } + return _0x4c2a63; + } + )); + var _0x45b94b = { + '__version__': _0x5612de(0x167), + 'feVersion': 0x2, + 'domNotValid': !(-0x1e27 + -0x3fa * -0x2 + 0x1634), + 'refererKey': _0x5612de(0x318), + 'pushVersion': _0x5612de(0x2ca), + 'secInfoHeader': _0x5612de(0x248) + }; + + function _0x598972(_0x215b45, _0x2d7329) { + var _0x401595 = _0x5612de; + if (_0x401595(0x33c) == typeof _0x2d7329) + for (var _0x5d92d9, _0x112fe4 = _0x215b45 + '=', _0x28aeed = _0x2d7329[_0x401595(0x342)](/[;&]/), _0x26307f = 0x11 * -0x97 + 0x126 * -0xd + -0x1 * -0x18f5; _0x26307f < _0x28aeed[_0x401595(0x259)]; _0x26307f++) { + for (_0x5d92d9 = _0x28aeed[_0x26307f]; '\x20' === _0x5d92d9['charAt'](0x1589 + 0x5e4 + 0x7 * -0x3eb);) + _0x5d92d9 = _0x5d92d9[_0x401595(0x1b0)](-0x16d9 + -0x1 * 0x99c + 0x2 * 0x103b, _0x5d92d9['length']); + if (0x15cd + -0x1235 + 0x1 * -0x398 === _0x5d92d9[_0x401595(0x2c5)](_0x112fe4)) + return _0x5d92d9[_0x401595(0x1b0)](_0x112fe4[_0x401595(0x259)], _0x5d92d9[_0x401595(0x259)]); + } + } + + function _0x24dc34(_0x3e96bb) { + var _0x22cc3b = _0x5612de; + try { + var _0xdacad4 = ''; + return window['sessionStorage'] && (_0xdacad4 = window['sessionStorage'][_0x22cc3b(0x2d8)](_0x3e96bb)) || window[_0x22cc3b(0x1dc)] && (_0xdacad4 = window[_0x22cc3b(0x1dc)][_0x22cc3b(0x2d8)](_0x3e96bb)) ? _0xdacad4 : _0xdacad4 = _0x598972(_0x3e96bb, document['cookie']); + } catch (_0x195c1d) { + return ''; + } + } + + function _0x1f42cb(_0x247ee6, _0x28501b) { + var _0xfed486 = _0x5612de; + try { + window[_0xfed486(0x3be)] && window['sessionStorage']['setItem'](_0x247ee6, _0x28501b), + window[_0xfed486(0x1dc)] && window[_0xfed486(0x1dc)][_0xfed486(0x1c4)](_0x247ee6, _0x28501b), + (document[_0xfed486(0x272)] = _0x247ee6 + _0xfed486(0x35e), + document[_0xfed486(0x272)] = _0x247ee6 + '=' + _0x28501b + _0xfed486(0x1c1) + new Date(new Date()['getTime']() + (0x10 * 0x792317 + 0x37870478 + -0x2 * 0xd8658f4))[_0xfed486(0x15e)]() + _0xfed486(0x3c1)); + } catch (_0x2bd822) { + } + } + + function _0x2ecc5a(_0x5893e4) { + var _0x3a0d7f = _0x5612de; + try { + window[_0x3a0d7f(0x3be)] && window['sessionStorage']['removeItem'](_0x5893e4), + window[_0x3a0d7f(0x1dc)] && window[_0x3a0d7f(0x1dc)][_0x3a0d7f(0x2c3)](_0x5893e4), + document[_0x3a0d7f(0x272)] = _0x5893e4 + _0x3a0d7f(0x35e); + } catch (_0x2f5b70) { + } + } + + for (var _0x462335 = { + 'boe': !(0x1e0d + -0x1093 * 0x1 + -0xd79), + 'aid': 0x0, + 'dfp': !(-0x1 * 0x703 + 0x1025 + 0x29 * -0x39), + 'sdi': !(0x49 * -0x77 + -0x6da * 0x2 + -0x4 * -0xbe9), + 'enablePathList': [], + '_enablePathListRegex': [], + 'urlRewriteRules': [], + '_urlRewriteRules': [], + 'initialized': !(-0x31 * 0x3d + 0x9df + 0x1cf), + 'enableTrack': !(0x89 * -0x1a + -0x21ca + 0x2fb5), + 'track': { + 'unitTime': 0x0, + 'unitAmount': 0x0, + 'fre': 0x0 + }, + 'triggerUnload': !(-0x3e5 * -0x5 + -0x23cb + 0x3 * 0x571), + 'region': '', + 'regionConf': {}, + 'umode': 0x0, + 'v': !(-0x1155 + -0x25d4 + -0x1 * -0x372a), + '_enableSignature': [], + 'perf': !(0x1 * -0x1c2e + 0xef8 + -0xc7 * -0x11), + 'xxbg': !(-0xf75 + 0x3 * 0x4e5 + 0x12 * 0xb) + }, _0x3d40ff = { + 'debug': function (_0x2cf151, _0x4acfb1) { + var _0x1b6639 = _0x5612de; + _0x462335[_0x1b6639(0x1b6)]; + } + }, _0x100715 = _0x5612de(0x2d7)[_0x5612de(0x342)](''), _0x1f510e = [], _0x37750d = [], _0x1cb307 = -0xe55 + 0x1c37 + 0x2 * -0x6f1; _0x1cb307 < 0x241b + 0x10 * -0xe6 + -0x1 * 0x14bb; _0x1cb307++) + _0x1f510e[_0x1cb307] = _0x100715[_0x1cb307 >> 0xd03 + -0x269a + 0x1 * 0x199b & 0xa64 * 0x3 + -0xf7b + -0xfa2] + _0x100715[0x2bb + -0x3 * 0x92d + 0x18db & _0x1cb307], + _0x1cb307 < -0x1 * -0x82 + 0x34 * -0x3b + -0x2 * -0x5c5 && (_0x1cb307 < 0x10f1 * 0x1 + 0x86a * 0x4 + -0x328f ? _0x37750d[-0x2029 + -0x1ef1 + -0x3f4a * -0x1 + _0x1cb307] = _0x1cb307 : _0x37750d[-0x2485 + 0x1d * 0x6d + 0x1883 + _0x1cb307] = _0x1cb307); + var _0x55de18 = function (_0x33a277) { + var _0x5155ba = _0x5612de; + for (var _0x9eb2a1 = _0x33a277[_0x5155ba(0x259)], _0x1edfde = '', _0x2a69c4 = -0x1c39 + 0x569 + 0x16d0; _0x2a69c4 < _0x9eb2a1;) + _0x1edfde += _0x1f510e[_0x33a277[_0x2a69c4++]]; + return _0x1edfde; + } + , _0x655940 = function (_0x177456) { + for (var _0x1ffb9c = _0x177456['length'] >> 0x1 * 0x104b + 0x10b1 + -0x20fb, _0x3563ef = _0x1ffb9c << -0x1 * -0x263 + -0x77 * -0x21 + 0xd * -0x15d, _0x22520c = new Uint8Array(_0x1ffb9c), _0x32553 = 0x345 * 0x9 + -0x1e9a + -0x1 * -0x12d, _0x11b847 = 0x1 * 0x623 + -0x239f * -0x1 + -0x29c2; _0x11b847 < _0x3563ef;) + _0x22520c[_0x32553++] = _0x37750d[_0x177456['charCodeAt'](_0x11b847++)] << -0x1551 + -0xb5a + 0x20af * 0x1 | _0x37750d[_0x177456['charCodeAt'](_0x11b847++)]; + return _0x22520c; + } + , _0x42e709 = { + 'encode': _0x55de18, + 'decode': _0x655940 + } + , + _0x1e7721 = _0x5612de(0x384) != typeof globalThis ? globalThis : _0x5612de(0x384) != typeof window ? window : _0x5612de(0x384) != typeof global ? global : 'undefined' != typeof self ? self : {}; + + function _0x3bc8d3(_0x14565d) { + var _0x442e14 = _0x5612de; + return _0x14565d && _0x14565d[_0x442e14(0x3bd)] && Object[_0x442e14(0x344)][_0x442e14(0x3b8)][_0x442e14(0x334)](_0x14565d, _0x442e14(0x1d3)) ? _0x14565d[_0x442e14(0x1d3)] : _0x14565d; + } + + function _0x3abc0b(_0x1ca7bd) { + var _0x292845 = _0x5612de; + return _0x1ca7bd && Object[_0x292845(0x344)]['hasOwnProperty'][_0x292845(0x334)](_0x1ca7bd, _0x292845(0x1d3)) ? _0x1ca7bd[_0x292845(0x1d3)] : _0x1ca7bd; + } + + function _0x41ace1(_0x2b7455) { + var _0x39470d = _0x5612de; + return _0x2b7455 && Object[_0x39470d(0x344)][_0x39470d(0x3b8)]['call'](_0x2b7455, _0x39470d(0x1d3)) && 0x155 + 0x16f8 + -0x184c === Object[_0x39470d(0x17f)](_0x2b7455)[_0x39470d(0x259)] ? _0x2b7455[_0x39470d(0x1d3)] : _0x2b7455; + } + + function _0x3e9554(_0x22797e) { + var _0x1fa97f = _0x5612de; + if (_0x22797e[_0x1fa97f(0x3bd)]) + return _0x22797e; + var _0x21d08f = Object[_0x1fa97f(0x175)]({}, _0x1fa97f(0x3bd), { + 'value': !(0x1f82 + -0x10d * 0x1d + 0x5 * -0x35) + }); + return Object[_0x1fa97f(0x17f)](_0x22797e)['forEach'](function (_0x19f7e0) { + var _0x1f5a81 = _0x1fa97f + , _0x3cf185 = Object[_0x1f5a81(0x2a6)](_0x22797e, _0x19f7e0); + Object['defineProperty'](_0x21d08f, _0x19f7e0, _0x3cf185[_0x1f5a81(0x32b)] ? _0x3cf185 : { + 'enumerable': !(-0x222 * -0x8 + 0x1 * -0x21ac + 0x84e * 0x2), + 'get': function () { + return _0x22797e[_0x19f7e0]; + } + }); + }), + _0x21d08f; + } + + function _0x56409e(_0x362d96) { + var _0x265452 = _0x5612de + , _0x5870ef = { + 'exports': {} + }; + return _0x362d96(_0x5870ef, _0x5870ef[_0x265452(0x1b8)]), + _0x5870ef['exports']; + } + + function _0x171dc9(_0x5983b9) { + var _0x32782f = _0x5612de; + throw new Error(_0x32782f(0x36d) + _0x5983b9 + _0x32782f(0x357)); + } + + var _0x90795 = _0x56409e(function (_0xb9c7d1) { + !(function () { + var _0x2db296 = w_0x25f3 + , _0x1f977a = 'input\x20is\x20invalid\x20type' + , _0x5a87b4 = _0x2db296(0x17d) == typeof window + , _0x11d177 = _0x5a87b4 ? window : {}; + _0x11d177[_0x2db296(0x37a)] && (_0x5a87b4 = !(-0x15c4 + 0x97d * -0x2 + 0xb7 * 0x39)); + var _0x387fd8 = !_0x5a87b4 && _0x2db296(0x17d) == typeof self + , + _0x2e1226 = !_0x11d177[_0x2db296(0x216)] && _0x2db296(0x17d) == typeof process && process[_0x2db296(0x194)] && process[_0x2db296(0x194)][_0x2db296(0x287)]; + _0x2e1226 ? _0x11d177 = _0x1e7721 : _0x387fd8 && (_0x11d177 = self); + var _0x299a21 = !_0x11d177['JS_MD5_NO_COMMON_JS'] && _0xb9c7d1[_0x2db296(0x1b8)], + _0x5efc8f = !(-0x8c4 + -0xc3a + -0x1 * -0x14ff), + _0x1edc95 = !_0x11d177[_0x2db296(0x2e6)] && 'undefined' != typeof ArrayBuffer, + _0x142491 = _0x2db296(0x2d7)[_0x2db296(0x342)](''), + _0x146907 = [0x148 * 0x5 + -0x753 * 0x2 + -0x175 * -0x6, 0x1 * 0x340b + 0x460a + 0x1f9 * 0x3, 0x2766cb + -0x6327ac + 0x353 * 0x387b, -(-0xc13e2aae + -0x3aff8440 + 0x17c3daeee)], + _0x4d13bd = [-0x1721 + -0x1 * 0x611 + 0x1d32, -0x390 + -0x3a5 * -0x3 + -0x757, 0x5fc + -0x64d * -0x2 + -0x1286, 0x278 + 0x3 * 0x105 + -0x56f], + _0x3f581b = [_0x2db296(0x352), _0x2db296(0x238), _0x2db296(0x19b), _0x2db296(0x275), 'arrayBuffer', _0x2db296(0x25f)], + _0xcb4d61 = _0x2db296(0x315)[_0x2db296(0x342)](''), _0x5c5e45 = [], _0x54b265; + if (_0x1edc95) { + var _0x171107 = new ArrayBuffer(0xc87 + -0xcd8 + 0x95); + _0x54b265 = new Uint8Array(_0x171107), + _0x5c5e45 = new Uint32Array(_0x171107); + } + !_0x11d177[_0x2db296(0x216)] && Array[_0x2db296(0x2af)] || (Array['isArray'] = function (_0x263669) { + var _0x1dd8cd = _0x2db296; + return _0x1dd8cd(0x331) === Object['prototype']['toString']['call'](_0x263669); + } + ), + !_0x1edc95 || !_0x11d177[_0x2db296(0x305)] && ArrayBuffer['isView'] || (ArrayBuffer['isView'] = function (_0x4d052f) { + var _0x23ceed = _0x2db296; + return _0x23ceed(0x17d) == typeof _0x4d052f && _0x4d052f[_0x23ceed(0x275)] && _0x4d052f['buffer'][_0x23ceed(0x2ac)] === ArrayBuffer; + } + ); + var _0x2e393f = function (_0x55b71b) { + return function (_0x6901ec) { + var _0x38b178 = w_0x25f3; + return new _0x22f902(!(0x191d + 0x9e + -0x19bb))[_0x38b178(0x2d5)](_0x6901ec)[_0x55b71b](); + } + ; + } + , _0x1edabb = function () { + var _0x5664ca = _0x2db296 + , _0x4c275f = _0x2e393f(_0x5664ca(0x352)); + _0x2e1226 && (_0x4c275f = _0x4d7e2d(_0x4c275f)), + _0x4c275f[_0x5664ca(0x3b7)] = function () { + return new _0x22f902(); + } + , + _0x4c275f['update'] = function (_0x5c3464) { + return _0x4c275f['create']()['update'](_0x5c3464); + } + ; + for (var _0x349d5f = -0x9d * -0x1f + 0x1 * 0x230c + -0x15 * 0x293; _0x349d5f < _0x3f581b[_0x5664ca(0x259)]; ++_0x349d5f) { + var _0x1537c4 = _0x3f581b[_0x349d5f]; + _0x4c275f[_0x1537c4] = _0x2e393f(_0x1537c4); + } + return _0x4c275f; + } + , _0x4d7e2d = function (_0x1afe1b) { + var _0x3e0a6e = eval('var _0x13db80 = w_0x25f3;require(_0x13db80(628));') + , _0x5bfe7e = eval('var _0x20dc8b = w_0x25f3;require(\'buffer\')[_0x20dc8b(424)];') + , _0x3d7396 = function (_0x5142ff) { + var _0x30639a = w_0x25f3; + if (_0x30639a(0x33c) == typeof _0x5142ff) + return _0x3e0a6e[_0x30639a(0x1ca)](_0x30639a(0x35c))[_0x30639a(0x2d5)](_0x5142ff, _0x30639a(0x2a8))[_0x30639a(0x19b)](_0x30639a(0x352)); + if (null == _0x5142ff) + throw _0x1f977a; + return _0x5142ff[_0x30639a(0x2ac)] === ArrayBuffer && (_0x5142ff = new Uint8Array(_0x5142ff)), + Array[_0x30639a(0x2af)](_0x5142ff) || ArrayBuffer[_0x30639a(0x2c7)](_0x5142ff) || _0x5142ff[_0x30639a(0x2ac)] === _0x5bfe7e ? _0x3e0a6e[_0x30639a(0x1ca)](_0x30639a(0x35c))['update'](new _0x5bfe7e(_0x5142ff))[_0x30639a(0x19b)](_0x30639a(0x352)) : _0x1afe1b(_0x5142ff); + }; + return _0x3d7396; + }; + + function _0x22f902(_0xad0da7) { + var _0x68ef08 = _0x2db296; + if (_0xad0da7) + _0x5c5e45[-0x1b4c * 0x1 + -0x126b * 0x2 + 0x4022] = _0x5c5e45[0x143f + -0x2217 + 0xde8] = _0x5c5e45[0x16 * 0x2e + -0x1d7c + 0x1989] = _0x5c5e45[0xa0 * -0x26 + -0x3 * 0x93f + 0x337f * 0x1] = _0x5c5e45[-0xed2 + 0xe1d + 0x2e * 0x4] = _0x5c5e45[-0x10ff + -0x1 * -0x394 + 0xd6f] = _0x5c5e45[-0x36f * -0x2 + 0x1 * 0x1a5 + -0x87e] = _0x5c5e45[-0x1f81 * 0x1 + 0x25ce * -0x1 + -0x1 * -0x4555] = _0x5c5e45[0x1ae7 * 0x1 + 0x1 * -0xe3c + -0xca4 * 0x1] = _0x5c5e45[-0x583 * -0x4 + -0x5f7 * -0x5 + -0x33d7] = _0x5c5e45[0x25e + -0x1d4b * 0x1 + -0x3a * -0x77] = _0x5c5e45[0xef9 + -0x30 * -0x57 + -0x1f3f] = _0x5c5e45[0x11e + -0x18f * 0x7 + 0x9d6] = _0x5c5e45[-0x2521 * -0x1 + 0x1 * 0x1bf4 + 0x4109 * -0x1] = _0x5c5e45[0x19 * 0xa6 + 0x1f06 + -0x2f2f] = _0x5c5e45[-0x22d0 + 0x1f1 * 0xf + 0x5bf] = _0x5c5e45[0x7 * 0x549 + -0xa39 + 0x1 * -0x1ab7] = 0x1 * -0xfb + 0x1995 + 0xc4d * -0x2, + this['blocks'] = _0x5c5e45, + this[_0x68ef08(0x329)] = _0x54b265; + else { + if (_0x1edc95) { + var _0x44d65b = new ArrayBuffer(0x11 * -0xb + 0xbfd + -0xafe); + this[_0x68ef08(0x329)] = new Uint8Array(_0x44d65b), + this[_0x68ef08(0x319)] = new Uint32Array(_0x44d65b); + } else + this[_0x68ef08(0x319)] = [0x45 * 0x10 + -0xd15 + 0x8c5, 0x1d70 + 0x493 + -0x2203 * 0x1, 0x46 * 0x86 + 0x8 * -0x14e + -0x1a34, 0x9bb + 0x25 * 0xdf + -0x29f6, -0x1c * -0xda + 0x188 + 0xcb * -0x20, -0x442 + -0x199a + 0x1ddc, -0x2 * -0x32d + -0x605 * -0x2 + -0x1264, 0x1af * -0x8 + -0xf3c + 0x29c * 0xb, -0x8cc + 0x1c3 + 0x709 * 0x1, 0xb53 * 0x1 + 0x18e6 + -0x3 * 0xc13, -0x2 * 0x135e + 0x444 + 0x2278, 0xe8 * 0x2b + 0x2106 + -0xa * 0x733, 0x3 * 0x449 + 0x1103 + -0x1dde, 0x30 + -0x3 * -0x95 + -0x1ef, 0x3ca * -0x3 + -0x9 * -0x1cb + -0x3 * 0x197, -0x14ce + -0x1b9 + 0x1687, -0xb2f + -0x53f * 0x3 + 0x1aec]; + } + this['h0'] = this['h1'] = this['h2'] = this['h3'] = this[_0x68ef08(0x385)] = this[_0x68ef08(0x25b)] = this[_0x68ef08(0x1cd)] = -0x1 * 0x4f9 + 0xeb * -0xd + 0x10e8, + this[_0x68ef08(0x182)] = this[_0x68ef08(0x1e9)] = !(-0x983 + -0x5b1 * -0x1 + 0x3d3), + this[_0x68ef08(0x19f)] = !(-0xcdf + 0x2157 + -0x1478); + } + + _0x22f902[_0x2db296(0x344)][_0x2db296(0x2d5)] = function (_0x36f09d) { + var _0x449340 = _0x2db296; + if (!this['finalized']) { + var _0x462898, _0x1dd68e = typeof _0x36f09d; + if (_0x449340(0x33c) !== _0x1dd68e) { + if ('object' !== _0x1dd68e) + throw _0x1f977a; + if (null === _0x36f09d) + throw _0x1f977a; + if (_0x1edc95 && _0x36f09d['constructor'] === ArrayBuffer) + _0x36f09d = new Uint8Array(_0x36f09d); + else { + if (!(Array[_0x449340(0x2af)](_0x36f09d) || _0x1edc95 && ArrayBuffer['isView'](_0x36f09d))) + throw _0x1f977a; + } + _0x462898 = !(-0xfea + 0x449 * 0x3 + -0x1 * -0x30f); + } + for (var _0x2c6513, _0x1fd15b, _0x432ef6 = 0xadd + -0x4d7 * 0x2 + 0x1 * -0x12f, _0x383058 = _0x36f09d[_0x449340(0x259)], _0x17a6ed = this[_0x449340(0x319)], _0x161a31 = this[_0x449340(0x329)]; _0x432ef6 < _0x383058;) { + if (this[_0x449340(0x1e9)] && (this[_0x449340(0x1e9)] = !(-0x657 + 0x4fb + -0x15d * -0x1), + _0x17a6ed[0x22e1 * -0x1 + -0xeb2 + 0x3193] = _0x17a6ed[0x283 * -0xd + -0x141e + 0x34d5], + _0x17a6ed[0x1af3 * 0x1 + -0x14d1 * 0x1 + -0x15 * 0x4a] = _0x17a6ed[-0xc3 * -0x2f + -0x49 * -0x31 + 0x3 * -0x1097] = _0x17a6ed[0x1e34 + -0x1 * -0x1837 + -0x3669] = _0x17a6ed[-0x12e3 + -0x1733 * -0x1 + 0x1 * -0x44d] = _0x17a6ed[0x31 * -0x8b + 0x1643 * 0x1 + 0x45c] = _0x17a6ed[0x87 * -0xd + -0x14d5 + 0x1bb5] = _0x17a6ed[0x1d70 + 0x255a + 0x4 * -0x10b1] = _0x17a6ed[0x1312 + 0x2e6 + 0x15f1 * -0x1] = _0x17a6ed[0x1ed9 + 0x551 * -0x1 + -0x1980] = _0x17a6ed[0x269 * -0x7 + 0x1d8 + 0xf10] = _0x17a6ed[0x1134 + -0x1 * -0x15cd + -0xcfd * 0x3] = _0x17a6ed[0x1229 * 0x1 + 0x23 * -0xe3 + 0xceb] = _0x17a6ed[0x15 * 0x13a + -0x23e3 * 0x1 + 0x1 * 0xa2d] = _0x17a6ed[-0x4 * 0x8ee + -0x1d7d + 0x4142 * 0x1] = _0x17a6ed[0x9d9 + 0x1 * -0x215b + 0x34 * 0x74] = _0x17a6ed[0x1e72 + -0x9 * 0x2b + 0xa8 * -0x2c] = 0x857 + 0x1cef + -0x2546), + _0x462898) { + if (_0x1edc95) { + for (_0x1fd15b = this[_0x449340(0x385)]; _0x432ef6 < _0x383058 && _0x1fd15b < -0x836 + 0x1150 + -0xce * 0xb; ++_0x432ef6) + _0x161a31[_0x1fd15b++] = _0x36f09d[_0x432ef6]; + } else { + for (_0x1fd15b = this[_0x449340(0x385)]; _0x432ef6 < _0x383058 && _0x1fd15b < -0x4 * -0x4e8 + -0xedb * 0x1 + -0x485; ++_0x432ef6) + _0x17a6ed[_0x1fd15b >> 0x11 * 0x5c + 0x1378 * -0x2 + 0x3 * 0xaf2] |= _0x36f09d[_0x432ef6] << _0x4d13bd[0x1 * -0x4f + -0x2036 + -0x1044 * -0x2 & _0x1fd15b++]; + } + } else { + if (_0x1edc95) { + for (_0x1fd15b = this[_0x449340(0x385)]; _0x432ef6 < _0x383058 && _0x1fd15b < 0xc4 * -0x1 + 0x78f * -0x1 + 0x893; ++_0x432ef6) + (_0x2c6513 = _0x36f09d[_0x449340(0x195)](_0x432ef6)) < 0xd * 0x1a + 0x8f + -0x161 ? _0x161a31[_0x1fd15b++] = _0x2c6513 : _0x2c6513 < 0x1b9a + 0x1 * -0x4a9 + 0xef1 * -0x1 ? (_0x161a31[_0x1fd15b++] = -0x1aaa * -0x1 + 0x2511 * -0x1 + -0x23b * -0x5 | _0x2c6513 >> 0x1568 + 0x75a * 0x1 + -0x994 * 0x3, + _0x161a31[_0x1fd15b++] = 0x54a + -0x1 * 0x1a66 + -0x1cd * -0xc | 0x8ad * 0x4 + 0x6a3 * 0x1 + -0x2918 & _0x2c6513) : _0x2c6513 < 0x1807f + -0x1 * -0x44d4 + 0xed53 * -0x1 || _0x2c6513 >= -0x1 * -0x123e4 + 0x1be31 + -0x5 * 0x66d1 ? (_0x161a31[_0x1fd15b++] = 0x1 * 0x11f + 0xffd * -0x1 + 0xfbe | _0x2c6513 >> 0x1 * 0x65 + 0x533 + -0x11c * 0x5, + _0x161a31[_0x1fd15b++] = 0x4 * 0x72b + 0x23c9 * 0x1 + -0x3ff5 | _0x2c6513 >> 0x9 * 0x9 + 0x5 * 0x517 + -0x5 * 0x526 & 0x200b + 0x1 * 0xbe7 + -0x2bb3, + _0x161a31[_0x1fd15b++] = 0x1 * 0x128f + 0x11 * -0x6a + -0xb05 | 0x27 * 0x59 + -0x2126 + 0x1 * 0x13d6 & _0x2c6513) : (_0x2c6513 = -0xb295 + 0x185 * 0x139 + -0x2908 + ((-0x1ec2 * -0x1 + -0x183e + -0xf * 0x2b & _0x2c6513) << 0x2e * 0x3 + 0x14b + 0x1 * -0x1cb | 0x1225 * 0x1 + 0x2376 + -0x319c & _0x36f09d[_0x449340(0x195)](++_0x432ef6)), + _0x161a31[_0x1fd15b++] = -0x969 + 0xc97 + -0x23e | _0x2c6513 >> -0xc19 + -0x14f9 + 0x2124, + _0x161a31[_0x1fd15b++] = 0x202 + 0x1 * 0x187 + -0x309 | _0x2c6513 >> -0x1da3 + -0xa * 0xda + -0x379 * -0xb & 0x2 * -0x117b + -0x7c9 + 0x2afe, + _0x161a31[_0x1fd15b++] = 0x1 * -0x1043 + 0x1185 + -0xc2 | _0x2c6513 >> -0x8c6 + 0x1d87 + -0x1d * 0xb7 & 0x2a * 0xe7 + -0x1 * 0x1869 + -0xd3e, + _0x161a31[_0x1fd15b++] = -0x58e + 0x6 * -0x216 + 0x949 * 0x2 | 0x2474 * -0x1 + 0xa9 * 0xd + 0x1c1e & _0x2c6513); + } else { + for (_0x1fd15b = this[_0x449340(0x385)]; _0x432ef6 < _0x383058 && _0x1fd15b < -0x48a * 0x7 + 0x1993 + -0xd * -0x7f; ++_0x432ef6) + (_0x2c6513 = _0x36f09d[_0x449340(0x195)](_0x432ef6)) < 0x2 * -0x86 + 0x101 * 0x1f + -0x1 * 0x1d93 ? _0x17a6ed[_0x1fd15b >> -0x1297 + 0x71a + 0xb7f] |= _0x2c6513 << _0x4d13bd[-0x1f26 + 0xd17 + 0x1212 & _0x1fd15b++] : _0x2c6513 < 0x11b7 + -0x150d + 0xb56 ? (_0x17a6ed[_0x1fd15b >> -0x231f + -0x8eb + 0x2c0c] |= (0x1ae0 + 0x70b + -0x212b | _0x2c6513 >> -0x87f + -0x23f * 0x5 + -0x13c * -0x10) << _0x4d13bd[0x3fb + 0x8e1 * -0x1 + 0x4e9 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> -0x1d97 + 0x6ad + 0x16ec] |= (0x1d0e + 0xf0a + -0x2b98 | 0xf2c + 0xbb * -0x20 + 0x873 & _0x2c6513) << _0x4d13bd[0x8d9 + -0x17e0 + 0xf0a & _0x1fd15b++]) : _0x2c6513 < -0x8b7d + 0x113bf + 0x4fbe || _0x2c6513 >= -0xc9c0 + 0x16d4a * 0x1 + 0x3c76 ? (_0x17a6ed[_0x1fd15b >> 0x2 * 0x74f + 0x1533 + -0x23cf] |= (-0x7 * 0x28 + -0x2 * -0x1bb + -0x17e | _0x2c6513 >> 0x1d5c + 0x1e6c + -0x1 * 0x3bbc) << _0x4d13bd[0x12 * 0x119 + 0x4 * -0x1c6 + -0xca7 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> -0x26 * 0x2e + -0x12aa * 0x2 + -0x2c2a * -0x1] |= (0x245a + -0x1aa1 + -0x1 * 0x939 | _0x2c6513 >> 0x1fa6 + -0x735 + -0x2f * 0x85 & -0x5d3 + -0x1eb2 * -0x1 + -0x18a0) << _0x4d13bd[0xa40 + 0x1f49 + -0x84e * 0x5 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> 0x21 * -0xa4 + -0x139 * -0x5 + 0x1 * 0xf09] |= (-0x1434 + 0x5 * -0x35 + 0x15bd | -0xc2d + 0x2655 + 0x25b * -0xb & _0x2c6513) << _0x4d13bd[0x76 * 0x26 + -0x1 * 0x8ad + 0x1c4 * -0x5 & _0x1fd15b++]) : (_0x2c6513 = 0x12e * -0xbf + 0x1cc8a + 0x8c * 0x26 + ((-0x3f5 * 0x3 + -0xfe8 + 0x1fc6 & _0x2c6513) << 0x29a + 0x13a9 + -0x1639 | 0x1 * -0x1dd7 + 0x6a5 + 0x1 * 0x1b31 & _0x36f09d[_0x449340(0x195)](++_0x432ef6)), + _0x17a6ed[_0x1fd15b >> 0xd * 0x61 + 0xcb * -0x1e + 0x12df] |= (0x1 * -0xee4 + 0x2 * -0x767 + -0x6 * -0x51b | _0x2c6513 >> 0x1 * 0x1a4d + -0x3 * 0x149 + -0x1660) << _0x4d13bd[-0x1c70 + -0x1 * -0x57b + 0x1 * 0x16f8 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> 0xef1 + -0xba0 + -0x1 * 0x34f] |= (-0xa3 * -0x3 + 0x26af + 0x140c * -0x2 | _0x2c6513 >> -0x518 + 0x1 * -0xc26 + 0x114a & -0x25 * -0xd1 + -0x1130 * -0x1 + -0x2f26) << _0x4d13bd[-0x73 * -0xb + -0x17d * 0x1 + 0x1 * -0x371 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> 0x3 * -0x107 + 0x1dbd + -0x1aa6] |= (-0x151c + 0x16 * -0x191 + 0x3812 | _0x2c6513 >> 0xded * -0x1 + 0x45 + 0xdae & -0x2af * -0x7 + -0x49 + 0x1241 * -0x1) << _0x4d13bd[-0x19a2 + -0x7d2 + 0x2177 & _0x1fd15b++], + _0x17a6ed[_0x1fd15b >> -0x180e + 0x13d2 + -0x1 * -0x43e] |= (-0x9 * -0x1f5 + -0xf1 * 0xd + -0x6 * 0xd0 | 0x7f * 0x2f + 0x1 * 0x188c + -0x986 * 0x5 & _0x2c6513) << _0x4d13bd[0x1cf9 + 0xb * -0xe7 + -0x1309 & _0x1fd15b++]); + } + } + this['lastByteIndex'] = _0x1fd15b, + this[_0x449340(0x25b)] += _0x1fd15b - this['start'], + _0x1fd15b >= -0xa42 + 0x2 * -0x11c3 + 0x2e08 ? (this[_0x449340(0x385)] = _0x1fd15b - (-0x2b * 0xe2 + 0xa55 + 0xd * 0x225), + this[_0x449340(0x2ba)](), + this[_0x449340(0x1e9)] = !(0xc54 + -0x1 * -0xfa3 + -0x1 * 0x1bf7)) : this[_0x449340(0x385)] = _0x1fd15b; + } + return this[_0x449340(0x25b)] > -0x14462193f + -0xd7facb0 + -0x2 * -0x128f0e2f7 && (this['hBytes'] += this['bytes'] / (0x73e4b4e0 * 0x3 + -0x3fc * -0x40b5a1 + -0x486a * 0x4d396) << -0x1fbb * 0x1 + -0x1623 + 0x35de, + this[_0x449340(0x25b)] = this[_0x449340(0x25b)] % (0x7d756c * -0x1e1 + -0x3b6aede * -0x2 + 0x278 * 0xc42bda)), + this; + } + } + , + _0x22f902[_0x2db296(0x344)][_0x2db296(0x1d9)] = function () { + var _0x8b694 = _0x2db296; + if (!this[_0x8b694(0x182)]) { + this[_0x8b694(0x182)] = !(0x1038 + 0x1 * -0x247f + 0x1d * 0xb3); + var _0x52f24a = this[_0x8b694(0x319)] + , _0x21cbd8 = this[_0x8b694(0x32e)]; + _0x52f24a[_0x21cbd8 >> 0x4cd * 0x4 + -0x1 * -0x1511 + -0x2843] |= _0x146907[0xb2e + -0x10 * -0xbf + -0x41 * 0x5b & _0x21cbd8], + _0x21cbd8 >= 0x8fe * 0x3 + -0x231c + -0x42d * -0x2 && (this['hashed'] || this['hash'](), + _0x52f24a[0x666 + 0x1432 + -0x1a98] = _0x52f24a[0x24cd + 0x1e1 * 0x14 + 0x19 * -0x2f9], + _0x52f24a[-0x1f46 + 0x1 * 0x1015 + 0xf41] = _0x52f24a[0xbe8 + 0x1a96 + 0xa7 * -0x3b] = _0x52f24a[-0xb * 0x14d + -0x1 * 0x59 + -0xeaa * -0x1] = _0x52f24a[-0x1f1 * -0x3 + -0x1d69 + 0x1799] = _0x52f24a[0xa7b * -0x2 + 0xbb1 * -0x1 + -0x20ab * -0x1] = _0x52f24a[-0x11dc + -0xaa + 0x2f * 0x65] = _0x52f24a[-0x1 * 0x1f99 + -0x1e53 * 0x1 + 0x3df2] = _0x52f24a[-0x103 * -0x5 + -0x2451 + 0x1f49] = _0x52f24a[0x21e6 + -0xf9 * 0x1 + -0x1 * 0x20e5] = _0x52f24a[0x88a + -0x1bea + -0x1 * -0x1369] = _0x52f24a[0xf4d + -0x177d * -0x1 + -0x26c0] = _0x52f24a[0x1e22 + 0x655 * 0x3 + -0x3116] = _0x52f24a[-0x196b + 0x19b * -0x10 + -0x2d * -0x123] = _0x52f24a[-0x1 * -0x228d + 0x1cfc + -0x3f7c] = _0x52f24a[-0x13b4 + -0x5bc + 0x197e] = _0x52f24a[0x1e68 + 0x1209 + -0x3062] = 0x26a1 + -0x124 * -0x20 + -0x4b21), + _0x52f24a[0xbb3 + 0x1210 + -0x1db5] = this[_0x8b694(0x25b)] << -0x15 * -0x1d7 + 0x2 * -0xc2a + -0xe4c, + _0x52f24a[-0x19e2 + 0x28 * 0x55 + 0xca9] = this[_0x8b694(0x1cd)] << -0x178 * 0x6 + 0xa67 + 0x194 * -0x1 | this[_0x8b694(0x25b)] >>> 0x1a65 + -0x18 * 0x44 + -0x16c * 0xe, + this['hash'](); + } + } + , + _0x22f902[_0x2db296(0x344)][_0x2db296(0x2ba)] = function () { + var _0x2f0149 = _0x2db296, _0x227f23, _0x3952af, _0x2a0c94, _0x39eb64, _0x2fd641, _0x113678, + _0x128d32 = this[_0x2f0149(0x319)]; + this['first'] ? _0x3952af = ((_0x3952af = ((_0x227f23 = ((_0x227f23 = _0x128d32[0xe * 0xd4 + 0x18b * -0x13 + 0x11b9] - (0x1ffe472d + -0x1 * 0x229b4beb + 0x8a3acdb * 0x5)) << -0xe3 + 0x794 * 0x5 + 0x2 * -0x127d | _0x227f23 >>> -0x2125 + 0x21d4 + -0x96) - (-0xa42713c + -0x131 * -0xc4faf + 0xbc9d634) << -0x76 + -0x13ee + 0x1464) ^ (_0x2a0c94 = ((_0x2a0c94 = (-(0x1d99 * -0x236f + 0xdf * -0x44be3 + 0x18092f8b) ^ (_0x39eb64 = ((_0x39eb64 = (-(-0xfc * -0xaf0303 + 0x524d2f32 + -0xcedcd * 0xbb4) ^ 0x1 * 0x7b470ebd + 0x1 * 0x4d64e86c + -0x51347fb2 & _0x227f23) + _0x128d32[-0x2684 + 0x1f4e * -0x1 + 0x8f * 0x7d] - (0x563f0e * -0x16 + 0x59003ae + 0x46faddd * 0x2)) << -0x684 + 0xa * 0x289 + -0x1a * 0xb9 | _0x39eb64 >>> -0x1116 * -0x2 + 0xee9 * -0x1 + -0x132f * 0x1) + _0x227f23 << -0x2687 * -0x1 + 0xfe3 + -0x1 * 0x366a) & (-(0x1a9157f + 0x1e0df645 + -0xf84b74d) ^ _0x227f23)) + _0x128d32[0x144d + 0x15b * -0x18 + 0xc3d] - (-0x1 * 0x5504eeba + 0x76f3f96f * 0x1 + -0x2 * -0x109ad3b9)) << 0x1af4 + -0x12cb + -0x818 | _0x2a0c94 >>> 0x7aa * 0x1 + -0x1994 * -0x1 + -0x212f) + _0x39eb64 << -0x9fc + -0x14 * 0xfa + -0x1d84 * -0x1) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x2a * 0x97 + 0x18c8 + 0x1 * 0x1] - (-0x992 * 0x9361 + 0x23b1c4 + 0x1 * 0x53d34a17)) << -0x7 * 0x1b1 + -0x234d + -0x136 * -0x27 | _0x3952af >>> -0x113f * 0x1 + 0x5 * -0x7f + 0x1cc * 0xb) + _0x2a0c94 << -0x4f0 + -0x1 * -0x1f3d + -0x1a4d : (_0x227f23 = this['h0'], + _0x3952af = this['h1'], + _0x2a0c94 = this['h2'], + _0x3952af = ((_0x3952af += ((_0x227f23 = ((_0x227f23 += ((_0x39eb64 = this['h3']) ^ _0x3952af & (_0x2a0c94 ^ _0x39eb64)) + _0x128d32[0x3a5 + -0x1684 + 0x12df * 0x1] - (0x2b26bdc2 + -0x1 * -0x4468952b + -0x5773 * 0xcfc7)) << -0x1805 + -0x18cb + 0x30d7 | _0x227f23 >>> 0x21ec * -0x1 + -0x53c * -0x1 + 0x1cc9) + _0x3952af << 0xfe0 + 0x16a4 + -0x2684) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x3952af ^ (_0x39eb64 = ((_0x39eb64 += (_0x2a0c94 ^ _0x227f23 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x1 * -0x480 + 0x1 * 0x112f + -0xcae] - (0x1e4d0bcf + 0x1be * -0xbfe2b + 0xdd00bc5)) << -0x26fe + -0x462 + 0x2b6c | _0x39eb64 >>> -0x1 * 0x251 + -0xd16 + 0xf7b) + _0x227f23 << 0x15be * 0x1 + 0x2e3 * 0x8 + -0x2cd6) & (_0x227f23 ^ _0x3952af)) + _0x128d32[-0xa5 * -0x1d + 0x5 * -0x105 + 0x2f * -0x4a] + (0x15 * 0x27c2519 + -0x1cb83878 + 0x654cf23 * 0x2)) << -0x9d5 + -0x221e + -0xeac * -0x3 | _0x2a0c94 >>> -0x718 * 0x2 + -0x5 * -0x556 + -0x425 * 0x3) + _0x39eb64 << 0x223 * -0xb + -0x92 * 0x22 + 0x2ae5) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x141c + 0x376 + 0x10a9] - (0x29f06346 + 0x14e90f87 * -0x3 + -0x3 * -0x1baefecb)) << 0x103a + -0x24f4 + 0x14d0 | _0x3952af >>> -0x16a5 + -0xe92 + 0xbb * 0x33) + _0x2a0c94 << 0x25a2 * 0x1 + 0x1a76 + -0x4018 * 0x1), + _0x3952af = ((_0x3952af += ((_0x227f23 = ((_0x227f23 += (_0x39eb64 ^ _0x3952af & (_0x2a0c94 ^ _0x39eb64)) + _0x128d32[-0x2552 + 0x577 + 0x1fdf] - (-0xec5a4e1 + 0x23fe4 * -0x78c + -0x9e * -0x447abf)) << -0x46e + 0x19b5 + -0x8 * 0x2a8 | _0x227f23 >>> 0x100e + 0xd63 + -0x1d58) + _0x3952af << -0x237d + 0x1955 * -0x1 + 0x3cd2) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x3952af ^ (_0x39eb64 = ((_0x39eb64 += (_0x2a0c94 ^ _0x227f23 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[-0x203 + 0xd54 + -0x2d3 * 0x4] + (0x1 * -0x20e3c675 + 0x8ef8e325 + 0x4e53fd * -0x7e)) << -0x9e3 * 0x2 + 0x2 * -0x8fd + 0x25cc | _0x39eb64 >>> -0x7bd + 0x2 * -0x844 + 0x1859 * 0x1) + _0x227f23 << -0x3dc + -0x122e + 0x326 * 0x7) & (_0x227f23 ^ _0x3952af)) + _0x128d32[-0xbfd + -0x1 * 0xba3 + 0x17a6] - (-0x93f8bbe0 + -0x43dcbb55 + 0x1 * 0x12fa53122)) << 0x185 * -0x10 + -0x76c + 0x1fcd | _0x2a0c94 >>> 0x19b + 0x51 * 0x6d + 0x171 * -0x19) + _0x39eb64 << 0x971 + 0x1958 + -0x5 * 0x6f5) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x978 * -0x3 + 0x315 + -0x2 * 0xfbb] - (-0x99026a + 0xa6ba6 * 0x47 + 0xc4927 * 0x9)) << 0x212 + 0x1 * 0x4c3 + 0xb * -0x9d | _0x3952af >>> -0x152a + 0x1 * -0x17b4 + -0x77c * -0x6) + _0x2a0c94 << -0xa7 * 0x1f + 0x2379 + -0xf40, + _0x3952af = ((_0x3952af += ((_0x227f23 = ((_0x227f23 += (_0x39eb64 ^ _0x3952af & (_0x2a0c94 ^ _0x39eb64)) + _0x128d32[-0x251a + -0x14 * -0x18d + 0x61e] + (0xb19f3051 + -0xb487bda1 * 0x1 + 0x6c692628)) << 0x1cc + -0x171a + 0x1555 | _0x227f23 >>> 0x1 * -0x223b + -0x282 + 0x24d6) + _0x3952af << 0x1453 + 0x1aee + -0x2f41) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x3952af ^ (_0x39eb64 = ((_0x39eb64 += (_0x2a0c94 ^ _0x227f23 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[-0x1c63 + -0x1a88 + 0x36f4] - (0x334017ba + 0x1 * -0x90d7af8d + -0x86 * -0x191cf86)) << -0x1db2 + 0x1 * 0x10b1 + 0xd0d | _0x39eb64 >>> -0x4 * -0x20 + -0xd81 * -0x1 + -0xded) + _0x227f23 << -0x2b0 + 0x4 * -0x5b0 + -0x94 * -0x2c) & (_0x227f23 ^ _0x3952af)) + _0x128d32[-0x1 * -0xf25 + 0xe75 * 0x1 + -0x1d90] - (-0x5 * 0x4eb + 0x12ff3 * -0x1 + 0x1 * 0x1ecd9)) << -0xa43 + 0x1eed + 0x1 * -0x1499 | _0x2a0c94 >>> -0x1878 + -0x92b + 0x21b2) + _0x39eb64 << -0x1 * 0x2515 + -0x8c8 + -0x3b * -0xc7) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[0x80b * -0x4 + 0xff5 + 0x1042] - (-0x2d479161 * 0x5 + -0x139 * 0x33685d + 0x197e398dc)) << -0x178 + -0x22bf + 0x1 * 0x244d | _0x3952af >>> 0x15cc + -0x26b6 + -0x5 * -0x364) + _0x2a0c94 << 0x293 * -0x2 + 0x18f7 + -0x13d1, + _0x3952af = ((_0x3952af += ((_0x227f23 = ((_0x227f23 += (_0x39eb64 ^ _0x3952af & (_0x2a0c94 ^ _0x39eb64)) + _0x128d32[-0x1225 + -0xa * -0x348 + 0x13 * -0xc5] + (-0x36f3e05c + 0x4445538c + 0x5e3e9df2)) << -0x1b3 * -0x3 + 0x2702 + -0x2c14 | _0x227f23 >>> -0x2 * 0x1006 + 0x25 * 0xc5 + 0x3ac) + _0x3952af << 0x2501 + 0x18fb + 0xf7f * -0x4) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x3952af ^ (_0x39eb64 = ((_0x39eb64 += (_0x2a0c94 ^ _0x227f23 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[-0x13cb + -0xcd4 + 0x20ac] - (-0x24 * 0x1e9ae6 + -0xa0ba1 * 0x72 + -0x18cc1 * -0x737)) << 0x702 + 0x2b * -0x35 + 0x1f1 | _0x39eb64 >>> -0x15dd + -0x22eb * -0x1 + 0x1 * -0xcfa) + _0x227f23 << 0x224b * 0x1 + 0x2f * 0x33 + 0x4 * -0xaea) & (_0x227f23 ^ _0x3952af)) + _0x128d32[0xec7 * -0x1 + -0x61 * -0x25 + 0xd0] - (0x48e87164 + 0x613cb841 + -0x509e6d33)) << -0x1c0d + 0x5d0 + 0x164e | _0x2a0c94 >>> 0x156a * 0x1 + 0x16e7 + -0x2c42) + _0x39eb64 << -0x1 * -0x19ec + 0x8b4 + -0x22a0) & (_0x39eb64 ^ _0x227f23)) + _0x128d32[0x1df0 + -0x2365 + -0x1 * -0x584] + (0x34eb7 * 0x25f0 + -0x3 * -0x1a616a08 + -0x82ea7487)) << -0x3 * 0xc8c + 0x1fc2 * -0x1 + -0x457c * -0x1 | _0x3952af >>> -0x2464 + 0x2705 + -0xdd * 0x3) + _0x2a0c94 << -0x504 + 0x2 * -0x5f9 + 0x10f6, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ _0x2a0c94 & ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ _0x39eb64 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x1b4d + 0x2d4 * 0x5 + -0x2970] - (0x30139 * 0x8d + -0x738f7c2 + -0x1 * -0xf7325fb)) << 0x1acc + -0x13e5 + -0x6e2 | _0x227f23 >>> 0x7 * 0x1 + -0x10e9 + 0x10fd * 0x1) + _0x3952af << -0x18fd + 0x10cc + 0x831) ^ _0x3952af)) + _0x128d32[0x2 * 0x131e + -0x2511 + 0x1 * -0x125] - (-0x1f * -0x3953eea + -0x4 * -0x12786c0f + -0x793501d2)) << 0x210d + 0x11 * -0x241 + 0x54d * 0x1 | _0x39eb64 >>> -0x4 * -0x265 + -0x292 + 0xfd * -0x7) + _0x227f23 << -0x200b + -0xa * 0xff + -0x1 * -0x2a01) ^ _0x227f23 & ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ _0x3952af & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x92 * -0x13 + 0x6b0 + -0x117b] + (-0x4be8e758 + -0x1a3c * -0x1e38f + 0x40b96625)) << -0x1 * 0x13d1 + 0x22da + -0xefb | _0x2a0c94 >>> 0x166d + -0x955 + -0xd06) + _0x39eb64 << -0x13af * 0x1 + -0x1 * -0x1307 + 0xa8) ^ _0x39eb64)) + _0x128d32[-0x547 + -0x1 * 0x1c0b + -0x2152 * -0x1] - (0x7 * 0x14d828a + 0x7d4a6f4 + -0x3 * -0x1c75534)) << 0x1bb9 * -0x1 + -0x26ee + 0x42bb * 0x1 | _0x3952af >>> 0x8 * 0x296 + 0x1ce9 * 0x1 + -0x318d) + _0x2a0c94 << 0x897 * 0x4 + 0x2ca + 0x3 * -0xc62, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ _0x2a0c94 & ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ _0x39eb64 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x107f * -0x1 + -0x1299 + -0x59 * -0x65] - (0x1079c263 + -0x1889 * -0x11026 + -0xbe0716)) << -0x260c + -0x1c23 + 0x2 * 0x211a | _0x227f23 >>> 0x22b * 0x1 + -0x16f3 + -0x14e3 * -0x1) + _0x3952af << 0x183b + -0x5 * -0x72a + -0x3c0d * 0x1) ^ _0x3952af)) + _0x128d32[0x4 * 0x86b + 0x1064 + -0x3206] + (-0x1177f56 + -0x27de7f4 + -0x540d * -0x11d1)) << 0x167 * 0x5 + -0x5 * 0x531 + 0x12fb * 0x1 | _0x39eb64 >>> 0x244b + -0x13 * 0x139 + -0x9 * 0x171) + _0x227f23 << -0xf6d + -0x1f9e + 0x2f0b * 0x1) ^ _0x227f23 & ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ _0x3952af & (_0x39eb64 ^ _0x227f23)) + _0x128d32[0x187 * 0x4 + 0x1e69 + -0x2476] - (-0x10191ede + -0xd72a9b7 + 0x44e9e214)) << 0x90 * 0xc + -0x2 * 0x12 + -0x68e | _0x2a0c94 >>> 0x16 * 0x1c5 + 0x137b + 0x1d * -0x203) + _0x39eb64 << -0x14fa + 0x43 * -0x74 + -0x3356 * -0x1) ^ _0x39eb64)) + _0x128d32[-0xf4a + -0x1992 + 0x4 * 0xa38] - (-0xae6496c + 0x21ece5a8 + 0x12567fc)) << 0x1ac8 + -0x1ed2 + 0x3e * 0x11 | _0x3952af >>> 0x1268 + 0x100d + 0x1 * -0x2269) + _0x2a0c94 << 0x1817 * -0x1 + 0x239b + -0xb84 * 0x1, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ _0x2a0c94 & ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ _0x39eb64 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x5 * 0x19c + 0xef3 + -0x16f6] + (0x39d62e7 + 0xb397e9b + 0x130aec64)) << 0x11 * 0x21f + -0x1c66 + -0x7a4 | _0x227f23 >>> -0xf86 + 0x2 * -0x4e5 + 0x879 * 0x3) + _0x3952af << 0x258a + 0x19ec + -0x3f76) ^ _0x3952af)) + _0x128d32[0x914 + 0xd73 + 0x20b * -0xb] - (-0xab52d21 + -0x845d9 * 0x1f7 + 0x57bf62aa)) << -0x1 * 0x2f + -0x1280 + 0x12b8 | _0x39eb64 >>> 0x2e * -0x9 + 0x85 * 0x4b + -0x2542) + _0x227f23 << -0x151 * 0x9 + 0x20da + -0x1501) ^ _0x227f23 & ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ _0x3952af & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x84 * 0x39 + 0x57f + 0x2fd * 0x8] - (0x852a967 + 0xa4943f2 + -0x770fae0)) << -0x5 * -0x722 + 0x1 * -0x155f + -0xe3d | _0x2a0c94 >>> 0x171b + -0x2709 * 0x1 + 0x8 * 0x200) + _0x39eb64 << -0x267 + 0x6fb * -0x4 + -0x7 * -0x455) ^ _0x39eb64)) + _0x128d32[0xd73 + -0xe3f + 0xd4] + (-0x882b6c12 + 0x26ddcab5 + 0x9d1 * 0x10fa2a)) << -0x1 * -0xb31 + 0xa * -0x175 + 0x375 | _0x3952af >>> 0x106 * 0x26 + 0x2e9 + -0x29c1) + _0x2a0c94 << -0x198a + 0xb33 * -0x1 + 0x24bd, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ _0x2a0c94 & ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ _0x39eb64 & (_0x3952af ^ _0x2a0c94)) + _0x128d32[0x1d4f + -0x10ae + -0xc94] - (0x76d313f * 0xd + -0x5 * -0x7a635fc + -0x2 * 0x18573b92)) << 0x612 + -0x1 * 0x40 + -0x5cd | _0x227f23 >>> -0x12e9 * 0x2 + -0x1 * -0x19e7 + -0x1 * -0xc06) + _0x3952af << 0x10db + 0x10b5 * 0x1 + -0x3 * 0xb30) ^ _0x3952af)) + _0x128d32[-0x796 + -0x13b9 + 0x1b51] - (-0x17e5b * 0x29 + 0x48058e0 + -0x132c045)) << 0x26d * -0x2 + 0x4 * -0x34e + -0x5 * -0x39f | _0x39eb64 >>> 0x198d * -0x1 + -0x25d4 + -0xa94 * -0x6) + _0x227f23 << 0x206d + -0xd3f + -0x132e) ^ _0x227f23 & ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ _0x3952af & (_0x39eb64 ^ _0x227f23)) + _0x128d32[-0x1f * 0x95 + 0x6 * -0x3dc + -0x3 * -0xdbe] + (-0x2 * 0x5ec874bd + -0x4537c41d * -0x1 + 0xdfc82836)) << 0x1336 + -0x12bc + -0x6c | _0x2a0c94 >>> 0x119 * -0x1d + -0x3 * 0xc41 + 0x44aa * 0x1) + _0x39eb64 << 0xe * -0x29c + 0x4ea + 0x1f9e) ^ _0x39eb64)) + _0x128d32[0x985 + -0x1177 + 0x1 * 0x7fe] - (-0x3d273af + -0x1 * -0x72611590 + 0x4471195)) << 0x112 * 0x15 + -0xa30 + -0x412 * 0x3 | _0x3952af >>> 0x1 * 0xe74 + 0x6 * 0x1f7 + -0x1a32) + _0x2a0c94 << 0xf1 + -0xe43 * -0x2 + -0x1d77 * 0x1, + _0x3952af = ((_0x3952af += ((_0x113678 = (_0x39eb64 = ((_0x39eb64 += ((_0x2fd641 = _0x3952af ^ _0x2a0c94) ^ (_0x227f23 = ((_0x227f23 += (_0x2fd641 ^ _0x39eb64) + _0x128d32[-0x87 * -0x1 + -0x1 * -0x1626 + -0x16a8] - (-0x3ca72 + -0xac995 + 0x145ac5)) << -0x1231 + -0x1 * -0xb05 + 0x730 | _0x227f23 >>> 0x20dd * 0x1 + -0x16b8 + -0xa09) + _0x3952af << 0x1 * 0xe63 + 0xa34 * -0x2 + 0x605)) + _0x128d32[-0x9a * -0x23 + 0x25fd + -0x3b03] - (0xb06c444e + 0x2d68c * 0x1574 + 0x9 * -0xcf8fe07)) << 0x1f60 * -0x1 + -0x1fc2 + -0x1 * -0x3f2d | _0x39eb64 >>> 0x1c0e + 0x7c * -0x3b + 0x9b * 0x1) + _0x227f23 << -0x1 * 0x7db + 0x143d * 0x1 + -0x2 * 0x631) ^ _0x227f23) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x113678 ^ _0x3952af) + _0x128d32[0x1315 + 0x22f5 + -0x35ff] + (0x1 * -0xc1ee2861 + 0x5f64a13c + 0xd026e847)) << 0x10b * 0x15 + 0x9e2 + -0x1fb9 | _0x2a0c94 >>> 0x213e + -0x11 * -0x93 + -0x1 * 0x2af1) + _0x39eb64 << -0x4 * 0x7c8 + 0x1 * 0x33d + 0x1be3)) + _0x128d32[0x18c5 * 0x1 + 0x94d * -0x3 + 0x2 * 0x198] - (0xbbbcc3 + 0x1509 * -0x2a32 + 0x4d6a0f3)) << 0x12b5 * 0x1 + -0xc * 0xa2 + -0xb06 | _0x3952af >>> -0x596 * 0x5 + 0x2 * -0x655 + 0x28a1) + _0x2a0c94 << 0x5f * -0x36 + 0x2b1 * 0x4 + 0x946, + _0x3952af = ((_0x3952af += ((_0x113678 = (_0x39eb64 = ((_0x39eb64 += ((_0x2fd641 = _0x3952af ^ _0x2a0c94) ^ (_0x227f23 = ((_0x227f23 += (_0x2fd641 ^ _0x39eb64) + _0x128d32[-0xaa9 + 0x6 * 0x54e + 0x7e * -0x2b] - (-0x1309d * -0x67b3 + -0x8e97ecd6 + 0x6e74d9cb)) << -0x1 * 0x1169 + -0x1c3f + 0x2dac | _0x227f23 >>> -0x12f * 0x1d + 0x178 + 0x20f7) + _0x3952af << -0x1554 + 0x2 * -0x136e + 0x9 * 0x6b0)) + _0x128d32[0x8bd * 0x4 + 0x993 + -0x2c83] + (-0x1ec1ce29 + 0x12d9d323 + 0x57c6caaf)) << 0x2f9 * 0x1 + 0x1a55 + -0x1d43 | _0x39eb64 >>> -0xdf6 + 0x94 * 0x2 + 0xce3) + _0x227f23 << -0xd5 + -0x197e + 0x1a53) ^ _0x227f23) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x113678 ^ _0x3952af) + _0x128d32[0x697 * -0x1 + -0x617 + 0xcb5] - (0x2 * -0x11de459 + 0xaabba88 + 0xd4c2ca)) << -0x1198 * 0x1 + -0x42c * 0x3 + 0x2 * 0xf16 | _0x2a0c94 >>> 0x28e * 0x2 + 0x1547 + -0x125 * 0x17) + _0x39eb64 << 0x45 * 0x21 + -0x14 * -0x7 + 0x971 * -0x1)) + _0x128d32[-0x1 * -0x118b + 0x1f4 + -0x1375] - (0x2 * -0x34ed62bd + -0x6d39a445 + -0x11854ad4f * -0x1)) << -0x27f * -0x1 + -0x4 * 0x31a + 0xa00 | _0x3952af >>> -0x319 + -0x1 * -0x247d + -0x215b * 0x1) + _0x2a0c94 << -0x1bc7 * 0x1 + 0x1 * -0x4f7 + 0x20be, + _0x3952af = ((_0x3952af += ((_0x113678 = (_0x39eb64 = ((_0x39eb64 += ((_0x2fd641 = _0x3952af ^ _0x2a0c94) ^ (_0x227f23 = ((_0x227f23 += (_0x2fd641 ^ _0x39eb64) + _0x128d32[-0x1 * -0x1eb5 + -0x1ba5 + -0x3 * 0x101] + (0x338d6ddd + 0x1 * 0x3db4c799 + -0x48a6b6b0)) << 0x126a + 0x1 * 0x407 + -0x166d * 0x1 | _0x227f23 >>> -0x1f97 + -0x2566 * -0x1 + 0x5b3 * -0x1) + _0x3952af << 0x2175 + 0x2187 * 0x1 + -0x42fc)) + _0x128d32[0x1701 + 0x1fb6 + 0x36b7 * -0x1] - (0x1e38ad99 + -0x3 * -0x1727b1c + -0xd3146e7)) << 0x15 * -0x18d + -0x4 * -0x75e + 0x324 | _0x39eb64 >>> -0x7f8 + 0x1 * 0xc1 + 0x74c) + _0x227f23 << -0x86 * 0x27 + -0x1 * 0x1a93 + -0x17 * -0x20b) ^ _0x227f23) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x113678 ^ _0x3952af) + _0x128d32[0x1 * -0x1c6f + -0x10f0 + -0x4a * -0x9d] - (-0x353a5 * 0xce7 + 0x510a05c * 0xe + 0xf144056)) << 0x2c * -0x8f + -0x20 * -0x11b + 0x2af * -0x4 | _0x2a0c94 >>> -0x167c * -0x1 + 0x1bef * -0x1 + 0x583) + _0x39eb64 << -0x3 * 0x3b + 0x1555 + 0xa52 * -0x2)) + _0x128d32[0x35 * -0x27 + -0x1 * 0xdb8 + -0x1 * -0x15d1] + (0x2e39f97 * 0x1 + -0x1 * 0x58f09b4 + 0x7338722)) << 0x1d3 * -0x6 + 0x1 * 0x171b + 0x406 * -0x3 | _0x3952af >>> 0x3c1 + -0x1cbf + 0x1907) + _0x2a0c94 << 0x1b73 + 0x1d44 + 0x38b7 * -0x1, + _0x3952af = ((_0x3952af += ((_0x113678 = (_0x39eb64 = ((_0x39eb64 += ((_0x2fd641 = _0x3952af ^ _0x2a0c94) ^ (_0x227f23 = ((_0x227f23 += (_0x2fd641 ^ _0x39eb64) + _0x128d32[0x30b * 0x2 + 0xa52 + -0x105f] - (0x131 * 0x25e655 + -0xe61e * 0x48b + 0xe5c * -0x33bb)) << 0x17a1 + -0x26 * 0x3f + 0x3 * -0x4c1 | _0x227f23 >>> 0x1079 + -0x13 * 0xf5 + 0x1d2) + _0x3952af << -0xf27 + -0x1 * -0x21d1 + 0x955 * -0x2)) + _0x128d32[0x20e * -0x3 + -0x4a7 * 0x8 + 0x2b6e] - (0x1 * 0x79f0ea3 + -0x184cea1d + -0x11d * -0x2590d9)) << 0x12e3 + 0x12b * -0x2 + -0x1082 | _0x39eb64 >>> -0x485 * 0x2 + -0x61 * 0x1a + 0x12f9) + _0x227f23 << 0x1 * -0x34c + -0x6 * 0x4dc + -0x1 * -0x2074) ^ _0x227f23) ^ (_0x2a0c94 = ((_0x2a0c94 += (_0x113678 ^ _0x3952af) + _0x128d32[-0x3e3 + 0x22d * -0x2 + 0x84c] + (-0xdb8446c + -0x1 * -0x5cb3a83 + 0x278f86e1)) << -0x7 * -0x3f1 + 0x17f * 0x7 + -0x2600 | _0x2a0c94 >>> -0x47e + 0xce * 0x2 + 0x2 * 0x179) + _0x39eb64 << 0x1 * 0x9fe + 0x1 * 0x17f5 + -0x21f3)) + _0x128d32[-0x18 * -0x18e + -0x1dff + -0x74f * 0x1] - (0x12fee507 + -0x1 * 0x6a5c4769 + -0x1 * -0x92b10bfd)) << 0x5 * -0x52a + -0x1e75 + 0xde * 0x41 | _0x3952af >>> 0x116b + -0x1 * 0x9ed + 0x53 * -0x17) + _0x2a0c94 << 0x264e * -0x1 + -0x11fd + 0x384b, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ (_0x3952af | ~_0x39eb64)) + _0x128d32[-0x1524 + 0x65 * 0x5b + 0x1 * -0xec3] - (0x63c0c3 * 0x1f + 0x11a61fd * -0xc + -0xcff1dfb * -0x1)) << 0x36c + -0x4eb * 0x5 + 0x1531 | _0x227f23 >>> -0x941 * -0x2 + -0x1b * -0x9b + -0x22c1) + _0x3952af << 0x1862 + -0x1359 + -0x509) | ~_0x2a0c94)) + _0x128d32[-0x26d + -0x6 * 0xbd + 0x6e2] + (-0x690c7 * 0xd6d + 0x2c437c8e * 0x1 + -0x3786a162 * -0x2)) << 0x54a + -0x1bd3 + 0x1693 | _0x39eb64 >>> 0x1076 + 0xa0d + -0x1a6d) + _0x227f23 << -0x1d37 + 0x1 * 0x14fb + 0x83c) ^ ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ (_0x39eb64 | ~_0x3952af)) + _0x128d32[0x190f * -0x1 + -0x1503 + 0x2e20] - (0x12aa3 * 0x80ad + 0x5 * 0x123e2fa3 + -0x9ce661fd)) << -0x204a + -0x22cf + 0x4328 | _0x2a0c94 >>> 0x1 * 0xcac + -0x1bbf * -0x1 + -0x142d * 0x2) + _0x39eb64 << -0x11b4 + 0x10b1 * 0x1 + -0x25 * -0x7) | ~_0x227f23)) + _0x128d32[0x1 * -0x10d + 0x5f4 + -0x19 * 0x32] - (0x2181582 + -0x55ca10e + 0x6b0eb53)) << -0xd3d * 0x1 + -0x1dd7 + -0x1 * -0x2b29 | _0x3952af >>> 0x676 + 0xa84 * 0x1 + -0x10ef) + _0x2a0c94 << -0x2 * 0xc83 + 0x15 * -0x10c + -0x1781 * -0x2, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ (_0x3952af | ~_0x39eb64)) + _0x128d32[0x2 * -0x527 + 0x246c + -0x8e * 0x2f] + (0x62359ef1 + 0xc3bd213a + -0xc0976668)) << -0x22fa * 0x1 + 0x2af + 0x2051 | _0x227f23 >>> -0x92b + -0x4b4 * 0x1 + 0xdf9) + _0x3952af << 0x494 + -0x1902 + -0x1 * -0x146e) | ~_0x2a0c94)) + _0x128d32[0x1d8 * 0x1 + 0x1 * -0x5ce + 0x3f9] - (-0x324 * -0x49722 + 0xde * 0x31ad3b + -0x1bba29be * -0x2)) << 0x941 + -0x1651 + -0x4e * -0x2b | _0x39eb64 >>> 0x2 * -0xc2 + -0x112a + 0x12c4) + _0x227f23 << 0x1369 + -0x1261 + -0x3 * 0x58) ^ ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ (_0x39eb64 | ~_0x3952af)) + _0x128d32[0x10c5 + 0x78f + 0x1 * -0x184a] - (-0x3b62a * 0x6 + 0x15245b + 0x89612 * 0x2)) << 0x252f + -0x5 * -0x661 + -0x4505 | _0x2a0c94 >>> 0x251e + 0x6 * 0x2b7 + -0x3557 * 0x1) + _0x39eb64 << -0x1 * -0xa79 + -0x8d * -0x33 + -0x2690) | ~_0x227f23)) + _0x128d32[0x395 * 0x8 + -0x24a9 + -0x52 * -0x19] - (-0xc3191853 + -0x57fdcd8 * 0x29 + -0x141d00ee * -0x1b)) << 0x132b * -0x1 + -0x13 * -0x15 + 0x11b1 | _0x3952af >>> -0x175f + 0x16 * 0xc2 + -0x2 * -0x35f) + _0x2a0c94 << -0xc * -0x2de + -0x1 * -0x261a + 0x1 * -0x4882, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ (_0x3952af | ~_0x39eb64)) + _0x128d32[0x4 * -0x527 + -0xb71 + 0x2015 * 0x1] + (0x2 * -0x2405587c + 0x963dc885 * 0x1 + 0x217566c2)) << 0x14cb + -0x647 * -0x1 + -0x1b0c | _0x227f23 >>> -0xbd * 0x30 + -0x13 * 0x14f + 0x7 * 0x8a1) + _0x3952af << -0xd * 0x215 + 0xcc + 0x1a45) | ~_0x2a0c94)) + _0x128d32[-0x638 * 0x6 + -0x25fa + 0x4b59] - (0xab1cd2 + -0x184b1f6 + 0x2acae44)) << -0x177b + -0x500 + 0x1c85 | _0x39eb64 >>> -0x1e73 + -0x3 * 0x1f1 + -0x2 * -0x122e) + _0x227f23 << 0xb5 * -0x3 + 0x158f + -0x4 * 0x4dc) ^ ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ (_0x39eb64 | ~_0x3952af)) + _0x128d32[-0xe39 + 0x452 + 0x9ed] - (0x5a22d2a4 + 0x3a146128 + 0x154a34 * -0x298)) << 0x1 * -0x1fd0 + 0x1837 * 0x1 + 0x7a8 | _0x2a0c94 >>> 0x1212 + 0x2 * -0xc47 + 0x68d) + _0x39eb64 << -0x20ba + 0xbb2 + -0x8 * -0x2a1) | ~_0x227f23)) + _0x128d32[0x283 * 0x8 + -0x5f * 0x37 + 0x5e] + (-0x15db9faa + 0x3841d * -0x1db3 + 0xcc505a92)) << -0x172f + -0x5f * -0x1 + 0x16e5 | _0x3952af >>> 0x6c + 0x2 * 0x530 + 0xac1 * -0x1) + _0x2a0c94 << 0x3 * 0x312 + 0x19 * -0x107 + 0x1079, + _0x3952af = ((_0x3952af += ((_0x39eb64 = ((_0x39eb64 += (_0x3952af ^ ((_0x227f23 = ((_0x227f23 += (_0x2a0c94 ^ (_0x3952af | ~_0x39eb64)) + _0x128d32[-0x5bc + -0x1 * -0x887 + -0x1 * 0x2c7] - (0xd0d1959 + 0x9a4d1b1 + -0xe05698c)) << 0x3 * 0x6a7 + 0x252e + -0x391d | _0x227f23 >>> -0x2292 + -0x1385 + 0x1 * 0x3631) + _0x3952af << -0x2483 * -0x1 + 0x93e + 0xd * -0x385) | ~_0x2a0c94)) + _0x128d32[-0x1fd2 + 0x1bb0 + -0x1 * -0x42d] - (-0x9b7 * 0xd9fae + -0x9fdcf8b * -0x7 + 0xb3bb54 * 0xb8)) << 0x1f * 0xec + -0x260 + -0x18a * 0x11 | _0x39eb64 >>> 0x140 * -0x6 + 0x2231 * -0x1 + 0x29c7) + _0x227f23 << 0x26ef * -0x1 + -0x112b + 0x2b * 0x14e) ^ ((_0x2a0c94 = ((_0x2a0c94 += (_0x227f23 ^ (_0x39eb64 | ~_0x3952af)) + _0x128d32[-0x1 * -0x100d + 0xdc0 + -0x1d * 0x107] + (0x43dc7475 + 0x524cbd91 + -0x82661 * 0xd2b)) << -0x1f * -0xf + -0x1d3a + -0x1 * -0x1b78 | _0x2a0c94 >>> 0x235b + 0x162b + -0x3975) + _0x39eb64 << -0xf * -0x27b + -0xc58 + -0x18dd) | ~_0x227f23)) + _0x128d32[-0x72 * -0x1f + 0xac4 + -0x1889] - (0xa * -0x3c812a2 + -0x2c * 0x1bc4a2 + -0x3 * -0x15053b89)) << 0x4 * 0x9c2 + -0xd46 * 0x2 + -0xc67 | _0x3952af >>> -0x8b9 + -0x1ed3 * 0x1 + -0x1 * -0x2797) + _0x2a0c94 << -0x1 * -0xede + 0x15d3 + -0x1f * 0x12f, + this['first'] ? (this['h0'] = _0x227f23 + (-0x295123b + 0xc62a6020 * 0x1 + -0x22 * 0x2b71052) << -0x2 * -0x602 + -0x1 * 0x12c2 + 0x6be, + this['h1'] = _0x3952af - (0x3a5b52c + 0x1d978e61 + 0x7 * -0x26f46ba) << 0x5ea * 0x4 + 0xe5 + -0x4e9 * 0x5, + this['h2'] = _0x2a0c94 - (0xa6be44c7 + 0xc54d85a4 + -0x104c6a769) << 0x6d * 0x53 + 0x1809 + -0x3b60, + this['h3'] = _0x39eb64 + (-0x1fdbc0b + 0x1 * 0x1a1047ff + 0x85f6 * -0xf0d) << 0x26e8 + -0x5d * 0x1f + 0x151 * -0x15, + this[_0x2f0149(0x19f)] = !(0x25a2 + -0x5 * 0x1d5 + -0x38f * 0x8)) : (this['h0'] = this['h0'] + _0x227f23 << 0x923 + 0xb1c + -0x143f, + this['h1'] = this['h1'] + _0x3952af << -0x23 * 0xc0 + 0x1aef + -0xaf, + this['h2'] = this['h2'] + _0x2a0c94 << -0x1b53 + -0x1acc + -0xa3 * -0x55, + this['h3'] = this['h3'] + _0x39eb64 << -0xba0 * 0x1 + 0x146 + 0xa * 0x109); + } + , + _0x22f902[_0x2db296(0x344)]['hex'] = function () { + this['finalize'](); + var _0x58d18c = this['h0'] + , _0x4e2807 = this['h1'] + , _0x41534b = this['h2'] + , _0x136921 = this['h3']; + return _0x142491[_0x58d18c >> 0x3cb * -0x4 + -0x6e * -0x3 + 0xde6 & 0x3b * 0x47 + 0x1567 + -0x25b5] + _0x142491[-0x1731 + -0x16e + 0x9 * 0x2be & _0x58d18c] + _0x142491[_0x58d18c >> -0xa78 + 0x18d4 + 0xe5 * -0x10 & 0x81e + -0x6 * 0x529 + 0x16e7] + _0x142491[_0x58d18c >> 0x1894 + -0x3c + -0x1850 & -0x2228 * -0x1 + 0x3 * 0x4ff + -0x3116] + _0x142491[_0x58d18c >> -0x67 * -0x1 + -0x1842 + 0x17ef & 0x580 * -0x6 + 0x1b * 0x171 + -0x5dc] + _0x142491[_0x58d18c >> -0x1 * -0x709 + 0x1594 + -0x1 * 0x1c8d & 0x1633 + -0x70d + -0xf17] + _0x142491[_0x58d18c >> -0xaf6 + 0x1ddb * 0x1 + -0x12c9 & -0x4b * 0x7b + 0x5 * 0x41b + 0xf91] + _0x142491[_0x58d18c >> -0x1 * 0x1543 + -0x1795 * -0x1 + -0x23a & -0x1e70 + 0xcc5 + -0x11ba * -0x1] + _0x142491[_0x4e2807 >> 0x651 + -0x10f7 * -0x2 + -0x283b & 0x1199 + -0x47 * -0x59 + -0x2a39] + _0x142491[0xe3 * -0x22 + 0x2479 + 0x644 * -0x1 & _0x4e2807] + _0x142491[_0x4e2807 >> 0x121a + 0x1a84 + -0x2c92 & -0x65 * -0x4a + -0x5db + -0x1748] + _0x142491[_0x4e2807 >> 0x14a3 + -0x11 * 0x55 + -0x5 * 0x2fe & -0x24e3 * -0x1 + 0xf64 + -0x3438] + _0x142491[_0x4e2807 >> 0x1cf + -0x1c89 + -0x2 * -0xd67 & -0xd47 * -0x2 + -0x1 * 0x221b + 0x1e7 * 0x4] + _0x142491[_0x4e2807 >> 0x673 + 0x1d12 + -0x1 * 0x2375 & 0x12ce + -0x8 * -0xb5 + -0x1867] + _0x142491[_0x4e2807 >> 0x1 * 0x1499 + 0x1a6b * 0x1 + -0x98 * 0x4f & 0x1516 + -0x147 * -0x2 + -0x1795 * 0x1] + _0x142491[_0x4e2807 >> 0x4 * 0x570 + -0x2 * 0x622 + -0x2 * 0x4b2 & -0x6 * -0x15d + -0x7eb + -0x34] + _0x142491[_0x41534b >> 0x1738 + -0x6 * 0x23b + -0x3 * 0x346 & -0x97 * -0x3a + 0x3a6 + -0x25cd] + _0x142491[-0x48 * -0x11 + 0x1 * -0x2502 + 0x13 * 0x1b3 & _0x41534b] + _0x142491[_0x41534b >> -0x1 * -0x1556 + 0x3 * 0x623 + -0x27b3 * 0x1 & -0x6b * 0x1f + 0x1 * -0x49 + -0x3 * -0x46f] + _0x142491[_0x41534b >> -0x794 + -0x1 * 0x2443 + 0x2bdf & 0x26ca + -0xb02 + 0x2f * -0x97] + _0x142491[_0x41534b >> 0x177f + -0x57b + -0x11f * 0x10 & 0x1eed + 0xbb2 + -0x2a90] + _0x142491[_0x41534b >> 0xab7 * -0x2 + 0x3ba + 0x11c4 & -0x1621 + 0xa3f * 0x2 + -0xd9 * -0x2] + _0x142491[_0x41534b >> 0x607 + -0x2065 + 0x1a7a & 0x2 * -0xb0f + 0x629 * -0x5 + 0x1a7d * 0x2] + _0x142491[_0x41534b >> -0x2205 + 0x20ac + 0x171 & -0x1 * -0x1337 + 0x6e * -0x1 + -0x22 * 0x8d] + _0x142491[_0x136921 >> -0x845 + -0x1 * 0x267b + 0x1762 * 0x2 & 0x340 + -0x21 * 0xcb + 0x16fa] + _0x142491[0x4 * -0x8e2 + -0xdea + 0x3181 & _0x136921] + _0x142491[_0x136921 >> 0x1784 + 0xa * 0x31b + -0x1 * 0x3686 & -0x26 * 0x4f + -0x1 * -0xca8 + 0xdf * -0x1] + _0x142491[_0x136921 >> 0x1823 * -0x1 + 0xe5c * -0x2 + 0x1 * 0x34e3 & 0x34e * 0x6 + 0x47f + -0x1844 * 0x1] + _0x142491[_0x136921 >> 0x1 * -0x10af + 0x39a + 0xd29 & -0xea2 + 0x2 * -0xad2 + 0x2455] + _0x142491[_0x136921 >> 0xadf + 0x2db * -0x7 + 0x92e & -0x493 * 0x3 + 0x15e1 + -0x819] + _0x142491[_0x136921 >> -0x22d6 + 0x20 * -0x17 + 0x25d2 & -0x17 * 0x83 + 0x1214 + -0x640] + _0x142491[_0x136921 >> -0x96e + -0x1e99 + 0x281f & -0x18c8 + 0x33 * 0x89 + -0x274]; + } + , + _0x22f902['prototype'][_0x2db296(0x3ae)] = _0x22f902[_0x2db296(0x344)]['hex'], + _0x22f902[_0x2db296(0x344)]['digest'] = function () { + var _0x5a0a9e = _0x2db296; + this[_0x5a0a9e(0x1d9)](); + var _0x2a8796 = this['h0'] + , _0x2d7c31 = this['h1'] + , _0x1378d3 = this['h2'] + , _0x2e667f = this['h3']; + return [0x1 * 0x4bd + 0x1f15 + 0x5 * -0x6f7 & _0x2a8796, _0x2a8796 >> 0xbcd + -0x25f7 + 0x1a32 & 0x1507 + -0x177d + 0x1 * 0x375, _0x2a8796 >> -0x141c + 0x1ae2 + -0x6b6 & 0x132a + -0x3 * 0x423 + 0xb * -0x86, _0x2a8796 >> -0x1 * -0x261f + 0x115 * -0xc + -0x190b & 0x1233 * -0x1 + 0xacf * -0x3 + 0x339f, -0x16a0 + 0x1002 + 0x79d * 0x1 & _0x2d7c31, _0x2d7c31 >> -0x2 * 0xff4 + -0x541 * 0x2 + -0xe26 * -0x3 & 0x54e + -0x1c * -0x148 + -0x282f * 0x1, _0x2d7c31 >> -0x4 * -0x83f + 0x20ab * -0x1 + -0x41 & 0x427 * 0x5 + 0xdd1 + -0x2195 * 0x1, _0x2d7c31 >> 0xf * -0x201 + 0x1c26 + -0x9 * -0x39 & 0x7 * -0x235 + 0x1be + 0xeb4 * 0x1, 0x34 * 0x9b + 0xa36 + -0x28b3 & _0x1378d3, _0x1378d3 >> 0x463 * 0x1 + -0x1f0d + 0x1ab2 & 0x13 * -0x17f + -0x536 + 0x22a2, _0x1378d3 >> 0x4a7 + -0x1a4 + -0x2f3 & 0x1066 + 0xb3d + -0x1aa4, _0x1378d3 >> -0xc00 + -0x2 * 0xfcb + 0x2bae & 0x11a7 * -0x1 + 0x3a1 * -0x1 + 0x1647, -0xa38 + -0x1304 + 0x1e3b & _0x2e667f, _0x2e667f >> 0x1102 + 0x1896 + -0x2f8 * 0xe & -0x15b2 * -0x1 + -0xa6 * 0x31 + -0xf * -0xbd, _0x2e667f >> 0x25a2 + -0x4 * 0x103 + -0x2186 & -0xa83 * -0x3 + -0x15f1 + -0x899, _0x2e667f >> 0xb95 * 0x3 + -0x1a34 + -0x873 & 0xfb6 * -0x2 + 0x3b * 0x3a + 0x130d]; + } + , + _0x22f902[_0x2db296(0x344)][_0x2db296(0x238)] = _0x22f902['prototype'][_0x2db296(0x19b)], + _0x22f902['prototype'][_0x2db296(0x249)] = function () { + var _0x45ab2e = _0x2db296; + this[_0x45ab2e(0x1d9)](); + var _0x31d586 = new ArrayBuffer(0x13 * -0x20e + -0x4 * -0x62f + 0xe5e) + , _0x2d9fbd = new Uint32Array(_0x31d586); + return _0x2d9fbd[-0xbcc + -0xf5 * -0x3 + -0x5 * -0x1c9] = this['h0'], + _0x2d9fbd[0x5 * 0x103 + 0x26ee + -0x2bfc] = this['h1'], + _0x2d9fbd[0x7d + -0x1b05 * -0x1 + -0x1b80] = this['h2'], + _0x2d9fbd[0x1 * 0x1c1c + 0x1 * 0x4eb + -0x2104] = this['h3'], + _0x31d586; + } + , + _0x22f902['prototype']['buffer'] = _0x22f902[_0x2db296(0x344)][_0x2db296(0x249)], + _0x22f902[_0x2db296(0x344)][_0x2db296(0x25f)] = function () { + var _0x16e12f = _0x2db296; + for (var _0x1dad5c, _0x24f20d, _0x70d99b, _0xb48dfc = '', _0x13e0cb = this[_0x16e12f(0x238)](), _0x12e65e = -0x719 * -0x5 + -0x747 * -0x5 + 0x170 * -0x32; _0x12e65e < -0x8c + 0x164f + -0x15b4;) + _0x1dad5c = _0x13e0cb[_0x12e65e++], + _0x24f20d = _0x13e0cb[_0x12e65e++], + _0x70d99b = _0x13e0cb[_0x12e65e++], + _0xb48dfc += _0xcb4d61[_0x1dad5c >>> 0x13b + 0x209 * -0xb + 0x152a] + _0xcb4d61[0x13d3 + 0x4c7 + -0x185b & (_0x1dad5c << 0x1334 + 0x1dd7 + 0x7 * -0x701 | _0x24f20d >>> -0x3b3 * 0xa + -0x17b * -0x13 + -0x1 * -0x8e1)] + _0xcb4d61[-0x25dd + 0x14bd + 0x115f & (_0x24f20d << -0x787 + 0x888 + -0xff | _0x70d99b >>> 0xe74 + -0x104f + 0xd * 0x25)] + _0xcb4d61[0x68e + -0x1082 + -0x175 * -0x7 & _0x70d99b]; + return _0x1dad5c = _0x13e0cb[_0x12e65e], + _0xb48dfc += _0xcb4d61[_0x1dad5c >>> 0x2b * -0x77 + 0x29e * 0x2 + 0xec3] + _0xcb4d61[_0x1dad5c << -0x14c0 + -0x2 * -0x11a4 + 0x2 * -0x742 & 0xe5f + -0x1dab + 0xf8b * 0x1] + '=='; + } + ; + var _0x336469 = _0x1edabb(); + _0x299a21 ? _0xb9c7d1[_0x2db296(0x1b8)] = _0x336469 : (_0x11d177[_0x2db296(0x35c)] = _0x336469, + _0x5efc8f && (void (0x1118 + -0x25 * 0x98 + 0x1a0 * 0x3))(function () { + return _0x336469; + })); + }()); + }); + + function _0x5dd467(_0x2e8eb5) { + var _0x344c50 = _0x5612de; + return w_0x5c3140(_0x344c50(0x333), { + get 0x0() { + return _0x90795; + }, + 0x1: arguments, + 0x2: _0x2e8eb5 + }, this); + } + + function _0x176a57() { + var _0x33742c = _0x5612de; + return !!document[_0x33742c(0x373)]; + } + + function _0x1230e7() { + return 'undefined' != typeof InstallTrigger; + } + + function _0xf8ccf1() { + var _0x25d57d = _0x5612de; + return /constructor/i[_0x25d57d(0x22b)](window['HTMLElement']) || _0x25d57d(0x226) === (!window['safari'] || _0x25d57d(0x384) != typeof safari && safari['pushNotification'])[_0x25d57d(0x3ae)](); + } + + function _0x30c916() { + var _0x56f7c2 = _0x5612de; + return new Date()[_0x56f7c2(0x16d)](); + } + + function _0x5af46a(_0xeaff35) { + return null == _0xeaff35 ? '' : 'boolean' == typeof _0xeaff35 ? _0xeaff35 ? '1' : '0' : _0xeaff35; + } + + function _0x325f58(_0x3fdcb7, _0x2838bc) { + var _0x17d12c = _0x5612de; + _0x2838bc || (_0x2838bc = _0x17d12c(0x24c)); + for (var _0x3b8f2c = '', _0x98f0de = _0x3fdcb7; _0x98f0de > -0x2 * -0x90e + 0x4 * -0x3ae + -0x364; --_0x98f0de) + _0x3b8f2c += _0x2838bc[Math[_0x17d12c(0x1cf)](Math['random']() * _0x2838bc[_0x17d12c(0x259)])]; + return _0x3b8f2c; + } + + var _0x39693d = { + 'sec': 0x9, + 'asgw': 0x5, + 'init': 0x0 + } + , _0x6caf = { + 'bogusIndex': 0x0, + 'msNewTokenList': [], + 'moveList': [], + 'clickList': [], + 'keyboardList': [], + 'activeState': [], + 'aidList': [] + }; + + function _0x53b77d(_0x357347) { + return w_0x5c3140('484e4f4a403f5243001714366d6da13c00000025f8c25369000000ee00110307070002161103021200031103070700021303062b2f11030207000335490700044211010044001400011101014a1200001100010700010d05000000003c000e00054303491101034a12000607000711000143024911010433000611010412000833000911010412000812000947002100110107070002161101021200031101070700021303062b2f110102070003354902110105430047004f11010433002511010412000a11010412000b190400962934001111010412000c11010412000d190400962947002100110107070002161101021200031101070700021303062b2f11010207000335490842000e0e7170737c7b7045677a657067616c027c7108717077607272706707707b63767a71700003727061047c7b737a02307607767a7b667a797007737c67707760720a7a60617067427c71617d0a7c7b7b7067427c71617d0b7a606170675d707c727d610b7c7b7b70675d707c727d61', { + get 0x0() { + return Image; + }, + 0x1: Object, + get 0x2() { + return _0x6caf; + }, + get 0x3() { + return console; + }, + get 0x4() { + return window; + }, + get 0x5() { + return _0x1230e7; + }, + 0x6: arguments, + 0x7: _0x357347 + }, this); + } + + function _0x3ed707() { + var _0x2077c7 = _0x5612de; + return w_0x5c3140(_0x2077c7(0x31d), { + get 0x0() { + return navigator; + }, + get 0x1() { + var _0x573a52 = _0x2077c7; + return _0x573a52(0x384) != typeof global ? global : void (-0x11 * -0x1cf + 0x95 * 0x16 + -0x1 * 0x2b8d); + }, + 0x2: Object, + get 0x3() { + var _0x4b9092 = _0x2077c7; + return _0x4b9092(0x384) != typeof process ? process : void (-0x65 * 0x2 + 0x2579 * 0x1 + -0x1 * 0x24af); + }, + get 0x4() { + return _0x1db123; + }, + 0x5: arguments + }, this); + } + + function _0x328bde(_0xacb410, _0x4ed7bd, _0x49d137) { + var _0x197e65 = _0x5612de + , _0x2d8b28 = _0x197e65(0x2ce) + , _0x4dd4b8 = '='; + _0x49d137 && (_0x4dd4b8 = ''), + _0x4ed7bd && (_0x2d8b28 = _0x4ed7bd); + for (var _0x1aa067, _0x3b8c55 = '', _0x2d1a36 = 0xe0f * 0x2 + -0x35b * -0x8 + 0x29e * -0x15; _0xacb410[_0x197e65(0x259)] >= _0x2d1a36 + (0x73 * -0x26 + -0xb4e + 0x1c63);) + _0x1aa067 = (-0x1cb9 + 0x2c6 + -0x1 * -0x1af2 & _0xacb410[_0x197e65(0x195)](_0x2d1a36++)) << 0x1de9 + 0x1c + -0x1 * 0x1df5 | (-0x1 * 0xd91 + -0x23a + 0x10ca & _0xacb410[_0x197e65(0x195)](_0x2d1a36++)) << -0x16 * 0x135 + 0x9e2 * 0x3 + -0x188 * 0x2 | -0x752 + -0x2 * 0xaf3 + 0x1e37 & _0xacb410[_0x197e65(0x195)](_0x2d1a36++), + _0x3b8c55 += _0x2d8b28[_0x197e65(0x25c)]((0x1c78125 + -0x1df1122 + -0xb * -0x190d17 & _0x1aa067) >> 0x59 * 0x4f + -0x1176 + -0x1 * 0x9ef), + _0x3b8c55 += _0x2d8b28['charAt']((-0x1 * 0x13b6b + -0x13 * -0x65aa + -0x26033 & _0x1aa067) >> 0x17ea * -0x1 + 0xef7 + 0x8ff), + _0x3b8c55 += _0x2d8b28['charAt']((-0x1 * 0x16bd + 0x115 + 0x10a * 0x24 & _0x1aa067) >> 0x29c * -0x1 + -0x1 * 0x1475 + 0x1717), + _0x3b8c55 += _0x2d8b28[_0x197e65(0x25c)](-0xc * 0x196 + 0x1fae + -0xc67 & _0x1aa067); + return _0xacb410[_0x197e65(0x259)] - _0x2d1a36 > -0x69f + -0x1 * 0xe5c + 0x14fb && (_0x1aa067 = (0x740 + -0x1ed1 + 0x1890 & _0xacb410['charCodeAt'](_0x2d1a36++)) << -0x7 * 0xec + 0x2167 * 0x1 + -0x1ae3 | (_0xacb410['length'] > _0x2d1a36 ? (0x16aa + -0x762 * 0x1 + -0xe49 & _0xacb410[_0x197e65(0x195)](_0x2d1a36)) << 0x1af7 + -0x26be + 0xbcf : 0x1 * -0x649 + -0x1 * 0xe16 + 0x2e9 * 0x7), + _0x3b8c55 += _0x2d8b28[_0x197e65(0x25c)]((-0x1 * 0x484e9 + -0x13c88 * -0x4a + -0x28bd * -0x40d & _0x1aa067) >> 0x6c * -0x4a + -0x81c * -0x2 + 0xf12), + _0x3b8c55 += _0x2d8b28['charAt']((-0x1ad98 + 0x1a5c8 + 0x3f7d0 & _0x1aa067) >> 0x1f95 + -0x1c06 + -0x383), + _0x3b8c55 += _0xacb410['length'] > _0x2d1a36 ? _0x2d8b28[_0x197e65(0x25c)]((-0x2447 + -0x1 * -0x1efe + 0x1509 & _0x1aa067) >> 0x1d66 + 0x2 * 0x202 + -0x2164) : _0x4dd4b8, + _0x3b8c55 += _0x4dd4b8), + _0x3b8c55; + } + + function _0x389396(_0x49fdfd, _0x32eedf) { + var _0x36dcb8 = _0x5612de; + return w_0x5c3140(_0x36dcb8(0x3ad), { + 0x0: arguments, + 0x1: _0x49fdfd, + 0x2: _0x32eedf + }, this); + } + + function _0x3262d3(_0xb01975) { + var _0x55341a = _0x5612de; + return _0x55341a(0x315)[_0x55341a(0x2c5)](_0xb01975); + } + + function _0xb5350b(_0x1289f5) { + var _0x341e09 = _0x5612de, _0x5b1849, _0x40ad1e, _0x341488, _0x5980c5, _0x31f759, _0x5bebd7 = ''; + for (_0x5b1849 = 0x13d5 + -0xc4f * 0x1 + -0x786; _0x5b1849 < _0x1289f5[_0x341e09(0x259)] - (0xe50 * 0x1 + 0x17f3 + -0x2640); _0x5b1849 += -0xeed + 0x1 * 0x10c0 + -0x1cf * 0x1) + _0x40ad1e = _0x3262d3(_0x1289f5[_0x341e09(0x25c)](_0x5b1849)), + _0x341488 = _0x3262d3(_0x1289f5[_0x341e09(0x25c)](_0x5b1849 + (0x1103 + 0xa86 + 0x1 * -0x1b88))), + _0x5980c5 = _0x3262d3(_0x1289f5[_0x341e09(0x25c)](_0x5b1849 + (-0x1c54 + -0xf15 + 0x2b6b))), + _0x31f759 = _0x3262d3(_0x1289f5['charAt'](_0x5b1849 + (0xd1a + 0x1 * -0x175d + -0x5 * -0x20e))), + _0x5bebd7 += String[_0x341e09(0x1e2)](_0x40ad1e << 0x33 * -0x3f + 0xe73 * -0x2 + 0x2975 | _0x341488 >>> 0x12d2 + 0x851 + -0x1b1f), + '=' !== _0x1289f5[_0x341e09(0x25c)](_0x5b1849 + (0x51 * -0x25 + -0x21d * 0x12 + 0x31c1 * 0x1)) && (_0x5bebd7 += String['fromCharCode'](_0x341488 << -0xa0c + 0xee3 + -0x4d3 & 0x1 * 0x397 + -0x113f + 0xe98 | _0x5980c5 >>> 0x2161 + 0x1b7 * -0x5 + 0xc66 * -0x2 & 0x22bb + -0xf08 + 0x6 * -0x346)), + '=' !== _0x1289f5[_0x341e09(0x25c)](_0x5b1849 + (0x125d * 0x2 + -0x3d * -0x31 + 0x146 * -0x26)) && (_0x5bebd7 += String[_0x341e09(0x1e2)](_0x5980c5 << -0x2650 + 0x17 * 0xe9 + -0x3 * -0x5cd & 0x754 + -0x5df + -0xb5 | _0x31f759)); + return _0x5bebd7; + } + + _0x6caf[_0x5612de(0x380)] = -0x14e * -0x2 + 0x2519 + -0x217 * 0x13, + _0x6caf['msToken'] = '', + _0x6caf[_0x5612de(0x263)] = _0x39693d[_0x5612de(0x3b9)], + _0x6caf[_0x5612de(0x3b5)] = '', + _0x6caf['ttwid'] = '', + _0x6caf[_0x5612de(0x316)] = '', + _0x6caf[_0x5612de(0x339)] = ''; + var _0x28d239 = 0x778 + 0xa41 + 0x1 * -0x11b9, _0x2d6b72, _0x1e9bba, _0xdc7355, _0xf08186; + + function _0x33f406(_0x4b5fb5) { + var _0x1d1da4 = _0x5612de; + return _0x4b5fb5 &= -0x2632 + 0x3 * -0x591 + 0x3724, + String[_0x1d1da4(0x1e2)](_0x4b5fb5 + (_0x4b5fb5 < 0x22f * 0x1 + -0x1cac + 0x3 * 0x8dd ? -0xd * 0x123 + 0x19ac + -0x552 * 0x2 : _0x4b5fb5 < -0x1 * -0x1646 + 0x1 * -0x1f21 + -0x305 * -0x3 ? -0x2b4 * 0x1 + -0x45 * 0xb + -0x2 * -0x2f9 : _0x4b5fb5 < 0x1 * 0x70c + 0x123f + -0x190d * 0x1 ? -(0x1f73 + -0x1 * -0x3d7 + -0x46 * 0x81) : -(-0x248f + 0x20d3 + 0x3cd))); + } + + function _0x4da136(_0x620f42) { + var _0xca40fa = _0x33f406; + return _0xca40fa(_0x620f42 >> 0x420 * -0x4 + -0x53f * -0x4 + -0x464) + _0xca40fa(_0x620f42 >> -0x1492 + -0x11c3 + -0x3 * -0xccd) + _0xca40fa(_0x620f42 >> 0x1479 + 0x571 * 0x6 + -0x795 * 0x7) + _0xca40fa(_0x620f42 >> -0x1d * 0x4f + 0x313 * -0xb + 0x2aca) + _0xca40fa(_0x620f42); + } + + _0x2d6b72 = _0x1e9bba = function (_0x5d2d39) { + return _0x2d6b72 = _0xdc7355, + _0x28d239 = _0x5d2d39, + _0x4da136(_0x5d2d39 >> -0x418 * 0x8 + 0x9fe + 0x7c * 0x2f); + } + , + _0xdc7355 = function (_0x135d9a) { + _0x2d6b72 = _0xf08186; + var _0x9cdabb = _0x28d239 << -0xa41 + -0x164f + 0x2b9 * 0xc | _0x135d9a >>> 0xee4 + 0x1 * -0x143 + 0xcd * -0x11; + return _0x28d239 = _0x135d9a, + _0x4da136(_0x9cdabb); + } + , + _0xf08186 = function (_0x36c054) { + return _0x2d6b72 = _0x1e9bba, + _0x4da136(_0x28d239 << -0x302 + 0x1 * 0x2447 + -0x7 * 0x4bd | _0x36c054 >>> -0x1f5e + 0x1aa0 + 0x3d * 0x14) + _0x33f406(_0x36c054); + } + ; + var _0x539097 = -0x2 * -0x621a4af5 + 0xc681287f + -0xec7e44b0, _0x12ada0; + + function _0x75d5b3(_0x5a0afa, _0x1ccbbd) { + var _0x13780b = _0x5612de + , _0xc312d4 = _0x5a0afa['length'] + , _0x102845 = _0xc312d4 << -0x3 * -0x711 + 0x9a9 * 0x2 + -0x2883; + if (_0x1ccbbd) { + var _0x25438e = _0x5a0afa[_0xc312d4 - (0x1b18 + 0x1 * 0xfb6 + -0x1 * 0x2acd)]; + if (_0x25438e < (_0x102845 -= 0x1f * 0x62 + -0xac0 + -0x8d * 0x2) - (-0xfed + -0x8a * 0x23 + 0x22ce) || _0x25438e > _0x102845) + return null; + _0x102845 = _0x25438e; + } + for (var _0x41e0a1 = -0x13b + -0x1963 + -0xd4f * -0x2; _0x41e0a1 < _0xc312d4; _0x41e0a1++) + _0x5a0afa[_0x41e0a1] = String['fromCharCode'](-0x30 * -0x12 + -0x235b + -0x15 * -0x192 & _0x5a0afa[_0x41e0a1], _0x5a0afa[_0x41e0a1] >>> -0x1839 * -0x1 + -0x5 * -0x196 + 0x1 * -0x201f & -0x2 * 0x2b3 + 0x1 * 0x19c9 + -0x1364, _0x5a0afa[_0x41e0a1] >>> -0x12b * 0x1 + 0xa54 * 0x1 + -0x11 * 0x89 & 0xc36 * 0x2 + 0x2 * 0x1259 + 0x1 * -0x3c1f, _0x5a0afa[_0x41e0a1] >>> 0x564 + 0x2325 + -0x15 * 0x1ed & 0x2673 + -0x1411 + -0x1163); + var _0x5ef85e = _0x5a0afa[_0x13780b(0x24f)](''); + return _0x1ccbbd ? _0x5ef85e['substring'](0x3 * -0x388 + -0xe41 + 0x18d9, _0x102845) : _0x5ef85e; + } + + function _0x183951(_0x15f4d9, _0x59200b) { + var _0x4f373f = _0x5612de, _0x40761a, _0x6155ee = _0x15f4d9[_0x4f373f(0x259)], + _0x21fe82 = _0x6155ee >> 0xb8d * -0x1 + -0x1 * 0x5fe + -0x1 * -0x118d; + 0x4 * -0xbc + 0x12f0 + -0x1000 != (-0x79 * 0x2 + -0xb1 * 0x16 + 0x102b & _0x6155ee) && ++_0x21fe82, + _0x59200b ? (_0x40761a = new Array(_0x21fe82 + (0x13 * -0x65 + -0x14ef + 0xfb * 0x1d)))[_0x21fe82] = _0x6155ee : _0x40761a = new Array(_0x21fe82); + for (var _0x56bca4 = -0x9e0 + 0x51 * 0x1a + 0x1a6; _0x56bca4 < _0x6155ee; ++_0x56bca4) + _0x40761a[_0x56bca4 >> -0xc1b * -0x2 + -0xc2 * -0x21 + 0x1 * -0x3136] |= _0x15f4d9['charCodeAt'](_0x56bca4) << ((0x3 * -0x4cd + -0xdfc + 0x1c66 & _0x56bca4) << 0x1 * -0x133b + 0x21a5 + 0xe67 * -0x1); + return _0x40761a; + } + + function _0x25c901(_0x431b9d) { + return 0x1a1299587 + 0x91539 * -0x1c1b + -0x202b07 * -0x2ed & _0x431b9d; + } + + function _0x38d33e(_0x1aed31, _0x212e8a, _0x427b15, _0x8fcd39, _0x4eaad6, _0x532b8e) { + return (_0x427b15 >>> -0x1 * -0x1ddb + -0x20f7 + -0x3 * -0x10b ^ _0x212e8a << -0x1 * -0x407 + -0x132e + -0xf29 * -0x1) + (_0x212e8a >>> -0x828 + -0xf23 + -0x9d * -0x26 ^ _0x427b15 << -0xd51 + 0xc9f + 0xb6) ^ (_0x1aed31 ^ _0x212e8a) + (_0x532b8e[0x9ad + -0x763 + -0xb * 0x35 & _0x8fcd39 ^ _0x4eaad6] ^ _0x427b15); + } + + function _0x231484(_0xefe811) { + var _0x13eaf5 = _0x5612de; + return _0xefe811[_0x13eaf5(0x259)] < -0xa13 + 0x1086 + -0x66f && (_0xefe811[_0x13eaf5(0x259)] = -0x1371 + -0x1ec1 * -0x1 + 0x5a6 * -0x2), + _0xefe811; + } + + function _0x3d58e7(_0x5e28f2, _0x468b52) { + var _0x50c100 = _0x5612de, _0x7c35df, _0x4c97b3, _0x5e0270, _0x3034db, _0x56f817, _0x3084b8, + _0x66df40 = _0x5e28f2[_0x50c100(0x259)], _0x5506f5 = _0x66df40 - (-0x1c76 + 0x2246 + -0x5cf); + for (_0x4c97b3 = _0x5e28f2[_0x5506f5], + _0x5e0270 = 0x22ee + 0xa15 * -0x1 + -0x18d9 * 0x1, + _0x3084b8 = 0x1 * 0x36f + -0x2707 + 0x2398 | Math[_0x50c100(0x1cf)](0xc72 * 0x2 + -0xe3 * 0x2b + 0xd43 + (0x1a + 0x1c2a + -0x1c10) / _0x66df40); _0x3084b8 > 0x1 * -0x1cd + -0x2476 + 0x2643; --_0x3084b8) { + for (_0x3034db = (_0x5e0270 = _0x25c901(_0x5e0270 + _0x539097)) >>> 0x3b * -0x2f + 0x1290 + 0x3 * -0x293 & 0x1533 + -0x116d + -0x3c3, + _0x56f817 = 0x8 * 0x23b + -0xb89 + 0x64f * -0x1; _0x56f817 < _0x5506f5; ++_0x56f817) + _0x7c35df = _0x5e28f2[_0x56f817 + (0x3b * 0x5f + -0x1e1 * 0x1 + -0x1403)], + _0x4c97b3 = _0x5e28f2[_0x56f817] = _0x25c901(_0x5e28f2[_0x56f817] + _0x38d33e(_0x5e0270, _0x7c35df, _0x4c97b3, _0x56f817, _0x3034db, _0x468b52)); + _0x7c35df = _0x5e28f2[-0x1570 + -0x1 * -0x385 + -0x8b * -0x21], + _0x4c97b3 = _0x5e28f2[_0x5506f5] = _0x25c901(_0x5e28f2[_0x5506f5] + _0x38d33e(_0x5e0270, _0x7c35df, _0x4c97b3, _0x5506f5, _0x3034db, _0x468b52)); + } + return _0x5e28f2; + } + + function _0x4aaf04(_0x33a7ba, _0x386196) { + var _0x257c0b = _0x5612de, _0x379288, _0x247a8b, _0x334bb9, _0x2fa83f, _0x417a88, + _0x2a3ae5 = _0x33a7ba[_0x257c0b(0x259)], _0x429a0d = _0x2a3ae5 - (0xc1 * -0x11 + 0x1f99 + -0xb * 0x1b5); + for (_0x379288 = _0x33a7ba[-0x1 * -0x1397 + -0x13 * -0x187 + -0x309c], + _0x334bb9 = _0x25c901(Math[_0x257c0b(0x1cf)](0xe52 * -0x1 + -0x10 * 0xb + -0x34 * -0x4a + (-0x3 * -0xd9 + 0x9f * 0x2f + 0xfc4 * -0x2) / _0x2a3ae5) * _0x539097); -0x2e * 0x1f + 0x2223 + -0x47 * 0x67 !== _0x334bb9; _0x334bb9 = _0x25c901(_0x334bb9 - _0x539097)) { + for (_0x2fa83f = _0x334bb9 >>> 0x437 * 0x5 + -0xfd * 0x22 + -0xc89 * -0x1 & 0x1 * 0x863 + 0x2267 * 0x1 + -0x2f * 0xe9, + _0x417a88 = _0x429a0d; _0x417a88 > 0xfc7 + -0x788 * -0x1 + -0x15f * 0x11; --_0x417a88) + _0x247a8b = _0x33a7ba[_0x417a88 - (0x3b * -0x4f + 0x6d * -0xa + 0xb3c * 0x2)], + _0x379288 = _0x33a7ba[_0x417a88] = _0x25c901(_0x33a7ba[_0x417a88] - _0x38d33e(_0x334bb9, _0x379288, _0x247a8b, _0x417a88, _0x2fa83f, _0x386196)); + _0x247a8b = _0x33a7ba[_0x429a0d], + _0x379288 = _0x33a7ba[-0x1fb + 0x1952 * -0x1 + -0x1d * -0xf1] = _0x25c901(_0x33a7ba[0x7 * 0x59 + 0x5 * -0x2d2 + 0xbab] - _0x38d33e(_0x334bb9, _0x379288, _0x247a8b, -0xbac + -0x7 * 0xea + -0x606 * -0x3, _0x2fa83f, _0x386196)); + } + return _0x33a7ba; + } + + function _0x532596(_0x2394ed) { + var _0x22f5e8 = _0x5612de; + if (/^[\x00-\x7f]*$/[_0x22f5e8(0x22b)](_0x2394ed)) + return _0x2394ed; + for (var _0x47e840 = [], _0x5f04b8 = _0x2394ed[_0x22f5e8(0x259)], _0x150666 = -0xe97 + 0xd02 + 0x195, _0x19b157 = 0xf1c + -0x1f5 * 0x8 + 0x8c; _0x150666 < _0x5f04b8; ++_0x150666, + ++_0x19b157) { + var _0x44de53 = _0x2394ed[_0x22f5e8(0x195)](_0x150666); + if (_0x44de53 < -0x1 * -0xb7b + 0x1566 + -0x2061) + _0x47e840[_0x19b157] = _0x2394ed[_0x22f5e8(0x25c)](_0x150666); + else { + if (_0x44de53 < -0x3 * 0xcd2 + 0x1168 + 0x1 * 0x1d0e) + _0x47e840[_0x19b157] = String['fromCharCode'](0x2 * 0x579 + 0x263c * 0x1 + 0x306e * -0x1 | _0x44de53 >> 0xca4 * -0x1 + 0x6f * 0x13 + -0x46d * -0x1, 0x7 * -0x5 + 0x35 * 0x73 + -0x172c | 0xf88 * -0x1 + -0x108f * -0x1 + -0xc8 & _0x44de53); + else { + if (!(_0x44de53 < -0xaebb * 0x1 + -0x3 * -0x3a46 + 0x6f7 * 0x1f || _0x44de53 > 0x1679b * 0x1 + -0x121 * -0x15 + -0x9f51)) { + if (_0x150666 + (0x15a6 + 0x1ec1 + -0x26 * 0x161) < _0x5f04b8) { + var _0x254ff6 = _0x2394ed[_0x22f5e8(0x195)](_0x150666 + (-0x42 * -0x7a + 0x4 * 0x91d + -0x43e7)); + if (_0x44de53 < -0x181e4 + 0xbcbb + 0x1a129 && -0x17db * -0xf + 0xac6d * -0x1 + -0x3d8 * -0x9 <= _0x254ff6 && _0x254ff6 <= 0x159a + 0x17967 + 0x9b9 * -0x12) { + var _0x304310 = -0x1862f + 0x1121d + 0x2 * 0xba09 + ((0x1 * -0x140f + -0x18dd + 0x30eb & _0x44de53) << -0xb0 * -0x8 + 0x875 + -0x7 * 0x1fd | 0x2301 + 0x171f + 0x3621 * -0x1 & _0x254ff6); + _0x47e840[_0x19b157] = String[_0x22f5e8(0x1e2)](0x1afc * -0x1 + 0x26f4 + -0xb08 | _0x304310 >> 0xb * 0x14e + -0x119 * -0x1d + -0x2e1d & 0x1037 * 0x1 + -0x1090 + -0x2 * -0x4c, 0x1922 + 0x4 * 0x351 + -0x25e6 | _0x304310 >> 0x1e93 + -0x517 + -0x1970 & 0x2481 + 0x1591 + -0x39d3, -0xace * -0x1 + 0x1ef3 + -0x2941 | _0x304310 >> -0xb7f * -0x3 + -0x1 * 0xe7d + -0x13fa & -0x10d * -0x6 + 0x252a * 0x1 + -0x2b39, -0x1c61 * 0x1 + 0x1 * -0x5e7 + -0x13e * -0x1c | 0x13 * -0x1f9 + 0x16 * -0x164 + -0x37 * -0x13e & _0x304310), + ++_0x150666; + continue; + } + } + throw new Error(_0x22f5e8(0x297)); + } + _0x47e840[_0x19b157] = String[_0x22f5e8(0x1e2)](-0x170b + 0x109b + 0x750 | _0x44de53 >> -0xbf0 * -0x2 + 0x25bc + -0x3d90, 0x4ec + 0x1f0c + -0x8de * 0x4 | _0x44de53 >> 0x2 * 0x829 + -0x1b * -0x10c + -0x2c90 & -0x2322 + 0x19d5 + 0x34 * 0x2f, 0x2a1 + 0x1 * 0x1ac0 + 0x1 * -0x1ce1 | -0xe95 + 0x1cf * 0x11 + 0x1 * -0xfeb & _0x44de53); + } + } + } + return _0x47e840[_0x22f5e8(0x24f)](''); + } + + function _0x45fbef(_0x316827, _0x2a039f) { + var _0x1c80ac = _0x5612de; + for (var _0x4921e2 = new Array(_0x2a039f), _0x79a402 = 0x20bd + -0x10b1 + -0x1 * 0x100c, _0x28b895 = -0xd2c + -0x1730 + 0x1 * 0x245c, _0x2bc88b = _0x316827[_0x1c80ac(0x259)]; _0x79a402 < _0x2a039f && _0x28b895 < _0x2bc88b; _0x79a402++) { + var _0x43b518 = _0x316827[_0x1c80ac(0x195)](_0x28b895++); + switch (_0x43b518 >> -0x1342 + 0x67 * -0x53 + 0x34ab) { + case -0x410 * -0x3 + -0xd9 + -0xb57: + case -0x17cb + 0x2362 + -0xb96 * 0x1: + case -0x24 * 0x7f + -0x1 * -0xcfc + 0x19 * 0x32: + case 0x2025 + 0x1102 + -0x3124: + case 0x1b0d + 0xcb4 + 0xd3f * -0x3: + case -0x11d9 + 0x9 * 0x16d + -0x1 * -0x509: + case 0x79 * 0x49 + 0x1 * 0x1b8e + -0x3e09 * 0x1: + case 0x26c1 + -0x2137 * 0x1 + -0x583: + _0x4921e2[_0x79a402] = _0x43b518; + break; + case 0x10f * -0x13 + 0x426 + 0x1003: + case 0x164d * 0x1 + 0xb5a * 0x3 + 0x1c27 * -0x2: + if (!(_0x28b895 < _0x2bc88b)) + throw new Error('Unfinished\x20UTF-8\x20octet\x20sequence'); + _0x4921e2[_0x79a402] = (-0x1f7 * 0xb + -0x1fa0 + 0x2ab * 0x14 & _0x43b518) << -0x233b + 0x160e + 0xd33 | -0x1e40 + 0x22b9 + -0x2 * 0x21d & _0x316827[_0x1c80ac(0x195)](_0x28b895++); + break; + case -0x2512 + -0x1595 + 0x3ab5: + if (!(_0x28b895 + (0xba3 * -0x1 + -0x17dd * 0x1 + 0x1 * 0x2381) < _0x2bc88b)) + throw new Error(_0x1c80ac(0x394)); + _0x4921e2[_0x79a402] = (0x247f * -0x1 + 0xec2 * 0x1 + -0x136 * -0x12 & _0x43b518) << 0x1 * 0x1bcd + -0x3dd + -0x17e4 | (0x1631 + -0x1058 + 0x2 * -0x2cd & _0x316827[_0x1c80ac(0x195)](_0x28b895++)) << 0x889 * 0x4 + 0x11c8 * 0x2 + -0x45ae | -0x698 * -0x4 + -0x2f * -0x4f + -0x28a2 & _0x316827[_0x1c80ac(0x195)](_0x28b895++); + break; + case -0x85 * -0x8 + 0x1148 + -0x1561: + if (!(_0x28b895 + (0x1 * -0x8f1 + -0x67 * 0x3e + 0x21e5) < _0x2bc88b)) + throw new Error(_0x1c80ac(0x394)); + var _0x1740ac = ((0x1 * -0x1d4f + 0x1 * 0x24bf + -0x769 & _0x43b518) << 0xb19 + 0x4a * -0x48 + -0x3 * -0x343 | (-0x1ab4 + -0x205 * -0x8 + -0x3 * -0x399 & _0x316827[_0x1c80ac(0x195)](_0x28b895++)) << 0x1e52 + -0x144b + -0x5 * 0x1ff | (0x4c5 * -0x3 + 0x1 * -0x70b + 0x1599 & _0x316827[_0x1c80ac(0x195)](_0x28b895++)) << -0xf6e + -0x37 * -0x86 + 0x239 * -0x6 | 0x2 * -0xc31 + 0x26b5 + -0xe14 & _0x316827[_0x1c80ac(0x195)](_0x28b895++)) - (0x1 * -0x6b6b + -0x14502 + -0x1 * -0x2b06d); + if (!(0x86 * 0xd + -0x2210 + 0x1b42 <= _0x1740ac && _0x1740ac <= 0x141d1 * 0x1 + -0x3044 * -0x8b + 0x1 * -0xb76be)) + throw new Error(_0x1c80ac(0x24e) + _0x1740ac['toString'](-0x959 * 0x3 + -0x50e * -0x5 + -0x1 * -0x2d5)); + _0x4921e2[_0x79a402++] = _0x1740ac >> -0x1a89 * 0x1 + 0x125 * -0x1 + 0x1bb8 & -0x2 * 0x12e4 + 0xc1e + 0x1da9 | -0x4e * -0x332 + -0x6764 * -0x2 + -0xf004 * 0x1, + _0x4921e2[_0x79a402] = 0x23f0 + 0x2b * 0x11 + -0x4 * 0x8b3 & _0x1740ac | 0xb45d + -0xd352 + 0x3 * 0x53a7; + break; + default: + throw new Error(_0x1c80ac(0x330) + _0x43b518[_0x1c80ac(0x3ae)](-0x1f71 + 0xdc3 * -0x1 + 0x2d44)); + } + } + return _0x79a402 < _0x2a039f && (_0x4921e2[_0x1c80ac(0x259)] = _0x79a402), + String[_0x1c80ac(0x1e2)]['apply'](String, _0x4921e2); + } + + function _0x25bfe1(_0x5ad020, _0x1001f1) { + var _0xa8facb = _0x5612de; + for (var _0xdb2671 = [], _0x67f891 = new Array(-0x29 * 0x169 + 0x1d * -0x3c7 + -0x6 * -0x313a), _0x3fce02 = -0x47c * -0x1 + -0xc83 + 0x2ad * 0x3, _0x47254b = 0x1010 + -0xb * 0x29 + -0xe4d, _0x4445a9 = _0x5ad020[_0xa8facb(0x259)]; _0x3fce02 < _0x1001f1 && _0x47254b < _0x4445a9; _0x3fce02++) { + var _0x488af6 = _0x5ad020['charCodeAt'](_0x47254b++); + switch (_0x488af6 >> -0x1148 + 0xbd2 + 0x57a) { + case -0x1 * -0xb6b + 0x16f6 + -0x2261: + case -0x1678 + -0x1c12 + 0x3 * 0x10d9: + case 0xd01 * -0x2 + 0x2c2 + -0x1a * -0xe5: + case 0x1985 + 0x49 * -0x6d + 0x593: + case 0xbac + 0xd1a * 0x1 + -0x18c2: + case -0x11 * -0x1 + 0x1 * -0x18bd + 0x18b1: + case 0x1e6 + -0x129a * -0x1 + 0x1 * -0x147a: + case -0x1 * 0xf49 + 0xed + 0xe63: + _0x67f891[_0x3fce02] = _0x488af6; + break; + case 0x30e * 0xb + 0x255b + -0x1 * 0x46e9: + case 0x71 * -0xf + -0x1371 + 0x1a1d: + if (!(_0x47254b < _0x4445a9)) + throw new Error(_0xa8facb(0x394)); + _0x67f891[_0x3fce02] = (-0x407 * -0x5 + -0xcb5 + 0x74f * -0x1 & _0x488af6) << -0x585 + -0xbf8 + 0x1183 | -0x1 * 0x1e25 + 0x6d * -0x3b + 0x1281 * 0x3 & _0x5ad020['charCodeAt'](_0x47254b++); + break; + case -0x676 * -0x4 + -0x351 + -0x1679: + if (!(_0x47254b + (0x1b63 + -0x5 * 0x463 + -0x573) < _0x4445a9)) + throw new Error(_0xa8facb(0x394)); + _0x67f891[_0x3fce02] = (0x2dd * 0x7 + -0x15dd + 0x1e1 & _0x488af6) << 0x141c + 0x18e3 + -0x2cf3 | (-0x1 * -0x619 + 0x1 * 0x18bf + -0xa33 * 0x3 & _0x5ad020[_0xa8facb(0x195)](_0x47254b++)) << 0x1343 * -0x1 + -0x9 * 0x198 + 0x21a1 | 0x455 + -0x1ef3 + 0x1add & _0x5ad020['charCodeAt'](_0x47254b++); + break; + case -0x21f + -0x13f9 * 0x1 + -0x6b * -0x35: + if (!(_0x47254b + (-0xde * -0xb + 0x20cf + -0x2a57) < _0x4445a9)) + throw new Error(_0xa8facb(0x394)); + var _0x59357e = ((0x1081 + -0x1b6f + 0xaf5 & _0x488af6) << -0x1 * -0x511 + -0x45 * 0x55 + 0x11ea | (0x125a * 0x2 + 0x4bd * -0x2 + -0x1afb & _0x5ad020[_0xa8facb(0x195)](_0x47254b++)) << 0xbf4 * -0x2 + -0x1512 + 0x2d06 | (0x1aae + 0xd81 + -0x27f0 & _0x5ad020[_0xa8facb(0x195)](_0x47254b++)) << 0x1759 + -0x9a1 * -0x1 + 0x4c * -0x6f | 0x352 * -0xb + -0xde7 + 0x32ac & _0x5ad020[_0xa8facb(0x195)](_0x47254b++)) - (-0x57e9 + 0x19207 + -0x3a1e); + if (!(0x41b * -0x7 + 0x1658 + 0x1 * 0x665 <= _0x59357e && _0x59357e <= -0xf6 * -0x7ed + -0x1bcf3b + -0x4 * -0x90c5f)) + throw new Error('Character\x20outside\x20valid\x20Unicode\x20range:\x200x' + _0x59357e['toString'](-0x40f + -0x5 * -0x61f + 0x1c4 * -0xf)); + _0x67f891[_0x3fce02++] = _0x59357e >> -0x15e2 + 0x1 * -0xb51 + -0x43 * -0x7f & -0x11a2 + 0xb * -0x29 + 0x7cc * 0x3 | 0x1 * -0x3d14 + 0x159a9 + -0x1 * 0x4495, + _0x67f891[_0x3fce02] = 0x1 * 0x101 + -0x499 + 0x797 & _0x59357e | 0x1dec + 0x87f7 + 0x361d; + break; + default: + throw new Error('Bad\x20UTF-8\x20encoding\x200x' + _0x488af6[_0xa8facb(0x3ae)](-0x11 * 0x1dc + 0x1a53 + 0x559)); + } + if (_0x3fce02 >= -0xb3 * -0x16e + 0x1616 + 0x1a6 * -0x5b) { + var _0x2ceb4e = _0x3fce02 + (0x4 * -0x8fe + 0x665 * 0x3 + 0x10ca); + _0x67f891[_0xa8facb(0x259)] = _0x2ceb4e, + _0xdb2671[_0xdb2671[_0xa8facb(0x259)]] = String[_0xa8facb(0x1e2)][_0xa8facb(0x207)](String, _0x67f891), + _0x1001f1 -= _0x2ceb4e, + _0x3fce02 = -(-0x18 * -0x111 + 0x2 * 0x9e3 + -0x2d5d); + } + } + return _0x3fce02 > 0x1 * 0xb5d + -0x20a3 + 0x1546 && (_0x67f891['length'] = _0x3fce02, + _0xdb2671[_0xdb2671[_0xa8facb(0x259)]] = String['fromCharCode'][_0xa8facb(0x207)](String, _0x67f891)), + _0xdb2671['join'](''); + } + + function _0x31dfb5(_0x360a73, _0xe765ba) { + var _0x293f34 = _0x5612de; + return (null == _0xe765ba || _0xe765ba < -0x1605 + 0xf7 * 0xe + 0x883) && (_0xe765ba = _0x360a73[_0x293f34(0x259)]), + -0x6 * 0x30b + -0x1608 + 0x284a === _0xe765ba ? '' : /^[\x00-\x7f]*$/[_0x293f34(0x22b)](_0x360a73) || !/^[\x00-\xff]*$/[_0x293f34(0x22b)](_0x360a73) ? _0xe765ba === _0x360a73[_0x293f34(0x259)] ? _0x360a73 : _0x360a73[_0x293f34(0x3a7)](0x169 + 0x887 + 0x6a * -0x18, _0xe765ba) : _0xe765ba < 0x1d0d6 + 0x73e5 + -0x4 * 0x512f ? _0x45fbef(_0x360a73, _0xe765ba) : _0x25bfe1(_0x360a73, _0xe765ba); + } + + function _0xdda738(_0x21d8ce, _0x4bf3f9) { + var _0x46d91f = _0x5612de; + return null == _0x21d8ce || 0x1 * -0xab1 + -0x2567 * -0x1 + -0x1ab6 === _0x21d8ce[_0x46d91f(0x259)] ? _0x21d8ce : (_0x21d8ce = _0x532596(_0x21d8ce), + _0x4bf3f9 = _0x532596(_0x4bf3f9), + _0x75d5b3(_0x3d58e7(_0x183951(_0x21d8ce, !(0xad5 + 0xaa1 + -0x2 * 0xabb)), _0x231484(_0x183951(_0x4bf3f9, !(-0x106c + -0x1173 * -0x2 + -0x1279)))), !(-0x1 * 0x2c8 + -0xc8 + 0x391))); + } + + function _0x4bb829(_0x1f763e, _0x47e9cd) { + var _0x18b798 = _0x5612de; + return null == _0x1f763e || -0x12 * 0xe1 + 0x3cb * -0x5 + 0x22c9 === _0x1f763e[_0x18b798(0x259)] ? _0x1f763e : (_0x47e9cd = _0x532596(_0x47e9cd), + _0x31dfb5(_0x75d5b3(_0x4aaf04(_0x183951(_0x1f763e, !(-0x40 * -0x16 + -0x133 * -0x1d + -0x2846)), _0x231484(_0x183951(_0x47e9cd, !(0x1e64 + 0xcee + -0x2b51)))), !(-0x1daa + -0xbb1 + 0x295b)))); + } + + function _0x39dfe4() { + var _0x2fd4da = _0x5612de + , _0x21e994 = ''; + try { + window[_0x2fd4da(0x3be)] && (_0x21e994 = window[_0x2fd4da(0x3be)]['getItem']('_byted_param_sw')), + _0x21e994 && !window[_0x2fd4da(0x1dc)] || (_0x21e994 = window['localStorage'][_0x2fd4da(0x2d8)]('_byted_param_sw')); + } catch (_0x3b8cd9) { + } + if (_0x21e994) + try { + var _0x25acb5 = _0x4bb829(_0xb5350b(_0x21e994[_0x2fd4da(0x2a5)](0x19 * 0xc9 + -0x1bc8 + -0x82f * -0x1)), _0x21e994[_0x2fd4da(0x2a5)](0x2 * 0xa88 + -0x25 * -0x94 + -0x2a74, 0x2c6 * 0x5 + -0x14c6 + 0x1bc * 0x4)); + if ('on' === _0x25acb5) + return !(0x527 * -0x7 + 0x7b7 + 0x1c5a); + if (_0x2fd4da(0x304) === _0x25acb5) + return !(0x1b29 * -0x1 + -0xd8d + 0x1 * 0x28b7); + } catch (_0x1da1e4) { + } + return !(-0x158c + 0x10 * -0x13d + 0x1 * 0x295d); + } + + function _0x1b4bf1() { + var _0x4eb990 = _0x5612de; + return w_0x5c3140(_0x4eb990(0x211), { + get 0x0() { + var _0x448d97 = _0x4eb990; + return _0x448d97(0x384) != typeof navigator ? navigator : void (-0xd95 * -0x2 + -0x1 * 0x16ed + 0x5 * -0xd9); + }, + get 0x1() { + var _0x389269 = _0x4eb990; + return _0x389269(0x384) != typeof window ? window : void (0x63e + 0xb * -0x32b + -0x1c9b * -0x1); + }, + get 0x2() { + return _0x1db123; + }, + 0x3: Object, + get 0x4() { + return 'undefined' != typeof document ? document : void (0xe3a + 0x2499 + -0x32d3); + }, + get 0x5() { + var _0x813809 = _0x4eb990; + return _0x813809(0x384) != typeof location ? location : void (-0x1 * -0x2145 + 0x54e * -0x7 + -0x1 * -0x3dd); + }, + get 0x6() { + return _0x176a57; + }, + get 0x7() { + return 'undefined' != typeof history ? history : void (-0x17d + -0x1ef4 + 0x2071); + }, + 0x8: arguments + }, this); + } + + function _0x532cd9() { + var _0x3b3ba1 = _0x5612de; + return w_0x5c3140(_0x3b3ba1(0x190), { + get 0x0() { + return _0x176a57; + }, + get 0x1() { + return navigator; + }, + get 0x2() { + return PluginArray; + }, + get 0x3() { + return window; + }, + 0x4: arguments + }, this); + } + + function _0x3391fc() { + var _0x2aea9b = _0x5612de; + return w_0x5c3140(_0x2aea9b(0x266), { + get 0x0() { + return _0x12ada0; + }, + get 0x1() { + return navigator; + }, + 0x2: Object, + get 0x3() { + return window; + }, + 0x4: arguments, + 0x5: RegExp + }, this); + } + + function _0x21fa28() { + var _0x1106df = _0x5612de; + return w_0x5c3140(_0x1106df(0x17b), { + set 0x0(_0x2b3a0b) { + _0x12ada0 = _0x2b3a0b; + }, + 0x1: Object, + get 0x2() { + return window; + }, + 0x3: arguments + }, this); + } + + function _0x49b1d7(_0x4f4807) { + var _0x4f1753 = _0x5612de; + return w_0x5c3140(_0x4f1753(0x171), { + get 0x0() { + return _0x1230e7; + }, + get 0x1() { + return indexedDB; + }, + get 0x2() { + return _0xf8ccf1; + }, + get 0x3() { + return window; + }, + get 0x4() { + return DOMException; + }, + get 0x5() { + return _0x176a57; + }, + get 0x6() { + return _0x6caf; + }, + 0x7: arguments, + 0x8: _0x4f4807 + }, this); + } + + function _0x462256() { + var _0x1ed1aa = _0x5612de; + return w_0x5c3140(_0x1ed1aa(0x163), { + get 0x0() { + return _0x176a57; + }, + get 0x1() { + return document; + }, + get 0x2() { + return navigator; + }, + 0x3: arguments, + 0x4: RegExp + }, this); + } + + function _0x3cee0e() { + var _0x5f1e22 = _0x5612de; + return w_0x5c3140(_0x5f1e22(0x2dd), { + get 0x0() { + return navigator; + }, + get 0x1() { + return window; + }, + 0x2: arguments, + 0x3: RegExp + }, this); + } + + function _0x1f9824() { + var _0x1d4f72 = _0x5612de + , _0x5821af = ''; + if (_0x6caf['PLUGIN']) + _0x5821af = _0x6caf[_0x1d4f72(0x354)]; + else { + for (var _0x580f96 = [], _0x3ca683 = navigator[_0x1d4f72(0x1ba)] || [], _0x15f771 = 0x389 * 0x5 + -0x2a * -0xe2 + -0x36c1; _0x15f771 < -0xe3b * 0x1 + 0x1a76 + -0x6 * 0x209; _0x15f771++) + try { + for (var _0x5a4f6c = _0x3ca683[_0x15f771], _0x3a1f6 = [], _0x1a6da9 = -0x869 + -0x111 * 0x14 + -0x1dbd * -0x1; _0x1a6da9 < _0x5a4f6c[_0x1d4f72(0x259)]; _0x1a6da9++) + _0x5a4f6c[_0x1d4f72(0x37c)](_0x1a6da9) && _0x3a1f6[_0x1d4f72(0x36e)](_0x5a4f6c['item'](_0x1a6da9)[_0x1d4f72(0x1ab)]); + var _0x1ae7c8 = _0x5a4f6c[_0x1d4f72(0x341)] + ''; + _0x5a4f6c['version'] && (_0x1ae7c8 += _0x5a4f6c[_0x1d4f72(0x2c1)] + ''), + _0x1ae7c8 += _0x5a4f6c['filename'] + '', + _0x1ae7c8 += _0x3a1f6[_0x1d4f72(0x24f)](''), + _0x580f96['push'](_0x1ae7c8); + } catch (_0x4e31c6) { + } + _0x5821af = _0x580f96[_0x1d4f72(0x24f)]('##'), + _0x6caf[_0x1d4f72(0x354)] = _0x5821af; + } + return _0x5821af[_0x1d4f72(0x2a5)](-0x1 * 0x26c + -0x1e2f + 0x209b, -0x26ff + 0x1b6e * 0x1 + 0xf91); + } + + function _0x30412e() { + var _0x5a747f = _0x5612de + , _0x5640f8 = []; + try { + var _0x3405cb = navigator[_0x5a747f(0x1ba)]; + if (_0x3405cb) { + for (var _0x53b06e = -0x8aa + 0x341 + 0x115 * 0x5; _0x53b06e < _0x3405cb[_0x5a747f(0x259)]; _0x53b06e++) + for (var _0xa74ec6 = -0x1829 + 0x1f9c + -0x773; _0xa74ec6 < _0x3405cb[_0x53b06e][_0x5a747f(0x259)]; _0xa74ec6++) { + var _0x2bcc6c = [_0x3405cb[_0x53b06e][_0x5a747f(0x19e)], _0x3405cb[_0x53b06e][_0xa74ec6][_0x5a747f(0x1ab)], _0x3405cb[_0x53b06e][_0xa74ec6][_0x5a747f(0x169)]][_0x5a747f(0x24f)]('|'); + _0x5640f8['push'](_0x2bcc6c); + } + } + } catch (_0x11c0f4) { + } + return _0x5640f8; + } + + function _0x28e2ec() { + var _0x3301ae = _0x5612de; + return w_0x5c3140(_0x3301ae(0x1a6), { + get 0x0() { + return navigator; + }, + get 0x1() { + return _0x1f9824; + }, + get 0x2() { + return window; + }, + 0x3: arguments + }, this); + } + + function _0x5863d1() { + var _0x247350 = _0x5612de; + return w_0x5c3140(_0x247350(0x21c), { + get 0x0() { + return _0x462335; + }, + get 0x1() { + return _0x39dfe4; + }, + get 0x2() { + return _0x1b4bf1; + }, + get 0x3() { + return _0x53b77d; + }, + get 0x4() { + return _0x49b1d7; + }, + get 0x5() { + return _0x3ed707; + }, + get 0x6() { + return _0x532cd9; + }, + get 0x7() { + return _0x3391fc; + }, + get 0x8() { + return _0x462256; + }, + get 0x9() { + return _0x3cee0e; + }, + get 0xa() { + return _0x28e2ec; + }, + get 0xb() { + return _0x6caf; + }, + 0xc: arguments + }, this); + } + + function _0x2a900b(_0x29489b) { + var _0x3163ac = _0x5612de; + for (var _0x2edc36 = Object[_0x3163ac(0x17f)](_0x29489b), _0x4da10f = -0x26c9 + -0x11f1 * -0x1 + 0x14d8, _0x26fc90 = _0x2edc36[_0x3163ac(0x259)] - (0x1cea + -0x5 * 0x2f5 + 0x8 * -0x1c4); _0x26fc90 >= -0x2 * -0x397 + 0x17ce + -0x1efc; _0x26fc90--) { + _0x4da10f = (_0x29489b[_0x2edc36[_0x26fc90]] ? 0x455 * 0x9 + 0x1715 + -0x3e11 : -0x1 * -0x22f7 + 0x1f6c * 0x1 + -0x203 * 0x21) << _0x2edc36[_0x3163ac(0x259)] - _0x26fc90 - (-0x64c * -0x6 + -0x163 + -0x224 * 0x11) | _0x4da10f; + } + return _0x4da10f; + } + + function _0x246aeb(_0x1b02ae, _0x32abc9) { + var _0x172517 = _0x5612de; + for (var _0x4d2e6c = 0x1e44 + 0x2 * 0x443 + 0x2 * -0x1365; _0x4d2e6c < _0x32abc9[_0x172517(0x259)]; _0x4d2e6c++) + _0x1b02ae = (-0xa15f + -0x1a803 + 0x349a1) * _0x1b02ae + _0x32abc9[_0x172517(0x195)](_0x4d2e6c) >>> -0x2c6 + 0x2 * -0x126c + 0x279e; + return _0x1b02ae; + } + + function _0x184783(_0x9867bc, _0x21d0e6) { + var _0x25b989 = _0x5612de; + for (var _0x21703e = -0xa6 * -0x1 + 0xbf * -0x5 + -0x315 * -0x1; _0x21703e < _0x21d0e6[_0x25b989(0x259)]; _0x21703e++) + _0x9867bc = (-0x6275 + 0xd966 + -0x5f * -0x172) * (_0x9867bc ^ _0x21d0e6['charCodeAt'](_0x21703e)) >>> -0xf * 0x1a + 0x7 * -0x543 + 0x443 * 0x9; + return _0x9867bc; + } + + function _0xf119da(_0x57529f, _0x19340f) { + var _0x1de06d = _0x5612de; + for (var _0x3e7b02 = 0x45a * 0x1 + -0xe5d * 0x2 + 0x1860; _0x3e7b02 < _0x19340f[_0x1de06d(0x259)]; _0x3e7b02++) { + var _0x25af5d = _0x19340f[_0x1de06d(0x195)](_0x3e7b02); + if (_0x25af5d >= -0x12321 + 0x417 * -0xa + 0x22407 && _0x25af5d <= 0x92d4 + 0xb6fd + -0x6dd2 && _0x3e7b02 < _0x19340f[_0x1de06d(0x259)]) { + var _0xfb40a0 = _0x19340f['charCodeAt'](_0x3e7b02 + (0x688 * 0x4 + 0x145 * 0x17 + -0x3752)); + -0xa62a + -0x10ba7 + -0x5d67 * -0x7 == (0xfbaf + 0x1ce63 + -0x1ce12 & _0xfb40a0) && (_0x25af5d = ((-0x9fe * 0x1 + 0x2 * -0xf33 + 0x2c63 & _0x25af5d) << -0x86d * 0x4 + -0x211 * 0x9 + -0x1 * -0x3457) + (-0x1b17 + 0xb6c + 0x13aa & _0xfb40a0) + (0x2 * 0xab9c + -0x18f24 + -0x4 * -0x4dfb), + _0x3e7b02 += -0x1e31 + -0xa * 0x38b + -0x150 * -0x32); + } + _0x57529f = (-0x3a * 0x7e4 + -0x3827 * -0x2 + 0x151 * 0x1c9) * _0x57529f + _0x25af5d >>> 0x3e7 + -0x1 * -0x5e7 + -0x9ce; + } + return _0x57529f; + } + + function _0x53f850(_0x450920) { + var _0x30ac3f = _0x5612de + , _0x4eeea4 = _0x450920 || ''; + return _0x4eeea4 = (_0x4eeea4 = -(-0x13 * -0x5a + 0xb2f + -0x11dc) !== (_0x4eeea4 = _0x4eeea4[_0x30ac3f(0x377)](/(http:\/\/|https:\/\/|\/\/)?[^\/]*/, ''))['indexOf']('?') ? _0x4eeea4[_0x30ac3f(0x3a7)](-0x819 * 0x3 + 0x1d1c + -0x9 * 0x89, _0x4eeea4[_0x30ac3f(0x2c5)]('?')) : _0x4eeea4) || '/'; + } + + function _0x446110(_0xc80785) { + var _0x5bf664 = _0x5612de + , _0x471548 = _0xc80785 || '' + , _0x2cf363 = _0x471548[_0x5bf664(0x1c2)](/[?](\w+=.*&?)*/) + , + _0x137237 = (_0x471548 = _0x2cf363 ? _0x2cf363[-0x2292 + -0x4 * 0x520 + 0x173 * 0x26][_0x5bf664(0x3a7)](0x112 * 0x11 + 0x61 + -0x2 * 0x949) : '') ? _0x471548[_0x5bf664(0x342)]('&') : null + , _0x290269 = {}; + if (_0x137237) { + for (var _0x15cd4c = 0xd54 + -0x49f + 0x2e7 * -0x3; _0x15cd4c < _0x137237[_0x5bf664(0x259)]; _0x15cd4c++) + _0x290269[_0x137237[_0x15cd4c]['split']('=')[0x65c + 0x3f8 * -0x2 + 0x194]] = _0x137237[_0x15cd4c][_0x5bf664(0x342)]('=')[0x15bb * -0x1 + -0x50b * 0x4 + 0x29e8]; + } + return _0x290269; + } + + function _0x3a1cf3(_0x8af04, _0xe4b509) { + var _0x28f81c = _0x5612de; + if (!_0x8af04 || '{}' === JSON[_0x28f81c(0x1e6)](_0x8af04)) + return {}; + for (var _0x257ee8 = Object[_0x28f81c(0x17f)](_0x8af04)['sort'](), _0x24c84a = {}, _0x4bfbcd = -0x1 * 0x21fb + -0x25 * -0x16 + 0x1ecd; _0x4bfbcd < _0x257ee8[_0x28f81c(0x259)]; _0x4bfbcd++) + _0x24c84a[_0x257ee8[_0x4bfbcd]] = _0xe4b509 ? _0x8af04[_0x257ee8[_0x4bfbcd]] + '' : _0x8af04[_0x257ee8[_0x4bfbcd]]; + return _0x24c84a; + } + + function _0x20b77a(_0x3745f1) { + var _0x211da5 = _0x5612de; + return Array[_0x211da5(0x2af)](_0x3745f1) ? _0x3745f1['map'](_0x20b77a) : _0x3745f1 instanceof Object ? Object[_0x211da5(0x17f)](_0x3745f1)[_0x211da5(0x38e)]()[_0x211da5(0x376)](function (_0x4b45b3, _0x5188a8) { + return _0x4b45b3[_0x5188a8] = _0x20b77a(_0x3745f1[_0x5188a8]), + _0x4b45b3; + }, {}) : _0x3745f1; + } + + function _0x483e03(_0x44c650) { + var _0x498394 = _0x5612de; + if (!_0x44c650 || '{}' === JSON[_0x498394(0x1e6)](_0x44c650)) + return ''; + for (var _0x52341a = Object['keys'](_0x44c650)['sort'](), _0x3c151a = '', _0x4f5c3f = -0xefc + 0x25ba + 0x29 * -0x8e; _0x4f5c3f < _0x52341a[_0x498394(0x259)]; _0x4f5c3f++) + _0x3c151a += [_0x52341a[_0x4f5c3f]] + '=' + _0x44c650[_0x52341a[_0x4f5c3f]] + '&'; + return _0x3c151a; + } + + function _0x4bae98() { + var _0x33d77a = _0x5612de; + try { + return !!window[_0x33d77a(0x3be)]; + } catch (_0x2002b2) { + return !(0xcab + -0xcff + 0x2 * 0x2a); + } + } + + function _0x275e5a() { + try { + return !!window['localStorage']; + } catch (_0x2df8fe) { + return !(-0x1ff * -0xd + 0x1cf1 * -0x1 + -0x17f * -0x2); + } + } + + function _0x4fdb47() { + var _0x34b6b1 = _0x5612de; + try { + return !!window[_0x34b6b1(0x218)]; + } catch (_0x3b6071) { + return !(0xedb * -0x1 + 0x41b * -0x5 + -0x2 * -0x11b1); + } + } + + function _0x1afbc2() { + return _0x5af46a(_0x4fdb47()) + _0x5af46a(_0x275e5a()) + _0x5af46a(_0x4bae98()); + } + + function _0xc6f828(_0x23a724) { + var _0x198ea0 = _0x5612de, _0x112670, _0x256bde = document[_0x198ea0(0x260)](_0x198ea0(0x24d)); + _0x256bde[_0x198ea0(0x302)] = 0x1813 * -0x1 + 0x1f94 + 0x751 * -0x1, + _0x256bde[_0x198ea0(0x245)] = -0x205f + 0x4f6 + -0x1b79 * -0x1; + var _0xa760ad = _0x256bde['getContext']('2d'); + _0xa760ad[_0x198ea0(0x18f)] = '14px\x20serif', + _0xa760ad[_0x198ea0(0x196)]('龘ฑภ경', 0x2162 * 0x1 + 0xbbb + -0x2d1b, -0x1 * -0x138a + -0x164e + 0x90 * 0x5), + _0xa760ad[_0x198ea0(0x3a0)] = -0xa67 + 0x7c * 0x39 + 0x103 * -0x11, + _0xa760ad[_0x198ea0(0x268)] = 0x22cf * 0x1 + -0x4d3 + 0x5 * -0x5ff, + _0xa760ad[_0x198ea0(0x340)] = _0x198ea0(0x21b), + _0xa760ad['arc'](-0x1 * -0x5dd + -0x6de + 0x109, -0x336 * 0x4 + -0x167a + 0x712 * 0x5, -0x7c8 + 0xb80 + -0x3b * 0x10, 0x411 + 0x38 * -0xaa + 0x3d * 0x8b, 0x7f * -0x20 + 0x11bb + -0x1d9), + _0xa760ad['stroke'](), + _0x112670 = _0x256bde[_0x198ea0(0x239)](); + for (var _0x367ff8 = 0xfa7 * -0x1 + -0x53 * 0x6d + 0x32fe; _0x367ff8 < 0x17b + -0x1b0e * 0x1 + 0x2b * 0x99; _0x367ff8++) + _0x23a724 = (0x1675 * -0xc + -0xe91a + 0x2f6d5) * _0x23a724 + _0x112670['charCodeAt'](_0x23a724 % _0x112670[_0x198ea0(0x259)]) >>> -0x44 + 0xfa0 * -0x2 + -0x1f84 * -0x1; + return _0x23a724; + } + + var _0x37a93a = -0x1b3b + 0x2136 + -0x1 * 0x5fb; + + function _0x18b4be() { + var _0x4d1378 = _0x5612de; + try { + return _0x37a93a || (_0x462335[_0x4d1378(0x219)] ? -(-0x1 * 0x19d5 + -0x1e5d + 0x3833) : _0x37a93a = _0xc6f828(0x15 * 0x144d79ba + 0x8831fd63 + -0x153df3ab6)); + } catch (_0x3c9d0d) { + return -(0x1e58 + -0x26 * -0xcb + 0x3c79 * -0x1); + } + } + + function _0x1a39c4() { + if (_0x37a93a) + return _0x37a93a; + _0x37a93a = _0xc6f828(-0x361cdc2a * -0x5 + 0x17c5 * 0xb369b + -0x2f7 * 0x6a0ca6); + } + + var _0x45ece5 = { + 'fpProfileUrl': _0x5612de(0x172) + }; + + function _0x130155() { + var _0x5e9262 = _0x5612de + , _0x380346 = window[_0x5e9262(0x328)]; + return _0x380346[_0x5e9262(0x302)] + '_' + _0x380346[_0x5e9262(0x245)] + '_' + _0x380346[_0x5e9262(0x17e)]; + } + + function _0x2a76f8() { + var _0x1d2b79 = _0x5612de + , _0xa8cb6a = window['screen']; + return _0xa8cb6a[_0x1d2b79(0x38a)] + '_' + _0xa8cb6a[_0x1d2b79(0x276)]; + } + + function _0x3da279() { + return new Promise(function (_0x2a10ed) { + var _0x7d3f27 = w_0x25f3; + if (_0x7d3f27(0x1b2) in navigator) + try { + navigator['getBattery']()[_0x7d3f27(0x1ed)](function (_0x13ff1d) { + var _0x479b99 = _0x7d3f27; + _0x2a10ed(_0x13ff1d[_0x479b99(0x3ac)] + '_' + _0x13ff1d[_0x479b99(0x2b0)] + '_' + _0x13ff1d[_0x479b99(0x353)] + '_' + _0x13ff1d[_0x479b99(0x213)]); + }); + } catch (_0x2c28b8) { + _0x2a10ed(''); + } + else + _0x2a10ed(''); + } + ); + } + + var _0x47ec2a = {}; + + function _0x299f3a() { + var _0x2531b6 = _0x5612de, _0x1a8a34, _0x2e0843 = _0x2531b6(0x33b), _0x29ea20 = -0x12a4 + 0x30b + 0xf99; + void (-0x2b * 0xa + -0x1d8d + 0x1f3b) !== navigator[_0x2e0843] && (_0x29ea20 = navigator[_0x2e0843]); + try { + document[_0x2531b6(0x188)](_0x2531b6(0x240)), + _0x1a8a34 = !(-0x1f61 + 0x19 * 0x22 + 0x1c0f); + } catch (_0x3992e0) { + _0x1a8a34 = !(0x17 * -0x5d + -0x1 * 0x209 + 0x377 * 0x3); + } + var _0x11190a = _0x2531b6(0x1ea) in window; + return Object[_0x2531b6(0x2a0)](_0x47ec2a, { + 'maxTouchPoints': _0x29ea20, + 'touchEvent': _0x1a8a34, + 'touchStart': _0x11190a + }), + _0x29ea20 + '_' + _0x1a8a34 + '_' + _0x11190a; + } + + function _0xbe842b() { + return _0x47ec2a; + } + + function _0x4649a1() { + var _0x3b6f20 = _0x5612de + , _0x4256a7 = new Date(); + _0x4256a7[_0x3b6f20(0x22d)](-0x1477 + 0xde4 * -0x1 + 0xb74 * 0x3), + _0x4256a7[_0x3b6f20(0x294)](-0x360 + -0x263d + 0x29a2); + var _0x213a03 = -_0x4256a7[_0x3b6f20(0x237)](); + _0x4256a7[_0x3b6f20(0x294)](-0x9b5 + 0x5 * 0x77e + -0x2 * 0xddb); + var _0x5a2621 = -_0x4256a7[_0x3b6f20(0x237)](); + return Math['min'](_0x213a03, _0x5a2621); + } + + function _0x487576() { + var _0x5557a1 = _0x5612de; + if (_0x6caf[_0x5557a1(0x2db)]) + return _0x6caf[_0x5557a1(0x2db)]; + try { + var _0x4f28ec = document[_0x5557a1(0x260)](_0x5557a1(0x24d))[_0x5557a1(0x2f9)]('webgl') + , _0x36473d = _0x4f28ec['getExtension'](_0x5557a1(0x375)) + , + _0x3ebb8d = _0x4f28ec[_0x5557a1(0x383)](_0x36473d['UNMASKED_VENDOR_WEBGL']) + '/' + _0x4f28ec['getParameter'](_0x36473d[_0x5557a1(0x39e)]); + return _0x6caf[_0x5557a1(0x2db)] = _0x3ebb8d, + _0x3ebb8d; + } catch (_0x2b9fa5) { + return ''; + } + } + + function _0x4f323e() { + var _0x2968a5 = _0x5612de + , _0xf55c22 = [_0x2968a5(0x27b), 'sans-serif', _0x2968a5(0x1fb)] + , _0x3ed5f8 = {} + , _0x2fef11 = {}; + if (!document[_0x2968a5(0x189)]) + return '0'; + for (var _0x6f70bc = -0x2271 + 0x2f * 0x72 + 0xd83, _0x3e66d7 = _0xf55c22; _0x6f70bc < _0x3e66d7['length']; _0x6f70bc++) { + var _0x189f91 = _0x3e66d7[_0x6f70bc] + , _0x2bf145 = document[_0x2968a5(0x260)](_0x2968a5(0x1f7)); + _0x2bf145['innerHTML'] = _0x2968a5(0x2a3), + _0x2bf145['style'][_0x2968a5(0x362)] = '72px', + _0x2bf145['style']['fontFamily'] = _0x189f91, + document[_0x2968a5(0x189)][_0x2968a5(0x26c)](_0x2bf145), + _0x3ed5f8[_0x189f91] = _0x2bf145[_0x2968a5(0x2ee)], + _0x2fef11[_0x189f91] = _0x2bf145['offsetHeight'], + document[_0x2968a5(0x189)][_0x2968a5(0x30d)](_0x2bf145); + } + var _0x4f59cf, + _0x4abd0f = ['Trebuchet\x20MS', _0x2968a5(0x177), _0x2968a5(0x25d), 'Segoe\x20UI', _0x2968a5(0x321), _0x2968a5(0x192), 'MT\x20Extra', _0x2968a5(0x3a9), _0x2968a5(0x28e), _0x2968a5(0x346), 'Meiryo', _0x2968a5(0x247), _0x2968a5(0x1ef), _0x2968a5(0x1d8), 'IrisUPC', 'Palatino', 'Colonna\x20MT', 'Playbill', _0x2968a5(0x1f4), _0x2968a5(0x288), _0x2968a5(0x1f2), _0x2968a5(0x38d), 'OPTIMA', _0x2968a5(0x2d9), _0x2968a5(0x348), _0x2968a5(0x2b3), 'Savoye\x20LET', _0x2968a5(0x3c5), _0x2968a5(0x21e)]; + _0x4f59cf = -0x255b * -0x1 + -0x1 * -0x139d + -0x38f8; + for (var _0x16c300 = -0x1 * 0xc3e + -0x20ff + 0x2d3d; _0x16c300 < _0x4abd0f[_0x2968a5(0x259)]; _0x16c300++) { + var _0x2c3be4, _0x37b937 = _0x350075(_0xf55c22); + try { + for (_0x37b937['s'](); !(_0x2c3be4 = _0x37b937['n']())[_0x2968a5(0x1e3)];) { + var _0x400340 = _0x2c3be4['value'] + , _0x200821 = document[_0x2968a5(0x260)]('span'); + _0x200821[_0x2968a5(0x36a)] = _0x2968a5(0x2a3), + _0x200821['style'][_0x2968a5(0x362)] = _0x2968a5(0x283), + _0x200821[_0x2968a5(0x280)]['fontFamily'] = _0x4abd0f[_0x16c300] + ',' + _0x400340, + document['body'][_0x2968a5(0x26c)](_0x200821); + var _0x533f71 = _0x200821[_0x2968a5(0x2ee)] !== _0x3ed5f8[_0x400340] || _0x200821[_0x2968a5(0x2a4)] !== _0x2fef11[_0x400340]; + if (document[_0x2968a5(0x189)][_0x2968a5(0x30d)](_0x200821), + _0x533f71) { + _0x16c300 < -0x45 * -0x8a + -0x7a9 + -0x1d6b && (_0x4f59cf |= -0x239 + 0x3 * -0x458 + 0xf42 << _0x16c300); + break; + } + } + } catch (_0x5c1c6e) { + _0x37b937['e'](_0x5c1c6e); + } finally { + _0x37b937['f'](); + } + } + return _0x4f59cf[_0x2968a5(0x3ae)](-0xe97 + -0x183c + -0x1 * -0x26e3); + } + + function _0x5090f5() { + var _0x458c87 = _0x5612de; + try { + new WebSocket(_0x458c87(0x199)); + } catch (_0x34e866) { + return _0x34e866[_0x458c87(0x312)]; + } + } + + function _0x468d57() { + var _0x2ef0c5 = _0x5612de; + return eval[_0x2ef0c5(0x3ae)]()[_0x2ef0c5(0x259)]; + } + + function _0x5bbaf0() { + var _0x5ec561 = _0x5612de + , _0x5971d6 = window['RTCPeerConnection'] || window[_0x5ec561(0x2e0)] || window[_0x5ec561(0x19a)] + , _0x5aac87 = []; + return new Promise(function (_0x4e6ec1) { + var _0x5af634 = _0x5ec561; + (_0x176a57() || navigator[_0x5af634(0x229)][_0x5af634(0x202)]()[_0x5af634(0x2c5)](_0x5af634(0x20e)) > -0x707 + -0x106 * 0x10 + -0x1 * -0x1767) && _0x4e6ec1(''); + try { + if (_0x5971d6 && 'function' == typeof _0x5971d6) { + var _0xadabb6 = new _0x5971d6({ + 'iceServers': [{ + 'urls': _0x5af634(0x27c) + }] + }) + , _0x4405e6 = function () { + } + , _0x4de1d1 = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/; + _0xadabb6[_0x5af634(0x1eb)] = function () { + var _0x374eb0 = _0x5af634; + _0x374eb0(0x162) === _0xadabb6['iceGatheringState'] && (_0xadabb6[_0x374eb0(0x27a)](), + _0xadabb6 = null); + } + , + _0xadabb6['onicecandidate'] = function (_0x4e2717) { + var _0x18e62e = _0x5af634; + if (_0x4e2717 && _0x4e2717[_0x18e62e(0x227)] && _0x4e2717[_0x18e62e(0x227)][_0x18e62e(0x227)]) { + if ('' === _0x4e2717['candidate'][_0x18e62e(0x227)]) + return; + var _0x1d1cd1 = _0x4de1d1['exec'](_0x4e2717[_0x18e62e(0x227)][_0x18e62e(0x227)]); + if (null !== _0x1d1cd1 && _0x1d1cd1[_0x18e62e(0x259)] > -0x1675 * 0x1 + -0x19 * 0xdd + 0x19 * 0x1c3) { + var _0xbaa956 = _0x1d1cd1[-0x1bdd * 0x1 + 0x13 * -0x1df + -0x11 * -0x3bb]; + -(0x1 * -0x12c1 + -0xa * 0x38c + -0x4ee * -0xb) === _0x5aac87[_0x18e62e(0x2c5)](_0xbaa956) && _0x5aac87[_0x18e62e(0x36e)](_0xbaa956); + } + } else + _0x4e6ec1(_0x5aac87[_0x18e62e(0x24f)]()); + } + , + _0xadabb6[_0x5af634(0x1e5)]('') + // setTimeout(function () { + // var _0x36b72e = _0x5af634; + // _0x4e6ec1(_0x5aac87[_0x36b72e(0x24f)]()); + // }, 0x2205 * 0x1 + 0x1d4 * -0x10 + -0x67 * 0x7); + var _0x38a358 = _0xadabb6[_0x5af634(0x2f5)](); + _0x38a358 instanceof Promise ? _0x38a358[_0x5af634(0x1ed)](function (_0x33e26c) { + return _0xadabb6['setLocalDescription'](_0x33e26c); + })[_0x5af634(0x1ed)](_0x4405e6) : _0xadabb6['createOffer'](function (_0x1c6e51) { + _0xadabb6['setLocalDescription'](_0x1c6e51, _0x4405e6, _0x4405e6); + }, _0x4405e6); + } else + _0x4e6ec1(''); + } catch (_0x31debb) { + _0x4e6ec1(''); + } + } + ); + } + + function _0x2e02ca() { + var _0x74cdcb = _0x5612de; + return _0x74cdcb(0x3af)[_0x74cdcb(0x377)](/[xy]/g, function (_0x5790dd) { + var _0x52f0b5 = _0x74cdcb + , + _0x2eeaf3 = (0x506 + -0x85c + -0x2 * -0x1b3) * Math[_0x52f0b5(0x18e)]() | 0xbb9 * -0x1 + 0x1 * 0x9dd + 0x1dc; + return ('x' == _0x5790dd ? _0x2eeaf3 : -0xd1f * 0x1 + 0x1df6 + -0x1 * 0x10d4 & _0x2eeaf3 | 0x182d + -0x10 * 0x262 + -0xdfb * -0x1)[_0x52f0b5(0x3ae)](0x1a65 + 0x3 * 0x17a + 0x13b * -0x19); + }); + } + + function _0x2e2fa0(_0x1a6938) { + var _0x5aaa98 = _0x5612de; + return -0x14 * 0x1df + 0x649 + 0x1f45 === _0x1a6938[_0x5aaa98(0x259)] && _0x246aeb(-0x21ad + 0x819 * -0x1 + 0x29c6, _0x1a6938[_0x5aaa98(0x1b0)](-0x1a55 * 0x1 + 0x1279 + 0x7dc, 0x31b + -0xcb4 * -0x1 + -0xfaf))[_0x5aaa98(0x3ae)]()['substring'](0x17cc + 0x1 * -0xd19 + -0x3 * 0x391, -0x1ff * 0x1 + 0x2579 + -0x1c6 * 0x14) === _0x1a6938[_0x5aaa98(0x1b0)](0x1746 + 0x7b8 + -0x1ede, -0x369 * -0x2 + -0x5e5 * 0x4 + 0xbc * 0x17); + } + + function _0x178d7c() { + var _0x4d5814 = _0x5612de + , _0x2d4341 = _0x24dc34(_0x4d5814(0x262)); + return _0x2d4341 && _0x2e2fa0(_0x2d4341) || _0x1f42cb(_0x4d5814(0x262), _0x2d4341 = ((_0x2d4341 = _0x2e02ca()) + _0x246aeb(0x17 * 0x12d + -0x6 * 0x3f7 + -0x341, _0x2d4341))[_0x4d5814(0x1b0)](0x2d1 * -0xd + 0x3a * -0x7c + 0x40b5, 0x188e + 0x13 * -0x127 + -0x287)), + _0x2d4341; + } + + function _0x3c0a68(_0x449fe8, _0x5ede0c) { + var _0x40bd5b = _0x5612de + , _0x401085 = null; + try { + _0x401085 = document['getElementsByTagName'](_0x40bd5b(0x221))[-0x2581 + 0x844 + -0x1d3d * -0x1]; + } catch (_0x599ca4) { + _0x401085 = document['body']; + } + if (null !== _0x401085) { + var _0x3a3665 = document[_0x40bd5b(0x260)](_0x40bd5b(0x361)) + , + _0x215422 = '_' + parseInt((0x3df0 + 0x13d + -0x181d) * Math['random'](), 0x1 * -0x2141 + -0x1 * -0xf82 + 0x11c9) + '_' + new Date()[_0x40bd5b(0x16d)](); + _0x449fe8 += _0x40bd5b(0x1be) + _0x215422, + _0x3a3665[_0x40bd5b(0x16b)] = _0x449fe8, + window[_0x215422] = function (_0x1efd79) { + var _0x4afb72 = _0x40bd5b; + try { + _0x5ede0c(_0x1efd79), + _0x401085[_0x4afb72(0x30d)](_0x3a3665), + delete window[_0x215422]; + } catch (_0xf98f95) { + } + } + , + _0x401085[_0x40bd5b(0x26c)](_0x3a3665); + } + } + + function _0x4072ad(_0x18cd85) { + return w_0x5c3140('484e4f4a403f524300022c395eafc0a4000000004a04440d00000030110104324700040700004202110100030443011400011100010211010102110102110104110001430207000143021842000200404f4c4d4a4b484946474445424340415e5f5c5d5a5b58595657546f6c6d6a6b686966676465626360617e7f7c7d7a7b78797677743e3f3c3d3a3b383936372320', { + get 0x0() { + return _0x325f58; + }, + get 0x1() { + return _0x328bde; + }, + get 0x2() { + return _0xdda738; + }, + 0x3: arguments, + 0x4: _0x18cd85 + }, this); + } + + function _0x5c0cdd(_0x380d2b, _0x1c644a) { + var _0x349270 = _0x5612de; + if (_0x1c644a) { + for (var _0x25fd23 = -0xbdc + -0xd78 * -0x2 + -0xf14, _0x2c655d = -0x1 * -0xbdb + 0xc2 + -0xc9d; _0x2c655d < _0x380d2b[_0x349270(0x259)]; _0x2c655d++) + _0x380d2b[_0x2c655d]['p'] && (_0x380d2b[_0x2c655d]['r'] = _0x1c644a[_0x25fd23++]); + } + var _0x20da32 = ''; + _0x380d2b[_0x349270(0x254)](function (_0x564ece) { + _0x20da32 += _0x5af46a(_0x564ece['r']) + '^^'; + }), + _0x20da32 += _0x30c916(); + var _0x2803a3 = _0x2e02ca() + , + _0x273650 = Math[_0x349270(0x1cf)](_0x2803a3[_0x349270(0x195)](0x127a + 0x22e0 + -0x3557 * 0x1) / (0x1 * 0x199f + -0xab4 + -0x1 * 0xee3)) + _0x2803a3[_0x349270(0x195)](-0x15 * 0xca + -0x1ff6 * -0x1 + 0x1 * -0xf61) % (-0x1085 + -0x553 + 0x15e0) + , + _0x102025 = _0x2803a3['substring'](0x1 * -0x1ebf + 0x13a1 + 0x1e * 0x5f, 0x5c7 + -0x5a5 + -0x5 * 0x6 + _0x273650); + _0x20da32 = _0x328bde(_0xdda738(_0x20da32, _0x102025) + _0x2803a3); + var _0x197e34 = _0x45ece5['fpProfileUrl']; + _0x3c0a68(_0x197e34 += _0x349270(0x173) + encodeURIComponent(_0x20da32) + '&', function (_0x5b4c95) { + var _0x3c0c48 = _0x349270; + 0x1db6 + -0x21d * 0x1 + -0x1b99 == _0x5b4c95[_0x3c0c48(0x356)] && _0x5b4c95['fp'] && (_0x462335[_0x3c0c48(0x35f)] = _0x5b4c95['fp'], + _0x462335[_0x3c0c48(0x363)] = _0x4072ad(_0x5b4c95['fp']), + _0x1f42cb('tt_scid', _0x5b4c95['fp'])); + }); + } + + function _0x1c3b6d(_0x20f8c9) { + var _0x596053 = _0x5612de; + return w_0x5c3140(_0x596053(0x242), { + get 0x0() { + return navigator; + }, + get 0x1() { + return window; + }, + get 0x2() { + return document; + }, + get 0x3() { + return _0x30c916; + }, + get 0x4() { + return _0x1afbc2; + }, + get 0x5() { + return _0x18b4be; + }, + get 0x6() { + return _0x130155; + }, + get 0x7() { + return _0x2a76f8; + }, + get 0x8() { + return _0x3da279; + }, + get 0x9() { + return _0x299f3a; + }, + get 0xa() { + return _0x4649a1; + }, + get 0xb() { + return _0x487576; + }, + get 0xc() { + return _0x4f323e; + }, + get 0xd() { + return _0x1f9824; + }, + get 0xe() { + return _0x24dc34; + }, + get 0xf() { + return _0x5090f5; + }, + get 0x10() { + return _0x468d57; + }, + get 0x11() { + return _0x5bbaf0; + }, + get 0x12() { + return _0x45b94b; + }, + get 0x13() { + return _0x178d7c; + }, + get 0x14() { + return _0x5af46a; + }, + 0x15: Promise, + get 0x16() { + return _0x5c0cdd; + }, + 0x17: arguments, + 0x18: _0x20f8c9 + }, this); + } + + function _0x20cbf3(_0x38a8fe, _0x406d4b, _0x2e7a9b) { + var _0x1b116c = _0x5612de; + return w_0x5c3140(_0x1b116c(0x233), { + 0x0: String, + 0x1: Date, + get 0x2() { + return _0x45b94b; + }, + get 0x3() { + return _0x184783; + }, + get 0x4() { + return location; + }, + 0x5: parseInt, + get 0x6() { + return _0x5863d1; + }, + 0x7: JSON, + get 0x8() { + return _0xf119da; + }, + get 0x9() { + return _0x3a1cf3; + }, + get 0xa() { + return _0x20b77a; + }, + get 0xb() { + return _0x446110; + }, + 0xc: Object, + get 0xd() { + return _0x483e03; + }, + get 0xe() { + return _0x53f850; + }, + get 0xf() { + return _0x2a900b; + }, + get 0x10() { + return _0x18b4be; + }, + get 0x11() { + return _0x462335; + }, + get 0x12() { + return _0x4072ad; + }, + get 0x13() { + return _0x24dc34; + }, + get 0x14() { + return navigator; + }, + 0x15: arguments, + 0x16: _0x38a8fe, + 0x17: _0x406d4b, + 0x18: _0x2e7a9b + }, this); + } + + function _0x5e5a64(_0x27ec41, _0x4e1246) { + var _0x15a192 = _0x5612de; + for (var _0x3f84da = {}, _0x389521 = -0x4bd * -0x1 + -0x28a + -0x233; _0x389521 < _0x4e1246['length']; _0x389521++) { + var _0x58af98 = _0x4e1246[_0x389521] + , _0x1b7f4e = _0x27ec41[_0x58af98]; + null == _0x1b7f4e && (_0x1b7f4e = !(-0x1f76 + -0x1c06 + 0x3b7d * 0x1)), + null === _0x1b7f4e || 'function' != typeof _0x1b7f4e && _0x15a192(0x17d) !== _0x1db123(_0x1b7f4e) || (_0x1b7f4e = !(-0x2 * -0xef9 + -0xa1 * 0x3 + -0xb * 0x28d)), + _0x3f84da[_0x58af98] = _0x1b7f4e; + } + return _0x3f84da; + } + + function _0x2a6ac2() { + var _0x42b9bc = _0x5612de; + return _0x5e5a64(navigator, [_0x42b9bc(0x36b), 'appName', _0x42b9bc(0x17a), _0x42b9bc(0x246), _0x42b9bc(0x3a4), _0x42b9bc(0x360), _0x42b9bc(0x1fa), _0x42b9bc(0x33b), _0x42b9bc(0x38c), _0x42b9bc(0x212), 'vendorSub', 'doNotTrack', _0x42b9bc(0x24a), _0x42b9bc(0x2e2), _0x42b9bc(0x292), _0x42b9bc(0x390), _0x42b9bc(0x38f)]); + } + + function _0x226933() { + var _0xe67fb0 = _0x5612de; + return _0x5e5a64(window, [_0xe67fb0(0x29d), _0xe67fb0(0x222), _0xe67fb0(0x306), _0xe67fb0(0x26e), _0xe67fb0(0x366), 'isSecureContext', _0xe67fb0(0x3c0), _0xe67fb0(0x399), 'locationbar', _0xe67fb0(0x29f), _0xe67fb0(0x39f), _0xe67fb0(0x2e0), 'postMessage', 'webkitRequestAnimationFrame', _0xe67fb0(0x2de), 'netscape']); + } + + function _0x1e5a7f() { + var _0x577bf2 = _0x5612de; + return _0x5e5a64(document, [_0x577bf2(0x335), _0x577bf2(0x253), _0x577bf2(0x373), 'layers', _0x577bf2(0x2c0)]); + } + + function _0x11a1d6() { + var _0x3927af = _0x5612de + , _0x306255 = document[_0x3927af(0x260)](_0x3927af(0x24d)) + , _0x3b8708 = null; + try { + _0x3b8708 = _0x306255[_0x3927af(0x2f9)](_0x3927af(0x26b)) || _0x306255['getContext'](_0x3927af(0x3aa)); + } catch (_0x30a5e5) { + } + return _0x3b8708 || (_0x3b8708 = null), + _0x3b8708; + } + + function _0x39c3d8(_0xc6dcf6) { + var _0x59367a = _0x5612de + , + _0x5a3a25 = _0xc6dcf6[_0x59367a(0x1d7)](_0x59367a(0x1f1)) || _0xc6dcf6[_0x59367a(0x1d7)](_0x59367a(0x2e5)) || _0xc6dcf6[_0x59367a(0x1d7)](_0x59367a(0x31a)); + if (_0x5a3a25) { + var _0x5cca98 = _0xc6dcf6[_0x59367a(0x383)](_0x5a3a25[_0x59367a(0x1bf)]); + return 0xb * -0x2b8 + 0xa * 0xe + 0x1d5c === _0x5cca98 && (_0x5cca98 = -0xe6 + -0x1909 + -0xe5 * -0x1d), + _0x5cca98; + } + return null; + } + + function _0x425568() { + var _0x556a1e = _0x5612de; + if (_0x6caf[_0x556a1e(0x23d)]) + return _0x6caf[_0x556a1e(0x23d)]; + var _0x4f4b6e = _0x11a1d6(); + if (!_0x4f4b6e) + return {}; + var _0x58c017 = { + 'supportedExtensions': _0x4f4b6e[_0x556a1e(0x30f)]() || [], + 'antialias': _0x4f4b6e[_0x556a1e(0x1c5)]()[_0x556a1e(0x1a5)], + 'blueBits': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x27e)]), + 'depthBits': _0x4f4b6e['getParameter'](_0x4f4b6e[_0x556a1e(0x252)]), + 'greenBits': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x3c3)]), + 'maxAnisotropy': _0x39c3d8(_0x4f4b6e), + 'maxCombinedTextureImageUnits': _0x4f4b6e['getParameter'](_0x4f4b6e[_0x556a1e(0x1d2)]), + 'maxCubeMapTextureSize': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x300)]), + 'maxFragmentUniformVectors': _0x4f4b6e['getParameter'](_0x4f4b6e['MAX_FRAGMENT_UNIFORM_VECTORS']), + 'maxRenderbufferSize': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x2da)]), + 'maxTextureImageUnits': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x269)]), + 'maxTextureSize': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x203)]), + 'maxVaryingVectors': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x264)]), + 'maxVertexAttribs': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e['MAX_VERTEX_ATTRIBS']), + 'maxVertexTextureImageUnits': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x205)]), + 'maxVertexUniformVectors': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e[_0x556a1e(0x19d)]), + 'shadingLanguageVersion': _0x4f4b6e['getParameter'](_0x4f4b6e['SHADING_LANGUAGE_VERSION']), + 'stencilBits': _0x4f4b6e['getParameter'](_0x4f4b6e['STENCIL_BITS']), + 'version': _0x4f4b6e[_0x556a1e(0x383)](_0x4f4b6e['VERSION']) + }; + return _0x6caf[_0x556a1e(0x23d)] = _0x58c017, + _0x58c017; + } + + function _0x18707d() { + var _0x52b59d = _0x5612de + , _0x56cb86 = {}; + return _0x56cb86[_0x52b59d(0x270)] = _0x2a6ac2(), + _0x56cb86[_0x52b59d(0x393)] = _0x226933(), + _0x56cb86[_0x52b59d(0x208)] = _0x1e5a7f(), + _0x56cb86[_0x52b59d(0x26b)] = _0x425568(), + _0x56cb86[_0x52b59d(0x381)] = _0x487576(), + _0x56cb86['plugins'] = _0x1f9824(), + _0x6caf['SECINFO'] = _0x56cb86, + _0x56cb86; + } + + function _0x572e48() { + var _0x151b17 = _0x5612de; + return w_0x5c3140(_0x151b17(0x1d1), { + get 0x0() { + return _0x6caf; + }, + get 0x1() { + return _0x18707d; + }, + 0x2: Date, + get 0x3() { + return _0x325f58; + }, + get 0x4() { + return _0x328bde; + }, + get 0x5() { + return _0xdda738; + }, + 0x6: JSON, + 0x7: arguments + }, this); + } + + var _0x522d20 = { + 'kCallTypeDirect': 0x0, + 'kCallTypeInterceptor': 0x1 + } + , _0x2e10da = { + 'kHttp': 0x0, + 'kWebsocket': 0x1 + } + , _0x3f742e = _0x45b94b; + + function _0x5646fa(_0x29e841) { + var _0x2ecc2b = _0x5612de; + for (var _0x5d379d, _0x5e2317, _0x34abf7 = [], _0x448a08 = -0x25ac + 0x1 * -0x1a4 + -0x128 * -0x22; _0x448a08 < _0x29e841[_0x2ecc2b(0x259)]; _0x448a08++) { + _0x5d379d = _0x29e841[_0x2ecc2b(0x195)](_0x448a08), + _0x5e2317 = []; + do { + _0x5e2317[_0x2ecc2b(0x36e)](-0x8d * -0x3e + 0x24d * -0x1 + -0x1eda & _0x5d379d), + _0x5d379d >>= -0x6d * 0x11 + 0x75 * 0x11 + 0x10 * -0x8; + } while (_0x5d379d); + _0x34abf7 = _0x34abf7[_0x2ecc2b(0x2b8)](_0x5e2317['reverse']()); + } + return _0x34abf7; + } + + function _0x6bc4ae(_0x4e8b7c) { + } + + function _0x5b890d(_0x592717) { + } + + function _0x16f345(_0x1a40af) { + } + + function _0x361214(_0x426175) { + } + + function _0xc35122(_0xe69c60, _0x3e14a1, _0x2d525a) { + } + + var _0x5dde58 = { + 'WEB_DEVICE_INFO': 0x8 + }; + + function _0x4df596(_0x14c951, _0x4c06b0) { + var _0x3cd5a5 = _0x5612de; + return JSON[_0x3cd5a5(0x1e6)]({ + 'magic': 0x20200422, + 'version': 0x1, + 'dataType': _0x14c951, + 'strData': _0x4c06b0, + 'tspFromClient': new Date()[_0x3cd5a5(0x16d)]() + }); + } + + function _0x29a5ac(_0x1a16de, _0x1af868, _0x2e45c3, _0x2a9bcc) { + var _0x233cbb = _0x5612de; + return _0x32af0e(_0x233cbb(0x3a1), _0x1a16de, _0x1af868, _0x2e45c3, _0x2a9bcc); + } + + function _0x32af0e(_0x58e2fa, _0x35c6ef, _0x5ce009, _0xba3041, _0x20e80f) { + var _0x393ad1 = _0x5612de + , _0x4841fc = new XMLHttpRequest(); + if (_0x4841fc[_0x393ad1(0x18b)](_0x58e2fa, _0x35c6ef, !(-0xb * 0x8b + -0x233 + 0x82c)), + _0x20e80f && (_0x4841fc[_0x393ad1(0x1c6)] = !(0x1 * -0x260f + -0x2 * 0xcdf + 0x3fcd)), + _0xba3041) + for (var _0x3f91e1 = -0x2ce + -0x1 * 0xe0f + 0x10dd, _0x2f8bec = Object['keys'](_0xba3041); _0x3f91e1 < _0x2f8bec[_0x393ad1(0x259)]; _0x3f91e1++) { + var _0x475f86 = _0x2f8bec[_0x3f91e1] + , _0x42c2b4 = _0xba3041[_0x475f86]; + _0x4841fc[_0x393ad1(0x3ab)](_0x475f86, _0x42c2b4); + } + _0x4841fc[_0x393ad1(0x20a)](_0x5ce009); + } + + function _0x2cd488(_0x751be6, _0x4c12d4) { + var _0x253a32 = _0x5612de; + return _0x4c12d4 || (_0x4c12d4 = null), + !!navigator['sendBeacon'] && (navigator[_0x253a32(0x24b)](_0x751be6, _0x4c12d4), + !(-0x1da1 + 0x1e93 + -0xf2)); + } + + function _0x4a2daf(_0x1ea426, _0x5a460b) { + var _0x22c57e = _0x5612de; + try { + window[_0x22c57e(0x1dc)] && window[_0x22c57e(0x1dc)][_0x22c57e(0x1c4)](_0x1ea426, _0x5a460b); + } catch (_0xe6e06d) { + } + } + + function _0x34f60a(_0x1e7505) { + var _0x389acb = _0x5612de; + try { + window[_0x389acb(0x1dc)] && window[_0x389acb(0x1dc)][_0x389acb(0x2c3)](_0x1e7505); + } catch (_0x5daf1b) { + } + } + + function _0x3d13cf(_0x3480fd) { + var _0x1ccc66 = _0x5612de; + try { + return window[_0x1ccc66(0x1dc)] ? window['localStorage']['getItem'](_0x3480fd) : null; + } catch (_0x3bb8f0) { + return null; + } + } + + function _0x21db29(_0x584f42, _0xde0f43) { + var _0x4464a1 = _0x5612de; + for (var _0x2b8d40, _0x22bd9c = [], _0x13f024 = 0x1856 * 0x1 + -0x6a * 0x20 + -0x16 * 0x81, _0x5648fb = '', _0x4c41a3 = -0x2 * -0xc67 + -0xf91 + -0x5 * 0x1d9; _0x4c41a3 < -0x1 * -0x322 + -0x25ce + 0x23ac; _0x4c41a3++) + _0x22bd9c[_0x4c41a3] = _0x4c41a3; + for (var _0x4d4c13 = -0x18e4 + -0x3 * -0x10f + 0x15b7; _0x4d4c13 < -0x36a * -0x8 + 0x1cf7 + 0x126d * -0x3; _0x4d4c13++) + _0x13f024 = (_0x13f024 + _0x22bd9c[_0x4d4c13] + _0x584f42[_0x4464a1(0x195)](_0x4d4c13 % _0x584f42[_0x4464a1(0x259)])) % (-0x577 * 0x3 + 0x4eb + 0xc7a), + _0x2b8d40 = _0x22bd9c[_0x4d4c13], + _0x22bd9c[_0x4d4c13] = _0x22bd9c[_0x13f024], + _0x22bd9c[_0x13f024] = _0x2b8d40; + var _0x11b95d = -0x7d8 + -0x256 + -0x517 * -0x2; + _0x13f024 = -0x1bef + -0xbc5 * -0x3 + -0x760 * 0x1; + for (var _0x15a79f = 0xd * 0x12e + 0x80 * -0x3d + 0xf2a; _0x15a79f < _0xde0f43[_0x4464a1(0x259)]; _0x15a79f++) + _0x13f024 = (_0x13f024 + _0x22bd9c[_0x11b95d = (_0x11b95d + (0x8ed + -0x1 * -0x836 + -0x22 * 0x81)) % (0x32b * 0x7 + 0x2311 + -0x2 * 0x1c1f)]) % (-0x1 * -0x106d + 0x35e * 0x5 + -0x2043), + _0x2b8d40 = _0x22bd9c[_0x11b95d], + _0x22bd9c[_0x11b95d] = _0x22bd9c[_0x13f024], + _0x22bd9c[_0x13f024] = _0x2b8d40, + _0x5648fb += String[_0x4464a1(0x1e2)](_0xde0f43[_0x4464a1(0x195)](_0x15a79f) ^ _0x22bd9c[(_0x22bd9c[_0x11b95d] + _0x22bd9c[_0x13f024]) % (0x179 * -0x7 + 0x2385 + -0x2 * 0xc1b)]); + return _0x5648fb; + } + + var _0x45bf15 = _0x21db29 + , _0x48a082 = {}; + + function _0x641e3d(_0x21dbac, _0x4a67ec) { + var _0x51016d = _0x5612de; + return w_0x5c3140(_0x51016d(0x3c4), { + 0x0: String, + 0x1: Math, + get 0x2() { + return _0x45bf15; + }, + get 0x3() { + return _0x389396; + }, + 0x4: arguments, + 0x5: _0x21dbac, + 0x6: _0x4a67ec + }, this); + } + + _0x48a082['pb'] = -0xd0f * -0x1 + 0xade * 0x2 + -0x22c9, + _0x48a082['json'] = 0x405 + -0x1 * -0xe59 + -0x125d; + var _0x216650 = { + 'kNoMove': 0x2, + 'kNoClickTouch': 0x4, + 'kNoKeyboardEvent': 0x8, + 'kMoveFast': 0x10, + 'kKeyboardFast': 0x20, + 'kFakeOperations': 0x40 + } + , _0x5dc9cc = { + 'sTm': 0x0, + 'acc': 0x0 + }; + + function _0x18a9f7() { + var _0x4e02b7 = _0x5612de; + try { + var _0x41737c = _0x3d13cf(_0x4e02b7(0x343)); + _0x41737c ? Object[_0x4e02b7(0x2a0)](_0x5dc9cc, JSON[_0x4e02b7(0x3b1)](_0x41737c)) : (_0x5dc9cc[_0x4e02b7(0x293)] = new Date()[_0x4e02b7(0x16d)](), + _0x5dc9cc[_0x4e02b7(0x27d)] = -0x175c + -0x1066 + 0x27c2); + } catch (_0x3da833) { + _0x5dc9cc[_0x4e02b7(0x293)] = new Date()[_0x4e02b7(0x16d)](), + _0x5dc9cc[_0x4e02b7(0x27d)] = -0x1 * -0x1129 + -0x1f1f + -0x1 * -0xdf6, + _0x26e186(); + } + } + + function _0x26e186() { + var _0x48e1a8 = _0x5612de; + _0x4a2daf(_0x48e1a8(0x343), JSON['stringify'](_0x5dc9cc)); + } + + var _0xf63a81 = { + 'T_MOVE': 0x1, + 'T_CLICK': 0x2, + 'T_KEYBOARD': 0x3 + } + , _0x2786f5 = !(0x1f31 * -0x1 + 0x1 * 0x22c7 + 0x83 * -0x7) + , _0x9fb121 = [] + , _0x207cc5 = [] + , _0x191fa5 = [] + , _0xe06992 = { + 'ubcode': 0x0 + } + , _0x388856 = function (_0x4e0342, _0x5ca571) { + return _0x4e0342 + _0x5ca571; + } + , _0x20a3d9 = function (_0x2309ca) { + return _0x2309ca * _0x2309ca; + }; + + function _0x9c0be2(_0x232ed8, _0x432cf8) { + var _0x59688f = _0x5612de; + if (_0x232ed8[_0x59688f(0x259)] > 0x1 * 0xa93 + 0x1d7a + -0xd17 * 0x3 && _0x232ed8['splice'](0x1ab7 + 0x1 * -0x2147 + -0x1a4 * -0x4, 0x617 + 0x280 + 0x1 * -0x833), + _0x232ed8[_0x59688f(0x259)] > -0x1c57 + 0x1059 + 0xbfe) { + var _0x97b7e7 = _0x232ed8[_0x232ed8['length'] - (-0xc0e + 0xb26 * 0x2 + 0xa3d * -0x1)]; + if (_0x432cf8['d'] - _0x97b7e7['d'] <= 0x5 * -0x1a3 + -0x91 * -0x32 + 0x5 * -0x407 || 'y' in _0x432cf8 && _0x432cf8['x'] === _0x97b7e7['x'] && _0x432cf8['y'] === _0x97b7e7['y']) + return; + } + _0x232ed8[_0x59688f(0x36e)](_0x432cf8); + } + + function _0x1d26db(_0x261f4b, _0x3c3c83, _0x131716) { + var _0x10f2ca = _0x5612de; + if (_0x462335['enableTrack']) { + if (_0x131716 !== _0xf63a81['T_MOVE']) + return _0x131716 === _0xf63a81[_0x10f2ca(0x1f0)] ? (_0x261f4b[_0x10f2ca(0x259)] >= 0x1167 + -0x856 * -0x4 + 0x1 * -0x30cb && _0x450b73(), + void _0x261f4b[_0x10f2ca(0x36e)](_0x3c3c83)) : _0x131716 === _0xf63a81[_0x10f2ca(0x355)] ? (_0x261f4b[_0x10f2ca(0x259)] > -0x1b6 * 0x16 + -0x115 * 0x17 + 0x11 * 0x3cb && _0x450b73(), + void _0x261f4b['push'](_0x3c3c83)) : void (-0x15a4 + -0xc9f + 0x2243); + if (_0x261f4b['length'] >= -0x5b9 + -0x1b5 + -0x2 * -0x4b1 && _0x450b73(), + _0x261f4b[_0x10f2ca(0x259)] > 0x13e * 0x6 + 0x4a5 * -0x2 + 0x1d6) { + var _0x40dc65 = _0x261f4b[_0x261f4b[_0x10f2ca(0x259)] - (-0x233e + 0x6bf + 0x1c80)] + , _0x243563 = _0x40dc65['x'] + , _0x7ef629 = _0x40dc65['y'] + , _0x293666 = _0x40dc65['ts']; + if (_0x243563 === _0x3c3c83['x'] && _0x7ef629 === _0x3c3c83['y']) + return; + if (_0x3c3c83['ts'] - _0x293666 < -0x1 * -0x9dc + -0x7 * -0x32d + -0x1e23) + return; + } + _0x261f4b['push'](_0x3c3c83); + } + } + + var _0x19ffaf = { + 'init': 0x0, + 'running': 0x1, + 'exit': 0x2, + 'flush': 0x3 + }; + + function _0x450b73(_0xd6648d) { + var _0x5b1d4d = _0x5612de; + return w_0x5c3140(_0x5b1d4d(0x3a2), { + get 0x0() { + return _0x6caf; + }, + get 0x1() { + return _0x19ffaf; + }, + 0x2: Date, + get 0x3() { + return _0x5dc9cc; + }, + get 0x4() { + return _0x462335; + }, + get 0x5() { + return _0x26e186; + }, + 0x6: Object, + get 0x7() { + return _0x4df596; + }, + get 0x8() { + return _0x5dde58; + }, + get 0x9() { + return _0x641e3d; + }, + 0xa: JSON, + get 0xb() { + return _0x48a082; + }, + get 0xc() { + return _0x2cd488; + }, + get 0xd() { + return _0x29a5ac; + }, + 0xe: arguments, + 0xf: _0xd6648d + }, this); + } + + function _0x58c311() { + var _0x30dab3 = _0x5612de; + _0x462335[_0x30dab3(0x37f)] && _0x450b73(_0x19ffaf['exit']); + } + + var _0x1a755e = {}; + _0x1a755e[_0x5612de(0x2d4)] = _0x3dcfd5, + _0x1a755e['touchmove'] = _0x3dcfd5, + _0x1a755e[_0x5612de(0x364)] = _0x56114b, + _0x1a755e[_0x5612de(0x1d6)] = _0x19d89b, + _0x1a755e[_0x5612de(0x2d3)] = _0x19d89b; + var _0x18582a = !(0x1796 + -0xf7d + -0x818); + + function _0x1dbe74() { + var _0x101f5b = _0x5612de; + if (document && document[_0x101f5b(0x2f6)] && !_0x18582a) { + for (var _0x1dfebe = 0x1 * -0xe36 + 0x6e8 + -0xa * -0xbb, _0x5af0b0 = Object[_0x101f5b(0x17f)](_0x1a755e); _0x1dfebe < _0x5af0b0[_0x101f5b(0x259)]; _0x1dfebe++) { + var _0x2ecc3c = _0x5af0b0[_0x1dfebe]; + document[_0x101f5b(0x2f6)](_0x2ecc3c, _0x1a755e[_0x2ecc3c]); + } + _0x18582a = !(-0x1 * -0xfcb + 0x21 * 0x65 + -0x1cd0); + } + } + + function _0x3dcfd5(_0x1f9f7e) { + var _0x4f99fd = _0x5612de + , _0x395631 = _0x1f9f7e + , _0x1f0c31 = _0x1f9f7e['type']; + _0x1f9f7e[_0x4f99fd(0x379)] && _0x4f99fd(0x299) === _0x1f0c31 && (_0x395631 = _0x1f9f7e['touches'][-0x9 * -0x3f4 + 0x1 * 0xc73 + -0x3007], + _0x2786f5 = !(-0x129a + 0x1bca + -0x930)); + var _0x5d0e65 = { + 'x': Math[_0x4f99fd(0x1cf)](_0x395631['clientX']), + 'y': Math[_0x4f99fd(0x1cf)](_0x395631['clientY']), + 'd': Date[_0x4f99fd(0x34d)]() + }; + _0x9c0be2(_0x9fb121, _0x5d0e65), + _0x1d26db(_0x6caf[_0x4f99fd(0x21d)], { + 'ts': _0x5d0e65['d'], + 'x': _0x5d0e65['x'], + 'y': _0x5d0e65['y'] + }, _0xf63a81[_0x4f99fd(0x2be)]); + } + + function _0x56114b(_0x35e1c1) { + var _0x3de3de = _0x5612de + , _0x411a0a = 0x22e7 + -0x5 * -0x133 + -0x28e6; + (_0x35e1c1[_0x3de3de(0x28c)] || _0x35e1c1['ctrlKey'] || _0x35e1c1['metaKey'] || _0x35e1c1[_0x3de3de(0x22e)]) && (_0x411a0a = 0xe7c + -0x3 * 0x143 + -0xab2); + var _0x5239f5 = { + 'x': _0x411a0a, + 'd': Date['now']() + }; + _0x9c0be2(_0x191fa5, _0x5239f5), + _0x1d26db(_0x6caf[_0x3de3de(0x391)], { + 'ts': _0x5239f5['d'] + }, _0xf63a81[_0x3de3de(0x355)]); + } + + function _0x19d89b(_0x39a86c) { + var _0x3bb659 = _0x5612de + , _0x4a9de2 = _0x39a86c + , _0x33eb04 = _0x39a86c['type']; + _0x39a86c[_0x3bb659(0x379)] && 'touchstart' === _0x33eb04 && (_0x4a9de2 = _0x39a86c['touches'][0x1491 + 0x1 * -0x1216 + -0x1 * 0x27b], + _0x2786f5 = !(-0x1 * -0x853 + 0x12df * 0x2 + -0x2e11)); + var _0xf57aea = { + 'x': Math['floor'](_0x4a9de2[_0x3bb659(0x2bf)]), + 'y': Math[_0x3bb659(0x1cf)](_0x4a9de2['clientY']), + 'd': Date['now']() + }; + _0x9c0be2(_0x207cc5, _0xf57aea), + _0x1d26db(_0x6caf[_0x3bb659(0x3b6)], { + 'ts': _0xf57aea['d'], + 'x': _0xf57aea['x'], + 'y': _0xf57aea['y'] + }, _0xf63a81[_0x3bb659(0x1f0)]); + } + + function _0x42fe9b(_0x320405) { + var _0x2bf333 = _0x5612de; + return _0x320405['reduce'](_0x388856) / _0x320405[_0x2bf333(0x259)]; + } + + function _0x3ea7d6(_0xbdd4a6) { + var _0x1e5c1e = _0x5612de; + if (_0xbdd4a6[_0x1e5c1e(0x259)] <= -0x1 * -0x2420 + 0xc87 * -0x1 + 0x5e6 * -0x4) + return -0x1 * -0x309 + 0x15 * 0x9d + -0xfea * 0x1; + var _0x3deca4 = _0x42fe9b(_0xbdd4a6) + , _0x58472b = _0xbdd4a6['map'](function (_0x508d28) { + return _0x508d28 - _0x3deca4; + }); + return Math[_0x1e5c1e(0x317)](_0x58472b['map'](_0x20a3d9)[_0x1e5c1e(0x376)](_0x388856) / (_0xbdd4a6[_0x1e5c1e(0x259)] - (0xa * 0x127 + -0x2103 + -0xe * -0x189))); + } + + function _0x52f064(_0x2031c9, _0x5a5379, _0xb6ab78) { + var _0x1d0db5 = _0x5612de + , _0xcfe257 = 0xae8 + -0xb * -0x6f + -0xfad + , _0x4f9c60 = -0x894 + -0x12a7 + 0x1 * 0x1b3b; + if (_0x2031c9[_0x1d0db5(0x259)] > _0x5a5379) { + for (var _0x147b41 = [], _0x5ca0e0 = -0x10a8 + -0x212f + 0x3 * 0x109d; _0x5ca0e0 < _0x2031c9[_0x1d0db5(0x259)] - (0x557 * -0x7 + -0x5 * -0xc6 + 0x14a * 0x1a); _0x5ca0e0++) { + var _0x2a170e = _0x2031c9[_0x5ca0e0 + (-0x20c6 * -0x1 + 0x1f31 + -0x3ff6)] + , _0x1f8ecf = _0x2031c9[_0x5ca0e0] + , _0x1b82ec = _0x2a170e['d'] - _0x1f8ecf['d']; + _0x1b82ec && (_0xb6ab78 ? _0x147b41[_0x1d0db5(0x36e)]((0xf98 + 0x90f + 0x2 * -0xc53) / _0x1b82ec) : _0x147b41[_0x1d0db5(0x36e)](Math[_0x1d0db5(0x317)](_0x20a3d9(_0x2a170e['x'] - _0x1f8ecf['x']) + _0x20a3d9(_0x2a170e['y'] - _0x1f8ecf['y'])) / _0x1b82ec)); + } + _0xcfe257 = _0x42fe9b(_0x147b41), + 0x5 * -0x79d + 0xf2d * -0x1 + -0xeb * -0x3a === (_0x4f9c60 = _0x3ea7d6(_0x147b41)) && (_0x4f9c60 = 0xcc5 + -0x1 * -0x9e1 + -0x16a6 + 0.01); + } + return [_0xcfe257, _0x4f9c60]; + } + + function _0x26d461() { + var _0x3f77b6 = _0x5612de + , _0x5e9ee6 = !(0x9d * -0x6 + 0x16b0 + -0x1301) + , _0x499168 = -0x21e + -0x1b6a + 0x28 * 0xbd; + try { + document && document['createEvent'] && (document[_0x3f77b6(0x188)](_0x3f77b6(0x240)), + _0x5e9ee6 = !(0x195e + -0x5 * -0x371 + -0x3f * 0xad)); + } catch (_0x4b2baa) { + } + var _0x462d0a = _0x52f064(_0x9fb121, 0x6a * 0x2 + -0x1b * 0x16b + 0x2576) + , _0x136148 = _0x52f064(_0x191fa5, -0x94c + -0xd * 0x51 + 0xd6e, !(0x1 * 0x7ed + -0xab4 + 0x2c7)) + , _0x17d8e6 = -0x2 * 0xb95 + -0xda0 + 0x24cb; + !_0x5e9ee6 && _0x2786f5 && (_0x17d8e6 |= 0x2468 + -0x1 * 0x2c2 + -0x2166, + _0x499168 |= _0x216650[_0x3f77b6(0x2f2)]), + -0x293 * -0x3 + 0x1 * 0xdad + -0x1566 === _0x9fb121['length'] ? (_0x17d8e6 |= -0x1cf3 * 0x1 + 0x12e1 + 0xa14, + _0x499168 |= _0x216650[_0x3f77b6(0x2fe)]) : _0x462d0a[-0x17f8 + -0x1eae + 0x36a6] > 0xbab + -0x1fb9 + 0x3 * 0x6c0 && (_0x17d8e6 |= 0x20 * -0x5c + 0xb22 + 0x6e, + _0x499168 |= _0x216650['kMoveFast']), + 0x2297 * -0x1 + 0x57b * 0x3 + 0x65 * 0x2e === _0x207cc5['length'] && (_0x17d8e6 |= 0x15a5 + 0x557 + -0x1af8, + _0x499168 |= _0x216650['kNoClickTouch']), + 0x20bb + 0x1e5f + 0x1f8d * -0x2 === _0x191fa5[_0x3f77b6(0x259)] ? (_0x17d8e6 |= -0x1 * 0x1b73 + -0x43e + 0x1fb9, + _0x499168 |= _0x216650['kNoKeyboardEvent']) : _0x136148[0x16ee + -0x1 * 0x1e99 + 0x7ab] > 0x1 * 0xb77 + -0x82 + -0xaf5 + 0.5 && (_0x17d8e6 |= 0x176a + 0x183 + 0x7 * -0x38b, + _0x499168 |= _0x216650[_0x3f77b6(0x3bf)]), + _0xe06992['ubcode'] = _0x499168; + var _0x9340b9 = _0x17d8e6[_0x3f77b6(0x3ae)](-0x2018 + -0x543 * 0x7 + 0x450d); + return 0xc8e * 0x1 + -0x3 * 0x3ca + -0x12f === _0x9340b9['length'] ? _0x9340b9 = '00' + _0x9340b9 : -0x117a + 0x19 * -0x57 + 0x8a9 * 0x3 === _0x9340b9[_0x3f77b6(0x259)] && (_0x9340b9 = '0' + _0x9340b9), + _0x9340b9; + } + + function _0x5047d8() { + _0x450b73(-0x1b05 + 0x103 * 0x1c + -0x4 * 0x53); + } + + function _0x4145f8(_0x30c511, _0x35c283) { + var _0x46d631 = _0x5612de; + for (var _0x3d95be = _0x35c283[_0x46d631(0x259)], _0x3c9714 = new ArrayBuffer(_0x3d95be + (-0x2ef * -0x2 + 0x1bbd + 0x2e * -0xbb)), _0x1054b9 = new Uint8Array(_0x3c9714), _0x5633c2 = -0x114 + -0x2096 + 0x21aa, _0x28d040 = 0x10a * -0x1a + 0x5 * 0x5cf + -0x207 * 0x1; _0x28d040 < _0x3d95be; _0x28d040++) + _0x1054b9[_0x28d040] = _0x35c283[_0x28d040], + _0x5633c2 ^= _0x35c283[_0x28d040]; + _0x1054b9[_0x3d95be] = _0x5633c2; + var _0x280d0b = -0xe * -0x98 + 0x1f * 0x9e + 0x6f * -0x3d & Math[_0x46d631(0x1cf)]((-0x1 * 0x13ed + -0x2 * 0x581 + 0x1fee) * Math[_0x46d631(0x18e)]()) + , _0x418204 = String[_0x46d631(0x1e2)][_0x46d631(0x207)](null, _0x1054b9) + , _0x250194 = _0x21db29(String[_0x46d631(0x1e2)](_0x280d0b), _0x418204) + , _0x37237c = ''; + return _0x37237c += String[_0x46d631(0x1e2)](_0x30c511), + _0x37237c += String[_0x46d631(0x1e2)](_0x280d0b), + _0x389396(_0x37237c += _0x250194, 's1'); + } + + function _0x1633f2(_0x48f290, _0x504655, _0x4fa808, _0x1a5c57, _0x3a4737) { + var _0x5a9e67 = _0x5612de; + _0x5863d1(), + _0x26d461(), + void (0x247a + -0x3f2 + -0x2088) !== _0x1a5c57 && '' !== _0x1a5c57 && (_0x1a5c57 = ''); + var _0x21ca02 = _0x5dd467(_0x1a5c57); + _0x3a4737 || (_0x3a4737 = '00000000000000000000000000000000'); + var _0x1fb174 = new ArrayBuffer(0x1cc4 + -0x1109 + -0x3e6 * 0x3) + , _0x1ffaa7 = new Uint8Array(_0x1fb174) + , + _0xeefda2 = 0x22cb + 0x1 * -0x32c + 0x1f9f * -0x1 | _0x48f290 << -0x228e + 0x22f4 * 0x1 + -0x60 | _0x504655 << 0x1075 + -0x2c * -0x26 + -0x16f8 | (-0x261a + 0x1e95 + 0x786 & Math[_0x5a9e67(0x1cf)]((0x705 + 0x1069 + -0x3 * 0x7ae) * Math[_0x5a9e67(0x18e)]())) << 0x3f4 * 0x5 + 0x59a + -0x195a | -0x1 * -0x2033 + 0x284 * 0x5 + 0xeed * -0x3; + _0x6caf[_0x5a9e67(0x326)]++; + _0x6caf['envcode'] = 1 + var _0x5eb39b = -0x55 + 0x8a3 + -0x80f & _0x6caf[_0x5a9e67(0x326)]; + _0x1ffaa7[0x18e0 * 0x1 + 0xd8d + -0x266d] = _0x4fa808 << -0x1 * 0x1117 + -0x144f + 0x256c | _0x5eb39b, + _0x1ffaa7[-0x177d + 0x3 * 0xb39 + -0xa2d] = _0x6caf['envcode'] >> -0x163b + 0x2c3 + 0x1380 & 0x15b3 + -0x1efd + 0xa49 * 0x1, + _0x1ffaa7[-0x5e3 + -0x1 * 0x1535 + 0x1b1a * 0x1] = 0x64a + -0xc * 0xa3 + 0x259 & _0x6caf[_0x5a9e67(0x380)], + _0x1ffaa7[0x81 * 0x11 + 0xa49 * 0x1 + -0x12d7] = _0xe06992[_0x5a9e67(0x382)]; + var _0x13f487 = _0x42e709[_0x5a9e67(0x2b7)](_0x5dd467(_0x42e709[_0x5a9e67(0x2b7)](_0x21ca02))); + _0x1ffaa7[-0xf6b * 0x2 + 0x1c4 + 0x1d16] = _0x13f487[-0x81a + -0x24ee + -0x18e * -0x1d], + _0x1ffaa7[0x73d * -0x3 + 0x2335 + -0x1 * 0xd79] = _0x13f487[-0x16 * -0x4 + -0xfdd + 0x3e5 * 0x4]; + var _0x136ce1 = _0x42e709['decode'](_0x5dd467(_0x42e709['decode'](_0x3a4737))); + return _0x1ffaa7[0x17 * -0x35 + 0x220e + -0x1d45] = _0x136ce1[0xe7 * -0x11 + 0x1 * -0x17a1 + 0x2706], + _0x1ffaa7[0x1b8 + -0x2 * -0x665 + 0x151 * -0xb] = _0x136ce1[-0x276 * 0x9 + -0x1335 + -0x39 * -0xba], + _0x1ffaa7[0x1fa8 + 0x776 + 0x1 * -0x2716] = -0x23cd + -0x69d + 0x2b69 & Math[_0x5a9e67(0x1cf)]((0x9c + 0x77b * 0x4 + -0x1 * 0x1d89) * Math[_0x5a9e67(0x18e)]()), + _0x4145f8(_0xeefda2, _0x1ffaa7); + } + + function _0x34c70a(_0xf6b3d0, _0x289075, _0x2c48ed) { + var _0x1fe583 = _0x5612de; + return { + 'X-Bogus': _0x1633f2(_0x2e10da[_0x1fe583(0x289)], _0x462335['initialized'], _0xf6b3d0, null, _0x2c48ed) + }; + } + + function _0x11233a(_0x34d47b, _0x1b3ba5, _0x55dcd4) { + var _0x3e598d = _0x5612de; + return { + 'X-Bogus': _0x1633f2(_0x2e10da[_0x3e598d(0x1df)], _0x462335[_0x3e598d(0x1fc)], _0x34d47b, _0x1b3ba5, _0x55dcd4) + }; + } + + function _0x5c2014(_0x1fa689) { + return w_0x5c3140('484e4f4a403f524300362d0a5f00233c0000000029b6a730000000630214000103001400020700001400030700011400041101031100031347000d11010311000313140001450023110103110004134700130211010011010311000413430114000145000607000214000102110101110002021100014303140005110005420003096b1e7e601e606766710c6b1e7e601e63726a7f7c7277200303030303030303030303030303030303030303030303030303030303030303', { + get 0x0() { + return _0x5dd467; + }, + get 0x1() { + return _0x34c70a; + }, + 0x2: arguments, + 0x3: _0x1fa689 + }, this); + } + + function _0x3c875d(_0x17e2b2, _0x1e7967) { + var _0x36f0c4 = _0x5612de + , _0x292251 = new Uint8Array(-0x1d76 + 0xa81 * -0x3 + 0x3cfc); + return _0x292251[0xff * 0x25 + 0x1ee0 * -0x1 + -0x5fb] = _0x17e2b2 / (0x1126 * -0x2 + -0x1 * 0x20f6 + -0x2 * -0x2221), + _0x292251[0x29 * -0xde + 0x25a6 + 0x6b * -0x5] = _0x17e2b2 % (-0x5 * 0x705 + 0x10bd + -0xb1 * -0x1c), + _0x292251[-0x1 * -0x1fb5 + -0x1921 + -0x692] = _0x1e7967 % (0x1615 + -0xda0 + 0x1 * -0x775), + String[_0x36f0c4(0x1e2)][_0x36f0c4(0x207)](null, _0x292251); + } + + function _0x4b49f3(_0xe64465) { + var _0x2fa114 = _0x5612de; + return String[_0x2fa114(0x1e2)](_0xe64465); + } + + function _0x26151b(_0x51896f, _0x3a647f, _0x2db6f6) { + return _0x4b49f3(_0x51896f) + _0x4b49f3(_0x3a647f) + _0x2db6f6; + } + + function _0xc38697(_0x5bf566, _0x20667e) { + return _0x389396(_0x5bf566, _0x20667e); + } + + function _0x538c80(_0x213380, _0x5bb06d, _0x2807a8, _0x2bbe8d, _0x43c759, _0x510d57, _0x5b433d, _0x30b81d, _0x392407, _0x124f15, _0x22fc4c, _0x56f654, _0x8ab411, _0x1c9de4, _0x24f978, _0x27f46c, _0x1bd4f9, _0x572854, _0x34f6a0) { + var _0x2e1799 = _0x5612de + , _0x432584 = new Uint8Array(0x22bb + 0xd * -0x2bd + 0x1 * 0xf1); + return _0x432584[-0xc70 + 0x5e9 + 0x22d * 0x3] = _0x213380, + _0x432584[-0x2 * -0x127c + -0x1 * 0x1f61 + -0x596] = _0x22fc4c, + _0x432584[-0x1af * 0xb + 0x97b + 0xc1 * 0xc] = _0x5bb06d, + _0x432584[-0xfc5 * -0x2 + -0x5e5 + -0x19a2] = _0x56f654, + _0x432584[-0x35 * 0xa3 + -0x10c9 * -0x2 + 0x1 * 0x31] = _0x2807a8, + _0x432584[0x1d1d + 0x124a + -0x1 * 0x2f62] = _0x8ab411, + _0x432584[-0x1 * -0xb49 + -0x5d1 + -0x572] = _0x2bbe8d, + _0x432584[-0x18e * -0xe + 0xff * 0x22 + -0x379b] = _0x1c9de4, + _0x432584[-0x697 * 0x2 + 0xcc8 + 0x5 * 0x16] = _0x43c759, + _0x432584[0x2 * 0x8bf + 0xcc4 + -0x1e39] = _0x24f978, + _0x432584[0x63 * -0x43 + -0x242 + 0x3 * 0x967] = _0x510d57, + _0x432584[0x1aa9 + 0xe38 + 0x1 * -0x28d6] = _0x27f46c, + _0x432584[-0xdee + -0x1 * 0x105b + 0x1e55 * 0x1] = _0x5b433d, + _0x432584[0x1 * -0x1543 + -0x1 * 0x1b5b + 0x1 * 0x30ab] = _0x1bd4f9, + _0x432584[0xc86 * -0x1 + 0x1c9 + 0xacb] = _0x30b81d, + _0x432584[0x1581 + -0x70c + -0xe66] = _0x572854, + _0x432584[0x1dc1 + 0xd * 0xb5 + -0x26e2] = _0x392407, + _0x432584[-0x36 * 0x4a + 0x268a + -0x16dd] = _0x34f6a0, + _0x432584[0xf * -0x1ca + -0x16c2 + 0x31aa] = _0x124f15, + String['fromCharCode'][_0x2e1799(0x207)](null, _0x432584); + } + + var _0x3c4305 = !(-0xc6b + 0x270e * 0x1 + -0x1aa2); + + function _0x8edc3d(_0x22218f, _0x1e70b9) { + var _0x364732 = _0x5612de; + return w_0x5c3140(_0x364732(0x2b2), { + get 0x0() { + return _0x5dd467; + }, + get 0x1() { + return _0x3c4305; + }, + set 0x1(_0x539e8c) { + _0x3c4305 = _0x539e8c; + }, + get 0x2() { + return _0x462335; + }, + get 0x3() { + return _0x5863d1; + }, + get 0x4() { + return _0x26d461; + }, + get 0x5() { + return _0xe06992; + }, + get 0x6() { + return _0x6caf; + }, + get 0x7() { + return _0x42e709; + }, + 0x8: String, + get 0x9() { + return navigator; + }, + get 0xa() { + return _0x3c875d; + }, + get 0xb() { + return _0x21db29; + }, + get 0xc() { + return _0xc38697; + }, + 0xd: Date, + get 0xe() { + return _0x18b4be; + }, + get 0xf() { + return _0x538c80; + }, + get 0x10() { + return _0x4b49f3; + }, + get 0x11() { + return _0x26151b; + }, + get 0x12() { + return _0x389396; + }, + 0x13: arguments, + 0x14: _0x22218f, + 0x15: _0x1e70b9, + 0x16: RegExp + }, this); + } + + function _0x556182(_0x5e8c32) { + var _0x4a1328 = _0x5612de; + _0x4a2daf(_0x4a1328(0x28a), _0x5e8c32); + } + + function _0x5141ac() { + var _0x2770a6 = _0x3d13cf('xmst'); + return _0x2770a6 || ''; + } + + function _0x50686a(_0x193aca) { + var _0x460363 = _0x5612de; + return _0x460363(0x331) === Object[_0x460363(0x344)][_0x460363(0x3ae)][_0x460363(0x334)](_0x193aca); + } + + function _0x2195cd(_0x383b5f, _0x4a7858) { + var _0x20b490 = _0x5612de; + if (_0x383b5f) { + var _0x11f5aa = _0x383b5f[_0x4a7858]; + if (_0x11f5aa) { + var _0x4fcde1 = _0x1db123(_0x11f5aa); + return _0x20b490(0x17d) === _0x4fcde1 || _0x20b490(0x1ee) === _0x4fcde1 ? -0x1 * -0x4e8 + 0x18eb + -0x1dd2 : 'string' === _0x4fcde1 ? _0x4fcde1[_0x20b490(0x259)] > -0x124c + 0x20c3 + -0xe77 ? 0x35 * 0x34 + 0x1ec8 + -0x298b : -0x8a * 0x31 + -0x18c7 + -0x1111 * -0x3 : _0x50686a(_0x11f5aa) ? -0x1 * -0xc83 + -0x3 * 0x466 + 0x4 * 0x2c : 0x1018 + -0x371 * -0x9 + 0x1 * -0x2f0f; + } + } + return -0x155a + 0x4c * -0x6c + 0x4 * 0xd5b; + } + + function _0xdc4d4c(_0x3c0aaa) { + var _0x11952c = _0x5612de; + try { + var _0x57243b = Object[_0x11952c(0x344)][_0x11952c(0x3ae)][_0x11952c(0x334)](_0x3c0aaa); + return _0x11952c(0x30e) === _0x57243b ? !(-0x1 * 0x7c5 + 0x1 * -0x853 + 0x338 * 0x5) === _0x3c0aaa ? -0xa1 * -0x23 + 0x2 * 0xaa9 + -0x2b54 : -0x1e71 * 0x1 + 0x1 * 0x1885 + 0x5ee : _0x11952c(0x1af) === _0x57243b ? -0xce * 0x25 + 0x1e1a + 0x3 * -0x1b : '[object\x20Undefined]' === _0x57243b ? -0x1 * 0x159a + -0x684 + 0x1c22 : _0x11952c(0x1ce) === _0x57243b ? -0x3a * -0x70 + 0x4b1 + 0xa04 * -0x3 : '[object\x20String]' === _0x57243b ? '' === _0x3c0aaa ? 0x12 * 0xad + 0x3b * 0x71 + -0x262e : 0x3 * 0xf8 + 0x22ec + -0x25cc : _0x11952c(0x331) === _0x57243b ? -0x1 * -0x874 + -0x1 * 0x2197 + 0x1923 === _0x3c0aaa['length'] ? -0xf6f + -0x1ee3 + 0x2e5b : -0x10c3 + -0x466 * -0x4 + 0x7 * -0x1d : _0x11952c(0x37b) === _0x57243b ? 0x1 * 0x22e6 + 0x1 * 0x2669 + 0x824 * -0x9 : _0x11952c(0x1fe) === _0x57243b ? 0x2392 + -0x15db + -0xdab : _0x11952c(0x17d) === _0x1db123(_0x3c0aaa) ? -0x3 * 0xd7 + -0x17b0 + 0x1a98 : -(-0x8e4 + 0x2 * 0xd1b + -0x1151); + } catch (_0x320465) { + return -(-0x62e * 0x1 + 0x3 * -0x3ec + 0x11f4); + } + } + + var _0x2d8bb4 = {}; + + function _0x241339() { + var _0x5d55e6 = _0x5612de; + return document[_0x5d55e6(0x373)] ? 'IE' : -0xc04 + -0xbe8 + 0x17ec; + } + + function _0x5011f8() { + var _0x52b3d6 = _0x5612de; + return eval['toString']()[_0x52b3d6(0x259)]; + } + + function _0x58210c(_0x4d43be, _0x3faa08, _0x3d51f5) { + var _0x16b761 = _0x5612de; + for (var _0x4738ee = {}, _0x793fa7 = 0x111 + -0x209 * 0x1 + 0x1f * 0x8; _0x793fa7 < _0x3faa08[_0x16b761(0x259)]; _0x793fa7++) { + var _0x15231e = void (-0xf02 * -0x1 + 0xe35 + -0x1d37) + , _0x2d01fa = void (-0x782 + 0x5 * -0x143 + 0xdd1) + , _0x17bcc5 = _0x3faa08[_0x793fa7]; + try { + _0x4d43be && (_0x15231e = _0x4d43be[_0x17bcc5]); + } catch (_0x1de94f) { + } + if ('string' === _0x3d51f5) + _0x2d01fa = '' + _0x15231e; + else { + if (_0x16b761(0x28b) === _0x3d51f5) + _0x2d01fa = _0x15231e ? Math[_0x16b761(0x1cf)](_0x15231e) : -(-0x19f0 + 0x1ada + 0xe9 * -0x1); + else { + if (_0x16b761(0x1ab) !== _0x3d51f5) + throw Error(_0x16b761(0x256)); + _0x2d01fa = _0xdc4d4c(_0x15231e); + } + } + _0x4738ee[_0x17bcc5] = _0x2d01fa; + } + return _0x4738ee; + } + + function _0x3a2b92() { + var _0x53dacb = _0x5612de, _0x1c216f; + Object[_0x53dacb(0x2a0)](_0x2d8bb4[_0x53dacb(0x270)], _0x58210c(navigator, [_0x53dacb(0x36b), _0x53dacb(0x350), _0x53dacb(0x184), 'appVersion', _0x53dacb(0x32d), 'doNotTrack', _0x53dacb(0x39a), _0x53dacb(0x38c), _0x53dacb(0x17a), _0x53dacb(0x246), 'productSub', 'cpuClass', _0x53dacb(0x212), _0x53dacb(0x1d5), _0x53dacb(0x1de), _0x53dacb(0x210), _0x53dacb(0x314), _0x53dacb(0x1c9), 'webdriver'], 'string')), + Object['assign'](_0x2d8bb4[_0x53dacb(0x270)], _0x58210c(navigator, [_0x53dacb(0x1e1), 'vibrate', _0x53dacb(0x2e2), _0x53dacb(0x292), _0x53dacb(0x390), _0x53dacb(0x38f)], _0x53dacb(0x1ab))), + Object[_0x53dacb(0x2a0)](_0x2d8bb4[_0x53dacb(0x270)], _0x58210c(navigator, [_0x53dacb(0x360), _0x53dacb(0x33b)], _0x53dacb(0x28b))), + _0x2d8bb4['navigator'][_0x53dacb(0x398)] = '' + navigator[_0x53dacb(0x398)]; + try { + document[_0x53dacb(0x188)](_0x53dacb(0x240)), + _0x1c216f = -0xa2 * -0x5 + 0x26 * -0xe8 + -0x11 * -0x1d7; + } catch (_0x264380) { + _0x1c216f = 0xbc0 + -0x26b + -0xd9 * 0xb; + } + _0x2d8bb4['navigator'][_0x53dacb(0x34b)] = _0x1c216f; + var _0x5ac61e = _0x53dacb(0x1ea) in window ? 0x2424 + 0x1 * 0xa5c + -0x2e7f : -0x86b * 0x1 + -0x195 + 0xa02; + _0x2d8bb4[_0x53dacb(0x270)][_0x53dacb(0x1d6)] = _0x5ac61e; + } + + function _0x5abc93() { + var _0x279235 = _0x5612de; + Object['assign'](_0x2d8bb4['window'], _0x58210c(window, ['Image', _0x279235(0x309), _0x279235(0x29f), _0x279235(0x399), _0x279235(0x33a), 'external', 'mozRTCPeerConnection', 'postMessage', _0x279235(0x284), _0x279235(0x2de), _0x279235(0x2ff), _0x279235(0x1dc), _0x279235(0x3be), _0x279235(0x2e9)], _0x279235(0x1ab))), + Object[_0x279235(0x2a0)](_0x2d8bb4[_0x279235(0x393)], _0x58210c(window, [_0x279235(0x3c0)], _0x279235(0x28b))), + _0x2d8bb4[_0x279235(0x393)][_0x279235(0x3c2)] = window[_0x279235(0x3c2)][_0x279235(0x290)]; + } + + function _0x5d3845() { + var _0x4ceb6d = _0x5612de; + try { + var _0x55434c = document + , _0x2f0012 = window[_0x4ceb6d(0x328)] + , _0x5ac16c = window[_0x4ceb6d(0x306)] >>> 0x1d2c + -0x21 * 0xa7 + -0x1 * 0x7a5 + , _0x44cace = window[_0x4ceb6d(0x222)] >>> -0xcd0 + -0x1f70 + 0x162 * 0x20 + , _0x5953b9 = window[_0x4ceb6d(0x1aa)] >>> 0x5 * 0x2e3 + -0x1 * -0x1f7 + -0x1 * 0x1066 + , _0x1dfce9 = window[_0x4ceb6d(0x26d)] >>> 0x1545 + -0x8d7 + -0xc6e + , _0x29911c = Math[_0x4ceb6d(0x1cf)](window['screenX']) + , _0x340972 = Math['floor'](window[_0x4ceb6d(0x366)]) + , _0x4bc0b8 = window[_0x4ceb6d(0x258)] >>> -0x1 * -0x1548 + -0x21 * -0x7 + -0x162f + , _0x39df7d = window[_0x4ceb6d(0x282)] >>> 0x1dc7 * 0x1 + -0x2113 + 0x34c + , _0x13b30d = _0x2f0012['availWidth'] >>> 0xc84 + 0x1 * -0x644 + -0x640 + , _0x3f047e = _0x2f0012[_0x4ceb6d(0x276)] >>> -0x23c + 0xc * 0x1c4 + -0x12f4 * 0x1 + , _0x3e7595 = _0x2f0012['width'] >>> 0x61 * 0x4 + -0x2469 + 0x22e5 * 0x1 + , _0xa6e264 = _0x2f0012[_0x4ceb6d(0x245)] >>> 0x882 + 0x2646 + -0x5d9 * 0x8; + return { + 'innerWidth': void (-0xa40 + 0x192e + -0x31 * 0x4e) !== _0x5ac16c ? _0x5ac16c : -(0x135c + -0xd * -0x115 + -0x45 * 0x7c), + 'innerHeight': void (-0x2176 + -0x281 * -0xc + 0x17 * 0x26) !== _0x44cace ? _0x44cace : -(-0x17a1 + 0xe8 * 0x8 + 0x576 * 0x3), + 'outerWidth': void (-0x167c + -0x6f * 0x49 + 0x3623) !== _0x5953b9 ? _0x5953b9 : -(0x3 * -0x795 + 0x4 * -0x53b + 0x2bac), + 'outerHeight': void (-0x26 * -0x5f + -0xf71 + -0x1 * -0x157) !== _0x1dfce9 ? _0x1dfce9 : -(0xebd + -0x18cd + 0x3 * 0x35b), + 'screenX': void (-0xf9 * -0x22 + 0xd3 * -0x2c + 0x332) !== _0x29911c ? _0x29911c : -(-0x188 + -0x24e3 + 0x266c), + 'screenY': void (-0x5 * -0x105 + 0x2 * 0x11fe + -0x2915) !== _0x340972 ? _0x340972 : -(-0x3cc * -0x6 + 0x1561 * 0x1 + -0x2c28), + 'pageXOffset': void (0xb15 + -0x64d * 0x5 + -0x2 * -0xa36) !== _0x4bc0b8 ? _0x4bc0b8 : -(0x647 + -0x1 * -0x1ced + -0x2333), + 'pageYOffset': void (-0x1337 * 0x1 + -0x10c1 + -0x1 * -0x23f8) !== _0x39df7d ? _0x39df7d : -(0x3b * 0x5b + -0x7 * 0x3a6 + 0x492), + 'availWidth': void (-0xd * 0x267 + 0x1a67 + -0x2 * -0x26a) !== _0x13b30d ? _0x13b30d : -(0xe48 + -0x7d * -0x23 + -0x1f5e), + 'availHeight': void (-0x192a + 0x5 * -0x5b3 + 0xf1 * 0x39) !== _0x3f047e ? _0x3f047e : -(0x4 * 0x5b + -0x3 * -0x13 + -0x1a4), + 'sizeWidth': void (-0x1a38 * 0x1 + -0x20cb + 0x1 * 0x3b03) !== _0x3e7595 ? _0x3e7595 : -(-0x663 + -0x2659 + 0x2cbd * 0x1), + 'sizeHeight': void (0x857 * 0x3 + -0x65 * -0xa + -0x1cf7) !== _0xa6e264 ? _0xa6e264 : -(0xafa + 0x305 * 0x5 + -0x1a12), + 'clientWidth': _0x55434c['body'] ? _0x55434c[_0x4ceb6d(0x189)][_0x4ceb6d(0x1a2)] >>> -0xe38 + 0x1839 + -0xa01 : -(0x1338 + 0x21c1 + 0x69f * -0x8), + 'clientHeight': _0x55434c[_0x4ceb6d(0x189)] ? _0x55434c[_0x4ceb6d(0x189)][_0x4ceb6d(0x3bb)] >>> -0x1 * 0x156 + 0x31 * 0x43 + -0xb7d : -(0x1202 + -0x32b + -0xed6), + 'colorDepth': _0x2f0012[_0x4ceb6d(0x17e)] >>> -0x1d * -0xcb + 0x197 * 0x11 + 0x26 * -0x151, + 'pixelDepth': _0x2f0012[_0x4ceb6d(0x30a)] >>> -0x254c + 0x469 + 0x20e3 * 0x1 + }; + } catch (_0x35aa5a) { + return {}; + } + } + + function _0x573065() { + var _0x109cfa = _0x5612de; + Object[_0x109cfa(0x2a0)](_0x2d8bb4[_0x109cfa(0x208)], _0x58210c(document, [_0x109cfa(0x335), _0x109cfa(0x253), 'documentMode'], _0x109cfa(0x33c))), + Object['assign'](_0x2d8bb4[_0x109cfa(0x208)], _0x58210c(document, [_0x109cfa(0x325), _0x109cfa(0x183), 'images'], _0x109cfa(0x1ab))); + } + + function _0x47f354() { + var _0xad51a5 = _0x5612de + , _0x5ad193 = {}; + try { + var _0x344158 = document[_0xad51a5(0x260)](_0xad51a5(0x24d))[_0xad51a5(0x2f9)](_0xad51a5(0x26b)) + , _0x45ab53 = _0x344158[_0xad51a5(0x1d7)](_0xad51a5(0x375)) + , _0x3724de = _0x344158['getParameter'](_0x45ab53['UNMASKED_VENDOR_WEBGL']) + , _0x41fa79 = _0x344158[_0xad51a5(0x383)](_0x45ab53[_0xad51a5(0x39e)]); + _0x5ad193['vendor'] = _0x3724de, + _0x5ad193[_0xad51a5(0x2c2)] = _0x41fa79; + } catch (_0x22684e) { + } + return _0x5ad193; + } + + function _0x58bcf8() { + var _0x3fa932 = _0x5612de + , _0xf9ae75 = _0x11a1d6(); + if (_0xf9ae75) { + var _0x3c4406 = { + 'antialias': _0xf9ae75[_0x3fa932(0x1c5)]()[_0x3fa932(0x1a5)] ? -0x1d2e + -0x4b1 + 0x21e0 : -0x1 * -0x87c + 0x4b * 0x49 + -0x5 * 0x5f9, + 'blueBits': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x27e)]), + 'depthBits': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x252)]), + 'greenBits': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75['GREEN_BITS']), + 'maxAnisotropy': _0x39c3d8(_0xf9ae75), + 'maxCombinedTextureImageUnits': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75['MAX_COMBINED_TEXTURE_IMAGE_UNITS']), + 'maxCubeMapTextureSize': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x300)]), + 'maxFragmentUniformVectors': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x286)]), + 'maxRenderbufferSize': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x2da)]), + 'maxTextureImageUnits': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75['MAX_TEXTURE_IMAGE_UNITS']), + 'maxTextureSize': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x203)]), + 'maxVaryingVectors': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x264)]), + 'maxVertexAttribs': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75['MAX_VERTEX_ATTRIBS']), + 'maxVertexTextureImageUnits': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x205)]), + 'maxVertexUniformVectors': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x19d)]), + 'shadingLanguageVersion': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x179)]), + 'stencilBits': _0xf9ae75['getParameter'](_0xf9ae75[_0x3fa932(0x2bb)]), + 'version': _0xf9ae75[_0x3fa932(0x383)](_0xf9ae75[_0x3fa932(0x201)]) + }; + Object['assign'](_0x2d8bb4['webgl'], _0x3c4406); + } + Object[_0x3fa932(0x2a0)](_0x2d8bb4[_0x3fa932(0x26b)], _0x47f354()); + } + + function _0x75957() { + var _0x122393 = _0x5612de; + if (window[_0x122393(0x29f)]) { + for (var _0x2963d5 = -0x81a + -0xad * -0x1 + 0x76f; _0x2963d5 < -0x1629 + 0x1 * 0x31c + 0x1317; _0x2963d5++) + try { + return !!new window[(_0x122393(0x29f))](_0x122393(0x3b4) + _0x2963d5) && _0x2963d5[_0x122393(0x3ae)](); + } catch (_0x2c5722) { + } + try { + return !!new window[(_0x122393(0x29f))]('PDF.PdfCtrl.1') && '4'; + } catch (_0x1be01e) { + } + try { + return !!new window[(_0x122393(0x29f))](_0x122393(0x345)) && '7'; + } catch (_0x19cffa) { + } + } + return '0'; + } + + function _0x1555d9() { + return { + 'plugin': _0x30412e(), + 'pv': _0x75957() + }; + } + + function _0x1f01ce(_0x371dd1) { + var _0x5c76bb = _0x5612de; + try { + var _0xf71d16 = window[_0x371dd1] + , _0x28a4d1 = _0x5c76bb(0x1f9); + return _0xf71d16[_0x5c76bb(0x1c4)](_0x28a4d1, _0x28a4d1), + _0xf71d16[_0x5c76bb(0x2c3)](_0x28a4d1), + !(0x1e7a + -0x1824 + 0x2 * -0x32b); + } catch (_0x1dd803) { + return !(0x6e5 + 0x599 * -0x2 + -0x1 * -0x44e); + } + } + + function _0x3ffe15() { + return w_0x5c3140('484e4f4a403f5243003c20117d3adeac000000004e770f390000003a030014000102110100070000430147000b11000103012f170001354902110100070001430147000e110001030103012b2f17000135491100014200020c45464a48457a5d465b484e4c0e5a4c5a5a4046477a5d465b484e4c', { + get 0x0() { + return _0x1f01ce; + }, + 0x1: arguments + }, this); + } + + function _0x252788(_0x468bb4, _0x392758, _0x269720) { + var _0x16947c = _0x5612de; + for (var _0x4dea11 = 0x1 * 0x1705 + 0x29 * -0xbf + 0x72 * 0x11, _0x1f88e5 = 0x65 * -0x7 + 0xb50 + -0x88d; _0x1f88e5 < _0x392758['length']; _0x1f88e5++) { + var _0x1dd5f9 = _0x2195cd(_0x468bb4, _0x392758[_0x1f88e5]); + if (_0x1dd5f9 && (_0x4dea11 |= _0x1dd5f9 << _0x269720 + _0x1f88e5, + _0x269720 + _0x1f88e5 >= 0xd5a + 0x7c + -0x1 * 0xdb6)) { + console[_0x16947c(0x310)]('abort\x2032'); + break; + } + } + return _0x4dea11; + } + + function _0x484054() { + return w_0x5c3140('484e4f4a403f5243002c3b0a6f4f88290000000044c410000000011f1101001400010700000700010700020700030700040700050700060700070700080700090c000a14000207000a14000307000b14000407000a110101110004163e000414000a413d00d11100014a07000c1307000d43010300131400050c0000140006030014000711000711000207000e13274700691100014a07000f130700104301140008110002110007131400091100084a0700111307001207001311000918430249110004070014181100091807001518110008070016161100054a070017131100084301491100064a07001813110008430149170007214945ff891101011100041317000335490300170007354911000711000207000e132747001a1100054a0700191311000611000713430149170007214945ffd84111000342001a037e617e037e617d037e617c037e617b037e617a037e6179037e6178037e6177037e6176037d617f0014262b20213b242120382138272e3b263c3b27263c14282a3b0a232a222a213b3c0d361b2e28012e222a04272a2e2b06232a21283b270d2c3d2a2e3b2a0a232a222a213b063c2c3d263f3b0c3c2a3b0e3b3b3d262d3a3b2a08232e21283a2e282a0a052e392e1c2c3d263f3b02726d016d043b2a373b0b2e3f3f2a212b0c2726232b043f3a3c270b3d2a2220392a0c2726232b', { + get 0x0() { + return document; + }, + get 0x1() { + return window; + }, + 0x2: arguments + }, this); + } + + _0x2d8bb4[_0x5612de(0x270)] = {}, + _0x2d8bb4[_0x5612de(0x23e)] = {}, + _0x2d8bb4[_0x5612de(0x393)] = {}, + _0x2d8bb4[_0x5612de(0x26b)] = {}, + _0x2d8bb4['document'] = {}, + _0x2d8bb4[_0x5612de(0x328)] = {}, + _0x2d8bb4[_0x5612de(0x1ba)] = {}, + _0x2d8bb4['custom'] = {}; + var _0x548676 = null; + + function _0x491716() { + var _0x4f58c9 = _0x5612de; + return w_0x5c3140(_0x4f58c9(0x174), { + get 0x0() { + return self; + }, + get 0x1() { + return window; + }, + get 0x2() { + return parent; + }, + 0x3: arguments + }, this); + } + + function _0x2d2578() { + !(function () { + var _0x236733 = w_0x25f3 + , _0x460c07 = {} + , _0x3606e1 = navigator[_0x236733(0x359)] || navigator[_0x236733(0x2f0)]; + if (_0x3606e1) { + try { + _0x460c07[_0x236733(0x3ac)] = _0x3606e1[_0x236733(0x3ac)] ? 0x147a + -0x5 * 0x60f + 0x9d2 : -0x169c + 0x26d6 + -0x1038, + _0x460c07[_0x236733(0x213)] = Math[_0x236733(0x369)]((0x31 * 0x75 + 0x14c7 + -0x2ac8) * _0x3606e1[_0x236733(0x213)]), + _0x460c07[_0x236733(0x2b0)] = '' + _0x3606e1[_0x236733(0x2b0)], + _0x460c07[_0x236733(0x191)] = '' + _0x3606e1['dischargingTime']; + } catch (_0x2c301c) { + } + _0x2d8bb4[_0x236733(0x359)] = {}, + Object[_0x236733(0x2a0)](_0x2d8bb4[_0x236733(0x359)], _0x460c07); + } else { + if (_0x236733(0x384) != typeof navigator && navigator[_0x236733(0x1b2)]) + try { + navigator[_0x236733(0x1b2)]()[_0x236733(0x1ed)](function (_0x369fc5) { + var _0x34e3e9 = _0x236733; + try { + _0x460c07[_0x34e3e9(0x3ac)] = _0x369fc5[_0x34e3e9(0x3ac)] ? 0x20aa + -0x11 * -0x86 + 0x1 * -0x298f : 0xd51 + 0x152c + 0xd * -0x2a7, + _0x460c07[_0x34e3e9(0x213)] = Math[_0x34e3e9(0x369)]((0x1205 + -0x41 * 0x32 + -0x3 * 0x1a5) * _0x369fc5[_0x34e3e9(0x213)]), + _0x460c07[_0x34e3e9(0x2b0)] = '' + _0x369fc5[_0x34e3e9(0x2b0)], + _0x460c07[_0x34e3e9(0x191)] = '' + _0x369fc5['dischargingTime']; + } catch (_0x2f63d1) { + } + _0x2d8bb4['battery'] = {}, + Object[_0x34e3e9(0x2a0)](_0x2d8bb4[_0x34e3e9(0x359)], _0x460c07); + }); + } catch (_0xfc012d) { + } + } + }()), + 'undefined' != typeof Promise && (_0x548676 = new Promise(function (_0x1df02e) { + try { + _0x5bbaf0()['then'](function (_0x27ab47) { + var _0xbee19f = w_0x25f3; + Object[_0xbee19f(0x2a0)](_0x2d8bb4['wID'], { + 'rtcIP': _0x27ab47 + }); + }); + } catch (_0x7bc12a) { + } + _0x1df02e(''); + } + )); + } + + function _0x5c328e() { + var _0x378ae2 = _0x5612de; + return w_0x5c3140(_0x378ae2(0x1ad), { + get 0x0() { + return window; + }, + get 0x1() { + return navigator; + }, + get 0x2() { + var _0xa78dc5 = _0x378ae2; + return _0xa78dc5(0x384) != typeof InstallTrigger ? InstallTrigger : void (0x26ae * 0x1 + -0xad * 0x2e + -0x6c * 0x12); + }, + 0x3: Object, + get 0x4() { + return _0x241339; + }, + get 0x5() { + return _0x2d8bb4; + }, + get 0x6() { + return document; + }, + 0x7: Promise, + 0x8: Date, + get 0x9() { + return _0x252788; + }, + get 0xa() { + return _0x5011f8; + }, + get 0xb() { + return _0x4f323e; + }, + get 0xc() { + return _0x5090f5; + }, + 0xd: Math, + get 0xe() { + return _0x3ffe15; + }, + get 0xf() { + return _0x18b4be; + }, + get 0x10() { + return _0x484054; + }, + get 0x11() { + return _0x491716; + }, + get 0x12() { + return _0x462335; + }, + get 0x13() { + return _0x24dc34; + }, + get 0x14() { + return _0x6caf; + }, + get 0x15() { + return _0x2d2578; + }, + get 0x16() { + return _0x3a2b92; + }, + get 0x17() { + return _0x5abc93; + }, + get 0x18() { + return _0x573065; + }, + get 0x19() { + return _0x58bcf8; + }, + get 0x1a() { + return _0x1555d9; + }, + get 0x1b() { + return _0x5d3845; + }, + 0x1c: parseInt, + get 0x1d() { + return _0x3d13cf; + }, + get 0x1e() { + return _0x4a2daf; + }, + get 0x1f() { + return _0x641e3d; + }, + 0x20: JSON, + get 0x21() { + return _0x48a082; + }, + get 0x22() { + return _0x4df596; + }, + get 0x23() { + return _0x5dde58; + }, + get 0x24() { + return _0x548676; + }, + get 0x25() { + return _0x29a5ac; + }, + 0x26: arguments + }, this); + } + + function _0x25a792(_0x2f25f2) { + var _0x329005 = _0x5612de; + return _0x462335[_0x329005(0x185)] && _0x462335[_0x329005(0x185)][_0x329005(0x2dc)] && -(-0x4f2 * 0x5 + 0x254f + -0xc94) !== _0x2f25f2[_0x329005(0x2c5)](_0x462335[_0x329005(0x185)][_0x329005(0x2dc)]) ? _0x39693d['sec'] : _0x39693d[_0x329005(0x1b4)]; + } + + function _0xd287a1(_0x35260d) { + var _0x241816 = _0x5612de + , _0x40ac17 = _0x462335[_0x241816(0x185)][_0x241816(0x2dc)]; + return !(!_0x40ac17 || !_0x35260d || -(0x116 * -0x2 + -0x1af8 * -0x1 + -0x18cb) === _0x35260d[_0x241816(0x2c5)](_0x40ac17)); + } + + function _0x2b13af(_0x52c947) { + var _0x221375 = _0x5612de + , _0x7eff84 = _0x52c947; + decodeURIComponent(_0x52c947) === _0x52c947 && (_0x7eff84 = encodeURI(_0x52c947)); + var _0x5e1d88 = _0x7eff84[_0x221375(0x2c5)]('?'); + if (_0x5e1d88 > 0x1673 * 0x1 + 0x2150 + -0x37c3) { + var _0xc7170 = _0x7eff84[_0x221375(0x3a7)](-0x80c + 0x71e * 0x2 + -0x630, _0x5e1d88 + (0x2 * 0x919 + 0x4 * -0x931 + 0x1293)) + , _0x8fbad9 = _0x7eff84[_0x221375(0x3a7)](_0x5e1d88 + (-0x1de4 + -0x2 * -0x1163 + 0x4e1 * -0x1)); + _0x7eff84 = _0xc7170 + _0x8fbad9[_0x221375(0x342)]('\x27')['join'](_0x221375(0x37e)); + } + return _0x7eff84; + } + + function _0x1958a5(_0x42413b, _0x5e3de6) { + var _0x406220 = _0x5612de; + for (var _0x32045a = '', _0xbe63df = '', _0x5623ae = 0x5f6 + -0x220e + 0x1c18; _0x5623ae < _0x5e3de6[_0x406220(0x259)]; _0x5623ae++) + _0x5623ae % (0x951 + 0xb15 + 0x105 * -0x14) == -0x10de + 0x15 * 0x185 + 0x1 * -0xf0b ? _0xbe63df = _0x5e3de6[_0x5623ae] : _0x32045a += '&' + _0xbe63df + '=' + _0x5e3de6[_0x5623ae]; + var _0x4ddc33 = _0x42413b; + if (_0x32045a[_0x406220(0x259)] > -0x135d + 0x8e1 + -0x2c * -0x3d) { + var _0x50fb42 = -(0x2 * -0x1252 + 0x13 * 0x85 + 0x95 * 0x2e) === _0x42413b['indexOf']('?') ? '?' : '&'; + _0x4ddc33 = _0x42413b + _0x50fb42 + _0x32045a[_0x406220(0x3a7)](0x324 + -0xf1 * -0x17 + 0x1 * -0x18ca); + } + return _0x4ddc33; + } + + function _0x288415(_0x5a419e) { + var _0x259f53 = _0x5612de + , _0x4465ef = _0x5a419e['indexOf']('?'); + return -(-0x78c + -0x1a4c + -0x6c5 * -0x5) !== _0x4465ef ? _0x5a419e[_0x259f53(0x3a7)](_0x4465ef + (0x907 + 0x137b * 0x1 + -0x1c81)) : ''; + } + + function _0x6a7375(_0x2a9a57) { + var _0x447596 = _0x5612de; + for (var _0x1ca622 = -0x16a3 * -0x1 + 0x87b + -0x1f1e; _0x1ca622 < _0x462335['_enablePathListRegex']['length']; _0x1ca622++) + if (_0x462335[_0x447596(0x1a9)][_0x1ca622]['test'](_0x2a9a57)) + return !(-0x5ed + -0x3d * -0x41 + -0x990); + return !(-0x1 * -0x26ff + -0x11c1 * 0x1 + -0x153d); + } + + function _0x7d8404(_0x34967f) { + var _0x5e578e = _0x5612de; + return _0x5e578e(0x186) === _0x34967f || 'application/json' === _0x34967f; + } + + function _0x3af1be() { + var _0x1347f7 = _0x5612de; + return w_0x5c3140(_0x1347f7(0x368), { + get 0x0() { + return window; + }, + get 0x1() { + return _0x6a7375; + }, + get 0x2() { + return _0x6caf; + }, + get 0x3() { + return _0x1958a5; + }, + get 0x4() { + return _0x2b13af; + }, + get 0x5() { + return _0x288415; + }, + get 0x6() { + return _0x8edc3d; + }, + get 0x7() { + return _0x462335; + }, + get 0x8() { + return _0x45e0e9; + }, + get 0x9() { + return _0x7d8404; + }, + get 0xa() { + return _0x1294ff; + }, + get 0xb() { + return _0x20cbf3; + }, + get 0xc() { + return _0x45b94b; + }, + get 0xd() { + return _0x572e48; + }, + get 0xe() { + return _0xd287a1; + }, + get 0xf() { + return _0x25a792; + }, + get 0x10() { + return _0x39693d; + }, + get 0x11() { + return _0x1f42cb; + }, + get 0x12() { + return _0x556182; + }, + get 0x13() { + return setTimeout; + }, + get 0x14() { + return _0x5c328e; + }, + 0x15: arguments, + 0x16: RegExp + }, this); + } + + var _0x3c4266 = _0x5612de(0x384) != typeof URL && URL instanceof Object + , _0x3311d7 = 'undefined' != typeof Request && Request instanceof Object + , _0x4f1fa4 = 'undefined' != typeof Headers && Headers instanceof Object; + + function _0x415adb() { + var _0x51ab32 = _0x5612de; + return window[_0x51ab32(0x197)]; + } + + function _0x1d82ac() { + var _0x2340b7 = _0x5612de; + return w_0x5c3140(_0x2340b7(0x234), { + get 0x0() { + return _0x415adb; + }, + get 0x1() { + return window; + }, + get 0x2() { + return _0xd287a1; + }, + get 0x3() { + return _0x25a792; + }, + get 0x4() { + return _0x39693d; + }, + get 0x5() { + return _0x6caf; + }, + get 0x6() { + return _0x1f42cb; + }, + get 0x7() { + return _0x556182; + }, + get 0x8() { + return setTimeout; + }, + get 0x9() { + return _0x5c328e; + }, + get 0xa() { + return _0x3311d7; + }, + get 0xb() { + return Request; + }, + get 0xc() { + return _0x3c4266; + }, + get 0xd() { + return URL; + }, + get 0xe() { + return _0x6a7375; + }, + get 0xf() { + return _0x1958a5; + }, + get 0x10() { + return _0x2b13af; + }, + get 0x11() { + return _0x288415; + }, + get 0x12() { + return _0x8edc3d; + }, + get 0x13() { + return _0x462335; + }, + get 0x14() { + return _0x45e0e9; + }, + get 0x15() { + return _0xb48e77; + }, + get 0x16() { + return _0x7d8404; + }, + get 0x17() { + return _0x1294ff; + }, + get 0x18() { + return _0x20cbf3; + }, + get 0x19() { + return _0x45b94b; + }, + get 0x1a() { + return _0x572e48; + }, + 0x1b: arguments + }, this); + } + + function _0xb48e77(_0x29caaf, _0xa4ab82) { + var _0x1cf8d6 = _0x5612de + , _0x314297 = ''; + if (_0x3311d7 && _0x29caaf instanceof Request) { + var _0x1f374d = _0x29caaf[_0x1cf8d6(0x35b)][_0x1cf8d6(0x32b)](_0x1cf8d6(0x228)); + return _0x1f374d && (_0x314297 = _0x1f374d), + _0x314297; + } + if (_0xa4ab82 && _0xa4ab82[_0x1cf8d6(0x35b)]) { + if (_0x4f1fa4 && _0xa4ab82[_0x1cf8d6(0x35b)] instanceof Headers) { + var _0x4dff82 = _0xa4ab82[_0x1cf8d6(0x35b)][_0x1cf8d6(0x32b)](_0x1cf8d6(0x228)); + return _0x4dff82 && (_0x314297 = _0x4dff82), + _0x314297; + } + if (_0xa4ab82['headers'] instanceof Array) { + for (var _0x6ae47c = 0xd20 + 0x699 * -0x5 + -0x13dd * -0x1; _0x6ae47c < _0xa4ab82['headers'][_0x1cf8d6(0x259)]; _0x6ae47c++) + if (_0x1cf8d6(0x228) == _0xa4ab82[_0x1cf8d6(0x35b)][_0x6ae47c][-0x12f6 + -0x207f + 0x1127 * 0x3]['toLowerCase']()) + return _0xa4ab82[_0x1cf8d6(0x35b)][_0x6ae47c][-0xaa2 + -0xe0e + 0x18b1]; + } + if (_0xa4ab82[_0x1cf8d6(0x35b)] instanceof Object) { + for (var _0x1506c8 = -0x1ce4 + 0x8dc + 0xa04 * 0x2, _0x32fecb = Object['keys'](_0xa4ab82['headers']); _0x1506c8 < _0x32fecb[_0x1cf8d6(0x259)]; _0x1506c8++) { + var _0x228b3d = _0x32fecb[_0x1506c8]; + if ('content-type' === _0x228b3d['toLowerCase']()) + return _0xa4ab82[_0x1cf8d6(0x35b)][_0x228b3d]; + } + return _0x314297; + } + } + } + + function _0x1294ff(_0x1475ff, _0x5700d1, _0x563b6f) { + var _0x383b2a = _0x5612de; + if (null == _0x563b6f || '' === _0x563b6f) + return _0x1475ff; + if (_0x563b6f = _0x563b6f[_0x383b2a(0x3ae)](), + _0x383b2a(0x186) === _0x5700d1) { + _0x1475ff[_0x383b2a(0x336)] = !(0xfc + -0x22d4 + 0x21d8); + var _0x38ceac = _0x563b6f[_0x383b2a(0x342)]('&') + , _0x1b01b6 = {}; + if (_0x38ceac) { + for (var _0x4c4745 = -0x29 * -0xd3 + 0x1 * 0xa01 + -0x2bcc; _0x4c4745 < _0x38ceac['length']; _0x4c4745++) + _0x1b01b6[_0x38ceac[_0x4c4745][_0x383b2a(0x342)]('=')[0x2 * -0x391 + -0x1 * -0x99f + -0x27d]] = decodeURIComponent(_0x38ceac[_0x4c4745][_0x383b2a(0x342)]('=')[0x1e44 + -0x14e3 * -0x1 + -0x3326]); + } + _0x1475ff[_0x383b2a(0x189)] = _0x1b01b6; + } else + _0x1475ff[_0x383b2a(0x189)] = JSON['parse'](_0x563b6f); + return _0x1475ff; + } + + function _0x45e0e9(_0x2d3284, _0xb8d78) { + var _0x521f3f = _0x5612de + , _0x3496a3 = _0xb8d78; + if (_0x462335[_0x521f3f(0x18d)][_0x521f3f(0x259)] > 0x1f8f * 0x1 + -0x1 * 0x21dd + 0xa * 0x3b) + for (var _0x335ec5 = 0xb * -0xd3 + -0x1977 * 0x1 + -0x41 * -0x88; _0x335ec5 < _0x462335[_0x521f3f(0x18d)][_0x521f3f(0x259)]; _0x335ec5++) { + var _0x3f8686 = _0x462335[_0x521f3f(0x18d)][_0x335ec5][-0x2023 + 0xcb * -0x10 + -0x1cb * -0x19]; + if (_0x3f8686[_0x521f3f(0x22b)](_0xb8d78)) { + _0x3496a3 = _0xb8d78[_0x521f3f(0x377)](_0x3f8686, _0x462335[_0x521f3f(0x18d)][_0x335ec5][0x1a12 * -0x1 + 0x2361 + -0x94e]), + _0x2d3284 && _0x3d40ff[_0x521f3f(0x397)]['call'](_0x2d3284, _0x521f3f(0x243), _0x521f3f(0x223) + _0xb8d78 + '\x0aREWRITED:\x20' + _0x3496a3); + break; + } + } + return _0x3496a3 = _0x2b13af(_0x3496a3); + } + + function _0x344a4d() { + var _0x1b8e41 = _0x5612de; + return w_0x5c3140(_0x1b8e41(0x20d), { + get 0x0() { + return window; + }, + get 0x1() { + return _0x6a7375; + }, + get 0x2() { + return _0x6caf; + }, + get 0x3() { + return _0x1958a5; + }, + get 0x4() { + return _0x2b13af; + }, + get 0x5() { + return _0x288415; + }, + get 0x6() { + return _0x8edc3d; + }, + 0x7: arguments + }, this); + } + + function _0x3f720d() { + _0x3af1be(), + _0x1d82ac(), + _0x344a4d(); + } + + function _0x3bfecb(_0x4b21ed) { + var _0x3a0ee2 = _0x5612de; + this[_0x3a0ee2(0x341)] = 'ConfigException', + this[_0x3a0ee2(0x312)] = _0x4b21ed; + } + + var _0x589057 = { + 'cn': { + 'host': _0x5612de(0x2c9) + } + }, _0x2bbf08 = [_0x5612de(0x30c)], _0x3d70a4; + + function _0x43f5a3(_0x5a985f) { + var _0x20ecf9 = _0x5612de + , _0x3c43cc = ''; + return { + 'host': _0x3c43cc = _0x5a985f[_0x20ecf9(0x1b6)] || _0x5a985f[_0x20ecf9(0x1ae)] ? _0x5a985f[_0x20ecf9(0x1b3)] : _0x589057[_0x5a985f[_0x20ecf9(0x224)]][_0x20ecf9(0x2dc)], + 'pathList': _0x2bbf08, + 'reportUrl': _0x3c43cc + _0x2bbf08[0x1d7 * 0x7 + 0x1073 + -0x1d54] + }; + } + + var _0x383bd7 = !(0x244 * 0xb + -0x16a * -0x4 + -0x1e93), _0xd39ee2, _0x9e520d; + + function _0x53ee31(_0x817028) { + var _0x5d5e8d = _0x5612de; + return w_0x5c3140(_0x5d5e8d(0x34f), { + 0x0: Object, + 0x1: Math, + get 0x2() { + return _0x3bfecb; + }, + get 0x3() { + return _0x6caf; + }, + get 0x4() { + return _0x462335; + }, + get 0x5() { + return _0x43f5a3; + }, + get 0x6() { + return setTimeout; + }, + get 0x7() { + return _0x5c328e; + }, + get 0x8() { + return _0x3d70a4; + }, + set 0x8(_0x5982f0) { + _0x3d70a4 = _0x5982f0; + }, + get 0x9() { + return clearInterval; + }, + get 0xa() { + return setInterval; + }, + get 0xb() { + return _0x450b73; + }, + get 0xc() { + return _0x1a39c4; + }, + get 0xd() { + return _0x3f720d; + }, + get 0xe() { + return _0x59992f; + }, + get 0xf() { + return _0x39d569; + }, + get 0x10() { + return _0x1dbe74; + }, + get 0x11() { + return _0x383bd7; + }, + set 0x11(_0x488bc8) { + _0x383bd7 = _0x488bc8; + }, + get 0x12() { + return _0x18707d; + }, + get 0x13() { + return _0x1c3b6d; + }, + 0x14: arguments, + 0x15: _0x817028 + }, this); + } + + function _0x3498af(_0x3e9bb9) { + } + + function _0x59992f(_0x10dd97) { + var _0x1beab7 = _0x5612de; + for (var _0x52c469 = 0xb * -0x262 + -0x606 + 0x101e * 0x2; _0x52c469 < _0x10dd97[_0x1beab7(0x259)]; _0x52c469++) + _0x10dd97[_0x52c469] && _0x462335['_enablePathListRegex']['push'](new RegExp(_0x10dd97[_0x52c469])); + } + + function _0x39d569(_0x51ab06) { + var _0x59d7a1 = _0x5612de; + if (void (-0x11c8 * 0x1 + 0x1fa2 * 0x1 + -0xdda) !== _0x51ab06) { + for (var _0x3e2076 = -0x3ab * -0x5 + -0x19d4 + 0x1b * 0x47; _0x3e2076 < _0x51ab06[_0x59d7a1(0x259)]; _0x3e2076++) + _0x462335[_0x59d7a1(0x18d)][_0x59d7a1(0x36e)]([new RegExp(_0x51ab06[_0x3e2076][-0xfb * -0x1 + 0x9a7 * 0x4 + -0x5 * 0x7eb]), _0x51ab06[_0x3e2076][-0x57 * 0x55 + 0x1c99 * 0x1 + 0x4b]]); + } + } + + function _0x32e4a6() { + var _0x494ee9 = _0x5612de; + return window[_0x494ee9(0x318)] || ''; + } + + function _0x1be1e1(_0x58db04) { + var _0x32bdb2 = _0x5612de + , _0x4558be = _0x6caf[_0x32bdb2(0x323)] + , _0x4ab91a = -0x5d * 0x5e + -0xb06 + -0x47 * -0xa3; + _0x32bdb2(0x2b6) === _0x58db04 && (_0x4ab91a = 0x1754 + 0xd0 * 0x4 + -0x1a93), + _0x32bdb2(0x285) === _0x58db04 && (_0x4ab91a = -0x146 * -0x13 + 0x13 * 0xef + -0x29ed); + var _0x1741bb = { + 'ts': new Date()[_0x32bdb2(0x16d)](), + 'v': _0x4ab91a + }; + _0x4558be[_0x32bdb2(0x36e)](_0x1741bb); + } + + function _0x4de7ef() { + var _0x45ce69 = _0x5612de, _0x5c1967, _0x586941; + void (0xbc1 + 0x1 * 0x1309 + -0x1eca) !== document[_0x45ce69(0x285)] ? (_0x45ce69(0x285), + _0x586941 = _0x45ce69(0x1a0), + _0x5c1967 = _0x45ce69(0x1f6)) : void (0x2056 + 0x2306 + -0x435c) !== document[_0x45ce69(0x15f)] ? (_0x45ce69(0x15f), + _0x586941 = _0x45ce69(0x1c8), + _0x5c1967 = _0x45ce69(0x33f)) : void (0x68 * 0x53 + 0x3c7 * 0x3 + -0x2d0d) !== document[_0x45ce69(0x2c6)] ? (_0x45ce69(0x2c6), + _0x586941 = _0x45ce69(0x2cc), + _0x5c1967 = _0x45ce69(0x1a4)) : void (-0x1bd7 + 0xc9 * -0x2b + 0x3d9a) !== document[_0x45ce69(0x22a)] && (_0x45ce69(0x22a), + _0x586941 = _0x45ce69(0x322), + _0x5c1967 = _0x45ce69(0x166)), + document[_0x45ce69(0x2f6)](_0x586941, function () { + _0x1be1e1(document[_0x5c1967]); + }, !(0x1088 + 0x18c2 + 0xdc3 * -0x3)), + _0x1be1e1(document[_0x5c1967]); + } + + function _0x3ff3f1() { + _0x58c311(); + } + + function _0x4c727e() { + var _0x3f5094 = _0x5612de; + + function _0x115c6a(_0x2162b2) { + var _0x4cc12e = w_0x25f3; + _0x462335['triggerUnload'] || (_0x462335[_0x4cc12e(0x204)] = !(0x1 * -0x632 + 0x3 * -0xb71 + -0x1c3 * -0x17), + _0x3ff3f1()); + } + + window && window[_0x3f5094(0x2f6)] && (window[_0x3f5094(0x2f6)](_0x3f5094(0x37d), _0x115c6a), + window[_0x3f5094(0x2f6)](_0x3f5094(0x29b), _0x115c6a)); + } + + function _0x5b850b() { + var _0x4d0be4 = _0x5612de; + for (var _0x35a39e = document[_0x4d0be4(0x272)][_0x4d0be4(0x342)](';'), _0x3046a3 = [], _0x58914c = -0x923 + -0x66a * -0x5 + -0x16ef; _0x58914c < _0x35a39e[_0x4d0be4(0x259)]; _0x58914c++) + if (_0x4d0be4(0x3b5) == (_0x3046a3 = _0x35a39e[_0x58914c][_0x4d0be4(0x342)]('='))[-0x7cd * -0x1 + -0x1678 + 0xeab]['trim']()) { + _0x6caf[_0x4d0be4(0x3b5)] = _0x3046a3[0x200f * -0x1 + 0x926 + 0x16ea]; + break; + } + } + + function _0x498349(_0x5efcd6) { + return new _0x53ee31(_0x5efcd6); + } + + function _0x475194(_0x56e1e3) { + -0xa7f + -0xb * 0x18a + 0x1b6d === _0x56e1e3 + // setTimeout(_0x5047d8, 0x1 * -0xb55 + -0x1031 + 0x1bea * 0x1) : -0xef1 + -0xfd3 * -0x1 + -0xe1 === _0x56e1e3 && setTimeout(_0x5c328e, 0x6 * 0x38d + -0x49 * -0x2b + -0x95 * 0x39); + } + + function _0x4a4111(_0x2ba688, _0x1e135c) { + var _0x18e9b1 = _0x5612de; + -0xfab + 0x9 * -0x2a2 + 0x275e === _0x2ba688 && (_0x462335[_0x18e9b1(0x34a)] = Object['assign']({}, _0x462335[_0x18e9b1(0x34a)], _0x1e135c)); + } + + function _0x271dea(_0x20563e) { + void (-0x1aa2 + -0x2407 + 0x3 * 0x14e3) !== _0x20563e && '' != _0x20563e && (_0x6caf['ttwid'] = _0x20563e); + } + + function _0x3a4a1a(_0x5b82b5) { + var _0x30adbb = _0x5612de; + void (0xb * -0x17d + -0x227d + 0x32dc) !== _0x5b82b5 && '' != _0x5b82b5 && (_0x6caf[_0x30adbb(0x316)] = _0x5b82b5); + } + + function _0x3f0a66(_0x53e069) { + var _0x38d5b6 = _0x5612de; + void (-0x7eb * 0x3 + 0xc4 * 0x2 + -0x1 * -0x1639) !== _0x53e069 && '' != _0x53e069 && (_0x6caf[_0x38d5b6(0x339)] = _0x53e069); + } + + _0x53ee31[_0x5612de(0x344)][_0x5612de(0x1a3)] = _0x5c2014, + _0x53ee31[_0x5612de(0x344)]['getReferer'] = _0x32e4a6, + _0x53ee31[_0x5612de(0x344)]['setUserMode'] = _0x3498af, + _0xd39ee2 = _0x24dc34(_0x45b94b['refererKey']) || '', + _0x2ecc5a(_0x45b94b['refererKey']), + _0x5612de(0x2d6) === _0xd39ee2 ? _0xd39ee2 = '' : '' === _0xd39ee2 && (_0xd39ee2 = document[_0x5612de(0x2fa)]), + _0xd39ee2 && (window[_0x5612de(0x318)] = _0xd39ee2), + _0x9e520d = _0x5141ac(), + _0x9e520d && (_0x6caf[_0x5612de(0x2b4)] = _0x9e520d, + _0x6caf['msStatus'] = _0x39693d['asgw']), + // setTimeout(function () { + // _0x18a9f7(), + // _0x1dbe74(), + // _0x4de7ef(), + // _0x4c727e(), + // _0x21fa28(); + // }, -0x1a83 + 0x15ee + -0xd * -0x141), + _0x5b850b(), + _0x59992f([_0x5612de(0x30c)]); + var _0x1649bc = !(-0xc6b * -0x1 + -0x2315 + 0x16aa); + crawler = _0x5c2014 + _0x1d18f2['frontierSign'] = _0x5c2014, + _0x1d18f2[_0x5612de(0x2e8)] = _0x32e4a6, + _0x1d18f2[_0x5612de(0x3b9)] = _0x498349, + _0x1d18f2[_0x5612de(0x1f8)] = _0x1649bc, + _0x1d18f2['report'] = _0x475194, + _0x1d18f2[_0x5612de(0x298)] = _0x4a4111, + _0x1d18f2[_0x5612de(0x1a7)] = _0x3a4a1a, + _0x1d18f2['setTTWebidV2'] = _0x3f0a66, + _0x1d18f2[_0x5612de(0x244)] = _0x271dea, + _0x1d18f2[_0x5612de(0x378)] = _0x3498af, + Object['defineProperty'](_0x1d18f2, _0x5612de(0x3bd), { + 'value': !(0x1 * 0x2069 + -0x1403 + -0xc66) + }); + }); +} + +function get_sign(md5) { + let data = { + "X-MS-STUB": md5 + } + return crawler(data)["X-Bogus"]; +} diff --git a/main.go b/main.go new file mode 100644 index 0000000..3eb68bf --- /dev/null +++ b/main.go @@ -0,0 +1,77 @@ +package main + +import ( + "context" + "embed" + "log" + "net/http" + "sync/atomic" + "time" + + "github.com/wailsapp/wails/v2" + "github.com/wailsapp/wails/v2/pkg/options" + "github.com/wailsapp/wails/v2/pkg/options/assetserver" + "github.com/wailsapp/wails/v2/pkg/options/windows" + "github.com/wailsapp/wails/v2/pkg/runtime" + + "github.com/qingwuyingxing/douyin-live-fetcher/internal/api" + "github.com/qingwuyingxing/douyin-live-fetcher/internal/broadcaster" + "github.com/qingwuyingxing/douyin-live-fetcher/internal/db" +) + +//go:embed all:frontend/dist +//go:embed assets/icon.png +//go:embed build/windows/icon.ico +var assets embed.FS + +var ( + forceQuit atomic.Bool +) + +func main() { + if err := db.InitDB(); err != nil { + log.Printf("[main] db init error: %v", err) + } + + bc := broadcaster.NewBroadcaster() + + go func() { + if err := api.StartServer(bc, http.FS(assets), 5000); err != nil { + log.Printf("[main] API server error: %v", err) + } + }() + + for i := 0; i < 30; i++ { + if resp, err := http.Get("http://127.0.0.1:5000/api/status"); err == nil { + resp.Body.Close() + break + } + time.Sleep(200 * time.Millisecond) + } + log.Println("[main] API server ready") + + cfg := &options.App{ + Title: "青梧映星", + Width: 1280, + Height: 800, + MinWidth: 1024, + MinHeight: 600, + WindowStartState: options.Normal, + AssetServer: &assetserver.Options{Assets: assets}, + BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1}, + Windows: &windows.Options{Theme: windows.SystemDefault}, + OnBeforeClose: func(ctx context.Context) bool { + if forceQuit.Load() { return false } + runtime.WindowHide(ctx) + return true + }, + OnShutdown: func(context.Context) { + forceQuit.Store(true) + }, + Bind: []interface{}{&App{}}, + } + + if err := wails.Run(cfg); err != nil { + log.Fatal(err) + } +} diff --git a/wails.json b/wails.json new file mode 100644 index 0000000..acea419 --- /dev/null +++ b/wails.json @@ -0,0 +1,11 @@ +{ + "name": "douyin-live-fetcher", + "outputfilename": "go_win_template", + "frontend:dir": "frontend", + "frontend:install": "npm install", + "frontend:build": "npm run build", + "frontend:dev:watcher": "npm run dev", + "frontend:dev:server": "http://localhost:5173", + "author": { "name": "Geliebte", "email": "" }, + "info": { "productname": "青梧映星", "version": "1.1.0", "companyname": "青梧映星软件开发工作室", "copyright": "© 2026 青梧映星软件开发工作室" } +}