@wujie-shell/core 1.0.3 → 1.0.5
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/dist/bin/wujie-shell.mjs +1 -1
- package/dist/src/agents/bundled-agent-skills.mjs +1 -1
- package/dist/src/agents/bundled-agents.mjs +1 -1
- package/dist/src/agents/runtime-config.mjs +1 -1
- package/dist/src/chat/media-archive.mjs +1 -1
- package/dist/src/chat/queue.mjs +1 -1
- package/dist/src/common/cron-session-key.mjs +1 -1
- package/dist/src/common/diagnostics.mjs +1 -1
- package/dist/src/common/logging.mjs +1 -1
- package/dist/src/common/runtime-logger.mjs +1 -1
- package/dist/src/common/sqlite-paths.mjs +1 -1
- package/dist/src/common/user-events.mjs +1 -1
- package/dist/src/common/utils.mjs +1 -1
- package/dist/src/config/controller.mjs +1 -1
- package/dist/src/connectors/config-utils.mjs +1 -1
- package/dist/src/connectors/constants.mjs +1 -1
- package/dist/src/connectors/controller.mjs +1 -1
- package/dist/src/connectors/kdocs-cli.mjs +1 -1
- package/dist/src/connectors/lark-cli.mjs +1 -1
- package/dist/src/electron/main.mjs +1 -1
- package/dist/src/electron/preload.mjs +1 -1
- package/dist/src/electron/protocol-url-state.mjs +1 -1
- package/dist/src/events/domain-event-journal.mjs +1 -1
- package/dist/src/files/generated-files-store.mjs +1 -1
- package/dist/src/files/handlers.mjs +1 -1
- package/dist/src/gateway/chat-delta.mjs +1 -1
- package/dist/src/gateway/controller.mjs +1 -1
- package/dist/src/gateway/request-id-title-events.mjs +1 -1
- package/dist/src/gateway/ws-client.mjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/log-reporting/handlers.mjs +1 -1
- package/dist/src/log-reporting/report-logs.mjs +1 -1
- package/dist/src/models/handlers.mjs +1 -1
- package/dist/src/preferences/store.mjs +1 -1
- package/dist/src/request-id/handlers.mjs +1 -1
- package/dist/src/request-id/runtime-bridge.mjs +1 -1
- package/dist/src/request-id/session-store.mjs +1 -1
- package/dist/src/request-id/title.mjs +1 -1
- package/dist/src/runtime/cron-missed-run-policy.mjs +1 -1
- package/dist/src/runtime/index.mjs +1 -1
- package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
- package/dist/src/runtime/patch-chat-attachment-base64.mjs +1 -0
- package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
- package/dist/src/runtime/patch-provider-request-id-header.mjs +1 -1
- package/dist/src/runtime/patch-qqbot-outbound-session-route.mjs +1 -1
- package/dist/src/runtime/patch-request-id-title-runtime.mjs +1 -1
- package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
- package/dist/src/runtime/patch-weixin-outbound-session-route.mjs +1 -1
- package/dist/src/runtime/plugin-sync.mjs +1 -1
- package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
- package/dist/src/sessions/runtime-bridge.mjs +1 -1
- package/dist/src/sessions/session-data-service.mjs +1 -1
- package/dist/src/sessions/session-runtime-state-service.mjs +1 -1
- package/dist/src/sessions/session-runtime-state.mjs +1 -1
- package/dist/src/sessions/session-sqlite-store.mjs +1 -1
- package/dist/src/skills/import.mjs +1 -1
- package/dist/src/skills/market.mjs +1 -1
- package/dist/src/terminal/manager.mjs +1 -1
- package/dist/src/updates/controller.mjs +1 -1
- package/dist/src/updates/loader.mjs +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0xe4010a,_0x3c5ae9){const _0x265218=_0x3671,_0x5cd41b=_0xe4010a();while(!![]){try{const _0x41c25a=parseInt(_0x265218(0x1a8))/0x1+-parseInt(_0x265218(0x174))/0x2+parseInt(_0x265218(0x1f5))/0x3*(parseInt(_0x265218(0x1b0))/0x4)+parseInt(_0x265218(0x1a4))/0x5*(parseInt(_0x265218(0x17b))/0x6)+-parseInt(_0x265218(0x1bb))/0x7*(-parseInt(_0x265218(0x1a0))/0x8)+parseInt(_0x265218(0x1dc))/0x9*(parseInt(_0x265218(0x1b9))/0xa)+-parseInt(_0x265218(0x192))/0xb;if(_0x41c25a===_0x3c5ae9)break;else _0x5cd41b['push'](_0x5cd41b['shift']());}catch(_0xa45d30){_0x5cd41b['push'](_0x5cd41b['shift']());}}}(_0x2d87,0x745da));import{execFile}from'node:child_process';import{existsSync}from'node:fs';import{cp,mkdir,mkdtemp,readFile,readdir,rename,rm,writeFile}from'node:fs/promises';import{basename,dirname,join,parse}from'node:path';import{asRecord,dedupeStrings,getTrimmedString}from'../common/utils.mjs';function sanitizeManagedSkillDirSegment(_0x4d12f8){const _0x7faa13=_0x3671;let _0x453c37=getTrimmedString(_0x4d12f8)[_0x7faa13(0x1c4)](/[<>:"/\\|?*\u0000-\u001f]/g,'-');return _0x453c37=_0x453c37[_0x7faa13(0x1c4)](/-+/g,'-')['replace'](/^[-.]+|[-.]+$/g,''),_0x453c37['slice'](0x0,0x78);}function buildManagedSkillDirectoryName(_0x1f39d9,_0x56fb8c,_0x51e07d){const _0x28d1df=_0x3671,_0xb128c0=sanitizeManagedSkillDirSegment(_0x1f39d9)||sanitizeManagedSkillDirSegment(_0x51e07d)||'imported'+_0x28d1df(0x172),_0x23a069=sanitizeManagedSkillDirSegment(_0x56fb8c),_0x294584=_0x23a069?_0xb128c0+'-'+_0x23a069:_0xb128c0;return _0x294584[_0x28d1df(0x1df)](0x0,0xc8)||_0x28d1df(0x1a9)+_0x28d1df(0x172);}function extractVersionFromZipUrl(_0x3d59a2){const _0x17eed7=_0x3671;if(!getTrimmedString(_0x3d59a2))return null;try{const _0x1e5b71=basename(new URL(_0x3d59a2)[_0x17eed7(0x1e8)]),_0x5e0753=_0x1e5b71[_0x17eed7(0x1c4)](/\.zip$/i,'');return _0x5e0753[_0x17eed7(0x1ec)](/(?:^|[-_v])(\d+\.\d+\.\d+(?:[-+][\w.-]+)?)(?:$|[-_])/i)?.[0x1]??null;}catch{return null;}}async function extractZipToDirectory(_0x2e1c12,_0x186df9){await new Promise((_0x1c96ba,_0x4e78b0)=>{const _0x597f0e=_0x3671;let _0x167de7;if(process[_0x597f0e(0x1a6)]===_0x597f0e(0x1cb)){const _0x9ee01b=_0x2e1c12[_0x597f0e(0x1c4)](/'/g,'\x27\x27'),_0x43a3d8=_0x186df9['replace'](/'/g,'\x27\x27');_0x167de7=execFile(_0x597f0e(0x195)+'ll.exe',['-NoProfi'+'le',_0x597f0e(0x17e)+_0x597f0e(0x19e),'-Command',_0x597f0e(0x1c8)+_0x597f0e(0x1b7)+_0x597f0e(0x1ca)+'ath\x20\x27'+_0x9ee01b+('\x27\x20-Desti'+_0x597f0e(0x189)+'th\x20\x27')+_0x43a3d8+_0x597f0e(0x1ab)],_0x3c6f79=>_0x3c6f79?_0x4e78b0(_0x3c6f79):_0x1c96ba());}else _0x167de7=execFile(_0x597f0e(0x170),['-q',_0x2e1c12,'-d',_0x186df9],_0x5e2ef3=>_0x5e2ef3?_0x4e78b0(_0x5e2ef3):_0x1c96ba());_0x167de7['on'](_0x597f0e(0x1f6),_0x4e78b0);});}async function findSkillManifestDirectories(_0x1effd5){const _0x37d5d3=[];async function _0x51aeb8(_0x5a659c){const _0x42c248=_0x3671,_0x55be65=await readdir(_0x5a659c,{'withFileTypes':!![]}),_0x54f0cd=new Set(_0x55be65[_0x42c248(0x191)](_0x46c84f=>_0x46c84f[_0x42c248(0x1e5)][_0x42c248(0x1bf)+_0x42c248(0x19a)]()));if(_0x54f0cd[_0x42c248(0x1ef)](_0x42c248(0x18c))||_0x54f0cd[_0x42c248(0x1ef)]('SKILLS.M'+'D')){_0x37d5d3[_0x42c248(0x1e9)](_0x5a659c);return;}for(const _0x2451ae of _0x55be65){if(!_0x2451ae[_0x42c248(0x171)+_0x42c248(0x1a1)]()||_0x2451ae['name']===_0x42c248(0x1ad)||_0x2451ae[_0x42c248(0x1e5)][_0x42c248(0x1b1)+'th']('.'))continue;await _0x51aeb8(join(_0x5a659c,_0x2451ae[_0x42c248(0x1e5)]));}}return await _0x51aeb8(_0x1effd5),_0x37d5d3;}function _0x3671(_0x5802fd,_0x4aace0){_0x5802fd=_0x5802fd-0x16f;const _0x2d875b=_0x2d87();let _0x3671ec=_0x2d875b[_0x5802fd];return _0x3671ec;}async function normalizeImportedSkillManifest(_0x459aec){const _0x119fb0=_0x3671,_0x288b8e=join(_0x459aec,_0x119fb0(0x1ce)),_0x33f6ab=await readdir(_0x459aec,{'withFileTypes':!![]})['catch'](()=>[]);let _0x1ee147=null,_0x188b7b=null;for(const _0x175de7 of _0x33f6ab){if(!_0x175de7['isFile']())continue;const _0x6a442f=_0x175de7[_0x119fb0(0x1e5)][_0x119fb0(0x1bf)+_0x119fb0(0x19a)]();if(_0x6a442f===_0x119fb0(0x18c))_0x1ee147=_0x175de7[_0x119fb0(0x1e5)];else{if(_0x6a442f===_0x119fb0(0x1f8)+'D')_0x188b7b=_0x175de7[_0x119fb0(0x1e5)];}}if(_0x1ee147===_0x119fb0(0x1ce))return;const _0x4cd227=_0x1ee147??_0x188b7b;if(!_0x4cd227)return;const _0x2d15ad=join(_0x459aec,_0x4cd227);if(_0x2d15ad!==_0x288b8e)await rename(_0x2d15ad,_0x288b8e);}async function moveDirectoryWithOverwrite(_0x3ef153,_0x2974c6){const _0x41062a=_0x3671;await mkdir(dirname(_0x2974c6),{'recursive':!![]});try{await rename(_0x3ef153,_0x2974c6);return;}catch(_0x551bd7){if(_0x551bd7?.[_0x41062a(0x184)]!=='EXDEV')throw _0x551bd7;}await cp(_0x3ef153,_0x2974c6,{'recursive':!![],'force':!![]}),await rm(_0x3ef153,{'recursive':!![],'force':!![]});}async function readManifestText(_0x4c5cb3){const _0x4ac765=_0x3671,_0x44923e=[join(_0x4c5cb3,_0x4ac765(0x1ce)),join(_0x4c5cb3,_0x4ac765(0x1c2)+'d')][_0x4ac765(0x188)](_0x28ab18=>existsSync(_0x28ab18));if(!_0x44923e)return'';return await readFile(_0x44923e,'utf8')[_0x4ac765(0x197)](()=>'');}function _0x2d87(){const _0x2b0922=['keys','ill-down','powershe','arrayBuf','catch','skill\x20co','hasOwnPr','ase','ive','stringif','size','ractive','法删除','8Xkfoxr','ory','start','LS.md','1957215XlICho','getPath','platform','个\x20skill\x20','2637zEWpcU','imported','y\x20is\x20req','\x27\x20-Force','能导入一个','__MACOSX','trim','filter','28vrUjWN','startsWi','from','version','sured\x20wi','overwrit','技能目录\x22','rchive\x20-','位于自定义\x20sk','10QwTMoR','未找到该技能在磁','3806509NqfKDA','openFile','resolveS','nfig\x20ent','toUpperC','load','ZIP\x20中包含多','SKILLS.m','是否覆盖','replace','hout\x20gat','canceled','skillKey','Expand-A','onfig\x20en','LiteralP','win32','fig','目录,当前一次只','SKILL.md','isArray','prototyp','\x20SKILL.m','skills','tateDir','disabled','markConf','extracte','gatewayS','\x20添加成功','apiKey','showOpen','盘上的目录,可能','3612339onDrwl','teway\x20re','toString','slice','内置/扩展技能无','operty','Dialog','igWriteH','andledIn','name','Skill\x20ke','导入技能\x20ZIP','pathname','push','readConf','wujie-sk','match','filePath','ed-skill','has',':\x5cs*(.+)','length','enabled','boolean','always','171069iVkRzj','error','selected','SKILLS.M','temp','该技能不允许删除','env','unzip','isDirect','-skill','zipUrl','602844igNfdS','skills\x20c','bundled','extraDir','rt-','eway\x20res','ternally','12sxqHut','managed\x20','ZIP\x20中未找到','-NonInte','已取消导入','ZipPath','nfig\x20upd','\x22已存在,请确认','entries','code','\x20失败(HTTP','writeCon','tart','find','nationPa','oved\x20wit','-extra','SKILL.MD','ills\x20路径,','config','killKey','call','map','14869646fCPSaK'];_0x2d87=function(){return _0x2b0922;};return _0x2d87();}function resolveFrontmatterValue(_0x2587c5,_0x1c0c01){const _0x20aa7a=_0x3671,_0x234838=_0x2587c5[_0x20aa7a(0x1ec)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x5aec24=_0x234838?.[0x1]??'',_0x11c2f1=_0x5aec24[_0x20aa7a(0x1ec)](new RegExp('^\x5cs*'+_0x1c0c01+(_0x20aa7a(0x1f0)+'$'),'m'))?.[0x1];return getTrimmedString(_0x11c2f1)[_0x20aa7a(0x1c4)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x1037d3){const _0x3b18ce=_0x3671,_0x405a00=await readManifestText(_0x1037d3);if(!_0x405a00[_0x3b18ce(0x1ae)]())return null;const _0x267faa=_0x405a00[_0x3b18ce(0x1ec)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x267faa?.[0x1])return getTrimmedString(_0x267faa[0x1]);return resolveFrontmatterValue(_0x405a00,_0x3b18ce(0x1c7))||resolveFrontmatterValue(_0x405a00,_0x3b18ce(0x1e5));}async function resolveSkillVersionFromManifest(_0x574300){const _0x27abd1=_0x3671,_0x23ae89=await readManifestText(_0x574300);if(!_0x23ae89['trim']())return null;const _0x247c28=_0x23ae89['match'](/"version"\s*:\s*"([^"]+)"/);if(_0x247c28?.[0x1])return getTrimmedString(_0x247c28[0x1]);return resolveFrontmatterValue(_0x23ae89,_0x27abd1(0x1b3));}async function collectSkillDirsUnderRoot(_0x390467,_0x24c314,_0x4eebeb){const _0x21b2b0=_0x3671;if(!existsSync(_0x390467))return;for(const _0x1aa3c0 of await readdir(_0x390467,{'withFileTypes':!![]})[_0x21b2b0(0x197)](()=>[])){if(!_0x1aa3c0[_0x21b2b0(0x171)+_0x21b2b0(0x1a1)]())continue;const _0x2b70d2=join(_0x390467,_0x1aa3c0[_0x21b2b0(0x1e5)]),_0x24fe11=await resolveSkillKeyFromManifest(_0x2b70d2);if(_0x24fe11&&_0x24c314[_0x21b2b0(0x1ef)](_0x24fe11))_0x4eebeb['add'](_0x2b70d2);}}async function removeSkillConfigEntries(_0xac0b50,_0x39c5d4){const _0x5c4510=_0x3671,_0x3d8a40=new Set(_0x39c5d4[_0x5c4510(0x191)](getTrimmedString)[_0x5c4510(0x1af)](Boolean));if(_0x3d8a40[_0x5c4510(0x19d)]===0x0)return;const _0x59aecb=await _0xac0b50[_0x5c4510(0x1ea)+'ig']()[_0x5c4510(0x197)](()=>({})),_0x135cf2=asRecord(_0x59aecb[_0x5c4510(0x1d2)]),_0x78e7b8={...asRecord(_0x135cf2[_0x5c4510(0x183)])};let _0x745708=![];for(const _0x351d2c of _0x3d8a40){Object[_0x5c4510(0x1d0)+'e'][_0x5c4510(0x199)+'operty'][_0x5c4510(0x190)](_0x78e7b8,_0x351d2c)&&(delete _0x78e7b8[_0x351d2c],_0x745708=!![]);}if(!_0x745708)return;_0x135cf2[_0x5c4510(0x183)]=_0x78e7b8,_0x59aecb[_0x5c4510(0x1d2)]=_0x135cf2,_0xac0b50[_0x5c4510(0x1d5)+'igWriteH'+_0x5c4510(0x1e4)+_0x5c4510(0x17a)]?.(),await _0xac0b50['writeCon'+_0x5c4510(0x1cc)]?.(_0x59aecb,'skill\x20co'+_0x5c4510(0x1be)+'ries\x20rem'+_0x5c4510(0x18a)+_0x5c4510(0x1c5)+_0x5c4510(0x179)+_0x5c4510(0x187));}export async function deleteManagedSkill({payload:payload={},gateway:_0x39fdee,configController:_0x1887c4}){const _0x3bbdaa=_0x3671,_0x3c1931=asRecord(payload),_0x2090a8=getTrimmedString(_0x3c1931[_0x3bbdaa(0x1c7)]??_0x3c1931[_0x3bbdaa(0x1e5)]);if(!_0x2090a8)throw new Error(_0x3bbdaa(0x1e6)+_0x3bbdaa(0x1aa)+'uired');const _0x59b101=await _0x39fdee['skills']['status']()['catch'](()=>({'skills':[]})),_0x2e7b43=Array[_0x3bbdaa(0x1cf)](asRecord(_0x59b101)[_0x3bbdaa(0x1d2)])?asRecord(_0x59b101)['skills']:[],_0x576c60=_0x2e7b43['map'](asRecord)[_0x3bbdaa(0x188)](_0x3cd399=>{const _0x36f0c2=_0x3bbdaa;return getTrimmedString(_0x3cd399[_0x36f0c2(0x1c7)])===_0x2090a8||getTrimmedString(_0x3cd399[_0x36f0c2(0x1d7)+_0x36f0c2(0x18f)])===_0x2090a8||getTrimmedString(_0x3cd399[_0x36f0c2(0x1e5)])===_0x2090a8;});if(!_0x576c60)throw new Error('技能不存在或已移'+'除');if(_0x576c60[_0x3bbdaa(0x1f4)])throw new Error(_0x3bbdaa(0x1fa));if(_0x576c60[_0x3bbdaa(0x176)]||_0x576c60['source']==='openclaw'+'-bundled'||_0x576c60['source']==='openclaw'+_0x3bbdaa(0x18b))throw new Error(_0x3bbdaa(0x1e0)+_0x3bbdaa(0x19f));if(!_0x576c60[_0x3bbdaa(0x1d4)])throw new Error('请先关闭技能后再'+'删除');const _0x37ffa0=getTrimmedString(_0x576c60[_0x3bbdaa(0x1d7)+_0x3bbdaa(0x18f)])||_0x2090a8,_0x348129=new Set([_0x2090a8,_0x37ffa0,getTrimmedString(_0x576c60['name'])][_0x3bbdaa(0x1af)](Boolean)),_0x94bf6b=new Set([join(_0x1887c4[_0x3bbdaa(0x1bd)+_0x3bbdaa(0x1d3)](),_0x3bbdaa(0x1d2)),join(_0x1887c4[_0x3bbdaa(0x1bd)+_0x3bbdaa(0x1d3)](),'workspac'+'e','skills')]),_0x395b8b=new Set();for(const _0x11803d of _0x94bf6b)await collectSkillDirsUnderRoot(_0x11803d,_0x348129,_0x395b8b);if(_0x395b8b[_0x3bbdaa(0x19d)]===0x0)throw new Error(_0x3bbdaa(0x1ba)+_0x3bbdaa(0x1db)+_0x3bbdaa(0x1b8)+_0x3bbdaa(0x18d)+'请手动删除');for(const _0x352fee of _0x395b8b)await rm(_0x352fee,{'recursive':!![],'force':!![]});return await removeSkillConfigEntries(_0x1887c4,[..._0x348129]),{'ok':!![],'skillKey':_0x2090a8};}export async function updateManagedSkillConfig({payload:payload={},configController:_0x25ba92}){const _0x287bb0=_0x3671,_0x8b44ba=asRecord(payload),_0xf3b935=getTrimmedString(_0x8b44ba[_0x287bb0(0x1c7)]??_0x8b44ba[_0x287bb0(0x1e5)]);if(!_0xf3b935)throw new Error(_0x287bb0(0x1e6)+_0x287bb0(0x1aa)+'uired');const _0x3855f9=await _0x25ba92[_0x287bb0(0x1ea)+'ig']()[_0x287bb0(0x197)](()=>({})),_0x41ae25=asRecord(_0x3855f9[_0x287bb0(0x1d2)]),_0x289397={...asRecord(_0x41ae25['entries'])},_0x276c61=asRecord(_0x289397[_0xf3b935]),_0x1b552a={..._0x276c61};typeof _0x8b44ba[_0x287bb0(0x1f2)]===_0x287bb0(0x1f3)&&(_0x1b552a[_0x287bb0(0x1f2)]=_0x8b44ba[_0x287bb0(0x1f2)]);const _0x2fcdb9={...asRecord(_0x8b44ba[_0x287bb0(0x16f)])},_0x2c7d1b=getTrimmedString(_0x8b44ba[_0x287bb0(0x1d9)]);if(_0x2c7d1b)_0x2fcdb9[_0x287bb0(0x1d9)]=_0x2c7d1b;Object[_0x287bb0(0x193)](_0x2fcdb9)[_0x287bb0(0x1f1)]>0x0&&(_0x1b552a['env']={...asRecord(_0x276c61[_0x287bb0(0x16f)]),..._0x2fcdb9});const _0x5413cb=asRecord(_0x8b44ba[_0x287bb0(0x18e)]);return Object[_0x287bb0(0x193)](_0x5413cb)[_0x287bb0(0x1f1)]>0x0&&(_0x1b552a[_0x287bb0(0x18e)]={...asRecord(_0x276c61[_0x287bb0(0x18e)]),..._0x5413cb}),_0x289397[_0xf3b935]=_0x1b552a,_0x41ae25[_0x287bb0(0x183)]=_0x289397,_0x3855f9[_0x287bb0(0x1d2)]=_0x41ae25,_0x25ba92[_0x287bb0(0x1d5)+_0x287bb0(0x1e3)+'andledIn'+_0x287bb0(0x17a)]?.(),await _0x25ba92['writeCon'+'fig']?.(_0x3855f9,_0x287bb0(0x198)+_0x287bb0(0x181)+'ated\x20wit'+_0x287bb0(0x1c5)+_0x287bb0(0x179)+_0x287bb0(0x187)),{'ok':!![],'skillKey':_0xf3b935};}async function ensureManagedSkillsConfig(_0x3ae5c0,_0x595209=[]){const _0x4a7c17=_0x3671,_0x20eadc=await _0x3ae5c0[_0x4a7c17(0x1ea)+'ig']()['catch'](()=>({})),_0x2940aa=asRecord(_0x20eadc[_0x4a7c17(0x1d2)]),_0x110b99=asRecord(_0x2940aa[_0x4a7c17(0x1c0)]),_0x1c0b13=Array['isArray'](_0x110b99['extraDir'+'s'])?_0x110b99[_0x4a7c17(0x177)+'s']:[],_0x517df5=join(_0x3ae5c0[_0x4a7c17(0x1bd)+_0x4a7c17(0x1d3)](),_0x4a7c17(0x1d2)),_0x59f49b=dedupeStrings([..._0x1c0b13,_0x517df5]),_0x3c91b7={...asRecord(_0x2940aa[_0x4a7c17(0x183)])};let _0x32a267=JSON['stringif'+'y'](_0x1c0b13)!==JSON[_0x4a7c17(0x19c)+'y'](_0x59f49b);for(const _0x2ae100 of _0x595209[_0x4a7c17(0x191)](getTrimmedString)[_0x4a7c17(0x1af)](Boolean)){if(Object['prototyp'+'e'][_0x4a7c17(0x199)+_0x4a7c17(0x1e1)]['call'](_0x3c91b7,_0x2ae100))continue;_0x3c91b7[_0x2ae100]={'enabled':!![]},_0x32a267=!![];}if(!_0x32a267)return;_0x110b99[_0x4a7c17(0x177)+'s']=_0x59f49b,_0x2940aa['load']=_0x110b99,_0x2940aa['entries']=_0x3c91b7,_0x20eadc['skills']=_0x2940aa,_0x3ae5c0[_0x4a7c17(0x1d5)+'igWriteH'+_0x4a7c17(0x1e4)+_0x4a7c17(0x17a)]?.(),await _0x3ae5c0[_0x4a7c17(0x186)+_0x4a7c17(0x1cc)]?.(_0x20eadc,_0x4a7c17(0x17c)+_0x4a7c17(0x175)+_0x4a7c17(0x1c9)+_0x4a7c17(0x1b4)+'thout\x20ga'+_0x4a7c17(0x1dd)+_0x4a7c17(0x1a2));}export async function syncManagedSkillsToConfig(_0x5001d4){const _0x256aec=_0x3671,_0x10bc04=join(_0x5001d4['resolveS'+'tateDir'](),_0x256aec(0x1d2)),_0x3595e2=[];for(const _0x327095 of await readdir(_0x10bc04,{'withFileTypes':!![]})[_0x256aec(0x197)](()=>[])){if(!_0x327095[_0x256aec(0x171)+'ory']())continue;const _0x5861a9=await resolveSkillKeyFromManifest(join(_0x10bc04,_0x327095[_0x256aec(0x1e5)]));if(_0x5861a9)_0x3595e2[_0x256aec(0x1e9)](_0x5861a9);}return await ensureManagedSkillsConfig(_0x5001d4,_0x3595e2),{'skillKeys':_0x3595e2};}async function resolveZipPath({payload:_0xa15241,app:_0x17c9a1,dialog:_0x4d4156,dialogWindow:_0x222eba}){const _0x216d78=_0x3671,_0x42ae16=getTrimmedString(_0xa15241[_0x216d78(0x173)]);let _0x5bfe44=getTrimmedString(_0xa15241[_0x216d78(0x1f7)+_0x216d78(0x180)]),_0x24fcff=null;if(!_0x5bfe44&&_0x42ae16){const _0x133e91=new URL(_0x42ae16);_0x24fcff=await mkdtemp(join(_0x17c9a1['getPath'](_0x216d78(0x1f9)),_0x216d78(0x1eb)+_0x216d78(0x194)+'load-')),_0x5bfe44=join(_0x24fcff,basename(_0x133e91[_0x216d78(0x1e8)])||'download'+_0x216d78(0x1ee)+'.zip');const _0xd0ea45=await fetch(_0x133e91[_0x216d78(0x1de)]());if(!_0xd0ea45['ok'])throw new Error('下载技能\x20ZIP'+_0x216d78(0x185)+'\x20'+_0xd0ea45['status']+')');await writeFile(_0x5bfe44,Buffer[_0x216d78(0x1b2)](await _0xd0ea45[_0x216d78(0x196)+'fer']()));}if(!_0x5bfe44){const _0x1841be={'title':_0x216d78(0x1e7),'properties':[_0x216d78(0x1bc)],'filters':[{'name':'ZIP\x20Arch'+_0x216d78(0x19b),'extensions':['zip']}]},_0x3539f3=_0x222eba?await _0x4d4156['showOpen'+_0x216d78(0x1e2)](_0x222eba,_0x1841be):await _0x4d4156[_0x216d78(0x1da)+_0x216d78(0x1e2)](_0x1841be);if(_0x3539f3[_0x216d78(0x1c6)]||_0x3539f3[_0x216d78(0x1ed)+'s']['length']===0x0)return{'cancelled':!![],'zipPath':null,'downloadedZipDir':_0x24fcff};_0x5bfe44=_0x3539f3[_0x216d78(0x1ed)+'s'][0x0];}return{'cancelled':![],'zipPath':_0x5bfe44,'downloadedZipDir':_0x24fcff};}export async function importSkillZip({payload:payload={},app:_0x569206,dialog:_0x2da5bc,dialogWindow:_0x553a10,configController:_0x288d8a}){const _0x4dc1db=_0x3671,_0x3b7fd4=asRecord(payload),_0x3f32c0=getTrimmedString(_0x3b7fd4[_0x4dc1db(0x173)]),{cancelled:_0x574845,zipPath:_0xb1865c,downloadedZipDir:_0x21231f}=await resolveZipPath({'payload':_0x3b7fd4,'app':_0x569206,'dialog':_0x2da5bc,'dialogWindow':_0x553a10});if(_0x574845)return{'cancelled':!![],'imported':![],'overwritten':![],'skillDirName':null,'selectedZipPath':null,'zipUrl':_0x3f32c0||null,'message':_0x4dc1db(0x17f)};const _0x5be637=await mkdtemp(join(_0x569206[_0x4dc1db(0x1a5)](_0x4dc1db(0x1f9)),_0x4dc1db(0x1eb)+'ill-impo'+_0x4dc1db(0x178))),_0x40d2d9=join(_0x5be637,_0x4dc1db(0x1d6)+'d');try{await mkdir(_0x40d2d9,{'recursive':!![]}),await extractZipToDirectory(_0xb1865c,_0x40d2d9);const _0x2bbca3=await findSkillManifestDirectories(_0x40d2d9);if(_0x2bbca3[_0x4dc1db(0x1f1)]===0x0)throw new Error(_0x4dc1db(0x17d)+_0x4dc1db(0x1d1)+'d\x20或\x20SKIL'+_0x4dc1db(0x1a3));if(_0x2bbca3[_0x4dc1db(0x1f1)]>0x1)throw new Error(_0x4dc1db(0x1c1)+_0x4dc1db(0x1a7)+_0x4dc1db(0x1cd)+_0x4dc1db(0x1ac));const _0x1bcb70=_0x2bbca3[0x0];await normalizeImportedSkillManifest(_0x1bcb70);const _0x172a3c=basename(_0x1bcb70),_0x3a53bd=parse(_0xb1865c)[_0x4dc1db(0x1e5)][_0x4dc1db(0x1ae)]()||_0x4dc1db(0x1a9)+_0x4dc1db(0x172),_0x410523=_0x172a3c===_0x4dc1db(0x1d6)+'d'?_0x3a53bd:_0x172a3c,_0x7e0733=await resolveSkillKeyFromManifest(_0x1bcb70)??_0x410523,_0x174bcf=await resolveSkillVersionFromManifest(_0x1bcb70)??(getTrimmedString(_0x3b7fd4['version'])||extractVersionFromZipUrl(_0x3f32c0)),_0x5edbaf=buildManagedSkillDirectoryName(_0x7e0733,_0x174bcf,_0x410523),_0xe2823b=join(_0x288d8a[_0x4dc1db(0x1bd)+_0x4dc1db(0x1d3)](),_0x4dc1db(0x1d2)),_0x4c1dfb=join(_0xe2823b,_0x5edbaf);if(existsSync(_0x4c1dfb)){if(_0x3b7fd4[_0x4dc1db(0x1b5)+'e']!==!![])return{'cancelled':![],'imported':![],'overwritten':![],'needConfirmOverwrite':!![],'skillDirName':_0x5edbaf,'overwriteTargetPath':_0x4c1dfb,'selectedZipPath':_0xb1865c,'zipUrl':_0x3f32c0||null,'message':_0x4dc1db(0x1b6)+_0x5edbaf+(_0x4dc1db(0x182)+_0x4dc1db(0x1c3))};await rm(_0x4c1dfb,{'recursive':!![],'force':!![]});}let _0x28c74d=_0x1bcb70;return _0x172a3c===_0x4dc1db(0x1d6)+'d'&&(_0x28c74d=join(_0x5be637,_0x5edbaf),await rename(_0x1bcb70,_0x28c74d)),await moveDirectoryWithOverwrite(_0x28c74d,_0x4c1dfb),await ensureManagedSkillsConfig(_0x288d8a,[_0x7e0733]),{'cancelled':![],'imported':!![],'overwritten':_0x3b7fd4[_0x4dc1db(0x1b5)+'e']===!![],'skillKey':_0x7e0733,'manifestKey':_0x7e0733,'skillDirName':_0x5edbaf,'targetPath':_0x4c1dfb,'selectedZipPath':_0xb1865c,'zipUrl':_0x3f32c0||null,'message':_0x5edbaf+_0x4dc1db(0x1d8)};}finally{await rm(_0x5be637,{'recursive':!![],'force':!![]});if(_0x21231f)await rm(_0x21231f,{'recursive':!![],'force':!![]});}}
|
|
1
|
+
(function(_0x3680f2,_0x13b5de){const _0x36c48d=_0x53c2,_0x263fae=_0x3680f2();while(!![]){try{const _0xcd5fc3=-parseInt(_0x36c48d(0x221))/0x1+-parseInt(_0x36c48d(0x1e2))/0x2+-parseInt(_0x36c48d(0x218))/0x3+parseInt(_0x36c48d(0x1bd))/0x4*(parseInt(_0x36c48d(0x20b))/0x5)+-parseInt(_0x36c48d(0x1c6))/0x6*(-parseInt(_0x36c48d(0x1d2))/0x7)+parseInt(_0x36c48d(0x1df))/0x8*(parseInt(_0x36c48d(0x1d7))/0x9)+-parseInt(_0x36c48d(0x1f6))/0xa;if(_0xcd5fc3===_0x13b5de)break;else _0x263fae['push'](_0x263fae['shift']());}catch(_0x341dec){_0x263fae['push'](_0x263fae['shift']());}}}(_0x58cf,0x3612a));import{execFile}from'node:child_process';import{existsSync}from'node:fs';import{cp,mkdir,mkdtemp,readFile,readdir,rename,rm,writeFile}from'node:fs/promises';import{basename,dirname,join,parse}from'node:path';function _0x53c2(_0x58884c,_0x14374c){_0x58884c=_0x58884c-0x1a9;const _0x58cfc1=_0x58cf();let _0x53c239=_0x58cfc1[_0x58884c];return _0x53c239;}import{asRecord,dedupeStrings,getTrimmedString}from'../common/utils.mjs';function sanitizeManagedSkillDirSegment(_0x181de4){const _0x335922=_0x53c2;let _0x2a2ba4=getTrimmedString(_0x181de4)[_0x335922(0x215)](/[<>:"/\\|?*\u0000-\u001f]/g,'-');return _0x2a2ba4=_0x2a2ba4['replace'](/-+/g,'-')[_0x335922(0x215)](/^[-.]+|[-.]+$/g,''),_0x2a2ba4['slice'](0x0,0x78);}function buildManagedSkillDirectoryName(_0x1f72eb,_0x4e6775,_0x4a9e5f){const _0x15b5df=_0x53c2,_0x2f5091=sanitizeManagedSkillDirSegment(_0x1f72eb)||sanitizeManagedSkillDirSegment(_0x4a9e5f)||_0x15b5df(0x1d3)+'-skill',_0x6e486e=sanitizeManagedSkillDirSegment(_0x4e6775),_0x4961d7=_0x6e486e?_0x2f5091+'-'+_0x6e486e:_0x2f5091;return _0x4961d7['slice'](0x0,0xc8)||'imported'+_0x15b5df(0x1ea);}function extractVersionFromZipUrl(_0x153ffa){const _0x393a57=_0x53c2;if(!getTrimmedString(_0x153ffa))return null;try{const _0x280e1d=basename(new URL(_0x153ffa)[_0x393a57(0x22a)]),_0x356cb9=_0x280e1d[_0x393a57(0x215)](/\.zip$/i,'');return _0x356cb9[_0x393a57(0x1e0)](/(?:^|[-_v])(\d+\.\d+\.\d+(?:[-+][\w.-]+)?)(?:$|[-_])/i)?.[0x1]??null;}catch{return null;}}async function extractZipToDirectory(_0x166b3a,_0x5b0377){await new Promise((_0x4c6d3f,_0x3e9873)=>{const _0x358907=_0x53c2;let _0x5d900a;if(process['platform']===_0x358907(0x20a)){const _0x202ab7=_0x166b3a[_0x358907(0x215)](/'/g,'\x27\x27'),_0x3a6f47=_0x5b0377[_0x358907(0x215)](/'/g,'\x27\x27');_0x5d900a=execFile('powershe'+_0x358907(0x22e),[_0x358907(0x238)+'le',_0x358907(0x231)+'ractive',_0x358907(0x20e),'Expand-A'+_0x358907(0x203)+_0x358907(0x1e4)+_0x358907(0x1f9)+_0x202ab7+(_0x358907(0x1ac)+'nationPa'+_0x358907(0x1c2))+_0x3a6f47+_0x358907(0x216)],_0xc86c27=>_0xc86c27?_0x3e9873(_0xc86c27):_0x4c6d3f());}else _0x5d900a=execFile(_0x358907(0x20c),['-q',_0x166b3a,'-d',_0x5b0377],_0x144902=>_0x144902?_0x3e9873(_0x144902):_0x4c6d3f());_0x5d900a['on'](_0x358907(0x217),_0x3e9873);});}async function findSkillManifestDirectories(_0x56d8b3){const _0x57aed4=[];async function _0x1fd3a6(_0x4eb67e){const _0xfafb1d=_0x53c2,_0x146b05=await readdir(_0x4eb67e,{'withFileTypes':!![]}),_0x4e5f44=new Set(_0x146b05[_0xfafb1d(0x1fe)](_0x39bc71=>_0x39bc71[_0xfafb1d(0x20d)]['toUpperC'+_0xfafb1d(0x1ff)]()));if(_0x4e5f44['has'](_0xfafb1d(0x1fb))||_0x4e5f44[_0xfafb1d(0x206)](_0xfafb1d(0x1cf)+'D')){_0x57aed4[_0xfafb1d(0x210)](_0x4eb67e);return;}for(const _0x460f1e of _0x146b05){if(!_0x460f1e[_0xfafb1d(0x1d9)+_0xfafb1d(0x225)]()||_0x460f1e['name']===_0xfafb1d(0x1b5)||_0x460f1e[_0xfafb1d(0x20d)]['startsWi'+'th']('.'))continue;await _0x1fd3a6(join(_0x4eb67e,_0x460f1e[_0xfafb1d(0x20d)]));}}return await _0x1fd3a6(_0x56d8b3),_0x57aed4;}async function normalizeImportedSkillManifest(_0x5c1178){const _0x564130=_0x53c2,_0x364bc6=join(_0x5c1178,_0x564130(0x1c8)),_0x164911=await readdir(_0x5c1178,{'withFileTypes':!![]})[_0x564130(0x1c5)](()=>[]);let _0x80576f=null,_0x266486=null;for(const _0x564631 of _0x164911){if(!_0x564631[_0x564130(0x237)]())continue;const _0x299925=_0x564631[_0x564130(0x20d)][_0x564130(0x1d4)+_0x564130(0x1ff)]();if(_0x299925===_0x564130(0x1fb))_0x80576f=_0x564631[_0x564130(0x20d)];else{if(_0x299925===_0x564130(0x1cf)+'D')_0x266486=_0x564631[_0x564130(0x20d)];}}if(_0x80576f===_0x564130(0x1c8))return;const _0x4fd5c9=_0x80576f??_0x266486;if(!_0x4fd5c9)return;const _0x5b42d8=join(_0x5c1178,_0x4fd5c9);if(_0x5b42d8!==_0x364bc6)await rename(_0x5b42d8,_0x364bc6);}async function moveDirectoryWithOverwrite(_0x53bec9,_0x2d8719){const _0x1a7645=_0x53c2;await mkdir(dirname(_0x2d8719),{'recursive':!![]});try{await rename(_0x53bec9,_0x2d8719);return;}catch(_0x1a87db){if(_0x1a87db?.[_0x1a7645(0x1a9)]!==_0x1a7645(0x228))throw _0x1a87db;}await cp(_0x53bec9,_0x2d8719,{'recursive':!![],'force':!![]}),await rm(_0x53bec9,{'recursive':!![],'force':!![]});}async function readManifestText(_0x561276){const _0x38e1d6=_0x53c2,_0x6883f6=[join(_0x561276,_0x38e1d6(0x1c8)),join(_0x561276,_0x38e1d6(0x21d)+'d')][_0x38e1d6(0x1be)](_0x3d5947=>existsSync(_0x3d5947));if(!_0x6883f6)return'';return await readFile(_0x6883f6,_0x38e1d6(0x1fd))[_0x38e1d6(0x1c5)](()=>'');}function resolveFrontmatterValue(_0x5be005,_0x17c786){const _0xad6efb=_0x53c2,_0x137cc7=_0x5be005[_0xad6efb(0x1e0)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x4036c7=_0x137cc7?.[0x1]??'',_0x489f5a=_0x4036c7['match'](new RegExp('^\x5cs*'+_0x17c786+(_0xad6efb(0x1cd)+'$'),'m'))?.[0x1];return getTrimmedString(_0x489f5a)[_0xad6efb(0x215)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x1bb6ee){const _0x348c93=_0x53c2,_0x6326ea=await readManifestText(_0x1bb6ee);if(!_0x6326ea[_0x348c93(0x1c4)]())return null;const _0x799653=_0x6326ea[_0x348c93(0x1e0)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x799653?.[0x1])return getTrimmedString(_0x799653[0x1]);return resolveFrontmatterValue(_0x6326ea,_0x348c93(0x1f2))||resolveFrontmatterValue(_0x6326ea,_0x348c93(0x20d));}async function resolveSkillVersionFromManifest(_0x16ba84){const _0x564e48=_0x53c2,_0x501dc2=await readManifestText(_0x16ba84);if(!_0x501dc2[_0x564e48(0x1c4)]())return null;const _0x11a1fb=_0x501dc2[_0x564e48(0x1e0)](/"version"\s*:\s*"([^"]+)"/);if(_0x11a1fb?.[0x1])return getTrimmedString(_0x11a1fb[0x1]);return resolveFrontmatterValue(_0x501dc2,_0x564e48(0x22d));}async function collectSkillDirsUnderRoot(_0x2982c2,_0x4b2d78,_0x7ead3f){const _0x3d3add=_0x53c2;if(!existsSync(_0x2982c2))return;for(const _0x49307d of await readdir(_0x2982c2,{'withFileTypes':!![]})[_0x3d3add(0x1c5)](()=>[])){if(!_0x49307d['isDirect'+_0x3d3add(0x225)]())continue;const _0x1bee34=join(_0x2982c2,_0x49307d['name']),_0x5f3019=await resolveSkillKeyFromManifest(_0x1bee34);if(_0x5f3019&&_0x4b2d78['has'](_0x5f3019))_0x7ead3f[_0x3d3add(0x22b)](_0x1bee34);}}function _0x58cf(){const _0x102eb5=['replace','\x27\x20-Force','error','360858zuaoBa','oved\x20wit','boolean','位于自定义\x20sk','ill-impo','SKILLS.m','wujie-sk','能导入一个','download','335705QDptdC','source','nfig\x20upd','arrayBuf','ory','ill-down','ZipPath','EXDEV','writeCon','pathname','add','ills\x20路径,','version','ll.exe','zipUrl','该技能不允许删除','-NonInte','法删除','thout\x20ga','技能不存在或已移','stringif','start','isFile','-NoProfi','code','\x20失败(HTTP','hout\x20gat','\x27\x20-Desti','config','\x20SKILL.m','getPath','盘上的目录,可能','call','fer','enabled','filter','__MACOSX','workspac','ive','isArray','ries\x20rem','-extra','entries','fig','32TKxsfm','find','env','length','openFile','th\x20\x27','keys','trim','catch','774906NJiTny','killKey','SKILL.md','uired','ZIP\x20Arch','d\x20或\x20SKIL','\x22已存在,请确认',':\x5cs*(.+)','tateDir','SKILLS.M','rt-','ZIP\x20中包含多','14ftWkRj','imported','toUpperC','.zip','skills','3157551JuGTtJ','LS.md','isDirect','apiKey','目录,当前一次只','openclaw','load-','gatewayS','8OnPBhy','match','igWriteH','452128XIRGNs','teway\x20re','LiteralP','Dialog','ZIP\x20中未找到','load','未找到该技能在磁','readConf','-skill','extracte','prototyp','overwrit','\x20添加成功','markConf','resolveS','showOpen','skillKey','hasOwnPr','Skill\x20ke','zip','1252520GcNkwz','y\x20is\x20req','sured\x20wi','ath\x20\x27','disabled','SKILL.MD','size','utf8','map','ase','个\x20skill\x20','extraDir','eway\x20res','rchive\x20-','temp','tart','has','andledIn','ed-skill','operty','win32','262280ypqQku','unzip','name','-Command','是否覆盖','push','status','ternally','下载技能\x20ZIP','always'];_0x58cf=function(){return _0x102eb5;};return _0x58cf();}async function removeSkillConfigEntries(_0x559590,_0x49adbf){const _0x51ffcf=_0x53c2,_0x3be842=new Set(_0x49adbf['map'](getTrimmedString)[_0x51ffcf(0x1b4)](Boolean));if(_0x3be842[_0x51ffcf(0x1fc)]===0x0)return;const _0x2306cb=await _0x559590[_0x51ffcf(0x1e9)+'ig']()[_0x51ffcf(0x1c5)](()=>({})),_0x413021=asRecord(_0x2306cb[_0x51ffcf(0x1d6)]),_0x265d57={...asRecord(_0x413021[_0x51ffcf(0x1bb)])};let _0x24c420=![];for(const _0x216dbd of _0x3be842){Object[_0x51ffcf(0x1ec)+'e'][_0x51ffcf(0x1f3)+'operty'][_0x51ffcf(0x1b1)](_0x265d57,_0x216dbd)&&(delete _0x265d57[_0x216dbd],_0x24c420=!![]);}if(!_0x24c420)return;_0x413021[_0x51ffcf(0x1bb)]=_0x265d57,_0x2306cb['skills']=_0x413021,_0x559590[_0x51ffcf(0x1ef)+_0x51ffcf(0x1e1)+_0x51ffcf(0x207)+_0x51ffcf(0x212)]?.(),await _0x559590[_0x51ffcf(0x229)+_0x51ffcf(0x1bc)]?.(_0x2306cb,'skill\x20co'+'nfig\x20ent'+_0x51ffcf(0x1b9)+_0x51ffcf(0x219)+_0x51ffcf(0x1ab)+_0x51ffcf(0x202)+_0x51ffcf(0x205));}export async function deleteManagedSkill({payload:payload={},gateway:_0x62bc27,configController:_0x47eb8e}){const _0x55cea8=_0x53c2,_0x45bd33=asRecord(payload),_0x523ea0=getTrimmedString(_0x45bd33[_0x55cea8(0x1f2)]??_0x45bd33[_0x55cea8(0x20d)]);if(!_0x523ea0)throw new Error('Skill\x20ke'+_0x55cea8(0x1f7)+_0x55cea8(0x1c9));const _0x1152b2=await _0x62bc27['skills'][_0x55cea8(0x211)]()[_0x55cea8(0x1c5)](()=>({'skills':[]})),_0x29c26b=Array[_0x55cea8(0x1b8)](asRecord(_0x1152b2)[_0x55cea8(0x1d6)])?asRecord(_0x1152b2)[_0x55cea8(0x1d6)]:[],_0x5719e9=_0x29c26b[_0x55cea8(0x1fe)](asRecord)[_0x55cea8(0x1be)](_0x11eda4=>{const _0x12f33f=_0x55cea8;return getTrimmedString(_0x11eda4[_0x12f33f(0x1f2)])===_0x523ea0||getTrimmedString(_0x11eda4[_0x12f33f(0x1de)+_0x12f33f(0x1c7)])===_0x523ea0||getTrimmedString(_0x11eda4[_0x12f33f(0x20d)])===_0x523ea0;});if(!_0x5719e9)throw new Error(_0x55cea8(0x234)+'除');if(_0x5719e9[_0x55cea8(0x214)])throw new Error(_0x55cea8(0x230));if(_0x5719e9['bundled']||_0x5719e9[_0x55cea8(0x222)]===_0x55cea8(0x1dc)+'-bundled'||_0x5719e9[_0x55cea8(0x222)]===_0x55cea8(0x1dc)+_0x55cea8(0x1ba))throw new Error('内置/扩展技能无'+_0x55cea8(0x232));if(!_0x5719e9[_0x55cea8(0x1fa)])throw new Error('请先关闭技能后再'+'删除');const _0x131fc5=getTrimmedString(_0x5719e9[_0x55cea8(0x1de)+_0x55cea8(0x1c7)])||_0x523ea0,_0x4cd3a4=new Set([_0x523ea0,_0x131fc5,getTrimmedString(_0x5719e9[_0x55cea8(0x20d)])][_0x55cea8(0x1b4)](Boolean)),_0x599bc7=new Set([join(_0x47eb8e[_0x55cea8(0x1f0)+_0x55cea8(0x1ce)](),_0x55cea8(0x1d6)),join(_0x47eb8e[_0x55cea8(0x1f0)+'tateDir'](),_0x55cea8(0x1b6)+'e',_0x55cea8(0x1d6))]),_0x5e20c3=new Set();for(const _0x2d7c8c of _0x599bc7)await collectSkillDirsUnderRoot(_0x2d7c8c,_0x4cd3a4,_0x5e20c3);if(_0x5e20c3[_0x55cea8(0x1fc)]===0x0)throw new Error(_0x55cea8(0x1e8)+_0x55cea8(0x1b0)+_0x55cea8(0x21b)+_0x55cea8(0x22c)+'请手动删除');for(const _0x4e4b17 of _0x5e20c3)await rm(_0x4e4b17,{'recursive':!![],'force':!![]});return await removeSkillConfigEntries(_0x47eb8e,[..._0x4cd3a4]),{'ok':!![],'skillKey':_0x523ea0};}export async function updateManagedSkillConfig({payload:payload={},configController:_0x6b4b89}){const _0x5d0297=_0x53c2,_0x3ad69a=asRecord(payload),_0x3dd39e=getTrimmedString(_0x3ad69a[_0x5d0297(0x1f2)]??_0x3ad69a[_0x5d0297(0x20d)]);if(!_0x3dd39e)throw new Error(_0x5d0297(0x1f4)+_0x5d0297(0x1f7)+_0x5d0297(0x1c9));const _0x116229=await _0x6b4b89['readConf'+'ig']()[_0x5d0297(0x1c5)](()=>({})),_0x33e88b=asRecord(_0x116229[_0x5d0297(0x1d6)]),_0x13847d={...asRecord(_0x33e88b[_0x5d0297(0x1bb)])},_0x374d47=asRecord(_0x13847d[_0x3dd39e]),_0x5750c4={..._0x374d47};typeof _0x3ad69a[_0x5d0297(0x1b3)]===_0x5d0297(0x21a)&&(_0x5750c4[_0x5d0297(0x1b3)]=_0x3ad69a[_0x5d0297(0x1b3)]);const _0x57301c={...asRecord(_0x3ad69a[_0x5d0297(0x1bf)])},_0x111581=getTrimmedString(_0x3ad69a[_0x5d0297(0x1da)]);if(_0x111581)_0x57301c[_0x5d0297(0x1da)]=_0x111581;Object[_0x5d0297(0x1c3)](_0x57301c)['length']>0x0&&(_0x5750c4[_0x5d0297(0x1bf)]={...asRecord(_0x374d47[_0x5d0297(0x1bf)]),..._0x57301c});const _0x1e0881=asRecord(_0x3ad69a[_0x5d0297(0x1ad)]);return Object[_0x5d0297(0x1c3)](_0x1e0881)[_0x5d0297(0x1c0)]>0x0&&(_0x5750c4['config']={...asRecord(_0x374d47[_0x5d0297(0x1ad)]),..._0x1e0881}),_0x13847d[_0x3dd39e]=_0x5750c4,_0x33e88b[_0x5d0297(0x1bb)]=_0x13847d,_0x116229[_0x5d0297(0x1d6)]=_0x33e88b,_0x6b4b89[_0x5d0297(0x1ef)+'igWriteH'+_0x5d0297(0x207)+'ternally']?.(),await _0x6b4b89['writeCon'+_0x5d0297(0x1bc)]?.(_0x116229,'skill\x20co'+_0x5d0297(0x223)+'ated\x20wit'+_0x5d0297(0x1ab)+_0x5d0297(0x202)+_0x5d0297(0x205)),{'ok':!![],'skillKey':_0x3dd39e};}async function ensureManagedSkillsConfig(_0x3d2d89,_0x508d90=[]){const _0x537a59=_0x53c2,_0x5a7f99=await _0x3d2d89[_0x537a59(0x1e9)+'ig']()[_0x537a59(0x1c5)](()=>({})),_0x58cfa9=asRecord(_0x5a7f99['skills']),_0x347356=asRecord(_0x58cfa9[_0x537a59(0x1e7)]),_0x24d9d4=Array[_0x537a59(0x1b8)](_0x347356[_0x537a59(0x201)+'s'])?_0x347356[_0x537a59(0x201)+'s']:[],_0xa45b0e=join(_0x3d2d89['resolveS'+_0x537a59(0x1ce)](),'skills'),_0x2b7160=dedupeStrings([..._0x24d9d4,_0xa45b0e]),_0x23d80f={...asRecord(_0x58cfa9[_0x537a59(0x1bb)])};let _0x4d0ff1=JSON[_0x537a59(0x235)+'y'](_0x24d9d4)!==JSON[_0x537a59(0x235)+'y'](_0x2b7160);for(const _0x2a6cfb of _0x508d90[_0x537a59(0x1fe)](getTrimmedString)[_0x537a59(0x1b4)](Boolean)){if(Object[_0x537a59(0x1ec)+'e'][_0x537a59(0x1f3)+_0x537a59(0x209)][_0x537a59(0x1b1)](_0x23d80f,_0x2a6cfb))continue;_0x23d80f[_0x2a6cfb]={'enabled':!![]},_0x4d0ff1=!![];}if(!_0x4d0ff1)return;_0x347356[_0x537a59(0x201)+'s']=_0x2b7160,_0x58cfa9[_0x537a59(0x1e7)]=_0x347356,_0x58cfa9[_0x537a59(0x1bb)]=_0x23d80f,_0x5a7f99[_0x537a59(0x1d6)]=_0x58cfa9,_0x3d2d89[_0x537a59(0x1ef)+_0x537a59(0x1e1)+_0x537a59(0x207)+_0x537a59(0x212)]?.(),await _0x3d2d89[_0x537a59(0x229)+_0x537a59(0x1bc)]?.(_0x5a7f99,'managed\x20'+'skills\x20c'+'onfig\x20en'+_0x537a59(0x1f8)+_0x537a59(0x233)+_0x537a59(0x1e3)+_0x537a59(0x236));}export async function syncManagedSkillsToConfig(_0x2e159a){const _0x4b15ce=_0x53c2,_0x540857=join(_0x2e159a[_0x4b15ce(0x1f0)+_0x4b15ce(0x1ce)](),_0x4b15ce(0x1d6)),_0x3d0b3f=[];for(const _0x1a7c25 of await readdir(_0x540857,{'withFileTypes':!![]})[_0x4b15ce(0x1c5)](()=>[])){if(!_0x1a7c25[_0x4b15ce(0x1d9)+'ory']())continue;const _0x366f87=await resolveSkillKeyFromManifest(join(_0x540857,_0x1a7c25[_0x4b15ce(0x20d)]));if(_0x366f87)_0x3d0b3f[_0x4b15ce(0x210)](_0x366f87);}return await ensureManagedSkillsConfig(_0x2e159a,_0x3d0b3f),{'skillKeys':_0x3d0b3f};}async function resolveZipPath({payload:_0x2295dd,app:_0x45a301,dialog:_0xebb5e0,dialogWindow:_0x279f0a}){const _0x2a5bbc=_0x53c2,_0x3203aa=getTrimmedString(_0x2295dd['zipUrl']);let _0x54a2ee=getTrimmedString(_0x2295dd['selected'+_0x2a5bbc(0x227)]),_0x199069=null;if(!_0x54a2ee&&_0x3203aa){const _0x59d9da=new URL(_0x3203aa);_0x199069=await mkdtemp(join(_0x45a301[_0x2a5bbc(0x1af)](_0x2a5bbc(0x204)),_0x2a5bbc(0x21e)+_0x2a5bbc(0x226)+_0x2a5bbc(0x1dd))),_0x54a2ee=join(_0x199069,basename(_0x59d9da['pathname'])||_0x2a5bbc(0x220)+_0x2a5bbc(0x208)+_0x2a5bbc(0x1d5));const _0x21fd92=await fetch(_0x59d9da['toString']());if(!_0x21fd92['ok'])throw new Error(_0x2a5bbc(0x213)+_0x2a5bbc(0x1aa)+'\x20'+_0x21fd92['status']+')');await writeFile(_0x54a2ee,Buffer['from'](await _0x21fd92[_0x2a5bbc(0x224)+_0x2a5bbc(0x1b2)]()));}if(!_0x54a2ee){const _0x91a85={'title':'导入技能\x20ZIP','properties':[_0x2a5bbc(0x1c1)],'filters':[{'name':_0x2a5bbc(0x1ca)+_0x2a5bbc(0x1b7),'extensions':[_0x2a5bbc(0x1f5)]}]},_0x582b1f=_0x279f0a?await _0xebb5e0[_0x2a5bbc(0x1f1)+_0x2a5bbc(0x1e5)](_0x279f0a,_0x91a85):await _0xebb5e0[_0x2a5bbc(0x1f1)+'Dialog'](_0x91a85);if(_0x582b1f['canceled']||_0x582b1f['filePath'+'s'][_0x2a5bbc(0x1c0)]===0x0)return{'cancelled':!![],'zipPath':null,'downloadedZipDir':_0x199069};_0x54a2ee=_0x582b1f['filePath'+'s'][0x0];}return{'cancelled':![],'zipPath':_0x54a2ee,'downloadedZipDir':_0x199069};}export async function importSkillZip({payload:payload={},app:_0x3adfc6,dialog:_0x35b310,dialogWindow:_0x3436f6,configController:_0x8528e6}){const _0x4f8162=_0x53c2,_0x3b45c5=asRecord(payload),_0x3174e8=getTrimmedString(_0x3b45c5[_0x4f8162(0x22f)]),{cancelled:_0x357116,zipPath:_0x27318f,downloadedZipDir:_0x3016dc}=await resolveZipPath({'payload':_0x3b45c5,'app':_0x3adfc6,'dialog':_0x35b310,'dialogWindow':_0x3436f6});if(_0x357116)return{'cancelled':!![],'imported':![],'overwritten':![],'skillDirName':null,'selectedZipPath':null,'zipUrl':_0x3174e8||null,'message':'已取消导入'};const _0xda0add=await mkdtemp(join(_0x3adfc6[_0x4f8162(0x1af)]('temp'),'wujie-sk'+_0x4f8162(0x21c)+_0x4f8162(0x1d0))),_0x410e5e=join(_0xda0add,_0x4f8162(0x1eb)+'d');try{await mkdir(_0x410e5e,{'recursive':!![]}),await extractZipToDirectory(_0x27318f,_0x410e5e);const _0x30037f=await findSkillManifestDirectories(_0x410e5e);if(_0x30037f[_0x4f8162(0x1c0)]===0x0)throw new Error(_0x4f8162(0x1e6)+_0x4f8162(0x1ae)+_0x4f8162(0x1cb)+_0x4f8162(0x1d8));if(_0x30037f['length']>0x1)throw new Error(_0x4f8162(0x1d1)+_0x4f8162(0x200)+_0x4f8162(0x1db)+_0x4f8162(0x21f));const _0x4d31e3=_0x30037f[0x0];await normalizeImportedSkillManifest(_0x4d31e3);const _0x15b511=basename(_0x4d31e3),_0x11c809=parse(_0x27318f)[_0x4f8162(0x20d)][_0x4f8162(0x1c4)]()||_0x4f8162(0x1d3)+_0x4f8162(0x1ea),_0x545db5=_0x15b511===_0x4f8162(0x1eb)+'d'?_0x11c809:_0x15b511,_0x44cd83=await resolveSkillKeyFromManifest(_0x4d31e3)??_0x545db5,_0xa629c=await resolveSkillVersionFromManifest(_0x4d31e3)??(getTrimmedString(_0x3b45c5[_0x4f8162(0x22d)])||extractVersionFromZipUrl(_0x3174e8)),_0xe065eb=buildManagedSkillDirectoryName(_0x44cd83,_0xa629c,_0x545db5),_0x1aada0=join(_0x8528e6['resolveS'+'tateDir'](),_0x4f8162(0x1d6)),_0x913627=join(_0x1aada0,_0xe065eb);if(existsSync(_0x913627)){if(_0x3b45c5['overwrit'+'e']!==!![])return{'cancelled':![],'imported':![],'overwritten':![],'needConfirmOverwrite':!![],'skillDirName':_0xe065eb,'overwriteTargetPath':_0x913627,'selectedZipPath':_0x27318f,'zipUrl':_0x3174e8||null,'message':'技能目录\x22'+_0xe065eb+(_0x4f8162(0x1cc)+_0x4f8162(0x20f))};await rm(_0x913627,{'recursive':!![],'force':!![]});}let _0x29415c=_0x4d31e3;return _0x15b511===_0x4f8162(0x1eb)+'d'&&(_0x29415c=join(_0xda0add,_0xe065eb),await rename(_0x4d31e3,_0x29415c)),await moveDirectoryWithOverwrite(_0x29415c,_0x913627),await ensureManagedSkillsConfig(_0x8528e6,[_0x44cd83]),{'cancelled':![],'imported':!![],'overwritten':_0x3b45c5[_0x4f8162(0x1ed)+'e']===!![],'skillKey':_0x44cd83,'manifestKey':_0x44cd83,'skillDirName':_0xe065eb,'targetPath':_0x913627,'selectedZipPath':_0x27318f,'zipUrl':_0x3174e8||null,'message':_0xe065eb+_0x4f8162(0x1ee)};}finally{await rm(_0xda0add,{'recursive':!![],'force':!![]});if(_0x3016dc)await rm(_0x3016dc,{'recursive':!![],'force':!![]});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x117a3d=_0x6acc;(function(_0x21d473,_0x1c85d6){const _0x1ef4f9=_0x6acc,_0x1c357e=_0x21d473();while(!![]){try{const _0x292f9d=parseInt(_0x1ef4f9(0xbf))/0x1*(-parseInt(_0x1ef4f9(0x9c))/0x2)+-parseInt(_0x1ef4f9(0xb0))/0x3*(parseInt(_0x1ef4f9(0x92))/0x4)+-parseInt(_0x1ef4f9(0xbb))/0x5+parseInt(_0x1ef4f9(0xac))/0x6*(parseInt(_0x1ef4f9(0xb8))/0x7)+parseInt(_0x1ef4f9(0x9f))/0x8*(-parseInt(_0x1ef4f9(0xa4))/0x9)+parseInt(_0x1ef4f9(0xbe))/0xa+parseInt(_0x1ef4f9(0x97))/0xb;if(_0x292f9d===_0x1c85d6)break;else _0x1c357e['push'](_0x1c357e['shift']());}catch(_0x15ea59){_0x1c357e['push'](_0x1c357e['shift']());}}}(_0x4714,0x3027f));import{readFile,readdir,rm}from'node:fs/promises';import{join}from'node:path';import{asRecord,getTrimmedString,writeJson}from'../common/utils.mjs';const SKILL_SOURCE_MARKET=_0x117a3d(0xaf)+'ket';async function readMarketSkillRegistry(_0x22aa70){const _0x5c295e=_0x117a3d;try{const _0x4fdac9=JSON['parse'](await readFile(_0x22aa70,'utf8'));if(!_0x4fdac9||typeof _0x4fdac9!==_0x5c295e(0xba)||Array['isArray'](_0x4fdac9))return{};return _0x4fdac9;}catch{return{};}}export async function readSkillMarketRegistry(_0x4b4cba){const _0x163644=_0x117a3d;return await readMarketSkillRegistry(join(_0x4b4cba,_0x163644(0xae)+_0x163644(0xb2)+'on'));}async function upsertMarketSkillRegistryEntry(_0x306a5f,_0x3edfd5,_0x3ae196,_0x388c7c,_0x2b3f14={}){const _0x59518b=_0x117a3d,_0x54df5b=getTrimmedString(_0x3edfd5),_0x52b8cf=getTrimmedString(_0x3ae196),_0x46cee3=getTrimmedString(_0x388c7c);if(!_0x54df5b||!_0x52b8cf||!_0x46cee3)return;const _0x3116ab=await readMarketSkillRegistry(_0x306a5f);_0x3116ab[_0x54df5b]={'version':_0x46cee3,'code':_0x52b8cf,...getTrimmedString(_0x2b3f14[_0x59518b(0xc7)])?{'name':getTrimmedString(_0x2b3f14[_0x59518b(0xc7)])}:{},...getTrimmedString(_0x2b3f14[_0x59518b(0xb1)])?{'logo_url':getTrimmedString(_0x2b3f14[_0x59518b(0xb1)])}:{},...getTrimmedString(_0x2b3f14[_0x59518b(0x98)+'ion'])?{'description':getTrimmedString(_0x2b3f14[_0x59518b(0x98)+_0x59518b(0xa6)])}:{}};if(_0x3116ab[_0x52b8cf]&&_0x52b8cf!==_0x54df5b)delete _0x3116ab[_0x52b8cf];for(const [_0x591ad9,_0x2d4183]of Object[_0x59518b(0x93)](_0x3116ab)){if(_0x591ad9!==_0x54df5b&&asRecord(_0x2d4183)[_0x59518b(0xa0)]===_0x52b8cf)delete _0x3116ab[_0x591ad9];}const _0x2c2ca5=Object['fromEntr'+_0x59518b(0xa3)](Object[_0x59518b(0x93)](_0x3116ab)[_0x59518b(0x94)](([_0x4c6c1e],[_0x12b0dd])=>_0x4c6c1e[_0x59518b(0xb6)+_0x59518b(0x8f)](_0x12b0dd)));await writeJson(_0x306a5f,_0x2c2ca5);}async function removeMarketSkillRegistryKeys(_0x52cac4,_0x531ba2){const _0x450b29=_0x117a3d,_0x247930=new Set(_0x531ba2[_0x450b29(0x9a)](getTrimmedString)['filter'](Boolean));if(_0x247930['size']===0x0)return;const _0x162f05=await readMarketSkillRegistry(_0x52cac4);let _0x4f824f=![];for(const _0xf9defc of Object[_0x450b29(0xa1)](_0x162f05)){const _0xbd2614=asRecord(_0x162f05[_0xf9defc]);(_0x247930[_0x450b29(0x91)](_0xf9defc)||_0x247930[_0x450b29(0x91)](getTrimmedString(_0xbd2614[_0x450b29(0xa0)])))&&(delete _0x162f05[_0xf9defc],_0x4f824f=!![]);}if(_0x4f824f){const _0x3c1b2d=Object[_0x450b29(0xc5)+_0x450b29(0xa3)](Object[_0x450b29(0x93)](_0x162f05)[_0x450b29(0x94)](([_0x2ecab1],[_0xf7195d])=>_0x2ecab1[_0x450b29(0xb6)+_0x450b29(0x8f)](_0xf7195d)));await writeJson(_0x52cac4,_0x3c1b2d);}}async function readSkillManifestText(_0x3337b5){const _0xb4e626=_0x117a3d,_0x13a91d=[join(_0x3337b5,_0xb4e626(0xab)),join(_0x3337b5,_0xb4e626(0x9b)+'d')];for(const _0x5a7e71 of _0x13a91d){const _0x3524c6=await readFile(_0x5a7e71,_0xb4e626(0xc2))['catch'](()=>'');if(_0x3524c6[_0xb4e626(0xc0)]())return _0x3524c6;}return'';}function resolveFrontmatterValue(_0x5ecdda,_0x7b50b6){const _0xdeeb57=_0x117a3d,_0x18ad28=_0x5ecdda[_0xdeeb57(0xc4)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0xebaf37=_0x18ad28?.[0x1]??'',_0x31a991=_0xebaf37[_0xdeeb57(0xc4)](new RegExp(_0xdeeb57(0x99)+_0x7b50b6+(_0xdeeb57(0xb3)+'$'),'m'))?.[0x1];return getTrimmedString(_0x31a991)[_0xdeeb57(0xa5)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x3a6afd){const _0x15b50a=_0x117a3d,_0x5ab641=await readSkillManifestText(_0x3a6afd);if(!_0x5ab641[_0x15b50a(0xc0)]())return null;const _0x14555c=_0x5ab641['match'](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x14555c?.[0x1])return getTrimmedString(_0x14555c[0x1]);return resolveFrontmatterValue(_0x5ab641,_0x15b50a(0xb9))||resolveFrontmatterValue(_0x5ab641,_0x15b50a(0xc7));}async function removeOtherMarketSkillVersions(_0x56211c,_0x239221,_0x52d40c){const _0x27ab67=_0x117a3d,_0x438c5b=getTrimmedString(_0x52d40c);if(!_0x438c5b)return;for(const _0x1a2f72 of await readdir(_0x56211c,{'withFileTypes':!![]})['catch'](()=>[])){if(!_0x1a2f72['isDirect'+_0x27ab67(0x9e)]())continue;const _0x3b7fe5=join(_0x56211c,_0x1a2f72['name']);if(_0x3b7fe5===_0x239221)continue;const _0x504130=await resolveSkillKeyFromManifest(_0x3b7fe5);_0x504130&&_0x504130[_0x27ab67(0xc0)]()===_0x438c5b&&await rm(_0x3b7fe5,{'recursive':!![],'force':!![]});}}function _0x4714(){const _0x30063a=['market-s','aipc-mar','69fVrepE','logoUrl','kills.js',':\x5cs*(.+)','技能商店安装需要','接口返回的\x20na','localeCo','imported','931HWcMvp','skillKey','object','940895nJxRRv','catch','接口返回的\x20co','3862600kNakmm','1zwxTwI','trim','killKey','utf8','version','match','fromEntr','resolveS','name','skills','mpare','logo_url','has','54852dhNcjJ','entries','sort','market','rsion','1704021kAOQBO','descript','^\x5cs*','map','SKILLS.m','29534AIKWvK','source','ory','32hzeKMy','code','keys','Name','ies','409842FTCNjS','replace','ion','targetPa','length','tateDir','isArray','SKILL.md','16086WfWVSJ','skillDir'];_0x4714=function(){return _0x30063a;};return _0x4714();}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x2694b2,configController:_0x23b4c7}={}){const _0x140e5c=_0x117a3d,_0x42cf13=asRecord(payload);if(_0x42cf13[_0x140e5c(0x9d)]!==_0x140e5c(0x95))return _0x2694b2({'payload':payload});const _0x1bd76a=getTrimmedString(_0x42cf13[_0x140e5c(0xa0)]),_0x35b82d=getTrimmedString(_0x42cf13['version']),_0x2a314a=getTrimmedString(_0x42cf13[_0x140e5c(0xc7)]);if(!_0x1bd76a)throw new Error(_0x140e5c(0xb4)+_0x140e5c(0xbd)+'de');if(!_0x35b82d)throw new Error(_0x140e5c(0xb4)+'接口返回的\x20ve'+_0x140e5c(0x96));if(!_0x2a314a)throw new Error('技能商店安装需要'+_0x140e5c(0xb5)+'me');const _0x3bf009=await _0x2694b2({'payload':{..._0x42cf13,'version':_0x35b82d}});if(!_0x3bf009?.[_0x140e5c(0xb7)])return _0x3bf009;const _0x3c71fa=getTrimmedString(_0x3bf009[_0x140e5c(0xb9)])||getTrimmedString(_0x3bf009['manifest'+'Key'])||getTrimmedString(_0x3bf009[_0x140e5c(0xad)+_0x140e5c(0xa2)]);return await removeOtherMarketSkillVersions(join(_0x23b4c7[_0x140e5c(0xc6)+_0x140e5c(0xa9)](),'skills'),_0x3bf009[_0x140e5c(0xa7)+'th'],_0x3c71fa),await upsertMarketSkillRegistryEntry(join(_0x23b4c7['resolveS'+'tateDir'](),_0x140e5c(0xae)+_0x140e5c(0xb2)+'on'),_0x3c71fa,_0x1bd76a,_0x35b82d,{'name':_0x2a314a,'logoUrl':getTrimmedString(_0x42cf13[_0x140e5c(0xb1)]),'description':getTrimmedString(_0x42cf13[_0x140e5c(0x98)+'ion'])}),_0x3bf009;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x57c7af,configController:_0x209ee4}={}){const _0x164668=_0x117a3d,_0x394c82=await _0x57c7af({'payload':payload}),_0x366873=asRecord(payload),_0x4d8823=getTrimmedString(_0x394c82?.[_0x164668(0xb9)]??_0x366873[_0x164668(0xb9)]??_0x366873[_0x164668(0xc7)]),_0x57298a=[_0x4d8823,getTrimmedString(_0x366873['gatewayS'+_0x164668(0xc1)]),getTrimmedString(_0x366873['name'])];return await removeMarketSkillRegistryKeys(join(_0x209ee4[_0x164668(0xc6)+_0x164668(0xa9)](),_0x164668(0xae)+_0x164668(0xb2)+'on'),_0x57298a),_0x394c82;}function _0x6acc(_0x3a9083,_0x451213){_0x3a9083=_0x3a9083-0x8f;const _0x47147f=_0x4714();let _0x6acc72=_0x47147f[_0x3a9083];return _0x6acc72;}export function mapMarketRegisteredSkills(_0x288dbf,_0x39e113){const _0x21d6fe=_0x117a3d,_0x5d52b6=Array[_0x21d6fe(0xaa)](asRecord(_0x288dbf)['skills'])?asRecord(_0x288dbf)[_0x21d6fe(0xc8)]:[];if(_0x5d52b6[_0x21d6fe(0xa8)]===0x0||Object[_0x21d6fe(0xa1)](_0x39e113)[_0x21d6fe(0xa8)]===0x0)return _0x288dbf;const _0x40676f=_0x5d52b6[_0x21d6fe(0x9a)](_0x453e53=>{const _0x347ada=_0x21d6fe,_0x50240a=asRecord(_0x453e53),_0x2f98f9=getTrimmedString(_0x50240a[_0x347ada(0xb9)])||getTrimmedString(_0x50240a['name']);let _0x3cfe5e=_0x2f98f9,_0x46b3fa=asRecord(_0x39e113[_0x2f98f9]);if(!Object['keys'](_0x46b3fa)[_0x347ada(0xa8)])for(const [_0x483f96,_0x4379d7]of Object[_0x347ada(0x93)](_0x39e113)){const _0x9e55a3=asRecord(_0x4379d7);if(getTrimmedString(_0x9e55a3[_0x347ada(0xa0)])===_0x2f98f9){_0x3cfe5e=_0x483f96,_0x46b3fa=_0x9e55a3;break;}}if(!Object[_0x347ada(0xa1)](_0x46b3fa)['length'])return _0x453e53;const _0x5c8d9f=getTrimmedString(_0x46b3fa[_0x347ada(0xa0)]),_0x441535=getTrimmedString(_0x46b3fa['name']),_0x58950d=getTrimmedString(_0x46b3fa[_0x347ada(0x98)+'ion']),_0x249430=getTrimmedString(_0x46b3fa[_0x347ada(0x90)]),_0x58c60c=getTrimmedString(_0x46b3fa[_0x347ada(0xc3)]);return{..._0x50240a,'source':SKILL_SOURCE_MARKET,'skillKey':_0x5c8d9f||_0x2f98f9,'gatewaySkillKey':_0x5c8d9f?_0x3cfe5e:null,'marketInstalledVersion':_0x58c60c||null,..._0x441535?{'cnName':_0x441535}:{},..._0x58950d?{'description':_0x58950d}:{},..._0x249430?{'logoUrl':_0x249430}:{}};});return{...asRecord(_0x288dbf),'skills':_0x40676f};}export function createMarketSkillRuntime({configController:_0x308446}){return{'mapSkillsStatus':async _0x514fa9=>{const _0x5ad0d4=_0x6acc,_0x7c7851=await readSkillMarketRegistry(_0x308446[_0x5ad0d4(0xc6)+_0x5ad0d4(0xa9)]())[_0x5ad0d4(0xbc)](()=>({}));return mapMarketRegisteredSkills(_0x514fa9,_0x7c7851);}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xf3b49f,_0x349170){const _0x4b7e49=_0x182a,_0x2c7407=_0xf3b49f();while(!![]){try{const _0x3eccef=-parseInt(_0x4b7e49(0x117))/0x1+-parseInt(_0x4b7e49(0x122))/0x2+parseInt(_0x4b7e49(0x14d))/0x3+-parseInt(_0x4b7e49(0x124))/0x4*(-parseInt(_0x4b7e49(0x121))/0x5)+parseInt(_0x4b7e49(0x111))/0x6*(-parseInt(_0x4b7e49(0x130))/0x7)+-parseInt(_0x4b7e49(0x12e))/0x8*(-parseInt(_0x4b7e49(0x12f))/0x9)+parseInt(_0x4b7e49(0x147))/0xa;if(_0x3eccef===_0x349170)break;else _0x2c7407['push'](_0x2c7407['shift']());}catch(_0x2155a2){_0x2c7407['push'](_0x2c7407['shift']());}}}(_0x6f92,0xde846));import{spawn}from'node:child_process';function _0x6f92(){const _0x3ac9d7=['13503344FjhsWz','9XgBZtt','7WtDonn','clear','filter','win32','darwin','trim','stderr','cmd','powershe','n/zsh','al/bin/z','kill','Terminal','write','dows\x20she','.bat','X_OK','stdin','delete','ase','pwsh','6color','child','20068610gxfupI','ebrew/bi','.cmd','/bin/bas','test','No\x20suppo','3263163uMcTjP','/opt/hom','/usr/loc','al/bin/b','stdout','get','toString','10452930UGnhQL','close','env','toLowerC','xterm-25','values','1569268wCHxFO','cwd','\x20session','--login','-NoLogo','ll\x20found','/bin/zsh','rted\x20Win','n/bash','split','123995tZUEsN','1218490MISPpv','data','8IJBjpV','bash','includes','.exe','path','platform','keys','find','sessionI','F_OK'];_0x6f92=function(){return _0x3ac9d7;};return _0x6f92();}import{randomUUID}from'node:crypto';import{accessSync,constants,existsSync}from'node:fs';import{mkdir}from'node:fs/promises';import{basename,delimiter,join}from'node:path';function _0x182a(_0x47010a,_0x12e0bc){_0x47010a=_0x47010a-0x10c;const _0x6f922f=_0x6f92();let _0x182aea=_0x6f922f[_0x47010a];return _0x182aea;}const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0x99be6d){const _0x4e4406=_0x182a,_0x146e68=Object[_0x4e4406(0x12a)](_0x99be6d)['find'](_0xabde16=>_0xabde16[_0x4e4406(0x114)+_0x4e4406(0x143)]()===_0x4e4406(0x128))??'PATH';return String(_0x99be6d[_0x146e68]||'')[_0x4e4406(0x120)](delimiter)[_0x4e4406(0x132)](Boolean);}function canExecute(_0x2eac14){const _0x4c2bc5=_0x182a;try{return accessSync(_0x2eac14,process[_0x4c2bc5(0x129)]===_0x4c2bc5(0x133)?constants[_0x4c2bc5(0x12d)]:constants[_0x4c2bc5(0x140)]),!![];}catch{return![];}}function resolveExecutableOnPath(_0x50f01f,_0x300758){const _0x2c1114=_0x182a,_0x5c2271=String(_0x50f01f||'')[_0x2c1114(0x135)]();if(!_0x5c2271)return null;if(_0x5c2271[_0x2c1114(0x126)]('/')||_0x5c2271[_0x2c1114(0x126)]('\x5c'))return existsSync(_0x5c2271)?_0x5c2271:null;const _0x2de4a5=[_0x5c2271];process['platform']==='win32'&&!FILE_EXTENSION_REGEX[_0x2c1114(0x14b)](_0x5c2271)&&_0x2de4a5['push'](_0x5c2271+_0x2c1114(0x127),_0x5c2271+_0x2c1114(0x149),_0x5c2271+_0x2c1114(0x13f));for(const _0x13da90 of resolvePathEntries(_0x300758)){for(const _0x475b05 of _0x2de4a5){const _0x35672f=join(_0x13da90,_0x475b05);if(canExecute(_0x35672f))return _0x35672f;}}return null;}function resolveShellLaunchConfig(_0x1ab0b1){const _0x16597d=_0x182a;if(process[_0x16597d(0x129)]===_0x16597d(0x133)){const _0x5387b4=resolveExecutableOnPath(_0x16597d(0x144),_0x1ab0b1)??resolveExecutableOnPath(_0x16597d(0x138)+'ll',_0x1ab0b1);if(_0x5387b4)return{'command':_0x5387b4,'args':[_0x16597d(0x11b)]};const _0x2d708b=resolveExecutableOnPath(_0x16597d(0x137),_0x1ab0b1);if(_0x2d708b)return{'command':_0x2d708b,'args':['/Q']};throw new Error(_0x16597d(0x14c)+_0x16597d(0x11e)+_0x16597d(0x13e)+_0x16597d(0x11c));}if(process[_0x16597d(0x129)]===_0x16597d(0x134)){const _0x1e022d=[_0x16597d(0x11d),_0x16597d(0x10c)+_0x16597d(0x13a)+'sh',_0x16597d(0x14e)+_0x16597d(0x148)+_0x16597d(0x139)]['find'](canExecute);if(_0x1e022d)return{'command':_0x1e022d,'args':['-i']};const _0x35525b=[_0x16597d(0x14a)+'h',_0x16597d(0x10c)+_0x16597d(0x10d)+'ash',_0x16597d(0x14e)+_0x16597d(0x148)+_0x16597d(0x11f)][_0x16597d(0x12b)](canExecute);if(_0x35525b)return{'command':_0x35525b,'args':[_0x16597d(0x11a),'-i']};}const _0x1cc92f=resolveExecutableOnPath(process.env.SHELL||'',_0x1ab0b1)??resolveExecutableOnPath(_0x16597d(0x125),_0x1ab0b1)??resolveExecutableOnPath('sh',_0x1ab0b1);if(!_0x1cc92f)throw new Error(_0x16597d(0x14c)+'rted\x20she'+_0x16597d(0x11c));return{'command':_0x1cc92f,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x5a8b8d,emitData:_0x27cbbf,emitExit:_0x3a40ce}){const _0x504fb9=new Map();function _0x5539da(_0x49cf53){const _0x3d5c5b=_0x182a,_0x1de173=_0x504fb9[_0x3d5c5b(0x10f)](_0x49cf53);if(!_0x1de173)throw new Error(_0x3d5c5b(0x13c)+_0x3d5c5b(0x119)+'\x20not\x20fou'+'nd');return _0x1de173;}async function _0x5e5aac(_0x3f46f1={}){const _0x507c0d=_0x182a,_0x28ba81={...process.env,'TERM':_0x507c0d(0x115)+_0x507c0d(0x145),'COLORTERM':'truecolo'+'r',..._0x3f46f1[_0x507c0d(0x113)]&&typeof _0x3f46f1['env']==='object'?_0x3f46f1[_0x507c0d(0x113)]:{}},_0x1ca8a2=typeof _0x3f46f1[_0x507c0d(0x118)]==='string'&&_0x3f46f1[_0x507c0d(0x118)][_0x507c0d(0x135)]()?_0x3f46f1[_0x507c0d(0x118)]:'',_0x1b3306=_0x1ca8a2||_0x5a8b8d;await mkdir(_0x1b3306,{'recursive':!![]});const {command:_0x457ed8,args:_0x4a04c6}=resolveShellLaunchConfig(_0x28ba81),_0x21c73b=randomUUID(),_0x3b350f=spawn(_0x457ed8,_0x4a04c6,{'cwd':_0x1b3306,'env':_0x28ba81,'stdio':'pipe'});return _0x504fb9['set'](_0x21c73b,{'sessionId':_0x21c73b,'child':_0x3b350f}),_0x3b350f[_0x507c0d(0x10e)]['on'](_0x507c0d(0x123),_0x51cffa=>_0x27cbbf({'sessionId':_0x21c73b,'data':_0x51cffa[_0x507c0d(0x110)]()})),_0x3b350f[_0x507c0d(0x136)]['on'](_0x507c0d(0x123),_0x24b186=>_0x27cbbf({'sessionId':_0x21c73b,'data':_0x24b186['toString']()})),_0x3b350f['on'](_0x507c0d(0x112),(_0x2f193d,_0xb4b376)=>{const _0x4ced56=_0x507c0d;_0x504fb9[_0x4ced56(0x142)](_0x21c73b),_0x3a40ce({'sessionId':_0x21c73b,'exitCode':_0x2f193d,'signal':_0xb4b376});}),_0x3b350f['on']('error',_0x39da64=>{_0x27cbbf({'sessionId':_0x21c73b,'data':_0x39da64['message']+'\x0a'});}),{'sessionId':_0x21c73b,'shell':basename(_0x457ed8),'cwd':_0x1b3306};}function _0x329684(_0x3dc130={}){const _0x196d64=_0x182a,_0x2a0dc8=_0x5539da(String(_0x3dc130['sessionI'+'d']||''));return _0x2a0dc8[_0x196d64(0x146)][_0x196d64(0x141)][_0x196d64(0x13d)](String(_0x3dc130[_0x196d64(0x123)]||'')),{'ok':!![]};}function _0x3d715d(_0x370701={}){const _0x5aa35e=_0x182a,_0x56f972=String(_0x370701[_0x5aa35e(0x12c)+'d']||'');return _0x5539da(_0x56f972),{'ok':!![],'ignored':!![]};}function _0x2fc060(_0x237426={}){const _0x4a4bea=_0x182a,_0x4307a1=String(_0x237426[_0x4a4bea(0x12c)+'d']||''),_0x28a3c3=_0x504fb9['get'](_0x4307a1);if(!_0x28a3c3)return{'ok':!![],'closed':![]};return _0x504fb9['delete'](_0x4307a1),_0x28a3c3[_0x4a4bea(0x146)][_0x4a4bea(0x13b)](),{'ok':!![],'closed':!![]};}function _0xbadefe(){const _0xfac8b3=_0x182a;for(const _0x127973 of _0x504fb9[_0xfac8b3(0x116)]())_0x127973['child'][_0xfac8b3(0x13b)]();_0x504fb9[_0xfac8b3(0x131)]();}return{'create':_0x5e5aac,'input':_0x329684,'resize':_0x3d715d,'close':_0x2fc060,'dispose':_0xbadefe};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5e5153=_0x4d68;(function(_0x4fafe6,_0x209203){const _0x45df62=_0x4d68,_0x7a13a0=_0x4fafe6();while(!![]){try{const _0x1aed72=-parseInt(_0x45df62(0x1ab))/0x1+parseInt(_0x45df62(0x1a2))/0x2+parseInt(_0x45df62(0x20a))/0x3*(-parseInt(_0x45df62(0x179))/0x4)+parseInt(_0x45df62(0x2bd))/0x5*(-parseInt(_0x45df62(0x2aa))/0x6)+-parseInt(_0x45df62(0x206))/0x7+parseInt(_0x45df62(0x24a))/0x8*(-parseInt(_0x45df62(0x21e))/0x9)+-parseInt(_0x45df62(0x167))/0xa*(-parseInt(_0x45df62(0x29b))/0xb);if(_0x1aed72===_0x209203)break;else _0x7a13a0['push'](_0x7a13a0['shift']());}catch(_0x3ecce2){_0x7a13a0['push'](_0x7a13a0['shift']());}}}(_0x29ed,0x4fdfa));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{spawnSync}from'node:child_process';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x4d703c from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x4d703c,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8,DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS=0xafc8,INSTALL_PHASE_CONTEXT_STALE_MS=0x18*0x3c*0x3c*0x3e8,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY=_0x5e5153(0x253)+_0x5e5153(0x21c)+_0x5e5153(0x1bc)+'ontentsW'+_0x5e5153(0x2bc);function normalizeAppUpdatePackageFileName(_0xcf1a1b){const _0x229b6c=_0x5e5153;if(typeof _0xcf1a1b!==_0x229b6c(0x1d0))return null;const _0x3061ed=_0xcf1a1b[_0x229b6c(0x26c)]();if(!_0x3061ed||_0x3061ed==='.'||_0x3061ed==='..'||_0x3061ed[_0x229b6c(0x19b)]('/')||_0x3061ed[_0x229b6c(0x19b)]('\x5c'))return null;return _0x3061ed;}function isMatchingAppUpdatePackageMetadata(_0x253a78,_0x227a7a){const _0x31aa9f=_0x5e5153;if(!_0x253a78||!_0x227a7a||typeof _0x227a7a!==_0x31aa9f(0x1b6))return![];const _0x1913c9=_0x227a7a,_0x434951=normalizeAppUpdatePackageFileName(_0x253a78[_0x31aa9f(0x23d)]),_0x2e4e29=normalizeAppUpdatePackageFileName(_0x1913c9[_0x31aa9f(0x23d)]),_0x5a26d3=_0x253a78[_0x31aa9f(0x2ce)]['trim'](),_0x3cd6b8=typeof _0x1913c9[_0x31aa9f(0x2ce)]==='string'?_0x1913c9['sha512']['trim']():'';return Boolean(_0x434951&&_0x2e4e29&&_0x434951===_0x2e4e29&&_0x5a26d3&&_0x3cd6b8&&_0x5a26d3===_0x3cd6b8);}function normalizeAppVersion(_0x5ae557){const _0x4dc5fa=_0x5e5153;return clean(String(_0x5ae557??'')[_0x4dc5fa(0x26c)]());}function compareAppVersions(_0x3f5a8b,_0x56b70c){const _0x183723=_0x5e5153,_0x599d79=normalizeAppVersion(_0x3f5a8b),_0x55fecd=normalizeAppVersion(_0x56b70c);if(!_0x599d79||!_0x55fecd)return'unknown';const _0x197514=compare(_0x55fecd,_0x599d79);if(_0x197514===0x0)return _0x183723(0x1ee)+_0x183723(0x1d1);return _0x197514>0x0?_0x183723(0x190)+_0x183723(0x2be):_0x183723(0x216)+_0x183723(0x229);}function normalizeAppUpdateChannel(_0x23a911){const _0x5c5af0=_0x5e5153;return _0x23a911===_0x5c5af0(0x26f)?_0x5c5af0(0x26f):_0x5c5af0(0x217);}function normalizeString(_0x473ee0){const _0x14b4d1=_0x5e5153;if(typeof _0x473ee0!==_0x14b4d1(0x1d0))return null;const _0x2ed2ac=_0x473ee0['trim']();return _0x2ed2ac||null;}function normalizeReleaseNotes(_0x53d690){const _0x126827=_0x5e5153;if(typeof _0x53d690===_0x126827(0x1d0))return normalizeString(_0x53d690);if(!Array[_0x126827(0x196)](_0x53d690))return null;const _0x429e86=_0x53d690[_0x126827(0x1fb)](_0x1fede6=>{const _0x178fe8=_0x126827;if(typeof _0x1fede6==='string'){const _0x35d00f=normalizeString(_0x1fede6);return _0x35d00f?[_0x35d00f]:[];}if(!_0x1fede6||typeof _0x1fede6!=='object')return[];const _0x301461=normalizeString(_0x1fede6[_0x178fe8(0x17b)]),_0x2a9580=normalizeString(_0x1fede6['note']);if(_0x301461&&_0x2a9580)return['v'+_0x301461+'\x0a'+_0x2a9580];if(_0x2a9580)return[_0x2a9580];if(_0x301461)return['v'+_0x301461];return[];});return _0x429e86[_0x126827(0x271)]>0x0?_0x429e86[_0x126827(0x1aa)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x51d295){const _0x2ca965=_0x5e5153;if(!_0x51d295||typeof _0x51d295!==_0x2ca965(0x1b6))return{};return{'remoteVersion':normalizeString(_0x51d295[_0x2ca965(0x17b)]),'availableVersion':normalizeString(_0x51d295['version']),'releaseName':normalizeString(_0x51d295[_0x2ca965(0x170)+'ame']),'releaseDate':normalizeString(_0x51d295[_0x2ca965(0x183)+_0x2ca965(0x243)]),'releaseNotes':normalizeReleaseNotes(_0x51d295['releaseN'+_0x2ca965(0x1a7)])};}function _0x4d68(_0xe0f20f,_0x4a9e05){_0xe0f20f=_0xe0f20f-0x165;const _0x29ed1e=_0x29ed();let _0x4d6876=_0x29ed1e[_0xe0f20f];return _0x4d6876;}function extractPackageFileName(_0x474cd3){const _0x52b0ed=_0x5e5153,_0x21918c=normalizeString(_0x474cd3);if(!_0x21918c)return null;try{const _0x107e28=new URL(_0x21918c);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x107e28['pathname'])));}catch{const _0x123a99=_0x21918c[_0x52b0ed(0x235)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x123a99));}}function getPreferredUpdatePackagePattern(){const _0x1a34c3=_0x5e5153;if(process['platform']===_0x1a34c3(0x2ba))return/\.zip$/iu;if(process[_0x1a34c3(0x291)]===_0x1a34c3(0x17a))return/\.exe$/iu;if(process[_0x1a34c3(0x291)]===_0x1a34c3(0x21d))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x5ed01a,_0x2db438){const _0x5144a1=_0x5e5153;if(!_0x5ed01a||typeof _0x5ed01a!==_0x5144a1(0x1b6))return null;const _0x2fe168=normalizeString(_0x5ed01a[_0x5144a1(0x17b)]);if(!_0x2fe168)return null;const _0x19a3ec=[],_0x47492f=Array['isArray'](_0x5ed01a[_0x5144a1(0x197)])?_0x5ed01a[_0x5144a1(0x197)]:[];for(const _0x9db227 of _0x47492f){if(!_0x9db227||typeof _0x9db227!=='object')continue;const _0x384b73=extractPackageFileName(_0x9db227['url'])??extractPackageFileName(_0x9db227[_0x5144a1(0x299)])??normalizeAppUpdatePackageFileName(_0x9db227[_0x5144a1(0x23d)]),_0x226a89=normalizeString(_0x9db227[_0x5144a1(0x2ce)]);_0x384b73&&_0x226a89&&_0x19a3ec['push']({'fileName':_0x384b73,'sha512':_0x226a89});}const _0x532985=extractPackageFileName(_0x5ed01a[_0x5144a1(0x1ac)])??extractPackageFileName(_0x5ed01a[_0x5144a1(0x299)])??normalizeAppUpdatePackageFileName(_0x5ed01a[_0x5144a1(0x23d)]),_0x895da8=normalizeString(_0x5ed01a[_0x5144a1(0x2ce)]);_0x532985&&_0x895da8&&_0x19a3ec['push']({'fileName':_0x532985,'sha512':_0x895da8});const _0x535933=_0x19a3ec[_0x5144a1(0x1c9)](_0x52953d=>getPreferredUpdatePackagePattern()[_0x5144a1(0x187)](_0x52953d[_0x5144a1(0x23d)]));if(!_0x535933)return _0x2db438?.[_0x5144a1(0x297)]?.('no\x20match'+_0x5144a1(0x199)+_0x5144a1(0x237)+'ge\x20for\x20c'+_0x5144a1(0x231)+_0x5144a1(0x16f),{'platform':process[_0x5144a1(0x291)],'candidates':_0x19a3ec[_0x5144a1(0x23f)](_0x1e1325=>_0x1e1325[_0x5144a1(0x23d)])}),null;return{'version':_0x2fe168,..._0x535933};}function extractProgressPatch(_0x16580){const _0x362f06=_0x5e5153;return{'downloadPercent':typeof _0x16580[_0x362f06(0x226)]==='number'?_0x16580[_0x362f06(0x226)]:null,'bytesPerSecond':typeof _0x16580[_0x362f06(0x1b7)+'Second']==='number'?_0x16580['bytesPer'+_0x362f06(0x1d5)]:null,'transferredBytes':typeof _0x16580[_0x362f06(0x252)+'red']===_0x362f06(0x222)?_0x16580[_0x362f06(0x252)+'red']:null,'totalBytes':typeof _0x16580[_0x362f06(0x242)]==='number'?_0x16580[_0x362f06(0x242)]:null};}function getErrorMessage(_0x320d5b){const _0x447680=_0x5e5153;if(_0x320d5b instanceof Error&&_0x320d5b[_0x447680(0x2b8)][_0x447680(0x26c)]())return _0x320d5b[_0x447680(0x2b8)][_0x447680(0x26c)]();if(typeof _0x320d5b===_0x447680(0x1d0)&&_0x320d5b[_0x447680(0x26c)]())return _0x320d5b['trim']();return _0x447680(0x280)+'误';}function getMacSquirrelDirectWriteDefaultsDomains(_0x4ee9d9){const _0x309f2d=_0x5e5153,_0xd1683b=normalizeString(_0x4ee9d9);if(!_0xd1683b)return[];return[_0xd1683b,_0xd1683b+_0x309f2d(0x1f5)];}function _0x29ed(){const _0x59b935=['te.yml','pendingP','unsuppor','getAllWi','utMs','efetch_f','fo.json','availabl','rrel\x20dir','yed','ing','uitTimeo','platform','当前使用\x20Alp','update-i','stringif','内自动更新','check\x20re','warn','checking','path','already-','14928595dTjJrs','更新包\x20v','text\x20loa','ending\x20u','ted','ved','rel_dire','nstall_p','更新包校验完成但','isPackag','remoteVe','ive\x20upda','nstall\x20d','te-state','ntervalM','10614jvdzwy',',请重新下载更新','dataDir','r\x20boot','ackage_v','更新准备失败','\x20out','update\x20p','t\x20instal','supporte','ts\x20skipp','write','fig\x20中禁用','update_b','message','ackage','darwin','更新包已准备好安','rite','365WpUAWu','ewer','备安装','update\x20n','更新安装未能启动','ac\x20updat','nstall\x20p','hdog\x20sta','ch\x20wait\x20','hase_con','rsion','nstall\x20q','eted','push','d;\x20insta','acheDirN','text_sta','sha512','called','install\x20','o\x20inspec','Caches','id\x20not\x20t','ext_boot','uit_and_',',请重新校验并准','AppData','toFixed','resolve','backgrou','autoInst','ending_p','true','pending\x20','10QMsELK','tart','ignore','update-n','uit_star','e\x20native','packagin','check-er','latform','releaseN','complete','checkFor','phase','-bool','_by_conf','mac','\x20before\x20','uit_done','663844RidPbS','win32','version','stale\x20up','isDestro','parse','ch\x20start','lable','o\x20read\x20a','toISOStr','releaseD','o\x20read\x20p','install_','efetch\x20b','test','pp\x20quit\x20','running','max','s_enable','efetch_i','stall','当前没有可下载的','\x20已准备好安装','remote-n','ytes','edVersio','Percent','g\x20downlo','app:upda','isArray','files','ait_done','ing\x20upda','appId','includes','finally','repare\x20q','ndCheckI','disabled','mac\x20squi','quitAndI','13562OHsqwj','resource','load\x20fai','efetch_s','updaterC','otes','nstall\x20f','fore\x20nat','join','250699hBSske','url','size','hell.con','Updates','ch\x20timed','stale-af','update-d','for\x20nati','ntext.la','update\x20i','object','bytesPer','后的安装包中可用','动更新','update\x20b','uit\x20star','eDirectC','ch\x20compl','\x20AppImag','ame','installQ','update_i','native\x20m','signal','ait_star','update_m','function','ntext','date\x20ins','find','ndCheckS','consumed','datePref','r\x20starte','auto\x20upd','eVersion','string','sion','vailable','t\x20pendin','\x20will\x20us','Second','ersion','Quit','not-avai','\x20fallbac','mileston','重试下载更新','it_obser','nstall_w','uit\x20comp','utf8','pdate-in','o\x20persis','channel','tes','info','one','native-u','g\x20instal','status','catch','ts\x20enabl','failed','正在重新准备更新','installi','same-ver','s_skippe','ch\x20skipp','xt\x20ignor','l\x20packag','context','正在检查更新','.ShipIt','se\x20conte','o\x20archiv','hasUpdat','install-','ntext.js','flatMap','etchTime','allOnApp','ackageBy','update_p','failed\x20t','missing_','app_id','ownloade','ailed\x20be','e\x20prefet','1203846PJqtNc','hase\x20con','发现新版本\x20v','isFinite','3SwniZM','quested','load','kipped','update\x20q','removeLi','安装更新失败','ha\x20更新渠道','leted','packageB','requeste','nd\x20updat','remote-o','latest','currentV','s_failed','efore\x20in','repare_q','MacEnabl','linux','4653geBctq','imeout','pdater\x20q','startedA','number','ct_write','download','pdater-u','percent','oot','-updater','lder','now','kage','uit\x20and\x20','phase\x20co','自动更新功能已就','ll\x20click','update_q','urrent\x20p','dater','finished','send','split','ate\x20down','te\x20packa','nativeUp','Linux\x20下仅','squirrel','efore\x20qu','l\x20phase\x20','fileName','.cache','map','_default','autoDown','total','ate','ending\x20p','it\x20obser','ndows','error','ontentsW','nts','4936LoBInb','assign','install','exec','text_loa','taleMs','rigger\x20a','electron','transfer','Squirrel','自动更新失败','发现可用更新','ts\x20faile','defaults','led','ect\x20writ','ded','e\x20check\x20','outMs','navailab','自动更新已在\x20s','enabled','-error','startup','once','\x20after\x20i','e\x20defaul','正在验证安装包…','then','interval','sPath','idle','load\x20req','uitAndIn','trim','ter-boot','errorCod','alpha','pending','length','update_n','app-upda','正在下载\x20','ative_pr','rted','nstall','ackage\x20v','-progres','已下载更新','webConte','ch\x20faile','efetch_d','update_a','当前已经是最新版','未知的自动更新错','ve\x20mac\x20u','ac_squir','packageN','当前没有可安装的'];_0x29ed=function(){return _0x59b935;};return _0x29ed();}function isSuccessfulCommandResult(_0x13f63a){const _0xa9e71f=_0x5e5153;return!_0x13f63a?.[_0xa9e71f(0x247)]&&!_0x13f63a?.[_0xa9e71f(0x1c3)]&&(typeof _0x13f63a?.[_0xa9e71f(0x1e8)]!==_0xa9e71f(0x222)||_0x13f63a[_0xa9e71f(0x1e8)]===0x0);}function readJsonFile(_0x5394){if(!existsSync(_0x5394))return null;try{return JSON['parse'](readFileSync(_0x5394,'utf8'));}catch{return null;}}export function createUpdateController({shellConfig:_0xfdf609,appName:_0x52ec2f,appVersion:_0x2d93a1,broadcast:_0x341b99,logger:_0x260bfc,prepareQuitAndInstall:_0x4bb9b1,defaultsCommandRunner:defaultsCommandRunner=spawnSync}){const _0x2880c1=_0x5e5153,_0x4e2722=_0xfdf609['updates']??{},_0x1d59b1=normalizeAppUpdateChannel(_0x4e2722[_0x2880c1(0x1e2)]),_0x309287={'backgroundCheckIntervalMs':_0x4e2722[_0x2880c1(0x2da)+_0x2880c1(0x19e)+_0x2880c1(0x2a9)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x4e2722[_0x2880c1(0x2da)+_0x2880c1(0x1ca)+_0x2880c1(0x24f)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x4e2722[_0x2880c1(0x1c0)+_0x2880c1(0x290)+'utMs']??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'nativeUpdatePrefetchTimeoutMs':_0x4e2722[_0x2880c1(0x238)+_0x2880c1(0x1cc)+_0x2880c1(0x1fc)+_0x2880c1(0x25c)]??DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS,'autoDownload':_0x4e2722[_0x2880c1(0x241)+_0x2880c1(0x20c)]===!![]},_0xe70012={'supported':![],'channel':_0x1d59b1,'phase':_0x2880c1(0x287)+_0x2880c1(0x29f),'currentVersion':_0x2d93a1(),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':'自动更新已禁用','error':null,'errorCode':null};let _0x5ad7c9=![],_0x413a21=null,_0x45f5e5=null,_0x3160b9=null,_0x315ba9=null,_0x4cb3b2=null,_0x453eeb=null,_0x4bef17=![],_0x64e6fd=null,_0x444b9c=0x0,_0x4b37d7=null,_0x483dbf=null,_0x13021d=![],_0x49018f=![],_0x144d56=null;function _0x4bd815(){const _0x58264a=_0x2880c1;if(process[_0x58264a(0x291)]===_0x58264a(0x2ba))return join(homedir(),'Library',_0x58264a(0x2d2));if(process[_0x58264a(0x291)]===_0x58264a(0x17a))return process.env.LOCALAPPDATA??join(homedir(),_0x58264a(0x2d7),'Local');return process.env.XDG_CACHE_HOME??join(homedir(),_0x58264a(0x23e));}function _0x4642e6(){const _0x4edf25=_0x2880c1;if(!app[_0x4edf25(0x2a4)+'ed']||!process[_0x4edf25(0x1a3)+_0x4edf25(0x268)])return{};const _0x232742=join(process[_0x4edf25(0x1a3)+'sPath'],_0x4edf25(0x273)+_0x4edf25(0x285));if(!existsSync(_0x232742))return{};try{const _0x1f8f7b=readFileSync(_0x232742,_0x4edf25(0x1df)),_0x30cb73=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x4edf25(0x24d)](_0x1f8f7b),_0x37de33=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x4edf25(0x24d)](_0x1f8f7b);return{'channel':normalizeAppUpdateChannel(_0x30cb73?.[0x1]),'updaterCacheDirName':normalizeString(_0x37de33?.[0x1])};}catch(_0x2cbab8){return _0x260bfc?.['warn']?.(_0x4edf25(0x200)+_0x4edf25(0x181)+'pp-updat'+'e.yml',{'error':getErrorMessage(_0x2cbab8)}),{};}}const _0x23bede=_0x4642e6();_0x23bede[_0x2880c1(0x1e2)]&&(_0xe70012[_0x2880c1(0x1e2)]=_0x23bede[_0x2880c1(0x1e2)]);function _0x31f56e(){const _0x1e3926=_0x2880c1,_0x3239a9=_0x23bede[_0x1e3926(0x1a6)+_0x1e3926(0x2cc)+_0x1e3926(0x1bf)]||_0x52ec2f()+'-updater';return join(_0x4bd815(),_0x3239a9);}function _0x15b5be(_0x21572c){const _0x2431f3=_0x2880c1;return _0x21572c===_0x2431f3(0x26f)?_0x2431f3(0x292)+_0x2431f3(0x211):_0x2431f3(0x22e)+'绪';}function _0x55fc8b(){const _0x2f5098=_0x2880c1;if(_0x4e2722[_0x2f5098(0x25f)]===![])return![];if(!app[_0x2f5098(0x2a4)+'ed'])return![];if(process[_0x2f5098(0x291)]!=='linux')return!![];return Boolean(process.env.APPIMAGE);}function _0x493cc3(){const _0x282dc9=_0x2880c1;if(_0x4e2722[_0x282dc9(0x25f)]===![])return _0x282dc9(0x25e)+_0x282dc9(0x1ae)+_0x282dc9(0x2b6);if(!app[_0x282dc9(0x2a4)+'ed'])return'自动更新仅在打包'+_0x282dc9(0x1b8);if(process[_0x282dc9(0x291)]===_0x282dc9(0x21d))return _0x282dc9(0x239)+_0x282dc9(0x1be)+'e\x20版本支持应用'+_0x282dc9(0x295);return'当前构建不支持自'+_0x282dc9(0x1b9);}function _0x34e17e(){const _0x919ebf=_0x2880c1;return join(_0xfdf609[_0x919ebf(0x2ac)],'install-'+'phase-co'+_0x919ebf(0x1fa)+'on');}function _0x5573ed(){const _0x9eed66=_0x2880c1;return join(_0xfdf609['dataDir'],_0x9eed66(0x1f9)+'phase-co'+_0x9eed66(0x1b4)+'st.json');}function _0x5b217b(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x16f670(){return{..._0xe70012};}function _0x518dff(){const _0x35253e=_0x2880c1,_0x18098e=_0x16f670();for(const _0x578be0 of BrowserWindow[_0x35253e(0x288)+_0x35253e(0x246)]()){!_0x578be0[_0x35253e(0x17d)+_0x35253e(0x28e)]()&&_0x578be0[_0x35253e(0x27b)+_0x35253e(0x249)][_0x35253e(0x234)](_0x35253e(0x195)+_0x35253e(0x2a8),_0x18098e);}_0x341b99?.(_0x35253e(0x195)+_0x35253e(0x2a8),_0x18098e);}function _0x370eb7(_0x39dd90){const _0x2a16f0=_0x2880c1,_0x4e5f5e={..._0x39dd90};_0x4e5f5e[_0x2a16f0(0x247)]===null&&_0x4e5f5e[_0x2a16f0(0x26e)+'e']===undefined&&(_0x4e5f5e['errorCod'+'e']=null),Object[_0x2a16f0(0x24b)](_0xe70012,_0x4e5f5e,{'currentVersion':_0x2d93a1()}),_0x518dff();}function _0x5ef8ec(){if(!_0xe70012['supporte'+'d'])throw new Error(_0x493cc3());}function _0x58bb4a(_0x23bd8e,_0x5d6bdb={}){const _0x1edb0c=_0x2880c1;_0x260bfc?.[_0x1edb0c(0x1e4)]?.(_0x23bd8e,_0x5d6bdb);}function _0x52d8fa(_0x41c9e7,_0x48200f={}){_0x260bfc?.['warn']?.(_0x41c9e7,_0x48200f);}function _0x78e312(){const _0xf5c4=_0x2880c1;if(process[_0xf5c4(0x291)]!=='darwin')return;if(_0xfdf609[_0xf5c4(0x16d)+'g']?.[_0xf5c4(0x176)]?.[_0xf5c4(0x23a)+_0xf5c4(0x21c)+_0xf5c4(0x1bc)+_0xf5c4(0x248)+'rite']===![]){_0x58bb4a(_0xf5c4(0x1a0)+'rrel\x20dir'+'ect\x20writ'+'e\x20defaul'+_0xf5c4(0x2b4)+'ed',{'event':_0xf5c4(0x1c5)+_0xf5c4(0x282)+_0xf5c4(0x2a1)+_0xf5c4(0x223)+_0xf5c4(0x240)+_0xf5c4(0x1ef)+'d','reason':_0xf5c4(0x19f)+_0xf5c4(0x175)+'ig'});return;}const _0x5a09f6=getMacSquirrelDirectWriteDefaultsDomains(_0xfdf609[_0xf5c4(0x19a)]);if(_0x5a09f6[_0xf5c4(0x271)]===0x0){_0x52d8fa(_0xf5c4(0x1a0)+_0xf5c4(0x28d)+_0xf5c4(0x259)+_0xf5c4(0x264)+'ts\x20skipp'+'ed',{'event':_0xf5c4(0x1c5)+_0xf5c4(0x282)+_0xf5c4(0x2a1)+_0xf5c4(0x223)+'_default'+'s_skippe'+'d','reason':_0xf5c4(0x201)+_0xf5c4(0x202)});return;}const _0x1565d3=[];for(const _0x358f80 of _0x5a09f6){try{const _0x3493d2=defaultsCommandRunner(_0xf5c4(0x257),[_0xf5c4(0x2b5),_0x358f80,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY,_0xf5c4(0x174),_0xf5c4(0x165)],{'stdio':_0xf5c4(0x169)});!isSuccessfulCommandResult(_0x3493d2)&&_0x1565d3['push']({'domain':_0x358f80,'status':_0x3493d2?.[_0xf5c4(0x1e8)]??null,'signal':_0x3493d2?.['signal']??null,'error':_0x3493d2?.[_0xf5c4(0x247)]?getErrorMessage(_0x3493d2[_0xf5c4(0x247)]):null});}catch(_0x6ca00b){_0x1565d3[_0xf5c4(0x2ca)]({'domain':_0x358f80,'status':null,'signal':null,'error':getErrorMessage(_0x6ca00b)});}}if(_0x1565d3[_0xf5c4(0x271)]>0x0){_0x52d8fa(_0xf5c4(0x1a0)+_0xf5c4(0x28d)+_0xf5c4(0x259)+_0xf5c4(0x264)+_0xf5c4(0x256)+'d',{'event':'update_m'+'ac_squir'+_0xf5c4(0x2a1)+_0xf5c4(0x223)+'_default'+_0xf5c4(0x219),'domains':_0x5a09f6,'failures':_0x1565d3});return;}_0x58bb4a(_0xf5c4(0x1a0)+_0xf5c4(0x28d)+_0xf5c4(0x259)+'e\x20defaul'+_0xf5c4(0x1ea)+'ed',{'event':_0xf5c4(0x1c5)+_0xf5c4(0x282)+'rel_dire'+_0xf5c4(0x223)+_0xf5c4(0x240)+_0xf5c4(0x18b)+'d','domains':_0x5a09f6});}function _0x38fd0c(){const _0x213d23=_0x2880c1;if(process[_0x213d23(0x291)]!==_0x213d23(0x2ba))return null;const _0x2113f2=autoUpdater?.[_0x213d23(0x238)+_0x213d23(0x232)];if(!_0x2113f2||typeof _0x2113f2[_0x213d23(0x172)+_0x213d23(0x1af)]!==_0x213d23(0x1c6))return null;return _0x2113f2;}function _0x1624c9(){if(!_0x483dbf)return;clearTimeout(_0x483dbf),_0x483dbf=null;}function _0x2a1b9a(){const _0x531d75=_0x2880c1;typeof _0x144d56===_0x531d75(0x1c6)&&_0x144d56(),_0x1624c9(),_0x4b37d7=null,_0x13021d=![],_0x49018f=![],_0x144d56=null;}function _0xa6eec1(_0x3fb05c){const _0x1ad509=_0x2880c1;if(typeof _0x3fb05c!==_0x1ad509(0x222)||!Number[_0x1ad509(0x209)](_0x3fb05c))return null;const _0x1b404c=Math['min'](0x63,Math['max'](0x0,_0x3fb05c));if(_0xe70012[_0x1ad509(0x173)]!=='download'+_0x1ad509(0x28f)||typeof _0xe70012[_0x1ad509(0x224)+_0x1ad509(0x193)]!==_0x1ad509(0x222))return _0x1b404c;return Math[_0x1ad509(0x18a)](_0xe70012['download'+_0x1ad509(0x193)],_0x1b404c);}function _0x461b1e(_0x513189,_0x4e8618){const _0x27a185=_0x2880c1,_0x5e2b1a=_0x513189?'v'+_0x513189:'新版本';if(typeof _0x4e8618===_0x27a185(0x222)){if(_0x4e8618>=0x63)return _0x27a185(0x265);return _0x27a185(0x274)+_0x5e2b1a+'\x20('+_0x4e8618[_0x27a185(0x2d8)](0x1)+'%)';}return _0x27a185(0x274)+_0x5e2b1a;}function _0x242c68(_0x131499){const _0x960b1a=_0x2880c1;if(!_0x309287[_0x960b1a(0x241)+_0x960b1a(0x20c)])return;if(_0x45f5e5||_0xe70012['phase']!==_0x960b1a(0x28c)+'e'||!_0xe70012[_0x960b1a(0x1f8)+'e'])return;_0x58bb4a('auto\x20upd'+_0x960b1a(0x236)+_0x960b1a(0x26a)+'uested',{'reason':_0x131499,'availableVersion':_0xe70012[_0x960b1a(0x28c)+'eVersion']}),void _0x3d23eb()[_0x960b1a(0x1e9)](_0x214cff=>{const _0x2e4bfe=_0x960b1a;_0x52d8fa(_0x2e4bfe(0x1ce)+_0x2e4bfe(0x236)+_0x2e4bfe(0x1a4)+_0x2e4bfe(0x258),{'reason':_0x131499,'error':getErrorMessage(_0x214cff)});});}function _0x191166(_0x498751){const _0x282a63=_0x2880c1;try{writeFileSync(_0x34e17e(),JSON[_0x282a63(0x294)+'y'](_0x498751,null,0x2),_0x282a63(0x1df));}catch(_0x45752d){_0x52d8fa(_0x282a63(0x200)+_0x282a63(0x1e1)+_0x282a63(0x2b2)+_0x282a63(0x23c)+'context',{'error':getErrorMessage(_0x45752d)});}}function _0x3a9641(){return readJsonFile(_0x34e17e());}function _0x133be9(_0x32404b,_0x58455c,_0x50207f={}){const _0x2a58e3=_0x2880c1;try{writeFileSync(_0x5573ed(),JSON['stringif'+'y']({..._0x32404b,..._0x50207f,'archivedAt':new Date()[_0x2a58e3(0x182)+_0x2a58e3(0x28f)](),'archiveReason':_0x58455c},null,0x2),_0x2a58e3(0x1df));}catch(_0x194b26){_0x52d8fa('failed\x20t'+_0x2a58e3(0x1f7)+'e\x20instal'+'l\x20phase\x20'+_0x2a58e3(0x1f3),{'reason':_0x58455c,'error':getErrorMessage(_0x194b26)});}}function _0x2e280(_0x4e67d7){const _0x309ec1=_0x2880c1,_0x2af502=_0x3a9641();if(!_0x2af502||typeof _0x2af502!==_0x309ec1(0x1b6))return;_0x191166({..._0x2af502,..._0x4e67d7,'milestones':{..._0x2af502[_0x309ec1(0x1da)+'es']&&typeof _0x2af502[_0x309ec1(0x1da)+'es']===_0x309ec1(0x1b6)?_0x2af502['mileston'+'es']:{},..._0x4e67d7[_0x309ec1(0x1da)+'es']??{}}});}function _0x2fe079(){const _0x240772=_0x2880c1;try{rmSync(_0x34e17e(),{'force':!![]});}catch(_0x1043a4){_0x52d8fa(_0x240772(0x200)+'o\x20clear\x20'+_0x240772(0x2d0)+_0x240772(0x22d)+_0x240772(0x1c7),{'error':getErrorMessage(_0x1043a4)});}}function _0x17f83b(){const _0x443fc2=_0x2880c1,_0x4895cb=join(_0x31f56e(),_0x443fc2(0x270));if(!existsSync(_0x4895cb))return{'packageName':null,'packageBytes':null};try{const _0x42bc06=readdirSync(_0x4895cb)['find'](_0x5af5d0=>/\.(zip|exe|dmg|AppImage)$/iu['test'](_0x5af5d0))??null;if(!_0x42bc06)return{'packageName':null,'packageBytes':null};const _0x44eb98=join(_0x4895cb,_0x42bc06);return{'packageName':_0x42bc06,'packageBytes':statSync(_0x44eb98)[_0x443fc2(0x1ad)]};}catch(_0x4287d2){return _0x52d8fa(_0x443fc2(0x200)+_0x443fc2(0x2d1)+_0x443fc2(0x1d3)+_0x443fc2(0x1e7)+_0x443fc2(0x1f2)+'e',{'error':getErrorMessage(_0x4287d2)}),{'packageName':null,'packageBytes':null};}}function _0x4c5af4(){const _0x22f040=_0x2880c1;if(!_0x315ba9)return null;const _0x43c8f9=join(_0x31f56e(),_0x22f040(0x270)),_0x4022a4=join(_0x43c8f9,_0x22f040(0x293)+'nfo.json');if(!existsSync(_0x4022a4))return null;let _0x522891=null;try{_0x522891=JSON[_0x22f040(0x17e)](readFileSync(_0x4022a4,_0x22f040(0x1df)));}catch(_0x57b1f6){return _0x52d8fa(_0x22f040(0x200)+_0x22f040(0x184)+_0x22f040(0x29e)+_0x22f040(0x1e0)+_0x22f040(0x28b),{'error':getErrorMessage(_0x57b1f6)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x315ba9,_0x522891))return null;const _0x1caf60=join(_0x43c8f9,_0x315ba9['fileName']);if(!existsSync(_0x1caf60))return null;try{const _0x4a328e=statSync(_0x1caf60);if(!_0x4a328e['isFile']()||_0x4a328e[_0x22f040(0x1ad)]===0x0)return null;return{'metadata':_0x315ba9,'packageName':_0x315ba9['fileName'],'packageBytes':_0x4a328e[_0x22f040(0x1ad)]};}catch(_0x124cc4){return _0x52d8fa('failed\x20t'+'o\x20inspec'+_0x22f040(0x1d3)+_0x22f040(0x194)+'aded\x20pac'+_0x22f040(0x22b),{'error':getErrorMessage(_0x124cc4)}),null;}}function _0x1be68f(_0x539593){const _0x2b19cf=_0x2880c1,_0x5c26ff=_0x4c5af4();if(!_0x5c26ff)return![];const {metadata:_0x3b29e1,packageName:_0x25d37a,packageBytes:_0x1560a5}=_0x5c26ff;return _0x58bb4a(_0x2b19cf(0x166)+'package\x20'+'cache\x20hi'+'t',{'reason':_0x539593,'version':_0x3b29e1['version'],'packageName':_0x25d37a,'packageBytes':_0x1560a5}),_0x370eb7({'phase':_0x2b19cf(0x28c)+'e','remoteVersion':_0x3b29e1[_0x2b19cf(0x17b)],'comparisonResult':_0x2b19cf(0x190)+_0x2b19cf(0x2be),'hasUpdate':!![],'availableVersion':_0x3b29e1[_0x2b19cf(0x17b)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x1560a5,'totalBytes':_0x1560a5,'hasPendingPackage':!![],'pendingPackageName':_0x25d37a,'pendingPackageBytes':_0x1560a5,'error':null,'message':'发现本地更新包\x20'+'v'+_0x3b29e1[_0x2b19cf(0x17b)]+(_0x2b19cf(0x2d6)+_0x2b19cf(0x2bf))}),!![];}function _0x10e7ea(_0x2e1255,_0x2f9377){const _0x25f3c2=_0x2880c1,_0x1914a1=_0x17f83b();_0x58bb4a(_0x25f3c2(0x2b1)+_0x25f3c2(0x244)+_0x25f3c2(0x278)+'alidated',{'event':_0x25f3c2(0x1ff)+_0x25f3c2(0x2dc)+_0x25f3c2(0x2ae)+'alidated','reason':_0x2e1255,'validator':_0x25f3c2(0x251)+_0x25f3c2(0x228),'currentVersion':_0xe70012[_0x25f3c2(0x218)+'ersion'],'downloadedVersion':_0x2f9377,'pendingPackage':_0x1914a1[_0x25f3c2(0x283)+'ame'],'pendingPackageBytes':_0x1914a1[_0x25f3c2(0x213)+'ytes'],'sha512Validated':!![]});}function _0x5013f1(_0x5f4b8e){const _0x4f77e5=_0x2880c1;if(_0x49018f)return _0x58bb4a('native\x20m'+_0x4f77e5(0x2c2)+_0x4f77e5(0x205)+_0x4f77e5(0x1f0)+'ed',{'event':_0x4f77e5(0x272)+_0x4f77e5(0x275)+_0x4f77e5(0x1a5)+'kipped','reason':_0x5f4b8e,'skipReason':_0x4f77e5(0x29a)+_0x4f77e5(0x171)+'d','downloadedVersion':_0xe70012[_0x4f77e5(0x224)+'edVersio'+'n']}),_0x4b37d7??Promise[_0x4f77e5(0x2d9)]('already-'+_0x4f77e5(0x171)+'d');if(_0x4b37d7)return _0x58bb4a(_0x4f77e5(0x1c2)+_0x4f77e5(0x2c2)+_0x4f77e5(0x205)+_0x4f77e5(0x1f0)+'ed',{'event':_0x4f77e5(0x272)+_0x4f77e5(0x275)+_0x4f77e5(0x1a5)+_0x4f77e5(0x20d),'reason':_0x5f4b8e,'skipReason':'already-'+_0x4f77e5(0x189),'downloadedVersion':_0xe70012[_0x4f77e5(0x224)+_0x4f77e5(0x192)+'n']}),_0x4b37d7;const _0x4a3122=_0x38fd0c();if(!_0x4a3122)return process['platform']===_0x4f77e5(0x2ba)&&_0x52d8fa(_0x4f77e5(0x1c2)+_0x4f77e5(0x2c2)+_0x4f77e5(0x205)+'ch\x20skipp'+'ed',{'event':_0x4f77e5(0x272)+'ative_pr'+_0x4f77e5(0x1a5)+'kipped','reason':_0x5f4b8e,'skipReason':_0x4f77e5(0x1e6)+_0x4f77e5(0x225)+_0x4f77e5(0x25d)+'le','downloadedVersion':_0xe70012[_0x4f77e5(0x224)+_0x4f77e5(0x192)+'n']}),Promise[_0x4f77e5(0x2d9)]('unsuppor'+_0x4f77e5(0x29f));_0x13021d=!![];const _0xb77d17=Date[_0x4f77e5(0x22a)]();return _0x58bb4a(_0x4f77e5(0x1c2)+_0x4f77e5(0x2c2)+_0x4f77e5(0x205)+_0x4f77e5(0x17f)+'ed',{'event':_0x4f77e5(0x272)+_0x4f77e5(0x275)+_0x4f77e5(0x1a5)+_0x4f77e5(0x168),'reason':_0x5f4b8e,'currentVersion':_0xe70012[_0x4f77e5(0x218)+_0x4f77e5(0x1d6)],'downloadedVersion':_0xe70012[_0x4f77e5(0x224)+_0x4f77e5(0x192)+'n'],'timeoutMs':_0x309287[_0x4f77e5(0x238)+'datePref'+_0x4f77e5(0x1fc)+_0x4f77e5(0x25c)]}),_0x4b37d7=new Promise(_0x48f5bf=>{const _0x1dc9cc=_0x4f77e5;let _0x413c7c=![];const _0x4a43c6=(_0x2b3848,_0x14b55a=null)=>{const _0x572abc=_0x4d68;if(_0x413c7c)return;_0x413c7c=!![],_0x144d56?.(),_0x1624c9(),_0x13021d=![],_0x49018f=_0x2b3848===_0x572abc(0x171)+'d',_0x144d56=null;const _0x5576e9=Date[_0x572abc(0x22a)]()-_0xb77d17;_0x2b3848===_0x572abc(0x171)+'d'?_0x58bb4a(_0x572abc(0x1c2)+'ac\x20updat'+_0x572abc(0x205)+_0x572abc(0x1bd)+_0x572abc(0x2c9),{'event':_0x572abc(0x272)+'ative_pr'+_0x572abc(0x27d)+_0x572abc(0x1e5),'reason':_0x5f4b8e,'elapsedMs':_0x5576e9,'downloadedVersion':_0xe70012['download'+_0x572abc(0x192)+'n']}):_0x52d8fa(_0x572abc(0x1c2)+_0x572abc(0x2c2)+_0x572abc(0x205)+_0x572abc(0x27c)+_0x572abc(0x2cb)+_0x572abc(0x22f)+_0x572abc(0x1d4)+_0x572abc(0x16c)+_0x572abc(0x1d9)+'k',{'event':_0x572abc(0x272)+_0x572abc(0x275)+_0x572abc(0x28a)+'ailed','reason':_0x5f4b8e,'elapsedMs':_0x5576e9,'downloadedVersion':_0xe70012[_0x572abc(0x224)+_0x572abc(0x192)+'n'],'error':getErrorMessage(_0x14b55a)}),_0x48f5bf(_0x2b3848);},_0x3a2588=()=>_0x4a43c6(_0x1dc9cc(0x171)+'d'),_0x3da029=_0x1c4f92=>_0x4a43c6(_0x1dc9cc(0x1eb),_0x1c4f92);_0x144d56=()=>{const _0x2a9cee=_0x1dc9cc;_0x4a3122[_0x2a9cee(0x20f)+'stener']?.('update-d'+_0x2a9cee(0x203)+'d',_0x3a2588),_0x4a3122[_0x2a9cee(0x20f)+'stener']?.(_0x2a9cee(0x247),_0x3da029);},_0x4a3122[_0x1dc9cc(0x262)]?.(_0x1dc9cc(0x1b2)+_0x1dc9cc(0x203)+'d',_0x3a2588),_0x4a3122['once']?.(_0x1dc9cc(0x247),_0x3da029),_0x483dbf=setTimeout(()=>{const _0x19a3da=_0x1dc9cc;_0x4a43c6(_0x19a3da(0x1eb),new Error(_0x19a3da(0x1c2)+'ac\x20updat'+_0x19a3da(0x205)+_0x19a3da(0x1b0)+_0x19a3da(0x2b0)));},_0x309287[_0x1dc9cc(0x238)+_0x1dc9cc(0x1cc)+_0x1dc9cc(0x1fc)+'outMs']);try{const _0x4cf338=_0x4a3122[_0x1dc9cc(0x172)+'Updates']();_0x4cf338&&typeof _0x4cf338['then']===_0x1dc9cc(0x1c6)&&_0x4cf338[_0x1dc9cc(0x1e9)](_0x3da029);}catch(_0x1854c7){_0x4a43c6('failed',_0x1854c7);}})[_0x4f77e5(0x19c)](()=>{_0x4b37d7=null;}),_0x4b37d7;}async function _0x142742(){const _0x494732=_0x2880c1;if(!_0x13021d||!_0x4b37d7)return null;const _0x3b5af4=Date[_0x494732(0x22a)]();_0x58bb4a('waiting\x20'+_0x494732(0x1b3)+_0x494732(0x281)+'pdate\x20pr'+_0x494732(0x186)+_0x494732(0x21a)+_0x494732(0x18d),{'event':'update_n'+_0x494732(0x275)+_0x494732(0x18c)+_0x494732(0x1dd)+_0x494732(0x1c4)+'t','downloadedVersion':_0xe70012[_0x494732(0x224)+_0x494732(0x192)+'n']});const _0x42e873=await _0x4b37d7,_0x5ceb95=Date[_0x494732(0x22a)]()-_0x3b5af4,_0x5272bc=_0x42e873===_0x494732(0x171)+'d'?_0x58bb4a:_0x52d8fa;return _0x5272bc('native\x20m'+'ac\x20updat'+_0x494732(0x205)+_0x494732(0x2c5)+_0x494732(0x233)+_0x494732(0x177)+_0x494732(0x24c),{'event':_0x494732(0x272)+_0x494732(0x275)+_0x494732(0x18c)+_0x494732(0x1dd)+_0x494732(0x198),'status':_0x42e873,'elapsedMs':_0x5ceb95,'downloadedVersion':_0xe70012[_0x494732(0x224)+'edVersio'+'n']}),_0x42e873;}function _0x5056da(){const _0x292035=_0x2880c1;return _0xe70012[_0x292035(0x2b3)+'d']&&!_0x413a21&&!_0x45f5e5&&[_0x292035(0x269),_0x292035(0x1d8)+_0x292035(0x180),_0x292035(0x247)][_0x292035(0x19b)](_0xe70012[_0x292035(0x173)]);}function _0xe03ef9(){if(!_0x453eeb)return;clearTimeout(_0x453eeb),_0x453eeb=null;}function _0x5b03c8(_0x36bd37){const _0x3992ff=_0x2880c1,_0x2e633e=_0xe70012[_0x3992ff(0x224)+_0x3992ff(0x192)+'n'],_0x1d9021=_0xe70012[_0x3992ff(0x28c)+_0x3992ff(0x1cf)],_0xb029a2=new Date()[_0x3992ff(0x182)+_0x3992ff(0x28f)]();_0x2e280({'failedAt':_0xb029a2,'error':getErrorMessage(_0x36bd37),'milestones':{'failedAt':_0xb029a2}}),_0x52d8fa('update\x20i'+_0x3992ff(0x1a8)+_0x3992ff(0x204)+_0x3992ff(0x1a9)+_0x3992ff(0x2a6)+'ter\x20comp'+_0x3992ff(0x212),{'error':getErrorMessage(_0x36bd37),'downloadedVersion':_0x2e633e,'availableVersion':_0x1d9021}),_0x4cb3b2=null,_0x4bef17=![],_0xe03ef9(),_0x2fe079(),_0x370eb7({'phase':_0x3992ff(0x247),'checkedAt':new Date()[_0x3992ff(0x182)+'ing'](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x1d9021??_0x2e633e,'downloadedVersion':_0x2e633e,'error':getErrorMessage(_0x36bd37),'errorCode':_0x3992ff(0x1f9)+_0x3992ff(0x247),'message':_0x3992ff(0x210)});}function _0xc3c87b(){const _0x493179=_0x2880c1;_0xe03ef9(),_0x4bef17=![],_0x58bb4a(_0x493179(0x1b5)+_0x493179(0x2c8)+'uit\x20watc'+_0x493179(0x2c4)+_0x493179(0x276),{'timeoutMs':_0x309287[_0x493179(0x1c0)+_0x493179(0x290)+'utMs'],'downloadedVersion':_0xe70012['download'+_0x493179(0x192)+'n'],'currentVersion':_0xe70012['currentV'+_0x493179(0x1d6)]}),_0x453eeb=setTimeout(()=>{const _0x4232d5=_0x493179;if(_0x4bef17||_0xe70012[_0x4232d5(0x173)]!==_0x4232d5(0x1ed)+'ng')return;_0x52d8fa('quitAndI'+_0x4232d5(0x2a7)+_0x4232d5(0x2d3)+_0x4232d5(0x250)+_0x4232d5(0x188)+'within\x20t'+_0x4232d5(0x21f),{'downloadedVersion':_0xe70012[_0x4232d5(0x224)+_0x4232d5(0x192)+'n'],'currentVersion':_0xe70012['currentV'+_0x4232d5(0x1d6)]}),_0x5b03c8(new Error(_0x4232d5(0x2c1)+_0x4232d5(0x2ab)+'包后再试'));},_0x309287[_0x493179(0x1c0)+'uitTimeo'+_0x493179(0x289)]);}function _0xc722ff(){const _0x142e79=_0x2880c1;if(_0x5ad7c9)return;_0x5ad7c9=!![],_0xe70012['supporte'+'d']=_0x55fc8b(),_0xe70012['phase']=_0xe70012[_0x142e79(0x2b3)+'d']?_0x142e79(0x269):_0x142e79(0x287)+_0x142e79(0x29f),_0xe70012[_0x142e79(0x2b8)]=_0xe70012[_0x142e79(0x2b3)+'d']?_0x15b5be(_0xe70012[_0x142e79(0x1e2)]):_0x493cc3();if(!_0xe70012['supporte'+'d']){_0x518dff();return;}autoUpdater[_0x142e79(0x241)+_0x142e79(0x20c)]=![],autoUpdater[_0x142e79(0x2db)+_0x142e79(0x1fd)+_0x142e79(0x1d7)]=![],autoUpdater['channel']=_0xe70012[_0x142e79(0x1e2)],autoUpdater['on']('checking'+'-for-upd'+_0x142e79(0x243),()=>{const _0x69582b=_0x142e79;_0x315ba9=null,_0x2a1b9a(),_0x370eb7({'phase':_0x69582b(0x298),'checkedAt':new Date()[_0x69582b(0x182)+_0x69582b(0x28f)](),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5b217b(),'error':null,'message':_0x69582b(0x1f4)});}),autoUpdater['on']('update-a'+_0x142e79(0x1d2),_0x53aa61=>{const _0x2e2b9f=_0x142e79,_0xadef57=extractUpdateInfoPatch(_0x53aa61),_0x55ae8d=compareAppVersions(_0x2d93a1(),_0xadef57[_0x2e2b9f(0x2a5)+_0x2e2b9f(0x2c7)]);if(_0x55ae8d!==_0x2e2b9f(0x190)+'ewer'){_0x315ba9=null,_0x370eb7({..._0xadef57,'phase':_0x2e2b9f(0x1d8)+_0x2e2b9f(0x180),'comparisonResult':_0x55ae8d,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5b217b(),'checkedAt':new Date()['toISOStr'+_0x2e2b9f(0x28f)](),'error':null,'message':_0x2e2b9f(0x27f)+'本'});return;}_0x315ba9=extractRemoteUpdatePackageMetadata(_0x53aa61,_0x260bfc),_0x370eb7({..._0xadef57,'phase':_0x2e2b9f(0x28c)+'e','comparisonResult':_0x55ae8d,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5b217b(),'checkedAt':new Date()[_0x2e2b9f(0x182)+'ing'](),'error':null,'message':_0xadef57[_0x2e2b9f(0x28c)+'eVersion']?_0x2e2b9f(0x208)+_0xadef57[_0x2e2b9f(0x28c)+'eVersion']:_0x2e2b9f(0x255)}),!_0x1be68f('update_a'+_0x2e2b9f(0x1d2))&&_0x242c68(_0x2e2b9f(0x27e)+_0x2e2b9f(0x1d2));}),autoUpdater['on'](_0x142e79(0x16a)+'ot-avail'+'able',_0x7330e=>{const _0x53af0e=_0x142e79;_0x315ba9=null;const _0xc77b82=extractUpdateInfoPatch(_0x7330e);_0x370eb7({..._0xc77b82,'phase':_0x53af0e(0x1d8)+'lable','comparisonResult':compareAppVersions(_0x2d93a1(),_0xc77b82[_0x53af0e(0x2a5)+_0x53af0e(0x2c7)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5b217b(),'checkedAt':new Date()[_0x53af0e(0x182)+_0x53af0e(0x28f)](),'error':null,'message':_0x53af0e(0x27f)+'本'});}),autoUpdater['on'](_0x142e79(0x224)+_0x142e79(0x279)+'s',_0x1c482b=>{const _0x1ab718=_0x142e79,_0x4939f6=extractProgressPatch(_0x1c482b),_0x855298=_0xa6eec1(_0x4939f6[_0x1ab718(0x224)+_0x1ab718(0x193)]??null);_0x370eb7({..._0x4939f6,'downloadPercent':_0x855298,'phase':_0x1ab718(0x224)+'ing',..._0x5b217b(),'error':null,'message':_0x461b1e(_0xe70012[_0x1ab718(0x28c)+'eVersion'],_0x855298)});}),autoUpdater['on'](_0x142e79(0x1b2)+_0x142e79(0x203)+'d',_0x46ba8c=>{const _0x132bff=_0x142e79,_0x163c87=extractUpdateInfoPatch(_0x46ba8c),_0x2efc8a=extractRemoteUpdatePackageMetadata(_0x46ba8c,_0x260bfc)??_0x315ba9;_0x2efc8a&&(_0x315ba9=_0x2efc8a);const _0x249a5d=_0x163c87['availabl'+_0x132bff(0x1cf)]??_0x2efc8a?.[_0x132bff(0x17b)]??_0xe70012[_0x132bff(0x28c)+_0x132bff(0x1cf)];_0x370eb7({..._0x163c87,'phase':_0x132bff(0x224)+'ed','comparisonResult':compareAppVersions(_0x2d93a1(),_0x249a5d),'hasUpdate':!![],'downloadedVersion':_0x249a5d,'downloadPercent':0x64,..._0x5b217b(),'error':null,'message':_0x249a5d?_0x132bff(0x29c)+_0x249a5d+_0x132bff(0x18f):_0x132bff(0x2bb)+'装'}),_0x10e7ea('update-d'+_0x132bff(0x203)+'d',_0x249a5d),void _0x5013f1(_0x132bff(0x1b2)+_0x132bff(0x203)+'d');}),autoUpdater['on']('error',_0x23081f=>{const _0x3af4f5=_0x142e79;if(_0x13021d&&_0xe70012[_0x3af4f5(0x173)]==='download'+'ed')return;if(_0xe70012['phase']===_0x3af4f5(0x1ed)+'ng'){_0x5b03c8(_0x23081f);return;}_0x370eb7({'phase':_0x3af4f5(0x247),'checkedAt':new Date()['toISOStr'+'ing'](),..._0x5b217b(),'error':getErrorMessage(_0x23081f),'errorCode':_0xe70012['phase']===_0x3af4f5(0x224)+_0x3af4f5(0x28f)?'download'+_0x3af4f5(0x260):_0x3af4f5(0x16e)+'ror','message':_0x3af4f5(0x254)});}),_0x518dff();}async function _0x45dfba(){const _0x27b50b=_0x2880c1;_0xc722ff(),_0x5ef8ec();if(_0x413a21)return _0x413a21;return _0x58bb4a(_0x27b50b(0x296)+_0x27b50b(0x20b)),_0x413a21=autoUpdater[_0x27b50b(0x172)+_0x27b50b(0x1af)]()[_0x27b50b(0x266)](()=>_0x16f670())[_0x27b50b(0x19c)](()=>{_0x413a21=null;}),_0x413a21;}async function _0x3d23eb(){const _0x333ea7=_0x2880c1;_0xc722ff(),_0x5ef8ec();if(_0xe70012[_0x333ea7(0x173)]===_0x333ea7(0x224)+'ed'||_0xe70012['phase']===_0x333ea7(0x1ed)+'ng')return _0x16f670();if(!_0xe70012[_0x333ea7(0x1f8)+'e'])throw new Error(_0x333ea7(0x18e)+'更新');const _0x132b0c=_0xe70012[_0x333ea7(0x173)]===_0x333ea7(0x247)&&_0xe70012[_0x333ea7(0x26e)+'e']===_0x333ea7(0x1f9)+_0x333ea7(0x247)&&Boolean(_0xe70012[_0x333ea7(0x224)+_0x333ea7(0x192)+'n']);if(_0xe70012[_0x333ea7(0x173)]===_0x333ea7(0x247)){if(_0x132b0c)_0x370eb7({'phase':'availabl'+'e','hasUpdate':!![],'availableVersion':_0xe70012[_0x333ea7(0x28c)+_0x333ea7(0x1cf)]??_0xe70012[_0x333ea7(0x224)+'edVersio'+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x5b217b(),'error':null,'message':_0x333ea7(0x1ec)+'包'});else{await _0x45dfba();if(_0xe70012[_0x333ea7(0x173)]!==_0x333ea7(0x28c)+'e')throw new Error(_0x333ea7(0x18e)+'更新');}}if(![_0x333ea7(0x28c)+'e',_0x333ea7(0x224)+'ing'][_0x333ea7(0x19b)](_0xe70012['phase']))throw new Error('当前没有可下载的'+'更新');if(_0x45f5e5)return _0x45f5e5;return _0x45f5e5=autoUpdater[_0x333ea7(0x224)+'Update']()[_0x333ea7(0x266)](()=>{const _0x3922d7=_0x333ea7;return _0xe70012[_0x3922d7(0x173)]!==_0x3922d7(0x224)+'ed'&&_0x370eb7({'phase':'error','checkedAt':new Date()['toISOStr'+_0x3922d7(0x28f)](),..._0x5b217b(),'error':_0x3922d7(0x2a3)+'安装器未就绪,请'+_0x3922d7(0x1db),'errorCode':_0x3922d7(0x224)+_0x3922d7(0x260),'message':_0x3922d7(0x2af)}),_0x16f670();})[_0x333ea7(0x19c)](()=>{_0x45f5e5=null;}),_0x45f5e5;}async function _0x576966(){const _0x159d69=_0x2880c1;_0xc722ff(),_0x5ef8ec();if(_0x3160b9)return _0x3160b9;if(_0xe70012['phase']===_0x159d69(0x1ed)+'ng')return{'ok':!![]};if(_0xe70012[_0x159d69(0x173)]!==_0x159d69(0x224)+'ed')throw new Error(_0x159d69(0x284)+_0x159d69(0x27a));return _0x3160b9=_0x5ba6e5()[_0x159d69(0x19c)](()=>{_0x3160b9=null;}),_0x3160b9;}async function _0x5ba6e5(){const _0x384f4a=_0x2880c1,_0x1d0890=_0x17f83b();_0x4cb3b2=Date[_0x384f4a(0x22a)]();const _0xb64b64=new Date(_0x4cb3b2)[_0x384f4a(0x182)+'ing']();_0x58bb4a(_0x384f4a(0x20e)+_0x384f4a(0x22c)+_0x384f4a(0x2d0)+_0x384f4a(0x214)+'d',{'event':'update_q'+'uit_and_'+_0x384f4a(0x185)+_0x384f4a(0x214)+'d','currentVersion':_0xe70012[_0x384f4a(0x218)+_0x384f4a(0x1d6)],'downloadedVersion':_0xe70012[_0x384f4a(0x224)+_0x384f4a(0x192)+'n'],'pendingPackage':_0x1d0890[_0x384f4a(0x283)+'ame'],'pendingPackageBytes':_0x1d0890[_0x384f4a(0x213)+_0x384f4a(0x191)],'nativeUpdatePrefetchInProgress':_0x13021d,'nativeUpdatePrefetchCompleted':_0x49018f}),_0x191166({'startedAt':_0xb64b64,'currentVersion':_0xe70012[_0x384f4a(0x218)+'ersion'],'downloadedVersion':_0xe70012['download'+'edVersio'+'n'],'pendingPackage':_0x1d0890['packageN'+_0x384f4a(0x1bf)],'pendingPackageBytes':_0x1d0890[_0x384f4a(0x213)+_0x384f4a(0x191)],'nativeUpdatePrefetchInProgress':_0x13021d,'nativeUpdatePrefetchCompleted':_0x49018f,'milestones':{'requestedAt':_0xb64b64}});try{const _0x898252=await _0x142742();_0x898252&&_0x2e280({'nativeUpdatePrefetchInProgress':_0x13021d,'nativeUpdatePrefetchCompleted':_0x49018f,'nativeUpdatePrefetchStatus':_0x898252,'milestones':{'nativeUpdatePrefetchWaitCompletedAt':new Date()[_0x384f4a(0x182)+'ing']()}});_0x370eb7({'phase':'installi'+'ng',..._0x5b217b(),'error':null,'message':'正在安装更新并重'+'启应用'});if(typeof _0x4bb9b1===_0x384f4a(0x1c6)){const _0x21b09e=new Date()[_0x384f4a(0x182)+_0x384f4a(0x28f)]();_0x2e280({'milestones':{'prepareStartedAt':_0x21b09e}}),_0x58bb4a(_0x384f4a(0x2b1)+_0x384f4a(0x19d)+_0x384f4a(0x1bb)+_0x384f4a(0x29f),{'event':_0x384f4a(0x1ff)+_0x384f4a(0x21b)+_0x384f4a(0x16b)+'t','elapsedMs':Date[_0x384f4a(0x22a)]()-_0x4cb3b2}),await _0x4bb9b1();const _0x41955e=new Date()[_0x384f4a(0x182)+_0x384f4a(0x28f)]();_0x2e280({'milestones':{'prepareCompletedAt':_0x41955e}}),_0x58bb4a('update\x20p'+_0x384f4a(0x19d)+_0x384f4a(0x1de)+'leted',{'event':_0x384f4a(0x1ff)+_0x384f4a(0x21b)+_0x384f4a(0x178),'elapsedMs':Date['now']()-_0x4cb3b2});}_0x78e312(),_0xc3c87b();const _0x3b515f=new Date()[_0x384f4a(0x182)+_0x384f4a(0x28f)]();_0x2e280({'milestones':{'quitAndInstallCalledAt':_0x3b515f}}),_0x58bb4a('native\x20u'+_0x384f4a(0x220)+_0x384f4a(0x26b)+'stall\x20ca'+'lled',{'event':_0x384f4a(0x230)+_0x384f4a(0x2d5)+'install_'+_0x384f4a(0x2cf),'elapsedMs':Date[_0x384f4a(0x22a)]()-_0x4cb3b2}),autoUpdater[_0x384f4a(0x1a1)+_0x384f4a(0x277)](![],!![]);}catch(_0x396940){_0x5b03c8(_0x396940);throw _0x396940;}return{'ok':!![]};}async function _0x51d768(_0x1a4187){const _0x5a4719=_0x2880c1;if(!_0x5056da())return;_0x444b9c=Date[_0x5a4719(0x22a)](),_0x58bb4a(_0x5a4719(0x2da)+_0x5a4719(0x215)+_0x5a4719(0x25b)+_0x5a4719(0x214)+'d',{'reason':_0x1a4187});try{await _0x45dfba();}catch(_0x432c92){_0x52d8fa(_0x5a4719(0x2da)+_0x5a4719(0x215)+_0x5a4719(0x25b)+_0x5a4719(0x1eb),{'reason':_0x1a4187,'error':getErrorMessage(_0x432c92)});}}function _0x5b123b(_0x48ba10){const _0x36756b=_0x2880c1;if(!_0xe70012[_0x36756b(0x2b3)+'d'])return;const _0x5e882e=Date[_0x36756b(0x22a)]()-_0x444b9c;if(_0x5e882e<_0x309287[_0x36756b(0x2da)+_0x36756b(0x1ca)+_0x36756b(0x24f)])return;void _0x51d768(_0x48ba10);}function _0x358bac(){const _0x29b6cc=_0x2880c1;_0xc722ff();if(!_0xe70012[_0x29b6cc(0x2b3)+'d']||_0x64e6fd)return;_0x64e6fd=setInterval(()=>{const _0x594ce8=_0x29b6cc;void _0x51d768(_0x594ce8(0x267));},_0x309287[_0x29b6cc(0x2da)+_0x29b6cc(0x19e)+_0x29b6cc(0x2a9)+'s']),void _0x51d768(_0x29b6cc(0x261)),_0x58bb4a('backgrou'+_0x29b6cc(0x215)+'e\x20check\x20'+'schedule'+_0x29b6cc(0x1cd)+'d',_0x309287);}function _0x1d89c6(){const _0x44c2bd=_0x2880c1;if(_0xe70012[_0x44c2bd(0x173)]!==_0x44c2bd(0x1ed)+'ng')return;_0x4bef17=!![],_0xe03ef9();const _0x2e4ff3=new Date()[_0x44c2bd(0x182)+_0x44c2bd(0x28f)]();_0x2e280({'milestones':{'beforeQuitObservedAt':_0x2e4ff3}}),_0x58bb4a(_0x44c2bd(0x1ba)+_0x44c2bd(0x23b)+_0x44c2bd(0x245)+_0x44c2bd(0x2a0),{'event':_0x44c2bd(0x2b7)+'efore_qu'+_0x44c2bd(0x1dc)+'ved','elapsedMs':typeof _0x4cb3b2===_0x44c2bd(0x222)?Date[_0x44c2bd(0x22a)]()-_0x4cb3b2:null});}function _0x5968bd(){const _0x1f2a70=_0x2880c1;return _0xe70012['phase']===_0x1f2a70(0x1ed)+'ng';}function _0x7d478f(){const _0x1ed083=_0x2880c1,_0x6e4253=_0x3a9641();if(!_0x6e4253||typeof _0x6e4253!=='object')return null;const _0x149217=new Date()[_0x1ed083(0x182)+_0x1ed083(0x28f)](),_0x29f589=Date[_0x1ed083(0x17e)](_0x6e4253[_0x1ed083(0x221)+'t']),_0x39e3e8=Number[_0x1ed083(0x209)](_0x29f589)?Date[_0x1ed083(0x22a)]()-_0x29f589:null,_0x3266e5=_0x39e3e8,_0x4e5d16=!Number[_0x1ed083(0x209)](_0x3266e5)||_0x3266e5>INSTALL_PHASE_CONTEXT_STALE_MS,_0x1301be=_0x6e4253[_0x1ed083(0x1da)+'es']&&typeof _0x6e4253[_0x1ed083(0x1da)+'es']===_0x1ed083(0x1b6)?_0x6e4253[_0x1ed083(0x1da)+'es']:{};_0x58bb4a('update\x20i'+_0x1ed083(0x2c3)+_0x1ed083(0x207)+_0x1ed083(0x29d)+'ded\x20afte'+_0x1ed083(0x2ad),{'event':_0x1ed083(0x1c1)+_0x1ed083(0x2a2)+_0x1ed083(0x2c6)+_0x1ed083(0x24e)+_0x1ed083(0x25a),'previousVersion':_0x6e4253['currentV'+_0x1ed083(0x1d6)]??null,'currentVersion':_0x2d93a1(),'downloadedVersion':_0x6e4253[_0x1ed083(0x224)+'edVersio'+'n']??null,'startedAt':_0x6e4253['startedA'+'t']??null,'bootCompletedAt':_0x149217,'contextAgeMs':_0x3266e5,'stale':_0x4e5d16,'milestones':_0x1301be});if(_0x4e5d16)return _0x52d8fa(_0x1ed083(0x17c)+_0x1ed083(0x1c8)+'tall\x20pha'+_0x1ed083(0x1f6)+_0x1ed083(0x1f1)+'ed',{'event':'update_i'+'nstall_p'+_0x1ed083(0x2c6)+_0x1ed083(0x2cd)+'le','previousVersion':_0x6e4253['currentV'+_0x1ed083(0x1d6)]??null,'currentVersion':_0x2d93a1(),'downloadedVersion':_0x6e4253[_0x1ed083(0x224)+_0x1ed083(0x192)+'n']??null,'startedAt':_0x6e4253[_0x1ed083(0x221)+'t']??null,'bootCompletedAt':_0x149217,'contextAgeMs':_0x3266e5}),_0x133be9(_0x6e4253,_0x1ed083(0x1b1)+_0x1ed083(0x26d),{'bootCompletedAt':_0x149217,'totalElapsedMs':_0x39e3e8}),_0x2fe079(),null;return _0x58bb4a(_0x1ed083(0x2c0)+'ext\x20boot'+_0x1ed083(0x263)+_0x1ed083(0x277),{'event':'update_n'+_0x1ed083(0x2d4)+'_after_i'+_0x1ed083(0x277),'previousVersion':_0x6e4253[_0x1ed083(0x218)+'ersion']??null,'currentVersion':_0x2d93a1(),'downloadedVersion':_0x6e4253[_0x1ed083(0x224)+_0x1ed083(0x192)+'n']??null,'pendingPackage':_0x6e4253[_0x1ed083(0x286)+_0x1ed083(0x2b9)]??null,'pendingPackageBytes':_0x6e4253[_0x1ed083(0x286)+_0x1ed083(0x1fe)+_0x1ed083(0x1e3)]??null,'startedAt':_0x6e4253[_0x1ed083(0x221)+'t']??null,'bootCompletedAt':_0x149217,'totalElapsedMs':_0x39e3e8,'milestones':_0x1301be}),_0x133be9(_0x6e4253,_0x1ed083(0x1cb)+'-after-b'+_0x1ed083(0x227),{'bootCompletedAt':_0x149217,'totalElapsedMs':_0x39e3e8}),_0x2fe079(),{'previousVersion':_0x6e4253[_0x1ed083(0x218)+'ersion']??null,'currentVersion':_0x2d93a1(),'downloadedVersion':_0x6e4253['download'+_0x1ed083(0x192)+'n']??null,'totalElapsedMs':_0x39e3e8,'bootCompletedAt':_0x149217};}return{'initialize':_0xc722ff,'getState':_0x16f670,'checkForUpdates':_0x45dfba,'downloadUpdate':_0x3d23eb,'quitAndInstall':_0x576966,'requestBackgroundCheck':_0x5b123b,'startBackgroundChecks':_0x358bac,'markQuitObserved':_0x1d89c6,'isInstallingUpdate':_0x5968bd,'recordBootAfterInstall':_0x7d478f};}
|
|
1
|
+
const _0x2266bc=_0x5273;function _0x5e0a(){const _0x55ca11=['install_','后的安装包中可用','etchTime','utf8','utMs','_after_i','-after-b','string','eted','ive\x20upda','checkFor','自动更新仅在打包','e\x20instal','ll\x20click','files','te-state','tart','linux','更新包校验完成但','ext_boot','ailed\x20be','isFinite','正在下载\x20','exec','percent','hasUpdat','t\x20pendin','安装更新失败','send','quested','o\x20persis','transfer','isDestro','phase','ext\x20boot','ame','interval','hell.con','install\x20','o\x20inspec','not-avai','rel_dire','45MkHQWX','eDirectC','quitAndI','resource','MacEnabl','load\x20fai','.cache','pending\x20','ait_star','signal','Percent','l\x20phase\x20','failed','already-','ror','ackage\x20v','当前构建不支持自','max','update_a','rrel\x20dir','auto\x20upd','darwin','once','l\x20packag','uit\x20and\x20','remoteVe','vailable','Library','running','8EURlff','stringif','nstall_p','s_skippe','requeste','efetch_i','finally','version','正在安装更新并重','resolve','remote-o','r\x20starte','update-a','checking','ative_pr','text_loa','\x20will\x20us','packageB','包后再试','update_p','当前没有可安装的','edVersio','t\x20instal','ytes','AppData','fo.json','Squirrel','missing_','ntext.js','-bool','allOnApp','navailab','更新安装未能启动','startup','cache\x20hi','ted','发现可用更新','leted','mac\x20squi','true','hdog\x20sta','发现本地更新包\x20','Update','channel','updaterC','ts\x20skipp','2455356axiDBw','startedA','waiting\x20','supporte','Second','ch\x20compl','备安装','_by_conf','error','sPath','当前已经是最新版','s_enable','ate\x20down','pending','toISOStr','g\x20instal','schedule','efetch_d','dater','d;\x20insta','removeLi','rsion','install','5PreQwH','able','info','rted','native\x20m','te.yml','repare_q','no\x20match','isArray','stener','ved','complete','自动更新已在\x20s','rite','5180604vTwNBQ','isPackag','pdater-u','includes','native-u','sha512','toFixed','Updates','updates','ailed','length','pp-updat','taleMs','kage','autoDown','installQ','appId','ntervalM','o\x20read\x20a','bytesPer','then','datePref','ing','aded\x20pac','ts\x20enabl','join','id\x20not\x20t','status','fore\x20nat','win32','installi','tall\x20pha','stale-af','isFile','未知的自动更新错','update_q','nstall','uitTimeo','it_obser','update-n','ending\x20p','o\x20archiv','ter\x20comp','date\x20ins','oot','update\x20p','currentV','Linux\x20下仅','getAllWi','ate','ge\x20for\x20c','outMs','e\x20prefet','eVersion','update\x20b','正在验证安装包…','\x20fallbac','download','min','sion','number','ch\x20wait\x20','update_m','kipped','nstall_w','85389fhlorF','_default','-updater','update_b','message','update\x20i','当前没有可下载的','platform','Caches','rigger\x20a','it\x20obser','\x20out','Local','nfo.json','ackage','otes','pdate-in','text\x20loa','unsuppor','自动更新已禁用','nstall\x20d','379016BGcACv','app-upda','phase\x20co','mileston','path','enabled','within\x20t','nts','自动更新功能已就','ntext.la','repare\x20q','availabl','nstall\x20f','for\x20nati','alidated','lder',',请重新校验并准','st.json','update_i','note','uit\x20comp','ersion','find','stale\x20up','e\x20check\x20','fileName','ndCheckS','uested','新版本','内自动更新','ndCheckI','alpha','test','更新准备失败','releaseN','hase\x20con','Quit','ect\x20writ','ac\x20updat','uit\x20star','efetch\x20b','failed\x20t','check\x20re','one','packageN','parse','catch','acheDirN','xt\x20ignor','stall','install-','update_n','disabled','efetch_s','ait_done','e\x20defaul','ded','动更新','正在检查更新','uit\x20watc','dataDir','ch\x20faile','map','se\x20conte','自动更新失败','ct_write','1372609CnEryQ','imeout','826130zjXobg','phase-co','function','ded\x20afte','total','push','已下载更新','ts\x20faile','load','e.yml','size','\x20AppImag','ter-boot','8olioGD','unknown','app:upda','g\x20downlo','remote-n','packagin','update-d','urrent\x20p','185266dLWRKv','ch\x20skipp','context','ha\x20更新渠道','-error','ownloade','efore_qu','update\x20q','o\x20clear\x20','called','正在重新准备更新','ac_squir','ot-avail','trim','now','object','squirrel','o\x20read\x20p','same-ver','idle','lable','hase_con','nd\x20updat','warn','-progres','-for-upd','backgrou','url','uit_and_','errorCod','更新包\x20v','pathname','nativeUp','text_sta','red','lled','consumed','ackage_v','ewer'];_0x5e0a=function(){return _0x55ca11;};return _0x5e0a();}(function(_0x3bb7ff,_0x3de8ca){const _0x812fa5=_0x5273,_0x4b4644=_0x3bb7ff();while(!![]){try{const _0x88a81=-parseInt(_0x812fa5(0x217))/0x1+parseInt(_0x812fa5(0x1be))/0x2+-parseInt(_0x812fa5(0x1a9))/0x3*(-parseInt(_0x812fa5(0x115))/0x4)+parseInt(_0x812fa5(0x15a))/0x5*(parseInt(_0x812fa5(0x143))/0x6)+-parseInt(_0x812fa5(0x200))/0x7*(parseInt(_0x812fa5(0x20f))/0x8)+-parseInt(_0x812fa5(0x268))/0x9*(-parseInt(_0x812fa5(0x202))/0xa)+-parseInt(_0x812fa5(0x168))/0xb;if(_0x88a81===_0x3de8ca)break;else _0x4b4644['push'](_0x4b4644['shift']());}catch(_0x153eb1){_0x4b4644['push'](_0x4b4644['shift']());}}}(_0x5e0a,0x34d58));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{spawnSync}from'node:child_process';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x2deaf1 from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x2deaf1,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8,DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS=0xafc8,INSTALL_PHASE_CONTEXT_STALE_MS=0x18*0x3c*0x3c*0x3e8,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY=_0x2266bc(0x12f)+'MacEnabl'+'eDirectC'+'ontentsW'+'rite';function normalizeAppUpdatePackageFileName(_0x5385b1){const _0x44c039=_0x2266bc;if(typeof _0x5385b1!=='string')return null;const _0x5c1e22=_0x5385b1[_0x44c039(0x224)]();if(!_0x5c1e22||_0x5c1e22==='.'||_0x5c1e22==='..'||_0x5c1e22['includes']('/')||_0x5c1e22[_0x44c039(0x16b)]('\x5c'))return null;return _0x5c1e22;}function isMatchingAppUpdatePackageMetadata(_0x4bb840,_0x156be3){const _0xd81562=_0x2266bc;if(!_0x4bb840||!_0x156be3||typeof _0x156be3!==_0xd81562(0x226))return![];const _0x2d7899=_0x156be3,_0x2af953=normalizeAppUpdatePackageFileName(_0x4bb840[_0xd81562(0x1d7)]),_0xc82fdc=normalizeAppUpdatePackageFileName(_0x2d7899['fileName']),_0x264481=_0x4bb840[_0xd81562(0x16d)][_0xd81562(0x224)](),_0x567994=typeof _0x2d7899[_0xd81562(0x16d)]===_0xd81562(0x245)?_0x2d7899[_0xd81562(0x16d)][_0xd81562(0x224)]():'';return Boolean(_0x2af953&&_0xc82fdc&&_0x2af953===_0xc82fdc&&_0x264481&&_0x567994&&_0x264481===_0x567994);}function normalizeAppVersion(_0x4e719f){const _0x5efdca=_0x2266bc;return clean(String(_0x4e719f??'')[_0x5efdca(0x224)]());}function compareAppVersions(_0x4148a0,_0x265b44){const _0x46d85c=_0x2266bc,_0x598ee5=normalizeAppVersion(_0x4148a0),_0x217666=normalizeAppVersion(_0x265b44);if(!_0x598ee5||!_0x217666)return _0x46d85c(0x210);const _0x22b5b7=compare(_0x217666,_0x598ee5);if(_0x22b5b7===0x0)return _0x46d85c(0x229)+_0x46d85c(0x1a3);return _0x22b5b7>0x0?'remote-n'+_0x46d85c(0x23d):_0x46d85c(0x11f)+_0x46d85c(0x1cd);}function _0x5273(_0x1cf59d,_0x29e64f){_0x1cf59d=_0x1cf59d-0x10f;const _0x5e0ac3=_0x5e0a();let _0x527395=_0x5e0ac3[_0x1cf59d];return _0x527395;}function normalizeAppUpdateChannel(_0x2c8c60){const _0x1407c4=_0x2266bc;return _0x2c8c60===_0x1407c4(0x1dd)?_0x1407c4(0x1dd):'latest';}function normalizeString(_0x5265a0){const _0x21cbae=_0x2266bc;if(typeof _0x5265a0!=='string')return null;const _0x4ae363=_0x5265a0[_0x21cbae(0x224)]();return _0x4ae363||null;}function normalizeReleaseNotes(_0x17289e){const _0x563439=_0x2266bc;if(typeof _0x17289e===_0x563439(0x245))return normalizeString(_0x17289e);if(!Array[_0x563439(0x162)](_0x17289e))return null;const _0x3f08e3=_0x17289e['flatMap'](_0x1faaa4=>{const _0x4285ba=_0x563439;if(typeof _0x1faaa4==='string'){const _0x2cac1b=normalizeString(_0x1faaa4);return _0x2cac1b?[_0x2cac1b]:[];}if(!_0x1faaa4||typeof _0x1faaa4!==_0x4285ba(0x226))return[];const _0x5daa72=normalizeString(_0x1faaa4[_0x4285ba(0x11c)]),_0x33b8d3=normalizeString(_0x1faaa4[_0x4285ba(0x1d1)]);if(_0x5daa72&&_0x33b8d3)return['v'+_0x5daa72+'\x0a'+_0x33b8d3];if(_0x33b8d3)return[_0x33b8d3];if(_0x5daa72)return['v'+_0x5daa72];return[];});return _0x3f08e3[_0x563439(0x172)]>0x0?_0x3f08e3[_0x563439(0x181)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x502e26){const _0x59ed50=_0x2266bc;if(!_0x502e26||typeof _0x502e26!==_0x59ed50(0x226))return{};return{'remoteVersion':normalizeString(_0x502e26[_0x59ed50(0x11c)]),'availableVersion':normalizeString(_0x502e26[_0x59ed50(0x11c)]),'releaseName':normalizeString(_0x502e26[_0x59ed50(0x1e0)+_0x59ed50(0x261)]),'releaseDate':normalizeString(_0x502e26['releaseD'+'ate']),'releaseNotes':normalizeReleaseNotes(_0x502e26[_0x59ed50(0x1e0)+_0x59ed50(0x1b8)])};}function extractPackageFileName(_0x8f488f){const _0x564c4f=_0x2266bc,_0x3d5331=normalizeString(_0x8f488f);if(!_0x3d5331)return null;try{const _0x44462d=new URL(_0x3d5331);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x44462d[_0x564c4f(0x236)])));}catch{const _0x1c22f8=_0x3d5331['split'](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x1c22f8));}}function getPreferredUpdatePackagePattern(){const _0x5939eb=_0x2266bc;if(process[_0x5939eb(0x1b0)]==='darwin')return/\.zip$/iu;if(process['platform']==='win32')return/\.exe$/iu;if(process[_0x5939eb(0x1b0)]===_0x5939eb(0x24f))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x5bbda9,_0x4db533){const _0x3beaef=_0x2266bc;if(!_0x5bbda9||typeof _0x5bbda9!==_0x3beaef(0x226))return null;const _0x1529a1=normalizeString(_0x5bbda9[_0x3beaef(0x11c)]);if(!_0x1529a1)return null;const _0x8491af=[],_0x195f12=Array[_0x3beaef(0x162)](_0x5bbda9[_0x3beaef(0x24c)])?_0x5bbda9[_0x3beaef(0x24c)]:[];for(const _0x33952c of _0x195f12){if(!_0x33952c||typeof _0x33952c!==_0x3beaef(0x226))continue;const _0x4d1a23=extractPackageFileName(_0x33952c[_0x3beaef(0x232)])??extractPackageFileName(_0x33952c[_0x3beaef(0x1c2)])??normalizeAppUpdatePackageFileName(_0x33952c[_0x3beaef(0x1d7)]),_0x1cd30a=normalizeString(_0x33952c[_0x3beaef(0x16d)]);_0x4d1a23&&_0x1cd30a&&_0x8491af[_0x3beaef(0x207)]({'fileName':_0x4d1a23,'sha512':_0x1cd30a});}const _0x4a909a=extractPackageFileName(_0x5bbda9[_0x3beaef(0x232)])??extractPackageFileName(_0x5bbda9['path'])??normalizeAppUpdatePackageFileName(_0x5bbda9[_0x3beaef(0x1d7)]),_0x2e57f3=normalizeString(_0x5bbda9['sha512']);_0x4a909a&&_0x2e57f3&&_0x8491af[_0x3beaef(0x207)]({'fileName':_0x4a909a,'sha512':_0x2e57f3});const _0x1c969c=_0x8491af[_0x3beaef(0x1d4)](_0x41be64=>getPreferredUpdatePackagePattern()['test'](_0x41be64[_0x3beaef(0x1d7)]));if(!_0x1c969c)return _0x4db533?.[_0x3beaef(0x22e)]?.(_0x3beaef(0x161)+'ing\x20upda'+'te\x20packa'+_0x3beaef(0x19a)+_0x3beaef(0x216)+'latform',{'platform':process['platform'],'candidates':_0x8491af[_0x3beaef(0x1fc)](_0x5a5f0a=>_0x5a5f0a[_0x3beaef(0x1d7)])}),null;return{'version':_0x1529a1,..._0x1c969c};}function extractProgressPatch(_0x21b82a){const _0x5a8091=_0x2266bc;return{'downloadPercent':typeof _0x21b82a[_0x5a8091(0x256)]===_0x5a8091(0x1a4)?_0x21b82a[_0x5a8091(0x256)]:null,'bytesPerSecond':typeof _0x21b82a[_0x5a8091(0x17b)+'Second']===_0x5a8091(0x1a4)?_0x21b82a[_0x5a8091(0x17b)+_0x5a8091(0x147)]:null,'transferredBytes':typeof _0x21b82a[_0x5a8091(0x25d)+_0x5a8091(0x239)]===_0x5a8091(0x1a4)?_0x21b82a['transfer'+_0x5a8091(0x239)]:null,'totalBytes':typeof _0x21b82a[_0x5a8091(0x206)]===_0x5a8091(0x1a4)?_0x21b82a[_0x5a8091(0x206)]:null};}function getErrorMessage(_0x20337d){const _0x510ebf=_0x2266bc;if(_0x20337d instanceof Error&&_0x20337d[_0x510ebf(0x1ad)]['trim']())return _0x20337d[_0x510ebf(0x1ad)][_0x510ebf(0x224)]();if(typeof _0x20337d==='string'&&_0x20337d[_0x510ebf(0x224)]())return _0x20337d[_0x510ebf(0x224)]();return _0x510ebf(0x18a)+'误';}function getMacSquirrelDirectWriteDefaultsDomains(_0x4b920b){const _0x4a8251=normalizeString(_0x4b920b);if(!_0x4a8251)return[];return[_0x4a8251,_0x4a8251+'.ShipIt'];}function isSuccessfulCommandResult(_0x7f00eb){const _0x4a37a6=_0x2266bc;return!_0x7f00eb?.[_0x4a37a6(0x14b)]&&!_0x7f00eb?.[_0x4a37a6(0x271)]&&(typeof _0x7f00eb?.[_0x4a37a6(0x183)]!=='number'||_0x7f00eb[_0x4a37a6(0x183)]===0x0);}function readJsonFile(_0x4b19cf){const _0x25282e=_0x2266bc;if(!existsSync(_0x4b19cf))return null;try{return JSON[_0x25282e(0x1eb)](readFileSync(_0x4b19cf,_0x25282e(0x241)));}catch{return null;}}export function createUpdateController({shellConfig:_0x5cfaca,appName:_0x2119c6,appVersion:_0x13cd18,broadcast:_0xb5ac67,logger:_0x52caac,prepareQuitAndInstall:_0x2eafda,defaultsCommandRunner:defaultsCommandRunner=spawnSync}){const _0x27061e=_0x2266bc,_0x5e5e73=_0x5cfaca[_0x27061e(0x170)]??{},_0xcecf21=normalizeAppUpdateChannel(_0x5e5e73[_0x27061e(0x140)]),_0x408ead={'backgroundCheckIntervalMs':_0x5e5e73[_0x27061e(0x231)+'ndCheckI'+_0x27061e(0x179)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x5e5e73[_0x27061e(0x231)+_0x27061e(0x1d8)+_0x27061e(0x174)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x5e5e73[_0x27061e(0x177)+_0x27061e(0x18d)+'utMs']??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'nativeUpdatePrefetchTimeoutMs':_0x5e5e73[_0x27061e(0x237)+_0x27061e(0x17d)+_0x27061e(0x240)+_0x27061e(0x19b)]??DEFAULT_NATIVE_UPDATE_PREFETCH_TIMEOUT_MS,'autoDownload':_0x5e5e73['autoDown'+_0x27061e(0x20a)]===!![]},_0x891713={'supported':![],'channel':_0xcecf21,'phase':_0x27061e(0x1bb)+_0x27061e(0x138),'currentVersion':_0x13cd18(),'remoteVersion':null,'comparisonResult':_0x27061e(0x210),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x27061e(0x1bc),'error':null,'errorCode':null};let _0x12482c=![],_0x5a6e4c=null,_0x459c65=null,_0x1e5f0a=null,_0x279f40=null,_0x3f9286=null,_0x30958f=null,_0x3f2041=![],_0x308c26=null,_0x3790ba=0x0,_0x5d61e6=null,_0x336f0e=null,_0x156750=![],_0xf0dfbc=![],_0x50fcf1=null;function _0x3974c2(){const _0x15e3fe=_0x27061e;if(process['platform']==='darwin')return join(homedir(),_0x15e3fe(0x113),_0x15e3fe(0x1b1));if(process['platform']===_0x15e3fe(0x185))return process.env.LOCALAPPDATA??join(homedir(),_0x15e3fe(0x12d),_0x15e3fe(0x1b5));return process.env.XDG_CACHE_HOME??join(homedir(),_0x15e3fe(0x26e));}function _0x3bb40f(){const _0x1d8821=_0x27061e;if(!app['isPackag'+'ed']||!process[_0x1d8821(0x26b)+'sPath'])return{};const _0x3b032b=join(process['resource'+_0x1d8821(0x14c)],_0x1d8821(0x1bf)+_0x1d8821(0x15f));if(!existsSync(_0x3b032b))return{};try{const _0x32940f=readFileSync(_0x3b032b,_0x1d8821(0x241)),_0x4a6bf0=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu['exec'](_0x32940f),_0x542270=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x1d8821(0x255)](_0x32940f);return{'channel':normalizeAppUpdateChannel(_0x4a6bf0?.[0x1]),'updaterCacheDirName':normalizeString(_0x542270?.[0x1])};}catch(_0x4951ce){return _0x52caac?.[_0x1d8821(0x22e)]?.(_0x1d8821(0x1e7)+_0x1d8821(0x17a)+_0x1d8821(0x173)+_0x1d8821(0x20b),{'error':getErrorMessage(_0x4951ce)}),{};}}const _0x159641=_0x3bb40f();_0x159641[_0x27061e(0x140)]&&(_0x891713[_0x27061e(0x140)]=_0x159641['channel']);function _0xc472c0(){const _0xbd273=_0x27061e,_0x5359b6=_0x159641[_0xbd273(0x141)+_0xbd273(0x1ed)+_0xbd273(0x261)]||_0x2119c6()+_0xbd273(0x1ab);return join(_0x3974c2(),_0x5359b6);}function _0xece960(_0x5c2c3b){const _0x138178=_0x27061e;return _0x5c2c3b===_0x138178(0x1dd)?'当前使用\x20Alp'+_0x138178(0x21a):_0x138178(0x1c6)+'绪';}function _0x1a24fb(){const _0x19a331=_0x27061e;if(_0x5e5e73[_0x19a331(0x1c3)]===![])return![];if(!app[_0x19a331(0x169)+'ed'])return![];if(process['platform']!==_0x19a331(0x24f))return!![];return Boolean(process.env.APPIMAGE);}function _0x52aa31(){const _0x34a898=_0x27061e;if(_0x5e5e73[_0x34a898(0x1c3)]===![])return _0x34a898(0x166)+_0x34a898(0x263)+'fig\x20中禁用';if(!app[_0x34a898(0x169)+'ed'])return _0x34a898(0x249)+_0x34a898(0x23f);if(process[_0x34a898(0x1b0)]==='linux')return _0x34a898(0x197)+_0x34a898(0x20d)+'e\x20版本支持应用'+_0x34a898(0x1db);return _0x34a898(0x278)+_0x34a898(0x1f7);}function _0x106370(){const _0x228644=_0x27061e;return join(_0x5cfaca[_0x228644(0x1fa)],_0x228644(0x1f0)+_0x228644(0x203)+_0x228644(0x131)+'on');}function _0xf14087(){const _0x2c215f=_0x27061e;return join(_0x5cfaca[_0x2c215f(0x1fa)],_0x2c215f(0x1f0)+_0x2c215f(0x203)+_0x2c215f(0x1c7)+_0x2c215f(0x1cf));}function _0x1776bb(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x5f0e41(){return{..._0x891713};}function _0x2fb745(){const _0x362279=_0x27061e,_0x3f4575=_0x5f0e41();for(const _0x422218 of BrowserWindow[_0x362279(0x198)+'ndows']()){!_0x422218[_0x362279(0x25e)+'yed']()&&_0x422218['webConte'+_0x362279(0x1c5)][_0x362279(0x25a)](_0x362279(0x211)+_0x362279(0x24d),_0x3f4575);}_0xb5ac67?.(_0x362279(0x211)+'te-state',_0x3f4575);}function _0x3cbbc1(_0x1cb5e3){const _0x436e77=_0x27061e,_0x10baa5={..._0x1cb5e3};_0x10baa5['error']===null&&_0x10baa5[_0x436e77(0x234)+'e']===undefined&&(_0x10baa5['errorCod'+'e']=null),Object['assign'](_0x891713,_0x10baa5,{'currentVersion':_0x13cd18()}),_0x2fb745();}function _0x298125(){const _0x4f1de4=_0x27061e;if(!_0x891713[_0x4f1de4(0x146)+'d'])throw new Error(_0x52aa31());}function _0x1cc4ef(_0x568855,_0x14adde={}){const _0x545960=_0x27061e;_0x52caac?.[_0x545960(0x15c)]?.(_0x568855,_0x14adde);}function _0x4cc516(_0x350e3f,_0x89cee3={}){const _0x475ec5=_0x27061e;_0x52caac?.[_0x475ec5(0x22e)]?.(_0x350e3f,_0x89cee3);}function _0x3a1212(){const _0x5cea6c=_0x27061e;if(process[_0x5cea6c(0x1b0)]!=='darwin')return;if(_0x5cfaca[_0x5cea6c(0x214)+'g']?.['mac']?.[_0x5cea6c(0x227)+_0x5cea6c(0x26c)+_0x5cea6c(0x269)+'ontentsW'+_0x5cea6c(0x167)]===![]){_0x1cc4ef(_0x5cea6c(0x13b)+'rrel\x20dir'+_0x5cea6c(0x1e3)+'e\x20defaul'+'ts\x20skipp'+'ed',{'event':_0x5cea6c(0x1a6)+_0x5cea6c(0x222)+_0x5cea6c(0x267)+_0x5cea6c(0x1ff)+_0x5cea6c(0x1aa)+'s_skippe'+'d','reason':_0x5cea6c(0x1f2)+_0x5cea6c(0x14a)+'ig'});return;}const _0x242443=getMacSquirrelDirectWriteDefaultsDomains(_0x5cfaca[_0x5cea6c(0x178)]);if(_0x242443[_0x5cea6c(0x172)]===0x0){_0x4cc516(_0x5cea6c(0x13b)+_0x5cea6c(0x27b)+'ect\x20writ'+_0x5cea6c(0x1f5)+_0x5cea6c(0x142)+'ed',{'event':_0x5cea6c(0x1a6)+_0x5cea6c(0x222)+_0x5cea6c(0x267)+_0x5cea6c(0x1ff)+_0x5cea6c(0x1aa)+_0x5cea6c(0x118)+'d','reason':_0x5cea6c(0x130)+'app_id'});return;}const _0x3e8dcb=[];for(const _0x203734 of _0x242443){try{const _0x1a4d28=defaultsCommandRunner('defaults',['write',_0x203734,SQUIRREL_DIRECT_WRITE_DEFAULTS_KEY,_0x5cea6c(0x132),_0x5cea6c(0x13c)],{'stdio':'ignore'});!isSuccessfulCommandResult(_0x1a4d28)&&_0x3e8dcb[_0x5cea6c(0x207)]({'domain':_0x203734,'status':_0x1a4d28?.['status']??null,'signal':_0x1a4d28?.[_0x5cea6c(0x271)]??null,'error':_0x1a4d28?.['error']?getErrorMessage(_0x1a4d28[_0x5cea6c(0x14b)]):null});}catch(_0x5e91ee){_0x3e8dcb[_0x5cea6c(0x207)]({'domain':_0x203734,'status':null,'signal':null,'error':getErrorMessage(_0x5e91ee)});}}if(_0x3e8dcb[_0x5cea6c(0x172)]>0x0){_0x4cc516(_0x5cea6c(0x13b)+_0x5cea6c(0x27b)+_0x5cea6c(0x1e3)+_0x5cea6c(0x1f5)+_0x5cea6c(0x209)+'d',{'event':_0x5cea6c(0x1a6)+_0x5cea6c(0x222)+_0x5cea6c(0x267)+'ct_write'+_0x5cea6c(0x1aa)+'s_failed','domains':_0x242443,'failures':_0x3e8dcb});return;}_0x1cc4ef(_0x5cea6c(0x13b)+_0x5cea6c(0x27b)+_0x5cea6c(0x1e3)+_0x5cea6c(0x1f5)+_0x5cea6c(0x180)+'ed',{'event':'update_m'+'ac_squir'+'rel_dire'+_0x5cea6c(0x1ff)+_0x5cea6c(0x1aa)+_0x5cea6c(0x14e)+'d','domains':_0x242443});}function _0x5e8fc6(){const _0x2c5da3=_0x27061e;if(process[_0x2c5da3(0x1b0)]!=='darwin')return null;const _0x5aae1f=autoUpdater?.[_0x2c5da3(0x237)+_0x2c5da3(0x155)];if(!_0x5aae1f||typeof _0x5aae1f[_0x2c5da3(0x248)+_0x2c5da3(0x16f)]!=='function')return null;return _0x5aae1f;}function _0x31dff4(){if(!_0x336f0e)return;clearTimeout(_0x336f0e),_0x336f0e=null;}function _0x1a3983(){const _0x5da5a9=_0x27061e;typeof _0x50fcf1===_0x5da5a9(0x204)&&_0x50fcf1(),_0x31dff4(),_0x5d61e6=null,_0x156750=![],_0xf0dfbc=![],_0x50fcf1=null;}function _0x4a93fa(_0x461c00){const _0x47761e=_0x27061e;if(typeof _0x461c00!==_0x47761e(0x1a4)||!Number[_0x47761e(0x253)](_0x461c00))return null;const _0x25a60e=Math[_0x47761e(0x1a2)](0x63,Math[_0x47761e(0x279)](0x0,_0x461c00));if(_0x891713[_0x47761e(0x25f)]!==_0x47761e(0x1a1)+_0x47761e(0x17e)||typeof _0x891713[_0x47761e(0x1a1)+'Percent']!==_0x47761e(0x1a4))return _0x25a60e;return Math[_0x47761e(0x279)](_0x891713[_0x47761e(0x1a1)+'Percent'],_0x25a60e);}function _0x5f5712(_0x456cae,_0x1efa3a){const _0xfca169=_0x27061e,_0x16fcae=_0x456cae?'v'+_0x456cae:_0xfca169(0x1da);if(typeof _0x1efa3a==='number'){if(_0x1efa3a>=0x63)return _0xfca169(0x19f);return _0xfca169(0x254)+_0x16fcae+'\x20('+_0x1efa3a[_0xfca169(0x16e)](0x1)+'%)';}return _0xfca169(0x254)+_0x16fcae;}function _0x24290d(_0x2c69e4){const _0xe0c803=_0x27061e;if(!_0x408ead[_0xe0c803(0x176)+_0xe0c803(0x20a)])return;if(_0x459c65||_0x891713[_0xe0c803(0x25f)]!==_0xe0c803(0x1c9)+'e'||!_0x891713[_0xe0c803(0x257)+'e'])return;_0x1cc4ef(_0xe0c803(0x27c)+_0xe0c803(0x14f)+'load\x20req'+_0xe0c803(0x1d9),{'reason':_0x2c69e4,'availableVersion':_0x891713[_0xe0c803(0x1c9)+_0xe0c803(0x19d)]}),void _0x55775e()['catch'](_0x179b11=>{const _0x4ec123=_0xe0c803;_0x4cc516(_0x4ec123(0x27c)+_0x4ec123(0x14f)+_0x4ec123(0x26d)+'led',{'reason':_0x2c69e4,'error':getErrorMessage(_0x179b11)});});}function _0x7a2fb0(_0x34c800){const _0x302760=_0x27061e;try{writeFileSync(_0x106370(),JSON[_0x302760(0x116)+'y'](_0x34c800,null,0x2),_0x302760(0x241));}catch(_0x5d7def){_0x4cc516(_0x302760(0x1e7)+_0x302760(0x25c)+_0x302760(0x12b)+'l\x20phase\x20'+'context',{'error':getErrorMessage(_0x5d7def)});}}function _0x5e5d0c(){return readJsonFile(_0x106370());}function _0x2b798f(_0x5875a1,_0x288f29,_0x11ce21={}){const _0x575224=_0x27061e;try{writeFileSync(_0xf14087(),JSON['stringif'+'y']({..._0x5875a1,..._0x11ce21,'archivedAt':new Date()['toISOStr'+_0x575224(0x17e)](),'archiveReason':_0x288f29},null,0x2),_0x575224(0x241));}catch(_0xfed756){_0x4cc516(_0x575224(0x1e7)+_0x575224(0x191)+_0x575224(0x24a)+_0x575224(0x273)+_0x575224(0x219),{'reason':_0x288f29,'error':getErrorMessage(_0xfed756)});}}function _0x3cfa5f(_0x1a0c14){const _0x1491fc=_0x27061e,_0x21da29=_0x5e5d0c();if(!_0x21da29||typeof _0x21da29!==_0x1491fc(0x226))return;_0x7a2fb0({..._0x21da29,..._0x1a0c14,'milestones':{..._0x21da29[_0x1491fc(0x1c1)+'es']&&typeof _0x21da29[_0x1491fc(0x1c1)+'es']==='object'?_0x21da29[_0x1491fc(0x1c1)+'es']:{},..._0x1a0c14[_0x1491fc(0x1c1)+'es']??{}}});}function _0x5e25bc(){const _0x184d7d=_0x27061e;try{rmSync(_0x106370(),{'force':!![]});}catch(_0x173762){_0x4cc516(_0x184d7d(0x1e7)+_0x184d7d(0x21f)+_0x184d7d(0x264)+_0x184d7d(0x1c0)+'ntext',{'error':getErrorMessage(_0x173762)});}}function _0x2ea9e9(){const _0x10c1b8=_0x27061e,_0x1c6235=join(_0xc472c0(),'pending');if(!existsSync(_0x1c6235))return{'packageName':null,'packageBytes':null};try{const _0x37e2c4=readdirSync(_0x1c6235)['find'](_0x4674ac=>/\.(zip|exe|dmg|AppImage)$/iu[_0x10c1b8(0x1de)](_0x4674ac))??null;if(!_0x37e2c4)return{'packageName':null,'packageBytes':null};const _0x339c5a=join(_0x1c6235,_0x37e2c4);return{'packageName':_0x37e2c4,'packageBytes':statSync(_0x339c5a)[_0x10c1b8(0x20c)]};}catch(_0xe69307){return _0x4cc516(_0x10c1b8(0x1e7)+'o\x20inspec'+_0x10c1b8(0x258)+_0x10c1b8(0x152)+_0x10c1b8(0x10f)+'e',{'error':getErrorMessage(_0xe69307)}),{'packageName':null,'packageBytes':null};}}function _0x1960de(){const _0x3f3594=_0x27061e;if(!_0x279f40)return null;const _0xc50aaf=join(_0xc472c0(),_0x3f3594(0x150)),_0x4d0033=join(_0xc50aaf,'update-i'+_0x3f3594(0x1b6));if(!existsSync(_0x4d0033))return null;let _0x1e016d=null;try{_0x1e016d=JSON['parse'](readFileSync(_0x4d0033,_0x3f3594(0x241)));}catch(_0x5426da){return _0x4cc516(_0x3f3594(0x1e7)+_0x3f3594(0x228)+'ending\x20u'+_0x3f3594(0x1b9)+_0x3f3594(0x12e),{'error':getErrorMessage(_0x5426da)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x279f40,_0x1e016d))return null;const _0x416d38=join(_0xc50aaf,_0x279f40[_0x3f3594(0x1d7)]);if(!existsSync(_0x416d38))return null;try{const _0x2cdf6c=statSync(_0x416d38);if(!_0x2cdf6c[_0x3f3594(0x189)]()||_0x2cdf6c['size']===0x0)return null;return{'metadata':_0x279f40,'packageName':_0x279f40[_0x3f3594(0x1d7)],'packageBytes':_0x2cdf6c[_0x3f3594(0x20c)]};}catch(_0x3ae02c){return _0x4cc516(_0x3f3594(0x1e7)+_0x3f3594(0x265)+'t\x20pendin'+_0x3f3594(0x212)+_0x3f3594(0x17f)+_0x3f3594(0x175),{'error':getErrorMessage(_0x3ae02c)}),null;}}function _0x46b197(_0x31e503){const _0x1d9723=_0x27061e,_0x62c060=_0x1960de();if(!_0x62c060)return![];const {metadata:_0x5170c9,packageName:_0xe74833,packageBytes:_0x90dc68}=_0x62c060;return _0x1cc4ef(_0x1d9723(0x26f)+'package\x20'+_0x1d9723(0x137)+'t',{'reason':_0x31e503,'version':_0x5170c9[_0x1d9723(0x11c)],'packageName':_0xe74833,'packageBytes':_0x90dc68}),_0x3cbbc1({'phase':'availabl'+'e','remoteVersion':_0x5170c9[_0x1d9723(0x11c)],'comparisonResult':_0x1d9723(0x213)+_0x1d9723(0x23d),'hasUpdate':!![],'availableVersion':_0x5170c9[_0x1d9723(0x11c)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x90dc68,'totalBytes':_0x90dc68,'hasPendingPackage':!![],'pendingPackageName':_0xe74833,'pendingPackageBytes':_0x90dc68,'error':null,'message':_0x1d9723(0x13e)+'v'+_0x5170c9[_0x1d9723(0x11c)]+(_0x1d9723(0x1ce)+_0x1d9723(0x149))}),!![];}function _0x4d2062(_0x56c9d4,_0x38a4a4){const _0x495c78=_0x27061e,_0x3ee762=_0x2ea9e9();_0x1cc4ef(_0x495c78(0x195)+_0x495c78(0x190)+_0x495c78(0x277)+_0x495c78(0x1cc),{'event':_0x495c78(0x128)+'ending_p'+_0x495c78(0x23c)+_0x495c78(0x1cc),'reason':_0x56c9d4,'validator':'electron'+_0x495c78(0x1ab),'currentVersion':_0x891713[_0x495c78(0x196)+_0x495c78(0x1d3)],'downloadedVersion':_0x38a4a4,'pendingPackage':_0x3ee762[_0x495c78(0x1ea)+_0x495c78(0x261)],'pendingPackageBytes':_0x3ee762[_0x495c78(0x126)+_0x495c78(0x12c)],'sha512Validated':!![]});}function _0xd428ee(_0x3149c7){const _0x2bc989=_0x27061e;if(_0xf0dfbc)return _0x1cc4ef(_0x2bc989(0x15e)+_0x2bc989(0x1e4)+_0x2bc989(0x19c)+'ch\x20skipp'+'ed',{'event':'update_n'+'ative_pr'+_0x2bc989(0x1f3)+_0x2bc989(0x1a7),'reason':_0x3149c7,'skipReason':'already-'+_0x2bc989(0x165)+'d','downloadedVersion':_0x891713[_0x2bc989(0x1a1)+'edVersio'+'n']}),_0x5d61e6??Promise[_0x2bc989(0x11e)](_0x2bc989(0x275)+_0x2bc989(0x165)+'d');if(_0x5d61e6)return _0x1cc4ef('native\x20m'+_0x2bc989(0x1e4)+_0x2bc989(0x19c)+_0x2bc989(0x218)+'ed',{'event':_0x2bc989(0x1f1)+_0x2bc989(0x123)+_0x2bc989(0x1f3)+_0x2bc989(0x1a7),'reason':_0x3149c7,'skipReason':_0x2bc989(0x275)+_0x2bc989(0x114),'downloadedVersion':_0x891713[_0x2bc989(0x1a1)+_0x2bc989(0x12a)+'n']}),_0x5d61e6;const _0x4eab34=_0x5e8fc6();if(!_0x4eab34)return process[_0x2bc989(0x1b0)]===_0x2bc989(0x27d)&&_0x4cc516(_0x2bc989(0x15e)+_0x2bc989(0x1e4)+'e\x20prefet'+_0x2bc989(0x218)+'ed',{'event':_0x2bc989(0x1f1)+_0x2bc989(0x123)+_0x2bc989(0x1f3)+'kipped','reason':_0x3149c7,'skipReason':_0x2bc989(0x16c)+_0x2bc989(0x16a)+_0x2bc989(0x134)+'le','downloadedVersion':_0x891713[_0x2bc989(0x1a1)+'edVersio'+'n']}),Promise[_0x2bc989(0x11e)](_0x2bc989(0x1bb)+_0x2bc989(0x138));_0x156750=!![];const _0x32292b=Date[_0x2bc989(0x225)]();return _0x1cc4ef(_0x2bc989(0x15e)+_0x2bc989(0x1e4)+_0x2bc989(0x19c)+'ch\x20start'+'ed',{'event':_0x2bc989(0x1f1)+'ative_pr'+_0x2bc989(0x1f3)+_0x2bc989(0x24e),'reason':_0x3149c7,'currentVersion':_0x891713[_0x2bc989(0x196)+_0x2bc989(0x1d3)],'downloadedVersion':_0x891713[_0x2bc989(0x1a1)+_0x2bc989(0x12a)+'n'],'timeoutMs':_0x408ead['nativeUp'+'datePref'+_0x2bc989(0x240)+_0x2bc989(0x19b)]}),_0x5d61e6=new Promise(_0x2f1a31=>{const _0xf07dad=_0x2bc989;let _0x1e4206=![];const _0x6c3e1f=(_0x4e5ca8,_0x5e9f5c=null)=>{const _0x40a617=_0x5273;if(_0x1e4206)return;_0x1e4206=!![],_0x50fcf1?.(),_0x31dff4(),_0x156750=![],_0xf0dfbc=_0x4e5ca8==='complete'+'d',_0x50fcf1=null;const _0x561d17=Date[_0x40a617(0x225)]()-_0x32292b;_0x4e5ca8===_0x40a617(0x165)+'d'?_0x1cc4ef(_0x40a617(0x15e)+_0x40a617(0x1e4)+'e\x20prefet'+_0x40a617(0x148)+_0x40a617(0x246),{'event':_0x40a617(0x1f1)+'ative_pr'+_0x40a617(0x154)+_0x40a617(0x1e9),'reason':_0x3149c7,'elapsedMs':_0x561d17,'downloadedVersion':_0x891713[_0x40a617(0x1a1)+_0x40a617(0x12a)+'n']}):_0x4cc516(_0x40a617(0x15e)+_0x40a617(0x1e4)+_0x40a617(0x19c)+_0x40a617(0x1fb)+_0x40a617(0x156)+_0x40a617(0x24b)+_0x40a617(0x125)+'e\x20native'+_0x40a617(0x1a0)+'k',{'event':_0x40a617(0x1f1)+_0x40a617(0x123)+'efetch_f'+_0x40a617(0x171),'reason':_0x3149c7,'elapsedMs':_0x561d17,'downloadedVersion':_0x891713['download'+_0x40a617(0x12a)+'n'],'error':getErrorMessage(_0x5e9f5c)}),_0x2f1a31(_0x4e5ca8);},_0x541097=()=>_0x6c3e1f('complete'+'d'),_0x532a2d=_0x55f602=>_0x6c3e1f(_0xf07dad(0x274),_0x55f602);_0x50fcf1=()=>{const _0x31adbd=_0xf07dad;_0x4eab34['removeLi'+_0x31adbd(0x163)]?.(_0x31adbd(0x215)+_0x31adbd(0x21c)+'d',_0x541097),_0x4eab34[_0x31adbd(0x157)+_0x31adbd(0x163)]?.(_0x31adbd(0x14b),_0x532a2d);},_0x4eab34['once']?.(_0xf07dad(0x215)+_0xf07dad(0x21c)+'d',_0x541097),_0x4eab34[_0xf07dad(0x27e)]?.(_0xf07dad(0x14b),_0x532a2d),_0x336f0e=setTimeout(()=>{const _0x4bc99d=_0xf07dad;_0x6c3e1f(_0x4bc99d(0x274),new Error(_0x4bc99d(0x15e)+_0x4bc99d(0x1e4)+_0x4bc99d(0x19c)+'ch\x20timed'+_0x4bc99d(0x1b4)));},_0x408ead['nativeUp'+_0xf07dad(0x17d)+_0xf07dad(0x240)+'outMs']);try{const _0x55b23a=_0x4eab34[_0xf07dad(0x248)+_0xf07dad(0x16f)]();_0x55b23a&&typeof _0x55b23a[_0xf07dad(0x17c)]==='function'&&_0x55b23a[_0xf07dad(0x1ec)](_0x532a2d);}catch(_0xb3d70b){_0x6c3e1f(_0xf07dad(0x274),_0xb3d70b);}})[_0x2bc989(0x11b)](()=>{_0x5d61e6=null;}),_0x5d61e6;}async function _0x32ada0(){const _0xd967e6=_0x27061e;if(!_0x156750||!_0x5d61e6)return null;const _0x498bb8=Date[_0xd967e6(0x225)]();_0x1cc4ef(_0xd967e6(0x145)+_0xd967e6(0x1cb)+'ve\x20mac\x20u'+'pdate\x20pr'+_0xd967e6(0x1e6)+'efore\x20in'+_0xd967e6(0x1ef),{'event':_0xd967e6(0x1f1)+_0xd967e6(0x123)+_0xd967e6(0x11a)+_0xd967e6(0x1a8)+_0xd967e6(0x270)+'t','downloadedVersion':_0x891713[_0xd967e6(0x1a1)+'edVersio'+'n']});const _0x28174c=await _0x5d61e6,_0x2dc498=Date[_0xd967e6(0x225)]()-_0x498bb8,_0x328d23=_0x28174c==='complete'+'d'?_0x1cc4ef:_0x4cc516;return _0x328d23(_0xd967e6(0x15e)+_0xd967e6(0x1e4)+_0xd967e6(0x19c)+_0xd967e6(0x1a5)+'finished'+'\x20before\x20'+_0xd967e6(0x159),{'event':'update_n'+'ative_pr'+_0xd967e6(0x11a)+_0xd967e6(0x1a8)+_0xd967e6(0x1f4),'status':_0x28174c,'elapsedMs':_0x2dc498,'downloadedVersion':_0x891713[_0xd967e6(0x1a1)+_0xd967e6(0x12a)+'n']}),_0x28174c;}function _0x40b8b1(){const _0x1f3100=_0x27061e;return _0x891713[_0x1f3100(0x146)+'d']&&!_0x5a6e4c&&!_0x459c65&&['idle',_0x1f3100(0x266)+_0x1f3100(0x22b),'error']['includes'](_0x891713[_0x1f3100(0x25f)]);}function _0x3f5598(){if(!_0x30958f)return;clearTimeout(_0x30958f),_0x30958f=null;}function _0xfdbac3(_0x2851f9){const _0x2670b0=_0x27061e,_0x1f404f=_0x891713[_0x2670b0(0x1a1)+'edVersio'+'n'],_0x3292d9=_0x891713['availabl'+_0x2670b0(0x19d)],_0x51cbe2=new Date()[_0x2670b0(0x151)+_0x2670b0(0x17e)]();_0x3cfa5f({'failedAt':_0x51cbe2,'error':getErrorMessage(_0x2851f9),'milestones':{'failedAt':_0x51cbe2}}),_0x4cc516(_0x2670b0(0x1ae)+_0x2670b0(0x1ca)+_0x2670b0(0x252)+_0x2670b0(0x184)+_0x2670b0(0x247)+_0x2670b0(0x192)+_0x2670b0(0x13a),{'error':getErrorMessage(_0x2851f9),'downloadedVersion':_0x1f404f,'availableVersion':_0x3292d9}),_0x3f9286=null,_0x3f2041=![],_0x3f5598(),_0x5e25bc(),_0x3cbbc1({'phase':_0x2670b0(0x14b),'checkedAt':new Date()[_0x2670b0(0x151)+'ing'](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x3292d9??_0x1f404f,'downloadedVersion':_0x1f404f,'error':getErrorMessage(_0x2851f9),'errorCode':_0x2670b0(0x1f0)+_0x2670b0(0x14b),'message':_0x2670b0(0x259)});}function _0x40d04b(){const _0x4b42c3=_0x27061e;_0x3f5598(),_0x3f2041=![],_0x1cc4ef(_0x4b42c3(0x1ae)+'nstall\x20q'+_0x4b42c3(0x1f9)+_0x4b42c3(0x13d)+_0x4b42c3(0x15d),{'timeoutMs':_0x408ead[_0x4b42c3(0x177)+_0x4b42c3(0x18d)+_0x4b42c3(0x242)],'downloadedVersion':_0x891713[_0x4b42c3(0x1a1)+_0x4b42c3(0x12a)+'n'],'currentVersion':_0x891713[_0x4b42c3(0x196)+_0x4b42c3(0x1d3)]}),_0x30958f=setTimeout(()=>{const _0x200f6f=_0x4b42c3;if(_0x3f2041||_0x891713['phase']!=='installi'+'ng')return;_0x4cc516('quitAndI'+_0x200f6f(0x1bd)+_0x200f6f(0x182)+_0x200f6f(0x1b2)+'pp\x20quit\x20'+_0x200f6f(0x1c4)+_0x200f6f(0x201),{'downloadedVersion':_0x891713[_0x200f6f(0x1a1)+'edVersio'+'n'],'currentVersion':_0x891713['currentV'+_0x200f6f(0x1d3)]}),_0xfdbac3(new Error(_0x200f6f(0x135)+',请重新下载更新'+_0x200f6f(0x127)));},_0x408ead[_0x4b42c3(0x177)+_0x4b42c3(0x18d)+_0x4b42c3(0x242)]);}function _0x42b1a0(){const _0xb98874=_0x27061e;if(_0x12482c)return;_0x12482c=!![],_0x891713[_0xb98874(0x146)+'d']=_0x1a24fb(),_0x891713[_0xb98874(0x25f)]=_0x891713['supporte'+'d']?_0xb98874(0x22a):_0xb98874(0x1bb)+_0xb98874(0x138),_0x891713[_0xb98874(0x1ad)]=_0x891713[_0xb98874(0x146)+'d']?_0xece960(_0x891713[_0xb98874(0x140)]):_0x52aa31();if(!_0x891713[_0xb98874(0x146)+'d']){_0x2fb745();return;}autoUpdater[_0xb98874(0x176)+_0xb98874(0x20a)]=![],autoUpdater['autoInst'+_0xb98874(0x133)+_0xb98874(0x1e2)]=![],autoUpdater['channel']=_0x891713[_0xb98874(0x140)],autoUpdater['on'](_0xb98874(0x122)+_0xb98874(0x230)+_0xb98874(0x199),()=>{const _0x2ec2a4=_0xb98874;_0x279f40=null,_0x1a3983(),_0x3cbbc1({'phase':'checking','checkedAt':new Date()[_0x2ec2a4(0x151)+_0x2ec2a4(0x17e)](),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x1776bb(),'error':null,'message':_0x2ec2a4(0x1f8)});}),autoUpdater['on'](_0xb98874(0x121)+_0xb98874(0x112),_0x392d36=>{const _0x518931=_0xb98874,_0x45a07a=extractUpdateInfoPatch(_0x392d36),_0x4a1ae2=compareAppVersions(_0x13cd18(),_0x45a07a[_0x518931(0x111)+_0x518931(0x158)]);if(_0x4a1ae2!=='remote-n'+_0x518931(0x23d)){_0x279f40=null,_0x3cbbc1({..._0x45a07a,'phase':_0x518931(0x266)+_0x518931(0x22b),'comparisonResult':_0x4a1ae2,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x1776bb(),'checkedAt':new Date()['toISOStr'+_0x518931(0x17e)](),'error':null,'message':_0x518931(0x14d)+'本'});return;}_0x279f40=extractRemoteUpdatePackageMetadata(_0x392d36,_0x52caac),_0x3cbbc1({..._0x45a07a,'phase':'availabl'+'e','comparisonResult':_0x4a1ae2,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x1776bb(),'checkedAt':new Date()[_0x518931(0x151)+_0x518931(0x17e)](),'error':null,'message':_0x45a07a[_0x518931(0x1c9)+_0x518931(0x19d)]?'发现新版本\x20v'+_0x45a07a[_0x518931(0x1c9)+_0x518931(0x19d)]:_0x518931(0x139)}),!_0x46b197(_0x518931(0x27a)+_0x518931(0x112))&&_0x24290d(_0x518931(0x27a)+'vailable');}),autoUpdater['on'](_0xb98874(0x18f)+_0xb98874(0x223)+_0xb98874(0x15b),_0xad1167=>{const _0x19a1c6=_0xb98874;_0x279f40=null;const _0x7097ba=extractUpdateInfoPatch(_0xad1167);_0x3cbbc1({..._0x7097ba,'phase':'not-avai'+_0x19a1c6(0x22b),'comparisonResult':compareAppVersions(_0x13cd18(),_0x7097ba[_0x19a1c6(0x111)+_0x19a1c6(0x158)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x1776bb(),'checkedAt':new Date()[_0x19a1c6(0x151)+'ing'](),'error':null,'message':_0x19a1c6(0x14d)+'本'});}),autoUpdater['on'](_0xb98874(0x1a1)+_0xb98874(0x22f)+'s',_0x444396=>{const _0x5c6ecd=_0xb98874,_0x3ef75b=extractProgressPatch(_0x444396),_0x1ea6fb=_0x4a93fa(_0x3ef75b[_0x5c6ecd(0x1a1)+_0x5c6ecd(0x272)]??null);_0x3cbbc1({..._0x3ef75b,'downloadPercent':_0x1ea6fb,'phase':'download'+_0x5c6ecd(0x17e),..._0x1776bb(),'error':null,'message':_0x5f5712(_0x891713[_0x5c6ecd(0x1c9)+_0x5c6ecd(0x19d)],_0x1ea6fb)});}),autoUpdater['on']('update-d'+'ownloade'+'d',_0x1d58af=>{const _0x212374=_0xb98874,_0x395223=extractUpdateInfoPatch(_0x1d58af),_0x5213f9=extractRemoteUpdatePackageMetadata(_0x1d58af,_0x52caac)??_0x279f40;_0x5213f9&&(_0x279f40=_0x5213f9);const _0xbd5a1c=_0x395223[_0x212374(0x1c9)+_0x212374(0x19d)]??_0x5213f9?.[_0x212374(0x11c)]??_0x891713[_0x212374(0x1c9)+_0x212374(0x19d)];_0x3cbbc1({..._0x395223,'phase':_0x212374(0x1a1)+'ed','comparisonResult':compareAppVersions(_0x13cd18(),_0xbd5a1c),'hasUpdate':!![],'downloadedVersion':_0xbd5a1c,'downloadPercent':0x64,..._0x1776bb(),'error':null,'message':_0xbd5a1c?_0x212374(0x235)+_0xbd5a1c+'\x20已准备好安装':'更新包已准备好安'+'装'}),_0x4d2062('update-d'+_0x212374(0x21c)+'d',_0xbd5a1c),void _0xd428ee(_0x212374(0x215)+_0x212374(0x21c)+'d');}),autoUpdater['on'](_0xb98874(0x14b),_0x353ba9=>{const _0x2cdf6a=_0xb98874;if(_0x156750&&_0x891713[_0x2cdf6a(0x25f)]===_0x2cdf6a(0x1a1)+'ed')return;if(_0x891713[_0x2cdf6a(0x25f)]===_0x2cdf6a(0x186)+'ng'){_0xfdbac3(_0x353ba9);return;}_0x3cbbc1({'phase':_0x2cdf6a(0x14b),'checkedAt':new Date()[_0x2cdf6a(0x151)+_0x2cdf6a(0x17e)](),..._0x1776bb(),'error':getErrorMessage(_0x353ba9),'errorCode':_0x891713['phase']===_0x2cdf6a(0x1a1)+'ing'?_0x2cdf6a(0x1a1)+_0x2cdf6a(0x21b):'check-er'+_0x2cdf6a(0x276),'message':_0x2cdf6a(0x1fe)});}),_0x2fb745();}async function _0x442247(){const _0x215cf9=_0x27061e;_0x42b1a0(),_0x298125();if(_0x5a6e4c)return _0x5a6e4c;return _0x1cc4ef(_0x215cf9(0x1e8)+_0x215cf9(0x25b)),_0x5a6e4c=autoUpdater[_0x215cf9(0x248)+_0x215cf9(0x16f)]()[_0x215cf9(0x17c)](()=>_0x5f0e41())[_0x215cf9(0x11b)](()=>{_0x5a6e4c=null;}),_0x5a6e4c;}async function _0x55775e(){const _0x58a1e8=_0x27061e;_0x42b1a0(),_0x298125();if(_0x891713[_0x58a1e8(0x25f)]===_0x58a1e8(0x1a1)+'ed'||_0x891713[_0x58a1e8(0x25f)]==='installi'+'ng')return _0x5f0e41();if(!_0x891713['hasUpdat'+'e'])throw new Error(_0x58a1e8(0x1af)+'更新');const _0x25251b=_0x891713[_0x58a1e8(0x25f)]===_0x58a1e8(0x14b)&&_0x891713['errorCod'+'e']===_0x58a1e8(0x1f0)+'error'&&Boolean(_0x891713[_0x58a1e8(0x1a1)+'edVersio'+'n']);if(_0x891713[_0x58a1e8(0x25f)]===_0x58a1e8(0x14b)){if(_0x25251b)_0x3cbbc1({'phase':'availabl'+'e','hasUpdate':!![],'availableVersion':_0x891713['availabl'+_0x58a1e8(0x19d)]??_0x891713[_0x58a1e8(0x1a1)+'edVersio'+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x1776bb(),'error':null,'message':_0x58a1e8(0x221)+'包'});else{await _0x442247();if(_0x891713['phase']!==_0x58a1e8(0x1c9)+'e')throw new Error(_0x58a1e8(0x1af)+'更新');}}if(![_0x58a1e8(0x1c9)+'e',_0x58a1e8(0x1a1)+_0x58a1e8(0x17e)][_0x58a1e8(0x16b)](_0x891713['phase']))throw new Error('当前没有可下载的'+'更新');if(_0x459c65)return _0x459c65;return _0x459c65=autoUpdater['download'+_0x58a1e8(0x13f)]()[_0x58a1e8(0x17c)](()=>{const _0x13e017=_0x58a1e8;return _0x891713['phase']!=='download'+'ed'&&_0x3cbbc1({'phase':_0x13e017(0x14b),'checkedAt':new Date()[_0x13e017(0x151)+'ing'](),..._0x1776bb(),'error':_0x13e017(0x250)+'安装器未就绪,请'+'重试下载更新','errorCode':_0x13e017(0x1a1)+_0x13e017(0x21b),'message':_0x13e017(0x1df)}),_0x5f0e41();})[_0x58a1e8(0x11b)](()=>{_0x459c65=null;}),_0x459c65;}async function _0xabf555(){const _0x29aad9=_0x27061e;_0x42b1a0(),_0x298125();if(_0x1e5f0a)return _0x1e5f0a;if(_0x891713[_0x29aad9(0x25f)]===_0x29aad9(0x186)+'ng')return{'ok':!![]};if(_0x891713[_0x29aad9(0x25f)]!==_0x29aad9(0x1a1)+'ed')throw new Error(_0x29aad9(0x129)+_0x29aad9(0x208));return _0x1e5f0a=_0x399bd1()[_0x29aad9(0x11b)](()=>{_0x1e5f0a=null;}),_0x1e5f0a;}async function _0x399bd1(){const _0x339b5e=_0x27061e,_0x3b8ec1=_0x2ea9e9();_0x3f9286=Date[_0x339b5e(0x225)]();const _0x4bce31=new Date(_0x3f9286)[_0x339b5e(0x151)+_0x339b5e(0x17e)]();_0x1cc4ef(_0x339b5e(0x21e)+_0x339b5e(0x110)+_0x339b5e(0x264)+_0x339b5e(0x119)+'d',{'event':_0x339b5e(0x18b)+_0x339b5e(0x233)+_0x339b5e(0x23e)+_0x339b5e(0x119)+'d','currentVersion':_0x891713[_0x339b5e(0x196)+_0x339b5e(0x1d3)],'downloadedVersion':_0x891713[_0x339b5e(0x1a1)+_0x339b5e(0x12a)+'n'],'pendingPackage':_0x3b8ec1['packageN'+'ame'],'pendingPackageBytes':_0x3b8ec1[_0x339b5e(0x126)+_0x339b5e(0x12c)],'nativeUpdatePrefetchInProgress':_0x156750,'nativeUpdatePrefetchCompleted':_0xf0dfbc}),_0x7a2fb0({'startedAt':_0x4bce31,'currentVersion':_0x891713[_0x339b5e(0x196)+_0x339b5e(0x1d3)],'downloadedVersion':_0x891713[_0x339b5e(0x1a1)+'edVersio'+'n'],'pendingPackage':_0x3b8ec1[_0x339b5e(0x1ea)+_0x339b5e(0x261)],'pendingPackageBytes':_0x3b8ec1[_0x339b5e(0x126)+_0x339b5e(0x12c)],'nativeUpdatePrefetchInProgress':_0x156750,'nativeUpdatePrefetchCompleted':_0xf0dfbc,'milestones':{'requestedAt':_0x4bce31}});try{const _0x5c488d=await _0x32ada0();_0x5c488d&&_0x3cfa5f({'nativeUpdatePrefetchInProgress':_0x156750,'nativeUpdatePrefetchCompleted':_0xf0dfbc,'nativeUpdatePrefetchStatus':_0x5c488d,'milestones':{'nativeUpdatePrefetchWaitCompletedAt':new Date()['toISOStr'+_0x339b5e(0x17e)]()}});_0x3cbbc1({'phase':'installi'+'ng',..._0x1776bb(),'error':null,'message':_0x339b5e(0x11d)+'启应用'});if(typeof _0x2eafda===_0x339b5e(0x204)){const _0x41fb5b=new Date()[_0x339b5e(0x151)+_0x339b5e(0x17e)]();_0x3cfa5f({'milestones':{'prepareStartedAt':_0x41fb5b}}),_0x1cc4ef('update\x20p'+'repare\x20q'+_0x339b5e(0x1e5)+_0x339b5e(0x138),{'event':'update_p'+_0x339b5e(0x160)+'uit_star'+'t','elapsedMs':Date['now']()-_0x3f9286}),await _0x2eafda();const _0x224fb2=new Date()[_0x339b5e(0x151)+_0x339b5e(0x17e)]();_0x3cfa5f({'milestones':{'prepareCompletedAt':_0x224fb2}}),_0x1cc4ef(_0x339b5e(0x195)+_0x339b5e(0x1c8)+_0x339b5e(0x1d2)+_0x339b5e(0x13a),{'event':_0x339b5e(0x128)+_0x339b5e(0x160)+'uit_done','elapsedMs':Date['now']()-_0x3f9286});}_0x3a1212(),_0x40d04b();const _0x2056a1=new Date()['toISOStr'+_0x339b5e(0x17e)]();_0x3cfa5f({'milestones':{'quitAndInstallCalledAt':_0x2056a1}}),_0x1cc4ef('native\x20u'+'pdater\x20q'+'uitAndIn'+'stall\x20ca'+_0x339b5e(0x23a),{'event':_0x339b5e(0x18b)+_0x339b5e(0x233)+_0x339b5e(0x23e)+_0x339b5e(0x220),'elapsedMs':Date[_0x339b5e(0x225)]()-_0x3f9286}),autoUpdater[_0x339b5e(0x26a)+'nstall'](![],!![]);}catch(_0x545caf){_0xfdbac3(_0x545caf);throw _0x545caf;}return{'ok':!![]};}async function _0x31ade3(_0x3a3c26){const _0x145a6b=_0x27061e;if(!_0x40b8b1())return;_0x3790ba=Date[_0x145a6b(0x225)](),_0x1cc4ef(_0x145a6b(0x231)+'nd\x20updat'+_0x145a6b(0x1d6)+'requeste'+'d',{'reason':_0x3a3c26});try{await _0x442247();}catch(_0x46bcf4){_0x4cc516(_0x145a6b(0x231)+_0x145a6b(0x22d)+_0x145a6b(0x1d6)+'failed',{'reason':_0x3a3c26,'error':getErrorMessage(_0x46bcf4)});}}function _0x17b26c(_0x109c58){const _0xa40a8f=_0x27061e;if(!_0x891713['supporte'+'d'])return;const _0x5e5461=Date[_0xa40a8f(0x225)]()-_0x3790ba;if(_0x5e5461<_0x408ead['backgrou'+_0xa40a8f(0x1d8)+_0xa40a8f(0x174)])return;void _0x31ade3(_0x109c58);}function _0x3d39f2(){const _0xd9f0ce=_0x27061e;_0x42b1a0();if(!_0x891713['supporte'+'d']||_0x308c26)return;_0x308c26=setInterval(()=>{const _0x56e84=_0x5273;void _0x31ade3(_0x56e84(0x262));},_0x408ead['backgrou'+_0xd9f0ce(0x1dc)+_0xd9f0ce(0x179)+'s']),void _0x31ade3(_0xd9f0ce(0x136)),_0x1cc4ef(_0xd9f0ce(0x231)+_0xd9f0ce(0x22d)+_0xd9f0ce(0x1d6)+_0xd9f0ce(0x153)+_0xd9f0ce(0x120)+'d',_0x408ead);}function _0x1e4d63(){const _0x1e2c30=_0x27061e;if(_0x891713[_0x1e2c30(0x25f)]!==_0x1e2c30(0x186)+'ng')return;_0x3f2041=!![],_0x3f5598();const _0x132ead=new Date()[_0x1e2c30(0x151)+_0x1e2c30(0x17e)]();_0x3cfa5f({'milestones':{'beforeQuitObservedAt':_0x132ead}}),_0x1cc4ef(_0x1e2c30(0x19e)+'efore\x20qu'+_0x1e2c30(0x1b3)+'ved',{'event':_0x1e2c30(0x1ac)+_0x1e2c30(0x21d)+_0x1e2c30(0x18e)+_0x1e2c30(0x164),'elapsedMs':typeof _0x3f9286===_0x1e2c30(0x1a4)?Date[_0x1e2c30(0x225)]()-_0x3f9286:null});}function _0x40ed80(){const _0x2de7c5=_0x27061e;return _0x891713[_0x2de7c5(0x25f)]===_0x2de7c5(0x186)+'ng';}function _0xa31a6e(){const _0x31e997=_0x27061e,_0x560fd0=_0x5e5d0c();if(!_0x560fd0||typeof _0x560fd0!==_0x31e997(0x226))return null;const _0xb817db=new Date()['toISOStr'+'ing'](),_0x292861=Date[_0x31e997(0x1eb)](_0x560fd0[_0x31e997(0x144)+'t']),_0x44f14a=Number[_0x31e997(0x253)](_0x292861)?Date[_0x31e997(0x225)]()-_0x292861:null,_0x1e2fc0=_0x44f14a,_0x23b6fe=!Number[_0x31e997(0x253)](_0x1e2fc0)||_0x1e2fc0>INSTALL_PHASE_CONTEXT_STALE_MS,_0x4ea53a=_0x560fd0[_0x31e997(0x1c1)+'es']&&typeof _0x560fd0['mileston'+'es']==='object'?_0x560fd0[_0x31e997(0x1c1)+'es']:{};_0x1cc4ef(_0x31e997(0x1ae)+'nstall\x20p'+_0x31e997(0x1e1)+_0x31e997(0x1ba)+_0x31e997(0x205)+'r\x20boot',{'event':'update_i'+'nstall_p'+_0x31e997(0x22c)+_0x31e997(0x124)+_0x31e997(0x1f6),'previousVersion':_0x560fd0['currentV'+_0x31e997(0x1d3)]??null,'currentVersion':_0x13cd18(),'downloadedVersion':_0x560fd0[_0x31e997(0x1a1)+_0x31e997(0x12a)+'n']??null,'startedAt':_0x560fd0[_0x31e997(0x144)+'t']??null,'bootCompletedAt':_0xb817db,'contextAgeMs':_0x1e2fc0,'stale':_0x23b6fe,'milestones':_0x4ea53a});if(_0x23b6fe)return _0x4cc516(_0x31e997(0x1d5)+_0x31e997(0x193)+_0x31e997(0x187)+_0x31e997(0x1fd)+_0x31e997(0x1ee)+'ed',{'event':_0x31e997(0x1d0)+_0x31e997(0x117)+_0x31e997(0x22c)+_0x31e997(0x238)+'le','previousVersion':_0x560fd0['currentV'+_0x31e997(0x1d3)]??null,'currentVersion':_0x13cd18(),'downloadedVersion':_0x560fd0[_0x31e997(0x1a1)+'edVersio'+'n']??null,'startedAt':_0x560fd0[_0x31e997(0x144)+'t']??null,'bootCompletedAt':_0xb817db,'contextAgeMs':_0x1e2fc0}),_0x2b798f(_0x560fd0,_0x31e997(0x188)+_0x31e997(0x20e),{'bootCompletedAt':_0xb817db,'totalElapsedMs':_0x44f14a}),_0x5e25bc(),null;return _0x1cc4ef('update\x20n'+_0x31e997(0x260)+'\x20after\x20i'+_0x31e997(0x18c),{'event':_0x31e997(0x1f1)+_0x31e997(0x251)+_0x31e997(0x243)+_0x31e997(0x18c),'previousVersion':_0x560fd0['currentV'+_0x31e997(0x1d3)]??null,'currentVersion':_0x13cd18(),'downloadedVersion':_0x560fd0[_0x31e997(0x1a1)+_0x31e997(0x12a)+'n']??null,'pendingPackage':_0x560fd0['pendingP'+_0x31e997(0x1b7)]??null,'pendingPackageBytes':_0x560fd0['pendingP'+'ackageBy'+'tes']??null,'startedAt':_0x560fd0['startedA'+'t']??null,'bootCompletedAt':_0xb817db,'totalElapsedMs':_0x44f14a,'milestones':_0x4ea53a}),_0x2b798f(_0x560fd0,_0x31e997(0x23b)+_0x31e997(0x244)+_0x31e997(0x194),{'bootCompletedAt':_0xb817db,'totalElapsedMs':_0x44f14a}),_0x5e25bc(),{'previousVersion':_0x560fd0[_0x31e997(0x196)+_0x31e997(0x1d3)]??null,'currentVersion':_0x13cd18(),'downloadedVersion':_0x560fd0[_0x31e997(0x1a1)+_0x31e997(0x12a)+'n']??null,'totalElapsedMs':_0x44f14a,'bootCompletedAt':_0xb817db};}return{'initialize':_0x42b1a0,'getState':_0x5f0e41,'checkForUpdates':_0x442247,'downloadUpdate':_0x55775e,'quitAndInstall':_0xabf555,'requestBackgroundCheck':_0x17b26c,'startBackgroundChecks':_0x3d39f2,'markQuitObserved':_0x1e4d63,'isInstallingUpdate':_0x40ed80,'recordBootAfterInstall':_0xa31a6e};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2e9bbe,_0xb09360){const _0x161776=_0x163a,_0x4ce05f=_0x2e9bbe();while(!![]){try{const _0x3ba156=-parseInt(_0x161776(0xe0))/0x1+-parseInt(_0x161776(0x107))/0x2*(-parseInt(_0x161776(0xe4))/0x3)+parseInt(_0x161776(0xea))/0x4*(-parseInt(_0x161776(0xfb))/0x5)+-parseInt(_0x161776(0xe1))/0x6+parseInt(_0x161776(0xfc))/0x7+-parseInt(_0x161776(0x10c))/0x8*(-parseInt(_0x161776(0xef))/0x9)+parseInt(_0x161776(0xec))/0xa;if(_0x3ba156===_0xb09360)break;else _0x4ce05f['push'](_0x4ce05f['shift']());}catch(_0x2ca1a2){_0x4ce05f['push'](_0x4ce05f['shift']());}}}(_0x3a16,0x9d88a));function _0x3a16(){const _0x212804=['roller','object','logger','OT_FOUND','966685kgEXRR','3532398eUpKLj','able','send','17592sAhwow','LE_NOT_F','\x22electro','updater','oes\x20not\x20','./contro','476AnEVJh','ted','30820260JieFkC','controll','\x20unavail','279SbffHE','isDestro','o\x20load\x20e','\x27electro','warn','lectron-','ate\x20disa','yed','MODULE_N','createUp','auto\x20upd','te-state','46135cziuLz','786548hLRdtQ','nts','用状态','channel','bled\x20bec','updates','latest','ctron-up','code','OUND','string','6GweNfX','unsuppor','trim','updates/','er.mjs\x20d','22376TahGwh','dateCont','缺失,已降级为禁','n-update','自动更新依赖\x20e','ndows','includes','alpha','missing-','message','reateUpd','ller.mjs'];_0x3a16=function(){return _0x212804;};return _0x3a16();}import _0x2f51d3 from'electron';function _0x163a(_0xa3ecaa,_0x4393a1){_0xa3ecaa=_0xa3ecaa-0xdc;const _0x3a16ba=_0x3a16();let _0x163ab1=_0x3a16ba[_0xa3ecaa];return _0x163ab1;}const {BrowserWindow}=_0x2f51d3;function getErrorMessage(_0x19d375){const _0x14b5f1=_0x163a;if(_0x19d375 instanceof Error&&_0x19d375[_0x14b5f1(0x115)][_0x14b5f1(0x109)]())return _0x19d375[_0x14b5f1(0x115)][_0x14b5f1(0x109)]();if(typeof _0x19d375===_0x14b5f1(0x106)&&_0x19d375[_0x14b5f1(0x109)]())return _0x19d375[_0x14b5f1(0x109)]();return'未知的自动更新错'+'误';}function createUnavailableUpdateController({shellConfig:_0x4a087b,appVersion:_0x40baed,broadcast:_0x663177,logger:_0x5a035e,reason:_0x5366b9}){const _0x48b0e0=_0x163a,_0x15f042=_0x4a087b[_0x48b0e0(0x101)]??{},_0x52dfd8={'supported':![],'channel':_0x15f042[_0x48b0e0(0xff)]==='alpha'?_0x48b0e0(0x113):_0x48b0e0(0x102),'phase':_0x48b0e0(0x108)+_0x48b0e0(0xeb),'currentVersion':_0x40baed(),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'releaseName':null,'releaseDate':null,'releaseNotes':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'checkedAt':null,'message':_0x5366b9,'error':null,'errorCode':_0x48b0e0(0x114)+'dependen'+'cy'};let _0x2beb17=![];function _0x23fe16(){return{..._0x52dfd8,'currentVersion':_0x40baed()};}function _0xf52d1(){const _0x1d8983=_0x48b0e0,_0x49c414=_0x23fe16();for(const _0x13a689 of BrowserWindow?.['getAllWi'+_0x1d8983(0x111)]?.()??[]){!_0x13a689[_0x1d8983(0xf0)+_0x1d8983(0xf6)]()&&_0x13a689['webConte'+_0x1d8983(0xfd)][_0x1d8983(0xe3)]('app:upda'+_0x1d8983(0xfa),_0x49c414);}_0x663177?.('app:upda'+'te-state',_0x49c414);}function _0x1ad9e0(){const _0x557f6d=_0x48b0e0;if(_0x2beb17)return;_0x2beb17=!![],_0x5a035e?.[_0x557f6d(0xf3)]?.(_0x557f6d(0xf9)+_0x557f6d(0xf5)+_0x557f6d(0x100)+'ause\x20ele'+_0x557f6d(0x103)+'dater\x20is'+_0x557f6d(0xee)+_0x557f6d(0xe2),{'reason':_0x5366b9}),_0xf52d1();}function _0x58986d(){throw new Error(_0x5366b9);}async function _0xb9e8b8(){_0x1ad9e0(),_0x58986d();}async function _0x7241f3(){_0x1ad9e0(),_0x58986d();}async function _0x5b4c8a(){_0x1ad9e0(),_0x58986d();}function _0x379698(){}function _0x58ee9f(){_0x1ad9e0();}function _0x34b073(){}function _0xbf13d5(){return![];}function _0x4165b3(){return null;}return{'initialize':_0x1ad9e0,'getState':_0x23fe16,'checkForUpdates':_0xb9e8b8,'downloadUpdate':_0x7241f3,'quitAndInstall':_0x5b4c8a,'requestBackgroundCheck':_0x379698,'startBackgroundChecks':_0x58ee9f,'markQuitObserved':_0x34b073,'isInstallingUpdate':_0xbf13d5,'recordBootAfterInstall':_0x4165b3};}function isElectronUpdaterMissingError(_0x2db7d2){const _0x522e09=_0x163a;if(!_0x2db7d2)return![];if(_0x2db7d2&&typeof _0x2db7d2===_0x522e09(0xdd)&&_0x522e09(0x104)in _0x2db7d2&&(_0x2db7d2['code']==='ERR_MODU'+_0x522e09(0xe5)+_0x522e09(0x105)||_0x2db7d2[_0x522e09(0x104)]===_0x522e09(0xf7)+_0x522e09(0xdf))){const _0x8936c3=getErrorMessage(_0x2db7d2);return _0x8936c3['includes'](_0x522e09(0xf2)+_0x522e09(0x10f)+'r\x27')||_0x8936c3[_0x522e09(0x112)](_0x522e09(0xe6)+_0x522e09(0x10f)+'r\x22');}return![];}export async function loadCreateUpdateController({logger:_0x543e72,importer:importer=_0x1e3bda=>import(_0x1e3bda)}={}){const _0x29111d=_0x163a;try{const _0x9d019a=await importer(_0x29111d(0xe9)+_0x29111d(0x117));if(typeof _0x9d019a[_0x29111d(0xf8)+_0x29111d(0x10d)+_0x29111d(0xdc)]!=='function')throw new TypeError(_0x29111d(0x10a)+_0x29111d(0xed)+_0x29111d(0x10b)+_0x29111d(0xe8)+'export\x20c'+_0x29111d(0x116)+'ateContr'+'oller');return _0x9d019a[_0x29111d(0xf8)+_0x29111d(0x10d)+'roller'];}catch(_0x2b4454){if(!isElectronUpdaterMissingError(_0x2b4454))throw _0x2b4454;const _0x3519dc=_0x29111d(0x110)+'lectron-'+'updater\x20'+_0x29111d(0x10e)+_0x29111d(0xfe);return _0x543e72?.[_0x29111d(0xf3)]?.('failed\x20t'+_0x29111d(0xf1)+_0x29111d(0xf4)+_0x29111d(0xe7),{'error':getErrorMessage(_0x2b4454),'reason':_0x3519dc}),_0x455271=>createUnavailableUpdateController({..._0x455271,'logger':_0x455271?.[_0x29111d(0xde)]??_0x543e72,'reason':_0x3519dc});}}export const __test__={'createUnavailableUpdateController':createUnavailableUpdateController,'isElectronUpdaterMissingError':isElectronUpdaterMissingError};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wujie-shell/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/src/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"get-port": "^7.2.0",
|
|
35
35
|
"semver": "^7.8.3",
|
|
36
36
|
"ws": "^8.20.0",
|
|
37
|
-
"@wujie-shell/config": "1.0.
|
|
38
|
-
"@wujie-shell/logger": "1.0.
|
|
37
|
+
"@wujie-shell/config": "1.0.5",
|
|
38
|
+
"@wujie-shell/logger": "1.0.5"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"
|