@bangdao-ai/acw-tools 1.13.42 → 1.13.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assetInstallPaths.js +153 -0
- package/chatGrabState.js +128 -2
- package/claudeCodeParser.js +670 -2
- package/codexParser.js +1111 -2
- package/codexRepair.js +304 -2
- package/concurrencyGuards.js +109 -0
- package/cursorCliParser.js +805 -2
- package/cursorConversationParser.js +2582 -2
- package/dist/LICENSE +22 -0
- package/dist/README.md +94 -0
- package/dist/chatGrabState.js +3 -0
- package/dist/claudeCodeParser.js +3 -0
- package/dist/codexParser.js +3 -0
- package/dist/codexRepair.js +3 -0
- package/dist/cursorCliParser.js +3 -0
- package/dist/cursorConversationParser.js +3 -0
- package/dist/index.js +6 -0
- package/{manifest.json → dist/manifest.json} +1 -1
- package/dist/package.json +66 -0
- package/dist/postinstall.js +2 -0
- package/executionUploadBatching.js +18 -0
- package/failedRetryPolicy.js +93 -0
- package/index.js +8355 -4
- package/package.json +34 -10
- package/parentDisconnectPolicy.js +32 -0
- package/skillInstallPaths.js +74 -0
- package/slaveIdleExitPolicy.js +46 -0
- package/sqliteBackend.js +39 -0
- package/vpnDetector.js +50 -0
- package/workspaceGitUtils.js +161 -0
- package/postinstall.js +0 -2
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
|
|
3
|
+
export const ASSET_INSTALL_AGENT_AUTO = 'auto';
|
|
4
|
+
export const ASSET_INSTALL_AGENT_CURSOR = 'cursor';
|
|
5
|
+
export const ASSET_INSTALL_AGENT_CODEX = 'codex';
|
|
6
|
+
export const ASSET_INSTALL_AGENTS = [ASSET_INSTALL_AGENT_CURSOR, ASSET_INSTALL_AGENT_CODEX];
|
|
7
|
+
|
|
8
|
+
export const ASSET_TYPE_SKILL = 'skill';
|
|
9
|
+
export const ASSET_TYPE_RULE = 'rule';
|
|
10
|
+
export const ASSET_TYPE_KNOWLEDGE = 'knowledge';
|
|
11
|
+
export const ASSET_TYPE_DEV_BASE = 'devBase';
|
|
12
|
+
|
|
13
|
+
const ASSET_DIR_NAMES = {
|
|
14
|
+
[ASSET_TYPE_SKILL]: 'skills',
|
|
15
|
+
[ASSET_TYPE_RULE]: 'rules',
|
|
16
|
+
[ASSET_TYPE_KNOWLEDGE]: 'knowledge',
|
|
17
|
+
[ASSET_TYPE_DEV_BASE]: 'dev-bases',
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export function detectAssetInstallAgent(env = process.env, options = {}) {
|
|
21
|
+
const configuredAgent = String(env.ACW_INSTALL_AGENT || '').trim().toLowerCase();
|
|
22
|
+
if (configuredAgent === ASSET_INSTALL_AGENT_CURSOR) {
|
|
23
|
+
return ASSET_INSTALL_AGENT_CURSOR;
|
|
24
|
+
}
|
|
25
|
+
return ASSET_INSTALL_AGENT_CODEX;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function normalizeAssetInstallAgent(agent = ASSET_INSTALL_AGENT_AUTO, env = process.env, options = {}) {
|
|
29
|
+
const value = String(agent || ASSET_INSTALL_AGENT_AUTO).trim().toLowerCase();
|
|
30
|
+
if (value === ASSET_INSTALL_AGENT_AUTO) {
|
|
31
|
+
return detectAssetInstallAgent(env, options);
|
|
32
|
+
}
|
|
33
|
+
if (ASSET_INSTALL_AGENTS.includes(value)) {
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
throw new Error(`不支持的资产安装目标: ${agent}`);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function getCodexHome(homeDir, env = process.env) {
|
|
40
|
+
const configured = String(env.CODEX_HOME || '').trim();
|
|
41
|
+
return configured || path.join(homeDir, '.codex');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function normalizeAssetType(assetType) {
|
|
45
|
+
const value = String(assetType || '').trim();
|
|
46
|
+
if (ASSET_DIR_NAMES[value]) {
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
throw new Error(`不支持的资产类型: ${assetType}`);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function resolveAssetInstallTarget({
|
|
53
|
+
assetType,
|
|
54
|
+
agent = ASSET_INSTALL_AGENT_AUTO,
|
|
55
|
+
scope = 'project',
|
|
56
|
+
targetDirectory,
|
|
57
|
+
assetDirectory,
|
|
58
|
+
workspaceDir,
|
|
59
|
+
homeDir,
|
|
60
|
+
env = process.env,
|
|
61
|
+
}) {
|
|
62
|
+
const normalizedAssetType = normalizeAssetType(assetType);
|
|
63
|
+
const assetDirName = ASSET_DIR_NAMES[normalizedAssetType];
|
|
64
|
+
const normalizedScope = scope === 'user' ? 'user' : 'project';
|
|
65
|
+
const projectRoot = targetDirectory || workspaceDir || process.cwd();
|
|
66
|
+
const resolvedAgent = normalizeAssetInstallAgent(agent, env, {
|
|
67
|
+
workspaceDir: projectRoot,
|
|
68
|
+
targetDirectory: projectRoot,
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
if (assetDirectory) {
|
|
72
|
+
if (!path.isAbsolute(assetDirectory)) {
|
|
73
|
+
throw new Error(`资产安装目录必须是绝对路径: ${assetDirectory}`);
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
agent: resolvedAgent,
|
|
77
|
+
scope: normalizedScope,
|
|
78
|
+
assetType: normalizedAssetType,
|
|
79
|
+
assetDir: path.resolve(assetDirectory),
|
|
80
|
+
customAssetDir: true,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (resolvedAgent === ASSET_INSTALL_AGENT_CODEX) {
|
|
85
|
+
const assetDir = normalizedScope === 'user'
|
|
86
|
+
? path.join(getCodexHome(homeDir, env), assetDirName)
|
|
87
|
+
: path.join(projectRoot, '.agents', assetDirName);
|
|
88
|
+
return {
|
|
89
|
+
agent: resolvedAgent,
|
|
90
|
+
scope: normalizedScope,
|
|
91
|
+
assetType: normalizedAssetType,
|
|
92
|
+
assetDir,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const assetDir = normalizedScope === 'user'
|
|
97
|
+
? path.join(homeDir, '.cursor', assetDirName)
|
|
98
|
+
: path.join(projectRoot, '.cursor', assetDirName);
|
|
99
|
+
return {
|
|
100
|
+
agent: resolvedAgent,
|
|
101
|
+
scope: normalizedScope,
|
|
102
|
+
assetType: normalizedAssetType,
|
|
103
|
+
assetDir,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export function buildAssetSearchRoots({
|
|
108
|
+
assetType,
|
|
109
|
+
agent = ASSET_INSTALL_AGENT_AUTO,
|
|
110
|
+
scope = 'all',
|
|
111
|
+
workspaceDir,
|
|
112
|
+
homeDir,
|
|
113
|
+
env = process.env,
|
|
114
|
+
}) {
|
|
115
|
+
const normalizedAssetType = normalizeAssetType(assetType);
|
|
116
|
+
const assetDirName = ASSET_DIR_NAMES[normalizedAssetType];
|
|
117
|
+
const resolvedFirst = normalizeAssetInstallAgent(agent, env);
|
|
118
|
+
const agents = agent && String(agent).toLowerCase() !== ASSET_INSTALL_AGENT_AUTO
|
|
119
|
+
? [resolvedFirst]
|
|
120
|
+
: [resolvedFirst, ...ASSET_INSTALL_AGENTS.filter(item => item !== resolvedFirst)];
|
|
121
|
+
const scopes = scope === 'user'
|
|
122
|
+
? ['user']
|
|
123
|
+
: scope === 'workspace' || scope === 'project'
|
|
124
|
+
? ['project']
|
|
125
|
+
: ['project', 'user'];
|
|
126
|
+
const roots = [];
|
|
127
|
+
const seen = new Set();
|
|
128
|
+
|
|
129
|
+
const addRoot = (rootAgent, rootScope, dir) => {
|
|
130
|
+
if (!dir || seen.has(dir)) return;
|
|
131
|
+
seen.add(dir);
|
|
132
|
+
roots.push({ agent: rootAgent, scope: rootScope, assetType: normalizedAssetType, path: dir, source: `${rootAgent}:${rootScope}` });
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
for (const rootAgent of agents) {
|
|
136
|
+
for (const rootScope of scopes) {
|
|
137
|
+
const target = resolveAssetInstallTarget({
|
|
138
|
+
assetType: normalizedAssetType,
|
|
139
|
+
agent: rootAgent,
|
|
140
|
+
scope: rootScope,
|
|
141
|
+
workspaceDir,
|
|
142
|
+
homeDir,
|
|
143
|
+
env,
|
|
144
|
+
});
|
|
145
|
+
addRoot(rootAgent, rootScope, target.assetDir);
|
|
146
|
+
if (rootAgent === ASSET_INSTALL_AGENT_CODEX && rootScope === 'user') {
|
|
147
|
+
addRoot(rootAgent, 'user', path.join(homeDir, '.agents', assetDirName));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
return roots;
|
|
153
|
+
}
|
package/chatGrabState.js
CHANGED
|
@@ -1,3 +1,129 @@
|
|
|
1
|
-
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { ensureCodexRepairState } from './codexRepair.js';
|
|
2
4
|
|
|
3
|
-
(function(_0x5818ac,_0x280c94){const _0x72e971={_0x5673bb:0x119,_0x18c974:0x147,_0x18b597:0x16c,_0x316072:0x157,_0x33f015:0x18c,_0x3e4856:0x12e,_0x1f2fd4:0x179,_0x15742e:0x177,_0x47b4c2:0x156,_0x2f917f:0x278,_0x47aab9:0x28b,_0x3c7f1f:0x188,_0x121a6c:0x118,_0x4af862:0x160,_0x81c20:0x13b,_0x4f1e8c:0x185,_0x3b474a:0x157,_0x417964:0x171,_0x36cc84:0x141,_0x326453:0x29d};function _0x298dac(_0x213bc6,_0x27c7ff,_0x20b93b,_0x12aa24){return _0x53e9(_0x12aa24- -0x19,_0x20b93b);}function _0x5bdbe3(_0x4bf01d,_0x184214,_0x381e30,_0x4a0de0){return _0x53e9(_0x4bf01d-0xf5,_0x184214);}const _0x3f9c51=_0x5818ac();while(!![]){try{const _0x46e7c8=-parseInt(_0x298dac(_0x72e971._0x5673bb,0x157,0x140,_0x72e971._0x18c974))/0x1+-parseInt(_0x298dac(0x19c,_0x72e971._0x18b597,_0x72e971._0x316072,_0x72e971._0x33f015))/0x2+parseInt(_0x298dac(0x165,0x107,0x144,_0x72e971._0x3e4856))/0x3*(parseInt(_0x298dac(_0x72e971._0x1f2fd4,_0x72e971._0x15742e,0x12f,_0x72e971._0x47b4c2))/0x4)+parseInt(_0x5bdbe3(0x265,_0x72e971._0x2f917f,_0x72e971._0x47aab9,0x292))/0x5*(parseInt(_0x298dac(0x1c0,0x164,0x1b1,_0x72e971._0x3c7f1f))/0x6)+parseInt(_0x298dac(_0x72e971._0x121a6c,_0x72e971._0x4af862,0x12f,0x13c))/0x7+-parseInt(_0x298dac(_0x72e971._0x81c20,0x17f,_0x72e971._0x4f1e8c,0x15a))/0x8*(parseInt(_0x298dac(_0x72e971._0x3b474a,0x114,_0x72e971._0x417964,_0x72e971._0x36cc84))/0x9)+-parseInt(_0x5bdbe3(_0x72e971._0x326453,0x294,0x28e,0x26b))/0xa;if(_0x46e7c8===_0x280c94)break;else _0x3f9c51['push'](_0x3f9c51['shift']());}catch(_0x267fdb){_0x3f9c51['push'](_0x3f9c51['shift']());}}}(_0x2826,0x75953));import _0x3a1f9e from'node:fs';import _0x10fa0c from'node:path';function C(){const _0x5f3f2a={_0x40f487:0x255,_0x45ba1b:0x257,_0xd718c9:0x25b,_0x42ce0c:0x23c,_0x3ffb8e:0x219,_0x2f98ff:0x20f,_0x44e9bf:0x17f,_0xe44761:0x23c,_0x181959:0x1e2,_0x27bf3f:0x1d7,_0x224042:0x11b,_0x5e6f81:0xf2,_0x5ab606:0x12f,_0x5acd73:0x100,_0x187504:0x222,_0x280b14:0x205,_0x3d4cbb:0x1f9,_0x2cb36d:0x24c,_0x76f39c:0x222,_0x95acee:0x168,_0x3b5275:0x143,_0x2e34db:0x23e,_0xd995b3:0x22c,_0x4599af:0x1fc,_0x4dbf80:0x21c,_0x242e7b:0x200,_0x553e17:0x1e6,_0x2da5fe:0x1fe,_0x5408b8:0x126,_0x598944:0x105,_0x53ff4a:0xf9,_0x6bc4a8:0x129,_0x58559d:0x24f,_0x34afb9:0x24b},_0x415e84={_0x21d970:0x24},_0x49ef6e={};_0x49ef6e[_0x849a4f(-_0x5f3f2a._0x40f487,-_0x5f3f2a._0x45ba1b,-_0x5f3f2a._0xd718c9,-_0x5f3f2a._0x42ce0c)+'ded']=0x0,_0x49ef6e[_0x849a4f(-_0x5f3f2a._0x3ffb8e,-0x226,-0x232,-_0x5f3f2a._0x2f98ff)+'d']=0x0;const _0x3847d1={};function _0x2c7d3e(_0x5604c7,_0x44b210,_0x5a7062,_0x4612f8){return _0x53e9(_0x5604c7- -_0x415e84._0x21d970,_0x4612f8);}_0x3847d1[_0x2c7d3e(_0x5f3f2a._0x44e9bf,0x152,0x199,0x16e)+_0x849a4f(-_0x5f3f2a._0xe44761,-0x1fa,-0x231,-0x216)]=null,_0x3847d1[_0x849a4f(-0x1f6,-_0x5f3f2a._0x181959,-_0x5f3f2a._0x27bf3f,-0x1ff)+'t']=null,_0x3847d1['lastComple'+_0x2c7d3e(_0x5f3f2a._0x224042,_0x5f3f2a._0x5e6f81,_0x5f3f2a._0x5ab606,_0x5f3f2a._0x5acd73)]=null,_0x3847d1[_0x849a4f(-0x1f9,-_0x5f3f2a._0x187504,-_0x5f3f2a._0x280b14,-0x1ed)+_0x2c7d3e(0x13b,0x14e,0x105,0x13c)]=null,_0x3847d1[_0x849a4f(-_0x5f3f2a._0x3d4cbb,-_0x5f3f2a._0x2cb36d,-0x211,-_0x5f3f2a._0x76f39c)+'ak']=0x0,_0x3847d1[_0x2c7d3e(_0x5f3f2a._0x95acee,0x185,_0x5f3f2a._0x3b5275,0x177)+_0x849a4f(-_0x5f3f2a._0x2e34db,-_0x5f3f2a._0xd995b3,-_0x5f3f2a._0x4599af,-_0x5f3f2a._0x4dbf80)]=null,_0x3847d1['cursorTime'+_0x849a4f(-_0x5f3f2a._0x242e7b,-0x1c6,-_0x5f3f2a._0x553e17,-_0x5f3f2a._0x2da5fe)]=null;function _0x849a4f(_0x3f2763,_0x2d8df7,_0x510759,_0x558fa6){return _0x53e9(_0x558fa6- -0x393,_0x3f2763);}return _0x3847d1[_0x2c7d3e(_0x5f3f2a._0x5408b8,0x137,0x154,_0x5f3f2a._0x598944)+'ion']=null,_0x3847d1[_0x2c7d3e(0x11f,0x158,_0x5f3f2a._0x53ff4a,_0x5f3f2a._0x6bc4a8)+_0x2c7d3e(0x149,0x160,0x154,0x12e)]=[],_0x3847d1[_0x2c7d3e(0x120,0x155,0x11d,0x121)+'e']=[],_0x3847d1[_0x849a4f(-_0x5f3f2a._0x58559d,-0x268,-0x237,-_0x5f3f2a._0x34afb9)]=_0x49ef6e,_0x3847d1;}function S(_0x5e0e0a){const _0x478e86={_0x4e4f3a:0x1b5,_0x350210:0x1a7,_0x3b5f76:0x1bf,_0x13851c:0x1b5,_0x3eb7a1:0x19f,_0x25b910:0x1ab,_0x2ba60c:0x1b3,_0x1e7b45:0x1e5,_0x19cda4:0x1c2,_0x12c185:0x201,_0xf81c35:0x1fb,_0x7ad66b:0x15a,_0x39d44e:0x16e,_0x17b055:0x16a,_0x4d8770:0x13c,_0x3d8860:0x166,_0x1d1bcd:0x181,_0x6ba81e:0x19a,_0x101fdc:0x168,_0x4a4228:0x15f,_0x2fa773:0x1ae,_0x6bcc88:0x1d1,_0x4d1e9d:0x1c0,_0x159d5a:0x17c,_0x2505b1:0x180,_0x66c8ed:0x18c,_0x3db0f2:0x1ec,_0x15e60e:0x1cc,_0x8520c3:0x1a6,_0x3b6611:0x225,_0x4ba3bc:0x255,_0x21a168:0x225,_0x15b69d:0x186,_0x15a9e2:0x185,_0x3d9dd1:0x1be,_0x294f03:0x1c6,_0x57e5cb:0x1d0,_0x266081:0x197,_0x4a0816:0x169,_0x555b66:0x177,_0x56b14b:0x1bd,_0x3b25ca:0x18c,_0x452d87:0x130,_0x39b9ce:0x1d8,_0x2af7d5:0x18a,_0x483a4b:0x1bd,_0xd0eab8:0x1c8,_0x4d3e2f:0x1fc,_0xe76517:0x1d6,_0x33b0c3:0x159,_0x14c301:0x19c,_0x339484:0x187,_0x1cdfe7:0x169,_0x3fd0cf:0x1a5,_0x44753e:0x1a6,_0x1a63fe:0x196,_0x1a2e89:0x164,_0x3a3026:0x170,_0x29013a:0x16b,_0x3dd232:0x145,_0x307018:0x152,_0x2cfdca:0x195,_0x2f1eb4:0x1a6,_0x4e9e7f:0x1f8,_0x20efcf:0x188,_0x4a3ec4:0x17d,_0xf2f06a:0x154,_0x37fc99:0x174,_0x26cb89:0x183,_0xeeb6a8:0x1f4,_0x40ccf4:0x1f3,_0xd9d9dd:0x1bb,_0x502249:0x1c4,_0x32e4d2:0x1d0,_0x5ff19:0x1ea,_0x7dd667:0x141,_0x45a9ad:0x1f9,_0x36dfce:0x1ef,_0x342b4e:0x20e,_0x3f31e9:0x1c6,_0x1b7be3:0x1a9,_0x2683a0:0x1a3,_0x309afe:0x1b1,_0x13d7f8:0x1de,_0x12626f:0x219,_0x2b3934:0x1e9,_0x32ba0b:0x1e9,_0x3bedf4:0x205,_0x449c3f:0x1ee,_0x5dbf1f:0x1f6,_0x42ef97:0x1b4,_0x88023:0x22a,_0xd45e5:0x226,_0x1c5e48:0x174,_0xa85991:0x17b,_0x51e92f:0x237,_0x2c56cf:0x1fa,_0x40b71b:0x21a,_0x21ebd3:0x180,_0x374779:0x230,_0x2b4637:0x18b,_0x541da1:0x1ea,_0x68c6df:0x1e1,_0x385730:0x1ff,_0x311d88:0x224,_0x9933fd:0x207,_0x9cf23f:0x1b7,_0x8433b2:0x161,_0xc9cfb5:0x150,_0x421b16:0x1c3,_0x2c7fbe:0x1fe,_0x520e45:0x1d7,_0x4c157d:0x1da,_0x20fe8a:0x205,_0x59019a:0x1f5,_0xb14c89:0x1b3,_0xcd3c78:0x1d4,_0x3b034b:0x1db,_0x4e81ad:0x171,_0x45e10a:0x162,_0x3a969d:0x1c7,_0x25446d:0x1aa,_0x18b958:0x182,_0x523d31:0x161,_0x36bd6b:0x160,_0x1e4d30:0x153,_0x44bc77:0x171,_0x101898:0x192,_0x26515e:0x1ac,_0x11ac16:0x1d9,_0x5c8b14:0x1ca,_0x402cc7:0x1cb,_0x2e3a69:0x1a5,_0x13e42a:0x16f,_0x227b53:0x138,_0x298fe9:0x153,_0x3d2ba3:0x1a8,_0x2ebc3d:0x1a3,_0xb52c1c:0x19a,_0xc577fa:0x158,_0x5cc98e:0x1ad,_0x497fdc:0x1a2,_0x54b7c7:0x1ba},_0x399f0a={_0x342f92:0x29},_0x191c5a={'glHnx':function(_0x2010ee,_0x3de47c){return _0x2010ee!=_0x3de47c;},'fgjhW':function(_0x5d24f5,_0x2a8b1f){return _0x5d24f5==_0x2a8b1f;},'YwBII':function(_0x119921){return _0x119921();},'WNoGv':function(_0x359621,_0x52b3c1){return _0x359621!=_0x52b3c1;},'rkrbq':function(_0x5866bd,_0x1128cb){return _0x5866bd==_0x1128cb;},'zVspu':function(_0x3891e7,_0x3243a2){return _0x3891e7(_0x3243a2);},'nvtPm':function(_0x343a37,_0x459fa3){return _0x343a37==_0x459fa3;},'jlSaj':function(_0x1db3e8,_0x542932){return _0x1db3e8==_0x542932;},'OzUmD':function(_0x46c54c,_0x28b248){return _0x46c54c!=_0x28b248;},'wBHgl':function(_0x3a8e25,_0x362f21){return _0x3a8e25!=_0x362f21;}};if(!_0x5e0e0a||_0x191c5a[_0x4b783e(_0x478e86._0x4e4f3a,0x1f5,_0x478e86._0x350210,_0x478e86._0x3b5f76)](typeof _0x5e0e0a,_0x598125(_0x478e86._0x13851c,0x1b1,0x197,_0x478e86._0x3eb7a1)))throw new Error('codexState'+_0x598125(_0x478e86._0x25b910,_0x478e86._0x2ba60c,0x19b,_0x478e86._0x1e7b45));let _0x506729=!!_0x5e0e0a['backfill']&&_0x191c5a[_0x4b783e(_0x478e86._0x19cda4,0x22d,_0x478e86._0x12c185,_0x478e86._0xf81c35)](typeof _0x5e0e0a[_0x598125(0x156,0x167,_0x478e86._0x7ad66b,0x156)],'object');function _0x4b783e(_0x5a58ca,_0x41761e,_0x4092db,_0x55c2ce){return _0x53e9(_0x55c2ce-0x82,_0x5a58ca);}function _0x598125(_0x45ebb8,_0x4efd30,_0x29a17f,_0x5a77c6){return _0x53e9(_0x4efd30-_0x399f0a._0x342f92,_0x5a77c6);}(!_0x5e0e0a[_0x598125(0x133,0x167,_0x478e86._0x39d44e,_0x478e86._0x17b055)]||_0x191c5a[_0x598125(_0x478e86._0x4d8770,_0x478e86._0x3d8860,_0x478e86._0x1d1bcd,0x165)](typeof _0x5e0e0a[_0x598125(_0x478e86._0x6ba81e,0x167,_0x478e86._0x101fdc,_0x478e86._0x4a4228)],_0x598125(0x17a,0x1b1,_0x478e86._0x19cda4,_0x478e86._0x2fa773)))&&(_0x5e0e0a[_0x4b783e(0x18c,0x1b5,_0x478e86._0x6bcc88,_0x478e86._0x4d1e9d)]=_0x191c5a['YwBII'](C));let _0x9d7d1e=_0x5e0e0a['backfill'];const _0x235119={};return _0x235119[_0x598125(_0x478e86._0x159d5a,_0x478e86._0x2505b1,_0x478e86._0x66c8ed,0x16a)+'ded']=0x0,_0x235119['totalFaile'+'d']=0x0,(_0x9d7d1e[_0x598125(_0x478e86._0x3db0f2,_0x478e86._0x15e60e,_0x478e86._0x6ba81e,0x1d2)+_0x598125(0x1c1,_0x478e86._0x8520c3,0x1bb,0x1c7)]==null&&_0x5e0e0a[_0x4b783e(0x24c,0x1f2,0x248,_0x478e86._0x3b6611)+'ion']!=null&&(_0x9d7d1e[_0x4b783e(0x20e,_0x478e86._0x4ba3bc,0x21a,_0x478e86._0x21a168)+'ion']=_0x5e0e0a['repairVers'+_0x598125(0x1a9,0x1a6,_0x478e86._0x15b69d,_0x478e86._0x15a9e2)]),_0x191c5a['fgjhW'](_0x9d7d1e[_0x598125(_0x478e86._0x3d9dd1,0x1bd,_0x478e86._0x294f03,0x1e7)+'t'],null)&&_0x191c5a[_0x4b783e(_0x478e86._0x57e5cb,0x1b3,_0x478e86._0x266081,0x1bc)](_0x5e0e0a[_0x598125(0x185,_0x478e86._0x4a0816,_0x478e86._0x555b66,0x14e)+'CheckAt'],null)&&(_0x9d7d1e[_0x598125(0x1e5,_0x478e86._0x56b14b,0x1d2,_0x478e86._0x3b25ca)+'t']=_0x5e0e0a[_0x598125(0x148,0x169,0x161,_0x478e86._0x452d87)+'CheckAt']),_0x191c5a[_0x4b783e(_0x478e86._0x39b9ce,_0x478e86._0x6ba81e,_0x478e86._0x2af7d5,_0x478e86._0x483a4b)](_0x9d7d1e[_0x4b783e(_0x478e86._0xd0eab8,0x20e,0x220,_0x478e86._0x4d3e2f)+_0x4b783e(0x1b7,0x1b1,_0x478e86._0xe76517,0x1c1)],null)&&_0x5e0e0a[_0x598125(_0x478e86._0x33b0c3,0x169,0x199,0x17c)+_0x598125(_0x478e86._0x14c301,0x1a5,0x18e,0x186)+'t']!=null&&(_0x9d7d1e[_0x598125(0x1b7,0x1a3,0x1cc,0x176)+'tedAt']=_0x5e0e0a[_0x598125(_0x478e86._0x339484,_0x478e86._0x1cdfe7,0x193,0x190)+_0x598125(0x1c0,_0x478e86._0x3fd0cf,0x185,_0x478e86._0x44753e)+'t']),_0x191c5a[_0x598125(_0x478e86._0x1a63fe,_0x478e86._0x1a2e89,_0x478e86._0x159d5a,_0x478e86._0x3a3026)](_0x9d7d1e['skippedRea'+_0x598125(_0x478e86._0x29013a,0x188,0x1b6,0x15a)],null)&&_0x5e0e0a[_0x598125(_0x478e86._0x3dd232,0x16a,_0x478e86._0x307018,0x16b)+_0x598125(0x18c,_0x478e86._0x555b66,0x144,_0x478e86._0x2cfdca)]!=null&&(_0x9d7d1e[_0x598125(_0x478e86._0x2f1eb4,0x1cf,0x1be,_0x478e86._0x4e9e7f)+_0x598125(0x198,_0x478e86._0x20efcf,_0x478e86._0x4a4228,_0x478e86._0x4a3ec4)]=_0x5e0e0a[_0x598125(_0x478e86._0xf2f06a,_0x478e86._0x17b055,_0x478e86._0x37fc99,_0x478e86._0x26cb89)+'pedReason']),(_0x9d7d1e[_0x4b783e(_0x478e86._0xeeb6a8,0x204,0x21c,_0x478e86._0x40ccf4)+'ak']==null||!_0x506729&&_0x5e0e0a['repairNoNe'+_0x598125(0x1a2,0x176,0x14e,0x166)]!=null)&&(_0x9d7d1e[_0x598125(_0x478e86._0xd9d9dd,0x19a,0x168,0x1b1)+'ak']=_0x191c5a[_0x598125(_0x478e86._0x502249,_0x478e86._0x32e4d2,_0x478e86._0x5ff19,0x19f)](Number,_0x5e0e0a['repairNoNe'+_0x598125(_0x478e86._0x3d8860,0x176,0x18a,_0x478e86._0x7dd667)]||0x0)),_0x9d7d1e[_0x4b783e(_0x478e86._0x45a9ad,_0x478e86._0x36dfce,0x21e,_0x478e86._0x342b4e)+_0x598125(_0x478e86._0x3f31e9,0x1a0,_0x478e86._0x1b7be3,_0x478e86._0x2683a0)]==null&&_0x5e0e0a[_0x4b783e(0x1e0,_0x478e86._0x309afe,0x1df,_0x478e86._0x13d7f8)+'anentlySki'+'ppedAt']!=null&&(_0x9d7d1e[_0x4b783e(0x20b,_0x478e86._0x39b9ce,0x20a,_0x478e86._0x342b4e)+_0x4b783e(0x209,_0x478e86._0x12626f,_0x478e86._0x2b3934,0x1f9)]=_0x5e0e0a[_0x4b783e(_0x478e86._0x32ba0b,_0x478e86._0x3bedf4,0x1c5,_0x478e86._0x13d7f8)+_0x4b783e(0x1e3,0x1f8,0x1c8,_0x478e86._0x449c3f)+'ppedAt']),_0x191c5a['nvtPm'](_0x9d7d1e[_0x598125(0x1be,0x1c5,_0x478e86._0x5dbf1f,0x1b8)+'stamp'],null)&&_0x5e0e0a[_0x4b783e(0x229,0x253,0x22a,0x226)+_0x4b783e(_0x478e86._0x42ef97,0x1f7,_0x478e86._0x8520c3,0x1d4)+'p']!=null&&(_0x9d7d1e[_0x598125(_0x478e86._0x32e4d2,0x1c5,0x1e1,0x1e4)+'stamp']=_0x5e0e0a[_0x4b783e(0x1f3,_0x478e86._0x88023,0x254,_0x478e86._0xd45e5)+_0x598125(_0x478e86._0x1c5e48,_0x478e86._0xa85991,0x168,0x188)+'p']),_0x191c5a[_0x4b783e(_0x478e86._0x51e92f,_0x478e86._0x2c56cf,0x236,_0x478e86._0x40b71b)](_0x9d7d1e['cursorVers'+_0x598125(0x180,0x1a6,_0x478e86._0x21ebd3,0x1b9)],null)&&_0x191c5a[_0x598125(_0x478e86._0x6bcc88,0x19f,0x1c9,0x1ad)](_0x5e0e0a[_0x4b783e(0x24e,_0x478e86._0x374779,0x257,0x226)+_0x598125(_0x478e86._0x7ad66b,_0x478e86._0x2b4637,0x179,0x160)],null)&&(_0x9d7d1e[_0x4b783e(0x1c7,_0x478e86._0x541da1,_0x478e86._0x36dfce,0x1cc)+_0x4b783e(0x20b,0x1fa,_0x478e86._0x68c6df,_0x478e86._0x385730)]=_0x5e0e0a[_0x4b783e(_0x478e86._0x311d88,0x210,_0x478e86._0x9933fd,0x226)+'orVersion']),Array[_0x4b783e(_0x478e86._0x3fd0cf,_0x478e86._0x68c6df,_0x478e86._0x9cf23f,0x1c8)](_0x9d7d1e[_0x598125(_0x478e86._0x7dd667,0x16c,_0x478e86._0x8433b2,_0x478e86._0xc9cfb5)+'ionIds'])||(_0x9d7d1e[_0x4b783e(0x1ca,_0x478e86._0x421b16,0x1b7,0x1c5)+_0x4b783e(0x1cb,_0x478e86._0x2c7fbe,_0x478e86._0x520e45,_0x478e86._0x36dfce)]=Array['isArray'](_0x5e0e0a[_0x598125(_0x478e86._0x25b910,0x1cd,_0x478e86._0x4c157d,_0x478e86._0x20fe8a)+_0x598125(0x165,_0x478e86._0x29013a,0x14d,0x16c)+'ds'])?_0x5e0e0a[_0x598125(0x1b2,0x1cd,_0x478e86._0x59019a,_0x478e86._0xb14c89)+_0x4b783e(_0x478e86._0xcd3c78,_0x478e86._0x3b034b,0x192,0x1c4)+'ds']:[]),Array['isArray'](_0x9d7d1e['failedQueu'+'e'])||(_0x9d7d1e['failedQueu'+'e']=[]),(!_0x9d7d1e[_0x598125(_0x478e86._0x33b0c3,_0x478e86._0x4e81ad,_0x478e86._0x45e10a,0x162)]||_0x191c5a[_0x598125(0x1f6,_0x478e86._0x3a969d,0x1fa,_0x478e86._0x44753e)](typeof _0x9d7d1e['statistics'],_0x598125(_0x478e86._0x25446d,_0x478e86._0x309afe,0x1c6,_0x478e86._0x18b958)))&&(_0x9d7d1e[_0x598125(_0x478e86._0x523d31,0x171,0x164,_0x478e86._0x36bd6b)]=_0x235119),_0x9d7d1e[_0x598125(_0x478e86._0x1e4d30,_0x478e86._0x44bc77,_0x478e86._0x101898,0x19e)][_0x4b783e(_0x478e86._0x26515e,0x1bc,0x1b6,_0x478e86._0x11ac16)+_0x4b783e(_0x478e86._0x5c8b14,_0x478e86._0x402cc7,0x1ce,0x1d8)]==null&&(_0x9d7d1e[_0x598125(_0x478e86._0x2e3a69,0x171,_0x478e86._0x13e42a,_0x478e86._0x227b53)][_0x598125(_0x478e86._0x298fe9,0x180,0x1a0,0x166)+_0x598125(0x156,0x17f,_0x478e86._0x3d2ba3,0x182)]=0x0),_0x9d7d1e[_0x598125(_0x478e86._0x2ebc3d,_0x478e86._0x44bc77,_0x478e86._0x7ad66b,_0x478e86._0xb52c1c)]['totalFaile'+'d']==null&&(_0x9d7d1e[_0x598125(0x156,_0x478e86._0x44bc77,0x157,_0x478e86._0xc577fa)][_0x598125(0x1ae,_0x478e86._0x5cc98e,_0x478e86._0x497fdc,_0x478e86._0x54b7c7)+'d']=0x0),_0x9d7d1e);}function m(_0xe7f1c3){const _0x46503f={_0x56ee48:0x2a0,_0xea84a1:0x2aa,_0x46ddc9:0x342,_0x8f6a16:0x313,_0x4f50f7:0x2ec,_0x52ea3c:0x2e0,_0x4cf3d4:0x2ce,_0x569abf:0x262,_0x79e680:0x277,_0x4cfbce:0x2c0,_0x48c5dd:0x2c9,_0x4625fe:0x275,_0x3392fb:0x35f,_0xd4ad89:0x318,_0x74a1c4:0x304,_0x7692d1:0x2e5,_0x16a455:0x2a6,_0x303284:0x2b1,_0x5d9c03:0x29d,_0x798671:0x2b5,_0x1fa50e:0x2ec,_0x56a302:0x313,_0x36ec8c:0x2e6,_0x2449e2:0x2ed,_0x340bb5:0x2d0,_0x3e988e:0x29f,_0x325c4b:0x2f6,_0x2b0880:0x2ca,_0x49422f:0x2f2,_0x2fce63:0x2e1,_0x4bdb2c:0x2e5,_0x23e806:0x2ca,_0x14ae45:0x2dd,_0x2404ad:0x2d5,_0x192cbb:0x2f8,_0xbe8cdd:0x244,_0x45ef79:0x29e,_0x4b8f24:0x321,_0x359de2:0x2be,_0x96bfe2:0x2d9,_0x22524b:0x2bd,_0x297e45:0x2fc,_0xb7daf0:0x2ad,_0x10be0d:0x27d,_0x32aaf3:0x275,_0x3fe716:0x2b9,_0x3c653c:0x2f7,_0x80c80f:0x330,_0x2853f2:0x307,_0x1ddecb:0x373,_0x126e9b:0x361,_0xfd8a51:0x24f,_0x3ca8f6:0x242,_0x2ae476:0x362,_0x332217:0x340,_0x578991:0x368},_0x6bc314={_0x27424d:0x1a5},_0x95367e={};function _0x5d7bd9(_0x557d6f,_0x1f44e6,_0x1294f8,_0x465f0f){return _0x53e9(_0x557d6f-0x135,_0x1294f8);}function _0x533474(_0xc6f2ba,_0x4ad8a5,_0x3fb5ca,_0x36b344){return _0x53e9(_0x36b344-_0x6bc314._0x27424d,_0x3fb5ca);}_0x95367e[_0x533474(0x310,0x316,0x30a,0x2f6)]=function(_0x4e8d9d,_0x55a557){return _0x4e8d9d==_0x55a557;},_0x95367e[_0x5d7bd9(_0x46503f._0x56ee48,0x2d2,_0x46503f._0xea84a1,0x2b7)]=function(_0x13a0f9,_0x1a5cc4){return _0x13a0f9==_0x1a5cc4;};const _0x54f3a3=_0x95367e;S(_0xe7f1c3),_0xe7f1c3[_0x533474(0x355,_0x46503f._0x46ddc9,_0x46503f._0x8f6a16,0x348)+'ion']==null&&(_0xe7f1c3[_0x5d7bd9(0x2d8,0x301,_0x46503f._0x4f50f7,0x2d5)+_0x5d7bd9(0x2b2,0x2a0,_0x46503f._0x52ea3c,_0x46503f._0x4cf3d4)]=null),_0x54f3a3[_0x533474(0x2cc,0x2c5,0x2fd,0x2f6)](_0xe7f1c3[_0x5d7bd9(0x275,0x285,_0x46503f._0x569abf,_0x46503f._0x79e680)+_0x5d7bd9(_0x46503f._0x4cfbce,_0x46503f._0x48c5dd,0x2a1,0x2a7)],null)&&(_0xe7f1c3[_0x5d7bd9(_0x46503f._0x4625fe,0x297,0x257,0x2a7)+_0x533474(0x34e,0x32c,_0x46503f._0x3392fb,0x330)]=null),_0xe7f1c3[_0x533474(_0x46503f._0xd4ad89,0x2ad,_0x46503f._0x74a1c4,_0x46503f._0x7692d1)+_0x5d7bd9(0x2b1,0x2e5,_0x46503f._0x16a455,0x27a)+'t']==null&&(_0xe7f1c3['lastRepair'+_0x5d7bd9(_0x46503f._0x303284,_0x46503f._0x5d9c03,0x2be,_0x46503f._0x798671)+'t']=null),_0xe7f1c3['repairSkip'+'pedReason']==null&&(_0xe7f1c3[_0x533474(_0x46503f._0x1fa50e,0x2cd,_0x46503f._0x56a302,_0x46503f._0x36ec8c)+_0x533474(_0x46503f._0x2449e2,0x2ff,_0x46503f._0x340bb5,0x2f3)]=null),_0xe7f1c3[_0x5d7bd9(0x29e,0x29b,_0x46503f._0x3e988e,0x2c0)+_0x533474(0x307,0x31c,0x301,0x2f2)]==null&&(_0xe7f1c3['repairNoNe'+_0x533474(_0x46503f._0x325c4b,_0x46503f._0x2b0880,0x325,_0x46503f._0x49422f)]=0x0),_0xe7f1c3['repairPerm'+'anentlySki'+_0x533474(_0x46503f._0x2fce63,_0x46503f._0x4bdb2c,_0x46503f._0x23e806,_0x46503f._0x14ae45)]==null&&(_0xe7f1c3[_0x533474(0x2dc,_0x46503f._0x2404ad,_0x46503f._0x192cbb,0x301)+'anentlySki'+_0x5d7bd9(0x26d,_0x46503f._0xbe8cdd,_0x46503f._0x45ef79,0x261)]=null),_0x54f3a3[_0x5d7bd9(_0x46503f._0x56ee48,0x2ba,0x292,0x292)](_0xe7f1c3[_0x533474(0x325,_0x46503f._0x4b8f24,0x310,0x349)+_0x5d7bd9(0x287,_0x46503f._0x359de2,0x273,0x2a7)+'p'],null)&&(_0xe7f1c3[_0x5d7bd9(_0x46503f._0x96bfe2,_0x46503f._0x22524b,_0x46503f._0x297e45,0x2c4)+_0x5d7bd9(0x287,0x2a2,_0x46503f._0xb7daf0,_0x46503f._0x10be0d)+'p']=null),_0xe7f1c3['repairCurs'+_0x5d7bd9(0x297,_0x46503f._0x32aaf3,0x2ce,0x2be)]==null&&(_0xe7f1c3[_0x5d7bd9(0x2d9,0x2ae,_0x46503f._0x3fe716,_0x46503f._0x3c653c)+_0x533474(0x31a,_0x46503f._0x80c80f,0x2d3,_0x46503f._0x2853f2)]=null),Array['isArray'](_0xe7f1c3[_0x533474(0x380,_0x46503f._0x1ddecb,_0x46503f._0x126e9b,0x349)+_0x5d7bd9(0x277,_0x46503f._0xfd8a51,_0x46503f._0x3ca8f6,0x264)+'ds'])||(_0xe7f1c3[_0x533474(_0x46503f._0x2ae476,_0x46503f._0x332217,_0x46503f._0x578991,0x349)+'orSessionI'+'ds']=[]);}var d=0x1;function _0x2826(){const _0x2c16b5=['DxrMoa','Ew5J','C29U','ndm2mtiXyuj5Chjl','y3vYCMvUDfn0yq','B3jwzxjZAw9U','rMv0y2HuAw1L','y29UDMvYC2f0Aq','Aw5MBW','BM93','ANDfr1C','C3rHDguUANnVBG','CMvWywLYtM9ozq','B2LeC3K','vMXKsxC','yw5LBNrSEvnRAq','Aw9UswrZ','zxHPC3rZu3LUyW','mZe3mta4DuX4Chnl','mtbXy2Txr0W','BM9ozwvKu3rYzq','t1vrA3O','odHeEuDQsKK','veLYtMC','vgLTzq','t3PvBuq','EvnRAxbWzwrbDa','lNrTCc4','zMDQAfC','BgfZDenVBxbSzq','v1vMEhe','q29TCgXLDgvKqq','Aw9U','CgLK','DhjPBq','C3rYAw5NAwz5','zgLYBMfTzq','CgfYC2u','y3DqzMS','Dg90ywXgywLSzq','s0jOt1C','Dgvty2HLBwfwzq','BgfZDezHAwXuAq','B2jQzwn0','CMvUyw1Lu3LUyW','x3jLCxvPCMvK','q2HLy2TbDa','CgvYBwfUzw50Ba','BgfZDfvWBg9Hza','BwvZC2fNzq','BgfZDevYCM9Y','CNj1ChqT','y29UzMLN','u0DSvey','ioINO+AEKowKSEI0PE+8Jow3SUwKH+s7VEw5TG','BgfZDenOzwnRqq','C3rHBxa','zfbhu1i','D2fYBG','AMXtywO','C3rHDgvty2HLBq','B3b0uvu','vwXgCMO','y3vYC29YvgLTzq','y3vYC29Yq2XP','D0jiz2W','rMv0y2HtDwnJzq','y2XHDwrLq29Kzq','mtqZmdu5ogvWuKvjsG','BgfZDenVBMzPzW','CMvWywLYvMvYCW','CMvWywLYq3vYCW','mta3ntK5mfHYt3HmrW','C2TPChbLzfjLyq','ELzZChu','ndiWmZy3mgj4vvrvEG','y3vYCMvUDe1JCa','ChbLzef0','y29KzxG','v05Vr3y','CMTYyNe','yvzLCNnPB24','z2XiBNG','yMfJA2zPBgW','DgvKqxq','BgfZDfjLCgfPCG','CMvWywLYu2TPCa','B3jtzxnZAw9Usq','y3vYC29Yu2vZCW','zMfPBgvKuxvLDq','AvzPDLe','AxnbCNjHEq','mJDpChjTAMu','C3rHDgLZDgLJCW','BwnWvMvYC2LVBG','y3vYC29YvMvYCW','tKfVAfa','vMvYC2LVBG','zwrtDhjLywS','CgvKuMvHC29U','sejrv3e','quj0uK8','BfLqv1a','B3juAw1LC3rHBq','lMjHy2T1Cc1JBW','BMzOyxe','ntqXmde5nvDvz2rowG','zgvK','Dg90ywXvCgXVyq','B25Z','D3jPDgvgAwXLuW','nZeYotHrAwDqtuO','CNnPB24','CMvWywLYugvYBq'];_0x2826=function(){return _0x2c16b5;};return _0x2826();}function p(){const _0x5b7d12={_0xc84835:0x1c1,_0x239a40:0x1b6,_0x548f3e:0x1a6,_0x341da2:0x1c7,_0x5ebb11:0x225,_0x3fc322:0x239,_0x52da8d:0x222,_0x6d5449:0x270},_0x29111d={};_0x29111d[_0x253c68(_0x5b7d12._0xc84835,0x1a5,0x1eb,_0x5b7d12._0x239a40)+_0x253c68(0x1c0,0x192,0x1ee,_0x5b7d12._0x548f3e)]=0x0;function _0x253c68(_0x4906af,_0x1a050e,_0x24b557,_0x324c47){return _0x53e9(_0x4906af-0x6a,_0x1a050e);}function _0x54b50a(_0x4dedcb,_0x4b404e,_0x7b5b85,_0x26de0c){return _0x53e9(_0x7b5b85- -0x39d,_0x4b404e);}_0x29111d[_0x253c68(0x1ee,0x1bb,_0x5b7d12._0x341da2,0x206)+'d']=0x0;const _0x377429={};return _0x377429[_0x54b50a(-0x214,-_0x5b7d12._0x5ebb11,-_0x5b7d12._0x3fc322,-0x253)+'ons']={},_0x377429[_0x54b50a(-0x25a,-_0x5b7d12._0x52da8d,-0x259,-_0x5b7d12._0x6d5449)+'e']=[],_0x377429['statistics']=_0x29111d,_0x377429;}function _0x53e9(_0x36ac05,_0x250b42){_0x36ac05=_0x36ac05-0x138;const _0x282675=_0x2826();let _0x53e919=_0x282675[_0x36ac05];if(_0x53e9['fWTEeG']===undefined){var _0x4e658a=function(_0x36cb9b){const _0x1be22c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2270b4='',_0x12b2a1='';for(let _0x34085d=0x0,_0x408a52,_0x5601bc,_0xe2a81=0x0;_0x5601bc=_0x36cb9b['charAt'](_0xe2a81++);~_0x5601bc&&(_0x408a52=_0x34085d%0x4?_0x408a52*0x40+_0x5601bc:_0x5601bc,_0x34085d++%0x4)?_0x2270b4+=String['fromCharCode'](0xff&_0x408a52>>(-0x2*_0x34085d&0x6)):0x0){_0x5601bc=_0x1be22c['indexOf'](_0x5601bc);}for(let _0x3ca3db=0x0,_0x12ec26=_0x2270b4['length'];_0x3ca3db<_0x12ec26;_0x3ca3db++){_0x12b2a1+='%'+('00'+_0x2270b4['charCodeAt'](_0x3ca3db)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12b2a1);};_0x53e9['wIEiZj']=_0x4e658a,_0x53e9['vIbOKr']={},_0x53e9['fWTEeG']=!![];}const _0x59f4e7=_0x282675[0x0],_0x25fce5=_0x36ac05+_0x59f4e7,_0x29925e=_0x53e9['vIbOKr'][_0x25fce5];return!_0x29925e?(_0x53e919=_0x53e9['wIEiZj'](_0x53e919),_0x53e9['vIbOKr'][_0x25fce5]=_0x53e919):_0x53e919=_0x29925e,_0x53e919;}function f(_0x4e5558,_0x1d4de7=d){const _0x1be408={_0x2c9bad:0x324,_0x15e2df:0x24c,_0x181f4b:0x234,_0x3ef279:0x1fd,_0x3d4de3:0x1ec,_0x5b50ca:0x207,_0x413dd5:0x21b,_0x254c6a:0x1f4,_0x3983df:0x303,_0x1f798d:0x2f6,_0x26a3f9:0x339,_0x184fe9:0x31c,_0x181753:0x340},_0x1973eb={_0x210c5d:0x3aa},_0x46c53d={_0x3db12a:0x1a0},_0x2cc4ff={};_0x2cc4ff['totalUploa'+_0x43cbaa(-0x26b,-0x254,-0x21d,-0x23f)]=0x0,_0x2cc4ff[_0x5023b3(_0x1be408._0x2c9bad,0x351,0x348,0x317)+'d']=0x0,_0x2cc4ff[_0x43cbaa(-_0x1be408._0x15e2df,-0x21d,-0x211,-_0x1be408._0x181f4b)+_0x43cbaa(-0x269,-0x235,-_0x1be408._0x3ef279,-0x26b)]=null,_0x2cc4ff[_0x43cbaa(-_0x1be408._0x3d4de3,-0x223,-0x21b,-_0x1be408._0x5b50ca)+'me']=null,_0x2cc4ff[_0x43cbaa(-0x214,-_0x1be408._0x413dd5,-_0x1be408._0x254c6a,-0x254)]=null;const _0x3d7a14={};_0x3d7a14[_0x43cbaa(-0x23a,-0x208,-0x1f8,-0x206)+_0x5023b3(_0x1be408._0x3983df,0x308,_0x1be408._0x1f798d,_0x1be408._0x26a3f9)]=null;function _0x5023b3(_0x2eaec3,_0x294311,_0x2022b9,_0x2ee264){return _0x53e9(_0x2eaec3-_0x46c53d._0x3db12a,_0x2022b9);}_0x3d7a14['lastConfig'+_0x5023b3(0x33f,_0x1be408._0x184fe9,0x34d,_0x1be408._0x181753)+'ss']=!0x1;function _0x43cbaa(_0xa45ca7,_0x3e50a1,_0x12bf8a,_0x32b237){return _0x53e9(_0x3e50a1- -_0x1973eb._0x210c5d,_0x12bf8a);}return{'mcpVersion':_0x4e5558,'stateSchemaVersion':_0x1d4de7,'conversations':{},'failedQueue':[],'statistics':_0x2cc4ff,'config':_0x3d7a14,'claudeCode':p(),'cursorCli':p(),'codex':p()};}function u(_0x3f0bdb,_0x14aee9){const _0x3ea2af={_0x2f0205:0x108,_0xa920c9:0x154,_0x1afee0:0xea,_0x211d33:0xc6,_0xffe2e7:0x3cc,_0x4ea719:0x3fa,_0x1cf7d0:0x415,_0xf2a201:0x3fe,_0x31eaac:0x433,_0xbe2790:0x3c7,_0x3c6f5d:0x38a,_0x75170:0x39c,_0x1dc0e6:0xf7,_0x1d3fde:0xca,_0x3f4589:0x10a,_0xc4ecd2:0x3af,_0x27f908:0x3cd,_0x3f1304:0x404,_0x586da5:0x3ce,_0x3de389:0x3c2,_0x5b36d2:0x3ef,_0x3b2aea:0x11b,_0x150047:0xfe,_0x4243e2:0xf0,_0x1b6e9d:0x3ea,_0x358872:0x3b5,_0x2b8213:0xd7,_0x1942c1:0xc5,_0x1cb659:0x3be,_0x260520:0x39a,_0x4d7caa:0x3f8,_0x11490f:0x3db,_0x2e1193:0x3cf,_0x1bdfa8:0x3c5,_0x2e219d:0x3a4,_0x34fe68:0xdb,_0x2735bc:0x112,_0x46f701:0xa8,_0x3243e5:0xa4,_0x5a7b37:0x3be,_0x2ddea1:0x3a1,_0x53ef8c:0xea,_0x36d2f5:0xda,_0x2a02e0:0xe4,_0x10e95c:0x3a5,_0x4de605:0x3ff,_0x3c5e03:0xc9,_0x169ea9:0xb9,_0x5e8940:0x117,_0x1fe555:0x3af};function _0x59c973(_0x45b529,_0x589205,_0x568493,_0x3054d0){return _0x53e9(_0x45b529- -0x6d,_0x589205);}const _0x1b67ed={'NAohP':function(_0x93e02b){return _0x93e02b();},'KBhOW':function(_0x273f56,_0x296559){return _0x273f56!=_0x296559;},'HBQWq':_0x59c973(0x11b,_0x3ea2af._0x2f0205,_0x3ea2af._0xa920c9,0xfb),'TIrNg':function(_0x231deb,_0x3057a2){return _0x231deb===_0x3057a2;}},_0x64c8f9={};function _0x2870b6(_0x5e5881,_0x395d1f,_0x3ddbf6,_0x253358){return _0x53e9(_0x5e5881-0x276,_0x253358);}_0x64c8f9[_0x59c973(_0x3ea2af._0x1afee0,0xf2,_0x3ea2af._0x211d33,0xe9)+_0x2870b6(_0x3ea2af._0xffe2e7,0x3fd,0x3db,0x3c5)]=0x0,_0x64c8f9[_0x2870b6(_0x3ea2af._0x4ea719,0x3c1,0x426,_0x3ea2af._0x1cf7d0)+'d']=0x0,((!_0x3f0bdb[_0x14aee9]||typeof _0x3f0bdb[_0x14aee9]!=_0x2870b6(_0x3ea2af._0xf2a201,_0x3ea2af._0x31eaac,_0x3ea2af._0xbe2790,0x3fe))&&(_0x3f0bdb[_0x14aee9]=_0x1b67ed[_0x2870b6(0x3c1,_0x3ea2af._0x3c6f5d,_0x3ea2af._0x75170,0x3a5)](p)),(!_0x3f0bdb[_0x14aee9][_0x59c973(_0x3ea2af._0x1dc0e6,0xef,_0x3ea2af._0x1d3fde,_0x3ea2af._0x3f4589)+_0x2870b6(0x3ce,0x398,_0x3ea2af._0xc4ecd2,_0x3ea2af._0x27f908)]||typeof _0x3f0bdb[_0x14aee9][_0x2870b6(0x3da,_0x3ea2af._0x3f1304,0x40e,0x3ae)+_0x2870b6(_0x3ea2af._0x586da5,_0x3ea2af._0x3de389,0x3eb,_0x3ea2af._0x5b36d2)]!=_0x59c973(_0x3ea2af._0x3b2aea,0x11d,0x14c,_0x3ea2af._0x150047))&&(_0x3f0bdb[_0x14aee9][_0x59c973(0xf7,0xf6,_0x3ea2af._0x4243e2,0xe6)+_0x2870b6(0x3ce,_0x3ea2af._0x1b6e9d,0x3a8,_0x3ea2af._0x358872)]={}),Array['isArray'](_0x3f0bdb[_0x14aee9][_0x59c973(_0x3ea2af._0x2b8213,_0x3ea2af._0x1942c1,0x101,0xd3)+'e'])||(_0x3f0bdb[_0x14aee9]['failedQueu'+'e']=[]),(!_0x3f0bdb[_0x14aee9][_0x2870b6(_0x3ea2af._0x1cb659,0x3b6,_0x3ea2af._0x260520,0x3ea)]||_0x1b67ed[_0x2870b6(0x3fb,_0x3ea2af._0x4d7caa,0x42b,_0x3ea2af._0x11490f)](typeof _0x3f0bdb[_0x14aee9][_0x2870b6(0x3be,_0x3ea2af._0x2e1193,0x3b0,0x3b1)],_0x1b67ed[_0x2870b6(_0x3ea2af._0x1bdfa8,_0x3ea2af._0x2e219d,0x3c7,0x38c)]))&&(_0x3f0bdb[_0x14aee9][_0x59c973(_0x3ea2af._0x34fe68,_0x3ea2af._0x2735bc,_0x3ea2af._0x46f701,_0x3ea2af._0x3243e5)]=_0x64c8f9),_0x3f0bdb[_0x14aee9][_0x2870b6(_0x3ea2af._0x5a7b37,0x387,_0x3ea2af._0x2ddea1,0x3ee)][_0x59c973(_0x3ea2af._0x53ef8c,_0x3ea2af._0x36d2f5,0xcc,_0x3ea2af._0x2a02e0)+_0x2870b6(0x3cc,_0x3ea2af._0x10e95c,_0x3ea2af._0x4de605,0x3e3)]==null&&(_0x3f0bdb[_0x14aee9][_0x59c973(_0x3ea2af._0x34fe68,0xef,_0x3ea2af._0x3c5e03,_0x3ea2af._0x169ea9)]['totalUploa'+'ded']=0x0),_0x3f0bdb[_0x14aee9][_0x2870b6(0x3be,0x3c9,0x3df,0x3e5)][_0x59c973(_0x3ea2af._0x5e8940,0x10f,_0x3ea2af._0x150047,0x101)+'d']==null&&(_0x3f0bdb[_0x14aee9]['statistics']['totalFaile'+'d']=0x0),_0x1b67ed[_0x59c973(0x107,0x127,0xec,0xe4)](_0x14aee9,_0x2870b6(_0x3ea2af._0x1fe555,_0x3ea2af._0xffe2e7,0x392,0x3a8))&&m(_0x3f0bdb[_0x14aee9]));}function k(_0x4750bd,_0xfca50){const _0xf38c75={_0x482188:0x449,_0x1f6a8a:0x450,_0x906d25:0x3e6,_0x3b291c:0x3c8,_0x74ff96:0x3cc,_0x229b26:0x3e4,_0xdcae27:0x3a4,_0x2e1e17:0x420,_0x2d362f:0x3c9,_0x114910:0x3ff,_0x4fad0c:0x3f8,_0x213652:0x44f,_0x5136a8:0x43e,_0x2d3719:0x3c0,_0x5dffdf:0x3f7,_0x59e91d:0x3d8,_0x1ca74d:0x40f,_0x11db6e:0x3ad,_0x5a8200:0x451,_0x15df82:0x3b8,_0x496140:0x3f1,_0x1bb583:0x3e5,_0x28adcf:0x3c6,_0xd6e997:0x3c4,_0x8aac1:0x3a8,_0x3b14d7:0x3c8,_0x1e36af:0x3dc,_0xd4b50a:0x3b0,_0x424922:0x434,_0x1c5d9f:0x415,_0x17dd01:0x3c8,_0x14cb71:0x3e8,_0xa63fdd:0x3d6,_0x596ae9:0x3ef,_0x5e6872:0x3cb,_0x5017a9:0x3ca,_0x5fb06c:0x3b2,_0x3aef73:0x3d7,_0x8fb90f:0x3bc,_0x79c55a:0x3c0,_0x3221c0:0x3e3,_0x1285d8:0x396,_0x1bc759:0x3e9,_0x2a0602:0x3b5,_0x23b37f:0x3d5,_0x2d30c2:0x42f,_0x458c6d:0x408,_0x42eb11:0x418,_0x2a15ff:0x41f,_0x26e18d:0x42d,_0x356766:0x426,_0x16b7f3:0x41c,_0x10a001:0x40a,_0x7fe493:0x402,_0x193066:0x3d9,_0x48b5c9:0x401,_0x382d33:0x3f5,_0x3f87f2:0x3dd,_0x5aa741:0x3a1,_0x399bb2:0x3c0,_0xe55fec:0x3fb,_0x30fb8f:0x439,_0x4f95db:0x417,_0x1d3a7d:0x411,_0x309d51:0x419,_0x35939a:0x442,_0x515aa5:0x3f9,_0x5360f1:0x437,_0x57da7f:0x43b,_0x364f0e:0x3bc,_0x5ba2d6:0x3f8,_0x34268c:0x3f0,_0xee39b2:0x41e,_0x2ee3ff:0x409,_0x39ae45:0x412,_0x541a4f:0x3fe,_0x349b7b:0x416,_0x3eafa5:0x45b,_0x246211:0x42c,_0x3eada7:0x42d,_0x1e2998:0x446,_0x5818ba:0x43a,_0x3fa36a:0x3c2,_0x47e894:0x3d8,_0x40c553:0x3ea,_0xfbb9e4:0x3fc,_0x533083:0x3d2},_0x5ce4ac={_0x404b22:0x28d},_0xb4fefd={'ABtRO':function(_0x1f68b7,_0x4efb2f,_0x5a91dc){return _0x1f68b7(_0x4efb2f,_0x5a91dc);},'WUfxq':function(_0x44906a,_0x33fcb2){return _0x44906a!=_0x33fcb2;},'optQU':'object','SGlTF':function(_0xd066bd,_0x39cdce){return _0xd066bd==_0x39cdce;},'dPGSR':_0x4e7941(0x41d,0x416,_0xf38c75._0x482188,_0xf38c75._0x1f6a8a)};let {currentMcpVersion:_0x2f6911,currentStateSchemaVersion:_0x8fc196=d}=_0xfca50,_0x16b6dc=_0x4750bd&&typeof _0x4750bd==_0x75ec20(_0xf38c75._0x906d25,0x403,0x415,0x3e4)?_0x4750bd:_0xb4fefd['ABtRO'](f,_0x2f6911,_0x8fc196);const _0x1d91a0={};_0x1d91a0[_0x75ec20(_0xf38c75._0x3b291c,_0xf38c75._0x74ff96,_0xf38c75._0x229b26,0x3bf)+_0x4e7941(0x3d6,0x3b6,0x3ba,_0xf38c75._0xdcae27)]=0x0,_0x1d91a0[_0x4e7941(0x404,0x400,_0xf38c75._0x2e1e17,0x3d1)+'d']=0x0;function _0x4e7941(_0x7ddd83,_0xed991f,_0x4c5de6,_0x16d1cf){return _0x53e9(_0x7ddd83-0x280,_0x16d1cf);}function _0x75ec20(_0x4f8501,_0x179504,_0x370f1e,_0x40c6a9){return _0x53e9(_0x370f1e-_0x5ce4ac._0x404b22,_0x179504);}return _0x16b6dc[_0x4e7941(_0xf38c75._0x2d362f,0x390,_0xf38c75._0x114910,0x39c)]=_0x2f6911,_0x16b6dc[_0x4e7941(0x419,0x41a,_0xf38c75._0x4fad0c,_0xf38c75._0x213652)+'aVersion']=_0x8fc196,(!_0x16b6dc['conversati'+'ons']||_0xb4fefd[_0x75ec20(0x437,_0xf38c75._0x5136a8,0x408,0x3f1)](typeof _0x16b6dc[_0x75ec20(_0xf38c75._0x2d3719,0x3fa,0x3f1,_0xf38c75._0x5dffdf)+_0x4e7941(_0xf38c75._0x59e91d,_0xf38c75._0x1ca74d,_0xf38c75._0x11db6e,0x3bd)],_0xb4fefd[_0x75ec20(0x45f,0x403,0x427,_0xf38c75._0x5a8200)]))&&(_0x16b6dc[_0x75ec20(_0xf38c75._0x15df82,0x3cd,_0xf38c75._0x496140,0x3f0)+_0x75ec20(0x3b6,0x3e8,_0xf38c75._0x1bb583,_0xf38c75._0x28adcf)]={}),Array[_0x75ec20(0x3d6,0x3df,0x3d3,0x3b9)](_0x16b6dc['failedQueu'+'e'])||(_0x16b6dc[_0x4e7941(_0xf38c75._0xd6e997,0x3e0,0x391,_0xf38c75._0x8aac1)+'e']=[]),(!_0x16b6dc[_0x4e7941(_0xf38c75._0x3b14d7,0x3bb,_0xf38c75._0x229b26,0x3ea)]||typeof _0x16b6dc[_0x75ec20(_0xf38c75._0x1e36af,0x39c,0x3d5,_0xf38c75._0xd4b50a)]!=_0x75ec20(0x41a,_0xf38c75._0x424922,_0xf38c75._0x1c5d9f,0x412))&&(_0x16b6dc[_0x4e7941(_0xf38c75._0x17dd01,0x3b8,0x3a3,0x3a0)]=_0x1d91a0),_0x16b6dc[_0x75ec20(0x3e7,0x3a3,0x3d5,0x3da)][_0x4e7941(0x3d7,_0xf38c75._0x14cb71,0x3f2,0x3b4)+_0x4e7941(_0xf38c75._0xa63fdd,_0xf38c75._0x596ae9,_0xf38c75._0x5e6872,0x3d9)]==null&&(_0x16b6dc[_0x75ec20(_0xf38c75._0x5017a9,_0xf38c75._0x5fb06c,0x3d5,0x3f3)][_0x4e7941(_0xf38c75._0x3aef73,_0xf38c75._0x8fb90f,0x3bb,0x3c7)+_0x75ec20(0x3b8,_0xf38c75._0x79c55a,_0xf38c75._0x3221c0,0x3e0)]=0x0),_0x16b6dc[_0x4e7941(_0xf38c75._0x3b291c,_0xf38c75._0x1285d8,0x3d9,_0xf38c75._0x5017a9)][_0x75ec20(_0xf38c75._0x1bc759,0x426,0x411,0x42e)+'d']==null&&(_0x16b6dc[_0x75ec20(0x3c3,_0xf38c75._0x2a0602,_0xf38c75._0x23b37f,0x3e2)][_0x4e7941(0x404,_0xf38c75._0x2d30c2,0x3db,0x404)+'d']=0x0),_0xb4fefd[_0x75ec20(_0xf38c75._0x458c6d,_0xf38c75._0x42eb11,_0xf38c75._0x2a15ff,_0xf38c75._0x26e18d)](_0x16b6dc['statistics'][_0x4e7941(0x40d,0x3e0,_0xf38c75._0x356766,_0xf38c75._0x16b7f3)+_0x75ec20(0x414,_0xf38c75._0x10a001,_0xf38c75._0x7fe493,0x413)],null)&&(_0x16b6dc[_0x75ec20(_0xf38c75._0x193066,_0xf38c75._0x48b5c9,0x3d5,0x3f6)][_0x75ec20(_0xf38c75._0x14cb71,0x3e4,0x41a,0x3f9)+_0x4e7941(_0xf38c75._0x382d33,0x3e7,0x3c0,0x424)]=null),_0x16b6dc[_0x75ec20(_0xf38c75._0x3f87f2,0x3ca,_0xf38c75._0x23b37f,0x3c2)]['lastFailTi'+'me']==null&&(_0x16b6dc['statistics']['lastFailTi'+'me']=null),_0x16b6dc[_0x75ec20(_0xf38c75._0x5aa741,_0xf38c75._0x399bb2,0x3d5,0x3db)][_0x75ec20(_0xf38c75._0xe55fec,0x405,0x41c,_0xf38c75._0x30fb8f)]==null&&(_0x16b6dc['statistics'][_0x75ec20(0x3ee,0x40d,_0xf38c75._0x16b7f3,0x43c)]=null),(!_0x16b6dc[_0x75ec20(_0xf38c75._0x10a001,0x445,0x41e,_0xf38c75._0x4f95db)]||typeof _0x16b6dc[_0x4e7941(_0xf38c75._0x1d3a7d,0x441,0x43a,_0xf38c75._0x309d51)]!=_0xb4fefd[_0x4e7941(0x41a,_0xf38c75._0x35939a,0x42e,0x40f)])&&(_0x16b6dc['config']={}),_0x16b6dc[_0x4e7941(_0xf38c75._0x1d3a7d,0x3e3,_0xf38c75._0x515aa5,_0xf38c75._0x5360f1)][_0x4e7941(0x422,0x3fe,0x417,_0xf38c75._0x57da7f)+'FetchTime']==null&&(_0x16b6dc['config']['lastConfig'+_0x75ec20(_0xf38c75._0x364f0e,_0xf38c75._0x5ba2d6,_0xf38c75._0x34268c,_0xf38c75._0xee39b2)]=null),_0xb4fefd[_0x4e7941(0x412,_0xf38c75._0x2ee3ff,0x41e,_0xf38c75._0x39ae45)](_0x16b6dc[_0x4e7941(0x411,0x408,_0xf38c75._0x541a4f,_0xf38c75._0x349b7b)][_0x4e7941(0x422,_0xf38c75._0x3eafa5,0x41d,0x402)+_0x75ec20(0x42f,0x41e,_0xf38c75._0x246211,_0xf38c75._0x3eada7)+'ss'],null)&&(_0x16b6dc['config'][_0x75ec20(0x467,0x431,0x42f,_0xf38c75._0x1e2998)+_0x75ec20(0x409,0x434,0x42c,_0xf38c75._0x5818ba)+'ss']=!0x1),_0xb4fefd[_0x4e7941(0x3d0,_0xf38c75._0x1e36af,0x3be,_0xf38c75._0x3fa36a)](u,_0x16b6dc,_0x4e7941(_0xf38c75._0x2e1e17,0x402,0x3f5,0x3ef)),_0xb4fefd[_0x75ec20(0x407,_0xf38c75._0x193066,_0xf38c75._0x3f87f2,_0xf38c75._0x47e894)](u,_0x16b6dc,_0xb4fefd[_0x4e7941(0x416,_0xf38c75._0x40c553,0x442,_0xf38c75._0x7fe493)]),u(_0x16b6dc,_0x75ec20(_0xf38c75._0xfbb9e4,0x3dc,_0xf38c75._0x28adcf,_0xf38c75._0x533083)),_0x16b6dc;}function b(_0x33ab77,_0x197756={}){const _0x28fe33={_0x528e63:0x14,_0x14ddc7:0x5a,_0x2119b6:0x15,_0x18d7e4:0x24,_0x1b5abd:0x39,_0x4742e1:0x7,_0x40e9c0:0x1,_0x5e42c1:0x2f,_0x280acc:0x19,_0x299868:0x1d,_0x330e9c:0x4,_0x465179:0x4,_0x292854:0x28,_0x3731d2:0x11,_0xa5c5ce:0x24,_0x336242:0x18a,_0x57cef1:0x1a9,_0x1adac6:0x190,_0x48c2e8:0x187,_0x5c2f50:0x1c1,_0x38604a:0x1e6,_0x53019d:0x1ef,_0x3fbff7:0x1e4,_0x471ea0:0x5f,_0x4b4e1d:0x47,_0x371060:0x1a0,_0x18f58d:0x1a7,_0xa9dc08:0x1b7,_0x52a11f:0x195,_0x1e5751:0x1,_0x4c0120:0x30,_0x3e9c0d:0x62,_0x516256:0x59,_0xd5ee93:0x36,_0x4171fc:0x16,_0x50149b:0x1c6,_0x3e15e5:0x28,_0x1902fb:0x1a,_0x186024:0x10,_0x40fc9c:0x6,_0x4f9649:0x30,_0x23f29c:0x34,_0x18c795:0x5b,_0x1d6ff7:0x50,_0xb131d2:0x34,_0x5e3ba0:0x1de,_0x4ae326:0x209,_0x385e31:0x1fe,_0x159165:0x1df,_0x4ecb5d:0x5,_0x447752:0x1b,_0xd86ad9:0x243,_0x18140e:0x1da,_0x869786:0x1d5,_0x176c4a:0x1b4,_0x4ba28e:0x4f,_0x382cd2:0x30,_0xb99343:0x3c,_0x55f372:0x200,_0x2caaff:0x219,_0x370fa2:0x1f0,_0x12d0bb:0x1ae,_0x19bdbb:0x191,_0x46e1d1:0x196,_0x102184:0x1aa,_0x238d9a:0x12,_0x5aa9b4:0x1d,_0x5b2293:0xc,_0x189435:0x57,_0x4f7258:0x31,_0x17ee4d:0x3f,_0x4ef532:0x33,_0x31b4be:0x18b,_0x223e8a:0x1a8,_0x5a4415:0x1b2,_0x71fdc:0x1f4,_0x535e36:0x203,_0x30f193:0x1ec,_0x4a2d3f:0x13,_0x382cad:0x77,_0x1dd49b:0x58,_0x4ac72b:0xf,_0x28ac16:0x1ff,_0x2de40a:0x219,_0x30440f:0x26,_0x4d0c7f:0x1e7,_0x334181:0x1be,_0x37cc8b:0x1c},_0x33872a={_0x2f63e8:0x64};function _0x221425(_0x27f219,_0x3eb41d,_0x324a11,_0x13fd44){return _0x53e9(_0x13fd44- -0x150,_0x27f219);}const _0xbbe731={'nfhaq':function(_0xb968c7,_0x3b4e38,_0x5cdb1d){return _0xb968c7(_0x3b4e38,_0x5cdb1d);},'iVivQ':'utf8','oiDsy':_0x221425(0x44,_0x28fe33._0x528e63,_0x28fe33._0x14ddc7,0x22),'UlFrj':'state.json'+_0x221425(_0x28fe33._0x2119b6,_0x28fe33._0x18d7e4,_0x28fe33._0x1b5abd,0x43)+'重建默认状态','cwPfk':function(_0x239aab,_0x3dfe12,_0x2e5cd2){return _0x239aab(_0x3dfe12,_0x2e5cd2);}};let {currentMcpVersion:_0x53091e,currentStateSchemaVersion:_0xe30ebe=d,logger:_0x581ab8}=_0x197756;if(!_0x3a1f9e[_0x221425(_0x28fe33._0x4742e1,-_0x28fe33._0x40e9c0,0x1b,0x1e)](_0x33ab77)){let _0x9b2f3f=f(_0x53091e,_0xe30ebe);return _0xbbe731[_0x221425(-_0x28fe33._0x5e42c1,-_0x28fe33._0x280acc,_0x28fe33._0x299868,_0x28fe33._0x330e9c)](c,_0x33ab77,_0x9b2f3f),_0x9b2f3f;}function _0x2b6257(_0x38f354,_0x13c109,_0x7eb5ed,_0xf70499){return _0x53e9(_0x38f354-_0x33872a._0x2f63e8,_0x7eb5ed);}try{const _0x31d09f={};_0x31d09f[_0x221425(0x49,0x42,0x72,0x59)+_0x221425(-0xc,-0x1,-0x2b,-_0x28fe33._0x465179)]=_0x53091e,_0x31d09f[_0x221425(-0x5,0x39,_0x28fe33._0x292854,_0x28fe33._0x3731d2)+_0x221425(_0x28fe33._0xa5c5ce,0x41,0x60,0x36)+_0x2b6257(0x1bf,0x1c8,0x1f2,_0x28fe33._0x336242)]=_0xe30ebe;let _0x522f40=_0x3a1f9e['readFileSy'+'nc'](_0x33ab77,_0xbbe731[_0x2b6257(_0x28fe33._0x57cef1,_0x28fe33._0x1adac6,_0x28fe33._0x48c2e8,_0x28fe33._0x5c2f50)]),_0x30f797=JSON[_0x2b6257(_0x28fe33._0x38604a,_0x28fe33._0x53019d,0x1d0,0x207)](_0x522f40),_0x3e2aed=k(_0x30f797,_0x31d09f),_0x14def3=JSON[_0x2b6257(_0x28fe33._0x3fbff7,0x20c,0x1e7,0x1d7)](_0x3e2aed,null,0x2);const _0x4c4e8e={};return _0x4c4e8e[_0x221425(_0x28fe33._0x471ea0,_0x28fe33._0x4b4e1d,0x71,0x49)+_0x2b6257(_0x28fe33._0x371060,_0x28fe33._0x18f58d,_0x28fe33._0xa9dc08,_0x28fe33._0x52a11f)]=_0xe30ebe,_0x4c4e8e[_0x221425(-0x3d,-0x40,_0x28fe33._0x1e5751,-0x7)]=_0x53091e,(_0x522f40[_0x221425(_0x28fe33._0x4c0120,_0x28fe33._0x3e9c0d,0x47,0x2f)]()!==_0x14def3[_0x221425(0x27,0x24,_0x28fe33._0x516256,_0x28fe33._0x5e42c1)]()&&(c(_0x33ab77,_0x3e2aed),_0x581ab8?.[_0x221425(_0x28fe33._0xd5ee93,_0x28fe33._0x4171fc,-0x4,0x15)]?.(_0x2b6257(0x1cc,0x1f5,0x1ad,_0x28fe33._0x50149b)+'\x20已完成兼容迁移',_0x4c4e8e)),_0x3e2aed);}catch(_0x436a6f){if(_0xbbe731[_0x221425(0x49,-0x10,_0x28fe33._0x3e15e5,_0x28fe33._0x1902fb)]!=='OUQkz'){const _0x3b2670={};_0x3b2670['totalUploa'+_0x221425(-_0x28fe33._0x186024,-0x2d,-0x22,_0x28fe33._0x40fc9c)]=0x0,_0x3b2670[_0x221425(0x31,_0x28fe33._0x4f9649,0x15,_0x28fe33._0x23f29c)+'d']=0x0;const _0x4d5f46={};return _0x4d5f46['repairVers'+_0x221425(_0x28fe33._0x18c795,_0x28fe33._0x1d6ff7,0x2,0x2d)]=null,_0x4d5f46[_0x221425(0x54,0x34,_0x28fe33._0xb131d2,0x44)+'t']=null,_0x4d5f46[_0x2b6257(_0x28fe33._0x5e3ba0,_0x28fe33._0x4ae326,_0x28fe33._0x385e31,_0x28fe33._0x159165)+_0x221425(0x0,-_0x28fe33._0x4ecb5d,-_0x28fe33._0x447752,-0x11)]=null,_0x4d5f46[_0x2b6257(0x20a,_0x28fe33._0xd86ad9,_0x28fe33._0x18140e,0x1f8)+'son']=null,_0x4d5f46[_0x2b6257(_0x28fe33._0x869786,_0x28fe33._0x176c4a,0x1ae,0x1c9)+'ak']=0x0,_0x4d5f46[_0x221425(_0x28fe33._0x4ba28e,_0x28fe33._0x382cd2,0xc,_0x28fe33._0xb99343)+'ySkippedAt']=null,_0x4d5f46[_0x2b6257(_0x28fe33._0x55f372,_0x28fe33._0x2caaff,0x22a,0x224)+_0x2b6257(0x1f9,_0x28fe33._0x370fa2,0x1cd,0x1e5)]=null,_0x4d5f46[_0x2b6257(_0x28fe33._0x12d0bb,_0x28fe33._0x19bdbb,_0x28fe33._0x46e1d1,0x177)+_0x2b6257(0x1e1,0x1ae,_0x28fe33._0x102184,0x1fa)]=null,_0x4d5f46['cursorSess'+_0x221425(-0xc,0x39,-_0x28fe33._0x238d9a,_0x28fe33._0x5aa9b4)]=[],_0x4d5f46[_0x221425(-_0x28fe33._0x280acc,0x2d,-0x3a,-_0x28fe33._0x5b2293)+'e']=[],_0x4d5f46['statistics']=_0x3b2670,_0x4d5f46;}else{let _0x21e979=_0x10fa0c['join'](_0x10fa0c[_0x221425(0x35,0x53,_0x28fe33._0x189435,_0x28fe33._0x4f7258)](_0x33ab77),_0x221425(0x4,_0x28fe33._0x17ee4d,_0x28fe33._0x4ef532,0x18)+_0x2b6257(_0x28fe33._0xa9dc08,_0x28fe33._0x31b4be,_0x28fe33._0x223e8a,_0x28fe33._0x5a4415)+_0x2b6257(_0x28fe33._0x71fdc,_0x28fe33._0x535e36,0x1d9,_0x28fe33._0x30f193)+Date[_0x221425(0x1a,_0x28fe33._0x4a2d3f,0x28,0x16)]());_0x3a1f9e['copyFileSy'+'nc'](_0x33ab77,_0x21e979),_0x581ab8?.[_0x221425(_0x28fe33._0x382cad,_0x28fe33._0x1dd49b,_0x28fe33._0x4ac72b,0x47)]?.(_0xbbe731[_0x2b6257(_0x28fe33._0x28ac16,0x22b,_0x28fe33._0x2de40a,0x226)],{'backupFile':_0x21e979,'error':_0x436a6f[_0x221425(_0x28fe33._0x30440f,0x11,0x61,0x3e)]});let _0x31840e=_0xbbe731[_0x2b6257(_0x28fe33._0x4d0c7f,0x1bf,0x1f5,_0x28fe33._0x334181)](f,_0x53091e,_0xe30ebe);return _0xbbe731[_0x221425(0x28,-_0x28fe33._0x37cc8b,0x1,0x4)](c,_0x33ab77,_0x31840e),_0x31840e;}}}function c(_0x11f476,_0x1454aa){const _0x4951ab={_0x52d382:0x146,_0x1d7f21:0x4a,_0x4e8be:0x36,_0xcb4075:0x6a,_0x5ce118:0x156,_0x28b587:0x173,_0x31e98b:0x1b2,_0x355caf:0x180,_0x54989c:0x1e,_0x170d6c:0x136,_0x4b23a8:0x15d,_0xf51f09:0x14f,_0x12c0fb:0x19e,_0x4ecc07:0x151,_0x48e139:0x182,_0x554b49:0x159,_0x160c0f:0x187},_0x59e8ee={_0x17e115:0x12e},_0x21f604={};_0x21f604[_0x411282(0x19a,0x17e,0x15e,0x169)]=_0x411282(_0x4951ab._0x52d382,0x133,0x17a,0x15f);const _0x4c17cd=_0x21f604;function _0x1adcff(_0x45bd51,_0x5e72f5,_0x4c8f45,_0x4f436a){return _0x53e9(_0x5e72f5- -_0x59e8ee._0x17e115,_0x45bd51);}function _0x411282(_0x4642fe,_0x8ebc25,_0x1bfd5f,_0x15da30){return _0x53e9(_0x15da30-0x2,_0x4642fe);}let _0x30f927=_0x11f476+_0x1adcff(0x3c,_0x4951ab._0x1d7f21,_0x4951ab._0x4e8be,_0x4951ab._0xcb4075)+process[_0x411282(_0x4951ab._0x5ce118,_0x4951ab._0x28b587,_0x4951ab._0x31e98b,_0x4951ab._0x355caf)];_0x3a1f9e[_0x1adcff(0x4e,0x2b,0x8,_0x4951ab._0x54989c)+_0x411282(_0x4951ab._0x170d6c,_0x4951ab._0x4b23a8,_0x4951ab._0xf51f09,0x160)](_0x30f927,JSON[_0x411282(0x179,_0x4951ab._0x12c0fb,_0x4951ab._0x4ecc07,_0x4951ab._0x48e139)](_0x1454aa,null,0x2),_0x4c17cd['jwEGW']),_0x3a1f9e[_0x411282(0x18c,_0x4951ab._0x554b49,_0x4951ab._0x160c0f,0x18b)](_0x30f927,_0x11f476);}export{d as DEFAULT_STATE_SCHEMA_VERSION,p as createConversationSourceState,f as createDefaultChatGrabState,u as ensureConversationSourceState,b as loadOrCreateChatGrabState,k as migrateChatGrabState,c as saveChatGrabStateFile};
|
|
5
|
+
export const DEFAULT_STATE_SCHEMA_VERSION = 1;
|
|
6
|
+
|
|
7
|
+
export function createConversationSourceState() {
|
|
8
|
+
return { conversations: {}, failedQueue: [], statistics: { totalUploaded: 0, totalFailed: 0 } };
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function createDefaultChatGrabState(currentMcpVersion, currentStateSchemaVersion = DEFAULT_STATE_SCHEMA_VERSION) {
|
|
12
|
+
return {
|
|
13
|
+
mcpVersion: currentMcpVersion,
|
|
14
|
+
stateSchemaVersion: currentStateSchemaVersion,
|
|
15
|
+
conversations: {},
|
|
16
|
+
failedQueue: [],
|
|
17
|
+
statistics: {
|
|
18
|
+
totalUploaded: 0,
|
|
19
|
+
totalFailed: 0,
|
|
20
|
+
lastUploadTime: null,
|
|
21
|
+
lastFailTime: null,
|
|
22
|
+
lastError: null
|
|
23
|
+
},
|
|
24
|
+
config: {
|
|
25
|
+
lastConfigFetchTime: null,
|
|
26
|
+
lastConfigFetchSuccess: false
|
|
27
|
+
},
|
|
28
|
+
claudeCode: createConversationSourceState(),
|
|
29
|
+
cursorCli: createConversationSourceState(),
|
|
30
|
+
codex: createConversationSourceState()
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function ensureConversationSourceState(state, key) {
|
|
35
|
+
if (!state[key] || typeof state[key] !== 'object') {
|
|
36
|
+
state[key] = createConversationSourceState();
|
|
37
|
+
}
|
|
38
|
+
if (!state[key].conversations || typeof state[key].conversations !== 'object') {
|
|
39
|
+
state[key].conversations = {};
|
|
40
|
+
}
|
|
41
|
+
if (!Array.isArray(state[key].failedQueue)) {
|
|
42
|
+
state[key].failedQueue = [];
|
|
43
|
+
}
|
|
44
|
+
if (!state[key].statistics || typeof state[key].statistics !== 'object') {
|
|
45
|
+
state[key].statistics = { totalUploaded: 0, totalFailed: 0 };
|
|
46
|
+
}
|
|
47
|
+
if (state[key].statistics.totalUploaded == null) state[key].statistics.totalUploaded = 0;
|
|
48
|
+
if (state[key].statistics.totalFailed == null) state[key].statistics.totalFailed = 0;
|
|
49
|
+
if (key === 'codex') {
|
|
50
|
+
ensureCodexRepairState(state[key]);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function migrateChatGrabState(rawState, options) {
|
|
55
|
+
const {
|
|
56
|
+
currentMcpVersion,
|
|
57
|
+
currentStateSchemaVersion = DEFAULT_STATE_SCHEMA_VERSION,
|
|
58
|
+
} = options;
|
|
59
|
+
const state = rawState && typeof rawState === 'object'
|
|
60
|
+
? rawState
|
|
61
|
+
: createDefaultChatGrabState(currentMcpVersion, currentStateSchemaVersion);
|
|
62
|
+
|
|
63
|
+
state.mcpVersion = currentMcpVersion;
|
|
64
|
+
state.stateSchemaVersion = currentStateSchemaVersion;
|
|
65
|
+
|
|
66
|
+
if (!state.conversations || typeof state.conversations !== 'object') state.conversations = {};
|
|
67
|
+
if (!Array.isArray(state.failedQueue)) state.failedQueue = [];
|
|
68
|
+
if (!state.statistics || typeof state.statistics !== 'object') {
|
|
69
|
+
state.statistics = { totalUploaded: 0, totalFailed: 0 };
|
|
70
|
+
}
|
|
71
|
+
if (state.statistics.totalUploaded == null) state.statistics.totalUploaded = 0;
|
|
72
|
+
if (state.statistics.totalFailed == null) state.statistics.totalFailed = 0;
|
|
73
|
+
if (state.statistics.lastUploadTime == null) state.statistics.lastUploadTime = null;
|
|
74
|
+
if (state.statistics.lastFailTime == null) state.statistics.lastFailTime = null;
|
|
75
|
+
if (state.statistics.lastError == null) state.statistics.lastError = null;
|
|
76
|
+
if (!state.config || typeof state.config !== 'object') state.config = {};
|
|
77
|
+
if (state.config.lastConfigFetchTime == null) state.config.lastConfigFetchTime = null;
|
|
78
|
+
if (state.config.lastConfigFetchSuccess == null) state.config.lastConfigFetchSuccess = false;
|
|
79
|
+
|
|
80
|
+
ensureConversationSourceState(state, 'claudeCode');
|
|
81
|
+
ensureConversationSourceState(state, 'cursorCli');
|
|
82
|
+
ensureConversationSourceState(state, 'codex');
|
|
83
|
+
return state;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export function loadOrCreateChatGrabState(stateFile, options = {}) {
|
|
87
|
+
const {
|
|
88
|
+
currentMcpVersion,
|
|
89
|
+
currentStateSchemaVersion = DEFAULT_STATE_SCHEMA_VERSION,
|
|
90
|
+
logger,
|
|
91
|
+
} = options;
|
|
92
|
+
|
|
93
|
+
if (!fs.existsSync(stateFile)) {
|
|
94
|
+
const state = createDefaultChatGrabState(currentMcpVersion, currentStateSchemaVersion);
|
|
95
|
+
saveChatGrabStateFile(stateFile, state);
|
|
96
|
+
return state;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
try {
|
|
100
|
+
const content = fs.readFileSync(stateFile, 'utf8');
|
|
101
|
+
const previousState = JSON.parse(content);
|
|
102
|
+
const migratedState = migrateChatGrabState(previousState, {
|
|
103
|
+
currentMcpVersion,
|
|
104
|
+
currentStateSchemaVersion,
|
|
105
|
+
});
|
|
106
|
+
const normalized = JSON.stringify(migratedState, null, 2);
|
|
107
|
+
if (content.trim() !== normalized.trim()) {
|
|
108
|
+
saveChatGrabStateFile(stateFile, migratedState);
|
|
109
|
+
logger?.info?.('state.json 已完成兼容迁移', {
|
|
110
|
+
stateSchemaVersion: currentStateSchemaVersion,
|
|
111
|
+
mcpVersion: currentMcpVersion,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return migratedState;
|
|
115
|
+
} catch (error) {
|
|
116
|
+
const backupFile = path.join(path.dirname(stateFile), `state.json.backup-corrupt-${Date.now()}`);
|
|
117
|
+
fs.copyFileSync(stateFile, backupFile);
|
|
118
|
+
logger?.warn?.('state.json 解析失败,已备份并重建默认状态', { backupFile, error: error.message });
|
|
119
|
+
const state = createDefaultChatGrabState(currentMcpVersion, currentStateSchemaVersion);
|
|
120
|
+
saveChatGrabStateFile(stateFile, state);
|
|
121
|
+
return state;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export function saveChatGrabStateFile(stateFile, state) {
|
|
126
|
+
const tmpFile = `${stateFile}.tmp.${process.pid}`;
|
|
127
|
+
fs.writeFileSync(tmpFile, JSON.stringify(state, null, 2), 'utf8');
|
|
128
|
+
fs.renameSync(tmpFile, stateFile);
|
|
129
|
+
}
|