@wujie-shell/core 4.0.1 → 4.0.2

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.
Files changed (41) hide show
  1. package/dist/bin/wujie-shell.mjs +1 -1
  2. package/dist/src/agents/bundled-agent-skills.mjs +1 -1
  3. package/dist/src/agents/bundled-agents.mjs +1 -1
  4. package/dist/src/chat/media-archive.mjs +1 -1
  5. package/dist/src/chat/queue.mjs +1 -1
  6. package/dist/src/common/diagnostics.mjs +1 -1
  7. package/dist/src/common/logging.mjs +1 -1
  8. package/dist/src/common/runtime-logger.mjs +1 -1
  9. package/dist/src/common/user-events.mjs +1 -1
  10. package/dist/src/common/utils.mjs +1 -1
  11. package/dist/src/config/controller.mjs +1 -1
  12. package/dist/src/connectors/config-utils.mjs +1 -1
  13. package/dist/src/connectors/constants.mjs +1 -1
  14. package/dist/src/connectors/controller.mjs +1 -1
  15. package/dist/src/connectors/kdocs-cli.mjs +1 -1
  16. package/dist/src/electron/main.mjs +1 -1
  17. package/dist/src/electron/preload.mjs +1 -1
  18. package/dist/src/files/generated-files-store.mjs +1 -1
  19. package/dist/src/files/handlers.mjs +1 -1
  20. package/dist/src/gateway/chat-delta.mjs +1 -1
  21. package/dist/src/gateway/controller.mjs +1 -1
  22. package/dist/src/gateway/ws-client.mjs +1 -1
  23. package/dist/src/index.mjs +1 -1
  24. package/dist/src/log-reporting/handlers.mjs +1 -1
  25. package/dist/src/log-reporting/report-logs.mjs +1 -1
  26. package/dist/src/models/handlers.mjs +1 -1
  27. package/dist/src/preferences/store.mjs +1 -1
  28. package/dist/src/runtime/index.mjs +1 -1
  29. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
  30. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
  31. package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
  32. package/dist/src/runtime/plugin-sync.mjs +1 -1
  33. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
  34. package/dist/src/sessions/runtime-bridge.mjs +1 -1
  35. package/dist/src/sessions/session-sqlite-store.mjs +1 -1
  36. package/dist/src/skills/import.mjs +1 -1
  37. package/dist/src/skills/market.mjs +1 -1
  38. package/dist/src/terminal/manager.mjs +1 -1
  39. package/dist/src/updates/controller.mjs +1 -1
  40. package/dist/src/updates/loader.mjs +1 -1
  41. package/package.json +3 -3
