mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-06 03:25:51 +00:00
release: v2.2.4 [2026-05-30 11:32:49]
### 新功能
- **Function Call 填表**:
- FC 首次请求时对 DeepSeek 系模型自动附加 `thinking: { type: "disabled" }`,避免思考模式与 tool_choice 冲突
- 操作列表为空时在日志面板输出原始响应 JSON,便于区分"AI 判断无需变更"、"格式校验全部不通过"和"JSON 解析失败"三种情况
### 修复
- **剧情优化**:移除剧情优化页面遗留的 Jqyh 直连配置字段(URL / Key / Model),统一走 API 连接配置功能分配槽位
- **表格**:
- 补全 `batch-filling-threshold` 批处理阈值的持久化绑定(页面刷新后不再还原为默认值 30)
- 修复分步填表并发锁与 async/await 时序问题
- 修复外层多余 `try...finally` 导致的插件加载报错
- **Rerank**:
- 修复选择连接配置后报"API Key 未配置"的问题(`apiMode` 现从设置读取而非硬编码 `custom`)
- 补全 `hly-rerank-api-mode` 加载绑定及默认值
- **翰林院 RAG**:补全 `priorityRetrieval.sources` 各来源条目的缺失键,修复设置面板回填 TypeError
This commit is contained in:
@@ -46,3 +46,25 @@
|
|||||||
- 修复自动归档失效问题
|
- 修复自动归档失效问题
|
||||||
- 修复归档管理器在同一事件中被三次触发的回归问题
|
- 修复归档管理器在同一事件中被三次触发的回归问题
|
||||||
- 修复翰林院设置旧版迁移逻辑异常
|
- 修复翰林院设置旧版迁移逻辑异常
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v2.2.4
|
||||||
|
|
||||||
|
### 新功能
|
||||||
|
|
||||||
|
- **Function Call 填表**:
|
||||||
|
- FC 首次请求时对 DeepSeek 系模型自动附加 `thinking: { type: "disabled" }`,避免思考模式与 tool_choice 冲突
|
||||||
|
- 操作列表为空时在日志面板输出原始响应 JSON,便于区分"AI 判断无需变更"、"格式校验全部不通过"和"JSON 解析失败"三种情况
|
||||||
|
|
||||||
|
### 修复
|
||||||
|
|
||||||
|
- **剧情优化**:移除剧情优化页面遗留的 Jqyh 直连配置字段(URL / Key / Model),统一走 API 连接配置功能分配槽位
|
||||||
|
- **表格**:
|
||||||
|
- 补全 `batch-filling-threshold` 批处理阈值的持久化绑定(页面刷新后不再还原为默认值 30)
|
||||||
|
- 修复分步填表并发锁与 async/await 时序问题
|
||||||
|
- 修复外层多余 `try...finally` 导致的插件加载报错
|
||||||
|
- **Rerank**:
|
||||||
|
- 修复选择连接配置后报"API Key 未配置"的问题(`apiMode` 现从设置读取而非硬编码 `custom`)
|
||||||
|
- 补全 `hly-rerank-api-mode` 加载绑定及默认值
|
||||||
|
- **翰林院 RAG**:补全 `priorityRetrieval.sources` 各来源条目的缺失键,修复设置面板回填 TypeError
|
||||||
|
|||||||
@@ -291,7 +291,17 @@ async function runBatchAttempt(batchNum, attemptNum) {
|
|||||||
if (!argsString) throw new Error('Function Call 返回为空。');
|
if (!argsString) throw new Error('Function Call 返回为空。');
|
||||||
const ops = parseToolCallArgs(argsString);
|
const ops = parseToolCallArgs(argsString);
|
||||||
if (ops.length === 0) {
|
if (ops.length === 0) {
|
||||||
log(`批次 ${batchNum} 的 Function Call 返回操作列表为空,AI 判断此批次无需变更。`, 'warn');
|
let parseHint = '';
|
||||||
|
try {
|
||||||
|
const rawParsed = JSON.parse(argsString);
|
||||||
|
const rawOpsLen = rawParsed?.operations?.length ?? 0;
|
||||||
|
if (rawOpsLen > 0) {
|
||||||
|
parseHint = `(响应含 ${rawOpsLen} 条操作,但全部未通过格式校验)`;
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
parseHint = '(响应 JSON 解析失败)';
|
||||||
|
}
|
||||||
|
log(`批次 ${batchNum} FC 操作列表为空${parseHint},原始响应:\n${argsString}`, 'warn');
|
||||||
toastr.info('AI 判断此批次无需修改。', `批次 ${batchNum}`);
|
toastr.info('AI 判断此批次无需修改。', `批次 ${batchNum}`);
|
||||||
} else {
|
} else {
|
||||||
await updateTableFromOps(ops, { immediateDelete: true });
|
await updateTableFromOps(ops, { immediateDelete: true });
|
||||||
@@ -564,7 +574,17 @@ export async function startFloorRangeFilling(startFloor, endFloor) {
|
|||||||
if (!argsString) throw new Error('Function Call 返回为空。');
|
if (!argsString) throw new Error('Function Call 返回为空。');
|
||||||
const ops = parseToolCallArgs(argsString);
|
const ops = parseToolCallArgs(argsString);
|
||||||
if (ops.length === 0) {
|
if (ops.length === 0) {
|
||||||
log(`楼层 ${startFloor}-${endFloor} Function Call 返回操作列表为空,无需变更。`, 'warn');
|
let parseHint = '';
|
||||||
|
try {
|
||||||
|
const rawParsed = JSON.parse(argsString);
|
||||||
|
const rawOpsLen = rawParsed?.operations?.length ?? 0;
|
||||||
|
if (rawOpsLen > 0) {
|
||||||
|
parseHint = `(响应含 ${rawOpsLen} 条操作,但全部未通过格式校验)`;
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
parseHint = '(响应 JSON 解析失败)';
|
||||||
|
}
|
||||||
|
log(`楼层 ${startFloor}-${endFloor} FC 操作列表为空${parseHint},原始响应:\n${argsString}`, 'warn');
|
||||||
toastr.info('AI 判断此楼层范围无需修改。', `楼层 ${startFloor}-${endFloor}`);
|
toastr.info('AI 判断此楼层范围无需修改。', `楼层 ${startFloor}-${endFloor}`);
|
||||||
} else {
|
} else {
|
||||||
await updateTableFromOps(ops, { immediateDelete: true });
|
await updateTableFromOps(ops, { immediateDelete: true });
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import { showTableFillReviewModal } from '../../ui/page-window.js';
|
|||||||
const CONTINUE_PROMPT_SECONDARY = '上一条回复不完整或缺少 <Amily2Edit> 指令块。请直接从中断处继续生成剩余内容,不要重复已输出的文本,也不要添加任何解释或寒暄,确保最终输出中包含完整的 <Amily2Edit>...</Amily2Edit> 指令块。';
|
const CONTINUE_PROMPT_SECONDARY = '上一条回复不完整或缺少 <Amily2Edit> 指令块。请直接从中断处继续生成剩余内容,不要重复已输出的文本,也不要添加任何解释或寒暄,确保最终输出中包含完整的 <Amily2Edit>...</Amily2Edit> 指令块。';
|
||||||
|
|
||||||
let secondaryFillerDebounceTimer = null;
|
let secondaryFillerDebounceTimer = null;
|
||||||
|
let secondaryFillerRunning = false;
|
||||||
|
|
||||||
async function callSecondaryModel(messages) {
|
async function callSecondaryModel(messages) {
|
||||||
const settings = extension_settings[extensionName] || {};
|
const settings = extension_settings[extensionName] || {};
|
||||||
@@ -38,8 +39,8 @@ async function requestSecondaryContinuation(baseMessages, partialResponse) {
|
|||||||
return `${partialResponse || ''}${continued}`;
|
return `${partialResponse || ''}${continued}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function commitSecondaryFillResult(rawContent, targetMessages) {
|
async function commitSecondaryFillResult(rawContent, targetMessages) {
|
||||||
updateTableFromText(rawContent);
|
await updateTableFromText(rawContent);
|
||||||
|
|
||||||
const memoryState = getMemoryState();
|
const memoryState = getMemoryState();
|
||||||
const lastProcessedMsg = targetMessages[targetMessages.length - 1].msg;
|
const lastProcessedMsg = targetMessages[targetMessages.length - 1].msg;
|
||||||
@@ -54,7 +55,7 @@ function commitSecondaryFillResult(rawContent, targetMessages) {
|
|||||||
updateOrInsertTableInChat();
|
updateOrInsertTableInChat();
|
||||||
}
|
}
|
||||||
|
|
||||||
saveChat();
|
await saveChat();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -111,6 +112,11 @@ async function getWorldBookContext() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function fillWithSecondaryApi(latestMessage, forceRun = false) {
|
export async function fillWithSecondaryApi(latestMessage, forceRun = false) {
|
||||||
|
if (secondaryFillerRunning) {
|
||||||
|
log('分步填表正在进行中,跳过本次触发。', 'warn');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
secondaryFillerRunning = true;
|
||||||
const settings = extension_settings[extensionName] || {};
|
const settings = extension_settings[extensionName] || {};
|
||||||
|
|
||||||
// 【V2.1.1】分步填表触发延迟 / 防抖:自动触发时若配置了延迟,则延后执行,
|
// 【V2.1.1】分步填表触发延迟 / 防抖:自动触发时若配置了延迟,则延后执行,
|
||||||
@@ -389,12 +395,12 @@ export async function fillWithSecondaryApi(latestMessage, forceRun = false) {
|
|||||||
}
|
}
|
||||||
return merged;
|
return merged;
|
||||||
},
|
},
|
||||||
onApply: (editedText) => {
|
onApply: async (editedText) => {
|
||||||
if (!editedText || !editedText.includes('<Amily2Edit>')) {
|
if (!editedText || !editedText.includes('<Amily2Edit>')) {
|
||||||
toastr.warning('应用的文本中未检测到 <Amily2Edit> 指令块,已按原文尝试写入。', '手动应用');
|
toastr.warning('应用的文本中未检测到 <Amily2Edit> 指令块,已按原文尝试写入。', '手动应用');
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
commitSecondaryFillResult(editedText, targetMessages);
|
await commitSecondaryFillResult(editedText, targetMessages);
|
||||||
toastr.success('分步填表已由用户手动处理完成。', 'Amily2-分步填表');
|
toastr.success('分步填表已由用户手动处理完成。', 'Amily2-分步填表');
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('[Amily2-副API] 手动应用失败:', err);
|
console.error('[Amily2-副API] 手动应用失败:', err);
|
||||||
@@ -415,7 +421,7 @@ export async function fillWithSecondaryApi(latestMessage, forceRun = false) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
commitSecondaryFillResult(rawContent, targetMessages);
|
await commitSecondaryFillResult(rawContent, targetMessages);
|
||||||
}
|
}
|
||||||
toastr.success("分步填表执行完毕。", "Amily2-分步填表");
|
toastr.success("分步填表执行完毕。", "Amily2-分步填表");
|
||||||
|
|
||||||
@@ -449,7 +455,10 @@ export async function fillWithSecondaryApi(latestMessage, forceRun = false) {
|
|||||||
delete latestMessage.metadata.Amily2_Retry_Count;
|
delete latestMessage.metadata.Amily2_Retry_Count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
secondaryFillerRunning = false;
|
||||||
}
|
}
|
||||||
|
secondaryFillerRunning = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getHistoryContext(messagesToFetch, historyEndIndex, tagsToExtract, exclusionRules) {
|
async function getHistoryContext(messagesToFetch, historyEndIndex, tagsToExtract, exclusionRules) {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Amily2号聊天优化助手",
|
"name": "Amily2号聊天优化助手",
|
||||||
"display_name": "Amily2号助手",
|
"display_name": "Amily2号助手",
|
||||||
"version": "2.2.3",
|
"version": "2.2.4",
|
||||||
"author": "Wx-2025",
|
"author": "Wx-2025",
|
||||||
"description": "一个拥有独立UI的智能引擎,正文优化、自动总结、记忆表格、rag向量、隐藏楼层、剧情推进等多功能整合。",
|
"description": "一个拥有独立UI的智能引擎,正文优化、自动总结、记忆表格、rag向量、隐藏楼层、剧情推进等多功能整合。",
|
||||||
"minSillyTavernVersion": "1.10.0",
|
"minSillyTavernVersion": "1.10.0",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
const a0_0x4cb62a=a0_0x3f50;function a0_0x3f50(_0x14d0e6,_0x17dd7f){_0x14d0e6=_0x14d0e6-0x1d4;const _0x551c6b=a0_0x551c();let _0x3f502c=_0x551c6b[_0x14d0e6];if(a0_0x3f50['pTOOQF']===undefined){var _0x37daaf=function(_0x173e78){const _0x3e1089='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d1d5f='',_0x13b6ec='';for(let _0x1b7914=0x0,_0x2b9e6d,_0x4a898e,_0x47bef2=0x0;_0x4a898e=_0x173e78['charAt'](_0x47bef2++);~_0x4a898e&&(_0x2b9e6d=_0x1b7914%0x4?_0x2b9e6d*0x40+_0x4a898e:_0x4a898e,_0x1b7914++%0x4)?_0x4d1d5f+=String['fromCharCode'](0xff&_0x2b9e6d>>(-0x2*_0x1b7914&0x6)):0x0){_0x4a898e=_0x3e1089['indexOf'](_0x4a898e);}for(let _0x4f1def=0x0,_0x527d62=_0x4d1d5f['length'];_0x4f1def<_0x527d62;_0x4f1def++){_0x13b6ec+='%'+('00'+_0x4d1d5f['charCodeAt'](_0x4f1def)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13b6ec);};const _0x7dd670=function(_0x4a592e,_0x2a6237){let _0x3dec80=[],_0x609e59=0x0,_0x539e59,_0x2e380d='';_0x4a592e=_0x37daaf(_0x4a592e);let _0x41c9ef;for(_0x41c9ef=0x0;_0x41c9ef<0x100;_0x41c9ef++){_0x3dec80[_0x41c9ef]=_0x41c9ef;}for(_0x41c9ef=0x0;_0x41c9ef<0x100;_0x41c9ef++){_0x609e59=(_0x609e59+_0x3dec80[_0x41c9ef]+_0x2a6237['charCodeAt'](_0x41c9ef%_0x2a6237['length']))%0x100,_0x539e59=_0x3dec80[_0x41c9ef],_0x3dec80[_0x41c9ef]=_0x3dec80[_0x609e59],_0x3dec80[_0x609e59]=_0x539e59;}_0x41c9ef=0x0,_0x609e59=0x0;for(let _0x2f60a7=0x0;_0x2f60a7<_0x4a592e['length'];_0x2f60a7++){_0x41c9ef=(_0x41c9ef+0x1)%0x100,_0x609e59=(_0x609e59+_0x3dec80[_0x41c9ef])%0x100,_0x539e59=_0x3dec80[_0x41c9ef],_0x3dec80[_0x41c9ef]=_0x3dec80[_0x609e59],_0x3dec80[_0x609e59]=_0x539e59,_0x2e380d+=String['fromCharCode'](_0x4a592e['charCodeAt'](_0x2f60a7)^_0x3dec80[(_0x3dec80[_0x41c9ef]+_0x3dec80[_0x609e59])%0x100]);}return _0x2e380d;};a0_0x3f50['XntrAq']=_0x7dd670,a0_0x3f50['hwQAen']={},a0_0x3f50['pTOOQF']=!![];}const _0x38372e=_0x551c6b[0x0],_0x2846dd=_0x14d0e6+_0x38372e,_0x229821=a0_0x3f50['hwQAen'][_0x2846dd];return!_0x229821?(a0_0x3f50['iFTWyz']===undefined&&(a0_0x3f50['iFTWyz']=!![]),_0x3f502c=a0_0x3f50['XntrAq'](_0x3f502c,_0x17dd7f),a0_0x3f50['hwQAen'][_0x2846dd]=_0x3f502c):_0x3f502c=_0x229821,_0x3f502c;}function a0_0x551c(){const _0x8707ca=['W7XsWP5EW47cMg0wdvio','WOqEWOJcV8oOvSoxoa','WPfgj2hdQXyYW54','nCkHWOhdVe7dTg8CmCoQ','nmkWnfBdVNRdNc7dK8oKW4/cRmob','s8kcW4L9W6JcOmk6ha','W54twNVcIaxdUwu','mCoyW43cHmoKW4in','B0FcUmoFW4tdRmkX','W7/dMvhcM0GSW6S','kSo/Dmk+m8kXAW','W6ddOCoaBSoCrcHZjmk0WQaR','k3lcVSoqW4hdVSk7WOxcLGy','W5/cP8oJeru8sdLPxWqKE33cT2tdJSkTEwy4wmohW4O','ttdcJwnFW4yyWQ4sybz9W7W','W5JcTYldMSofiuFcPCkrWQ/dGa','W7z4W6icgZ0','qXS6W4BcUmoCDmoPvmo7','d8oAW5rhW4hcS8k+kaldGSomkMWX','BSoMW4JcRt3cTdiZlSo6FLfR','WOtcKrhdSJ8hc8ocn8oX','iSk7l8oVEmoUdCoYoY18z8ol','FSovW4PVW4lcQmkKWQy','h0vNWOldI8kzF8o1ymogsSox','gvZcMCk6j1FcOsldTa4RqvG','W6tcVCkzmSkMeIW','uCkflSovtmkECCoddvZdLa','WQmObSo/WRtdTJfaWQNcJfNdIq','jcDMW6tcHSonBa','W6T4EtNdVSoxWQtdO8kmdmo2W5HI','pmoAwIRcJw3dTmorWQmYW7FcGhe','W4tdMxddUKxdTXpdKuVcHW3cSSkk','WQ92WO1isSkGB3C','zSoJW47cOd3cSfqXpCo8suC'];a0_0x551c=function(){return _0x8707ca;};return a0_0x551c();}(function(_0x35fae2,_0x13f5dd){const _0x564fc9=a0_0x3f50,_0x139e78=_0x35fae2();while(!![]){try{const _0x145c85=parseInt(_0x564fc9(0x1f0,'Gy85'))/0x1*(parseInt(_0x564fc9(0x1d8,'(cE3'))/0x2)+-parseInt(_0x564fc9(0x1ef,'teyb'))/0x3*(parseInt(_0x564fc9(0x1eb,'$a0d'))/0x4)+-parseInt(_0x564fc9(0x1ed,'@8aF'))/0x5*(parseInt(_0x564fc9(0x1d7,'c]fl'))/0x6)+-parseInt(_0x564fc9(0x1de,'JBGl'))/0x7*(parseInt(_0x564fc9(0x1f1,'svxN'))/0x8)+-parseInt(_0x564fc9(0x1e0,'$a0d'))/0x9*(-parseInt(_0x564fc9(0x1f4,'Kp%8'))/0xa)+parseInt(_0x564fc9(0x1d4,'yp[y'))/0xb*(parseInt(_0x564fc9(0x1e4,')!c@'))/0xc)+-parseInt(_0x564fc9(0x1f5,'QQoj'))/0xd;if(_0x145c85===_0x13f5dd)break;else _0x139e78['push'](_0x139e78['shift']());}catch(_0x44ee5c){_0x139e78['push'](_0x139e78['shift']());}}}(a0_0x551c,0xa7674));export const SENSITIVE_KEYS=new Set([a0_0x4cb62a(0x1e6,'GkY6'),a0_0x4cb62a(0x1e8,'D[Ub'),a0_0x4cb62a(0x1e3,'Nru@'),a0_0x4cb62a(0x1e7,'@8aF'),a0_0x4cb62a(0x1ea,'s5J%'),a0_0x4cb62a(0x1d9,'Fue3'),a0_0x4cb62a(0x1d6,'XQmS'),a0_0x4cb62a(0x1e2,'JBGl')]);
|
const a0_0x417289=a0_0x4f1e;function a0_0x4f1e(_0x2f7896,_0x3816cc){_0x2f7896=_0x2f7896-0x86;const _0x40b810=a0_0x40b8();let _0x4f1ee1=_0x40b810[_0x2f7896];if(a0_0x4f1e['SwLhHN']===undefined){var _0x1b8d98=function(_0x244a93){const _0xc76c99='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185747='',_0x56aa89='';for(let _0xd00f29=0x0,_0x30e182,_0x5c5226,_0x4c417a=0x0;_0x5c5226=_0x244a93['charAt'](_0x4c417a++);~_0x5c5226&&(_0x30e182=_0xd00f29%0x4?_0x30e182*0x40+_0x5c5226:_0x5c5226,_0xd00f29++%0x4)?_0x185747+=String['fromCharCode'](0xff&_0x30e182>>(-0x2*_0xd00f29&0x6)):0x0){_0x5c5226=_0xc76c99['indexOf'](_0x5c5226);}for(let _0x4eeecc=0x0,_0x2d2334=_0x185747['length'];_0x4eeecc<_0x2d2334;_0x4eeecc++){_0x56aa89+='%'+('00'+_0x185747['charCodeAt'](_0x4eeecc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56aa89);};const _0x59ac21=function(_0x5c59e6,_0x5ef718){let _0x2d8c02=[],_0x499ce6=0x0,_0x539277,_0x31fe60='';_0x5c59e6=_0x1b8d98(_0x5c59e6);let _0x39af08;for(_0x39af08=0x0;_0x39af08<0x100;_0x39af08++){_0x2d8c02[_0x39af08]=_0x39af08;}for(_0x39af08=0x0;_0x39af08<0x100;_0x39af08++){_0x499ce6=(_0x499ce6+_0x2d8c02[_0x39af08]+_0x5ef718['charCodeAt'](_0x39af08%_0x5ef718['length']))%0x100,_0x539277=_0x2d8c02[_0x39af08],_0x2d8c02[_0x39af08]=_0x2d8c02[_0x499ce6],_0x2d8c02[_0x499ce6]=_0x539277;}_0x39af08=0x0,_0x499ce6=0x0;for(let _0x5735c4=0x0;_0x5735c4<_0x5c59e6['length'];_0x5735c4++){_0x39af08=(_0x39af08+0x1)%0x100,_0x499ce6=(_0x499ce6+_0x2d8c02[_0x39af08])%0x100,_0x539277=_0x2d8c02[_0x39af08],_0x2d8c02[_0x39af08]=_0x2d8c02[_0x499ce6],_0x2d8c02[_0x499ce6]=_0x539277,_0x31fe60+=String['fromCharCode'](_0x5c59e6['charCodeAt'](_0x5735c4)^_0x2d8c02[(_0x2d8c02[_0x39af08]+_0x2d8c02[_0x499ce6])%0x100]);}return _0x31fe60;};a0_0x4f1e['ofSZlb']=_0x59ac21,a0_0x4f1e['yrIiEf']={},a0_0x4f1e['SwLhHN']=!![];}const _0x1acbf1=_0x40b810[0x0],_0x432f88=_0x2f7896+_0x1acbf1,_0x3ab94a=a0_0x4f1e['yrIiEf'][_0x432f88];return!_0x3ab94a?(a0_0x4f1e['gHmqPn']===undefined&&(a0_0x4f1e['gHmqPn']=!![]),_0x4f1ee1=a0_0x4f1e['ofSZlb'](_0x4f1ee1,_0x3816cc),a0_0x4f1e['yrIiEf'][_0x432f88]=_0x4f1ee1):_0x4f1ee1=_0x3ab94a,_0x4f1ee1;}(function(_0xca0cc2,_0x435edf){const _0xa6b6d=a0_0x4f1e,_0x339c5d=_0xca0cc2();while(!![]){try{const _0x2f05ef=-parseInt(_0xa6b6d(0x94,'XtWi'))/0x1*(parseInt(_0xa6b6d(0x9f,'^SBC'))/0x2)+parseInt(_0xa6b6d(0x87,'X6l!'))/0x3*(parseInt(_0xa6b6d(0x96,']hA1'))/0x4)+-parseInt(_0xa6b6d(0x9e,'I7xu'))/0x5+parseInt(_0xa6b6d(0xa6,'WpL#'))/0x6*(parseInt(_0xa6b6d(0x88,'M$#0'))/0x7)+parseInt(_0xa6b6d(0xa7,'zAZ&'))/0x8*(parseInt(_0xa6b6d(0x92,']hA1'))/0x9)+-parseInt(_0xa6b6d(0xa5,'hw1&'))/0xa*(-parseInt(_0xa6b6d(0xa3,'0FoH'))/0xb)+-parseInt(_0xa6b6d(0x9b,'sJ*y'))/0xc*(parseInt(_0xa6b6d(0x9d,'gs7b'))/0xd);if(_0x2f05ef===_0x435edf)break;else _0x339c5d['push'](_0x339c5d['shift']());}catch(_0x1f6e16){_0x339c5d['push'](_0x339c5d['shift']());}}}(a0_0x40b8,0x351cb));function a0_0x40b8(){const _0x4696b1=['CSowA8oVW5xcKConWPOebW','nSkvWPXUW7HBWOyVW4fa','dWRdV1hcHmofr18','WQHaW5FcLCoUr1hdMIaPC8k4rq','W5RcJSojW48TlIfTWOVcSb1S','W53dPmkeWPv+tGS','W6SAWO7dLmkxbbldGGe/BSkQDHlcJfBdUvyIW5pdJ8o5oCkb','WQ8GWRpdS8kOlH8','W5JcH0xcNNZcH2eg','ihLCBqPbbG','dmkMWOjKfuDcqCo2W4xdL8oT','rxZdRalcSCodWOJcVY53','yuFcVfxcVfnGW59Th8kZWP0','WQPgW5FcL8oOq1xdRWu6CCk8zq','bmkAWOW3WPXIcwS','W64qfXRdKmkSWOnIWP/dI8osWOuz','WO1myZxcPqlcPCo4WPFcVhi7','a8kAW5n3W7m5vNPFtZjYWO4','nYBcPfVcQNNdGa','u8ozCb7dQSk1W6foqmkUW7u','W6XjtKPeWRRcSmko','jmo2pSkNWR7cJ8oz','FComW6ucWPbYd8kFWRPvCSkzrq','cblcICklWRJcVg4jcCkY','W7xdNSkKkCkNomoM','kmkEWP5PW7zBWPS7W4vjsde/CG','kZ8ua1OLpCo1W6BcUmkLumof','WRLym8ktjSolWRyk','lSkkWRX/W4W6','rXysfcNdRSoVW4NdHL54a8k7','hCoXWQTHWR3dT04mxJ0','WRVcQtfODvDQha4B','AcxcIfBdPMNdS8kx','W7LcW5VdRSkQWOvQgSoiWROBWOFdSG'];a0_0x40b8=function(){return _0x4696b1;};return a0_0x40b8();}export const SENSITIVE_KEYS=new Set([a0_0x417289(0x89,'hw1&'),a0_0x417289(0x86,'AX#j'),a0_0x417289(0x95,']hA1'),a0_0x417289(0x90,'AX#j'),a0_0x417289(0x8c,'Kuiv'),a0_0x417289(0x8f,'aCei'),a0_0x417289(0xa2,'%[B@'),a0_0x417289(0x8b,'41wb')]);
|
||||||
Reference in New Issue
Block a user