diff --git a/core/table-system/executor.js b/core/table-system/executor.js index ac93866..10c307c 100644 --- a/core/table-system/executor.js +++ b/core/table-system/executor.js @@ -1 +1 @@ -(function(_0x35fff5,_0x383545){const _0x3f7c5f=_0xd439,_0x45b015=_0x35fff5();while(!![]){try{const _0x1cfd06=parseInt(_0x3f7c5f(0x1be))/0x1+-parseInt(_0x3f7c5f(0x1b5))/0x2*(parseInt(_0x3f7c5f(0x1bf))/0x3)+parseInt(_0x3f7c5f(0x1c1))/0x4+parseInt(_0x3f7c5f(0x1c0))/0x5*(-parseInt(_0x3f7c5f(0x1d0))/0x6)+parseInt(_0x3f7c5f(0x1cc))/0x7*(-parseInt(_0x3f7c5f(0x1b7))/0x8)+-parseInt(_0x3f7c5f(0x1ce))/0x9+parseInt(_0x3f7c5f(0x1c9))/0xa;if(_0x1cfd06===_0x383545)break;else _0x45b015['push'](_0x45b015['shift']());}catch(_0x32ca2){_0x45b015['push'](_0x45b015['shift']());}}}(_0x5089,0x6d631));import{log}from'./logger.js';function insertRow(_0x4aa2f9,_0x242786,_0x478a79){const _0x13bda2=_0xd439;if(!_0x4aa2f9[_0x242786])return log(_0x13bda2(0x1d2)+_0x242786+_0x13bda2(0x1ca),_0x13bda2(0x1cd)),_0x4aa2f9;const _0xa55d28=_0x4aa2f9[_0x242786],_0x1f7667=_0xa55d28[_0x13bda2(0x1c4)][_0x13bda2(0x1d9)],_0x2da063=Array(_0x1f7667)[_0x13bda2(0x1d7)]('');for(const _0x581313 in _0x478a79){parseInt(_0x581313,0xa)<_0x1f7667&&(_0x2da063[_0x581313]=_0x478a79[_0x581313]);}return _0xa55d28['rows'][_0x13bda2(0x1bd)](_0x2da063),_0x4aa2f9;}function updateRow(_0x1c9bb0,_0xa4c79,_0x12da50,_0x280882){const _0x111353=_0xd439;if(!_0x1c9bb0[_0xa4c79])return log('AI指令错误:尝试更新不存在的表格\x20'+_0xa4c79+'。','error'),_0x1c9bb0;const _0x458d5c=_0x1c9bb0[_0xa4c79];if(_0x12da50>=_0x458d5c[_0x111353(0x1cb)][_0x111353(0x1d9)])return log(_0x111353(0x1d5)+_0x12da50+_0x111353(0x1b4),'warn'),insertRow(_0x1c9bb0,_0xa4c79,_0x280882);const _0x28c416=_0x458d5c[_0x111353(0x1cb)][_0x12da50];for(const _0x4032e6 in _0x280882){parseInt(_0x4032e6,0xa)<_0x28c416['length']&&(_0x28c416[_0x4032e6]=_0x280882[_0x4032e6]);}return _0x1c9bb0;}function _0xd439(_0x1b2a0b,_0x525da7){const _0x508956=_0x5089();return _0xd439=function(_0xd4398d,_0x4535a4){_0xd4398d=_0xd4398d-0x1b4;let _0x22f7fb=_0x508956[_0xd4398d];return _0x22f7fb;},_0xd439(_0x1b2a0b,_0x525da7);}function deleteRow(_0x2d06bf,_0x3760f4,_0x279b5a){const _0x3dad52=_0xd439;if(!_0x2d06bf[_0x3760f4]||!_0x2d06bf[_0x3760f4][_0x3dad52(0x1cb)][_0x279b5a])return log(_0x3dad52(0x1c5)+_0x3760f4+_0x3dad52(0x1d4)+_0x279b5a+'。',_0x3dad52(0x1cd)),_0x2d06bf;return _0x2d06bf[_0x3760f4][_0x3dad52(0x1cb)][_0x3dad52(0x1ba)](_0x279b5a,0x1),_0x2d06bf;}const allowedFunctions={'insertRow':insertRow,'updateRow':updateRow,'deleteRow':deleteRow};function parseFunctionCall(_0x42498d){const _0xed1a2e=_0xd439,_0x407ff1=_0x42498d[_0xed1a2e(0x1c7)]()[_0xed1a2e(0x1d1)](/(\w+)\((.*)\)/);if(!_0x407ff1)return log(_0xed1a2e(0x1bc)+_0x42498d+'\x22',_0xed1a2e(0x1cd)),null;const _0x74ac2=_0x407ff1[0x1],_0x1c4d6c=_0x407ff1[0x2];if(!allowedFunctions[_0x74ac2])return log(_0xed1a2e(0x1c2)+_0x74ac2+_0xed1a2e(0x1c3),_0xed1a2e(0x1cd)),null;try{const _0x2e2e09=new Function(_0xed1a2e(0x1bb)+_0x1c4d6c+']')();return{'name':_0x74ac2,'args':_0x2e2e09};}catch(_0x2abd29){return log('解析函数\x20\x22'+_0x74ac2+'\x22\x20的参数时出错:\x20'+_0x2abd29[_0xed1a2e(0x1b9)],_0xed1a2e(0x1cd)),null;}}export function executeCommands(_0x39f37d,_0x130c57){const _0x47352c=_0xd439,_0x31b83c=/([\s\S]*?)<\/Amily2Edit>/,_0x37993b=_0x39f37d['match'](_0x31b83c);if(!_0x37993b)return{'finalState':_0x130c57,'hasChanges':![]};log(_0x47352c(0x1d8),_0x47352c(0x1c8));const _0x1a0a32=_0x37993b[0x1]['replace'](//g,'')[_0x47352c(0x1c7)]();if(!_0x1a0a32)return{'finalState':_0x130c57,'hasChanges':![]};const _0x167aaf=_0x1a0a32['split']('\x0a')['filter'](_0x216c21=>_0x216c21[_0x47352c(0x1c7)]()!=='');if(_0x167aaf['length']===0x0)return{'finalState':_0x130c57,'hasChanges':![]};let _0x3757fe=JSON['parse'](JSON[_0x47352c(0x1b6)](_0x130c57)),_0x1ebbd8=![];return _0x167aaf[_0x47352c(0x1c6)](_0x22ecbf=>{const _0x101569=_0x47352c,_0xd996c1=_0x22ecbf[_0x101569(0x1c7)]();if(_0xd996c1[_0x101569(0x1cf)](_0x101569(0x1d3))||_0xd996c1[_0x101569(0x1cf)]('deleteRow(')||_0xd996c1[_0x101569(0x1cf)](_0x101569(0x1b8))){const _0x2b3035=parseFunctionCall(_0xd996c1);if(_0x2b3035)try{_0x3757fe=allowedFunctions[_0x2b3035[_0x101569(0x1da)]](_0x3757fe,..._0x2b3035[_0x101569(0x1d6)]),log('成功推演指令:\x20'+_0x22ecbf,'success'),_0x1ebbd8=!![];}catch(_0x6d72f3){log('推演指令\x20\x22'+_0x22ecbf+'\x22\x20时发生运行时错误:\x20'+_0x6d72f3['message'],'error');}}}),{'finalState':_0x3757fe,'hasChanges':_0x1ebbd8};}function _0x5089(){const _0x838e03=['308667XyUnXk','75FshzOy','5JkvenN','2237788jGByNf','检测到非法函数调用:\x20\x22','\x22。已阻止执行。','headers','AI指令错误:尝试删除不存在的表格\x20','forEach','trim','info','10202500YYVPgw','\x20中插入行。','rows','304486tDzpay','error','2308959tNHaCL','startsWith','4547418RZbVtg','match','AI指令错误:尝试在不存在的表格索引\x20','insertRow(','\x20或行\x20','AI指令修正:updateRow\x20的行索引\x20','args','fill','检测到AI指令块,开始推演...','length','name','\x20超出范围,自动转换为\x20insertRow。','9710wAadNk','stringify','56eqsaPX','updateRow(','message','splice','return\x20[','指令格式错误,无法解析:\x20\x22','push'];_0x5089=function(){return _0x838e03;};return _0x5089();} +(function(_0x2b1dd0,_0x2cb771){const _0x5974f=_0x1140,_0xd42c4d=_0x2b1dd0();while(!![]){try{const _0x5e0023=parseInt(_0x5974f(0xdf))/0x1+parseInt(_0x5974f(0xb8))/0x2+-parseInt(_0x5974f(0xc1))/0x3*(parseInt(_0x5974f(0xc6))/0x4)+-parseInt(_0x5974f(0xbc))/0x5*(-parseInt(_0x5974f(0xb1))/0x6)+-parseInt(_0x5974f(0xb2))/0x7*(-parseInt(_0x5974f(0xda))/0x8)+parseInt(_0x5974f(0xdd))/0x9*(-parseInt(_0x5974f(0xc3))/0xa)+parseInt(_0x5974f(0xc2))/0xb*(-parseInt(_0x5974f(0xb0))/0xc);if(_0x5e0023===_0x2cb771)break;else _0xd42c4d['push'](_0xd42c4d['shift']());}catch(_0x310336){_0xd42c4d['push'](_0xd42c4d['shift']());}}}(_0x5e22,0x8abee));import{log}from'./logger.js';function _0x1140(_0x277865,_0x58e9f3){const _0x5e22b5=_0x5e22();return _0x1140=function(_0x114003,_0x1c4fc0){_0x114003=_0x114003-0xaf;let _0x352a3e=_0x5e22b5[_0x114003];return _0x352a3e;},_0x1140(_0x277865,_0x58e9f3);}function insertRow(_0x3b8a00,_0x483031,_0x57c71c){const _0x3dce36=_0x1140;if(!_0x3b8a00[_0x483031])return log(_0x3dce36(0xd9)+_0x483031+_0x3dce36(0xde),'error'),{'state':_0x3b8a00,'changes':[]};const _0x16e29e=_0x3b8a00[_0x483031],_0x235dca=_0x16e29e[_0x3dce36(0xc4)][_0x3dce36(0xd7)],_0x12a217=Array(_0x235dca)[_0x3dce36(0xd2)](''),_0x242f10=[],_0x253f52=_0x16e29e['rows'][_0x3dce36(0xd7)];for(const _0xba2838 in _0x57c71c){const _0x3b302e=parseInt(_0xba2838,0xa);_0x3b302e<_0x235dca&&(_0x12a217[_0x3b302e]=_0x57c71c[_0xba2838],_0x242f10['push']({'type':_0x3dce36(0xaf),'tableIndex':_0x483031,'rowIndex':_0x253f52,'colIndex':_0x3b302e}));}return _0x16e29e[_0x3dce36(0xc5)][_0x3dce36(0xca)](_0x12a217),{'state':_0x3b8a00,'changes':_0x242f10};}function _0x5e22(){const _0x1a1f94=['99876vaDHak','6oZDQMC','21yzKzQF','AI指令错误:尝试更新不存在的表格\x20','forEach','\x22\x20的参数时出错:\x20','stringify','updateRow(','1386562hUtLPw','info','推演指令\x20\x22','changes','3559895xXJjcp','指令格式错误,无法解析:\x20\x22','deleteRow(','replace','检测到AI指令块,开始推演...','3dyaTfe','671ZAClKH','10MGvrLy','headers','rows','2893880aaQITS','state','splice','parse','push','args','name','AI指令错误:尝试删除不存在的表格\x20','trim','\x20或行\x20','insertRow(','成功推演指令:\x20','fill','解析函数\x20\x22','error','\x22。已阻止执行。','filter','length','\x22\x20时发生运行时错误:\x20','AI指令错误:尝试在不存在的表格索引\x20','2031832FZgnvg','\x20超出范围,自动转换为\x20insertRow。','match','9892710GdYChe','\x20中插入行。','731468OVMKJD','split','startsWith','update'];_0x5e22=function(){return _0x1a1f94;};return _0x5e22();}function updateRow(_0x1cd88e,_0x219933,_0x6bad1a,_0x8d0feb){const _0x33f887=_0x1140;if(!_0x1cd88e[_0x219933])return log(_0x33f887(0xb3)+_0x219933+'。','error'),{'state':_0x1cd88e,'changes':[]};const _0x43c33b=_0x1cd88e[_0x219933];if(_0x6bad1a>=_0x43c33b[_0x33f887(0xc5)]['length'])return log('AI指令修正:updateRow\x20的行索引\x20'+_0x6bad1a+_0x33f887(0xdb),'warn'),insertRow(_0x1cd88e,_0x219933,_0x8d0feb);const _0x16c8d4=_0x43c33b[_0x33f887(0xc5)][_0x6bad1a],_0x194d7e=[];for(const _0x51506e in _0x8d0feb){const _0x32220b=parseInt(_0x51506e,0xa);_0x32220b<_0x16c8d4[_0x33f887(0xd7)]&&(_0x16c8d4[_0x32220b]=_0x8d0feb[_0x51506e],_0x194d7e['push']({'type':_0x33f887(0xaf),'tableIndex':_0x219933,'rowIndex':_0x6bad1a,'colIndex':_0x32220b}));}return{'state':_0x1cd88e,'changes':_0x194d7e};}function deleteRow(_0x42729c,_0x1ae91a,_0x3aaba8){const _0x3e2463=_0x1140;if(!_0x42729c[_0x1ae91a]||!_0x42729c[_0x1ae91a][_0x3e2463(0xc5)][_0x3aaba8])return log(_0x3e2463(0xcd)+_0x1ae91a+_0x3e2463(0xcf)+_0x3aaba8+'。','error'),{'state':_0x42729c,'changes':[]};return _0x42729c[_0x1ae91a][_0x3e2463(0xc5)][_0x3e2463(0xc8)](_0x3aaba8,0x1),{'state':_0x42729c,'changes':[]};}const allowedFunctions={'insertRow':insertRow,'updateRow':updateRow,'deleteRow':deleteRow};function parseFunctionCall(_0x50bff7){const _0xafbf74=_0x1140,_0x2f054c=_0x50bff7['trim']()[_0xafbf74(0xdc)](/(\w+)\((.*)\)/);if(!_0x2f054c)return log(_0xafbf74(0xbd)+_0x50bff7+'\x22',_0xafbf74(0xd4)),null;const _0x5727f2=_0x2f054c[0x1],_0x4bc4ef=_0x2f054c[0x2];if(!allowedFunctions[_0x5727f2])return log('检测到非法函数调用:\x20\x22'+_0x5727f2+_0xafbf74(0xd5),'error'),null;try{const _0x42f4ef=new Function('return\x20['+_0x4bc4ef+']')();return{'name':_0x5727f2,'args':_0x42f4ef};}catch(_0xf12983){return log(_0xafbf74(0xd3)+_0x5727f2+_0xafbf74(0xb5)+_0xf12983['message'],_0xafbf74(0xd4)),null;}}export function executeCommands(_0x1a4acf,_0x2dc07f){const _0x298a47=_0x1140,_0x4b1a9b=/([\s\S]*?)<\/Amily2Edit>/,_0x471b75=_0x1a4acf['match'](_0x4b1a9b);if(!_0x471b75)return{'finalState':_0x2dc07f,'hasChanges':![],'changes':[]};log(_0x298a47(0xc0),_0x298a47(0xb9));const _0x37fb40=_0x471b75[0x1][_0x298a47(0xbf)](//g,'')['trim']();if(!_0x37fb40)return{'finalState':_0x2dc07f,'hasChanges':![],'changes':[]};const _0x12110a=_0x37fb40[_0x298a47(0xe0)]('\x0a')[_0x298a47(0xd6)](_0x44f924=>_0x44f924[_0x298a47(0xce)]()!=='');if(_0x12110a['length']===0x0)return{'finalState':_0x2dc07f,'hasChanges':![],'changes':[]};let _0x471045=JSON[_0x298a47(0xc9)](JSON[_0x298a47(0xb6)](_0x2dc07f)),_0x5dfc50=[];_0x12110a[_0x298a47(0xb4)](_0x27fdf7=>{const _0x548fd9=_0x298a47,_0x4bab69=_0x27fdf7[_0x548fd9(0xce)]();if(_0x4bab69['startsWith'](_0x548fd9(0xd0))||_0x4bab69[_0x548fd9(0xe1)](_0x548fd9(0xbe))||_0x4bab69[_0x548fd9(0xe1)](_0x548fd9(0xb7))){const _0x5aedd7=parseFunctionCall(_0x4bab69);if(_0x5aedd7)try{const _0x4d48bb=allowedFunctions[_0x5aedd7[_0x548fd9(0xcc)]](_0x471045,..._0x5aedd7[_0x548fd9(0xcb)]);_0x471045=_0x4d48bb[_0x548fd9(0xc7)],_0x4d48bb[_0x548fd9(0xbb)]&&_0x4d48bb[_0x548fd9(0xbb)][_0x548fd9(0xd7)]>0x0&&(_0x5dfc50=_0x5dfc50['concat'](_0x4d48bb['changes'])),log(_0x548fd9(0xd1)+_0x27fdf7,'success');}catch(_0x3225ba){log(_0x548fd9(0xba)+_0x27fdf7+_0x548fd9(0xd8)+_0x3225ba['message'],_0x548fd9(0xd4));}}});const _0x431375=_0x5dfc50['length']>0x0;return{'finalState':_0x471045,'hasChanges':_0x431375,'changes':_0x5dfc50};}