@@ -1 +1 @@
1
- const _0x41c275=_0xc92d;function _0x290c(){const _0x59df3a=['descript','object','targetPa','kills.js','接口返回的\x20co','^\x5cs*','接口返回的\x20ve','match','version','197344OLIsdl','mpare','5553325jMDGHZ','trim','keys','replace','ies','killKey','logoUrl','3127598lMwOVW','215652CFyTvF','接口返回的\x20na','manifest','104184KCtJdF','sort','market','SKILL.md','entries','skillKey','utf8','has','imported','2700NSatRL','fromEntr','parse','161oXePAp','1261441oRBmAt','skillDir','code','isArray','source','name','localeCo','market-s','skills','技能商店安装需要','ion','resolveS','map','tateDir','length','filter','5162970jSMatW','ket','logo_url','SKILLS.m','Name','Key','catch'];_0x290c=function(){return _0x59df3a;};return _0x290c();}function _0xc92d(_0x1d0e5a,_0x1be3ca){_0x1d0e5a=_0x1d0e5a-0xcc;const _0x290c62=_0x290c();let _0xc92d5d=_0x290c62[_0x1d0e5a];return _0xc92d5d;}(function(_0x135f25,_0xff829a){const _0x165a5a=_0xc92d,_0x714a9d=_0x135f25();while(!![]){try{const _0x35f766=-parseInt(_0x165a5a(0xdd))/0x1+-parseInt(_0x165a5a(0xcc))/0x2+-parseInt(_0x165a5a(0xed))/0x3+-parseInt(_0x165a5a(0xd0))/0x4+-parseInt(_0x165a5a(0xff))/0x5+parseInt(_0x165a5a(0xcd))/0x6*(-parseInt(_0x165a5a(0xdc))/0x7)+parseInt(_0x165a5a(0xfd))/0x8*(parseInt(_0x165a5a(0xd9))/0x9);if(_0x35f766===_0xff829a)break;else _0x714a9d['push'](_0x714a9d['shift']());}catch(_0x4ec9c1){_0x714a9d['push'](_0x714a9d['shift']());}}}(_0x290c,0xd97a9));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='aipc-mar'+_0x41c275(0xee);async function readMarketSkillRegistry(_0x10f7a3){const _0x51fcf3=_0x41c275;try{const _0x277b76=JSON[_0x51fcf3(0xdb)](await readFile(_0x10f7a3,_0x51fcf3(0xd6)));if(!_0x277b76||typeof _0x277b76!==_0x51fcf3(0xf5)||Array[_0x51fcf3(0xe0)](_0x277b76))return{};return _0x277b76;}catch{return{};}}export async function readSkillMarketRegistry(_0x367b1d){const _0x2248c1=_0x41c275;return await readMarketSkillRegistry(join(_0x367b1d,_0x2248c1(0xe4)+'kills.js'+'on'));}async function upsertMarketSkillRegistryEntry(_0x4afdd0,_0x1faa06,_0x54af39,_0x3de95d,_0x4bdbad={}){const _0x14191a=_0x41c275,_0x2518c5=getTrimmedString(_0x1faa06),_0x3ed75f=getTrimmedString(_0x54af39),_0x30ad63=getTrimmedString(_0x3de95d);if(!_0x2518c5||!_0x3ed75f||!_0x30ad63)return;const _0x5dfc09=await readMarketSkillRegistry(_0x4afdd0);_0x5dfc09[_0x2518c5]={'version':_0x30ad63,'code':_0x3ed75f,...getTrimmedString(_0x4bdbad['name'])?{'name':getTrimmedString(_0x4bdbad['name'])}:{},...getTrimmedString(_0x4bdbad[_0x14191a(0x105)])?{'logo_url':getTrimmedString(_0x4bdbad[_0x14191a(0x105)])}:{},...getTrimmedString(_0x4bdbad[_0x14191a(0xf4)+_0x14191a(0xe7)])?{'description':getTrimmedString(_0x4bdbad[_0x14191a(0xf4)+_0x14191a(0xe7)])}:{}};if(_0x5dfc09[_0x3ed75f]&&_0x3ed75f!==_0x2518c5)delete _0x5dfc09[_0x3ed75f];for(const [_0x384316,_0xa1630]of Object[_0x14191a(0xd4)](_0x5dfc09)){if(_0x384316!==_0x2518c5&&asRecord(_0xa1630)[_0x14191a(0xdf)]===_0x3ed75f)delete _0x5dfc09[_0x384316];}const _0x16e509=Object[_0x14191a(0xda)+_0x14191a(0x103)](Object[_0x14191a(0xd4)](_0x5dfc09)[_0x14191a(0xd1)](([_0x1a68de],[_0x12256e])=>_0x1a68de[_0x14191a(0xe3)+_0x14191a(0xfe)](_0x12256e)));await writeJson(_0x4afdd0,_0x16e509);}async function removeMarketSkillRegistryKeys(_0x35c91d,_0x58417a){const _0xf5bea8=_0x41c275,_0x21a462=new Set(_0x58417a[_0xf5bea8(0xe9)](getTrimmedString)[_0xf5bea8(0xec)](Boolean));if(_0x21a462['size']===0x0)return;const _0x549491=await readMarketSkillRegistry(_0x35c91d);let _0x415d4a=![];for(const _0x290985 of Object[_0xf5bea8(0x101)](_0x549491)){const _0x37743a=asRecord(_0x549491[_0x290985]);(_0x21a462[_0xf5bea8(0xd7)](_0x290985)||_0x21a462['has'](getTrimmedString(_0x37743a[_0xf5bea8(0xdf)])))&&(delete _0x549491[_0x290985],_0x415d4a=!![]);}if(_0x415d4a){const _0x5b24c5=Object[_0xf5bea8(0xda)+_0xf5bea8(0x103)](Object[_0xf5bea8(0xd4)](_0x549491)[_0xf5bea8(0xd1)](([_0xf1ddf],[_0x578c85])=>_0xf1ddf[_0xf5bea8(0xe3)+_0xf5bea8(0xfe)](_0x578c85)));await writeJson(_0x35c91d,_0x5b24c5);}}async function readSkillManifestText(_0x2c041d){const _0xdf3da3=_0x41c275,_0x45658b=[join(_0x2c041d,_0xdf3da3(0xd3)),join(_0x2c041d,_0xdf3da3(0xf0)+'d')];for(const _0x17ba82 of _0x45658b){const _0x1380a9=await readFile(_0x17ba82,_0xdf3da3(0xd6))[_0xdf3da3(0xf3)](()=>'');if(_0x1380a9['trim']())return _0x1380a9;}return'';}function resolveFrontmatterValue(_0x2a7a25,_0x27ee6a){const _0x1ae9e0=_0x41c275,_0x1f9c00=_0x2a7a25[_0x1ae9e0(0xfb)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x2d88c1=_0x1f9c00?.[0x1]??'',_0x35b8cf=_0x2d88c1[_0x1ae9e0(0xfb)](new RegExp(_0x1ae9e0(0xf9)+_0x27ee6a+(':\x5cs*(.+)'+'$'),'m'))?.[0x1];return getTrimmedString(_0x35b8cf)[_0x1ae9e0(0x102)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x13e4ae){const _0x2b3b7d=_0x41c275,_0x123b39=await readSkillManifestText(_0x13e4ae);if(!_0x123b39['trim']())return null;const _0xa039f5=_0x123b39[_0x2b3b7d(0xfb)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0xa039f5?.[0x1])return getTrimmedString(_0xa039f5[0x1]);return resolveFrontmatterValue(_0x123b39,_0x2b3b7d(0xd5))||resolveFrontmatterValue(_0x123b39,'name');}async function removeOtherMarketSkillVersions(_0x6375aa,_0x3b4a06,_0x218539){const _0x46628a=_0x41c275,_0x3f620a=getTrimmedString(_0x218539);if(!_0x3f620a)return;for(const _0x2d1f9f of await readdir(_0x6375aa,{'withFileTypes':!![]})[_0x46628a(0xf3)](()=>[])){if(!_0x2d1f9f['isDirect'+'ory']())continue;const _0xdad60c=join(_0x6375aa,_0x2d1f9f[_0x46628a(0xe2)]);if(_0xdad60c===_0x3b4a06)continue;const _0x109649=await resolveSkillKeyFromManifest(_0xdad60c);_0x109649&&_0x109649[_0x46628a(0x100)]()===_0x3f620a&&await rm(_0xdad60c,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x32e10a,configController:_0xec7497}={}){const _0x174972=_0x41c275,_0x36fad7=asRecord(payload);if(_0x36fad7[_0x174972(0xe1)]!==_0x174972(0xd2))return _0x32e10a({'payload':payload});const _0x14b1e8=getTrimmedString(_0x36fad7[_0x174972(0xdf)]),_0x3a1d2c=getTrimmedString(_0x36fad7[_0x174972(0xfc)]),_0x2f7076=getTrimmedString(_0x36fad7['name']);if(!_0x14b1e8)throw new Error(_0x174972(0xe6)+_0x174972(0xf8)+'de');if(!_0x3a1d2c)throw new Error('技能商店安装需要'+_0x174972(0xfa)+'rsion');if(!_0x2f7076)throw new Error(_0x174972(0xe6)+_0x174972(0xce)+'me');const _0x248727=await _0x32e10a({'payload':{..._0x36fad7,'version':_0x3a1d2c}});if(!_0x248727?.[_0x174972(0xd8)])return _0x248727;const _0x3900ac=getTrimmedString(_0x248727['skillKey'])||getTrimmedString(_0x248727[_0x174972(0xcf)+_0x174972(0xf2)])||getTrimmedString(_0x248727[_0x174972(0xde)+_0x174972(0xf1)]);return await removeOtherMarketSkillVersions(join(_0xec7497[_0x174972(0xe8)+'tateDir'](),_0x174972(0xe5)),_0x248727[_0x174972(0xf6)+'th'],_0x3900ac),await upsertMarketSkillRegistryEntry(join(_0xec7497[_0x174972(0xe8)+_0x174972(0xea)](),_0x174972(0xe4)+_0x174972(0xf7)+'on'),_0x3900ac,_0x14b1e8,_0x3a1d2c,{'name':_0x2f7076,'logoUrl':getTrimmedString(_0x36fad7[_0x174972(0x105)]),'description':getTrimmedString(_0x36fad7['descript'+_0x174972(0xe7)])}),_0x248727;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x462f31,configController:_0x476907}={}){const _0x51644c=_0x41c275,_0xd6d88e=await _0x462f31({'payload':payload}),_0x122903=asRecord(payload),_0x3cea50=getTrimmedString(_0xd6d88e?.[_0x51644c(0xd5)]??_0x122903[_0x51644c(0xd5)]??_0x122903[_0x51644c(0xe2)]),_0x579a86=[_0x3cea50,getTrimmedString(_0x122903['gatewayS'+_0x51644c(0x104)]),getTrimmedString(_0x122903['name'])];return await removeMarketSkillRegistryKeys(join(_0x476907['resolveS'+_0x51644c(0xea)](),_0x51644c(0xe4)+_0x51644c(0xf7)+'on'),_0x579a86),_0xd6d88e;}export function mapMarketRegisteredSkills(_0x58bceb,_0x6a3605){const _0x30652b=_0x41c275,_0x3b653a=Array[_0x30652b(0xe0)](asRecord(_0x58bceb)[_0x30652b(0xe5)])?asRecord(_0x58bceb)[_0x30652b(0xe5)]:[];if(_0x3b653a[_0x30652b(0xeb)]===0x0||Object['keys'](_0x6a3605)[_0x30652b(0xeb)]===0x0)return _0x58bceb;const _0x26dca9=_0x3b653a[_0x30652b(0xe9)](_0x308fbe=>{const _0x6956d7=_0x30652b,_0x29eb10=asRecord(_0x308fbe),_0x41ffcc=getTrimmedString(_0x29eb10['skillKey'])||getTrimmedString(_0x29eb10['name']);let _0x115aaf=_0x41ffcc,_0x443ee9=asRecord(_0x6a3605[_0x41ffcc]);if(!Object[_0x6956d7(0x101)](_0x443ee9)[_0x6956d7(0xeb)])for(const [_0x33ec48,_0x59aa2a]of Object[_0x6956d7(0xd4)](_0x6a3605)){const _0x125f88=asRecord(_0x59aa2a);if(getTrimmedString(_0x125f88[_0x6956d7(0xdf)])===_0x41ffcc){_0x115aaf=_0x33ec48,_0x443ee9=_0x125f88;break;}}if(!Object[_0x6956d7(0x101)](_0x443ee9)[_0x6956d7(0xeb)])return _0x308fbe;const _0x4289e6=getTrimmedString(_0x443ee9[_0x6956d7(0xdf)]),_0x3f465d=getTrimmedString(_0x443ee9['name']),_0x49753f=getTrimmedString(_0x443ee9[_0x6956d7(0xf4)+_0x6956d7(0xe7)]),_0x3e3af7=getTrimmedString(_0x443ee9[_0x6956d7(0xef)]),_0x39f145=getTrimmedString(_0x443ee9[_0x6956d7(0xfc)]);return{..._0x29eb10,'source':SKILL_SOURCE_MARKET,'skillKey':_0x4289e6||_0x41ffcc,'gatewaySkillKey':_0x4289e6?_0x115aaf:null,'marketInstalledVersion':_0x39f145||null,..._0x3f465d?{'name':_0x3f465d}:{},..._0x49753f?{'description':_0x49753f}:{},..._0x3e3af7?{'logoUrl':_0x3e3af7}:{}};});return{...asRecord(_0x58bceb),'skills':_0x26dca9};}export function createMarketSkillRuntime({configController:_0x1587f1}){return{'mapSkillsStatus':async _0x53fb8b=>{const _0x2314f8=_0xc92d,_0x332b80=await readSkillMarketRegistry(_0x1587f1[_0x2314f8(0xe8)+_0x2314f8(0xea)]())[_0x2314f8(0xf3)](()=>({}));return mapMarketRegisteredSkills(_0x53fb8b,_0x332b80);}};}
1
+ const _0x421f9b=_0x2193;(function(_0x46ab44,_0x384dbf){const _0x33df0c=_0x2193,_0x3fc7f6=_0x46ab44();while(!![]){try{const _0x520748=-parseInt(_0x33df0c(0x16e))/0x1*(-parseInt(_0x33df0c(0x17e))/0x2)+-parseInt(_0x33df0c(0x189))/0x3+parseInt(_0x33df0c(0x172))/0x4*(-parseInt(_0x33df0c(0x16c))/0x5)+parseInt(_0x33df0c(0x186))/0x6+parseInt(_0x33df0c(0x181))/0x7+-parseInt(_0x33df0c(0x173))/0x8*(parseInt(_0x33df0c(0x178))/0x9)+parseInt(_0x33df0c(0x17d))/0xa;if(_0x520748===_0x384dbf)break;else _0x3fc7f6['push'](_0x3fc7f6['shift']());}catch(_0x41cb58){_0x3fc7f6['push'](_0x3fc7f6['shift']());}}}(_0x215a,0xf412b));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=_0x421f9b(0x17b)+_0x421f9b(0x19d);function _0x2193(_0xa4eb81,_0x1c7bbd){_0xa4eb81=_0xa4eb81-0x16a;const _0x215a94=_0x215a();let _0x219399=_0x215a94[_0xa4eb81];return _0x219399;}function _0x215a(){const _0x51e593=['killKey',':\x5cs*(.+)','4194701xxcAXd','match','rsion','skillKey','entries','11273172vosOBG','sort','kills.js','5434269WoSMOg','name','utf8','isArray','接口返回的\x20ve','code','map','skills','version','size','market','object','SKILL.md','localeCo','接口返回的\x20co','tateDir','接口返回的\x20na','fromEntr','resolveS','gatewayS','ket','imported','ies','keys','^\x5cs*','length','catch','parse','market-s','mpare','targetPa','15PmgXXm','logoUrl','43gNSJxq','Key','source','has','1702940alMWpd','198232zFFOsy','ory','技能商店安装需要','replace','descript','18PthVyN','trim','SKILLS.m','aipc-mar','ion','6171830OBzRwQ','48494umntIi'];_0x215a=function(){return _0x51e593;};return _0x215a();}async function readMarketSkillRegistry(_0x223d6b){const _0x398328=_0x421f9b;try{const _0x295afc=JSON[_0x398328(0x1a4)](await readFile(_0x223d6b,_0x398328(0x18b)));if(!_0x295afc||typeof _0x295afc!==_0x398328(0x194)||Array[_0x398328(0x18c)](_0x295afc))return{};return _0x295afc;}catch{return{};}}export async function readSkillMarketRegistry(_0x25e772){const _0x4fec59=_0x421f9b;return await readMarketSkillRegistry(join(_0x25e772,_0x4fec59(0x1a5)+'kills.js'+'on'));}async function upsertMarketSkillRegistryEntry(_0x1e141f,_0x5dd3c0,_0x19386c,_0x96f0b0,_0x543b9c={}){const _0x5eacf3=_0x421f9b,_0x4865b7=getTrimmedString(_0x5dd3c0),_0x25f464=getTrimmedString(_0x19386c),_0x546c53=getTrimmedString(_0x96f0b0);if(!_0x4865b7||!_0x25f464||!_0x546c53)return;const _0x44c310=await readMarketSkillRegistry(_0x1e141f);_0x44c310[_0x4865b7]={'version':_0x546c53,'code':_0x25f464,...getTrimmedString(_0x543b9c[_0x5eacf3(0x18a)])?{'name':getTrimmedString(_0x543b9c[_0x5eacf3(0x18a)])}:{},...getTrimmedString(_0x543b9c[_0x5eacf3(0x16d)])?{'logo_url':getTrimmedString(_0x543b9c[_0x5eacf3(0x16d)])}:{},...getTrimmedString(_0x543b9c['descript'+_0x5eacf3(0x17c)])?{'description':getTrimmedString(_0x543b9c[_0x5eacf3(0x177)+_0x5eacf3(0x17c)])}:{}};if(_0x44c310[_0x25f464]&&_0x25f464!==_0x4865b7)delete _0x44c310[_0x25f464];for(const [_0x26fdb3,_0x267d18]of Object[_0x5eacf3(0x185)](_0x44c310)){if(_0x26fdb3!==_0x4865b7&&asRecord(_0x267d18)[_0x5eacf3(0x18e)]===_0x25f464)delete _0x44c310[_0x26fdb3];}const _0x53a1a9=Object[_0x5eacf3(0x19a)+_0x5eacf3(0x19f)](Object['entries'](_0x44c310)[_0x5eacf3(0x187)](([_0x30a321],[_0x5e4a7f])=>_0x30a321['localeCo'+_0x5eacf3(0x16a)](_0x5e4a7f)));await writeJson(_0x1e141f,_0x53a1a9);}async function removeMarketSkillRegistryKeys(_0x3f47b0,_0x5b9ee6){const _0x24f699=_0x421f9b,_0x389a62=new Set(_0x5b9ee6[_0x24f699(0x18f)](getTrimmedString)['filter'](Boolean));if(_0x389a62[_0x24f699(0x192)]===0x0)return;const _0x2ea798=await readMarketSkillRegistry(_0x3f47b0);let _0x4367d1=![];for(const _0x21c9e7 of Object[_0x24f699(0x1a0)](_0x2ea798)){const _0x50a77b=asRecord(_0x2ea798[_0x21c9e7]);(_0x389a62[_0x24f699(0x171)](_0x21c9e7)||_0x389a62['has'](getTrimmedString(_0x50a77b['code'])))&&(delete _0x2ea798[_0x21c9e7],_0x4367d1=!![]);}if(_0x4367d1){const _0x3cade3=Object[_0x24f699(0x19a)+_0x24f699(0x19f)](Object[_0x24f699(0x185)](_0x2ea798)[_0x24f699(0x187)](([_0x39f727],[_0x130f4c])=>_0x39f727[_0x24f699(0x196)+_0x24f699(0x16a)](_0x130f4c)));await writeJson(_0x3f47b0,_0x3cade3);}}async function readSkillManifestText(_0x32beca){const _0x43b353=_0x421f9b,_0x2a152e=[join(_0x32beca,_0x43b353(0x195)),join(_0x32beca,_0x43b353(0x17a)+'d')];for(const _0x56f6dc of _0x2a152e){const _0x542f99=await readFile(_0x56f6dc,'utf8')[_0x43b353(0x1a3)](()=>'');if(_0x542f99['trim']())return _0x542f99;}return'';}function resolveFrontmatterValue(_0x6de176,_0x292e25){const _0x5d311c=_0x421f9b,_0x14d4d5=_0x6de176[_0x5d311c(0x182)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x265df6=_0x14d4d5?.[0x1]??'',_0x8ecd82=_0x265df6['match'](new RegExp(_0x5d311c(0x1a1)+_0x292e25+(_0x5d311c(0x180)+'$'),'m'))?.[0x1];return getTrimmedString(_0x8ecd82)[_0x5d311c(0x176)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x44d874){const _0x82f968=_0x421f9b,_0x505ed6=await readSkillManifestText(_0x44d874);if(!_0x505ed6['trim']())return null;const _0x5db5c2=_0x505ed6[_0x82f968(0x182)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x5db5c2?.[0x1])return getTrimmedString(_0x5db5c2[0x1]);return resolveFrontmatterValue(_0x505ed6,'skillKey')||resolveFrontmatterValue(_0x505ed6,_0x82f968(0x18a));}async function removeOtherMarketSkillVersions(_0x5784bd,_0x5c81c9,_0x58f41c){const _0x1eabf8=_0x421f9b,_0x1ef6f4=getTrimmedString(_0x58f41c);if(!_0x1ef6f4)return;for(const _0x1db095 of await readdir(_0x5784bd,{'withFileTypes':!![]})[_0x1eabf8(0x1a3)](()=>[])){if(!_0x1db095['isDirect'+_0x1eabf8(0x174)]())continue;const _0x186a60=join(_0x5784bd,_0x1db095[_0x1eabf8(0x18a)]);if(_0x186a60===_0x5c81c9)continue;const _0x44be9f=await resolveSkillKeyFromManifest(_0x186a60);_0x44be9f&&_0x44be9f[_0x1eabf8(0x179)]()===_0x1ef6f4&&await rm(_0x186a60,{'recursive':!![],'force':!![]});}}export async function importMarketSkillZip({payload:payload={},importSkillZip:_0x30089f,configController:_0x2a8494}={}){const _0x5af117=_0x421f9b,_0x2e17ab=asRecord(payload);if(_0x2e17ab[_0x5af117(0x170)]!==_0x5af117(0x193))return _0x30089f({'payload':payload});const _0x45eb08=getTrimmedString(_0x2e17ab['code']),_0x4ad08c=getTrimmedString(_0x2e17ab[_0x5af117(0x191)]),_0x3fa40d=getTrimmedString(_0x2e17ab[_0x5af117(0x18a)]);if(!_0x45eb08)throw new Error(_0x5af117(0x175)+_0x5af117(0x197)+'de');if(!_0x4ad08c)throw new Error('技能商店安装需要'+_0x5af117(0x18d)+_0x5af117(0x183));if(!_0x3fa40d)throw new Error(_0x5af117(0x175)+_0x5af117(0x199)+'me');const _0x710800=await _0x30089f({'payload':{..._0x2e17ab,'version':_0x4ad08c}});if(!_0x710800?.[_0x5af117(0x19e)])return _0x710800;const _0x2abc24=getTrimmedString(_0x710800[_0x5af117(0x184)])||getTrimmedString(_0x710800['manifest'+_0x5af117(0x16f)])||getTrimmedString(_0x710800['skillDir'+'Name']);return await removeOtherMarketSkillVersions(join(_0x2a8494[_0x5af117(0x19b)+'tateDir'](),_0x5af117(0x190)),_0x710800[_0x5af117(0x16b)+'th'],_0x2abc24),await upsertMarketSkillRegistryEntry(join(_0x2a8494[_0x5af117(0x19b)+'tateDir'](),_0x5af117(0x1a5)+'kills.js'+'on'),_0x2abc24,_0x45eb08,_0x4ad08c,{'name':_0x3fa40d,'logoUrl':getTrimmedString(_0x2e17ab['logoUrl']),'description':getTrimmedString(_0x2e17ab[_0x5af117(0x177)+_0x5af117(0x17c)])}),_0x710800;}export async function deleteMarketSkillRegistryEntry({payload:payload={},deleteManagedSkill:_0x509aec,configController:_0x37cc29}={}){const _0x456eaf=_0x421f9b,_0x3d68c1=await _0x509aec({'payload':payload}),_0x47799e=asRecord(payload),_0xae8542=getTrimmedString(_0x3d68c1?.[_0x456eaf(0x184)]??_0x47799e[_0x456eaf(0x184)]??_0x47799e[_0x456eaf(0x18a)]),_0x205082=[_0xae8542,getTrimmedString(_0x47799e[_0x456eaf(0x19c)+_0x456eaf(0x17f)]),getTrimmedString(_0x47799e[_0x456eaf(0x18a)])];return await removeMarketSkillRegistryKeys(join(_0x37cc29[_0x456eaf(0x19b)+_0x456eaf(0x198)](),'market-s'+_0x456eaf(0x188)+'on'),_0x205082),_0x3d68c1;}export function mapMarketRegisteredSkills(_0x1d6fd1,_0x3a9f1d){const _0xe33be5=_0x421f9b,_0x55e840=Array[_0xe33be5(0x18c)](asRecord(_0x1d6fd1)['skills'])?asRecord(_0x1d6fd1)[_0xe33be5(0x190)]:[];if(_0x55e840['length']===0x0||Object['keys'](_0x3a9f1d)[_0xe33be5(0x1a2)]===0x0)return _0x1d6fd1;const _0x2a954f=_0x55e840[_0xe33be5(0x18f)](_0x3c2da0=>{const _0x438602=_0xe33be5,_0x8f1d5c=asRecord(_0x3c2da0),_0x3b8bf1=getTrimmedString(_0x8f1d5c['skillKey'])||getTrimmedString(_0x8f1d5c['name']);let _0x82a3c6=_0x3b8bf1,_0x152336=asRecord(_0x3a9f1d[_0x3b8bf1]);if(!Object[_0x438602(0x1a0)](_0x152336)[_0x438602(0x1a2)])for(const [_0x91eefb,_0x4e5042]of Object['entries'](_0x3a9f1d)){const _0x366959=asRecord(_0x4e5042);if(getTrimmedString(_0x366959[_0x438602(0x18e)])===_0x3b8bf1){_0x82a3c6=_0x91eefb,_0x152336=_0x366959;break;}}if(!Object[_0x438602(0x1a0)](_0x152336)[_0x438602(0x1a2)])return _0x3c2da0;const _0x8e892d=getTrimmedString(_0x152336[_0x438602(0x18e)]),_0x2bba08=getTrimmedString(_0x152336[_0x438602(0x18a)]),_0x31a22c=getTrimmedString(_0x152336[_0x438602(0x177)+_0x438602(0x17c)]),_0x1973d7=getTrimmedString(_0x152336['logo_url']),_0x20cc5a=getTrimmedString(_0x152336['version']);return{..._0x8f1d5c,'source':SKILL_SOURCE_MARKET,'skillKey':_0x8e892d||_0x3b8bf1,'gatewaySkillKey':_0x8e892d?_0x82a3c6:null,'marketInstalledVersion':_0x20cc5a||null,..._0x2bba08?{'name':_0x2bba08}:{},..._0x31a22c?{'description':_0x31a22c}:{},..._0x1973d7?{'logoUrl':_0x1973d7}:{}};});return{...asRecord(_0x1d6fd1),'skills':_0x2a954f};}export function createMarketSkillRuntime({configController:_0x5044f6}){return{'mapSkillsStatus':async _0x16f4c8=>{const _0x3e07cc=_0x2193,_0x3e4088=await readSkillMarketRegistry(_0x5044f6['resolveS'+'tateDir']())[_0x3e07cc(0x1a3)](()=>({}));return mapMarketRegisteredSkills(_0x16f4c8,_0x3e4088);}};}
@@ -1 +1 @@
1
- (function(_0x1990b4,_0x478439){const _0x2256ae=_0x3df3,_0x301e4c=_0x1990b4();while(!![]){try{const _0x3f257c=-parseInt(_0x2256ae(0xce))/0x1*(-parseInt(_0x2256ae(0xc0))/0x2)+parseInt(_0x2256ae(0x8e))/0x3+parseInt(_0x2256ae(0xd5))/0x4*(parseInt(_0x2256ae(0xa0))/0x5)+parseInt(_0x2256ae(0xc1))/0x6*(parseInt(_0x2256ae(0x9d))/0x7)+-parseInt(_0x2256ae(0xa2))/0x8+parseInt(_0x2256ae(0xae))/0x9*(parseInt(_0x2256ae(0xb7))/0xa)+-parseInt(_0x2256ae(0x97))/0xb*(parseInt(_0x2256ae(0x98))/0xc);if(_0x3f257c===_0x478439)break;else _0x301e4c['push'](_0x301e4c['shift']());}catch(_0x3b35a9){_0x301e4c['push'](_0x301e4c['shift']());}}}(_0x51d2,0x961f6));import{spawn}from'node:child_process';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';const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0x411ec9){const _0x1ac557=_0x3df3,_0x3ab50e=Object[_0x1ac557(0xa3)](_0x411ec9)[_0x1ac557(0xac)](_0x31d230=>_0x31d230['toLowerC'+_0x1ac557(0xb8)]()===_0x1ac557(0xcc))??_0x1ac557(0xbc);return String(_0x411ec9[_0x3ab50e]||'')[_0x1ac557(0xd2)](delimiter)[_0x1ac557(0xb6)](Boolean);}function canExecute(_0x2c1978){const _0x37e1e3=_0x3df3;try{return accessSync(_0x2c1978,process[_0x37e1e3(0x90)]===_0x37e1e3(0xca)?constants[_0x37e1e3(0xb3)]:constants[_0x37e1e3(0xbf)]),!![];}catch{return![];}}function _0x51d2(){const _0x1d7bb7=['.bat','\x20session','ash','pipe','\x20not\x20fou','/usr/loc','ebrew/bi','win32','get','path','includes','251574WAsMjn','data','push','darwin','split','clear','cmd','16CPEaxR','Terminal','.exe','2500155NLDhJH','message','platform','values','error','rted\x20she','truecolo','cwd','n/bash','12683bTTtuB','21324qNZrXO','No\x20suppo','env','6color','write','21BWrsKs','object','ll\x20found','694205JFRsZy','bash','3638936QukGwR','keys','stderr','stdout','close','-NoLogo','set','sessionI','delete','child','find','.cmd','18ZfzxOL','test','/bin/bas','trim','powershe','F_OK','stdin','xterm-25','filter','4837960FdZTzi','ase','/opt/hom','al/bin/b','kill','PATH','al/bin/z','pwsh','X_OK','6JyYWUx','15174eXSMFp','toString'];_0x51d2=function(){return _0x1d7bb7;};return _0x51d2();}function _0x3df3(_0x2d45c8,_0x1dc912){_0x2d45c8=_0x2d45c8-0x8e;const _0x51d2fa=_0x51d2();let _0x3df397=_0x51d2fa[_0x2d45c8];return _0x3df397;}function resolveExecutableOnPath(_0xc65254,_0x31ed76){const _0x525dee=_0x3df3,_0xf99c40=String(_0xc65254||'')['trim']();if(!_0xf99c40)return null;if(_0xf99c40[_0x525dee(0xcd)]('/')||_0xf99c40[_0x525dee(0xcd)]('\x5c'))return existsSync(_0xf99c40)?_0xf99c40:null;const _0x53a2a4=[_0xf99c40];process[_0x525dee(0x90)]===_0x525dee(0xca)&&!FILE_EXTENSION_REGEX[_0x525dee(0xaf)](_0xf99c40)&&_0x53a2a4[_0x525dee(0xd0)](_0xf99c40+_0x525dee(0xd7),_0xf99c40+_0x525dee(0xad),_0xf99c40+_0x525dee(0xc3));for(const _0x3413d0 of resolvePathEntries(_0x31ed76)){for(const _0x265a2f of _0x53a2a4){const _0x4bfa6b=join(_0x3413d0,_0x265a2f);if(canExecute(_0x4bfa6b))return _0x4bfa6b;}}return null;}function resolveShellLaunchConfig(_0x382151){const _0x19b628=_0x3df3;if(process[_0x19b628(0x90)]===_0x19b628(0xca)){const _0x58e26f=resolveExecutableOnPath(_0x19b628(0xbe),_0x382151)??resolveExecutableOnPath(_0x19b628(0xb2)+'ll',_0x382151);if(_0x58e26f)return{'command':_0x58e26f,'args':[_0x19b628(0xa7)]};const _0xe7aeb0=resolveExecutableOnPath(_0x19b628(0xd4),_0x382151);if(_0xe7aeb0)return{'command':_0xe7aeb0,'args':['/Q']};throw new Error(_0x19b628(0x99)+'rted\x20Win'+'dows\x20she'+'ll\x20found');}if(process[_0x19b628(0x90)]===_0x19b628(0xd1)){const _0x447d09=['/bin/zsh',_0x19b628(0xc8)+_0x19b628(0xbd)+'sh','/opt/hom'+'ebrew/bi'+'n/zsh'][_0x19b628(0xac)](canExecute);if(_0x447d09)return{'command':_0x447d09,'args':['-i']};const _0x58feea=[_0x19b628(0xb0)+'h',_0x19b628(0xc8)+_0x19b628(0xba)+_0x19b628(0xc5),_0x19b628(0xb9)+_0x19b628(0xc9)+_0x19b628(0x96)][_0x19b628(0xac)](canExecute);if(_0x58feea)return{'command':_0x58feea,'args':['--login','-i']};}const _0x2b24ee=resolveExecutableOnPath(process.env.SHELL||'',_0x382151)??resolveExecutableOnPath(_0x19b628(0xa1),_0x382151)??resolveExecutableOnPath('sh',_0x382151);if(!_0x2b24ee)throw new Error(_0x19b628(0x99)+_0x19b628(0x93)+_0x19b628(0x9f));return{'command':_0x2b24ee,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x2ec915,emitData:_0x4c4cb2,emitExit:_0xa930c0}){const _0x4dce32=new Map();function _0x481c3d(_0x50e70e){const _0x515519=_0x3df3,_0x1b0c33=_0x4dce32[_0x515519(0xcb)](_0x50e70e);if(!_0x1b0c33)throw new Error(_0x515519(0xd6)+_0x515519(0xc4)+_0x515519(0xc7)+'nd');return _0x1b0c33;}async function _0x2dae0d(_0x5c1201={}){const _0xd9346d=_0x3df3,_0x469f3b={...process.env,'TERM':_0xd9346d(0xb5)+_0xd9346d(0x9b),'COLORTERM':_0xd9346d(0x94)+'r',..._0x5c1201[_0xd9346d(0x9a)]&&typeof _0x5c1201[_0xd9346d(0x9a)]===_0xd9346d(0x9e)?_0x5c1201[_0xd9346d(0x9a)]:{}},_0x45b26d=typeof _0x5c1201[_0xd9346d(0x95)]==='string'&&_0x5c1201['cwd'][_0xd9346d(0xb1)]()?_0x5c1201['cwd']:'',_0x16b305=_0x45b26d||_0x2ec915;await mkdir(_0x16b305,{'recursive':!![]});const {command:_0x3d2b14,args:_0x179bbc}=resolveShellLaunchConfig(_0x469f3b),_0x57e7db=randomUUID(),_0x10a1bb=spawn(_0x3d2b14,_0x179bbc,{'cwd':_0x16b305,'env':_0x469f3b,'stdio':_0xd9346d(0xc6)});return _0x4dce32[_0xd9346d(0xa8)](_0x57e7db,{'sessionId':_0x57e7db,'child':_0x10a1bb}),_0x10a1bb[_0xd9346d(0xa5)]['on'](_0xd9346d(0xcf),_0x1158eb=>_0x4c4cb2({'sessionId':_0x57e7db,'data':_0x1158eb['toString']()})),_0x10a1bb[_0xd9346d(0xa4)]['on'](_0xd9346d(0xcf),_0x560432=>_0x4c4cb2({'sessionId':_0x57e7db,'data':_0x560432[_0xd9346d(0xc2)]()})),_0x10a1bb['on'](_0xd9346d(0xa6),(_0x431c2a,_0x4a7421)=>{_0x4dce32['delete'](_0x57e7db),_0xa930c0({'sessionId':_0x57e7db,'exitCode':_0x431c2a,'signal':_0x4a7421});}),_0x10a1bb['on'](_0xd9346d(0x92),_0x1293ce=>{const _0x599c98=_0xd9346d;_0x4c4cb2({'sessionId':_0x57e7db,'data':_0x1293ce[_0x599c98(0x8f)]+'\x0a'});}),{'sessionId':_0x57e7db,'shell':basename(_0x3d2b14),'cwd':_0x16b305};}function _0x1a9c58(_0x144b66={}){const _0x14635d=_0x3df3,_0x5bbd1e=_0x481c3d(String(_0x144b66['sessionI'+'d']||''));return _0x5bbd1e[_0x14635d(0xab)][_0x14635d(0xb4)][_0x14635d(0x9c)](String(_0x144b66[_0x14635d(0xcf)]||'')),{'ok':!![]};}function _0x323fb1(_0xd43f99={}){const _0x131366=_0x3df3,_0x3bead7=String(_0xd43f99[_0x131366(0xa9)+'d']||'');return _0x481c3d(_0x3bead7),{'ok':!![],'ignored':!![]};}function _0x3832a5(_0x55d22c={}){const _0x2b3e05=_0x3df3,_0x17e7de=String(_0x55d22c['sessionI'+'d']||''),_0x5e53ec=_0x4dce32[_0x2b3e05(0xcb)](_0x17e7de);if(!_0x5e53ec)return{'ok':!![],'closed':![]};return _0x4dce32[_0x2b3e05(0xaa)](_0x17e7de),_0x5e53ec[_0x2b3e05(0xab)][_0x2b3e05(0xbb)](),{'ok':!![],'closed':!![]};}function _0x58a31a(){const _0x46a50a=_0x3df3;for(const _0x1ac3bd of _0x4dce32[_0x46a50a(0x91)]())_0x1ac3bd[_0x46a50a(0xab)][_0x46a50a(0xbb)]();_0x4dce32[_0x46a50a(0xd3)]();}return{'create':_0x2dae0d,'input':_0x1a9c58,'resize':_0x323fb1,'close':_0x3832a5,'dispose':_0x58a31a};}
1
+ (function(_0x19e409,_0x9c6560){const _0xfdd536=_0x193f,_0x20af56=_0x19e409();while(!![]){try{const _0x3ce9ab=parseInt(_0xfdd536(0x122))/0x1*(parseInt(_0xfdd536(0x13b))/0x2)+-parseInt(_0xfdd536(0x121))/0x3+parseInt(_0xfdd536(0x134))/0x4*(parseInt(_0xfdd536(0x13d))/0x5)+-parseInt(_0xfdd536(0x144))/0x6+-parseInt(_0xfdd536(0x130))/0x7+-parseInt(_0xfdd536(0x145))/0x8+parseInt(_0xfdd536(0x125))/0x9*(parseInt(_0xfdd536(0x137))/0xa);if(_0x3ce9ab===_0x9c6560)break;else _0x20af56['push'](_0x20af56['shift']());}catch(_0x1b421b){_0x20af56['push'](_0x20af56['shift']());}}}(_0x5081,0xd1378));import{spawn}from'node:child_process';function _0x193f(_0x55943e,_0x54b11c){_0x55943e=_0x55943e-0x116;const _0x50819d=_0x5081();let _0x193fa6=_0x50819d[_0x55943e];return _0x193fa6;}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';const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0x13a862){const _0xdcfe97=_0x193f,_0x16a9a2=Object['keys'](_0x13a862)[_0xdcfe97(0x14d)](_0x3347fc=>_0x3347fc['toLowerC'+_0xdcfe97(0x139)]()===_0xdcfe97(0x13a))??_0xdcfe97(0x150);return String(_0x13a862[_0x16a9a2]||'')[_0xdcfe97(0x12e)](delimiter)['filter'](Boolean);}function canExecute(_0x4cd919){const _0x324105=_0x193f;try{return accessSync(_0x4cd919,process[_0x324105(0x11c)]===_0x324105(0x140)?constants['F_OK']:constants['X_OK']),!![];}catch{return![];}}function resolveExecutableOnPath(_0x39401e,_0x1fad35){const _0xcdc181=_0x193f,_0xf916dd=String(_0x39401e||'')[_0xcdc181(0x116)]();if(!_0xf916dd)return null;if(_0xf916dd[_0xcdc181(0x117)]('/')||_0xf916dd[_0xcdc181(0x117)]('\x5c'))return existsSync(_0xf916dd)?_0xf916dd:null;const _0x86bbdd=[_0xf916dd];process['platform']==='win32'&&!FILE_EXTENSION_REGEX[_0xcdc181(0x123)](_0xf916dd)&&_0x86bbdd[_0xcdc181(0x149)](_0xf916dd+'.exe',_0xf916dd+_0xcdc181(0x142),_0xf916dd+'.bat');for(const _0x2257e2 of resolvePathEntries(_0x1fad35)){for(const _0x3ecd22 of _0x86bbdd){const _0x29894a=join(_0x2257e2,_0x3ecd22);if(canExecute(_0x29894a))return _0x29894a;}}return null;}function resolveShellLaunchConfig(_0x1c0bcf){const _0x39782f=_0x193f;if(process[_0x39782f(0x11c)]==='win32'){const _0x3f4d5c=resolveExecutableOnPath('pwsh',_0x1c0bcf)??resolveExecutableOnPath(_0x39782f(0x131)+'ll',_0x1c0bcf);if(_0x3f4d5c)return{'command':_0x3f4d5c,'args':['-NoLogo']};const _0x1448b1=resolveExecutableOnPath(_0x39782f(0x14c),_0x1c0bcf);if(_0x1448b1)return{'command':_0x1448b1,'args':['/Q']};throw new Error('No\x20suppo'+_0x39782f(0x148)+_0x39782f(0x127)+_0x39782f(0x11f));}if(process[_0x39782f(0x11c)]==='darwin'){const _0x23237e=[_0x39782f(0x13e),'/usr/loc'+_0x39782f(0x138)+'sh',_0x39782f(0x12d)+_0x39782f(0x133)+_0x39782f(0x11e)][_0x39782f(0x14d)](canExecute);if(_0x23237e)return{'command':_0x23237e,'args':['-i']};const _0x4c431b=['/bin/bas'+'h',_0x39782f(0x14e)+_0x39782f(0x141)+_0x39782f(0x135),'/opt/hom'+_0x39782f(0x133)+_0x39782f(0x13f)][_0x39782f(0x14d)](canExecute);if(_0x4c431b)return{'command':_0x4c431b,'args':['--login','-i']};}const _0x1923fc=resolveExecutableOnPath(process.env.SHELL||'',_0x1c0bcf)??resolveExecutableOnPath(_0x39782f(0x124),_0x1c0bcf)??resolveExecutableOnPath('sh',_0x1c0bcf);if(!_0x1923fc)throw new Error(_0x39782f(0x14b)+'rted\x20she'+'ll\x20found');return{'command':_0x1923fc,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x4c8814,emitData:_0x4898c5,emitExit:_0x40b224}){const _0x3af75b=new Map();function _0x2b0ae4(_0x18adfa){const _0x16ceb8=_0x193f,_0x3094eb=_0x3af75b['get'](_0x18adfa);if(!_0x3094eb)throw new Error(_0x16ceb8(0x146)+_0x16ceb8(0x11b)+'\x20not\x20fou'+'nd');return _0x3094eb;}async function _0x301206(_0x560f4e={}){const _0x2088fb=_0x193f,_0x26bc14={...process.env,'TERM':_0x2088fb(0x132)+'6color','COLORTERM':'truecolo'+'r',..._0x560f4e[_0x2088fb(0x14a)]&&typeof _0x560f4e[_0x2088fb(0x14a)]==='object'?_0x560f4e['env']:{}},_0xcd4136=typeof _0x560f4e['cwd']==='string'&&_0x560f4e[_0x2088fb(0x136)][_0x2088fb(0x116)]()?_0x560f4e[_0x2088fb(0x136)]:'',_0x39196b=_0xcd4136||_0x4c8814;await mkdir(_0x39196b,{'recursive':!![]});const {command:_0x1008be,args:_0x239868}=resolveShellLaunchConfig(_0x26bc14),_0x11478c=randomUUID(),_0x1b47c4=spawn(_0x1008be,_0x239868,{'cwd':_0x39196b,'env':_0x26bc14,'stdio':_0x2088fb(0x14f)});return _0x3af75b[_0x2088fb(0x151)](_0x11478c,{'sessionId':_0x11478c,'child':_0x1b47c4}),_0x1b47c4[_0x2088fb(0x12f)]['on'](_0x2088fb(0x11a),_0x167502=>_0x4898c5({'sessionId':_0x11478c,'data':_0x167502[_0x2088fb(0x143)]()})),_0x1b47c4[_0x2088fb(0x12b)]['on'](_0x2088fb(0x11a),_0x2104fa=>_0x4898c5({'sessionId':_0x11478c,'data':_0x2104fa[_0x2088fb(0x143)]()})),_0x1b47c4['on'](_0x2088fb(0x126),(_0x3c879b,_0x16e10a)=>{const _0x17d135=_0x2088fb;_0x3af75b[_0x17d135(0x118)](_0x11478c),_0x40b224({'sessionId':_0x11478c,'exitCode':_0x3c879b,'signal':_0x16e10a});}),_0x1b47c4['on'](_0x2088fb(0x120),_0x41865a=>{const _0x4b0ad6=_0x2088fb;_0x4898c5({'sessionId':_0x11478c,'data':_0x41865a[_0x4b0ad6(0x147)]+'\x0a'});}),{'sessionId':_0x11478c,'shell':basename(_0x1008be),'cwd':_0x39196b};}function _0xe102e1(_0x3e6efa={}){const _0x117bd4=_0x193f,_0x49d327=_0x2b0ae4(String(_0x3e6efa['sessionI'+'d']||''));return _0x49d327[_0x117bd4(0x11d)][_0x117bd4(0x128)][_0x117bd4(0x129)](String(_0x3e6efa[_0x117bd4(0x11a)]||'')),{'ok':!![]};}function _0xfc6f5e(_0x5f3e7c={}){const _0xe2e3d6=_0x193f,_0xfadb1d=String(_0x5f3e7c[_0xe2e3d6(0x119)+'d']||'');return _0x2b0ae4(_0xfadb1d),{'ok':!![],'ignored':!![]};}function _0x3d5cae(_0x2a4ff1={}){const _0x35c58c=_0x193f,_0x3ff98f=String(_0x2a4ff1[_0x35c58c(0x119)+'d']||''),_0x554944=_0x3af75b['get'](_0x3ff98f);if(!_0x554944)return{'ok':!![],'closed':![]};return _0x3af75b[_0x35c58c(0x118)](_0x3ff98f),_0x554944[_0x35c58c(0x11d)][_0x35c58c(0x13c)](),{'ok':!![],'closed':!![]};}function _0x2d82bf(){const _0x3c69f4=_0x193f;for(const _0xd6cbe0 of _0x3af75b[_0x3c69f4(0x12a)]())_0xd6cbe0[_0x3c69f4(0x11d)]['kill']();_0x3af75b[_0x3c69f4(0x12c)]();}return{'create':_0x301206,'input':_0xe102e1,'resize':_0xfc6f5e,'close':_0x3d5cae,'dispose':_0x2d82bf};}function _0x5081(){const _0x3affbf=['/usr/loc','pipe','PATH','set','trim','includes','delete','sessionI','data','\x20session','platform','child','n/zsh','ll\x20found','error','4140363UvGHYc','1RYgwnu','test','bash','32161761asmzQj','close','dows\x20she','stdin','write','values','stderr','clear','/opt/hom','split','stdout','9576084fKzrts','powershe','xterm-25','ebrew/bi','138888oHHiaI','ash','cwd','10ITeMtl','al/bin/z','ase','path','2915950KMhdku','kill','115OXpkHw','/bin/zsh','n/bash','win32','al/bin/b','.cmd','toString','5982552ZIfGCj','9823464UhEOcP','Terminal','message','rted\x20Win','push','env','No\x20suppo','cmd','find'];_0x5081=function(){return _0x3affbf;};return _0x5081();}
@@ -1 +1 @@
1
- (function(_0x2b0026,_0x255c30){const _0x4659e5=_0x47e9,_0x14d08d=_0x2b0026();while(!![]){try{const _0x2d81e1=parseInt(_0x4659e5(0xf7))/0x1+parseInt(_0x4659e5(0x116))/0x2+-parseInt(_0x4659e5(0x190))/0x3+parseInt(_0x4659e5(0x155))/0x4+-parseInt(_0x4659e5(0x174))/0x5*(-parseInt(_0x4659e5(0x1aa))/0x6)+parseInt(_0x4659e5(0x195))/0x7+-parseInt(_0x4659e5(0x152))/0x8*(parseInt(_0x4659e5(0x103))/0x9);if(_0x2d81e1===_0x255c30)break;else _0x14d08d['push'](_0x14d08d['shift']());}catch(_0x36d8dc){_0x14d08d['push'](_0x14d08d['shift']());}}}(_0x2c74,0x4e932));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x28f805 from'electron-updater';import{app,BrowserWindow}from'electron';import{clean,compare}from'semver';const {autoUpdater}=_0x28f805,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8;function normalizeAppUpdatePackageFileName(_0x125922){const _0x3767e4=_0x47e9;if(typeof _0x125922!==_0x3767e4(0x169))return null;const _0x5b42c5=_0x125922[_0x3767e4(0xee)]();if(!_0x5b42c5||_0x5b42c5==='.'||_0x5b42c5==='..'||_0x5b42c5[_0x3767e4(0x1ad)]('/')||_0x5b42c5['includes']('\x5c'))return null;return _0x5b42c5;}function _0x47e9(_0x4cb2ac,_0x118b4b){_0x4cb2ac=_0x4cb2ac-0xe6;const _0x2c74a5=_0x2c74();let _0x47e9c8=_0x2c74a5[_0x4cb2ac];return _0x47e9c8;}function isMatchingAppUpdatePackageMetadata(_0x252490,_0x4a3c24){const _0x1638a3=_0x47e9;if(!_0x252490||!_0x4a3c24||typeof _0x4a3c24!==_0x1638a3(0x17a))return![];const _0xc3159b=_0x4a3c24,_0x1f2235=normalizeAppUpdatePackageFileName(_0x252490['fileName']),_0x5729ee=normalizeAppUpdatePackageFileName(_0xc3159b[_0x1638a3(0x1af)]),_0x397274=_0x252490['sha512'][_0x1638a3(0xee)](),_0x11959e=typeof _0xc3159b[_0x1638a3(0x102)]===_0x1638a3(0x169)?_0xc3159b[_0x1638a3(0x102)][_0x1638a3(0xee)]():'';return Boolean(_0x1f2235&&_0x5729ee&&_0x1f2235===_0x5729ee&&_0x397274&&_0x11959e&&_0x397274===_0x11959e);}function normalizeAppVersion(_0x289179){const _0x40d3a2=_0x47e9;return clean(String(_0x289179??'')[_0x40d3a2(0xee)]());}function compareAppVersions(_0x3acb0f,_0x97a3fd){const _0x4293c4=_0x47e9,_0x263756=normalizeAppVersion(_0x3acb0f),_0x42872c=normalizeAppVersion(_0x97a3fd);if(!_0x263756||!_0x42872c)return _0x4293c4(0x13b);const _0x2f2f23=compare(_0x42872c,_0x263756);if(_0x2f2f23===0x0)return _0x4293c4(0x156)+_0x4293c4(0xf8);return _0x2f2f23>0x0?_0x4293c4(0x17d)+'ewer':'remote-o'+_0x4293c4(0x121);}function normalizeAppUpdateChannel(_0x20b407){const _0x5d7f82=_0x47e9;return _0x20b407===_0x5d7f82(0x142)?_0x5d7f82(0x142):'latest';}function _0x2c74(){const _0xb3fbc1=['295836TSJnvT','sion','安装器未就绪,请','max','ytes','phase','nfo.json','installi','interval','包后再试','exec','sha512','2187delGEt','e.yml','check-er','path','pdate-in','ing','no\x20match','isArray','vailable','win32','后的安装包中可用','update-d','ha\x20更新渠道','requeste','then','edVersio','ntervalM','currentV','新版本','779702CuxLlJ','id\x20not\x20t','\x20已准备好安装','eVersion','packageN','errorCod','within\x20t',',请重新校验并准','kage','join','error','lder','taleMs','context','dataDir','当前使用\x20Alp','动更新','t\x20pendin','length','flatMap','-updater','allOnApp','内自动更新','urrent\x20p','rigger\x20a','fo.json','发现本地更新包\x20','正在验证安装包…','failed\x20t','phase\x20co','Local','o\x20clear\x20','-progres','pending','now','自动更新已在\x20s','isFinite','unknown','o\x20inspec','lable','\x20AppImag','Caches','check\x20re','更新安装未能启动','alpha','message','rsion','当前没有可下载的','o\x20read\x20a','otes','update-a','Updates','-error','sPath','app:upda','warn','phase-co','update_a','正在安装更新并重','cache\x20hi','45776oQAKbv','ame','toISOStr','2136800FFmxEu','same-ver','hell.con','packageB','not-avai','updaterC','hasUpdat','red','installQ','utf8','pp\x20quit\x20','transfer','e\x20版本支持应用','备安装','parse','aded\x20pac','enabled','download','ror','isDestro','string','isFile','o\x20persis','install-','安装更新失败','update-i','正在下载\x20','backgrou','finally','supporte','size','675xAyQIo','info','Percent','nd\x20updat','split','autoDown','object','更新包\x20v','Library','remote-n','version','remoteVe','able','AppData','g\x20instal',',请重新下载更新','unsuppor','imeout','nts','stringif','percent','te-state','ndCheckS','正在检查更新','e\x20check\x20','o\x20read\x20p','ing\x20upda','启应用','649107HQpLCS','resource','yed','load','te.yml','3622325qHktrN','自动更新已禁用','.cache','releaseD','checking','utMs','Second','app-upda','当前没有可安装的','releaseN','darwin','availabl','ate','ownloade','Update','ndCheckI','channel','test','ted','bytesPer','当前构建不支持自','8502wRRETg','files','自动更新仅在打包','includes','pp-updat','fileName','number','ending\x20u','Linux\x20下仅','更新准备失败','ewer','idle','getAllWi','ge\x20for\x20c','未知的自动更新错','trim','linux','uitTimeo','quitAndI','failed','发现新版本\x20v','isPackag','platform','startup'];_0x2c74=function(){return _0xb3fbc1;};return _0x2c74();}function normalizeString(_0x49efa4){const _0x370cbb=_0x47e9;if(typeof _0x49efa4!==_0x370cbb(0x169))return null;const _0x5ed680=_0x49efa4['trim']();return _0x5ed680||null;}function normalizeReleaseNotes(_0x2c3e53){const _0x598fa4=_0x47e9;if(typeof _0x2c3e53==='string')return normalizeString(_0x2c3e53);if(!Array[_0x598fa4(0x10a)](_0x2c3e53))return null;const _0x1c461d=_0x2c3e53[_0x598fa4(0x129)](_0x4934d3=>{const _0x15113=_0x598fa4;if(typeof _0x4934d3===_0x15113(0x169)){const _0x2e8415=normalizeString(_0x4934d3);return _0x2e8415?[_0x2e8415]:[];}if(!_0x4934d3||typeof _0x4934d3!=='object')return[];const _0x597833=normalizeString(_0x4934d3[_0x15113(0x17e)]),_0x3e3911=normalizeString(_0x4934d3['note']);if(_0x597833&&_0x3e3911)return['v'+_0x597833+'\x0a'+_0x3e3911];if(_0x3e3911)return[_0x3e3911];if(_0x597833)return['v'+_0x597833];return[];});return _0x1c461d[_0x598fa4(0x128)]>0x0?_0x1c461d[_0x598fa4(0x11f)]('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x54eb31){const _0x108d2e=_0x47e9;if(!_0x54eb31||typeof _0x54eb31!=='object')return{};return{'remoteVersion':normalizeString(_0x54eb31[_0x108d2e(0x17e)]),'availableVersion':normalizeString(_0x54eb31[_0x108d2e(0x17e)]),'releaseName':normalizeString(_0x54eb31[_0x108d2e(0x19e)+_0x108d2e(0x153)]),'releaseDate':normalizeString(_0x54eb31[_0x108d2e(0x198)+_0x108d2e(0x1a1)]),'releaseNotes':normalizeReleaseNotes(_0x54eb31[_0x108d2e(0x19e)+_0x108d2e(0x147)])};}function extractPackageFileName(_0x525be0){const _0x3c5ef8=_0x47e9,_0x11e0a9=normalizeString(_0x525be0);if(!_0x11e0a9)return null;try{const _0x4b32b8=new URL(_0x11e0a9);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x4b32b8['pathname'])));}catch{const _0x2efd1d=_0x11e0a9[_0x3c5ef8(0x178)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x2efd1d));}}function getPreferredUpdatePackagePattern(){const _0x4522fb=_0x47e9;if(process[_0x4522fb(0xf5)]==='darwin')return/\.zip$/iu;if(process[_0x4522fb(0xf5)]===_0x4522fb(0x10c))return/\.exe$/iu;if(process['platform']===_0x4522fb(0xef))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x3fb067,_0x54d92d){const _0x95a2fe=_0x47e9;if(!_0x3fb067||typeof _0x3fb067!==_0x95a2fe(0x17a))return null;const _0x53dc40=normalizeString(_0x3fb067['version']);if(!_0x53dc40)return null;const _0x4ad271=[],_0x46c7e9=Array['isArray'](_0x3fb067['files'])?_0x3fb067[_0x95a2fe(0x1ab)]:[];for(const _0x1c3f1f of _0x46c7e9){if(!_0x1c3f1f||typeof _0x1c3f1f!==_0x95a2fe(0x17a))continue;const _0x4921ad=extractPackageFileName(_0x1c3f1f['url'])??extractPackageFileName(_0x1c3f1f[_0x95a2fe(0x106)])??normalizeAppUpdatePackageFileName(_0x1c3f1f[_0x95a2fe(0x1af)]),_0x16e1a8=normalizeString(_0x1c3f1f[_0x95a2fe(0x102)]);_0x4921ad&&_0x16e1a8&&_0x4ad271['push']({'fileName':_0x4921ad,'sha512':_0x16e1a8});}const _0x24bd38=extractPackageFileName(_0x3fb067['url'])??extractPackageFileName(_0x3fb067[_0x95a2fe(0x106)])??normalizeAppUpdatePackageFileName(_0x3fb067[_0x95a2fe(0x1af)]),_0x124a1d=normalizeString(_0x3fb067[_0x95a2fe(0x102)]);_0x24bd38&&_0x124a1d&&_0x4ad271['push']({'fileName':_0x24bd38,'sha512':_0x124a1d});const _0x2fc8d7=_0x4ad271['find'](_0xebd553=>getPreferredUpdatePackagePattern()[_0x95a2fe(0x1a6)](_0xebd553[_0x95a2fe(0x1af)]));if(!_0x2fc8d7)return _0x54d92d?.[_0x95a2fe(0x14d)]?.(_0x95a2fe(0x109)+_0x95a2fe(0x18e)+'te\x20packa'+_0x95a2fe(0xec)+_0x95a2fe(0x12d)+'latform',{'platform':process[_0x95a2fe(0xf5)],'candidates':_0x4ad271['map'](_0x1a2232=>_0x1a2232['fileName'])}),null;return{'version':_0x53dc40,..._0x2fc8d7};}function extractProgressPatch(_0x4ab278){const _0x418a82=_0x47e9;return{'downloadPercent':typeof _0x4ab278['percent']===_0x418a82(0x1b0)?_0x4ab278[_0x418a82(0x188)]:null,'bytesPerSecond':typeof _0x4ab278[_0x418a82(0x1a8)+_0x418a82(0x19b)]===_0x418a82(0x1b0)?_0x4ab278[_0x418a82(0x1a8)+_0x418a82(0x19b)]:null,'transferredBytes':typeof _0x4ab278['transfer'+'red']==='number'?_0x4ab278[_0x418a82(0x160)+_0x418a82(0x15c)]:null,'totalBytes':typeof _0x4ab278['total']===_0x418a82(0x1b0)?_0x4ab278['total']:null};}function getErrorMessage(_0x597d7a){const _0x446bca=_0x47e9;if(_0x597d7a instanceof Error&&_0x597d7a[_0x446bca(0x143)][_0x446bca(0xee)]())return _0x597d7a['message'][_0x446bca(0xee)]();if(typeof _0x597d7a==='string'&&_0x597d7a[_0x446bca(0xee)]())return _0x597d7a[_0x446bca(0xee)]();return _0x446bca(0xed)+'误';}export function createUpdateController({shellConfig:_0x3f3730,appName:_0x1704f5,appVersion:_0x214520,broadcast:_0x205c69,logger:_0x2a2e17}){const _0x3a3167=_0x47e9,_0x4f9b29=_0x3f3730['updates']??{},_0x578f64=normalizeAppUpdateChannel(_0x4f9b29['channel']),_0x1d7c01={'backgroundCheckIntervalMs':_0x4f9b29[_0x3a3167(0x170)+_0x3a3167(0x1a4)+'ntervalM'+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x4f9b29[_0x3a3167(0x170)+'ndCheckS'+_0x3a3167(0x122)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x4f9b29[_0x3a3167(0x15d)+_0x3a3167(0xf0)+_0x3a3167(0x19a)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x4f9b29[_0x3a3167(0x179)+'load']===!![]},_0x2846d4={'supported':![],'channel':_0x578f64,'phase':_0x3a3167(0x184)+_0x3a3167(0x1a7),'currentVersion':_0x214520(),'remoteVersion':null,'comparisonResult':_0x3a3167(0x13b),'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':_0x3a3167(0x196),'error':null,'errorCode':null};let _0x2b2f35=![],_0x2753e6=null,_0x5f1d05=null,_0x13931c=null,_0x1bc884=null,_0x1c1911=null,_0x28f613=![],_0x2ac2eb=null,_0x5b9dea=0x0;function _0x205959(){const _0x2202ae=_0x3a3167;if(process['platform']===_0x2202ae(0x19f))return join(homedir(),_0x2202ae(0x17c),_0x2202ae(0x13f));if(process[_0x2202ae(0xf5)]===_0x2202ae(0x10c))return process.env.LOCALAPPDATA??join(homedir(),_0x2202ae(0x181),_0x2202ae(0x134));return process.env.XDG_CACHE_HOME??join(homedir(),_0x2202ae(0x197));}function _0x2bfea3(){const _0x646740=_0x3a3167;if(!app[_0x646740(0xf4)+'ed']||!process[_0x646740(0x191)+_0x646740(0x14b)])return{};const _0x4c7714=join(process[_0x646740(0x191)+_0x646740(0x14b)],_0x646740(0x19c)+_0x646740(0x194));if(!existsSync(_0x4c7714))return{};try{const _0x32bb25=readFileSync(_0x4c7714,_0x646740(0x15e)),_0x311339=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x646740(0x101)](_0x32bb25),_0x20bd4e=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x646740(0x101)](_0x32bb25);return{'channel':normalizeAppUpdateChannel(_0x311339?.[0x1]),'updaterCacheDirName':normalizeString(_0x20bd4e?.[0x1])};}catch(_0x2fad2c){return _0x2a2e17?.['warn']?.(_0x646740(0x132)+_0x646740(0x146)+_0x646740(0x1ae)+_0x646740(0x104),{'error':getErrorMessage(_0x2fad2c)}),{};}}const _0x586418=_0x2bfea3();_0x586418['channel']&&(_0x2846d4[_0x3a3167(0x1a5)]=_0x586418['channel']);function _0x237fce(){const _0x2b134c=_0x3a3167,_0x1adf31=_0x586418[_0x2b134c(0x15a)+'acheDirN'+_0x2b134c(0x153)]||_0x1704f5()+_0x2b134c(0x12a);return join(_0x205959(),_0x1adf31);}function _0x56b032(_0x2100cd){const _0xd5f213=_0x3a3167;return _0x2100cd===_0xd5f213(0x142)?_0xd5f213(0x125)+_0xd5f213(0x10f):'自动更新功能已就'+'绪';}function _0x9450d5(){const _0x321da8=_0x3a3167;if(_0x4f9b29[_0x321da8(0x165)]===![])return![];if(!app[_0x321da8(0xf4)+'ed'])return![];if(process[_0x321da8(0xf5)]!==_0x321da8(0xef))return!![];return Boolean(process.env.APPIMAGE);}function _0x1438aa(){const _0x15d79e=_0x3a3167;if(_0x4f9b29[_0x15d79e(0x165)]===![])return _0x15d79e(0x139)+_0x15d79e(0x157)+'fig\x20中禁用';if(!app[_0x15d79e(0xf4)+'ed'])return _0x15d79e(0x1ac)+_0x15d79e(0x10d);if(process['platform']===_0x15d79e(0xef))return _0x15d79e(0xe7)+_0x15d79e(0x13e)+_0x15d79e(0x161)+_0x15d79e(0x12c);return _0x15d79e(0x1a9)+_0x15d79e(0x126);}function _0xd3b1ec(){const _0x7aa61c=_0x3a3167;return join(_0x3f3730[_0x7aa61c(0x124)],_0x7aa61c(0x16c)+_0x7aa61c(0x14e)+'ntext.js'+'on');}function _0x5f2b83(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x5b95f9(){return{..._0x2846d4};}function _0x828664(){const _0x3da082=_0x3a3167,_0xee49e3=_0x5b95f9();for(const _0x3fd8a6 of BrowserWindow[_0x3da082(0xeb)+'ndows']()){!_0x3fd8a6[_0x3da082(0x168)+_0x3da082(0x192)]()&&_0x3fd8a6['webConte'+_0x3da082(0x186)]['send'](_0x3da082(0x14c)+_0x3da082(0x189),_0xee49e3);}_0x205c69?.('app:upda'+'te-state',_0xee49e3);}function _0x3788bd(_0xc77955){const _0x5bf8e5=_0x3a3167,_0x369853={..._0xc77955};_0x369853[_0x5bf8e5(0x120)]===null&&_0x369853['errorCod'+'e']===undefined&&(_0x369853[_0x5bf8e5(0x11b)+'e']=null),Object['assign'](_0x2846d4,_0x369853,{'currentVersion':_0x214520()}),_0x828664();}function _0x4a03e1(){const _0x3fee70=_0x3a3167;if(!_0x2846d4[_0x3fee70(0x172)+'d'])throw new Error(_0x1438aa());}function _0x2dcef0(_0x2e7505,_0x4a13b2={}){const _0x2b1ddd=_0x3a3167;_0x2a2e17?.[_0x2b1ddd(0x175)]?.(_0x2e7505,_0x4a13b2);}function _0x227121(_0xb7f175,_0x258790={}){const _0x4b80f8=_0x3a3167;_0x2a2e17?.[_0x4b80f8(0x14d)]?.(_0xb7f175,_0x258790);}function _0x1210a4(_0x271a7b){const _0x2e1600=_0x3a3167;if(typeof _0x271a7b!==_0x2e1600(0x1b0)||!Number[_0x2e1600(0x13a)](_0x271a7b))return null;const _0x38970c=Math['min'](0x63,Math[_0x2e1600(0xfa)](0x0,_0x271a7b));if(_0x2846d4['phase']!==_0x2e1600(0x166)+_0x2e1600(0x108)||typeof _0x2846d4[_0x2e1600(0x166)+_0x2e1600(0x176)]!==_0x2e1600(0x1b0))return _0x38970c;return Math['max'](_0x2846d4['download'+_0x2e1600(0x176)],_0x38970c);}function _0xf397c6(_0x584be7,_0x4593a4){const _0x5e904b=_0x3a3167,_0x2b4df0=_0x584be7?'v'+_0x584be7:_0x5e904b(0x115);if(typeof _0x4593a4==='number'){if(_0x4593a4>=0x63)return _0x5e904b(0x131);return'正在下载\x20'+_0x2b4df0+'\x20('+_0x4593a4['toFixed'](0x1)+'%)';}return _0x5e904b(0x16f)+_0x2b4df0;}function _0x519f3e(_0x36f396){const _0x1f6d46=_0x3a3167;try{writeFileSync(_0xd3b1ec(),JSON[_0x1f6d46(0x187)+'y'](_0x36f396,null,0x2),_0x1f6d46(0x15e));}catch(_0x3699f1){_0x227121('failed\x20t'+_0x1f6d46(0x16b)+'t\x20instal'+'l\x20phase\x20'+_0x1f6d46(0x123),{'error':getErrorMessage(_0x3699f1)});}}function _0x4cce06(){const _0xbea8be=_0x3a3167;try{rmSync(_0xd3b1ec(),{'force':!![]});}catch(_0x40418b){_0x227121(_0xbea8be(0x132)+_0xbea8be(0x135)+'install\x20'+_0xbea8be(0x133)+'ntext',{'error':getErrorMessage(_0x40418b)});}}function _0x1337f9(){const _0x344dad=_0x3a3167,_0x331efb=join(_0x237fce(),_0x344dad(0x137));if(!existsSync(_0x331efb))return{'packageName':null,'packageBytes':null};try{const _0x360c96=readdirSync(_0x331efb)['find'](_0x1459a1=>/\.(zip|exe|dmg|AppImage)$/iu[_0x344dad(0x1a6)](_0x1459a1))??null;if(!_0x360c96)return{'packageName':null,'packageBytes':null};const _0x37886e=join(_0x331efb,_0x360c96);return{'packageName':_0x360c96,'packageBytes':statSync(_0x37886e)[_0x344dad(0x173)]};}catch(_0x31fa73){return _0x227121('failed\x20t'+_0x344dad(0x13c)+_0x344dad(0x127)+_0x344dad(0x182)+'l\x20packag'+'e',{'error':getErrorMessage(_0x31fa73)}),{'packageName':null,'packageBytes':null};}}function _0xe72086(){const _0x3df5b9=_0x3a3167;if(!_0x13931c)return null;const _0x2370a0=join(_0x237fce(),_0x3df5b9(0x137)),_0x24b3c8=join(_0x2370a0,_0x3df5b9(0x16e)+_0x3df5b9(0xfd));if(!existsSync(_0x24b3c8))return null;let _0x43025d=null;try{_0x43025d=JSON[_0x3df5b9(0x163)](readFileSync(_0x24b3c8,_0x3df5b9(0x15e)));}catch(_0x244ac6){return _0x227121(_0x3df5b9(0x132)+_0x3df5b9(0x18d)+_0x3df5b9(0xe6)+_0x3df5b9(0x107)+_0x3df5b9(0x12f),{'error':getErrorMessage(_0x244ac6)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x13931c,_0x43025d))return null;const _0x3a709a=join(_0x2370a0,_0x13931c[_0x3df5b9(0x1af)]);if(!existsSync(_0x3a709a))return null;try{const _0x1170c0=statSync(_0x3a709a);if(!_0x1170c0[_0x3df5b9(0x16a)]()||_0x1170c0['size']===0x0)return null;return{'metadata':_0x13931c,'packageName':_0x13931c[_0x3df5b9(0x1af)],'packageBytes':_0x1170c0['size']};}catch(_0x4e92cd){return _0x227121('failed\x20t'+_0x3df5b9(0x13c)+_0x3df5b9(0x127)+'g\x20downlo'+_0x3df5b9(0x164)+_0x3df5b9(0x11e),{'error':getErrorMessage(_0x4e92cd)}),null;}}function _0x3579e9(_0x27298d){const _0x1f549f=_0x3a3167,_0x44d869=_0xe72086();if(!_0x44d869)return![];const {metadata:_0x4b4fea,packageName:_0x58165d,packageBytes:_0x353d11}=_0x44d869;return _0x2dcef0('pending\x20'+'package\x20'+_0x1f549f(0x151)+'t',{'reason':_0x27298d,'version':_0x4b4fea[_0x1f549f(0x17e)],'packageName':_0x58165d,'packageBytes':_0x353d11}),_0x3788bd({'phase':_0x1f549f(0x1a0)+'e','remoteVersion':_0x4b4fea['version'],'comparisonResult':_0x1f549f(0x17d)+_0x1f549f(0xe9),'hasUpdate':!![],'availableVersion':_0x4b4fea[_0x1f549f(0x17e)],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x353d11,'totalBytes':_0x353d11,'hasPendingPackage':!![],'pendingPackageName':_0x58165d,'pendingPackageBytes':_0x353d11,'error':null,'message':_0x1f549f(0x130)+'v'+_0x4b4fea[_0x1f549f(0x17e)]+(_0x1f549f(0x11d)+_0x1f549f(0x162))}),!![];}function _0x5a766f(){const _0xf0a028=_0x3a3167;return _0x2846d4[_0xf0a028(0x172)+'d']&&!_0x2753e6&&!_0x5f1d05&&[_0xf0a028(0xea),'not-avai'+'lable','error'][_0xf0a028(0x1ad)](_0x2846d4[_0xf0a028(0xfc)]);}function _0x53ae5e(){if(!_0x1c1911)return;clearTimeout(_0x1c1911),_0x1c1911=null;}function _0xcf24a7(_0x3aa5f4){const _0x42217c=_0x3a3167,_0x2f59e9=_0x2846d4[_0x42217c(0x166)+_0x42217c(0x112)+'n'],_0x44bf20=_0x2846d4['availabl'+_0x42217c(0x119)];_0x1bc884=null,_0x28f613=![],_0x53ae5e(),_0x4cce06(),_0x3788bd({'phase':'error','checkedAt':new Date()[_0x42217c(0x154)+_0x42217c(0x108)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x44bf20??_0x2f59e9,'downloadedVersion':_0x2f59e9,'error':getErrorMessage(_0x3aa5f4),'errorCode':'install-'+'error','message':_0x42217c(0x16d)});}function _0x343991(){const _0x2c9e6d=_0x3a3167;_0x53ae5e(),_0x28f613=![],_0x1c1911=setTimeout(()=>{const _0x25d7e5=_0x47e9;if(_0x28f613||_0x2846d4[_0x25d7e5(0xfc)]!==_0x25d7e5(0xfe)+'ng')return;_0x227121(_0x25d7e5(0xf1)+'nstall\x20d'+_0x25d7e5(0x117)+_0x25d7e5(0x12e)+_0x25d7e5(0x15f)+_0x25d7e5(0x11c)+_0x25d7e5(0x185),{'downloadedVersion':_0x2846d4[_0x25d7e5(0x166)+_0x25d7e5(0x112)+'n'],'currentVersion':_0x2846d4[_0x25d7e5(0x114)+'ersion']}),_0xcf24a7(new Error(_0x25d7e5(0x141)+_0x25d7e5(0x183)+_0x25d7e5(0x100)));},_0x1d7c01[_0x2c9e6d(0x15d)+_0x2c9e6d(0xf0)+_0x2c9e6d(0x19a)]);}function _0x439268(){const _0xe02de9=_0x3a3167;if(_0x2b2f35)return;_0x2b2f35=!![],_0x2846d4[_0xe02de9(0x172)+'d']=_0x9450d5(),_0x2846d4[_0xe02de9(0xfc)]=_0x2846d4[_0xe02de9(0x172)+'d']?_0xe02de9(0xea):_0xe02de9(0x184)+_0xe02de9(0x1a7),_0x2846d4[_0xe02de9(0x143)]=_0x2846d4['supporte'+'d']?_0x56b032(_0x2846d4[_0xe02de9(0x1a5)]):_0x1438aa();if(!_0x2846d4['supporte'+'d']){_0x828664();return;}autoUpdater[_0xe02de9(0x179)+'load']=_0x1d7c01[_0xe02de9(0x179)+_0xe02de9(0x193)],autoUpdater['autoInst'+_0xe02de9(0x12b)+'Quit']=![],autoUpdater['channel']=_0x2846d4[_0xe02de9(0x1a5)],autoUpdater['on'](_0xe02de9(0x199)+'-for-upd'+'ate',()=>{const _0x5d75f1=_0xe02de9;_0x13931c=null,_0x3788bd({'phase':'checking','checkedAt':new Date()['toISOStr'+_0x5d75f1(0x108)](),'remoteVersion':null,'comparisonResult':'unknown','hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f2b83(),'error':null,'message':_0x5d75f1(0x18b)});}),autoUpdater['on'](_0xe02de9(0x148)+_0xe02de9(0x10b),_0x231ee4=>{const _0x4f638b=_0xe02de9,_0x5cb35a=extractUpdateInfoPatch(_0x231ee4),_0x477ce7=compareAppVersions(_0x214520(),_0x5cb35a[_0x4f638b(0x17f)+_0x4f638b(0x144)]);if(_0x477ce7!==_0x4f638b(0x17d)+_0x4f638b(0xe9)){_0x13931c=null,_0x3788bd({..._0x5cb35a,'phase':_0x4f638b(0x159)+_0x4f638b(0x13d),'comparisonResult':_0x477ce7,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f2b83(),'checkedAt':new Date()[_0x4f638b(0x154)+'ing'](),'error':null,'message':'当前已经是最新版'+'本'});return;}_0x13931c=extractRemoteUpdatePackageMetadata(_0x231ee4,_0x2a2e17),_0x3788bd({..._0x5cb35a,'phase':_0x4f638b(0x1a0)+'e','comparisonResult':_0x477ce7,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f2b83(),'checkedAt':new Date()[_0x4f638b(0x154)+_0x4f638b(0x108)](),'error':null,'message':_0x5cb35a[_0x4f638b(0x1a0)+_0x4f638b(0x119)]?_0x4f638b(0xf3)+_0x5cb35a[_0x4f638b(0x1a0)+_0x4f638b(0x119)]:'发现可用更新'}),_0x3579e9(_0x4f638b(0x14f)+_0x4f638b(0x10b));}),autoUpdater['on']('update-n'+'ot-avail'+_0xe02de9(0x180),_0x230abe=>{const _0x21e2ab=_0xe02de9;_0x13931c=null;const _0x4ed0ca=extractUpdateInfoPatch(_0x230abe);_0x3788bd({..._0x4ed0ca,'phase':_0x21e2ab(0x159)+_0x21e2ab(0x13d),'comparisonResult':compareAppVersions(_0x214520(),_0x4ed0ca['remoteVe'+'rsion']),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x5f2b83(),'checkedAt':new Date()[_0x21e2ab(0x154)+_0x21e2ab(0x108)](),'error':null,'message':'当前已经是最新版'+'本'});}),autoUpdater['on'](_0xe02de9(0x166)+_0xe02de9(0x136)+'s',_0x4f745e=>{const _0x19defa=_0xe02de9,_0x152f02=extractProgressPatch(_0x4f745e),_0x1d4d74=_0x1210a4(_0x152f02[_0x19defa(0x166)+_0x19defa(0x176)]??null);_0x3788bd({..._0x152f02,'downloadPercent':_0x1d4d74,'phase':_0x19defa(0x166)+_0x19defa(0x108),..._0x5f2b83(),'error':null,'message':_0xf397c6(_0x2846d4[_0x19defa(0x1a0)+'eVersion'],_0x1d4d74)});}),autoUpdater['on'](_0xe02de9(0x10e)+_0xe02de9(0x1a2)+'d',_0x5d9af2=>{const _0x225a8a=_0xe02de9,_0x17c6ea=extractUpdateInfoPatch(_0x5d9af2),_0x47bab0=extractRemoteUpdatePackageMetadata(_0x5d9af2,_0x2a2e17)??_0x13931c;_0x47bab0&&(_0x13931c=_0x47bab0);const _0x5825ae=_0x17c6ea[_0x225a8a(0x1a0)+'eVersion']??_0x47bab0?.[_0x225a8a(0x17e)]??_0x2846d4[_0x225a8a(0x1a0)+'eVersion'];_0x3788bd({..._0x17c6ea,'phase':_0x225a8a(0x166)+'ed','comparisonResult':compareAppVersions(_0x214520(),_0x5825ae),'hasUpdate':!![],'downloadedVersion':_0x5825ae,'downloadPercent':0x64,..._0x5f2b83(),'error':null,'message':_0x5825ae?_0x225a8a(0x17b)+_0x5825ae+_0x225a8a(0x118):'更新包已准备好安'+'装'});}),autoUpdater['on'](_0xe02de9(0x120),_0x3000c9=>{const _0x2914bc=_0xe02de9;if(_0x2846d4[_0x2914bc(0xfc)]==='installi'+'ng'){_0xcf24a7(_0x3000c9);return;}_0x3788bd({'phase':'error','checkedAt':new Date()[_0x2914bc(0x154)+_0x2914bc(0x108)](),..._0x5f2b83(),'error':getErrorMessage(_0x3000c9),'errorCode':_0x2846d4[_0x2914bc(0xfc)]==='download'+'ing'?_0x2914bc(0x166)+_0x2914bc(0x14a):_0x2914bc(0x105)+_0x2914bc(0x167),'message':'自动更新失败'});}),_0x828664();}async function _0x1b1ead(){const _0x148622=_0x3a3167;_0x439268(),_0x4a03e1();if(_0x2753e6)return _0x2753e6;return _0x2dcef0(_0x148622(0x140)+'quested'),_0x2753e6=autoUpdater['checkFor'+_0x148622(0x149)]()[_0x148622(0x111)](()=>_0x5b95f9())[_0x148622(0x171)](()=>{_0x2753e6=null;}),_0x2753e6;}async function _0x2537f3(){const _0x4e53eb=_0x3a3167;_0x439268(),_0x4a03e1();if(_0x2846d4[_0x4e53eb(0xfc)]===_0x4e53eb(0x166)+'ed'||_0x2846d4['phase']===_0x4e53eb(0xfe)+'ng')return _0x5b95f9();if(!_0x2846d4[_0x4e53eb(0x15b)+'e'])throw new Error(_0x4e53eb(0x145)+'更新');const _0x10a9c5=_0x2846d4[_0x4e53eb(0xfc)]===_0x4e53eb(0x120)&&_0x2846d4['errorCod'+'e']==='install-'+_0x4e53eb(0x120)&&Boolean(_0x2846d4[_0x4e53eb(0x166)+_0x4e53eb(0x112)+'n']);if(_0x2846d4[_0x4e53eb(0xfc)]===_0x4e53eb(0x120)){if(_0x10a9c5)_0x3788bd({'phase':_0x4e53eb(0x1a0)+'e','hasUpdate':!![],'availableVersion':_0x2846d4['availabl'+_0x4e53eb(0x119)]??_0x2846d4['download'+'edVersio'+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x5f2b83(),'error':null,'message':'正在重新准备更新'+'包'});else{await _0x1b1ead();if(_0x2846d4[_0x4e53eb(0xfc)]!==_0x4e53eb(0x1a0)+'e')throw new Error(_0x4e53eb(0x145)+'更新');}}if(![_0x4e53eb(0x1a0)+'e',_0x4e53eb(0x166)+'ing'][_0x4e53eb(0x1ad)](_0x2846d4[_0x4e53eb(0xfc)]))throw new Error(_0x4e53eb(0x145)+'更新');if(_0x5f1d05)return _0x5f1d05;return _0x5f1d05=autoUpdater[_0x4e53eb(0x166)+_0x4e53eb(0x1a3)]()[_0x4e53eb(0x111)](()=>{const _0x1a5fb4=_0x4e53eb;return _0x2846d4[_0x1a5fb4(0xfc)]!=='download'+'ed'&&_0x3788bd({'phase':'error','checkedAt':new Date()[_0x1a5fb4(0x154)+_0x1a5fb4(0x108)](),..._0x5f2b83(),'error':'更新包校验完成但'+_0x1a5fb4(0xf9)+'重试下载更新','errorCode':_0x1a5fb4(0x166)+_0x1a5fb4(0x14a),'message':_0x1a5fb4(0xe8)}),_0x5b95f9();})[_0x4e53eb(0x171)](()=>{_0x5f1d05=null;}),_0x5f1d05;}function _0x4219f1(){const _0x4f3f9c=_0x3a3167;_0x439268(),_0x4a03e1();if(!['download'+'ed','installi'+'ng'][_0x4f3f9c(0x1ad)](_0x2846d4[_0x4f3f9c(0xfc)]))throw new Error(_0x4f3f9c(0x19d)+'已下载更新');const _0x393f81=_0x1337f9();_0x1bc884=Date[_0x4f3f9c(0x138)](),_0x519f3e({'startedAt':new Date(_0x1bc884)['toISOStr'+_0x4f3f9c(0x108)](),'currentVersion':_0x2846d4[_0x4f3f9c(0x114)+'ersion'],'downloadedVersion':_0x2846d4[_0x4f3f9c(0x166)+_0x4f3f9c(0x112)+'n'],'pendingPackage':_0x393f81[_0x4f3f9c(0x11a)+'ame'],'pendingPackageBytes':_0x393f81[_0x4f3f9c(0x158)+_0x4f3f9c(0xfb)]}),_0x3788bd({'phase':'installi'+'ng',..._0x5f2b83(),'error':null,'message':_0x4f3f9c(0x150)+_0x4f3f9c(0x18f)});try{_0x343991(),autoUpdater[_0x4f3f9c(0xf1)+'nstall'](![],!![]);}catch(_0x2c8204){_0xcf24a7(_0x2c8204);throw _0x2c8204;}return{'ok':!![]};}async function _0x13ed00(_0x5753fc){const _0x491570=_0x3a3167;if(!_0x5a766f())return;_0x5b9dea=Date[_0x491570(0x138)](),_0x2dcef0(_0x491570(0x170)+_0x491570(0x177)+_0x491570(0x18c)+_0x491570(0x110)+'d',{'reason':_0x5753fc});try{await _0x1b1ead();}catch(_0x3c6525){_0x227121('backgrou'+'nd\x20updat'+'e\x20check\x20'+_0x491570(0xf2),{'reason':_0x5753fc,'error':getErrorMessage(_0x3c6525)});}}function _0x3daf0a(_0x25c060){const _0xbd999c=_0x3a3167;if(!_0x2846d4[_0xbd999c(0x172)+'d'])return;const _0x1b80d3=Date['now']()-_0x5b9dea;if(_0x1b80d3<_0x1d7c01[_0xbd999c(0x170)+_0xbd999c(0x18a)+'taleMs'])return;void _0x13ed00(_0x25c060);}function _0x3b82ce(){const _0x3d0f82=_0x3a3167;_0x439268();if(!_0x2846d4['supporte'+'d']||_0x2ac2eb)return;_0x2ac2eb=setInterval(()=>{const _0x445fec=_0x47e9;void _0x13ed00(_0x445fec(0xff));},_0x1d7c01[_0x3d0f82(0x170)+_0x3d0f82(0x1a4)+_0x3d0f82(0x113)+'s']),void _0x13ed00(_0x3d0f82(0xf6)),_0x2dcef0(_0x3d0f82(0x170)+_0x3d0f82(0x177)+'e\x20check\x20'+'schedule'+'r\x20starte'+'d',_0x1d7c01);}function _0x1d56b3(){const _0x41d2cc=_0x3a3167;if(_0x2846d4[_0x41d2cc(0xfc)]!==_0x41d2cc(0xfe)+'ng')return;_0x28f613=!![],_0x53ae5e();}return{'initialize':_0x439268,'getState':_0x5b95f9,'checkForUpdates':_0x1b1ead,'downloadUpdate':_0x2537f3,'quitAndInstall':_0x4219f1,'requestBackgroundCheck':_0x3daf0a,'startBackgroundChecks':_0x3b82ce,'markQuitObserved':_0x1d56b3};}
1
+ (function(_0x115d96,_0x402f8d){const _0x55ed93=_0x2c31,_0x5cd331=_0x115d96();while(!![]){try{const _0x383eb2=parseInt(_0x55ed93(0x116))/0x1*(parseInt(_0x55ed93(0xdb))/0x2)+parseInt(_0x55ed93(0x141))/0x3+-parseInt(_0x55ed93(0x134))/0x4+parseInt(_0x55ed93(0xb1))/0x5+-parseInt(_0x55ed93(0xe6))/0x6+-parseInt(_0x55ed93(0x101))/0x7*(parseInt(_0x55ed93(0xab))/0x8)+parseInt(_0x55ed93(0x146))/0x9;if(_0x383eb2===_0x402f8d)break;else _0x5cd331['push'](_0x5cd331['shift']());}catch(_0x2bbb85){_0x5cd331['push'](_0x5cd331['shift']());}}}(_0x3510,0x72368));import{existsSync,readFileSync,readdirSync,rmSync,statSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{basename,join}from'node:path';import _0x5dcbca from'electron-updater';import{app,BrowserWindow}from'electron';function _0x2c31(_0x5e3d26,_0x3dfa91){_0x5e3d26=_0x5e3d26-0x7a;const _0x351014=_0x3510();let _0x2c3176=_0x351014[_0x5e3d26];return _0x2c3176;}import{clean,compare}from'semver';const {autoUpdater}=_0x5dcbca,DEFAULT_INSTALL_QUIT_TIMEOUT_MS=0xea60,DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS=0x3c*0x3c*0x3e8,DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS=0x1e*0x3c*0x3e8;function normalizeAppUpdatePackageFileName(_0x4055c6){const _0x17889a=_0x2c31;if(typeof _0x4055c6!=='string')return null;const _0x14c32a=_0x4055c6[_0x17889a(0xd2)]();if(!_0x14c32a||_0x14c32a==='.'||_0x14c32a==='..'||_0x14c32a[_0x17889a(0x112)]('/')||_0x14c32a[_0x17889a(0x112)]('\x5c'))return null;return _0x14c32a;}function isMatchingAppUpdatePackageMetadata(_0xf6ba54,_0x2fd4b){const _0x188277=_0x2c31;if(!_0xf6ba54||!_0x2fd4b||typeof _0x2fd4b!=='object')return![];const _0x5192f3=_0x2fd4b,_0x5ebe5f=normalizeAppUpdatePackageFileName(_0xf6ba54[_0x188277(0xbf)]),_0x133877=normalizeAppUpdatePackageFileName(_0x5192f3[_0x188277(0xbf)]),_0x248def=_0xf6ba54[_0x188277(0xdc)][_0x188277(0xd2)](),_0x14e845=typeof _0x5192f3[_0x188277(0xdc)]===_0x188277(0x10e)?_0x5192f3[_0x188277(0xdc)]['trim']():'';return Boolean(_0x5ebe5f&&_0x133877&&_0x5ebe5f===_0x133877&&_0x248def&&_0x14e845&&_0x248def===_0x14e845);}function normalizeAppVersion(_0x84010e){const _0x13e300=_0x2c31;return clean(String(_0x84010e??'')[_0x13e300(0xd2)]());}function _0x3510(){const _0x5a6251=['1620125UPHGAH','finally','-progres','phase\x20co','hell.con','getAllWi','更新准备失败','正在下载\x20','platform','ha\x20更新渠道','errorCod','app-upda','size','ending\x20u','fileName','transfer','resource','dataDir','toISOStr','number','更新安装未能启动','lable','no\x20match','自动更新功能已就','remoteVe','able','max','Caches','更新包已准备好安','failed\x20t','isFinite','stringif','正在安装更新并重','trim','yed','utf8','requeste','update_a','g\x20downlo','当前构建不支持自','update-a','app:upda','717830mkaQwe','sha512','e\x20版本支持应用','l\x20packag','channel','正在重新准备更新','o\x20persis','win32','.cache','total','自动更新已禁用','4728402OpRnBh','edVersio','autoDown','ror','red','taleMs','phase','latest','ndows','te\x20packa','更新包校验完成但','ot-avail','isPackag','acheDirN','pending\x20','checking','ntervalM','ndCheckS',',请重新校验并准','nstall\x20d','fo.json','ndCheckI','pathname','warn','发现可用更新','ing','url','161BMbKXb','更新包\x20v','uitTimeo','find','重试下载更新','nfo.json','o\x20read\x20p','allOnApp','rigger\x20a','新版本','linux','hasUpdat','same-ver','string','unknown','darwin','te-state','includes','Updates','内自动更新','Percent','1eaQQux','vailable','toFixed','updaterC','send','Second','unsuppor','ing\x20upda','files','backgrou','path','schedule','releaseD','rsion','bytesPer','remote-n','interval','enabled','AppData','当前已经是最新版','当前没有可安装的','update-n','ntext','ntext.js','g\x20instal','Local','已下载更新','启应用','error','check\x20re','3687592bujBNy','update-i','flatMap','nd\x20updat','updates','download','quested','-for-upd','e\x20check\x20','ersion',',请重新下载更新','percent','utMs','2026539tqDAcl','正在验证安装包…','test','包后再试','sPath','11158740TEMQoZ','failed','当前使用\x20Alp','packageN','e.yml','eVersion','package\x20','installQ','pp\x20quit\x20','then','Update','installi','idle','fig\x20中禁用','te.yml','isDestro','message','availabl','备安装','ewer','length','Library','sion','安装器未就绪,请','o\x20clear\x20','pending','load','currentV','split','push','ted','lder','now','o\x20read\x20a','object','remote-o','l\x20phase\x20','ge\x20for\x20c','version','info','-error','install-','后的安装包中可用','install\x20','\x20AppImag','Linux\x20下仅','supporte','ytes','ate','ownloade','exec','autoInst','nts','id\x20not\x20t','146272qmsMnV','ame','parse','alpha','\x20已准备好安装','not-avai'];_0x3510=function(){return _0x5a6251;};return _0x3510();}function compareAppVersions(_0x341868,_0x3a0691){const _0x353d78=_0x2c31,_0x424750=normalizeAppVersion(_0x341868),_0x46cebd=normalizeAppVersion(_0x3a0691);if(!_0x424750||!_0x46cebd)return'unknown';const _0x540a2c=compare(_0x46cebd,_0x424750);if(_0x540a2c===0x0)return _0x353d78(0x10d)+_0x353d78(0x8b);return _0x540a2c>0x0?_0x353d78(0x125)+_0x353d78(0x88):_0x353d78(0x98)+_0x353d78(0x94);}function normalizeAppUpdateChannel(_0x35da7d){const _0x1361d2=_0x2c31;return _0x35da7d===_0x1361d2(0xae)?'alpha':_0x1361d2(0xed);}function normalizeString(_0x244a34){const _0x5659f3=_0x2c31;if(typeof _0x244a34!==_0x5659f3(0x10e))return null;const _0x405017=_0x244a34[_0x5659f3(0xd2)]();return _0x405017||null;}function normalizeReleaseNotes(_0x2ebb83){const _0x221481=_0x2c31;if(typeof _0x2ebb83===_0x221481(0x10e))return normalizeString(_0x2ebb83);if(!Array['isArray'](_0x2ebb83))return null;const _0x5a68b8=_0x2ebb83[_0x221481(0x136)](_0x158ee4=>{if(typeof _0x158ee4==='string'){const _0x432c5f=normalizeString(_0x158ee4);return _0x432c5f?[_0x432c5f]:[];}if(!_0x158ee4||typeof _0x158ee4!=='object')return[];const _0x136bc5=normalizeString(_0x158ee4['version']),_0x350971=normalizeString(_0x158ee4['note']);if(_0x136bc5&&_0x350971)return['v'+_0x136bc5+'\x0a'+_0x350971];if(_0x350971)return[_0x350971];if(_0x136bc5)return['v'+_0x136bc5];return[];});return _0x5a68b8[_0x221481(0x89)]>0x0?_0x5a68b8['join']('\x0a\x0a'):null;}function extractUpdateInfoPatch(_0x4d000d){const _0x445858=_0x2c31;if(!_0x4d000d||typeof _0x4d000d!==_0x445858(0x97))return{};return{'remoteVersion':normalizeString(_0x4d000d[_0x445858(0x9b)]),'availableVersion':normalizeString(_0x4d000d[_0x445858(0x9b)]),'releaseName':normalizeString(_0x4d000d['releaseN'+'ame']),'releaseDate':normalizeString(_0x4d000d[_0x445858(0x122)+_0x445858(0xa5)]),'releaseNotes':normalizeReleaseNotes(_0x4d000d['releaseN'+'otes'])};}function extractPackageFileName(_0x20ddcf){const _0x48b3f2=_0x2c31,_0x4aa0f0=normalizeString(_0x20ddcf);if(!_0x4aa0f0)return null;try{const _0x2e74b7=new URL(_0x4aa0f0);return normalizeAppUpdatePackageFileName(decodeURIComponent(basename(_0x2e74b7[_0x48b3f2(0xfc)])));}catch{const _0x50ac03=_0x4aa0f0[_0x48b3f2(0x91)](/[?#]/u,0x1)[0x0];return normalizeAppUpdatePackageFileName(basename(_0x50ac03));}}function getPreferredUpdatePackagePattern(){const _0xf63489=_0x2c31;if(process[_0xf63489(0xb9)]===_0xf63489(0x110))return/\.zip$/iu;if(process[_0xf63489(0xb9)]===_0xf63489(0xe2))return/\.exe$/iu;if(process[_0xf63489(0xb9)]===_0xf63489(0x10b))return/\.AppImage$/u;return/\.(zip|exe|AppImage)$/u;}function extractRemoteUpdatePackageMetadata(_0x92b134,_0x5463ef){const _0x483dbe=_0x2c31;if(!_0x92b134||typeof _0x92b134!==_0x483dbe(0x97))return null;const _0x5d6381=normalizeString(_0x92b134[_0x483dbe(0x9b)]);if(!_0x5d6381)return null;const _0x16633c=[],_0x8f979c=Array['isArray'](_0x92b134['files'])?_0x92b134[_0x483dbe(0x11e)]:[];for(const _0x5d8143 of _0x8f979c){if(!_0x5d8143||typeof _0x5d8143!==_0x483dbe(0x97))continue;const _0x1f40bd=extractPackageFileName(_0x5d8143[_0x483dbe(0x100)])??extractPackageFileName(_0x5d8143[_0x483dbe(0x120)])??normalizeAppUpdatePackageFileName(_0x5d8143[_0x483dbe(0xbf)]),_0x1594d9=normalizeString(_0x5d8143[_0x483dbe(0xdc)]);_0x1f40bd&&_0x1594d9&&_0x16633c['push']({'fileName':_0x1f40bd,'sha512':_0x1594d9});}const _0xdae2de=extractPackageFileName(_0x92b134['url'])??extractPackageFileName(_0x92b134['path'])??normalizeAppUpdatePackageFileName(_0x92b134[_0x483dbe(0xbf)]),_0x58b5dd=normalizeString(_0x92b134[_0x483dbe(0xdc)]);_0xdae2de&&_0x58b5dd&&_0x16633c[_0x483dbe(0x92)]({'fileName':_0xdae2de,'sha512':_0x58b5dd});const _0x2f88ab=_0x16633c[_0x483dbe(0x104)](_0x3784f4=>getPreferredUpdatePackagePattern()['test'](_0x3784f4[_0x483dbe(0xbf)]));if(!_0x2f88ab)return _0x5463ef?.['warn']?.(_0x483dbe(0xc7)+_0x483dbe(0x11d)+_0x483dbe(0xef)+_0x483dbe(0x9a)+'urrent\x20p'+'latform',{'platform':process['platform'],'candidates':_0x16633c['map'](_0x51cd57=>_0x51cd57[_0x483dbe(0xbf)])}),null;return{'version':_0x5d6381,..._0x2f88ab};}function extractProgressPatch(_0x1eefc3){const _0x1aba87=_0x2c31;return{'downloadPercent':typeof _0x1eefc3[_0x1aba87(0x13f)]===_0x1aba87(0xc4)?_0x1eefc3[_0x1aba87(0x13f)]:null,'bytesPerSecond':typeof _0x1eefc3['bytesPer'+'Second']===_0x1aba87(0xc4)?_0x1eefc3[_0x1aba87(0x124)+_0x1aba87(0x11b)]:null,'transferredBytes':typeof _0x1eefc3['transfer'+_0x1aba87(0xea)]==='number'?_0x1eefc3[_0x1aba87(0xc0)+_0x1aba87(0xea)]:null,'totalBytes':typeof _0x1eefc3[_0x1aba87(0xe4)]===_0x1aba87(0xc4)?_0x1eefc3['total']:null};}function getErrorMessage(_0x2f6506){const _0x3cf3b9=_0x2c31;if(_0x2f6506 instanceof Error&&_0x2f6506['message'][_0x3cf3b9(0xd2)]())return _0x2f6506[_0x3cf3b9(0x85)]['trim']();if(typeof _0x2f6506===_0x3cf3b9(0x10e)&&_0x2f6506[_0x3cf3b9(0xd2)]())return _0x2f6506['trim']();return'未知的自动更新错'+'误';}export function createUpdateController({shellConfig:_0x2f97e6,appName:_0x12327b,appVersion:_0x302cc3,broadcast:_0x3d65c1,logger:_0x283928}){const _0x2f4040=_0x2c31,_0x12bb66=_0x2f97e6[_0x2f4040(0x138)]??{},_0x41a791=normalizeAppUpdateChannel(_0x12bb66[_0x2f4040(0xdf)]),_0x4af157={'backgroundCheckIntervalMs':_0x12bb66['backgrou'+_0x2f4040(0xfb)+_0x2f4040(0xf6)+'s']??DEFAULT_BACKGROUND_UPDATE_CHECK_INTERVAL_MS,'backgroundCheckStaleMs':_0x12bb66[_0x2f4040(0x11f)+'ndCheckS'+_0x2f4040(0xeb)]??DEFAULT_BACKGROUND_UPDATE_CHECK_STALE_MS,'installQuitTimeoutMs':_0x12bb66[_0x2f4040(0x7c)+'uitTimeo'+_0x2f4040(0x140)]??DEFAULT_INSTALL_QUIT_TIMEOUT_MS,'autoDownload':_0x12bb66[_0x2f4040(0xe8)+'load']===!![]},_0x4b0d60={'supported':![],'channel':_0x41a791,'phase':_0x2f4040(0x11c)+_0x2f4040(0x93),'currentVersion':_0x302cc3(),'remoteVersion':null,'comparisonResult':_0x2f4040(0x10f),'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':_0x2f4040(0xe5),'error':null,'errorCode':null};let _0x94ccd4=![],_0x228397=null,_0x8daad0=null,_0x3b991f=null,_0x39bca3=null,_0x59e6bb=null,_0x475573=![],_0x59e8c6=null,_0xe01153=0x0;function _0x145aa5(){const _0x4ef832=_0x2f4040;if(process[_0x4ef832(0xb9)]===_0x4ef832(0x110))return join(homedir(),_0x4ef832(0x8a),_0x4ef832(0xcc));if(process[_0x4ef832(0xb9)]===_0x4ef832(0xe2))return process.env.LOCALAPPDATA??join(homedir(),_0x4ef832(0x128),_0x4ef832(0x12f));return process.env.XDG_CACHE_HOME??join(homedir(),_0x4ef832(0xe3));}function _0x3c518f(){const _0x23d8b2=_0x2f4040;if(!app['isPackag'+'ed']||!process[_0x23d8b2(0xc1)+_0x23d8b2(0x145)])return{};const _0xaad95d=join(process['resource'+_0x23d8b2(0x145)],_0x23d8b2(0xbc)+_0x23d8b2(0x83));if(!existsSync(_0xaad95d))return{};try{const _0x1fc24d=readFileSync(_0xaad95d,_0x23d8b2(0xd4)),_0x305646=/^\s*channel:\s*["']?([^"'\s#]+)["']?/imu[_0x23d8b2(0xa7)](_0x1fc24d),_0x204f3a=/^\s*updaterCacheDirName:\s*["']?([^"'\s#]+)["']?/imu[_0x23d8b2(0xa7)](_0x1fc24d);return{'channel':normalizeAppUpdateChannel(_0x305646?.[0x1]),'updaterCacheDirName':normalizeString(_0x204f3a?.[0x1])};}catch(_0x48aa69){return _0x283928?.[_0x23d8b2(0xfd)]?.(_0x23d8b2(0xce)+_0x23d8b2(0x96)+'pp-updat'+_0x23d8b2(0x14a),{'error':getErrorMessage(_0x48aa69)}),{};}}const _0x19151e=_0x3c518f();_0x19151e[_0x2f4040(0xdf)]&&(_0x4b0d60[_0x2f4040(0xdf)]=_0x19151e[_0x2f4040(0xdf)]);function _0xcdaa20(){const _0x451008=_0x2f4040,_0x1ed72e=_0x19151e[_0x451008(0x119)+_0x451008(0xf3)+_0x451008(0xac)]||_0x12327b()+'-updater';return join(_0x145aa5(),_0x1ed72e);}function _0x494a8b(_0xc9a134){const _0x16cc59=_0x2f4040;return _0xc9a134==='alpha'?_0x16cc59(0x148)+_0x16cc59(0xba):_0x16cc59(0xc8)+'绪';}function _0x2839fe(){const _0xc0c695=_0x2f4040;if(_0x12bb66[_0xc0c695(0x127)]===![])return![];if(!app[_0xc0c695(0xf2)+'ed'])return![];if(process[_0xc0c695(0xb9)]!=='linux')return!![];return Boolean(process.env.APPIMAGE);}function _0x11ecb2(){const _0x1b9184=_0x2f4040;if(_0x12bb66[_0x1b9184(0x127)]===![])return'自动更新已在\x20s'+_0x1b9184(0xb5)+_0x1b9184(0x82);if(!app[_0x1b9184(0xf2)+'ed'])return'自动更新仅在打包'+_0x1b9184(0x9f);if(process[_0x1b9184(0xb9)]===_0x1b9184(0x10b))return _0x1b9184(0xa2)+_0x1b9184(0xa1)+_0x1b9184(0xdd)+_0x1b9184(0x114);return _0x1b9184(0xd8)+'动更新';}function _0x46a2e8(){const _0x1fcdd9=_0x2f4040;return join(_0x2f97e6[_0x1fcdd9(0xc2)],_0x1fcdd9(0x9e)+'phase-co'+_0x1fcdd9(0x12d)+'on');}function _0x393830(){return{'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null};}function _0x50ac58(){return{..._0x4b0d60};}function _0x4506cb(){const _0x5ba74f=_0x2f4040,_0x4e5d9c=_0x50ac58();for(const _0x381684 of BrowserWindow[_0x5ba74f(0xb6)+_0x5ba74f(0xee)]()){!_0x381684[_0x5ba74f(0x84)+_0x5ba74f(0xd3)]()&&_0x381684['webConte'+_0x5ba74f(0xa9)][_0x5ba74f(0x11a)](_0x5ba74f(0xda)+_0x5ba74f(0x111),_0x4e5d9c);}_0x3d65c1?.(_0x5ba74f(0xda)+_0x5ba74f(0x111),_0x4e5d9c);}function _0xb59671(_0x3363e0){const _0x356b4a=_0x2f4040,_0x63a9a5={..._0x3363e0};_0x63a9a5[_0x356b4a(0x132)]===null&&_0x63a9a5[_0x356b4a(0xbb)+'e']===undefined&&(_0x63a9a5[_0x356b4a(0xbb)+'e']=null),Object['assign'](_0x4b0d60,_0x63a9a5,{'currentVersion':_0x302cc3()}),_0x4506cb();}function _0x3b7bac(){const _0xed6ca=_0x2f4040;if(!_0x4b0d60[_0xed6ca(0xa3)+'d'])throw new Error(_0x11ecb2());}function _0x37f2f7(_0x118ba9,_0x504b4d={}){const _0x2d17ba=_0x2f4040;_0x283928?.[_0x2d17ba(0x9c)]?.(_0x118ba9,_0x504b4d);}function _0x471d58(_0x5e8b99,_0x4f40d0={}){_0x283928?.['warn']?.(_0x5e8b99,_0x4f40d0);}function _0x2faee5(_0x1ebcc2){const _0x26ecba=_0x2f4040;if(typeof _0x1ebcc2!==_0x26ecba(0xc4)||!Number[_0x26ecba(0xcf)](_0x1ebcc2))return null;const _0x4d1623=Math['min'](0x63,Math['max'](0x0,_0x1ebcc2));if(_0x4b0d60['phase']!==_0x26ecba(0x139)+_0x26ecba(0xff)||typeof _0x4b0d60[_0x26ecba(0x139)+_0x26ecba(0x115)]!==_0x26ecba(0xc4))return _0x4d1623;return Math[_0x26ecba(0xcb)](_0x4b0d60[_0x26ecba(0x139)+_0x26ecba(0x115)],_0x4d1623);}function _0x5f46fc(_0x1667e3,_0x2817dd){const _0x383d10=_0x2f4040,_0x23db27=_0x1667e3?'v'+_0x1667e3:_0x383d10(0x10a);if(typeof _0x2817dd===_0x383d10(0xc4)){if(_0x2817dd>=0x63)return _0x383d10(0x142);return _0x383d10(0xb8)+_0x23db27+'\x20('+_0x2817dd[_0x383d10(0x118)](0x1)+'%)';}return _0x383d10(0xb8)+_0x23db27;}function _0xab6853(_0x58b3f2){const _0x488ddc=_0x2f4040;try{writeFileSync(_0x46a2e8(),JSON[_0x488ddc(0xd0)+'y'](_0x58b3f2,null,0x2),_0x488ddc(0xd4));}catch(_0x389365){_0x471d58(_0x488ddc(0xce)+_0x488ddc(0xe1)+'t\x20instal'+_0x488ddc(0x99)+'context',{'error':getErrorMessage(_0x389365)});}}function _0x1f2e91(){const _0x37be3d=_0x2f4040;try{rmSync(_0x46a2e8(),{'force':!![]});}catch(_0x41486d){_0x471d58(_0x37be3d(0xce)+_0x37be3d(0x8d)+_0x37be3d(0xa0)+_0x37be3d(0xb4)+_0x37be3d(0x12c),{'error':getErrorMessage(_0x41486d)});}}function _0x2c211c(){const _0x160142=_0x2f4040,_0x558de9=join(_0xcdaa20(),_0x160142(0x8e));if(!existsSync(_0x558de9))return{'packageName':null,'packageBytes':null};try{const _0x1caecc=readdirSync(_0x558de9)['find'](_0x57ecea=>/\.(zip|exe|dmg|AppImage)$/iu[_0x160142(0x143)](_0x57ecea))??null;if(!_0x1caecc)return{'packageName':null,'packageBytes':null};const _0x743284=join(_0x558de9,_0x1caecc);return{'packageName':_0x1caecc,'packageBytes':statSync(_0x743284)[_0x160142(0xbd)]};}catch(_0x4f0341){return _0x471d58(_0x160142(0xce)+'o\x20inspec'+'t\x20pendin'+_0x160142(0x12e)+_0x160142(0xde)+'e',{'error':getErrorMessage(_0x4f0341)}),{'packageName':null,'packageBytes':null};}}function _0x506dbf(){const _0x2cd611=_0x2f4040;if(!_0x3b991f)return null;const _0x32a7ff=join(_0xcdaa20(),_0x2cd611(0x8e)),_0x5ad86b=join(_0x32a7ff,_0x2cd611(0x135)+_0x2cd611(0x106));if(!existsSync(_0x5ad86b))return null;let _0x754aa=null;try{_0x754aa=JSON[_0x2cd611(0xad)](readFileSync(_0x5ad86b,_0x2cd611(0xd4)));}catch(_0x1f69a6){return _0x471d58(_0x2cd611(0xce)+_0x2cd611(0x107)+_0x2cd611(0xbe)+'pdate-in'+_0x2cd611(0xfa),{'error':getErrorMessage(_0x1f69a6)}),null;}if(!isMatchingAppUpdatePackageMetadata(_0x3b991f,_0x754aa))return null;const _0x32babd=join(_0x32a7ff,_0x3b991f[_0x2cd611(0xbf)]);if(!existsSync(_0x32babd))return null;try{const _0x140936=statSync(_0x32babd);if(!_0x140936['isFile']()||_0x140936[_0x2cd611(0xbd)]===0x0)return null;return{'metadata':_0x3b991f,'packageName':_0x3b991f['fileName'],'packageBytes':_0x140936[_0x2cd611(0xbd)]};}catch(_0x2e8d6a){return _0x471d58(_0x2cd611(0xce)+'o\x20inspec'+'t\x20pendin'+_0x2cd611(0xd7)+'aded\x20pac'+'kage',{'error':getErrorMessage(_0x2e8d6a)}),null;}}function _0x1bd73f(_0x54d207){const _0x2c44f5=_0x2f4040,_0x39dd75=_0x506dbf();if(!_0x39dd75)return![];const {metadata:_0x463be5,packageName:_0x3fe80d,packageBytes:_0x284f08}=_0x39dd75;return _0x37f2f7(_0x2c44f5(0xf4)+_0x2c44f5(0x7b)+'cache\x20hi'+'t',{'reason':_0x54d207,'version':_0x463be5['version'],'packageName':_0x3fe80d,'packageBytes':_0x284f08}),_0xb59671({'phase':_0x2c44f5(0x86)+'e','remoteVersion':_0x463be5[_0x2c44f5(0x9b)],'comparisonResult':_0x2c44f5(0x125)+_0x2c44f5(0x88),'hasUpdate':!![],'availableVersion':_0x463be5['version'],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':_0x284f08,'totalBytes':_0x284f08,'hasPendingPackage':!![],'pendingPackageName':_0x3fe80d,'pendingPackageBytes':_0x284f08,'error':null,'message':'发现本地更新包\x20'+'v'+_0x463be5[_0x2c44f5(0x9b)]+(_0x2c44f5(0xf8)+_0x2c44f5(0x87))}),!![];}function _0x2d890b(){const _0x455161=_0x2f4040;return _0x4b0d60[_0x455161(0xa3)+'d']&&!_0x228397&&!_0x8daad0&&[_0x455161(0x81),_0x455161(0xb0)+_0x455161(0xc6),_0x455161(0x132)]['includes'](_0x4b0d60[_0x455161(0xec)]);}function _0x5cc842(){if(!_0x59e6bb)return;clearTimeout(_0x59e6bb),_0x59e6bb=null;}function _0x414c45(_0x4691aa){const _0x8ebd79=_0x2f4040,_0x2257f2=_0x4b0d60[_0x8ebd79(0x139)+'edVersio'+'n'],_0x1d5b6f=_0x4b0d60[_0x8ebd79(0x86)+_0x8ebd79(0x7a)];_0x39bca3=null,_0x475573=![],_0x5cc842(),_0x1f2e91(),_0xb59671({'phase':'error','checkedAt':new Date()[_0x8ebd79(0xc3)+_0x8ebd79(0xff)](),'hasPendingPackage':![],'pendingPackageName':null,'pendingPackageBytes':null,'hasUpdate':!![],'availableVersion':_0x1d5b6f??_0x2257f2,'downloadedVersion':_0x2257f2,'error':getErrorMessage(_0x4691aa),'errorCode':_0x8ebd79(0x9e)+_0x8ebd79(0x132),'message':'安装更新失败'});}function _0x334c1b(){const _0x4a7f62=_0x2f4040;_0x5cc842(),_0x475573=![],_0x59e6bb=setTimeout(()=>{const _0x3c0f8d=_0x2c31;if(_0x475573||_0x4b0d60[_0x3c0f8d(0xec)]!==_0x3c0f8d(0x80)+'ng')return;_0x471d58('quitAndI'+_0x3c0f8d(0xf9)+_0x3c0f8d(0xaa)+_0x3c0f8d(0x109)+_0x3c0f8d(0x7d)+'within\x20t'+'imeout',{'downloadedVersion':_0x4b0d60[_0x3c0f8d(0x139)+_0x3c0f8d(0xe7)+'n'],'currentVersion':_0x4b0d60[_0x3c0f8d(0x90)+_0x3c0f8d(0x13d)]}),_0x414c45(new Error(_0x3c0f8d(0xc5)+_0x3c0f8d(0x13e)+_0x3c0f8d(0x144)));},_0x4af157[_0x4a7f62(0x7c)+_0x4a7f62(0x103)+_0x4a7f62(0x140)]);}function _0x3429bc(){const _0x36d9cd=_0x2f4040;if(_0x94ccd4)return;_0x94ccd4=!![],_0x4b0d60[_0x36d9cd(0xa3)+'d']=_0x2839fe(),_0x4b0d60[_0x36d9cd(0xec)]=_0x4b0d60['supporte'+'d']?_0x36d9cd(0x81):_0x36d9cd(0x11c)+_0x36d9cd(0x93),_0x4b0d60[_0x36d9cd(0x85)]=_0x4b0d60[_0x36d9cd(0xa3)+'d']?_0x494a8b(_0x4b0d60[_0x36d9cd(0xdf)]):_0x11ecb2();if(!_0x4b0d60[_0x36d9cd(0xa3)+'d']){_0x4506cb();return;}autoUpdater[_0x36d9cd(0xe8)+'load']=_0x4af157[_0x36d9cd(0xe8)+_0x36d9cd(0x8f)],autoUpdater[_0x36d9cd(0xa8)+_0x36d9cd(0x108)+'Quit']=![],autoUpdater[_0x36d9cd(0xdf)]=_0x4b0d60[_0x36d9cd(0xdf)],autoUpdater['on'](_0x36d9cd(0xf5)+_0x36d9cd(0x13b)+_0x36d9cd(0xa5),()=>{const _0xf4cbae=_0x36d9cd;_0x3b991f=null,_0xb59671({'phase':_0xf4cbae(0xf5),'checkedAt':new Date()['toISOStr'+_0xf4cbae(0xff)](),'remoteVersion':null,'comparisonResult':_0xf4cbae(0x10f),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x393830(),'error':null,'message':'正在检查更新'});}),autoUpdater['on'](_0x36d9cd(0xd9)+'vailable',_0x132b33=>{const _0x4aab75=_0x36d9cd,_0x4beb1c=extractUpdateInfoPatch(_0x132b33),_0xd27659=compareAppVersions(_0x302cc3(),_0x4beb1c[_0x4aab75(0xc9)+_0x4aab75(0x123)]);if(_0xd27659!==_0x4aab75(0x125)+_0x4aab75(0x88)){_0x3b991f=null,_0xb59671({..._0x4beb1c,'phase':_0x4aab75(0xb0)+_0x4aab75(0xc6),'comparisonResult':_0xd27659,'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x393830(),'checkedAt':new Date()[_0x4aab75(0xc3)+_0x4aab75(0xff)](),'error':null,'message':_0x4aab75(0x129)+'本'});return;}_0x3b991f=extractRemoteUpdatePackageMetadata(_0x132b33,_0x283928),_0xb59671({..._0x4beb1c,'phase':_0x4aab75(0x86)+'e','comparisonResult':_0xd27659,'hasUpdate':!![],'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x393830(),'checkedAt':new Date()['toISOStr'+_0x4aab75(0xff)](),'error':null,'message':_0x4beb1c[_0x4aab75(0x86)+_0x4aab75(0x7a)]?'发现新版本\x20v'+_0x4beb1c['availabl'+_0x4aab75(0x7a)]:_0x4aab75(0xfe)}),_0x1bd73f(_0x4aab75(0xd6)+_0x4aab75(0x117));}),autoUpdater['on'](_0x36d9cd(0x12b)+_0x36d9cd(0xf1)+_0x36d9cd(0xca),_0x513325=>{const _0x549991=_0x36d9cd;_0x3b991f=null;const _0x55f11f=extractUpdateInfoPatch(_0x513325);_0xb59671({..._0x55f11f,'phase':_0x549991(0xb0)+'lable','comparisonResult':compareAppVersions(_0x302cc3(),_0x55f11f['remoteVe'+_0x549991(0x123)]),'hasUpdate':![],'availableVersion':null,'downloadedVersion':null,'downloadPercent':null,'bytesPerSecond':null,'transferredBytes':null,'totalBytes':null,..._0x393830(),'checkedAt':new Date()[_0x549991(0xc3)+'ing'](),'error':null,'message':_0x549991(0x129)+'本'});}),autoUpdater['on'](_0x36d9cd(0x139)+_0x36d9cd(0xb3)+'s',_0x43dae6=>{const _0x20bf80=_0x36d9cd,_0x3b2743=extractProgressPatch(_0x43dae6),_0x11dbc9=_0x2faee5(_0x3b2743[_0x20bf80(0x139)+_0x20bf80(0x115)]??null);_0xb59671({..._0x3b2743,'downloadPercent':_0x11dbc9,'phase':_0x20bf80(0x139)+'ing',..._0x393830(),'error':null,'message':_0x5f46fc(_0x4b0d60[_0x20bf80(0x86)+_0x20bf80(0x7a)],_0x11dbc9)});}),autoUpdater['on']('update-d'+_0x36d9cd(0xa6)+'d',_0x156d35=>{const _0x2ffd1=_0x36d9cd,_0x1f7c70=extractUpdateInfoPatch(_0x156d35),_0x2e109d=extractRemoteUpdatePackageMetadata(_0x156d35,_0x283928)??_0x3b991f;_0x2e109d&&(_0x3b991f=_0x2e109d);const _0x8353b9=_0x1f7c70['availabl'+_0x2ffd1(0x7a)]??_0x2e109d?.['version']??_0x4b0d60[_0x2ffd1(0x86)+_0x2ffd1(0x7a)];_0xb59671({..._0x1f7c70,'phase':'download'+'ed','comparisonResult':compareAppVersions(_0x302cc3(),_0x8353b9),'hasUpdate':!![],'downloadedVersion':_0x8353b9,'downloadPercent':0x64,..._0x393830(),'error':null,'message':_0x8353b9?_0x2ffd1(0x102)+_0x8353b9+_0x2ffd1(0xaf):_0x2ffd1(0xcd)+'装'});}),autoUpdater['on'](_0x36d9cd(0x132),_0x37c658=>{const _0x30ed32=_0x36d9cd;if(_0x4b0d60[_0x30ed32(0xec)]===_0x30ed32(0x80)+'ng'){_0x414c45(_0x37c658);return;}_0xb59671({'phase':_0x30ed32(0x132),'checkedAt':new Date()['toISOStr'+_0x30ed32(0xff)](),..._0x393830(),'error':getErrorMessage(_0x37c658),'errorCode':_0x4b0d60['phase']===_0x30ed32(0x139)+_0x30ed32(0xff)?'download'+_0x30ed32(0x9d):'check-er'+_0x30ed32(0xe9),'message':'自动更新失败'});}),_0x4506cb();}async function _0x465e1b(){const _0x2f60cf=_0x2f4040;_0x3429bc(),_0x3b7bac();if(_0x228397)return _0x228397;return _0x37f2f7(_0x2f60cf(0x133)+_0x2f60cf(0x13a)),_0x228397=autoUpdater['checkFor'+_0x2f60cf(0x113)]()[_0x2f60cf(0x7e)](()=>_0x50ac58())[_0x2f60cf(0xb2)](()=>{_0x228397=null;}),_0x228397;}async function _0x116dd5(){const _0x5769d8=_0x2f4040;_0x3429bc(),_0x3b7bac();if(_0x4b0d60[_0x5769d8(0xec)]===_0x5769d8(0x139)+'ed'||_0x4b0d60[_0x5769d8(0xec)]===_0x5769d8(0x80)+'ng')return _0x50ac58();if(!_0x4b0d60[_0x5769d8(0x10c)+'e'])throw new Error('当前没有可下载的'+'更新');const _0x36a53c=_0x4b0d60[_0x5769d8(0xec)]===_0x5769d8(0x132)&&_0x4b0d60[_0x5769d8(0xbb)+'e']===_0x5769d8(0x9e)+_0x5769d8(0x132)&&Boolean(_0x4b0d60[_0x5769d8(0x139)+_0x5769d8(0xe7)+'n']);if(_0x4b0d60[_0x5769d8(0xec)]==='error'){if(_0x36a53c)_0xb59671({'phase':_0x5769d8(0x86)+'e','hasUpdate':!![],'availableVersion':_0x4b0d60['availabl'+_0x5769d8(0x7a)]??_0x4b0d60[_0x5769d8(0x139)+_0x5769d8(0xe7)+'n'],'downloadedVersion':null,'downloadPercent':null,..._0x393830(),'error':null,'message':_0x5769d8(0xe0)+'包'});else{await _0x465e1b();if(_0x4b0d60['phase']!==_0x5769d8(0x86)+'e')throw new Error('当前没有可下载的'+'更新');}}if(![_0x5769d8(0x86)+'e','download'+_0x5769d8(0xff)][_0x5769d8(0x112)](_0x4b0d60[_0x5769d8(0xec)]))throw new Error('当前没有可下载的'+'更新');if(_0x8daad0)return _0x8daad0;return _0x8daad0=autoUpdater[_0x5769d8(0x139)+_0x5769d8(0x7f)]()[_0x5769d8(0x7e)](()=>{const _0xe0ad7c=_0x5769d8;return _0x4b0d60[_0xe0ad7c(0xec)]!==_0xe0ad7c(0x139)+'ed'&&_0xb59671({'phase':_0xe0ad7c(0x132),'checkedAt':new Date()[_0xe0ad7c(0xc3)+_0xe0ad7c(0xff)](),..._0x393830(),'error':_0xe0ad7c(0xf0)+_0xe0ad7c(0x8c)+_0xe0ad7c(0x105),'errorCode':_0xe0ad7c(0x139)+'-error','message':_0xe0ad7c(0xb7)}),_0x50ac58();})[_0x5769d8(0xb2)](()=>{_0x8daad0=null;}),_0x8daad0;}function _0x3bb0e4(){const _0x1bba13=_0x2f4040;_0x3429bc(),_0x3b7bac();if(![_0x1bba13(0x139)+'ed',_0x1bba13(0x80)+'ng'][_0x1bba13(0x112)](_0x4b0d60[_0x1bba13(0xec)]))throw new Error(_0x1bba13(0x12a)+_0x1bba13(0x130));const _0x2497b0=_0x2c211c();_0x39bca3=Date[_0x1bba13(0x95)](),_0xab6853({'startedAt':new Date(_0x39bca3)['toISOStr'+'ing'](),'currentVersion':_0x4b0d60['currentV'+_0x1bba13(0x13d)],'downloadedVersion':_0x4b0d60[_0x1bba13(0x139)+'edVersio'+'n'],'pendingPackage':_0x2497b0[_0x1bba13(0x149)+_0x1bba13(0xac)],'pendingPackageBytes':_0x2497b0['packageB'+_0x1bba13(0xa4)]}),_0xb59671({'phase':_0x1bba13(0x80)+'ng',..._0x393830(),'error':null,'message':_0x1bba13(0xd1)+_0x1bba13(0x131)});try{_0x334c1b(),autoUpdater['quitAndI'+'nstall'](![],!![]);}catch(_0x42c86a){_0x414c45(_0x42c86a);throw _0x42c86a;}return{'ok':!![]};}async function _0x4460e9(_0x1c1b1e){const _0x5c4d18=_0x2f4040;if(!_0x2d890b())return;_0xe01153=Date[_0x5c4d18(0x95)](),_0x37f2f7(_0x5c4d18(0x11f)+'nd\x20updat'+'e\x20check\x20'+_0x5c4d18(0xd5)+'d',{'reason':_0x1c1b1e});try{await _0x465e1b();}catch(_0x3a3598){_0x471d58('backgrou'+_0x5c4d18(0x137)+_0x5c4d18(0x13c)+_0x5c4d18(0x147),{'reason':_0x1c1b1e,'error':getErrorMessage(_0x3a3598)});}}function _0x1a168d(_0x2f8e0b){const _0x34ed2a=_0x2f4040;if(!_0x4b0d60[_0x34ed2a(0xa3)+'d'])return;const _0x2aeafd=Date[_0x34ed2a(0x95)]()-_0xe01153;if(_0x2aeafd<_0x4af157[_0x34ed2a(0x11f)+_0x34ed2a(0xf7)+_0x34ed2a(0xeb)])return;void _0x4460e9(_0x2f8e0b);}function _0x5c5ee5(){const _0x3ab223=_0x2f4040;_0x3429bc();if(!_0x4b0d60[_0x3ab223(0xa3)+'d']||_0x59e8c6)return;_0x59e8c6=setInterval(()=>{const _0x4331b5=_0x3ab223;void _0x4460e9(_0x4331b5(0x126));},_0x4af157[_0x3ab223(0x11f)+_0x3ab223(0xfb)+_0x3ab223(0xf6)+'s']),void _0x4460e9('startup'),_0x37f2f7('backgrou'+_0x3ab223(0x137)+_0x3ab223(0x13c)+_0x3ab223(0x121)+'r\x20starte'+'d',_0x4af157);}function _0x52c813(){const _0x4cbe21=_0x2f4040;if(_0x4b0d60[_0x4cbe21(0xec)]!=='installi'+'ng')return;_0x475573=!![],_0x5cc842();}return{'initialize':_0x3429bc,'getState':_0x50ac58,'checkForUpdates':_0x465e1b,'downloadUpdate':_0x116dd5,'quitAndInstall':_0x3bb0e4,'requestBackgroundCheck':_0x1a168d,'startBackgroundChecks':_0x5c5ee5,'markQuitObserved':_0x52c813};}
@@ -1 +1 @@
1
- function _0x19ae(){const _0x2e5db1=['alpha','ate\x20disa','ller.mjs','createUp','\x20unavail','OT_FOUND','export\x20c','o\x20load\x20e','2297124hNsOqm','warn','channel','logger','lectron-','includes','n-update','./contro','send','dater\x20is','message','ause\x20ele','dependen','自动更新依赖\x20e','string','\x27electro','24041RLSpRt','trim','639ckElLZ','\x22electro','OUND','242SJKEQJ','yed','MODULE_N','未知的自动更新错','te-state','dateCont','LE_NOT_F','nts','able','bled\x20bec','getAllWi','1270030pxmkPS','6150032pFAJfS','function','auto\x20upd','updater','failed\x20t','ted','reateUpd','22MtqiRl','latest','updater\x20','113512ijKagh','code','er.mjs\x20d','8DwSYzF','ndows','2538145vfwKCD','oes\x20not\x20','unsuppor','缺失,已降级为禁','controll','1785816rSGkkk','webConte','unknown','ateContr','app:upda'];_0x19ae=function(){return _0x2e5db1;};return _0x19ae();}(function(_0x448701,_0x14fcf3){const _0x49b131=_0x3105,_0x2d5fcb=_0x448701();while(!![]){try{const _0x5d16ec=parseInt(_0x49b131(0x1bf))/0x1*(-parseInt(_0x49b131(0x1d7))/0x2)+parseInt(_0x49b131(0x1e4))/0x3+-parseInt(_0x49b131(0x1dd))/0x4*(parseInt(_0x49b131(0x1df))/0x5)+parseInt(_0x49b131(0x1f1))/0x6+-parseInt(_0x49b131(0x1d0))/0x7+-parseInt(_0x49b131(0x1da))/0x8*(parseInt(_0x49b131(0x1c1))/0x9)+-parseInt(_0x49b131(0x1cf))/0xa*(-parseInt(_0x49b131(0x1c4))/0xb);if(_0x5d16ec===_0x14fcf3)break;else _0x2d5fcb['push'](_0x2d5fcb['shift']());}catch(_0x42b863){_0x2d5fcb['push'](_0x2d5fcb['shift']());}}}(_0x19ae,0x94118));import{BrowserWindow}from'electron';function getErrorMessage(_0x10a058){const _0x1280e7=_0x3105;if(_0x10a058 instanceof Error&&_0x10a058[_0x1280e7(0x1b9)][_0x1280e7(0x1c0)]())return _0x10a058['message'][_0x1280e7(0x1c0)]();if(typeof _0x10a058===_0x1280e7(0x1bd)&&_0x10a058[_0x1280e7(0x1c0)]())return _0x10a058['trim']();return _0x1280e7(0x1c7)+'误';}function createUnavailableUpdateController({shellConfig:_0x4ec5b1,appVersion:_0x43dcc0,broadcast:_0x35084c,logger:_0xd3b0e9,reason:_0x283b2f}){const _0x26e35a=_0x3105,_0x6ba72c=_0x4ec5b1['updates']??{},_0x6c57f9={'supported':![],'channel':_0x6ba72c[_0x26e35a(0x1f3)]===_0x26e35a(0x1e9)?_0x26e35a(0x1e9):_0x26e35a(0x1d8),'phase':_0x26e35a(0x1e1)+_0x26e35a(0x1d5),'currentVersion':_0x43dcc0(),'remoteVersion':null,'comparisonResult':_0x26e35a(0x1e6),'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':_0x283b2f,'error':null,'errorCode':'missing-'+_0x26e35a(0x1bb)+'cy'};let _0x547ad8=![];function _0x3915c3(){return{..._0x6c57f9,'currentVersion':_0x43dcc0()};}function _0x4c2e35(){const _0x54ad20=_0x26e35a,_0x22f3a6=_0x3915c3();for(const _0x285063 of BrowserWindow[_0x54ad20(0x1ce)+_0x54ad20(0x1de)]()){!_0x285063['isDestro'+_0x54ad20(0x1c5)]()&&_0x285063[_0x54ad20(0x1e5)+_0x54ad20(0x1cb)][_0x54ad20(0x1b7)]('app:upda'+_0x54ad20(0x1c8),_0x22f3a6);}_0x35084c?.(_0x54ad20(0x1e8)+_0x54ad20(0x1c8),_0x22f3a6);}function _0x3f1d71(){const _0x3bdd2e=_0x26e35a;if(_0x547ad8)return;_0x547ad8=!![],_0xd3b0e9?.[_0x3bdd2e(0x1f2)]?.(_0x3bdd2e(0x1d2)+_0x3bdd2e(0x1ea)+_0x3bdd2e(0x1cd)+_0x3bdd2e(0x1ba)+'ctron-up'+_0x3bdd2e(0x1b8)+_0x3bdd2e(0x1ed)+_0x3bdd2e(0x1cc),{'reason':_0x283b2f}),_0x4c2e35();}function _0x50db4e(){throw new Error(_0x283b2f);}async function _0x154dd8(){_0x3f1d71(),_0x50db4e();}async function _0x2123c0(){_0x3f1d71(),_0x50db4e();}async function _0x130441(){_0x3f1d71(),_0x50db4e();}function _0xb480a5(){}function _0x1e8dad(){_0x3f1d71();}function _0x59e02d(){}return{'initialize':_0x3f1d71,'getState':_0x3915c3,'checkForUpdates':_0x154dd8,'downloadUpdate':_0x2123c0,'quitAndInstall':_0x130441,'requestBackgroundCheck':_0xb480a5,'startBackgroundChecks':_0x1e8dad,'markQuitObserved':_0x59e02d};}function isElectronUpdaterMissingError(_0x1442c5){const _0x5e668a=_0x3105;if(!_0x1442c5)return![];if(_0x1442c5&&typeof _0x1442c5==='object'&&_0x5e668a(0x1db)in _0x1442c5&&(_0x1442c5['code']==='ERR_MODU'+_0x5e668a(0x1ca)+_0x5e668a(0x1c3)||_0x1442c5[_0x5e668a(0x1db)]===_0x5e668a(0x1c6)+_0x5e668a(0x1ee))){const _0x1791c3=getErrorMessage(_0x1442c5);return _0x1791c3[_0x5e668a(0x1b4)](_0x5e668a(0x1be)+_0x5e668a(0x1b5)+'r\x27')||_0x1791c3[_0x5e668a(0x1b4)](_0x5e668a(0x1c2)+_0x5e668a(0x1b5)+'r\x22');}return![];}function _0x3105(_0x33c6e9,_0x596261){_0x33c6e9=_0x33c6e9-0x1b2;const _0x19ae20=_0x19ae();let _0x310509=_0x19ae20[_0x33c6e9];return _0x310509;}export async function loadCreateUpdateController({logger:_0x4cab02,importer:importer=_0x53ed19=>import(_0x53ed19)}={}){const _0x34868a=_0x3105;try{const _0x40dc36=await importer(_0x34868a(0x1b6)+_0x34868a(0x1eb));if(typeof _0x40dc36[_0x34868a(0x1ec)+_0x34868a(0x1c9)+'roller']!==_0x34868a(0x1d1))throw new TypeError('updates/'+_0x34868a(0x1e3)+_0x34868a(0x1dc)+_0x34868a(0x1e0)+_0x34868a(0x1ef)+_0x34868a(0x1d6)+_0x34868a(0x1e7)+'oller');return _0x40dc36['createUp'+'dateCont'+'roller'];}catch(_0x2c173a){if(!isElectronUpdaterMissingError(_0x2c173a))throw _0x2c173a;const _0x4be509=_0x34868a(0x1bc)+_0x34868a(0x1b3)+_0x34868a(0x1d9)+_0x34868a(0x1e2)+'用状态';return _0x4cab02?.[_0x34868a(0x1f2)]?.(_0x34868a(0x1d4)+_0x34868a(0x1f0)+'lectron-'+_0x34868a(0x1d3),{'error':getErrorMessage(_0x2c173a),'reason':_0x4be509}),_0x5df154=>createUnavailableUpdateController({..._0x5df154,'logger':_0x5df154?.[_0x34868a(0x1b2)]??_0x4cab02,'reason':_0x4be509});}}export const __test__={'createUnavailableUpdateController':createUnavailableUpdateController,'isElectronUpdaterMissingError':isElectronUpdaterMissingError};
1
+ (function(_0x25e7c3,_0x2e489a){const _0xae35d7=_0x54f2,_0x58b831=_0x25e7c3();while(!![]){try{const _0x3eeba2=-parseInt(_0xae35d7(0x14c))/0x1*(parseInt(_0xae35d7(0x127))/0x2)+parseInt(_0xae35d7(0x124))/0x3+parseInt(_0xae35d7(0x135))/0x4*(-parseInt(_0xae35d7(0x152))/0x5)+-parseInt(_0xae35d7(0x12a))/0x6+parseInt(_0xae35d7(0x122))/0x7*(-parseInt(_0xae35d7(0x136))/0x8)+-parseInt(_0xae35d7(0x133))/0x9*(parseInt(_0xae35d7(0x15d))/0xa)+parseInt(_0xae35d7(0x15e))/0xb*(parseInt(_0xae35d7(0x14b))/0xc);if(_0x3eeba2===_0x2e489a)break;else _0x58b831['push'](_0x58b831['shift']());}catch(_0x4bf65c){_0x58b831['push'](_0x58b831['shift']());}}}(_0x1068,0x37ad3));function _0x1068(){const _0x24309e=['latest','LE_NOT_F','logger','object','unsuppor','able','OUND','includes','reateUpd','warn','updater','未知的自动更新错','code','ause\x20ele','export\x20c','611148DEaWMt','4882NVnhrv','ller.mjs','dateCont','missing-','createUp','./contro','1037875TKFDIy','ateContr','unknown','trim','\x22electro','oes\x20not\x20','ndows','app:upda','dependen','MODULE_N','message','1545650NUHhup','198NHpbob','alpha','isDestro','oller','updates','203RaFhBt','roller','717219PobgAU','自动更新依赖\x20e','ERR_MODU','44wNoPCl','send','ate\x20disa','1652334rBCvEk','getAllWi','lectron-','n-update','dater\x20is','yed','auto\x20upd','OT_FOUND','function','18GTujed','channel','4XiBHLo','7792tZASIg','failed\x20t','用状态','ctron-up','controll','updates/'];_0x1068=function(){return _0x24309e;};return _0x1068();}import _0x10067a from'electron';const {BrowserWindow}=_0x10067a;function _0x54f2(_0x5a5544,_0x329b93){_0x5a5544=_0x5a5544-0x120;const _0x1068a6=_0x1068();let _0x54f23d=_0x1068a6[_0x5a5544];return _0x54f23d;}function getErrorMessage(_0x3fa915){const _0x1a6653=_0x54f2;if(_0x3fa915 instanceof Error&&_0x3fa915[_0x1a6653(0x15c)]['trim']())return _0x3fa915[_0x1a6653(0x15c)]['trim']();if(typeof _0x3fa915==='string'&&_0x3fa915['trim']())return _0x3fa915[_0x1a6653(0x155)]();return _0x1a6653(0x147)+'误';}function createUnavailableUpdateController({shellConfig:_0x4a25eb,appVersion:_0xb330e8,broadcast:_0x24fa8e,logger:_0x3a7127,reason:_0x21be5e}){const _0x3fea95=_0x54f2,_0x479c75=_0x4a25eb[_0x3fea95(0x121)]??{},_0x5919c8={'supported':![],'channel':_0x479c75[_0x3fea95(0x134)]===_0x3fea95(0x15f)?_0x3fea95(0x15f):_0x3fea95(0x13c),'phase':_0x3fea95(0x140)+'ted','currentVersion':_0xb330e8(),'remoteVersion':null,'comparisonResult':_0x3fea95(0x154),'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':_0x21be5e,'error':null,'errorCode':_0x3fea95(0x14f)+_0x3fea95(0x15a)+'cy'};let _0x203c43=![];function _0x1d7281(){return{..._0x5919c8,'currentVersion':_0xb330e8()};}function _0x1f3f9b(){const _0x3ff95c=_0x3fea95,_0x1e1a3c=_0x1d7281();for(const _0x3d3e01 of BrowserWindow?.[_0x3ff95c(0x12b)+_0x3ff95c(0x158)]?.()??[]){!_0x3d3e01[_0x3ff95c(0x160)+_0x3ff95c(0x12f)]()&&_0x3d3e01['webConte'+'nts'][_0x3ff95c(0x128)](_0x3ff95c(0x159)+'te-state',_0x1e1a3c);}_0x24fa8e?.(_0x3ff95c(0x159)+'te-state',_0x1e1a3c);}function _0x28896f(){const _0x133131=_0x3fea95;if(_0x203c43)return;_0x203c43=!![],_0x3a7127?.[_0x133131(0x145)]?.(_0x133131(0x130)+_0x133131(0x129)+'bled\x20bec'+_0x133131(0x149)+_0x133131(0x139)+_0x133131(0x12e)+'\x20unavail'+_0x133131(0x141),{'reason':_0x21be5e}),_0x1f3f9b();}function _0x94092e(){throw new Error(_0x21be5e);}async function _0x469c7f(){_0x28896f(),_0x94092e();}async function _0x2e7a87(){_0x28896f(),_0x94092e();}async function _0x391199(){_0x28896f(),_0x94092e();}function _0x49c71f(){}function _0x2c58eb(){_0x28896f();}function _0x8c6be9(){}return{'initialize':_0x28896f,'getState':_0x1d7281,'checkForUpdates':_0x469c7f,'downloadUpdate':_0x2e7a87,'quitAndInstall':_0x391199,'requestBackgroundCheck':_0x49c71f,'startBackgroundChecks':_0x2c58eb,'markQuitObserved':_0x8c6be9};}function isElectronUpdaterMissingError(_0x1f22d0){const _0xef2b21=_0x54f2;if(!_0x1f22d0)return![];if(_0x1f22d0&&typeof _0x1f22d0===_0xef2b21(0x13f)&&_0xef2b21(0x148)in _0x1f22d0&&(_0x1f22d0[_0xef2b21(0x148)]===_0xef2b21(0x126)+_0xef2b21(0x13d)+_0xef2b21(0x142)||_0x1f22d0[_0xef2b21(0x148)]===_0xef2b21(0x15b)+_0xef2b21(0x131))){const _0xcf563a=getErrorMessage(_0x1f22d0);return _0xcf563a[_0xef2b21(0x143)]('\x27electro'+'n-update'+'r\x27')||_0xcf563a['includes'](_0xef2b21(0x156)+_0xef2b21(0x12d)+'r\x22');}return![];}export async function loadCreateUpdateController({logger:_0x5357b1,importer:importer=_0x57bc65=>import(_0x57bc65)}={}){const _0x383f24=_0x54f2;try{const _0x3111b1=await importer(_0x383f24(0x151)+_0x383f24(0x14d));if(typeof _0x3111b1[_0x383f24(0x150)+_0x383f24(0x14e)+_0x383f24(0x123)]!==_0x383f24(0x132))throw new TypeError(_0x383f24(0x13b)+_0x383f24(0x13a)+'er.mjs\x20d'+_0x383f24(0x157)+_0x383f24(0x14a)+_0x383f24(0x144)+_0x383f24(0x153)+_0x383f24(0x120));return _0x3111b1['createUp'+'dateCont'+'roller'];}catch(_0x552121){if(!isElectronUpdaterMissingError(_0x552121))throw _0x552121;const _0x850080=_0x383f24(0x125)+_0x383f24(0x12c)+'updater\x20'+'缺失,已降级为禁'+_0x383f24(0x138);return _0x5357b1?.[_0x383f24(0x145)]?.(_0x383f24(0x137)+'o\x20load\x20e'+_0x383f24(0x12c)+_0x383f24(0x146),{'error':getErrorMessage(_0x552121),'reason':_0x850080}),_0x405156=>createUnavailableUpdateController({..._0x405156,'logger':_0x405156?.[_0x383f24(0x13e)]??_0x5357b1,'reason':_0x850080});}}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": "4.0.1",
3
+ "version": "4.0.2",
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": "4.0.1",
38
- "@wujie-shell/logger": "4.0.1"
37
+ "@wujie-shell/config": "4.0.2",
38
+ "@wujie-shell/logger": "4.0.2"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "node ../../scripts/build-packages.mjs --package @wujie-shell/core"