@evomap/evolver 1.91.0 → 1.91.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.
- package/index.js +1 -1
- package/package.json +1 -1
- package/src/atp/hubClient.js +13 -1
- package/src/evolve/guards.js +1 -1
- package/src/evolve/pipeline/collect.js +1 -1
- package/src/evolve/pipeline/dispatch.js +1 -1
- package/src/evolve/pipeline/enrich.js +1 -1
- package/src/evolve/pipeline/hub.js +1 -1
- package/src/evolve/pipeline/select.js +1 -1
- package/src/evolve/pipeline/signals.js +1 -1
- package/src/evolve/utils.js +1 -1
- package/src/evolve.js +1 -1
- package/src/gep/a2aProtocol.js +5175 -1
- package/src/gep/antiAbuseTelemetry.js +233 -1
- package/src/gep/assetStore.js +3 -2
- package/src/gep/autoDistillConv.js +205 -1
- package/src/gep/autoDistillLlm.js +315 -1
- package/src/gep/candidateEval.js +92 -1
- package/src/gep/candidates.js +1 -1
- package/src/gep/contentHash.js +30 -1
- package/src/gep/conversationDistiller.js +270 -1
- package/src/gep/conversationSniffer.js +266 -1
- package/src/gep/crypto.js +93 -1
- package/src/gep/curriculum.js +1 -1
- package/src/gep/deviceId.js +218 -1
- package/src/gep/envFingerprint.js +118 -1
- package/src/gep/epigenetics.js +31 -1
- package/src/gep/execBridge.js +712 -1
- package/src/gep/explore.js +289 -1
- package/src/gep/hash.js +15 -1
- package/src/gep/hubFetch.js +672 -1
- package/src/gep/hubReview.js +212 -1
- package/src/gep/hubSearch.js +544 -1
- package/src/gep/hubVerify.js +306 -1
- package/src/gep/learningSignals.js +1 -1
- package/src/gep/memoryGraph.js +1449 -1
- package/src/gep/memoryGraphAdapter.js +203 -1
- package/src/gep/mutation.js +1 -1
- package/src/gep/narrativeMemory.js +1 -1
- package/src/gep/openPRRegistry.js +205 -1
- package/src/gep/personality.js +1 -1
- package/src/gep/policyCheck.js +599 -1
- package/src/gep/prompt.js +1 -1
- package/src/gep/recallInject.js +409 -1
- package/src/gep/recallVerifier.js +318 -1
- package/src/gep/reflection.js +1 -1
- package/src/gep/savingsCore.js +1 -1
- package/src/gep/selector.js +1 -1
- package/src/gep/skillDistiller.js +1294 -1
- package/src/gep/solidify.js +1 -1
- package/src/gep/strategy.js +136 -1
- package/src/gep/tokenSavings.js +1 -1
- package/src/gep/trajectoryExport.js +3841 -1
- package/src/gep/workspaceKeychain.js +174 -1
- package/src/proxy/extensions/sessionHandler.js +123 -53
- package/src/proxy/extensions/traceControl.js +123 -1
- package/src/proxy/index.js +57 -2
- package/src/proxy/inject.js +52 -1
- package/src/proxy/router/messages_route.js +6 -0
- package/src/proxy/server/routes.js +40 -62
- package/src/proxy/trace/extractor.js +2355 -1
- package/src/proxy/trace/usage.js +105 -1
- package/src/webui/client/clientJs/bootstrap.js +6 -0
- package/src/webui/client/clientJs/github.js +225 -0
- package/src/webui/client/clientJs/i18n.js +14 -0
- package/src/webui/client/clientJs/index.js +3 -0
- package/src/webui/client/clientJs/pipelines.js +3 -1
- package/src/webui/client/indexHtml.js +10 -0
- package/src/webui/client/stylesCss.js +61 -0
- package/src/webui/observer/github.js +340 -0
- package/src/webui/observer/index.js +4 -0
- package/src/webui/server/routes.js +11 -0
|
@@ -1 +1,266 @@
|
|
|
1
|
-
const _0x45a111=_0x562a;(function(_0x4c05f1,_0x320109){const _0x5c4b4d=_0x562a,_0x199698=_0x4c05f1();while(!![]){try{const _0x163cdb=-parseInt(_0x5c4b4d(0x20a,'\x40\x5a\x70\x32'))/(0x9e*-0x1+-0x1ab5+-0x1b54*-0x1)*(-parseInt(_0x5c4b4d(0x190,'\x36\x52\x5e\x26'))/(-0x3c6+-0x1ac4+0x1e8c))+parseInt(_0x5c4b4d(0x1db,'\x73\x5b\x39\x37'))/(-0x7*-0x14b+-0x144+0x3e3*-0x2)*(parseInt(_0x5c4b4d(0x184,'\x70\x51\x45\x36'))/(0x894+0x261+-0xaf1))+-parseInt(_0x5c4b4d(0x1ba,'\x38\x71\x6f\x6e'))/(-0x1*-0x18ec+-0x2454+-0x1*-0xb6d)+-parseInt(_0x5c4b4d(0x235,'\x56\x75\x29\x7a'))/(-0x473+0x2611+-0x28*0xd7)+-parseInt(_0x5c4b4d(0x102,'\x25\x39\x6c\x31'))/(0x24c8+0x368+-0x2829)+-parseInt(_0x5c4b4d(0x1c9,'\x53\x5b\x4a\x45'))/(-0x194a+-0x294+0x1be6)+parseInt(_0x5c4b4d(0x221,'\x48\x6c\x25\x5b'))/(0x1253*-0x2+-0x4*-0x642+-0xba7*-0x1)*(parseInt(_0x5c4b4d(0x18e,'\x4b\x53\x6f\x6a'))/(-0x21bc+0x1eee+0x2d8));if(_0x163cdb===_0x320109)break;else _0x199698['push'](_0x199698['shift']());}catch(_0x10a351){_0x199698['push'](_0x199698['shift']());}}}(_0x29ad,-0xc91c8+-0x9af04+0x2061ad));function _0x29ad(){const _0x378e57=['\x57\x4f\x79\x46\x42\x32\x50\x73\x57\x34\x76\x6d\x57\x37\x65','\x57\x34\x71\x63\x69\x6d\x6f\x4c\x57\x37\x4e\x63\x47\x57','\x57\x37\x50\x6b\x66\x78\x33\x64\x52\x43\x6f\x43\x57\x4f\x66\x4f','\x57\x37\x64\x63\x4b\x6d\x6f\x4b\x62\x53\x6b\x69\x75\x43\x6b\x45\x71\x71','\x57\x4f\x57\x52\x75\x71\x69\x4b\x77\x43\x6f\x7a\x57\x36\x6d','\x57\x50\x37\x63\x54\x59\x71','\x78\x75\x62\x66\x57\x50\x56\x64\x47\x57','\x57\x37\x4f\x4f\x57\x35\x5a\x64\x4d\x58\x4b','\x57\x4f\x6d\x2b\x57\x34\x75\x33\x64\x43\x6f\x61\x74\x53\x6b\x70','\x73\x65\x4c\x77\x57\x4f\x34\x54','\x68\x4b\x2f\x64\x52\x4a\x34\x47','\x73\x53\x6f\x59\x57\x34\x4e\x63\x48\x59\x38','\x57\x52\x53\x4c\x62\x58\x38\x79','\x57\x37\x43\x45\x57\x4f\x66\x6b\x57\x36\x6d','\x57\x51\x39\x61\x57\x51\x75\x6e','\x77\x4b\x50\x4b\x57\x50\x30\x53\x57\x34\x74\x63\x4e\x67\x79','\x57\x4f\x4f\x73\x6d\x4a\x69\x73','\x57\x35\x37\x63\x53\x78\x53\x59\x6f\x57','\x46\x58\x34\x73\x45\x63\x56\x63\x4d\x66\x4f','\x79\x6d\x6f\x4f\x68\x4d\x65','\x71\x43\x6f\x72\x66\x30\x64\x63\x56\x61','\x74\x73\x76\x48\x57\x36\x79\x36\x57\x35\x72\x4e\x46\x61','\x77\x38\x6b\x74\x57\x50\x4e\x64\x4c\x4a\x34\x38\x57\x51\x6c\x63\x52\x47','\x57\x51\x69\x2f\x78\x4b\x62\x4a\x57\x37\x4c\x52\x57\x35\x65','\x57\x36\x69\x6c\x57\x37\x37\x64\x54\x47\x34\x38\x57\x36\x62\x47','\x45\x38\x6f\x32\x57\x37\x64\x63\x4a\x74\x79\x6b\x79\x43\x6f\x55','\x57\x34\x53\x6d\x57\x37\x70\x64\x4a\x63\x53','\x65\x76\x33\x64\x49\x67\x4f\x57\x71\x73\x46\x64\x55\x61','\x6f\x78\x72\x30\x57\x50\x53\x32','\x57\x52\x79\x66\x78\x59\x65\x77\x45\x6d\x6b\x77\x57\x34\x75','\x78\x53\x6b\x4e\x57\x50\x74\x64\x4a\x48\x65','\x57\x50\x47\x46\x79\x4e\x48\x75\x57\x35\x34','\x57\x35\x71\x69\x6c\x38\x6f\x48\x57\x34\x78\x63\x49\x6d\x6f\x64\x79\x57','\x46\x76\x57\x33\x57\x35\x71\x77','\x6c\x33\x6d\x32\x45\x38\x6b\x61\x62\x33\x5a\x64\x4a\x71','\x57\x51\x6d\x77\x57\x51\x43\x35\x64\x71','\x42\x58\x79\x66\x44\x59\x4a\x63\x4e\x75\x78\x64\x55\x57','\x57\x4f\x72\x30\x57\x35\x57\x36','\x65\x61\x46\x64\x4a\x53\x6f\x41\x7a\x72\x74\x63\x4e\x61','\x67\x43\x6b\x50\x57\x4f\x6a\x4a\x57\x52\x70\x63\x4f\x53\x6b\x39\x42\x57','\x65\x4a\x5a\x64\x55\x6d\x6f\x52\x73\x61','\x57\x34\x43\x5a\x57\x34\x65','\x67\x31\x56\x64\x4c\x63\x53\x4e\x72\x73\x30','\x57\x51\x53\x65\x44\x61','\x42\x58\x47\x42\x79\x62\x78\x63\x4c\x30\x4a\x64\x4f\x47','\x66\x53\x6b\x71\x57\x50\x50\x35\x57\x52\x71','\x57\x51\x71\x67\x43\x49\x4b\x73','\x57\x51\x70\x63\x4d\x38\x6f\x4b\x65\x53\x6b\x67\x72\x61','\x57\x4f\x30\x6e\x41\x72\x57\x33','\x64\x49\x5a\x64\x4e\x53\x6f\x49\x78\x32\x69','\x70\x48\x68\x63\x4e\x43\x6f\x70\x57\x36\x75','\x41\x38\x6b\x71\x72\x33\x6c\x63\x4e\x43\x6f\x65\x66\x63\x6d','\x57\x50\x39\x36\x57\x34\x65\x2b','\x6c\x63\x48\x42\x6d\x31\x57','\x57\x35\x75\x2b\x57\x36\x62\x78\x57\x37\x4a\x63\x50\x53\x6b\x54\x57\x35\x30','\x69\x30\x65\x58\x45\x6d\x6b\x68\x61\x4e\x68\x64\x49\x47','\x75\x5a\x44\x73\x57\x36\x4b\x67','\x41\x65\x6e\x61\x62\x75\x46\x63\x4e\x5a\x30','\x35\x42\x41\x67\x35\x79\x2b\x39\x35\x42\x49\x38','\x57\x34\x38\x30\x57\x34\x4e\x63\x4f\x38\x6f\x67\x57\x36\x64\x64\x54\x71','\x57\x52\x4e\x63\x4c\x38\x6f\x4b\x61\x53\x6b\x6d\x67\x38\x6b\x65\x62\x61','\x57\x51\x71\x70\x77\x4b\x58\x70','\x71\x6d\x6b\x2f\x57\x50\x37\x64\x51\x72\x30','\x57\x37\x47\x35\x57\x37\x5a\x63\x4f\x43\x6f\x4f','\x57\x35\x4b\x2f\x57\x34\x52\x63\x4f\x47','\x57\x36\x64\x64\x4b\x38\x6b\x72\x6d\x48\x53','\x57\x37\x6a\x34\x66\x66\x70\x64\x51\x47','\x57\x51\x33\x63\x52\x6d\x6f\x5a\x67\x4b\x69','\x57\x52\x79\x74\x6d\x48\x57\x50','\x6f\x31\x37\x64\x56\x47\x65\x47','\x57\x36\x71\x55\x78\x59\x68\x64\x4e\x38\x6b\x55\x65\x43\x6f\x54\x57\x52\x4b\x74','\x64\x65\x42\x64\x56\x73\x75\x4b\x72\x74\x56\x64\x4e\x57','\x7a\x48\x69\x77\x79\x49\x2f\x63\x4b\x62\x6c\x63\x53\x47','\x46\x43\x6f\x56\x57\x37\x46\x63\x4d\x49\x53\x44\x75\x38\x6f\x4a','\x64\x38\x6b\x59\x57\x4f\x4f\x54','\x57\x50\x64\x64\x56\x38\x6f\x4e','\x57\x51\x71\x77\x57\x52\x6d\x5a\x64\x71','\x73\x62\x44\x71\x57\x34\x75\x62','\x6b\x38\x6b\x45\x57\x4f\x34\x35\x57\x52\x6a\x68\x63\x6d\x6f\x6a','\x6c\x77\x74\x64\x53\x58\x47\x77\x42\x61\x78\x64\x4e\x71','\x57\x4f\x76\x53\x57\x4f\x35\x6d\x57\x34\x2f\x63\x4c\x53\x6b\x71\x57\x36\x53','\x6e\x38\x6f\x65\x6f\x59\x34\x79\x57\x37\x71','\x57\x37\x6e\x41\x45\x71\x79\x69\x77\x53\x6b\x38\x57\x37\x57','\x57\x34\x78\x64\x51\x77\x74\x63\x4c\x64\x7a\x46\x74\x62\x46\x63\x4c\x30\x57','\x57\x51\x68\x63\x50\x53\x6f\x52\x70\x65\x61\x61\x64\x48\x71','\x65\x73\x5a\x64\x4c\x43\x6f\x52','\x61\x5a\x52\x64\x4c\x71','\x67\x4e\x72\x33\x57\x50\x57\x6b','\x77\x30\x66\x55\x57\x51\x6c\x64\x50\x38\x6f\x58\x57\x50\x42\x64\x50\x71','\x57\x36\x79\x31\x57\x37\x33\x64\x55\x48\x75','\x57\x4f\x62\x30\x57\x35\x57\x4d\x57\x4f\x7a\x49\x69\x43\x6f\x77','\x43\x43\x6b\x6d\x77\x43\x6f\x65\x57\x4f\x78\x63\x52\x49\x53\x52','\x64\x74\x56\x64\x4d\x38\x6f\x4a\x72\x32\x75\x79','\x42\x38\x6f\x59\x57\x4f\x37\x63\x4e\x65\x34','\x77\x4b\x50\x31','\x44\x4a\x46\x64\x4a\x38\x6b\x45\x65\x71','\x64\x4d\x68\x64\x54\x59\x53\x4e','\x57\x52\x5a\x64\x53\x4e\x4e\x63\x4a\x47','\x57\x36\x50\x56\x6d\x31\x33\x64\x56\x71','\x66\x4a\x56\x64\x49\x43\x6f\x77\x72\x77\x6d\x6a\x57\x50\x71','\x69\x58\x72\x7a\x66\x30\x46\x63\x48\x62\x30\x51','\x77\x5a\x61\x41\x6d\x53\x6f\x2b','\x43\x74\x46\x64\x55\x43\x6b\x66\x67\x59\x52\x63\x47\x6d\x6f\x44','\x6b\x38\x6b\x75\x57\x4f\x71\x4a','\x57\x52\x74\x63\x56\x43\x6f\x75\x68\x33\x61','\x57\x37\x58\x6e\x77\x77\x53\x4d','\x36\x79\x6b\x76\x36\x6c\x36\x4e\x35\x6c\x49\x43','\x45\x5a\x4a\x64\x52\x43\x6b\x62\x61\x71\x5a\x63\x49\x47','\x57\x36\x35\x67\x64\x33\x4e\x64\x52\x43\x6f\x6f\x57\x4f\x57','\x57\x37\x6d\x6d\x65\x6d\x6f\x61\x57\x36\x4b','\x45\x6d\x6f\x36\x57\x4f\x4a\x63\x48\x31\x37\x63\x56\x38\x6b\x70\x42\x61','\x46\x4a\x4e\x64\x52\x47','\x64\x30\x56\x63\x53\x32\x65\x63\x68\x71\x2f\x63\x4e\x61','\x41\x43\x6f\x74\x57\x34\x76\x4a\x57\x37\x57\x6b\x67\x6d\x6f\x61','\x57\x34\x4e\x63\x55\x43\x6f\x61\x57\x35\x56\x63\x4a\x61','\x57\x34\x54\x37\x43\x4c\x79\x43\x57\x36\x74\x64\x52\x57\x43','\x57\x50\x33\x64\x51\x43\x6f\x53\x68\x6d\x6f\x74\x63\x47','\x7a\x38\x6b\x2f\x75\x38\x6f\x72\x57\x51\x34','\x6e\x53\x6b\x69\x57\x50\x53\x34\x57\x4f\x61','\x57\x36\x57\x70\x57\x37\x46\x64\x52\x58\x61\x6b\x57\x36\x31\x52','\x57\x37\x75\x70\x63\x64\x65','\x79\x62\x69\x42\x43\x74\x37\x63\x4e\x61','\x57\x52\x4a\x63\x4d\x73\x42\x64\x53\x58\x43','\x68\x48\x4e\x63\x52\x38\x6f\x69\x57\x36\x69','\x72\x72\x4f\x70\x57\x35\x50\x6f\x57\x37\x7a\x4f\x6f\x49\x38\x35\x42\x71\x7a\x2f','\x57\x34\x78\x63\x53\x6d\x6f\x32\x57\x34\x65','\x57\x34\x4e\x63\x55\x43\x6f\x63\x57\x4f\x2f\x63\x52\x68\x68\x63\x53\x73\x43','\x6b\x48\x7a\x32\x57\x4f\x35\x38\x57\x37\x4e\x64\x4f\x6d\x6f\x77\x43\x4c\x6a\x41\x57\x37\x47\x6e','\x57\x52\x4e\x63\x48\x38\x6f\x38\x76\x53\x6b\x6b\x75\x53\x6b\x7a\x73\x71','\x68\x76\x34\x49\x76\x53\x6b\x6e','\x57\x50\x30\x35\x78\x71\x43\x4e\x77\x38\x6b\x37\x57\x34\x6d','\x68\x76\x68\x64\x47\x73\x75\x48\x76\x64\x4f','\x44\x53\x6b\x72\x42\x61','\x6b\x43\x6b\x56\x57\x51\x37\x64\x4d\x77\x39\x45\x6d\x61','\x67\x43\x6b\x6c\x42\x43\x6f\x58\x72\x57','\x57\x52\x5a\x63\x56\x43\x6f\x75\x6f\x38\x6b\x4b','\x45\x59\x6a\x61\x57\x36\x61\x72','\x66\x49\x42\x64\x55\x43\x6f\x77\x7a\x66\x4b\x42\x57\x4f\x61','\x6a\x62\x6c\x63\x4b\x43\x6f\x4f\x57\x37\x61','\x6b\x6d\x6b\x47\x57\x34\x4a\x64\x4e\x58\x4e\x64\x51\x43\x6f\x71\x77\x77\x37\x63\x50\x38\x6f\x68\x57\x34\x34','\x57\x50\x68\x63\x51\x63\x70\x64\x4a\x49\x4b','\x57\x52\x68\x63\x53\x38\x6f\x33\x6d\x75\x43\x64\x62\x47\x79','\x57\x35\x61\x2f\x57\x51\x48\x43\x57\x51\x47','\x65\x53\x6b\x63\x57\x4f\x6d\x55','\x57\x37\x75\x71\x57\x35\x78\x64\x4c\x61\x4b','\x57\x50\x4e\x63\x47\x62\x74\x64\x4d\x5a\x34','\x46\x6d\x6b\x45\x45\x33\x5a\x63\x49\x6d\x6f\x69\x63\x47\x4b','\x73\x72\x2f\x63\x47\x78\x48\x4b\x66\x78\x4e\x64\x51\x6d\x6f\x6b\x43\x61\x48\x52\x57\x37\x71','\x62\x65\x68\x63\x56\x4d\x71','\x57\x50\x42\x64\x51\x43\x6f\x32\x6e\x53\x6f\x69\x62\x4b\x38','\x46\x53\x6b\x70\x79\x4a\x64\x63\x49\x43\x6f\x61\x63\x47\x57','\x73\x5a\x6a\x52\x57\x37\x34','\x66\x62\x70\x64\x4e\x53\x6f\x78\x6a\x58\x6d','\x45\x61\x75\x43\x45\x57','\x57\x35\x30\x50\x57\x35\x4e\x63\x55\x43\x6f\x4a','\x57\x37\x4e\x64\x50\x67\x33\x64\x47\x43\x6b\x76','\x61\x47\x70\x63\x48\x6d\x6f\x2b\x57\x35\x79\x4c\x57\x52\x53\x61','\x71\x53\x6f\x32\x57\x35\x54\x71\x57\x4f\x64\x63\x47\x6d\x6b\x56\x41\x59\x43','\x46\x61\x69\x78\x45\x49\x70\x63\x48\x30\x68\x63\x56\x57','\x57\x52\x61\x53\x41\x72\x38\x54','\x57\x52\x6c\x63\x55\x38\x6f\x64\x70\x53\x6b\x46','\x57\x4f\x74\x63\x54\x57\x64\x64\x4c\x49\x6a\x56\x72\x49\x79','\x67\x43\x6b\x76\x57\x4f\x65\x6c\x57\x51\x61','\x57\x36\x70\x63\x50\x4c\x4f\x67','\x61\x53\x6b\x75\x57\x52\x75\x66\x57\x50\x4f','\x6b\x6d\x6f\x57\x57\x51\x43\x71\x6d\x71','\x67\x63\x2f\x64\x56\x53\x6f\x6c\x42\x57','\x68\x75\x48\x45\x57\x50\x57\x43\x57\x36\x53\x52\x7a\x57','\x57\x35\x35\x34\x74\x66\x43\x6c\x57\x36\x30','\x57\x34\x65\x6c\x6b\x38\x6f\x36\x57\x37\x4b','\x57\x34\x47\x75\x57\x35\x46\x64\x56\x4a\x4f','\x36\x41\x4d\x2b\x36\x6b\x36\x31\x36\x79\x67\x6c\x36\x6c\x36\x35','\x62\x53\x6b\x59\x42\x53\x6f\x56\x46\x68\x61','\x45\x59\x78\x64\x50\x38\x6f\x64\x64\x71','\x57\x36\x2f\x63\x54\x4a\x72\x78\x6d\x4e\x62\x6f\x43\x47','\x43\x65\x53\x4c\x57\x35\x69\x30','\x6e\x43\x6b\x6a\x57\x50\x47\x4f','\x57\x51\x37\x63\x50\x53\x6f\x32\x6c\x68\x79\x78\x61\x71\x4b','\x57\x35\x38\x35\x57\x52\x54\x44\x57\x37\x52\x64\x4f\x57','\x57\x4f\x78\x64\x50\x68\x37\x63\x47\x57','\x43\x53\x6b\x57\x57\x4f\x78\x64\x51\x58\x61','\x57\x34\x46\x64\x51\x32\x46\x63\x4b\x4d\x69\x59\x77\x48\x78\x63\x50\x4e\x76\x31\x57\x50\x34','\x57\x36\x71\x45\x57\x34\x43','\x57\x34\x46\x64\x4c\x38\x6b\x52\x62\x71\x75','\x57\x4f\x6a\x5a\x57\x34\x61\x47\x57\x52\x50\x30\x42\x38\x6f\x6c','\x44\x38\x6b\x50\x57\x52\x56\x64\x49\x72\x47','\x71\x43\x6b\x39\x57\x50\x57\x47\x68\x33\x33\x63\x56\x77\x65','\x42\x67\x30\x68\x57\x37\x6d\x50','\x6b\x43\x6b\x59\x57\x52\x38\x6a\x57\x50\x65','\x45\x38\x6b\x5a\x74\x32\x4a\x63\x4f\x47','\x57\x4f\x69\x46\x46\x4e\x7a\x67\x57\x35\x39\x61\x57\x36\x6d','\x65\x65\x4a\x64\x47\x47','\x57\x36\x57\x62\x57\x36\x52\x64\x56\x48\x34\x67\x57\x37\x76\x4e','\x57\x50\x64\x64\x51\x6d\x6f\x4d','\x57\x4f\x37\x64\x4d\x33\x52\x63\x50\x6d\x6f\x4f','\x73\x43\x6b\x79\x57\x50\x46\x64\x4c\x64\x79\x4b\x57\x51\x47','\x57\x51\x46\x63\x52\x72\x68\x64\x55\x5a\x38','\x68\x4c\x42\x63\x48\x53\x6f\x2b\x57\x34\x44\x50\x57\x37\x65','\x57\x4f\x46\x63\x50\x43\x6f\x6c\x70\x65\x30','\x57\x52\x54\x6c\x68\x77\x68\x64\x50\x43\x6f\x6b\x57\x50\x66\x42','\x57\x50\x2f\x64\x4e\x43\x6f\x33\x66\x53\x6f\x75','\x57\x51\x2f\x63\x51\x6d\x6f\x48\x70\x71','\x62\x53\x6b\x58\x43\x53\x6f\x2b\x45\x47','\x46\x53\x6f\x37\x57\x37\x2f\x63\x4a\x49\x57','\x57\x52\x76\x6f\x57\x4f\x6c\x64\x4a\x43\x6b\x45\x57\x51\x39\x62\x57\x37\x70\x64\x54\x43\x6b\x75\x61\x71','\x66\x65\x5a\x64\x4e\x59\x30\x4e\x73\x61','\x45\x5a\x75\x55\x70\x6d\x6f\x71\x6b\x5a\x6a\x51','\x57\x36\x54\x44\x68\x4e\x33\x64\x52\x43\x6f\x42\x57\x50\x62\x73','\x63\x63\x31\x59\x6b\x68\x42\x63\x53\x33\x6d\x32','\x57\x37\x52\x63\x54\x75\x53','\x42\x6d\x6f\x34\x57\x36\x57','\x57\x4f\x69\x52\x57\x51\x6d\x62\x66\x47','\x57\x37\x78\x64\x4e\x6d\x6b\x50\x6b\x61\x4e\x63\x4f\x74\x69','\x7a\x64\x34\x4e\x75\x47\x57','\x57\x37\x46\x64\x48\x66\x74\x64\x56\x43\x6b\x78','\x57\x36\x69\x62\x57\x36\x4f','\x57\x4f\x5a\x64\x51\x4d\x46\x63\x4a\x6d\x6f\x56\x64\x43\x6b\x46\x44\x71','\x71\x48\x69\x4a\x75\x62\x61','\x63\x53\x6b\x5a\x57\x4f\x35\x35\x57\x4f\x78\x63\x53\x53\x6b\x30','\x57\x51\x79\x6f\x65\x57\x4f\x2b','\x57\x34\x79\x2f\x57\x34\x68\x63\x51\x38\x6f\x61\x57\x36\x53','\x57\x36\x70\x63\x4c\x48\x66\x76\x68\x57','\x6b\x57\x6e\x75\x61\x71','\x57\x35\x75\x39\x57\x4f\x54\x63\x57\x36\x61','\x67\x53\x6b\x73\x57\x50\x68\x64\x49\x4a\x79\x51\x57\x52\x6c\x64\x55\x61','\x57\x51\x2f\x63\x50\x53\x6f\x39','\x57\x34\x43\x39\x57\x51\x66\x72\x57\x36\x5a\x63\x4f\x53\x6b\x52\x57\x35\x4b','\x57\x35\x5a\x63\x55\x63\x64\x64\x4c\x6d\x6b\x39\x75\x43\x6f\x6b\x73\x6d\x6f\x33\x57\x4f\x70\x63\x56\x53\x6b\x66\x57\x51\x71','\x61\x48\x4e\x63\x49\x53\x6f\x34','\x75\x53\x6b\x32\x72\x32\x78\x63\x52\x71','\x57\x51\x70\x63\x54\x6d\x6f\x47','\x57\x34\x54\x30\x71\x76\x65\x6e\x57\x37\x43','\x57\x50\x4b\x6e\x6d\x53\x6f\x34\x57\x37\x71','\x71\x53\x6b\x62\x71\x38\x6f\x43\x57\x51\x79','\x57\x36\x38\x45\x57\x34\x74\x63\x4d\x53\x6f\x6c\x57\x52\x44\x4b\x57\x36\x38','\x57\x36\x30\x6d\x57\x35\x65','\x57\x4f\x6c\x63\x56\x47\x78\x64\x51\x48\x43','\x42\x57\x75\x6d\x7a\x4a\x37\x63\x4d\x57','\x62\x59\x46\x64\x4c\x53\x6f\x51\x77\x77\x4b\x6b','\x61\x58\x70\x63\x48\x53\x6f\x35\x57\x37\x75\x50\x57\x52\x6d\x61','\x76\x43\x6b\x55\x42\x53\x6f\x56\x45\x78\x74\x64\x4d\x53\x6f\x70','\x78\x53\x6f\x37\x57\x4f\x4a\x63\x4c\x4d\x75','\x66\x63\x48\x31\x63\x4d\x71','\x43\x38\x6f\x38\x61\x32\x33\x63\x53\x43\x6b\x4d\x69\x53\x6f\x37','\x78\x4b\x62\x51','\x71\x30\x72\x70','\x57\x37\x7a\x45\x71\x4b\x53\x45\x57\x35\x42\x64\x54\x71\x53','\x57\x52\x64\x63\x47\x53\x6f\x39\x44\x66\x37\x64\x56\x78\x66\x42\x57\x36\x72\x55\x7a\x43\x6f\x77\x57\x37\x79','\x57\x51\x37\x63\x4f\x53\x6f\x52\x70\x31\x30\x6d','\x75\x4c\x75\x4c\x57\x35\x75\x44','\x57\x37\x30\x66\x57\x37\x56\x64\x55\x5a\x4f\x67\x57\x37\x76\x52','\x65\x38\x6b\x59\x57\x50\x75\x31\x57\x4f\x2f\x63\x4f\x6d\x6b\x59\x45\x57','\x77\x57\x69\x33\x74\x59\x75','\x57\x50\x39\x30\x57\x34\x53\x76\x57\x4f\x30','\x61\x6d\x6f\x58\x57\x4f\x53','\x57\x36\x6c\x64\x4c\x30\x71','\x57\x35\x35\x59\x71\x65\x61','\x57\x35\x4f\x37\x57\x34\x5a\x63\x50\x38\x6f\x76\x57\x36\x74\x64\x54\x76\x65','\x76\x65\x79\x75\x57\x37\x38\x52','\x57\x4f\x66\x30\x57\x35\x38','\x79\x53\x6b\x49\x57\x51\x70\x64\x52\x73\x30','\x61\x30\x6c\x63\x56\x4d\x71\x7a\x6f\x47\x2f\x64\x49\x61','\x57\x35\x75\x5a\x57\x51\x35\x74\x57\x36\x33\x63\x53\x43\x6f\x59\x57\x34\x53','\x57\x50\x33\x63\x55\x73\x53','\x75\x72\x66\x33\x57\x37\x34\x37','\x66\x31\x74\x63\x53\x74\x61','\x77\x43\x6b\x64\x57\x50\x78\x64\x4d\x59\x6d\x54\x57\x50\x70\x64\x54\x71','\x74\x53\x6f\x39\x43\x53\x6f\x5a\x44\x78\x64\x64\x4d\x53\x6f\x45','\x77\x48\x6e\x37\x57\x37\x30\x52','\x6a\x71\x42\x63\x47\x43\x6f\x75\x57\x35\x69','\x72\x61\x65\x67\x71\x73\x43','\x62\x63\x5a\x64\x4d\x43\x6f\x32\x71\x33\x39\x63\x57\x50\x79','\x57\x4f\x62\x4e\x57\x34\x4b\x67\x57\x4f\x47','\x57\x52\x61\x76\x70\x57\x79\x2f','\x68\x72\x70\x63\x49\x43\x6f\x36\x57\x34\x43\x4f','\x57\x51\x6a\x5a\x61\x78\x74\x64\x4e\x61','\x79\x6d\x6b\x69\x72\x38\x6f\x65\x57\x4f\x52\x63\x4f\x48\x71\x37','\x57\x52\x6c\x63\x48\x43\x6b\x6e\x6d\x49\x2f\x63\x4d\x61\x35\x4f','\x57\x35\x57\x55\x57\x35\x78\x63\x47\x43\x6f\x47','\x6a\x38\x6b\x44\x57\x52\x69\x48\x57\x52\x48\x65\x68\x43\x6b\x64','\x79\x38\x6f\x34\x67\x73\x4e\x63\x4e\x43\x6b\x75\x64\x6d\x6f\x64','\x42\x43\x6b\x41\x45\x33\x68\x63\x49\x38\x6f\x63\x61\x57','\x57\x34\x42\x63\x56\x31\x34\x54\x63\x47','\x62\x57\x75\x66\x57\x34\x47','\x57\x36\x4c\x46\x79\x4c\x65\x49','\x44\x47\x79\x5a\x78\x57\x57','\x57\x35\x75\x31\x57\x51\x50\x44\x57\x37\x56\x63\x54\x57','\x46\x43\x6f\x30\x61\x57','\x57\x37\x4f\x32\x71\x5a\x6d','\x57\x36\x56\x64\x4d\x53\x6b\x51\x69\x57','\x57\x35\x35\x30\x73\x4b\x53\x6a\x57\x36\x4e\x64\x51\x61','\x57\x35\x42\x64\x53\x4b\x33\x64\x50\x6d\x6b\x57\x74\x57\x46\x64\x51\x61','\x57\x37\x74\x63\x4e\x6d\x6f\x57\x57\x34\x68\x63\x49\x76\x46\x63\x52\x73\x47','\x43\x78\x7a\x35\x57\x51\x61\x79\x57\x36\x56\x63\x52\x75\x71','\x75\x6d\x6b\x45\x57\x50\x4e\x64\x4c\x61','\x57\x34\x4e\x64\x53\x4b\x78\x64\x56\x38\x6b\x4e','\x68\x4d\x68\x64\x50\x4a\x30\x30','\x57\x37\x38\x62\x57\x36\x4a\x64\x52\x62\x4b','\x68\x6d\x6b\x5a\x46\x6d\x6b\x39','\x67\x59\x70\x64\x54\x6d\x6f\x32\x72\x71','\x57\x37\x6a\x67\x68\x33\x33\x64\x53\x43\x6f\x6d\x57\x50\x31\x65','\x70\x76\x75\x78\x75\x38\x6b\x71','\x65\x75\x5a\x63\x56\x4d\x53\x76','\x65\x53\x6f\x32\x57\x4f\x34\x4e\x6f\x33\x5a\x63\x52\x4e\x30','\x63\x67\x70\x64\x47\x47\x53\x67','\x57\x4f\x62\x71\x43\x43\x6b\x4b\x57\x51\x56\x64\x4e\x53\x6f\x42\x79\x4a\x50\x65\x57\x34\x66\x44','\x42\x43\x6f\x4e\x57\x37\x52\x63\x49\x63\x53\x6c','\x6c\x43\x6b\x45\x57\x52\x34\x30\x57\x52\x4c\x61','\x57\x36\x69\x7a\x7a\x4a\x57\x68\x46\x6d\x6b\x68\x57\x36\x6d','\x45\x38\x6f\x36\x57\x50\x4a\x63\x47\x71\x5a\x63\x51\x71','\x64\x6d\x6f\x36\x57\x4f\x53\x53','\x45\x59\x54\x74\x57\x34\x71\x37','\x79\x58\x65\x74','\x66\x53\x6f\x63\x57\x52\x30\x46\x6d\x71','\x62\x30\x72\x45\x57\x4f\x57\x77\x57\x52\x71','\x57\x50\x30\x6e\x57\x4f\x79\x6d\x66\x38\x6f\x72\x72\x38\x6b\x79','\x70\x76\x76\x66\x57\x52\x47\x6e','\x73\x65\x6d\x6e\x57\x50\x4f\x32\x57\x34\x5a\x63\x4c\x4d\x34','\x6b\x6d\x6b\x7a\x57\x4f\x4f\x33\x57\x52\x71','\x57\x51\x7a\x57\x67\x4e\x5a\x64\x49\x47','\x43\x6d\x6b\x44\x72\x43\x6f\x6d\x57\x4f\x42\x63\x52\x62\x65\x30','\x57\x37\x76\x44\x69\x33\x31\x71\x6b\x6d\x6b\x44\x57\x37\x46\x64\x50\x4c\x72\x2b\x41\x57','\x62\x53\x6b\x34\x46\x53\x6f\x5a','\x75\x53\x6b\x32\x46\x68\x70\x63\x48\x47','\x74\x63\x48\x4a\x57\x51\x66\x39\x57\x50\x65','\x6d\x5a\x52\x64\x56\x38\x6f\x4f\x74\x61','\x57\x51\x71\x6c\x46\x5a\x30\x65','\x57\x36\x69\x71\x57\x34\x6d','\x66\x59\x48\x44\x62\x4e\x61','\x77\x38\x6b\x50\x44\x53\x6f\x54','\x6f\x38\x6b\x58\x57\x4f\x35\x74\x57\x4f\x61','\x68\x4b\x2f\x63\x49\x5a\x4b\x37\x71\x73\x33\x64\x53\x57','\x57\x50\x4f\x76\x6c\x61','\x43\x38\x6f\x6f\x57\x37\x4e\x63\x4e\x47\x34','\x46\x4a\x46\x64\x55\x53\x6b\x71\x6a\x4a\x64\x63\x47\x53\x6f\x44','\x57\x4f\x43\x46\x7a\x31\x31\x32','\x42\x58\x47\x42\x7a\x74\x37\x63\x48\x4c\x5a\x64\x53\x71','\x44\x53\x6f\x31\x57\x50\x4f','\x63\x4b\x68\x63\x50\x67\x61','\x57\x35\x53\x63\x6c\x38\x6f\x57\x57\x36\x37\x63\x47\x57','\x71\x63\x4b\x32\x61\x43\x6f\x32','\x57\x52\x35\x35\x64\x47','\x73\x57\x65\x59\x78\x58\x6d','\x57\x50\x53\x71\x6d\x61\x4f\x54\x62\x6d\x6f\x63\x57\x52\x61','\x57\x4f\x31\x69\x57\x52\x53\x36\x57\x51\x61','\x57\x36\x75\x74\x6b\x43\x6f\x2b\x57\x35\x75','\x67\x43\x6b\x6f\x77\x6d\x6f\x72\x73\x57','\x57\x52\x34\x2f\x63\x78\x74\x64\x4a\x43\x6f\x45\x77\x57','\x57\x4f\x44\x66\x6d\x67\x33\x64\x49\x47','\x41\x4b\x57\x4d\x57\x35\x4b\x54\x57\x51\x64\x63\x51\x47','\x57\x50\x43\x42\x79\x4e\x54\x6a\x57\x35\x6a\x65\x57\x37\x6d','\x57\x37\x4b\x41\x57\x34\x56\x64\x4d\x63\x75','\x57\x37\x56\x63\x47\x4c\x38\x4a\x6d\x61','\x6e\x64\x4a\x64\x50\x6d\x6f\x4a\x42\x47','\x46\x77\x4f\x65\x57\x36\x69\x63','\x61\x48\x64\x64\x48\x6d\x6f\x76\x41\x72\x70\x63\x4c\x53\x6f\x50','\x44\x47\x43\x36\x78\x74\x38','\x57\x37\x44\x6a\x64\x32\x78\x64\x4a\x43\x6f\x67\x57\x50\x58\x73','\x57\x50\x6d\x61\x6f\x62\x65\x4d','\x6c\x38\x6b\x75\x57\x50\x4c\x54','\x64\x43\x6b\x50\x57\x50\x35\x2b\x57\x4f\x78\x63\x52\x38\x6b\x37','\x57\x35\x75\x5a\x57\x51\x6e\x44','\x73\x38\x6b\x66\x57\x52\x4a\x64\x56\x61\x34','\x65\x53\x6f\x35\x57\x4f\x79\x51\x68\x71','\x62\x53\x6f\x39\x76\x43\x6f\x73\x73\x5a\x78\x64\x4b\x6d\x6f\x65'];_0x29ad=function(){return _0x378e57;};return _0x29ad();}const _0x284701=(function(){const _0x5aaf05=_0x562a,_0x1b7edb={};_0x1b7edb[_0x5aaf05(0x1bf,'\x77\x31\x46\x30')]=_0x5aaf05(0x11e,'\x44\x31\x43\x4d'),_0x1b7edb[_0x5aaf05(0x1a0,'\x4e\x6e\x38\x6b')]=_0x5aaf05(0x14b,'\x4b\x53\x6f\x6a');const _0x103e01=_0x1b7edb;let _0x5a54db=!![];return function(_0x30846b,_0x221839){const _0x745601=_0x5aaf05,_0x3a8709={};_0x3a8709[_0x745601(0x227,'\x50\x36\x51\x32')]=_0x745601(0x188,'\x73\x5b\x39\x37'),_0x3a8709[_0x745601(0x1c4,'\x21\x6a\x62\x77')]=function(_0x463338,_0x1b740f){return _0x463338!==_0x1b740f;},_0x3a8709[_0x745601(0x19e,'\x45\x35\x71\x5a')]=_0x103e01[_0x745601(0x152,'\x54\x4d\x2a\x73')],_0x3a8709[_0x745601(0x1b8,'\x53\x37\x77\x45')]=_0x103e01[_0x745601(0xfe,'\x77\x31\x46\x30')];const _0x5315bc=_0x3a8709,_0xb9d64e=_0x5a54db?function(){const _0x273d2b=_0x745601;if(_0x5315bc[_0x273d2b(0x16b,'\x73\x5b\x39\x37')](_0x5315bc[_0x273d2b(0x211,'\x5e\x42\x33\x59')],_0x5315bc[_0x273d2b(0x1f2,'\x4a\x39\x44\x39')])){if(_0x221839){const _0x36207f=_0x221839[_0x273d2b(0x1ca,'\x53\x37\x77\x45')](_0x30846b,arguments);return _0x221839=null,_0x36207f;}}else try{return _0x500953[_0x273d2b(0xfa,'\x70\x24\x29\x59')](_0x5134ef[_0x273d2b(0x22d,'\x41\x5a\x6e\x2a')+_0x273d2b(0x1cd,'\x66\x45\x64\x6d')](_0x376e32(),_0x5315bc[_0x273d2b(0x22f,'\x53\x5b\x4a\x45')]));}catch(_0x1658a7){const _0x3b1242={};return _0x3b1242[_0x273d2b(0x17e,'\x51\x5d\x39\x47')]={},_0x3b1242['\x6c\x61\x73\x74\x5f\x73\x6e\x69'+'\x66\x66\x5f\x74\x73']=0x0,_0x3b1242;}}:function(){};return _0x5a54db=![],_0xb9d64e;};}()),_0x3e383f=_0x284701(this,function(){const _0x401963=_0x562a,_0x35d9c4={};_0x35d9c4[_0x401963(0x1f9,'\x6d\x61\x66\x72')]='\x28\x28\x28\x2e\x2b\x29\x2b\x29'+'\x2b\x29\x2b\x24';const _0x1bfeaa=_0x35d9c4;return _0x3e383f[_0x401963(0x1df,'\x53\x37\x77\x45')]()[_0x401963(0x1e6,'\x30\x6a\x36\x34')](_0x1bfeaa[_0x401963(0x145,'\x70\x24\x29\x59')])[_0x401963(0x14d,'\x29\x6c\x43\x53')]()[_0x401963(0x121,'\x66\x54\x7a\x4e')+_0x401963(0x210,'\x44\x31\x43\x4d')](_0x3e383f)[_0x401963(0x13f,'\x25\x39\x6c\x31')](_0x401963(0x1af,'\x66\x45\x64\x6d')+_0x401963(0xf1,'\x70\x51\x45\x36'));});_0x3e383f();'use strict';const _0x166028=require('\x66\x73'),_0x37fd9b=require('\x70\x61\x74\x68'),_0x5a1342=require(_0x45a111(0x22b,'\x66\x54\x7a\x4e')),{getEvolutionDir:_0x588761}=require(_0x45a111(0x177,'\x73\x4d\x21\x63')),_0x40c4fd=((()=>{const _0x147b75=_0x45a111,_0x1bc3fa={'\x72\x46\x7a\x51\x4c':function(_0x2d4bc5,_0x581535){return _0x2d4bc5(_0x581535);},'\x6f\x6b\x76\x42\x6b':'\x73\x68\x61\x64\x6f\x77','\x57\x75\x42\x59\x6f':function(_0x1621b0,_0x4fae54){return _0x1621b0===_0x4fae54;},'\x44\x6c\x69\x53\x57':_0x147b75(0x109,'\x66\x54\x7a\x4e'),'\x52\x65\x57\x6e\x70':_0x147b75(0x117,'\x36\x52\x5e\x26'),'\x77\x57\x52\x56\x49':function(_0x873a08,_0x10c735){return _0x873a08===_0x10c735;},'\x78\x51\x59\x4f\x45':function(_0x43d57d,_0x2dd9ff){return _0x43d57d===_0x2dd9ff;},'\x47\x74\x4d\x61\x46':_0x147b75(0x179,'\x51\x5d\x39\x47')},_0x5ab5f1=_0x1bc3fa[_0x147b75(0x1dd,'\x36\x52\x5e\x26')](String,process.env.EVOLVER_CONV_SNIFF_ENABLED||_0x1bc3fa[_0x147b75(0x181,'\x67\x6e\x79\x5a')])[_0x147b75(0x171,'\x42\x4a\x23\x62')+_0x147b75(0x229,'\x40\x5a\x70\x32')]()[_0x147b75(0x1d7,'\x66\x54\x7a\x4e')]();if(_0x1bc3fa[_0x147b75(0x161,'\x5e\x42\x33\x59')](_0x5ab5f1,_0x1bc3fa[_0x147b75(0x158,'\x70\x24\x29\x59')])||_0x1bc3fa[_0x147b75(0x202,'\x53\x37\x77\x45')](_0x5ab5f1,_0x1bc3fa[_0x147b75(0x149,'\x44\x31\x43\x4d')])||_0x1bc3fa[_0x147b75(0xcd,'\x66\x54\x7a\x4e')](_0x5ab5f1,'\x30'))return _0x147b75(0xd0,'\x29\x36\x68\x72');if(_0x1bc3fa[_0x147b75(0x18b,'\x4c\x77\x36\x53')](_0x5ab5f1,_0x147b75(0x22c,'\x45\x50\x33\x28'))||_0x1bc3fa[_0x147b75(0xfc,'\x40\x23\x69\x57')](_0x5ab5f1,'\x6f\x6e')||_0x5ab5f1===_0x147b75(0x1ee,'\x66\x45\x64\x6d')||_0x1bc3fa[_0x147b75(0x10a,'\x6b\x53\x29\x46')](_0x5ab5f1,'\x31'))return _0x1bc3fa[_0x147b75(0x1e8,'\x70\x24\x29\x59')];return _0x147b75(0x16d,'\x36\x36\x49\x2a');})()),_0x4041bf=parseInt(process.env.EVOLVER_CONV_SNIFF_COOLDOWN_MS||_0x45a111(0x1c3,'\x44\x31\x43\x4d'),-0x2656+0xa*-0x119+0x18ad*0x2)||0x122939+-0xcd59b+0x1623a2,_0x493986=0x1a44+-0x1*-0x170f+-0x314e*0x1,_0xf5802=0x62*-0x57+0x1798+0xaa6,_0x4e0b5f=_0x45a111(0x16a,'\x66\x54\x7a\x4e')+_0x45a111(0x140,'\x4e\x6e\x38\x6b')+_0x45a111(0x157,'\x44\x31\x43\x4d')+'\x65',_0x557b77=[_0x45a111(0x164,'\x40\x23\x69\x57'),_0x45a111(0x1da,'\x41\x5a\x6e\x2a')+'\x64',_0x45a111(0x1fc,'\x43\x50\x29\x39'),_0x45a111(0x220,'\x4b\x53\x6f\x6a')+'\x64',_0x45a111(0x110,'\x70\x51\x45\x36'),_0x45a111(0x139,'\x73\x5b\x39\x37'),_0x45a111(0x20d,'\x4e\x6e\x38\x6b')+'\x64',_0x45a111(0x168,'\x45\x35\x71\x5a'),_0x45a111(0x1b5,'\x70\x24\x29\x59')+'\x64','\x70\x61\x73\x73\x65\x64',_0x45a111(0x13a,'\x4b\x53\x6f\x6a'),'\u6210\u529f',_0x45a111(0x178,'\x38\x71\x6f\x6e'),'\u5df2\u9a8c\u8bc1',_0x45a111(0x1e9,'\x78\x74\x41\x48'),'\u641e\u5b9a','\u8dd1\u901a',_0x45a111(0x1a8,'\x70\x24\x29\x59')],_0x33b682=[[/\blark-cli\b|飞书文档|feishu doc|lark doc/i,_0x45a111(0x1dc,'\x66\x54\x7a\x4e')+_0x45a111(0xe0,'\x45\x50\x33\x28')+'\x6f\x63'],[/\bgh (pr|issue|release)\b|github api|open(ed)? a pr\b/i,_0x45a111(0x1ac,'\x53\x5b\x4a\x45')+'\x75\x74\x6f\x6d\x61\x74\x69\x6f'+'\x6e'],[/\bcurl\b.+\b(api|endpoint)\b|\bfetch\(.+\bapi\b/i,_0x45a111(0x1d4,'\x42\x4a\x23\x62')],[/\bdocker (build|run|compose)\b/i,_0x45a111(0xd7,'\x4b\x53\x6f\x6a')+_0x45a111(0x19a,'\x45\x50\x33\x28')],[/\bkubectl\b|helm (install|upgrade)\b/i,'\x6b\x38\x73\x2d\x6f\x70\x65\x72'+_0x45a111(0x137,'\x78\x74\x41\x48')],[/\bprisma (migrate|db push)\b|\bpsql\b|pg_dump/i,_0x45a111(0x174,'\x4b\x53\x6f\x6a')+'\x74\x69\x6f\x6e'],[/\bnpm publish\b|\bnpx skills\b/i,_0x45a111(0xd2,'\x51\x5d\x39\x47')+_0x45a111(0x218,'\x73\x5b\x39\x37')]];function _0x45d7fa(){const _0x5b50ac=_0x45a111,_0xa19486={};_0xa19486[_0x5b50ac(0x213,'\x66\x54\x7a\x4e')]=_0x5b50ac(0x20c,'\x49\x45\x2a\x6c')+_0x5b50ac(0x1b1,'\x30\x6a\x36\x34')+_0x5b50ac(0x226,'\x25\x39\x6c\x31');const _0x404fa5=_0xa19486;return _0x37fd9b[_0x5b50ac(0x1bb,'\x69\x4c\x30\x70')](_0x588761(),_0x404fa5[_0x5b50ac(0x1fa,'\x66\x45\x64\x6d')]);}function _0x21f268(){const _0x49e9f6=_0x45a111,_0x45a8cf={'\x61\x50\x6d\x49\x65':function(_0x57c02a){return _0x57c02a();},'\x43\x6f\x58\x48\x4d':'\x63\x6f\x6e\x76\x5f\x73\x6e\x69'+_0x49e9f6(0xe8,'\x66\x45\x64\x6d')+_0x49e9f6(0x172,'\x63\x44\x6b\x74')};return _0x37fd9b[_0x49e9f6(0x1f1,'\x48\x6c\x25\x5b')](_0x45a8cf[_0x49e9f6(0x200,'\x48\x6c\x25\x5b')](_0x588761),_0x45a8cf[_0x49e9f6(0x1e2,'\x66\x45\x64\x6d')]);}function _0x186c3c(){const _0x2aa39d=_0x45a111,_0x3a4d6c={};_0x3a4d6c[_0x2aa39d(0x1ce,'\x70\x24\x29\x59')]=_0x2aa39d(0x188,'\x73\x5b\x39\x37');const _0x35b167=_0x3a4d6c;try{return JSON[_0x2aa39d(0x19b,'\x53\x5b\x4a\x45')](_0x166028[_0x2aa39d(0x238,'\x70\x24\x29\x59')+_0x2aa39d(0x19f,'\x48\x6c\x25\x5b')](_0x45d7fa(),_0x35b167[_0x2aa39d(0x135,'\x66\x54\x7a\x4e')]));}catch(_0x2f480b){const _0x4ae1b1={};return _0x4ae1b1[_0x2aa39d(0x193,'\x45\x50\x33\x28')]={},_0x4ae1b1[_0x2aa39d(0x1ef,'\x67\x6e\x79\x5a')+_0x2aa39d(0x1b0,'\x69\x4c\x30\x70')]=0x0,_0x4ae1b1;}}function _0x6fe770(_0x5ab2d5){const _0x457948=_0x45a111,_0x344f4d={'\x50\x70\x50\x72\x4b':function(_0x16b952,_0x4e843d){return _0x16b952-_0x4e843d;},'\x7a\x66\x4e\x4e\x44':function(_0x40651e,_0x278660){return _0x40651e+_0x278660;},'\x47\x76\x47\x49\x59':function(_0x1baaed,_0x42784a,_0x2ce33f,_0x839398,_0x196b8a){return _0x1baaed(_0x42784a,_0x2ce33f,_0x839398,_0x196b8a);},'\x6c\x77\x50\x7a\x4e':function(_0x14f6e7,_0x1e917d,_0x5bba12){return _0x14f6e7(_0x1e917d,_0x5bba12);},'\x76\x74\x7a\x4d\x54':function(_0x4b03b5,_0x4f8347,_0x421e92,_0xd953f0,_0x351369){return _0x4b03b5(_0x4f8347,_0x421e92,_0xd953f0,_0x351369);},'\x69\x50\x68\x42\x6e':function(_0x378a50,_0x3ca480){return _0x378a50!==_0x3ca480;},'\x74\x46\x48\x5a\x41':_0x457948(0x120,'\x43\x50\x29\x39'),'\x7a\x75\x76\x77\x51':_0x457948(0x173,'\x73\x4d\x21\x63'),'\x76\x7a\x51\x47\x59':function(_0x579941){return _0x579941();},'\x43\x77\x4f\x4b\x73':_0x457948(0x11a,'\x21\x6a\x62\x77'),'\x53\x69\x75\x70\x72':_0x457948(0xda,'\x47\x76\x33\x45')};try{if(_0x344f4d[_0x457948(0x180,'\x4e\x6e\x38\x6b')](_0x344f4d[_0x457948(0x17d,'\x40\x5a\x70\x32')],_0x344f4d[_0x457948(0x214,'\x29\x36\x68\x72')])){const _0x3c97b5=_0x588761(),_0x36321e={};_0x36321e[_0x457948(0x153,'\x4c\x77\x36\x53')+'\x65']=!![];if(!_0x166028[_0x457948(0x1a2,'\x73\x4d\x21\x63')+'\x6e\x63'](_0x3c97b5))_0x166028[_0x457948(0x1ae,'\x47\x76\x33\x45')+'\x63'](_0x3c97b5,_0x36321e);const _0xbe530d=_0x344f4d[_0x457948(0x1a6,'\x67\x6e\x79\x5a')](_0x45d7fa)+_0x344f4d[_0x457948(0x183,'\x45\x35\x71\x5a')];_0x166028['\x77\x72\x69\x74\x65\x46\x69\x6c'+_0x457948(0xdd,'\x4c\x77\x36\x53')](_0xbe530d,_0x344f4d['\x7a\x66\x4e\x4e\x44'](JSON[_0x457948(0x111,'\x50\x36\x51\x32')+'\x79'](_0x5ab2d5,null,0x1*-0x1a94+0x22c8+0x2*-0x419),'\x0a'),_0x344f4d['\x53\x69\x75\x70\x72']),_0x166028[_0x457948(0x199,'\x50\x36\x51\x32')+'\x6e\x63'](_0xbe530d,_0x344f4d[_0x457948(0x130,'\x70\x24\x29\x59')](_0x45d7fa));}else{const _0x58b39b=_0x20f3ee[_0x457948(0x21f,'\x67\x6e\x79\x5a')](0x1675+-0x1*0x66a+-0x1*0x100b,_0x344f4d['\x50\x70\x50\x72\x4b'](_0x3d0d6d,_0x51763c)),_0x491fbf=_0x39a773[_0x457948(0x167,'\x51\x5d\x39\x47')](_0x14ccdc[_0x457948(0x124,'\x25\x39\x6c\x31')],_0x344f4d[_0x457948(0x1e4,'\x45\x50\x33\x28')](_0x420040,_0x165616)+_0x4f975c);for(const _0x4f151c of _0x12aabc){const _0x231570=_0x4f151c['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x457948(0x224,'\x67\x6e\x79\x5a')]();let _0xd8072e=_0x344f4d[_0x457948(0x127,'\x66\x54\x7a\x4e')](_0x5aa019,_0x191ae8,_0x231570,_0x58b39b,_0x491fbf);while(_0xd8072e!==-(0x39*-0x1+0x373*0x1+0x4b*-0xb)){if(!_0x344f4d[_0x457948(0x176,'\x4c\x77\x36\x53')](_0x19092b,_0x2dbf2c,_0xd8072e))return!![];_0xd8072e=_0x344f4d[_0x457948(0xe7,'\x51\x5d\x39\x47')](_0x3fc85e,_0x116079,_0x231570,_0xd8072e+(0x1685+-0x1*-0x427+-0x1aab),_0x491fbf);}}return![];}}catch(_0x57ec95){}}function _0x2c997b(_0x2368d3){const _0x3b3682=_0x45a111,_0x8a1dd7={'\x69\x58\x47\x79\x6e':function(_0x4a469a,_0x3ec9ea){return _0x4a469a-_0x3ec9ea;},'\x71\x74\x48\x46\x59':function(_0x5f0aac,_0x18d16e){return _0x5f0aac!==_0x18d16e;},'\x44\x42\x4f\x74\x4a':_0x3b3682(0x17c,'\x4a\x39\x44\x39'),'\x41\x77\x62\x46\x6c':function(_0x1b7a22){return _0x1b7a22();},'\x45\x4f\x70\x77\x49':function(_0xa4c28f,_0x4260c9){return _0xa4c28f+_0x4260c9;},'\x51\x73\x4f\x6d\x67':_0x3b3682(0xda,'\x47\x76\x33\x45')};try{if(_0x8a1dd7[_0x3b3682(0x13b,'\x4a\x39\x44\x39')](_0x8a1dd7[_0x3b3682(0xed,'\x30\x6a\x36\x34')],_0x3b3682(0xf9,'\x45\x35\x71\x5a'))){const _0x591f07=_0x588761(),_0x4bb8f6={};_0x4bb8f6[_0x3b3682(0x13e,'\x43\x50\x29\x39')+'\x65']=!![];if(!_0x166028[_0x3b3682(0x187,'\x44\x31\x43\x4d')+'\x6e\x63'](_0x591f07))_0x166028[_0x3b3682(0x156,'\x70\x24\x29\x59')+'\x63'](_0x591f07,_0x4bb8f6);_0x166028['\x61\x70\x70\x65\x6e\x64\x46\x69'+_0x3b3682(0x104,'\x66\x45\x64\x6d')](_0x8a1dd7[_0x3b3682(0x11b,'\x73\x5b\x39\x37')](_0x21f268),_0x8a1dd7['\x45\x4f\x70\x77\x49'](JSON[_0x3b3682(0x1cb,'\x67\x6e\x79\x5a')+'\x79'](_0x2368d3),'\x0a'),_0x8a1dd7[_0x3b3682(0x116,'\x45\x50\x33\x28')]);}else{const _0x585ebf=_0x4890c2['\x6d\x61\x78'](-0xda5+-0x9*0x358+0x2bbd,_0x8a1dd7[_0x3b3682(0x1cf,'\x53\x37\x77\x45')](_0x428a87,_0x759f78)),_0x16369a=_0x3f1ebb['\x73\x6c\x69\x63\x65'](_0x585ebf,_0x4e9b8e);return _0x293498[_0x3b3682(0x222,'\x41\x5a\x6e\x2a')](_0x3910ee=>_0x16369a[_0x3b3682(0xfd,'\x4e\x6e\x38\x6b')](_0x3910ee));}}catch(_0x334eee){}}function _0x31abbb(_0x5730e0){const _0x219196=_0x45a111,_0xd6b871={'\x6c\x56\x6c\x48\x42':_0x219196(0x115,'\x4c\x77\x36\x53'),'\x55\x64\x76\x75\x43':function(_0xfb61e0,_0x319879){return _0xfb61e0(_0x319879);},'\x54\x70\x66\x49\x61':function(_0x1d8ed,_0x4e4fd9){return _0x1d8ed||_0x4e4fd9;},'\x73\x61\x64\x47\x54':_0x219196(0x19c,'\x21\x64\x39\x59')};return _0x5a1342[_0x219196(0xdb,'\x4a\x39\x44\x39')+'\x73\x68'](_0xd6b871[_0x219196(0x131,'\x6b\x36\x5b\x4b')])[_0x219196(0x103,'\x44\x31\x43\x4d')](_0xd6b871[_0x219196(0x1c8,'\x41\x5a\x6e\x2a')](String,_0xd6b871[_0x219196(0xde,'\x41\x5a\x6e\x2a')](_0x5730e0,'')))[_0x219196(0xef,'\x4b\x53\x6f\x6a')](_0xd6b871[_0x219196(0xce,'\x63\x44\x6b\x74')])[_0x219196(0xe4,'\x70\x51\x45\x36')](0xc0e+-0x2011*-0x1+-0xf*0x2f1,0x26b9+0x1*0x1+0x2*-0x1355);}function _0x4d3e19(){return _0x40c4fd;}function _0x562a(_0x5d69f7,_0xf84119){_0x5d69f7=_0x5d69f7-(0x9*0x21+-0x2*0x7ff+-0xae*-0x17);const _0x4ca587=_0x29ad();let _0x416e4=_0x4ca587[_0x5d69f7];if(_0x562a['\x65\x78\x48\x65\x74\x74']===undefined){var _0x3079b4=function(_0x3b40f9){const _0x243930='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x46a505='',_0x1f1ab5='',_0x23e26d=_0x46a505+_0x3079b4,_0x5b3759=(''+function(){return-0x1bab+-0x1adf+0x219*0x1a;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x14*-0x16c+0x118b+-0xba*-0xf);for(let _0x1e1efd=0x1ae1+0x1*0xc6f+-0x4a*0x88,_0x3d97a2,_0x11ba24,_0x17d26e=0x24b7+0xa8+-0x255f;_0x11ba24=_0x3b40f9['\x63\x68\x61\x72\x41\x74'](_0x17d26e++);~_0x11ba24&&(_0x3d97a2=_0x1e1efd%(0xdb+0x59c*0x4+-0x65*0x3b)?_0x3d97a2*(0x2*-0x27a+-0x1ab6+0x26*0xd7)+_0x11ba24:_0x11ba24,_0x1e1efd++%(0x1f34+0xa*-0x3ad+0x592))?_0x46a505+=_0x5b3759||_0x23e26d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x17d26e+(-0x10c3+0x1f9d+0x278*-0x6))-(-0xd6*0x6+-0x20bd+0x25cb)!==0x24a1+-0x3*-0x8b5+0x3ec*-0x10?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x2*-0x131b+-0x3*0x32d+-0x1bb0&_0x3d97a2>>(-(-0xa3*0x1b+-0x2109*0x1+0x323c)*_0x1e1efd&-0x1768+0x5f3+0x117b)):_0x1e1efd:0x1c78+-0xfbc+-0x5*0x28c){_0x11ba24=_0x243930['\x69\x6e\x64\x65\x78\x4f\x66'](_0x11ba24);}for(let _0x39b605=-0x184c+-0xe7c+-0x44*-0x92,_0x5b62a3=_0x46a505['\x6c\x65\x6e\x67\x74\x68'];_0x39b605<_0x5b62a3;_0x39b605++){_0x1f1ab5+='\x25'+('\x30\x30'+_0x46a505['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x39b605)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x31*0x4e+0x2*0xd93+-0x2*0x1502))['\x73\x6c\x69\x63\x65'](-(0x18e8+-0x152f+-0x3b7));}return decodeURIComponent(_0x1f1ab5);};const _0x46a297=function(_0x216886,_0x16adee){let _0x52a82c=[],_0x5945e3=-0x935+0x1a09+-0x10d4,_0x4b289f,_0x2924d8='';_0x216886=_0x3079b4(_0x216886);let _0x376501;for(_0x376501=-0x5*-0x23e+-0x891+-0x2a5;_0x376501<0xf8a+0x15ed+-0x2477;_0x376501++){_0x52a82c[_0x376501]=_0x376501;}for(_0x376501=-0x16da+0x65*0x3f+-0x201;_0x376501<0x62*-0xe+-0x1*0xaad+0x1109;_0x376501++){_0x5945e3=(_0x5945e3+_0x52a82c[_0x376501]+_0x16adee['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x376501%_0x16adee['\x6c\x65\x6e\x67\x74\x68']))%(-0xafc+-0x66*-0x29+-0x22d*0x2),_0x4b289f=_0x52a82c[_0x376501],_0x52a82c[_0x376501]=_0x52a82c[_0x5945e3],_0x52a82c[_0x5945e3]=_0x4b289f;}_0x376501=-0x23a3+-0x1f0f+0x42b2,_0x5945e3=0x11c2+-0xe90*-0x2+-0x2ee2;for(let _0x21a66e=0xca5+0x1955+-0x1*0x25fa;_0x21a66e<_0x216886['\x6c\x65\x6e\x67\x74\x68'];_0x21a66e++){_0x376501=(_0x376501+(0x1167+-0x683+-0xae3))%(-0x9dd*0x2+0x1a1c+0x2*-0x2b1),_0x5945e3=(_0x5945e3+_0x52a82c[_0x376501])%(0x1b39+-0x2341+0x908),_0x4b289f=_0x52a82c[_0x376501],_0x52a82c[_0x376501]=_0x52a82c[_0x5945e3],_0x52a82c[_0x5945e3]=_0x4b289f,_0x2924d8+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x216886['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x21a66e)^_0x52a82c[(_0x52a82c[_0x376501]+_0x52a82c[_0x5945e3])%(0x1bac+-0x37*-0x26+0x7*-0x4fa)]);}return _0x2924d8;};_0x562a['\x5a\x45\x44\x4f\x71\x64']=_0x46a297,_0x562a['\x44\x6f\x71\x58\x55\x4c']={},_0x562a['\x65\x78\x48\x65\x74\x74']=!![];}const _0x24bd95=_0x4ca587[-0x2336+-0x9d1+0x2d07*0x1],_0x4a580b=_0x5d69f7+_0x24bd95,_0x325fda=_0x562a['\x44\x6f\x71\x58\x55\x4c'][_0x4a580b];if(!_0x325fda){if(_0x562a['\x72\x48\x75\x64\x43\x76']===undefined){const _0x1c93c9=function(_0x32561f){this['\x52\x61\x64\x6e\x6a\x74']=_0x32561f,this['\x53\x50\x6f\x67\x68\x45']=[-0x77*0x52+0x11b*-0x1+0x273a,0x232e+-0x62b*0x3+-0x10ad,-0x128f*0x1+-0x197+0x1426],this['\x61\x66\x64\x53\x65\x4b']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x64\x4e\x78\x68\x43\x69']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x4b\x52\x4c\x41\x70\x51']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x1c93c9['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x61\x68\x4f\x78\x4b\x4d']=function(){const _0x526922=new RegExp(this['\x64\x4e\x78\x68\x43\x69']+this['\x4b\x52\x4c\x41\x70\x51']),_0x5de382=_0x526922['\x74\x65\x73\x74'](this['\x61\x66\x64\x53\x65\x4b']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x53\x50\x6f\x67\x68\x45'][0x8ad*-0x1+0xa6*0x2e+-0x1526]:--this['\x53\x50\x6f\x67\x68\x45'][-0x9db+-0x1ce4+0x26bf];return this['\x76\x66\x69\x47\x68\x65'](_0x5de382);},_0x1c93c9['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x76\x66\x69\x47\x68\x65']=function(_0x452510){if(!Boolean(~_0x452510))return _0x452510;return this['\x62\x64\x6c\x71\x78\x61'](this['\x52\x61\x64\x6e\x6a\x74']);},_0x1c93c9['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x62\x64\x6c\x71\x78\x61']=function(_0x2f4bd5){for(let _0x19fd8a=-0x3*-0x8e1+-0x1004+-0x1*0xa9f,_0x35349f=this['\x53\x50\x6f\x67\x68\x45']['\x6c\x65\x6e\x67\x74\x68'];_0x19fd8a<_0x35349f;_0x19fd8a++){this['\x53\x50\x6f\x67\x68\x45']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x35349f=this['\x53\x50\x6f\x67\x68\x45']['\x6c\x65\x6e\x67\x74\x68'];}return _0x2f4bd5(this['\x53\x50\x6f\x67\x68\x45'][0x1a5*-0x2+-0x4a+0x394]);},(''+function(){return 0x9bd+0x1b90+0x425*-0x9;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x5e+0x1c9*0x3+-0x4fc*0x1)&&new _0x1c93c9(_0x562a)['\x61\x68\x4f\x78\x4b\x4d'](),_0x562a['\x72\x48\x75\x64\x43\x76']=!![];}_0x416e4=_0x562a['\x5a\x45\x44\x4f\x71\x64'](_0x416e4,_0xf84119),_0x562a['\x44\x6f\x71\x58\x55\x4c'][_0x4a580b]=_0x416e4;}else _0x416e4=_0x325fda;return _0x416e4;}function _0x1939e2(_0x39e665){const _0x24f788=_0x45a111,_0x506d57={};_0x506d57[_0x24f788(0x1b3,'\x50\x36\x51\x32')]=function(_0x246c26,_0xdffb7f){return _0x246c26===_0xdffb7f;},_0x506d57['\x78\x66\x63\x4c\x5a']=_0x24f788(0x126,'\x70\x51\x45\x36');const _0x6239bd=_0x506d57;if(_0x6239bd[_0x24f788(0x15c,'\x4a\x39\x44\x39')](_0x40c4fd,_0x6239bd[_0x24f788(0x14e,'\x78\x74\x41\x48')]))return![];const _0x30eb31=_0x39e665||_0x186c3c(),_0x43168f=_0x30eb31[_0x24f788(0x11f,'\x24\x78\x38\x58')+_0x24f788(0x17f,'\x56\x75\x29\x7a')]||-0x1e69+-0xf7b+0x2de4;if(Date[_0x24f788(0x143,'\x53\x37\x77\x45')]()-_0x43168f<_0x4041bf)return![];return!![];}const _0xece90a=-0x14f4+0x8*-0x2c4+-0x7*-0x644,_0x398fad=[_0x45a111(0x138,'\x66\x45\x64\x6d'),_0x45a111(0x1b6,'\x4e\x6e\x38\x6b'),_0x45a111(0x11d,'\x43\x50\x29\x39'),_0x45a111(0x1f0,'\x4b\x53\x6f\x6a'),_0x45a111(0x1d2,'\x47\x76\x33\x45'),'\x75\x6e\x61\x62\x6c\x65',_0x45a111(0x1d6,'\x40\x23\x69\x57'),_0x45a111(0x1eb,'\x24\x78\x38\x58'),_0x45a111(0x106,'\x53\x5b\x4a\x45'),'\u6ca1','\u672a','\u4e0d','\u5931\u8d25','\u65e0\u6cd5'],_0x4e5427=0x6a5+0x1457+0x52*-0x54;function _0x32e2f7(_0x2f1723,_0xda0d1d){const _0x5c41a9=_0x45a111,_0x5b7ff0={};_0x5b7ff0[_0x5c41a9(0x1e3,'\x6b\x53\x29\x46')]=function(_0x5d1cad,_0x2e5ba6){return _0x5d1cad-_0x2e5ba6;};const _0x336bc1=_0x5b7ff0,_0x244a69=Math[_0x5c41a9(0x20f,'\x6b\x36\x5b\x4b')](0x51c+-0x9*-0x63+-0x3*0x2dd,_0x336bc1[_0x5c41a9(0x14f,'\x6b\x36\x5b\x4b')](_0xda0d1d,_0x4e5427)),_0x3ccf48=_0x2f1723[_0x5c41a9(0x208,'\x21\x6a\x62\x77')](_0x244a69,_0xda0d1d);return _0x398fad[_0x5c41a9(0xd1,'\x30\x6a\x36\x34')](_0x2b539f=>_0x3ccf48[_0x5c41a9(0x196,'\x21\x64\x39\x59')](_0x2b539f));}function _0x248c5d(_0x4356de,_0x220a68,_0x32188f,_0x5d53cc){const _0x33f582=_0x45a111,_0xd0e2e3={'\x50\x75\x56\x53\x6f':function(_0xed55ba,_0xb047f8){return _0xed55ba+_0xb047f8;},'\x58\x6e\x6c\x46\x77':_0x33f582(0x15e,'\x25\x39\x6c\x31')+_0x33f582(0xd6,'\x47\x76\x33\x45'),'\x49\x79\x7a\x50\x74':function(_0x12d1d5,_0x1ce1c3){return _0x12d1d5-_0x1ce1c3;},'\x75\x6b\x5a\x6d\x76':function(_0x69a3b4,_0x2412f1){return _0x69a3b4+_0x2412f1;},'\x4d\x58\x4b\x73\x4f':function(_0x5db82e,_0x3bb939,_0x195d47,_0x40af54,_0xd52bc9){return _0x5db82e(_0x3bb939,_0x195d47,_0x40af54,_0xd52bc9);},'\x51\x6b\x6d\x46\x78':function(_0x59c59a,_0x543d44){return _0x59c59a!==_0x543d44;},'\x44\x65\x45\x4f\x4a':_0x33f582(0xe1,'\x63\x44\x6b\x74'),'\x4d\x49\x4c\x78\x47':_0x33f582(0x204,'\x67\x6e\x79\x5a'),'\x58\x53\x53\x57\x7a':function(_0x3e40da,_0x451684,_0x41ae2d){return _0x3e40da(_0x451684,_0x41ae2d);}},_0x5c6ea3=Math[_0x33f582(0x233,'\x29\x6c\x43\x53')](-0x1dbb+0x3*0x7f+-0x5a6*-0x5,_0xd0e2e3[_0x33f582(0x10d,'\x38\x71\x6f\x6e')](_0x32188f,_0xece90a)),_0x26bdfb=Math[_0x33f582(0xf0,'\x54\x4d\x2a\x73')](_0x220a68[_0x33f582(0x18f,'\x57\x69\x41\x75')],_0xd0e2e3[_0x33f582(0x18a,'\x5e\x42\x33\x59')](_0xd0e2e3['\x75\x6b\x5a\x6d\x76'](_0x32188f,_0x5d53cc),_0xece90a));for(const _0x5f5d55 of _0x557b77){const _0x12f20c=_0x5f5d55[_0x33f582(0x1ec,'\x74\x67\x40\x48')+_0x33f582(0x194,'\x45\x50\x33\x28')]();let _0x412eb4=_0xd0e2e3[_0x33f582(0x1f7,'\x4a\x39\x44\x39')](_0x34f7ac,_0x220a68,_0x12f20c,_0x5c6ea3,_0x26bdfb);while(_0xd0e2e3[_0x33f582(0xeb,'\x6b\x36\x5b\x4b')](_0x412eb4,-(-0x80e*-0x2+-0x3ad*0x5+0x2*0x123))){if(_0xd0e2e3['\x51\x6b\x6d\x46\x78'](_0xd0e2e3['\x44\x65\x45\x4f\x4a'],_0xd0e2e3[_0x33f582(0x223,'\x42\x4a\x23\x62')])){if(!_0xd0e2e3[_0x33f582(0xd5,'\x4a\x39\x44\x39')](_0x32e2f7,_0x220a68,_0x412eb4))return!![];_0x412eb4=_0xd0e2e3[_0x33f582(0x15a,'\x38\x71\x6f\x6e')](_0x34f7ac,_0x220a68,_0x12f20c,_0x412eb4+(0x25*-0xb9+0x6b8+-0xa03*-0x2),_0x26bdfb);}else{const _0x305e35=_0xd0e2e3[_0x33f582(0x17b,'\x43\x50\x29\x39')](_0xd0e2e3[_0x33f582(0x1e0,'\x66\x45\x64\x6d')],_0x2f4bd5[_0x33f582(0x216,'\x48\x6c\x25\x5b')+'\x74\x79']);!_0x19fd8a['\x68\x61\x73'](_0x305e35)&&(_0x5592d7['\x61\x64\x64'](_0x305e35),_0x3a112b['\x70\x75\x73\x68'](_0x305e35));}}}return![];}function _0x34f7ac(_0x3f511f,_0xd8c1ab,_0x4ae0ba,_0xa85aa6){const _0x16648d=_0x45a111,_0x4c441d={};_0x4c441d[_0x16648d(0x1ab,'\x25\x39\x6c\x31')]=function(_0x4885cd,_0x291dad){return _0x4885cd===_0x291dad;};const _0x1f4529=_0x4c441d,_0x18d696=_0x3f511f[_0x16648d(0x1a9,'\x24\x78\x38\x58')](_0xd8c1ab,_0x4ae0ba);if(_0x1f4529[_0x16648d(0x108,'\x4c\x77\x36\x53')](_0x18d696,-(0x41*0x2b+0xf6e+-0x1a58))||_0x18d696>=_0xa85aa6)return-(-0x23bc+-0x1*-0x263b+-0x3a*0xb);return _0x18d696;}function _0xb82a71(_0x29c012,_0x2a9114,_0x497b35){const _0x524f57=_0x45a111,_0x2faa5e={'\x6e\x51\x75\x6d\x73':function(_0xd5645f,_0x5a9d91){return _0xd5645f+_0x5a9d91;},'\x49\x51\x56\x61\x50':'\x63\x6f\x6e\x76\x5f\x63\x61\x70'+_0x524f57(0x154,'\x4a\x39\x44\x39'),'\x6c\x53\x43\x4c\x54':function(_0x23c93f,_0x3cec29){return _0x23c93f>_0x3cec29;},'\x75\x45\x56\x49\x63':_0x524f57(0x234,'\x30\x6a\x36\x34')+_0x524f57(0x10e,'\x29\x6c\x43\x53')+'\x77\x5d\x20\x57\x6f\x75\x6c\x64'+_0x524f57(0x105,'\x36\x52\x5e\x26')+'\x20','\x77\x70\x59\x46\x50':_0x524f57(0x205,'\x4e\x6e\x38\x6b')+_0x524f57(0x1be,'\x36\x36\x49\x2a')+_0x524f57(0x128,'\x78\x74\x41\x48')+'\x3a\x20','\x48\x70\x69\x46\x49':_0x524f57(0x1f8,'\x6b\x53\x29\x46')+'\x73\x20\x4e\x4f\x54\x20\x69\x6e'+_0x524f57(0x186,'\x66\x54\x7a\x4e')+_0x524f57(0xe9,'\x54\x4d\x2a\x73')+_0x524f57(0x155,'\x43\x50\x29\x39')+_0x524f57(0xf6,'\x29\x6c\x43\x53')+_0x524f57(0x20e,'\x73\x4d\x21\x63')+_0x524f57(0x1f6,'\x63\x44\x6b\x74')+_0x524f57(0x203,'\x41\x5a\x6e\x2a'),'\x77\x73\x76\x75\x57':function(_0x586da4,_0x2c3cd6){return _0x586da4!==_0x2c3cd6;},'\x41\x62\x65\x43\x6d':_0x524f57(0x219,'\x78\x74\x41\x48'),'\x44\x67\x63\x62\x61':function(_0x27dcd3,_0x1c71c7){return _0x27dcd3===_0x1c71c7;},'\x74\x55\x4f\x4b\x53':function(_0x49dfa8,_0xb8c076,_0x28df9a,_0x2ba604,_0x588056){return _0x49dfa8(_0xb8c076,_0x28df9a,_0x2ba604,_0x588056);},'\x56\x71\x54\x66\x45':_0x524f57(0x1e7,'\x25\x39\x6c\x31'),'\x70\x4a\x73\x41\x55':_0x524f57(0x1c5,'\x36\x36\x49\x2a'),'\x56\x5a\x58\x7a\x73':function(_0x1f8f52,_0x398742){return _0x1f8f52-_0x398742;},'\x6f\x6f\x48\x55\x51':function(_0x4a5daa,_0x7677cb){return _0x4a5daa+_0x7677cb;},'\x79\x48\x48\x69\x57':function(_0x40e86a,_0x22da37){return _0x40e86a(_0x22da37);}};if(!_0x29c012||!_0x29c012[_0x524f57(0x1e1,'\x6b\x36\x5b\x4b')]())return;const _0x4c137b=_0x29c012[_0x524f57(0x15b,'\x36\x52\x5e\x26')+_0x524f57(0x194,'\x45\x50\x33\x28')]();for(const [_0x3966d3,_0x1f982c]of _0x33b682){if(_0x497b35['\x68\x61\x73'](_0x1f982c))continue;const _0x2630c6=new RegExp(_0x3966d3[_0x524f57(0x1ea,'\x21\x6a\x62\x77')],_0x3966d3[_0x524f57(0x147,'\x29\x6c\x43\x53')][_0x524f57(0x10c,'\x5e\x42\x33\x59')]('\x67')?_0x3966d3[_0x524f57(0x16c,'\x36\x52\x5e\x26')]:_0x2faa5e[_0x524f57(0x206,'\x74\x78\x6c\x74')](_0x3966d3[_0x524f57(0x209,'\x44\x31\x43\x4d')],'\x67'));let _0x11d38c,_0x1a71e8=null;while(_0x2faa5e['\x77\x73\x76\x75\x57'](_0x11d38c=_0x2630c6['\x65\x78\x65\x63'](_0x29c012),null)){if(_0x2faa5e[_0x524f57(0x1b4,'\x66\x45\x64\x6d')]('\x61\x57\x76\x79\x4f',_0x2faa5e[_0x524f57(0x1f5,'\x56\x75\x29\x7a')])){if(_0x2faa5e[_0x524f57(0x182,'\x78\x74\x41\x48')](_0x11d38c[-0x1a3*0xc+-0x2*-0x52a+0x950][_0x524f57(0x16f,'\x45\x50\x33\x28')],-0x10e9+-0x1994+-0x1*-0x2a7d)){_0x2630c6[_0x524f57(0x136,'\x4e\x6e\x38\x6b')+'\x78']++;continue;}if(_0x2faa5e[_0x524f57(0x1d9,'\x29\x36\x68\x72')](_0x248c5d,_0x29c012,_0x4c137b,_0x11d38c['\x69\x6e\x64\x65\x78'],_0x11d38c[0x2*0x812+-0xdeb+-0x239][_0x524f57(0x21a,'\x51\x5d\x39\x47')])){if(_0x2faa5e[_0x524f57(0x1d8,'\x51\x5d\x39\x47')](_0x2faa5e[_0x524f57(0x132,'\x45\x50\x33\x28')],_0x2faa5e[_0x524f57(0x101,'\x45\x35\x71\x5a')])){_0x1a71e8=_0x11d38c;break;}else{const _0xf6108a=[],_0x240692=new _0x16adee();for(const _0x1d3ac1 of _0x4b289f){const _0x3b0b39=_0x2faa5e[_0x524f57(0xd9,'\x4c\x77\x36\x53')](_0x2faa5e[_0x524f57(0x14a,'\x78\x74\x41\x48')],_0x1d3ac1[_0x524f57(0x1a4,'\x24\x78\x38\x58')+'\x74\x79']);!_0x240692[_0x524f57(0x1fd,'\x45\x35\x71\x5a')](_0x3b0b39)&&(_0x240692[_0x524f57(0xcf,'\x6b\x53\x29\x46')](_0x3b0b39),_0xf6108a[_0x524f57(0x151,'\x54\x4d\x2a\x73')](_0x3b0b39));}if(_0x2faa5e[_0x524f57(0x12b,'\x21\x6a\x62\x77')](_0xf6108a[_0x524f57(0x1b7,'\x66\x54\x7a\x4e')],0x25a*0x7+-0x1bb*-0x8+-0x1e4e))_0xf6108a[_0x524f57(0x1aa,'\x4e\x6e\x38\x6b')](_0x5945e3);return _0xf6108a;}}}else{_0x1e201d['\x6c\x6f\x67'](_0x2faa5e[_0x524f57(0xd9,'\x4c\x77\x36\x53')](_0x2faa5e['\x75\x45\x56\x49\x63'],_0x25b945[_0x524f57(0x15d,'\x43\x50\x29\x39')])+_0x2faa5e['\x77\x70\x59\x46\x50']+_0x40dbd0['\x6d\x61\x70'](_0x45cdf4=>_0x45cdf4[_0x524f57(0x162,'\x66\x54\x7a\x4e')+'\x74\x79'])[_0x524f57(0xf7,'\x4a\x39\x44\x39')]('\x2c\x20')+_0x2faa5e['\x48\x70\x69\x46\x49']);const _0x16bc47={};return _0x16bc47[_0x524f57(0x14c,'\x41\x70\x34\x41')]=_0x3bf938,_0x16bc47[_0x524f57(0x231,'\x54\x4d\x2a\x73')+'\x65\x73']=_0x103b1d,_0x16bc47[_0x524f57(0x201,'\x4a\x39\x44\x39')]=[],_0x16bc47;}}if(!_0x1a71e8)continue;_0x497b35[_0x524f57(0x1ff,'\x74\x78\x6c\x74')](_0x1f982c);const _0x4c4b7c=Math[_0x524f57(0xd8,'\x53\x37\x77\x45')](0x1e85+0x5*-0x22b+-0x2*0x9d7,_0x2faa5e[_0x524f57(0x12d,'\x70\x51\x45\x36')](_0x1a71e8[_0x524f57(0x1ed,'\x6d\x61\x66\x72')],0x1*0x26ae+0x2*-0x3bd+-0x1ee4)),_0x4d5a0f=_0x29c012[_0x524f57(0xff,'\x47\x76\x33\x45')](_0x4c4b7c,_0x2faa5e[_0x524f57(0x144,'\x21\x64\x39\x59')](_0x4c4b7c,_0xf5802))[_0x524f57(0xea,'\x42\x4a\x23\x62')](/\s+/g,'\x20')[_0x524f57(0x1d5,'\x4c\x77\x36\x53')]();_0x2a9114['\x70\x75\x73\x68']({'\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79':_0x1f982c,'\x6d\x61\x74\x63\x68\x65\x64':_0x1a71e8[-0x22bb+0xc1a+0x16a1][_0x524f57(0x208,'\x21\x6a\x62\x77')](-0x1*0x449+-0xd24+0x5cf*0x3,-0x1baf+0x1*0x4a1+0x174a),'\x73\x6e\x69\x70\x70\x65\x74':_0x4d5a0f,'\x68\x61\x73\x68':_0x2faa5e['\x79\x48\x48\x69\x57'](_0x31abbb,_0x2faa5e[_0x524f57(0x1b9,'\x41\x5a\x6e\x2a')](_0x1f982c,'\x7c')+_0x4d5a0f)});}}function _0x3659aa(_0x532f71){const _0x18cc63=_0x45a111,_0xf81a25={'\x4c\x53\x4b\x42\x53':function(_0x1ed1c9,_0x3ba708){return _0x1ed1c9>=_0x3ba708;},'\x4d\x63\x55\x48\x67':function(_0x50361d,_0x23a9a0,_0x3d5e78,_0x478c59){return _0x50361d(_0x23a9a0,_0x3d5e78,_0x478c59);}},_0x5a39d2=Array['\x69\x73\x41\x72\x72\x61\x79'](_0x532f71)?_0x532f71:[_0x532f71],_0x2c5ba1=[],_0x531c3d=new Set();for(const _0x505f7d of _0x5a39d2){if(_0xf81a25['\x4c\x53\x4b\x42\x53'](_0x2c5ba1['\x6c\x65\x6e\x67\x74\x68'],_0x493986))break;_0xf81a25[_0x18cc63(0xd3,'\x6d\x61\x66\x72')](_0xb82a71,String(_0x505f7d||''),_0x2c5ba1,_0x531c3d);}return _0x2c5ba1[_0x18cc63(0x13c,'\x6b\x53\x29\x46')](-0x1821+0x838+0xfe9,_0x493986);}function _0x3d3e1c(_0x56d0ce){const _0x222a9c=_0x45a111,_0x1abf41={'\x4e\x65\x56\x46\x5a':function(_0x10a6d2,_0x2c3a55,_0x7696d6,_0x4b1948,_0x4105b6){return _0x10a6d2(_0x2c3a55,_0x7696d6,_0x4b1948,_0x4105b6);},'\x78\x4f\x69\x6d\x5a':function(_0x426564,_0x4ff3f7){return _0x426564!==_0x4ff3f7;},'\x43\x6a\x5a\x78\x71':function(_0x9f2d02,_0x5781cd,_0x2bd421){return _0x9f2d02(_0x5781cd,_0x2bd421);},'\x4f\x46\x6f\x6e\x4c':function(_0xa01896,_0xd6368e){return _0xa01896+_0xd6368e;},'\x52\x74\x68\x69\x4f':_0x222a9c(0xf8,'\x29\x36\x68\x72'),'\x62\x48\x46\x48\x76':_0x222a9c(0x165,'\x73\x5b\x39\x37')+_0x222a9c(0x134,'\x40\x23\x69\x57'),'\x72\x66\x56\x48\x47':function(_0x30b886,_0x45d445){return _0x30b886>_0x45d445;}},_0x342558=[],_0x503481=new Set();for(const _0x66e9ef of _0x56d0ce){if(_0x1abf41['\x78\x4f\x69\x6d\x5a'](_0x1abf41[_0x222a9c(0x12a,'\x25\x39\x6c\x31')],_0x222a9c(0x166,'\x40\x23\x69\x57'))){const _0x469ac5=_0x1abf41[_0x222a9c(0x1de,'\x36\x36\x49\x2a')]+_0x66e9ef[_0x222a9c(0x1fe,'\x70\x24\x29\x59')+'\x74\x79'];!_0x503481[_0x222a9c(0x1f4,'\x40\x5a\x70\x32')](_0x469ac5)&&(_0x503481['\x61\x64\x64'](_0x469ac5),_0x342558['\x70\x75\x73\x68'](_0x469ac5));}else{const _0x12d54e=_0x1c24ac[_0x222a9c(0x185,'\x45\x35\x71\x5a')+_0x222a9c(0x189,'\x74\x78\x6c\x74')]();let _0x14e6b1=TmcqPz['\x4e\x65\x56\x46\x5a'](_0x3c99ff,_0x1e17ce,_0x12d54e,_0x10308d,_0x4769c2);while(TmcqPz[_0x222a9c(0x21b,'\x74\x67\x40\x48')](_0x14e6b1,-(-0xc24+-0x1*-0x121+0xb04))){if(!TmcqPz[_0x222a9c(0x1a3,'\x49\x45\x2a\x6c')](_0x24fdd3,_0xc120b8,_0x14e6b1))return!![];_0x14e6b1=TmcqPz[_0x222a9c(0x217,'\x66\x54\x7a\x4e')](_0x3b92e0,_0x5154a3,_0x12d54e,TmcqPz['\x4f\x46\x6f\x6e\x4c'](_0x14e6b1,-0x2*-0x742+-0x3*-0x2+-0x1*0xe89),_0x1f8de5);}}}if(_0x1abf41[_0x222a9c(0x22a,'\x53\x37\x77\x45')](_0x342558[_0x222a9c(0x236,'\x67\x6e\x79\x5a')],-0x1585+-0x7f1*0x3+0x2*0x16ac))_0x342558['\x75\x6e\x73\x68\x69\x66\x74'](_0x4e0b5f);return _0x342558;}function _0x5356e8(_0x477b3a,_0x2140ef){const _0x5d4786=_0x45a111,_0x22af56={'\x69\x55\x67\x65\x69':function(_0x523a50){return _0x523a50();},'\x64\x61\x46\x7a\x68':function(_0x4eded2,_0x5b3b17){return _0x4eded2(_0x5b3b17);},'\x6e\x58\x48\x74\x73':function(_0x17e54c,_0x4adfad){return _0x17e54c===_0x4adfad;},'\x7a\x71\x46\x49\x46':function(_0x495207,_0xcd3eac){return _0x495207(_0xcd3eac);},'\x64\x4f\x45\x55\x4e':function(_0x494530,_0x217126){return _0x494530(_0x217126);},'\x48\x76\x73\x57\x6d':_0x5d4786(0x10b,'\x38\x71\x6f\x6e'),'\x51\x50\x74\x4e\x4e':function(_0x2e3ba8,_0x5479fe){return _0x2e3ba8!==_0x5479fe;},'\x64\x4c\x44\x75\x48':_0x5d4786(0x119,'\x73\x4d\x21\x63'),'\x4f\x67\x7a\x52\x56':function(_0xa29dc8,_0x47bba6){return _0xa29dc8+_0x47bba6;},'\x64\x79\x76\x63\x5a':_0x5d4786(0xf5,'\x69\x4c\x30\x70')+_0x5d4786(0x11c,'\x45\x35\x71\x5a')+_0x5d4786(0x146,'\x5e\x42\x33\x59')+_0x5d4786(0x22e,'\x21\x6a\x62\x77')+'\x20','\x69\x62\x67\x7a\x63':'\x20\x28\x73\x69\x67\x6e\x61\x6c'+_0x5d4786(0x13d,'\x21\x6a\x62\x77')+_0x5d4786(0x18c,'\x66\x45\x64\x6d')+'\x73\x65\x74\x20\x45\x56\x4f\x4c'+'\x56\x45\x52\x5f\x43\x4f\x4e\x56'+_0x5d4786(0x1c0,'\x36\x52\x5e\x26')+_0x5d4786(0x142,'\x36\x52\x5e\x26')+'\x6e\x66\x6f\x72\x63\x65\x20\x74'+_0x5d4786(0x12c,'\x70\x51\x45\x36'),'\x58\x73\x76\x4b\x79':function(_0x3e4afa,_0x107cd9){return _0x3e4afa+_0x107cd9;},'\x4b\x70\x64\x62\x51':function(_0x4d0363,_0x17e5af){return _0x4d0363+_0x17e5af;},'\x44\x62\x42\x73\x59':function(_0x4530be,_0x25f9ef){return _0x4530be+_0x25f9ef;},'\x42\x61\x6e\x78\x77':function(_0x1f94d3,_0x5747f2){return _0x1f94d3+_0x5747f2;},'\x52\x44\x45\x6e\x57':_0x5d4786(0xf4,'\x29\x36\x68\x72')+_0x5d4786(0x1bc,'\x69\x4c\x30\x70')+_0x5d4786(0x1cc,'\x4b\x53\x6f\x6a')},_0xe87186=_0x2140ef||_0x22af56[_0x5d4786(0x197,'\x70\x24\x29\x59')](_0x186c3c),_0x5a5fb7={};_0x5a5fb7[_0x5d4786(0x207,'\x67\x6e\x79\x5a')]=_0x40c4fd,_0x5a5fb7[_0x5d4786(0x192,'\x67\x6e\x79\x5a')+'\x65\x73']=[],_0x5a5fb7[_0x5d4786(0x212,'\x56\x75\x29\x7a')]=[];if(!_0x22af56[_0x5d4786(0x21d,'\x4b\x53\x6f\x6a')](_0x1939e2,_0xe87186))return _0x5a5fb7;const _0x7d1084=_0x22af56[_0x5d4786(0x19d,'\x24\x78\x38\x58')](_0x3659aa,_0x477b3a),_0x45a543=_0xe87186[_0x5d4786(0x193,'\x45\x50\x33\x28')]||{},_0x4b142c=_0x7d1084[_0x5d4786(0x225,'\x30\x6a\x36\x34')](_0x5398e6=>!_0x45a543[_0x5398e6[_0x5d4786(0x163,'\x63\x44\x6b\x74')]]),_0x7daee={};_0x7daee[_0x5d4786(0xf2,'\x56\x75\x29\x7a')]=_0x40c4fd,_0x7daee['\x63\x61\x6e\x64\x69\x64\x61\x74'+'\x65\x73']=[],_0x7daee[_0x5d4786(0x12e,'\x6d\x61\x66\x72')]=[];if(_0x22af56[_0x5d4786(0x195,'\x38\x71\x6f\x6e')](_0x4b142c[_0x5d4786(0x20b,'\x45\x35\x71\x5a')],-0x17*0x137+-0x1d3*-0x11+-0x312))return _0x7daee;_0xe87186[_0x5d4786(0x198,'\x63\x44\x6b\x74')+_0x5d4786(0x148,'\x45\x35\x71\x5a')]=Date[_0x5d4786(0x118,'\x40\x5a\x70\x32')]();for(const _0x349041 of _0x4b142c)_0x45a543[_0x349041['\x68\x61\x73\x68']]={'\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79':_0x349041[_0x5d4786(0xe5,'\x50\x36\x51\x32')+'\x74\x79'],'\x61\x74':new Date()[_0x5d4786(0x1c7,'\x45\x50\x33\x28')+_0x5d4786(0x1c2,'\x42\x4a\x23\x62')]()};_0xe87186[_0x5d4786(0x113,'\x21\x6a\x62\x77')]=_0x45a543,_0x22af56[_0x5d4786(0xee,'\x66\x54\x7a\x4e')](_0x6fe770,_0xe87186);const _0x226eb0=_0x22af56['\x7a\x71\x46\x49\x46'](_0x3d3e1c,_0x4b142c);_0x22af56[_0x5d4786(0x133,'\x6d\x61\x66\x72')](_0x2c997b,{'\x61\x74':new Date()['\x74\x6f\x49\x53\x4f\x53\x74\x72'+_0x5d4786(0x169,'\x36\x52\x5e\x26')](),'\x6d\x6f\x64\x65':_0x40c4fd,'\x63\x61\x6e\x64\x69\x64\x61\x74\x65\x73':_0x4b142c[_0x5d4786(0x215,'\x70\x24\x29\x59')](_0x17bc00=>({'\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79':_0x17bc00[_0x5d4786(0x228,'\x40\x5a\x70\x32')+'\x74\x79'],'\x6d\x61\x74\x63\x68\x65\x64':_0x17bc00['\x6d\x61\x74\x63\x68\x65\x64'],'\x68\x61\x73\x68':_0x17bc00[_0x5d4786(0x123,'\x47\x76\x33\x45')]})),'\x73\x69\x67\x6e\x61\x6c\x73':_0x226eb0});if(_0x40c4fd===_0x22af56[_0x5d4786(0xdf,'\x66\x54\x7a\x4e')]){if(_0x22af56[_0x5d4786(0x1a7,'\x30\x6a\x36\x34')](_0x22af56[_0x5d4786(0x1fb,'\x42\x4a\x23\x62')],_0x5d4786(0x114,'\x42\x4a\x23\x62'))){console[_0x5d4786(0x1ad,'\x24\x78\x38\x58')](_0x22af56[_0x5d4786(0x129,'\x41\x70\x34\x41')](_0x22af56[_0x5d4786(0x170,'\x41\x5a\x6e\x2a')](_0x22af56[_0x5d4786(0x16e,'\x36\x52\x5e\x26')](_0x22af56[_0x5d4786(0x15f,'\x6d\x61\x66\x72')]+_0x4b142c[_0x5d4786(0xe3,'\x41\x5a\x6e\x2a')],_0x5d4786(0x21e,'\x4a\x39\x44\x39')+_0x5d4786(0x159,'\x45\x35\x71\x5a')+_0x5d4786(0x17a,'\x36\x36\x49\x2a')+'\x3a\x20'),_0x4b142c[_0x5d4786(0xd4,'\x63\x44\x6b\x74')](_0x23428c=>_0x23428c[_0x5d4786(0x1d0,'\x42\x4a\x23\x62')+'\x74\x79'])[_0x5d4786(0x1a5,'\x66\x45\x64\x6d')]('\x2c\x20')),_0x22af56[_0x5d4786(0x10f,'\x66\x45\x64\x6d')]));const _0x18d76a={};return _0x18d76a[_0x5d4786(0x21c,'\x73\x4d\x21\x63')]=_0x40c4fd,_0x18d76a[_0x5d4786(0x160,'\x77\x31\x46\x30')+'\x65\x73']=_0x4b142c,_0x18d76a[_0x5d4786(0xf3,'\x30\x6a\x36\x34')]=[],_0x18d76a;}else return _0x4c0837;}console[_0x5d4786(0x232,'\x21\x64\x39\x59')](_0x22af56[_0x5d4786(0x125,'\x49\x45\x2a\x6c')](_0x22af56[_0x5d4786(0x237,'\x6d\x61\x66\x72')](_0x22af56[_0x5d4786(0x1c6,'\x4c\x77\x36\x53')](_0x22af56[_0x5d4786(0xe2,'\x78\x74\x41\x48')](_0x22af56[_0x5d4786(0x230,'\x73\x4d\x21\x63')],_0x4b142c[_0x5d4786(0x1b2,'\x74\x78\x6c\x74')])+(_0x5d4786(0x141,'\x36\x36\x49\x2a')+_0x5d4786(0x239,'\x73\x5b\x39\x37')+_0x5d4786(0x1e5,'\x38\x71\x6f\x6e')+_0x5d4786(0xdc,'\x21\x6a\x62\x77')+_0x5d4786(0xfb,'\x21\x6a\x62\x77')),_0x226eb0[_0x5d4786(0x18f,'\x57\x69\x41\x75')]),'\x20\x73\x69\x67\x6e\x61\x6c\x28'+_0x5d4786(0xec,'\x38\x71\x6f\x6e')),_0x226eb0['\x6a\x6f\x69\x6e']('\x2c\x20')));const _0x172cb8={};return _0x172cb8[_0x5d4786(0x107,'\x6b\x53\x29\x46')]=_0x40c4fd,_0x172cb8[_0x5d4786(0x12f,'\x43\x50\x29\x39')+'\x65\x73']=_0x4b142c,_0x172cb8[_0x5d4786(0x150,'\x66\x54\x7a\x4e')]=_0x226eb0,_0x172cb8;}const _0x23d6c7={};_0x23d6c7[_0x45a111(0x1d3,'\x74\x78\x6c\x74')]=_0x4d3e19,_0x23d6c7['\x73\x68\x6f\x75\x6c\x64\x53\x6e'+_0x45a111(0x122,'\x53\x5b\x4a\x45')]=_0x1939e2,_0x23d6c7[_0x45a111(0x100,'\x6b\x53\x29\x46')+'\x75\x73']=_0x3659aa,_0x23d6c7['\x63\x6f\x6e\x76\x65\x72\x74\x54'+_0x45a111(0x175,'\x77\x31\x46\x30')]=_0x3d3e1c,_0x23d6c7[_0x45a111(0x1a1,'\x45\x50\x33\x28')]=_0x5356e8,_0x23d6c7['\x72\x65\x61\x64\x53\x74\x61\x74'+'\x65']=_0x186c3c,_0x23d6c7['\x77\x72\x69\x74\x65\x53\x74\x61'+'\x74\x65']=_0x6fe770,_0x23d6c7[_0x45a111(0x18d,'\x45\x35\x71\x5a')+'\x5f\x53\x49\x47\x4e\x41\x4c']=_0x4e0b5f,module[_0x45a111(0x1c1,'\x45\x35\x71\x5a')]=_0x23d6c7;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Conversation Capability Sniffer
|
|
4
|
+
// --------------------------------
|
|
5
|
+
// evolver autonomously surfaces evolution opportunities from CODE (errsig /
|
|
6
|
+
// recurring_error), from MISSING features (capability_gap), and at idle time
|
|
7
|
+
// from external knowledge (explore.js: TODO scan, arxiv). The one blind spot:
|
|
8
|
+
// a human-verified, deterministic capability demonstrated *in the conversation*
|
|
9
|
+
// (e.g. "I just published a Feishu doc via lark-cli and validated it") never
|
|
10
|
+
// surfaces, because signal extraction maps free text onto the closed
|
|
11
|
+
// OPPORTUNITY_SIGNALS vocabulary and there is no extractor that reads the
|
|
12
|
+
// transcript for "the user just proved a reusable capability worth keeping".
|
|
13
|
+
//
|
|
14
|
+
// This module is that extractor. It mirrors explore.js: env gating + cooldown,
|
|
15
|
+
// a scan that produces results, dedup state on disk, and convertToSignals().
|
|
16
|
+
// Like the rest of evolver it does NOT call an LLM directly (evolver builds
|
|
17
|
+
// prompts and lets the bridged executor — the Hand — do the reasoning). The
|
|
18
|
+
// scan here is a lightweight RULE-BASED pre-filter; when it fires it injects a
|
|
19
|
+
// candidate signal so the selector/distiller can pick the work up on the
|
|
20
|
+
// executor side.
|
|
21
|
+
//
|
|
22
|
+
// Default posture is SHADOW (observe-only): it logs what it *would* surface
|
|
23
|
+
// without injecting, so the behaviour can be validated before it influences
|
|
24
|
+
// real cycles. Set EVOLVER_CONV_SNIFF_ENABLED=enforce to inject for real.
|
|
25
|
+
|
|
26
|
+
const fs = require('fs');
|
|
27
|
+
const path = require('path');
|
|
28
|
+
const crypto = require('crypto');
|
|
29
|
+
|
|
30
|
+
const { getEvolutionDir } = require('./paths');
|
|
31
|
+
|
|
32
|
+
// off | shadow | enforce. Default 'shadow' so a fresh install observes before
|
|
33
|
+
// it acts. 'off' disables entirely; 'enforce' injects candidate signals.
|
|
34
|
+
const MODE = (() => {
|
|
35
|
+
const raw = String(process.env.EVOLVER_CONV_SNIFF_ENABLED || 'shadow').toLowerCase().trim();
|
|
36
|
+
if (raw === 'off' || raw === 'false' || raw === '0') return 'off';
|
|
37
|
+
if (raw === 'enforce' || raw === 'on' || raw === 'true' || raw === '1') return 'enforce';
|
|
38
|
+
return 'shadow';
|
|
39
|
+
})();
|
|
40
|
+
|
|
41
|
+
const COOLDOWN_MS = parseInt(process.env.EVOLVER_CONV_SNIFF_COOLDOWN_MS || '1800000', 10) || 1800000;
|
|
42
|
+
const MAX_CANDIDATES = 5;
|
|
43
|
+
const SNIPPET_MAX = 240;
|
|
44
|
+
|
|
45
|
+
// Signals injected (enforce mode). The umbrella signal lets a dedicated gene
|
|
46
|
+
// (or the distiller) match "there is a conversation-surfaced capability".
|
|
47
|
+
const UMBRELLA_SIGNAL = 'conv_capability_candidate';
|
|
48
|
+
|
|
49
|
+
// Evidence that a reusable capability was just *successfully exercised* in the
|
|
50
|
+
// transcript. We require (a) a success/completion marker AND (b) a reusable
|
|
51
|
+
// action verb, so idle chatter or failed attempts do not trigger.
|
|
52
|
+
const SUCCESS_MARKERS = [
|
|
53
|
+
'success', 'succeeded', 'verified', 'validated', 'works', 'working',
|
|
54
|
+
'published', 'created', 'completed', 'passed', 'done',
|
|
55
|
+
'成功', '已发布', '已验证', '验证通过', '搞定', '跑通', '通过了',
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
// Reusable, deterministic actions worth keeping as a capability. Each entry is
|
|
59
|
+
// [regex, capability-slug]. Kept deliberately conservative.
|
|
60
|
+
const CAPABILITY_PATTERNS = [
|
|
61
|
+
[/\blark-cli\b|飞书文档|feishu doc|lark doc/i, 'publish-feishu-doc'],
|
|
62
|
+
[/\bgh (pr|issue|release)\b|github api|open(ed)? a pr\b/i, 'github-automation'],
|
|
63
|
+
[/\bcurl\b.+\b(api|endpoint)\b|\bfetch\(.+\bapi\b/i, 'api-call'],
|
|
64
|
+
[/\bdocker (build|run|compose)\b/i, 'docker-workflow'],
|
|
65
|
+
[/\bkubectl\b|helm (install|upgrade)\b/i, 'k8s-operation'],
|
|
66
|
+
[/\bprisma (migrate|db push)\b|\bpsql\b|pg_dump/i, 'db-operation'],
|
|
67
|
+
[/\bnpm publish\b|\bnpx skills\b/i, 'package-publish'],
|
|
68
|
+
];
|
|
69
|
+
|
|
70
|
+
function _statePath() { return path.join(getEvolutionDir(), 'conv_sniff_state.json'); }
|
|
71
|
+
function _logPath() { return path.join(getEvolutionDir(), 'conv_sniff_log.jsonl'); }
|
|
72
|
+
|
|
73
|
+
function readState() {
|
|
74
|
+
try { return JSON.parse(fs.readFileSync(_statePath(), 'utf8')); }
|
|
75
|
+
catch (_) { return { seen: {}, last_sniff_ts: 0 }; }
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function writeState(state) {
|
|
79
|
+
try {
|
|
80
|
+
const dir = getEvolutionDir();
|
|
81
|
+
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
82
|
+
const tmp = _statePath() + '.tmp';
|
|
83
|
+
fs.writeFileSync(tmp, JSON.stringify(state, null, 2) + '\n', 'utf8');
|
|
84
|
+
fs.renameSync(tmp, _statePath());
|
|
85
|
+
} catch (_) {}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function _appendLog(obj) {
|
|
89
|
+
try {
|
|
90
|
+
const dir = getEvolutionDir();
|
|
91
|
+
if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
|
|
92
|
+
fs.appendFileSync(_logPath(), JSON.stringify(obj) + '\n', 'utf8');
|
|
93
|
+
} catch (_) {}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function _shortHash(s) {
|
|
97
|
+
return crypto.createHash('sha256').update(String(s || '')).digest('hex').slice(0, 16);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function getMode() { return MODE; }
|
|
101
|
+
|
|
102
|
+
function shouldSniff(state) {
|
|
103
|
+
if (MODE === 'off') return false;
|
|
104
|
+
const st = state || readState();
|
|
105
|
+
const last = st.last_sniff_ts || 0;
|
|
106
|
+
// Date.now is fine here — this runs in the live process, not the workflow VM.
|
|
107
|
+
if (Date.now() - last < COOLDOWN_MS) return false;
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Proximity window (chars): a success marker must appear within this distance
|
|
112
|
+
// of the capability match for the pair to count. A global "success anywhere +
|
|
113
|
+
// capability anywhere" co-occurrence is NOT enough — that lets an unrelated
|
|
114
|
+
// "tests passed" pair with a *failed* lark-cli/kubectl mention and surface a
|
|
115
|
+
// false candidate (Bugbot #175, High). Require LOCAL co-occurrence instead.
|
|
116
|
+
const PROXIMITY_WINDOW = 200;
|
|
117
|
+
|
|
118
|
+
// Negators that flip a success marker ("not verified", "未发布", "failed to
|
|
119
|
+
// publish"). If one appears within NEGATION_LOOKBACK chars before the marker,
|
|
120
|
+
// the marker does not count as success (Bugbot #175 round 2, Medium).
|
|
121
|
+
const NEGATORS = ['not ', "n't ", 'no ', 'never ', 'fail', 'unable', "wasn't", "isn't", "didn't",
|
|
122
|
+
'没', '未', '不', '失败', '无法'];
|
|
123
|
+
const NEGATION_LOOKBACK = 20;
|
|
124
|
+
|
|
125
|
+
function _markerIsNegated(lowerText, markerStart) {
|
|
126
|
+
const from = Math.max(0, markerStart - NEGATION_LOOKBACK);
|
|
127
|
+
const before = lowerText.slice(from, markerStart);
|
|
128
|
+
return NEGATORS.some((n) => before.includes(n));
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function _hasSuccessNear(text, lowerText, matchIndex, matchLen) {
|
|
132
|
+
const from = Math.max(0, matchIndex - PROXIMITY_WINDOW);
|
|
133
|
+
const to = Math.min(lowerText.length, matchIndex + matchLen + PROXIMITY_WINDOW);
|
|
134
|
+
for (const m of SUCCESS_MARKERS) {
|
|
135
|
+
const needle = m.toLowerCase();
|
|
136
|
+
// walk every occurrence of this marker inside the window; accept only a
|
|
137
|
+
// non-negated one.
|
|
138
|
+
let rel = windowIndexOf(lowerText, needle, from, to);
|
|
139
|
+
while (rel !== -1) {
|
|
140
|
+
if (!_markerIsNegated(lowerText, rel)) return true;
|
|
141
|
+
rel = windowIndexOf(lowerText, needle, rel + 1, to);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// indexOf for `needle` constrained to [from, to); returns absolute index in
|
|
148
|
+
// lowerText or -1. Keeps negation checks anchored to the full text so the
|
|
149
|
+
// lookback can see chars just before the window edge.
|
|
150
|
+
function windowIndexOf(lowerText, needle, from, to) {
|
|
151
|
+
const idx = lowerText.indexOf(needle, from);
|
|
152
|
+
if (idx === -1 || idx >= to) return -1;
|
|
153
|
+
return idx;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Scan ONE segment for candidates (success marker within PROXIMITY_WINDOW of a
|
|
157
|
+
// capability match, non-negated). Returns [{capability, matched, snippet, hash}].
|
|
158
|
+
function _scanSegment(text, sink, seenSlugs) {
|
|
159
|
+
if (!text || !text.trim()) return;
|
|
160
|
+
const lower = text.toLowerCase();
|
|
161
|
+
for (const [re, slug] of CAPABILITY_PATTERNS) {
|
|
162
|
+
if (seenSlugs.has(slug)) continue;
|
|
163
|
+
const gre = new RegExp(re.source, re.flags.includes('g') ? re.flags : re.flags + 'g');
|
|
164
|
+
let m;
|
|
165
|
+
let accepted = null;
|
|
166
|
+
while ((m = gre.exec(text)) !== null) {
|
|
167
|
+
if (m[0].length === 0) { gre.lastIndex++; continue; } // guard zero-width
|
|
168
|
+
if (_hasSuccessNear(text, lower, m.index, m[0].length)) { accepted = m; break; }
|
|
169
|
+
}
|
|
170
|
+
if (!accepted) continue;
|
|
171
|
+
seenSlugs.add(slug);
|
|
172
|
+
const idx = Math.max(0, accepted.index - 80);
|
|
173
|
+
const snippet = text.slice(idx, idx + SNIPPET_MAX).replace(/\s+/g, ' ').trim();
|
|
174
|
+
sink.push({
|
|
175
|
+
capability: slug,
|
|
176
|
+
matched: accepted[0].slice(0, 60),
|
|
177
|
+
snippet,
|
|
178
|
+
hash: _shortHash(slug + '|' + snippet),
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Pure scan. Accepts a single string OR an array of segments (e.g. master log
|
|
184
|
+
// and today log). Each segment is scanned INDEPENDENTLY so a success marker in
|
|
185
|
+
// one segment can never falsely sit "near" a capability match in another
|
|
186
|
+
// (Bugbot #175 round 2: joined logs caused false cross-boundary proximity).
|
|
187
|
+
// A candidate requires a non-negated success marker within PROXIMITY_WINDOW of
|
|
188
|
+
// the capability match, scanning all occurrences so a later successful use wins
|
|
189
|
+
// over an earlier failed mention.
|
|
190
|
+
function scanCorpus(corpus) {
|
|
191
|
+
const segments = Array.isArray(corpus) ? corpus : [corpus];
|
|
192
|
+
const candidates = [];
|
|
193
|
+
const seenSlugs = new Set();
|
|
194
|
+
for (const seg of segments) {
|
|
195
|
+
if (candidates.length >= MAX_CANDIDATES) break;
|
|
196
|
+
_scanSegment(String(seg || ''), candidates, seenSlugs);
|
|
197
|
+
}
|
|
198
|
+
return candidates.slice(0, MAX_CANDIDATES);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
function convertToSignals(candidates) {
|
|
202
|
+
const signals = [];
|
|
203
|
+
const seen = new Set();
|
|
204
|
+
for (const c of candidates) {
|
|
205
|
+
const sig = 'conv_capability:' + c.capability;
|
|
206
|
+
if (!seen.has(sig)) { seen.add(sig); signals.push(sig); }
|
|
207
|
+
}
|
|
208
|
+
if (signals.length > 0) signals.unshift(UMBRELLA_SIGNAL);
|
|
209
|
+
return signals;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Main entry, mirrors explore.tryExplore(): gate -> scan -> dedup -> (shadow|enforce).
|
|
213
|
+
// Returns { mode, candidates, signals } — signals is [] in shadow/off so the
|
|
214
|
+
// caller can inject unconditionally without leaking shadow candidates.
|
|
215
|
+
function trySniff(corpus, state) {
|
|
216
|
+
const st = state || readState();
|
|
217
|
+
if (!shouldSniff(st)) return { mode: MODE, candidates: [], signals: [] };
|
|
218
|
+
|
|
219
|
+
const all = scanCorpus(corpus);
|
|
220
|
+
|
|
221
|
+
// dedup against already-processed candidate hashes
|
|
222
|
+
const seenMap = st.seen || {};
|
|
223
|
+
const fresh = all.filter((c) => !seenMap[c.hash]);
|
|
224
|
+
|
|
225
|
+
// Only start the cooldown when we actually surfaced something new. An empty
|
|
226
|
+
// sniff (no candidates, or all already-seen) must NOT arm the cooldown —
|
|
227
|
+
// otherwise a barren cycle blocks detection until the window elapses even
|
|
228
|
+
// when the transcript gains real evidence moments later (Bugbot #175, Med).
|
|
229
|
+
if (fresh.length === 0) return { mode: MODE, candidates: [], signals: [] };
|
|
230
|
+
|
|
231
|
+
st.last_sniff_ts = Date.now();
|
|
232
|
+
for (const c of fresh) seenMap[c.hash] = { capability: c.capability, at: new Date().toISOString() };
|
|
233
|
+
st.seen = seenMap;
|
|
234
|
+
writeState(st);
|
|
235
|
+
|
|
236
|
+
const signals = convertToSignals(fresh);
|
|
237
|
+
|
|
238
|
+
// Always log what was surfaced (both shadow and enforce) for auditing.
|
|
239
|
+
_appendLog({
|
|
240
|
+
at: new Date().toISOString(),
|
|
241
|
+
mode: MODE,
|
|
242
|
+
candidates: fresh.map((c) => ({ capability: c.capability, matched: c.matched, hash: c.hash })),
|
|
243
|
+
signals,
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
if (MODE === 'shadow') {
|
|
247
|
+
console.log('[ConvSniff:shadow] Would surface ' + fresh.length + ' capability candidate(s): ' +
|
|
248
|
+
fresh.map((c) => c.capability).join(', ') + ' (signals NOT injected; set EVOLVER_CONV_SNIFF_ENABLED=enforce to act).');
|
|
249
|
+
return { mode: MODE, candidates: fresh, signals: [] };
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
console.log('[ConvSniff] Surfaced ' + fresh.length + ' capability candidate(s); injecting ' +
|
|
253
|
+
signals.length + ' signal(s): ' + signals.join(', '));
|
|
254
|
+
return { mode: MODE, candidates: fresh, signals };
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
module.exports = {
|
|
258
|
+
getMode,
|
|
259
|
+
shouldSniff,
|
|
260
|
+
scanCorpus,
|
|
261
|
+
convertToSignals,
|
|
262
|
+
trySniff,
|
|
263
|
+
readState,
|
|
264
|
+
writeState,
|
|
265
|
+
UMBRELLA_SIGNAL,
|
|
266
|
+
};
|
package/src/gep/crypto.js
CHANGED
|
@@ -1 +1,93 @@
|
|
|
1
|
-
const _0x37a2ca=_0x44e2;(function(_0x235be6,_0x4bbeee){const _0x36c5a0=_0x44e2,_0x31f0c9=_0x235be6();while(!![]){try{const _0x91edf5=parseInt(_0x36c5a0(0x1b2,'\x57\x65\x4f\x4c'))/(0x25b5+0x47d+-0x2a31)*(-parseInt(_0x36c5a0(0x1af,'\x55\x35\x51\x63'))/(-0x1a08+0xe2c+0xbde))+parseInt(_0x36c5a0(0x1cd,'\x58\x26\x74\x78'))/(0x136a+-0x5*-0x29d+0x1*-0x2078)+parseInt(_0x36c5a0(0x1c8,'\x66\x6a\x24\x36'))/(-0x823*-0x3+-0x1*0xce7+-0xb7e)*(parseInt(_0x36c5a0(0x1a5,'\x57\x65\x4f\x4c'))/(0x256b+-0x1a81+-0xae5))+-parseInt(_0x36c5a0(0x18a,'\x4e\x76\x5e\x73'))/(-0x4da*-0x3+0x18c7+-0x274f)*(-parseInt(_0x36c5a0(0x1bf,'\x29\x56\x39\x34'))/(0x1f62+0x769+-0x26c4))+-parseInt(_0x36c5a0(0x1a1,'\x42\x68\x46\x5e'))/(0x179f+-0x2ac*0x7+-0x9*0x8b)+parseInt(_0x36c5a0(0x1ea,'\x49\x54\x78\x79'))/(-0x7*0x167+-0x1ce5+0x26bf)+parseInt(_0x36c5a0(0x1d3,'\x52\x69\x24\x34'))/(-0x1ad*-0xb+-0x83c+-0xa29)*(-parseInt(_0x36c5a0(0x1c3,'\x29\x56\x39\x34'))/(-0x17e4*0x1+0x1252+-0x3*-0x1df));if(_0x91edf5===_0x4bbeee)break;else _0x31f0c9['push'](_0x31f0c9['shift']());}catch(_0x1296bf){_0x31f0c9['push'](_0x31f0c9['shift']());}}}(_0x51bd,-0x4aba1*-0x1+0x8*0xc80e+0x1edba));const _0x31af31=(function(){const _0xbc1314=_0x44e2,_0x4f6f7e={};_0x4f6f7e[_0xbc1314(0x197,'\x49\x79\x68\x51')]=function(_0x5b3303,_0x1db847){return _0x5b3303<_0x1db847;},_0x4f6f7e[_0xbc1314(0x199,'\x46\x67\x64\x39')]=function(_0x5a0ba7,_0x50ce5c){return _0x5a0ba7!==_0x50ce5c;},_0x4f6f7e[_0xbc1314(0x190,'\x66\x32\x23\x5e')]=_0xbc1314(0x1ee,'\x53\x33\x4d\x6f');const _0x49fc3c=_0x4f6f7e;let _0x44563=!![];return function(_0x234dd6,_0x272d9a){const _0x435949=_0xbc1314,_0x4cf500={'\x71\x6f\x6b\x57\x48':function(_0x53dc12,_0x57f660){const _0x1ad112=_0x44e2;return _0x49fc3c[_0x1ad112(0x1f6,'\x6d\x2a\x43\x53')](_0x53dc12,_0x57f660);},'\x4b\x71\x48\x55\x70':function(_0xc4baa6,_0x347237){return _0xc4baa6+_0x347237;},'\x71\x61\x55\x7a\x52':function(_0xfec102,_0x2b3bdc){const _0x12e0ac=_0x44e2;return _0x49fc3c[_0x12e0ac(0x186,'\x55\x4f\x24\x29')](_0xfec102,_0x2b3bdc);},'\x47\x71\x6a\x55\x68':'\x46\x75\x74\x75\x49','\x47\x48\x6b\x70\x4f':_0x49fc3c[_0x435949(0x182,'\x66\x6a\x24\x36')]},_0x2c6eb8=_0x44563?function(){const _0x735d2f=_0x435949;if(_0x272d9a){if(_0x4cf500[_0x735d2f(0x1f5,'\x50\x46\x5a\x68')](_0x4cf500[_0x735d2f(0x1ac,'\x54\x59\x28\x6f')],_0x4cf500[_0x735d2f(0x198,'\x23\x50\x38\x35')])){const _0x35c16b=_0x272d9a[_0x735d2f(0x180,'\x6e\x58\x6f\x23')](_0x234dd6,arguments);return _0x272d9a=null,_0x35c16b;}else{if(!_0x5f2a22[_0x735d2f(0x1e0,'\x67\x50\x32\x28')](_0x420e79)||_0x4cf500[_0x735d2f(0x1cc,'\x23\x50\x38\x35')](_0x149280[_0x735d2f(0x200,'\x4e\x76\x5e\x73')],_0x4cf500[_0x735d2f(0x18e,'\x5a\x35\x53\x34')](_0x4bc6b9+_0x4eaf98,0x1*0x5c7+-0x966+0x3a0)))throw new _0x5a6d06('\x63\x72\x79\x70\x74\x6f\x3a\x20'+_0x735d2f(0x1ec,'\x52\x69\x24\x34')+_0x735d2f(0x1e6,'\x52\x69\x24\x34')+_0x735d2f(0x1ce,'\x49\x54\x78\x79'));const _0xa806e4=_0x4c6a44[_0x735d2f(0x1db,'\x6b\x41\x4f\x61')](-0x7e4+0xc6d*0x1+-0x489,_0x433286),_0x36b1be=_0x94ebf4[_0x735d2f(0x1fc,'\x31\x25\x31\x43')](_0x3d4a52,_0x4cf500[_0x735d2f(0x1b8,'\x6e\x58\x6f\x23')](_0x39c2aa,_0x41719c)),_0x2a1506=_0x45ce6d[_0x735d2f(0x1e8,'\x29\x5e\x6f\x29')](_0x4cf500[_0x735d2f(0x1e4,'\x6e\x7a\x73\x78')](_0x4d1ce8,_0x4747a8)),_0x561636={};return _0x561636[_0x735d2f(0x1d9,'\x58\x2a\x6e\x4f')+'\x78\x74']=_0x2a1506,_0x561636['\x69\x76']=_0xa806e4,_0x561636[_0x735d2f(0x203,'\x46\x67\x64\x39')]=_0x36b1be,_0x561636;}}}:function(){};return _0x44563=![],_0x2c6eb8;};}()),_0x4f0995=_0x31af31(this,function(){const _0x5adb37=_0x44e2,_0x478611={};_0x478611[_0x5adb37(0x1d8,'\x58\x2a\x6e\x4f')]=_0x5adb37(0x19e,'\x6b\x41\x4f\x61')+_0x5adb37(0x187,'\x43\x76\x45\x5a');const _0x20b3ef=_0x478611;return _0x4f0995[_0x5adb37(0x1ae,'\x76\x4e\x26\x67')]()['\x73\x65\x61\x72\x63\x68']('\x28\x28\x28\x2e\x2b\x29\x2b\x29'+'\x2b\x29\x2b\x24')[_0x5adb37(0x1ff,'\x34\x5a\x73\x29')]()[_0x5adb37(0x1f7,'\x48\x40\x37\x6c')+_0x5adb37(0x1d5,'\x43\x76\x45\x5a')](_0x4f0995)['\x73\x65\x61\x72\x63\x68'](_0x20b3ef[_0x5adb37(0x1f1,'\x4c\x6e\x5e\x6d')]);});_0x4f0995();function _0x51bd(){const _0x3ec9f8=['\x65\x4a\x68\x63\x4b\x59\x74\x63\x51\x6d\x6b\x49\x57\x35\x57\x2f','\x73\x38\x6f\x41\x42\x66\x5a\x64\x56\x61','\x67\x64\x69\x30\x78\x43\x6b\x31','\x63\x31\x6a\x31\x57\x51\x34','\x57\x34\x61\x4e\x57\x4f\x4a\x63\x49\x61','\x57\x36\x6a\x5a\x57\x52\x33\x63\x4d\x76\x53','\x57\x34\x75\x36\x69\x43\x6b\x43\x57\x50\x38\x57\x57\x37\x69\x2f','\x6d\x68\x6c\x64\x53\x72\x38\x4d\x57\x50\x33\x63\x4d\x66\x61','\x57\x4f\x79\x58\x6e\x6d\x6f\x75\x57\x50\x38\x36\x57\x37\x4f\x51','\x74\x53\x6f\x35\x57\x50\x46\x64\x4f\x6d\x6f\x36','\x41\x38\x6f\x43\x73\x75\x47\x34','\x46\x6d\x6f\x54\x79\x75\x42\x64\x51\x4e\x70\x64\x55\x32\x4b','\x6b\x4b\x46\x63\x51\x38\x6b\x4c\x57\x37\x43','\x57\x50\x57\x77\x69\x6d\x6f\x45\x57\x50\x71','\x75\x74\x42\x63\x4b\x5a\x6c\x64\x4f\x63\x65','\x57\x51\x37\x63\x50\x53\x6b\x79\x57\x34\x5a\x63\x51\x43\x6b\x59\x57\x4f\x61','\x69\x66\x42\x63\x48\x73\x70\x63\x53\x43\x6f\x44\x73\x72\x30','\x57\x34\x62\x69\x57\x37\x54\x37\x57\x35\x68\x63\x50\x6d\x6f\x4f\x57\x4f\x61','\x57\x36\x4a\x63\x4a\x72\x4b\x67\x70\x4a\x4e\x64\x4d\x43\x6f\x61','\x57\x35\x52\x63\x54\x4a\x66\x49\x74\x58\x4a\x64\x53\x53\x6b\x32','\x57\x34\x42\x64\x49\x71\x37\x63\x4c\x30\x72\x53','\x70\x6d\x6b\x68\x57\x34\x4f\x54\x68\x63\x6d\x7a\x44\x57','\x41\x38\x6f\x6d\x57\x50\x58\x36\x78\x68\x39\x55\x74\x6d\x6f\x6e\x57\x50\x70\x63\x53\x53\x6b\x4b\x57\x36\x53','\x71\x59\x42\x63\x48\x49\x4a\x64\x4c\x59\x4a\x63\x48\x61','\x78\x38\x6f\x70\x57\x52\x4e\x64\x4e\x71\x43','\x57\x52\x61\x2f\x57\x35\x44\x6f\x57\x35\x70\x63\x4b\x68\x44\x70','\x61\x74\x4e\x63\x47\x63\x46\x63\x51\x6d\x6b\x30\x57\x4f\x47\x34','\x72\x66\x68\x64\x4b\x77\x48\x52','\x57\x36\x48\x4c\x57\x52\x74\x63\x54\x76\x71','\x57\x34\x6a\x4c\x76\x76\x6c\x64\x4f\x47','\x57\x37\x74\x64\x47\x43\x6b\x4d\x41\x6d\x6f\x38\x57\x50\x69','\x6b\x38\x6f\x72\x78\x31\x5a\x64\x52\x65\x4a\x64\x52\x71','\x57\x36\x6d\x76\x69\x53\x6f\x52\x6f\x68\x52\x63\x55\x6d\x6f\x4d\x57\x50\x78\x63\x50\x57\x4b\x63\x6c\x71','\x57\x34\x71\x50\x57\x34\x4f\x51\x57\x37\x71','\x57\x36\x74\x64\x55\x53\x6f\x68\x57\x4f\x61','\x57\x52\x71\x78\x74\x71\x78\x64\x49\x57','\x75\x33\x47\x68\x57\x50\x4e\x64\x50\x47','\x57\x50\x37\x63\x4c\x76\x70\x64\x48\x47\x71\x39\x46\x63\x65\x35\x7a\x4c\x6d\x39\x67\x57','\x62\x74\x34\x33\x72\x43\x6b\x5a\x68\x47','\x46\x38\x6f\x37\x57\x51\x70\x63\x4c\x66\x42\x64\x4a\x38\x6b\x58\x57\x52\x47','\x57\x35\x37\x64\x47\x5a\x70\x63\x48\x65\x6a\x54\x6a\x48\x71','\x57\x37\x72\x34\x57\x35\x74\x63\x49\x66\x79','\x43\x76\x43\x6d\x57\x52\x37\x64\x47\x38\x6b\x46\x57\x50\x46\x63\x4b\x47','\x6e\x64\x78\x64\x53\x75\x33\x63\x4f\x47','\x71\x6d\x6f\x6c\x45\x75\x4b\x67\x70\x6d\x6b\x41\x71\x61','\x57\x51\x4a\x63\x47\x72\x78\x64\x4a\x65\x43','\x7a\x76\x38\x6d\x57\x52\x56\x64\x47\x61','\x57\x34\x4f\x56\x73\x38\x6f\x48\x57\x4f\x70\x64\x4d\x43\x6b\x54\x57\x52\x4b','\x57\x37\x43\x33\x57\x4f\x57\x69\x57\x50\x46\x64\x49\x59\x47','\x6d\x49\x5a\x64\x56\x76\x46\x63\x4f\x43\x6b\x42\x57\x51\x50\x68','\x46\x47\x61\x54\x66\x32\x47','\x74\x6d\x6f\x46\x57\x52\x68\x64\x48\x63\x4f','\x74\x74\x37\x63\x4d\x47\x2f\x64\x4a\x61','\x57\x51\x68\x63\x4e\x64\x35\x74\x70\x73\x46\x64\x4e\x43\x6f\x72','\x57\x4f\x2f\x63\x52\x58\x42\x64\x50\x75\x42\x63\x4c\x4b\x78\x64\x47\x57','\x71\x53\x6f\x72\x79\x31\x69\x4d\x6c\x38\x6b\x69\x42\x57','\x57\x4f\x30\x78\x43\x71','\x57\x36\x64\x64\x48\x31\x71\x69\x43\x67\x4a\x63\x4b\x38\x6b\x6b','\x76\x74\x6a\x72\x6d\x38\x6b\x30','\x71\x4b\x53\x6f\x57\x37\x78\x63\x4d\x71','\x61\x75\x37\x64\x4f\x77\x72\x58\x57\x50\x57\x6c\x78\x6d\x6f\x43\x42\x38\x6f\x55\x57\x37\x6c\x64\x55\x61','\x57\x37\x39\x59\x57\x50\x65\x66\x57\x4f\x52\x64\x4d\x63\x47\x64','\x57\x34\x65\x6b\x57\x34\x5a\x64\x4c\x6d\x6b\x32\x57\x51\x57\x74\x57\x4f\x43\x45\x6c\x72\x71\x30\x57\x52\x65','\x41\x4b\x75\x47\x57\x51\x2f\x64\x49\x53\x6b\x75\x57\x52\x64\x63\x4d\x71','\x66\x4c\x52\x63\x53\x43\x6b\x4a\x57\x51\x74\x63\x56\x71\x65\x71\x68\x6d\x6f\x41\x57\x52\x6a\x42\x57\x52\x4f','\x61\x30\x70\x64\x4f\x4d\x43\x76\x57\x34\x35\x44\x77\x38\x6f\x79\x41\x71','\x57\x37\x44\x4a\x57\x50\x78\x63\x4f\x76\x6e\x76','\x65\x77\x52\x64\x48\x73\x46\x64\x48\x58\x4e\x63\x4d\x75\x56\x64\x47\x61','\x57\x51\x30\x4e\x76\x57','\x57\x52\x39\x6d\x57\x51\x2f\x63\x4b\x38\x6f\x5a','\x57\x37\x54\x4c\x57\x4f\x79\x71\x57\x4f\x5a\x64\x4c\x47','\x63\x66\x4a\x63\x50\x53\x6b\x65\x57\x37\x43','\x57\x52\x79\x36\x6b\x38\x6f\x4c\x57\x51\x4b','\x43\x72\x6e\x4e\x62\x6d\x6b\x6d\x57\x51\x74\x63\x50\x58\x75','\x57\x4f\x39\x4d\x57\x35\x5a\x64\x47\x38\x6f\x39\x74\x43\x6f\x39\x66\x38\x6b\x51\x66\x61','\x57\x36\x6e\x6b\x78\x30\x37\x64\x4c\x57','\x57\x50\x6e\x45\x57\x50\x42\x63\x4c\x38\x6f\x2f\x57\x36\x58\x77','\x65\x66\x6c\x63\x53\x38\x6f\x38\x57\x35\x78\x64\x4e\x75\x34\x4e\x6d\x57','\x57\x37\x72\x5a\x57\x50\x30\x51','\x57\x35\x66\x4d\x46\x4c\x74\x64\x48\x38\x6f\x2f\x57\x34\x56\x63\x4e\x71','\x7a\x67\x37\x63\x53\x71\x4e\x64\x4a\x6d\x6b\x56\x57\x51\x50\x4a\x57\x35\x72\x6c\x79\x57','\x57\x37\x2f\x64\x4a\x47\x62\x30\x57\x52\x47','\x62\x4c\x72\x30\x57\x4f\x78\x64\x52\x61','\x42\x4c\x64\x64\x51\x76\x66\x49','\x57\x51\x4e\x63\x4f\x43\x6b\x64\x57\x34\x4b','\x72\x6d\x6f\x71\x41\x4c\x75\x36','\x74\x57\x37\x64\x51\x53\x6f\x38\x57\x36\x78\x64\x50\x71','\x57\x52\x66\x6d\x46\x38\x6b\x39\x42\x74\x53','\x71\x61\x43\x41','\x6d\x33\x42\x64\x50\x4a\x75\x32\x57\x4f\x33\x64\x4b\x67\x79','\x57\x52\x61\x57\x57\x34\x31\x33\x57\x37\x74\x63\x4e\x6d\x6f\x37\x57\x4f\x38','\x70\x53\x6b\x61\x57\x35\x53\x4b\x70\x63\x43\x39','\x57\x36\x68\x64\x51\x74\x4e\x63\x52\x33\x6a\x44\x68\x64\x79','\x63\x77\x52\x63\x56\x53\x6b\x2f\x57\x37\x30','\x57\x52\x79\x5a\x57\x4f\x71\x63\x57\x52\x52\x63\x55\x6d\x6f\x42\x57\x51\x62\x4c\x79\x53\x6f\x50','\x57\x52\x76\x6b\x77\x38\x6b\x37\x46\x71','\x71\x65\x2f\x64\x47\x4e\x7a\x52\x57\x35\x6a\x5a','\x57\x50\x52\x63\x51\x57\x5a\x64\x47\x66\x5a\x63\x4a\x32\x2f\x64\x52\x47','\x57\x50\x4f\x6b\x45\x48\x70\x64\x48\x38\x6b\x69\x79\x53\x6b\x64','\x57\x50\x66\x41\x46\x75\x4e\x64\x48\x38\x6f\x46\x57\x34\x79','\x62\x31\x6a\x32\x57\x36\x75','\x57\x50\x4a\x64\x52\x66\x6d\x55\x45\x58\x70\x64\x54\x6d\x6b\x2b\x45\x43\x6f\x76','\x57\x37\x69\x32\x57\x50\x71','\x45\x53\x6f\x34\x57\x52\x68\x64\x4f\x59\x30','\x79\x38\x6f\x78\x44\x4e\x6e\x6e\x64\x4a\x4a\x64\x4d\x74\x34\x2f\x57\x34\x50\x70\x57\x50\x69','\x76\x49\x64\x64\x4e\x38\x6b\x31\x6a\x38\x6f\x4b\x57\x52\x34','\x57\x35\x4f\x48\x57\x50\x74\x63\x49\x38\x6f\x70\x71\x6d\x6b\x56\x77\x61','\x65\x75\x39\x47\x57\x52\x78\x64\x55\x53\x6b\x76\x57\x36\x4c\x4c','\x57\x50\x65\x51\x69\x6d\x6f\x4b\x57\x4f\x4b','\x6c\x68\x42\x64\x56\x62\x6d\x33\x57\x50\x65','\x75\x32\x4e\x64\x47\x68\x2f\x63\x4e\x53\x6b\x47\x57\x50\x34\x6c\x46\x38\x6b\x36','\x6e\x43\x6b\x69\x64\x59\x6d\x69','\x57\x52\x56\x63\x56\x6d\x6b\x45','\x57\x51\x7a\x31\x71\x6d\x6b\x4d\x72\x57','\x46\x53\x6f\x58\x6d\x38\x6f\x56\x57\x50\x2f\x64\x50\x43\x6b\x62\x57\x4f\x53','\x57\x34\x2f\x63\x4e\x53\x6f\x34\x64\x31\x79','\x57\x34\x4e\x63\x4a\x38\x6f\x66\x6c\x76\x6c\x64\x54\x72\x64\x64\x51\x57','\x71\x62\x4e\x64\x56\x43\x6f\x52\x57\x36\x78\x64\x4f\x47\x35\x78','\x57\x52\x56\x63\x4d\x48\x35\x68\x6b\x74\x70\x64\x4d\x43\x6f\x41','\x57\x34\x65\x39\x69\x61\x37\x63\x4e\x71','\x57\x52\x6d\x2b\x57\x35\x72\x65','\x75\x72\x4f\x7a\x65\x78\x64\x63\x53\x64\x71','\x73\x53\x6f\x2b\x57\x51\x74\x64\x56\x38\x6f\x41\x57\x34\x4b\x30\x6d\x57','\x66\x66\x75\x54\x6a\x53\x6b\x64\x6b\x4c\x4a\x64\x54\x57','\x57\x35\x7a\x53\x44\x38\x6b\x70\x57\x34\x31\x38\x57\x51\x43\x6e\x75\x38\x6b\x55\x57\x34\x52\x63\x56\x75\x6d','\x7a\x62\x64\x63\x47\x63\x37\x64\x4f\x71','\x57\x36\x58\x55\x57\x4f\x4e\x64\x53\x31\x44\x77\x61\x53\x6b\x58','\x57\x51\x34\x50\x64\x6d\x6f\x50\x57\x4f\x4f','\x57\x52\x33\x63\x4e\x58\x48\x68\x6c\x59\x71','\x66\x5a\x42\x63\x4c\x49\x52\x63\x56\x38\x6f\x4d\x57\x4f\x47\x59','\x57\x51\x56\x63\x47\x62\x6a\x66\x6f\x4a\x75','\x57\x35\x4f\x5a\x77\x43\x6f\x4f\x57\x50\x74\x64\x4d\x43\x6b\x34\x57\x51\x75','\x57\x52\x61\x55\x78\x63\x68\x64\x51\x53\x6b\x5a\x68\x43\x6f\x57','\x64\x5a\x68\x63\x4c\x43\x6f\x53\x45\x6d\x6b\x4d\x57\x37\x53\x4f\x57\x50\x46\x64\x4f\x53\x6f\x30\x64\x43\x6b\x70','\x57\x34\x4e\x64\x4e\x47\x78\x63\x4b\x75\x72\x48\x64\x62\x79'];_0x51bd=function(){return _0x3ec9f8;};return _0x51bd();}function _0x44e2(_0x4a5fad,_0x4a6403){_0x4a5fad=_0x4a5fad-(0x1870+0x2620+0x1e89*-0x2);const _0x4d7a56=_0x51bd();let _0x43236b=_0x4d7a56[_0x4a5fad];if(_0x44e2['\x62\x74\x46\x4d\x47\x6d']===undefined){var _0x275217=function(_0x593f71){const _0xe41d25='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x4eeb62='',_0x3e2a9d='',_0x45ba82=_0x4eeb62+_0x275217,_0x4cf768=(''+function(){return-0x379*-0x5+-0x7*0x24b+-0x70*0x3;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(-0x45d+0x78+0x3e6);for(let _0x545a47=-0x1242+-0x15ef+-0x1*-0x2831,_0x44d217,_0x1200c5,_0x380cc5=0x2317+0x1f71+-0x4288;_0x1200c5=_0x593f71['\x63\x68\x61\x72\x41\x74'](_0x380cc5++);~_0x1200c5&&(_0x44d217=_0x545a47%(-0x2*-0x69d+-0xd0c*0x2+0xce2)?_0x44d217*(0x8*0x23+0x198a+-0x1a62)+_0x1200c5:_0x1200c5,_0x545a47++%(-0x4a3*-0x2+-0x18ab+-0x523*-0x3))?_0x4eeb62+=_0x4cf768||_0x45ba82['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x380cc5+(0xb39+0x587+0x6*-0x2c9))-(0xd98+0x173c+-0x24ca)!==0xfa1*0x1+-0x1ce9+0xd48?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x14d4+0x1119+-0x25d*-0x2&_0x44d217>>(-(0x31a+-0x224f*0x1+0x1f37)*_0x545a47&0x2623+0xf21+-0x1d6*0x1d)):_0x545a47:0x1f98+-0x138e+0x1*-0xc0a){_0x1200c5=_0xe41d25['\x69\x6e\x64\x65\x78\x4f\x66'](_0x1200c5);}for(let _0x1bc97c=0x2*-0x8fb+-0x40+-0x2a*-0x6f,_0x4ce8dd=_0x4eeb62['\x6c\x65\x6e\x67\x74\x68'];_0x1bc97c<_0x4ce8dd;_0x1bc97c++){_0x3e2a9d+='\x25'+('\x30\x30'+_0x4eeb62['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1bc97c)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x32f*0x1+0x9b9*0x1+-0xcd8))['\x73\x6c\x69\x63\x65'](-(0x1*0x1cc9+-0x18*0x197+0x961));}return decodeURIComponent(_0x3e2a9d);};const _0x200c1d=function(_0x18da44,_0x13fb28){let _0x19027c=[],_0x514a78=0x26e6+0xf0d+-0x7b5*0x7,_0x5db730,_0x361067='';_0x18da44=_0x275217(_0x18da44);let _0x2489f8;for(_0x2489f8=0x1789+0xb*0x174+-0x2785;_0x2489f8<0x121f*0x1+0x2*0xc0e+-0x293b;_0x2489f8++){_0x19027c[_0x2489f8]=_0x2489f8;}for(_0x2489f8=0x195a+-0x65*-0x59+-0x3c77;_0x2489f8<0x7a2+-0x801+-0x27*-0x9;_0x2489f8++){_0x514a78=(_0x514a78+_0x19027c[_0x2489f8]+_0x13fb28['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2489f8%_0x13fb28['\x6c\x65\x6e\x67\x74\x68']))%(-0x2529+-0xb56+0x317f),_0x5db730=_0x19027c[_0x2489f8],_0x19027c[_0x2489f8]=_0x19027c[_0x514a78],_0x19027c[_0x514a78]=_0x5db730;}_0x2489f8=-0x1*-0xaa9+-0xb5*-0xb+-0x1270,_0x514a78=0x69*0x33+0x11e6+-0x13*0x20b;for(let _0x8d81c0=-0x258f+0x2104+0x48b*0x1;_0x8d81c0<_0x18da44['\x6c\x65\x6e\x67\x74\x68'];_0x8d81c0++){_0x2489f8=(_0x2489f8+(0x28c*0x8+0x19e6+-0x73*0x67))%(-0x1806+-0xe34+-0x139d*-0x2),_0x514a78=(_0x514a78+_0x19027c[_0x2489f8])%(0x75f+-0xea3+0x4*0x211),_0x5db730=_0x19027c[_0x2489f8],_0x19027c[_0x2489f8]=_0x19027c[_0x514a78],_0x19027c[_0x514a78]=_0x5db730,_0x361067+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x18da44['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x8d81c0)^_0x19027c[(_0x19027c[_0x2489f8]+_0x19027c[_0x514a78])%(-0x12*0x1b4+0x2c4*-0x9+0x388c)]);}return _0x361067;};_0x44e2['\x66\x68\x4e\x6e\x70\x59']=_0x200c1d,_0x44e2['\x6c\x54\x57\x47\x51\x41']={},_0x44e2['\x62\x74\x46\x4d\x47\x6d']=!![];}const _0xb5b0d8=_0x4d7a56[0x238d*0x1+0x34d+-0x26da],_0x15e447=_0x4a5fad+_0xb5b0d8,_0x2ac890=_0x44e2['\x6c\x54\x57\x47\x51\x41'][_0x15e447];if(!_0x2ac890){if(_0x44e2['\x77\x6e\x4d\x49\x70\x44']===undefined){const _0x2a7d3f=function(_0x4746e3){this['\x72\x56\x55\x51\x79\x6d']=_0x4746e3,this['\x4c\x6b\x48\x56\x54\x4e']=[-0x1140+0x1a*-0x10f+0x2cc7,-0x14f*-0x1d+-0x3b8+-0x223b,0x147c+-0x1*0xf06+-0x576*0x1],this['\x6b\x58\x48\x4a\x6e\x43']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x6f\x67\x59\x72\x59\x4a']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x4d\x4c\x4f\x75\x4a\x7a']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x2a7d3f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x67\x53\x51\x45\x67\x4a']=function(){const _0x417269=new RegExp(this['\x6f\x67\x59\x72\x59\x4a']+this['\x4d\x4c\x4f\x75\x4a\x7a']),_0x160cce=_0x417269['\x74\x65\x73\x74'](this['\x6b\x58\x48\x4a\x6e\x43']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x4c\x6b\x48\x56\x54\x4e'][-0x116b+0x939+-0x833*-0x1]:--this['\x4c\x6b\x48\x56\x54\x4e'][0x1*-0x9d9+0x1cd6+-0x12fd];return this['\x44\x53\x4f\x50\x78\x70'](_0x160cce);},_0x2a7d3f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x44\x53\x4f\x50\x78\x70']=function(_0x383017){if(!Boolean(~_0x383017))return _0x383017;return this['\x44\x49\x69\x44\x48\x70'](this['\x72\x56\x55\x51\x79\x6d']);},_0x2a7d3f['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x44\x49\x69\x44\x48\x70']=function(_0x3d6448){for(let _0x262408=0x15ee+0x127d+0xd79*-0x3,_0x4a4b24=this['\x4c\x6b\x48\x56\x54\x4e']['\x6c\x65\x6e\x67\x74\x68'];_0x262408<_0x4a4b24;_0x262408++){this['\x4c\x6b\x48\x56\x54\x4e']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x4a4b24=this['\x4c\x6b\x48\x56\x54\x4e']['\x6c\x65\x6e\x67\x74\x68'];}return _0x3d6448(this['\x4c\x6b\x48\x56\x54\x4e'][-0xe99*0x1+-0x27*0x8d+-0x905*-0x4]);},(''+function(){return 0x118f+-0x8d*-0x1b+-0x206e;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(-0x1*-0x1e6d+0xf0+-0x1f5c)&&new _0x2a7d3f(_0x44e2)['\x67\x53\x51\x45\x67\x4a'](),_0x44e2['\x77\x6e\x4d\x49\x70\x44']=!![];}_0x43236b=_0x44e2['\x66\x68\x4e\x6e\x70\x59'](_0x43236b,_0x4a6403),_0x44e2['\x6c\x54\x57\x47\x51\x41'][_0x15e447]=_0x43236b;}else _0x43236b=_0x2ac890;return _0x43236b;}const _0x5ecfb=require(_0x37a2ca(0x1ab,'\x67\x75\x24\x68')),_0xfcdaf2='\x61\x65\x73\x2d\x32\x35\x36\x2d'+_0x37a2ca(0x1a9,'\x43\x30\x40\x48'),_0x1949ab=-0x3d6*0x2+-0x121d*0x2+0xea6*0x3,_0x4df953=0x2280+-0xcfa+-0x1576,_0x2d90ea=-0x13*0xc2+-0x168+0xfee*0x1;function _0x381a5e(){const _0x276a23=_0x37a2ca;return _0x5ecfb[_0x276a23(0x18f,'\x4b\x7a\x35\x50')+'\x74\x65\x73'](_0x2d90ea);}function _0x48d684(_0x4ed903,_0x46b524){const _0x2c4f67=_0x37a2ca,_0x19f9fb={};_0x19f9fb[_0x2c4f67(0x1f9,'\x6e\x7a\x73\x78')]=_0x2c4f67(0x17e,'\x67\x75\x24\x68')+_0x2c4f67(0x1dd,'\x67\x75\x24\x68'),_0x19f9fb['\x48\x77\x5a\x76\x75']=function(_0x3a94e3,_0x2b12f8){return _0x3a94e3===_0x2b12f8;},_0x19f9fb[_0x2c4f67(0x1b0,'\x66\x6a\x24\x36')]=_0x2c4f67(0x192,'\x47\x68\x65\x40'),_0x19f9fb[_0x2c4f67(0x1d6,'\x4c\x57\x4c\x61')]=_0x2c4f67(0x1da,'\x57\x65\x4f\x4c')+'\x6b\x65\x79\x20\x6d\x75\x73\x74'+_0x2c4f67(0x1fe,'\x6b\x41\x4f\x61')+_0x2c4f67(0x18c,'\x23\x50\x38\x35')+_0x2c4f67(0x1f0,'\x55\x35\x51\x63'),_0x19f9fb['\x53\x62\x6f\x59\x53']=_0x2c4f67(0x1c9,'\x28\x72\x67\x6e');const _0x42e483=_0x19f9fb;if(!_0x46b524||_0x46b524[_0x2c4f67(0x1bb,'\x57\x65\x4f\x4c')]!==_0x2d90ea){if(_0x42e483[_0x2c4f67(0x1aa,'\x21\x2a\x24\x37')](_0x42e483[_0x2c4f67(0x1e2,'\x46\x67\x64\x39')],_0x42e483[_0x2c4f67(0x1c2,'\x54\x59\x28\x6f')]))throw new Error(_0x42e483[_0x2c4f67(0x1a0,'\x4f\x61\x6c\x6c')]);else return _0x3042e8[_0x2c4f67(0x18d,'\x4e\x76\x5e\x73')]()['\x73\x65\x61\x72\x63\x68'](jmrcbA[_0x2c4f67(0x1b6,'\x49\x39\x52\x58')])[_0x2c4f67(0x1b4,'\x66\x6a\x24\x36')]()[_0x2c4f67(0x19c,'\x6d\x2a\x43\x53')+_0x2c4f67(0x19d,'\x29\x39\x6e\x6c')](_0xb81d2f)[_0x2c4f67(0x1fa,'\x46\x67\x64\x39')](jmrcbA['\x79\x4e\x64\x62\x6e']);}const _0x4be20a=_0x5ecfb[_0x2c4f67(0x19b,'\x47\x68\x65\x40')+_0x2c4f67(0x1bd,'\x49\x79\x68\x51')](_0x1949ab),_0x2ae663={};_0x2ae663[_0x2c4f67(0x191,'\x6d\x2a\x43\x53')+_0x2c4f67(0x1f8,'\x54\x59\x28\x6f')]=_0x4df953;const _0x2043e6=_0x5ecfb[_0x2c4f67(0x201,'\x42\x55\x77\x54')+_0x2c4f67(0x1a7,'\x4c\x6e\x5e\x6d')](_0xfcdaf2,_0x46b524,_0x4be20a,_0x2ae663),_0x282aae=Buffer[_0x2c4f67(0x19a,'\x6b\x41\x4f\x61')](_0x4ed903)?_0x4ed903:Buffer[_0x2c4f67(0x1b9,'\x43\x76\x45\x5a')](_0x4ed903,_0x42e483[_0x2c4f67(0x1ad,'\x6e\x7a\x73\x78')]),_0x315861=Buffer['\x63\x6f\x6e\x63\x61\x74']([_0x2043e6[_0x2c4f67(0x183,'\x40\x77\x52\x25')](_0x282aae),_0x2043e6[_0x2c4f67(0x193,'\x4b\x7a\x35\x50')]()]),_0x83ea5a=_0x2043e6[_0x2c4f67(0x1c6,'\x47\x68\x65\x40')+'\x61\x67'](),_0x489365={};return _0x489365[_0x2c4f67(0x1d0,'\x28\x72\x67\x6e')+'\x78\x74']=_0x315861,_0x489365['\x69\x76']=_0x4be20a,_0x489365['\x61\x75\x74\x68\x54\x61\x67']=_0x83ea5a,_0x489365;}function _0x5d9d9c(_0xe891e8,_0x17b034,_0x43cdc4,_0x14134b){const _0x28644d=_0x37a2ca,_0x43991e={};_0x43991e[_0x28644d(0x1d1,'\x6e\x7a\x73\x78')]=function(_0x3861ed,_0x6fedfa){return _0x3861ed!==_0x6fedfa;},_0x43991e[_0x28644d(0x1dc,'\x65\x70\x51\x5a')]=_0x28644d(0x1c7,'\x29\x39\x6e\x6c')+_0x28644d(0x1e3,'\x4c\x6e\x5e\x6d')+_0x28644d(0x1f2,'\x6e\x7a\x73\x78')+'\x74\x6c\x79\x20\x33\x32\x20\x62'+_0x28644d(0x1ef,'\x28\x72\x67\x6e');const _0x5d05c9=_0x43991e;if(!_0x17b034||_0x5d05c9[_0x28644d(0x1b7,'\x28\x72\x67\x6e')](_0x17b034[_0x28644d(0x1bb,'\x57\x65\x4f\x4c')],_0x2d90ea))throw new Error(_0x5d05c9[_0x28644d(0x181,'\x4c\x6e\x5e\x6d')]);const _0x34e36f={};_0x34e36f[_0x28644d(0x196,'\x66\x32\x23\x5e')+_0x28644d(0x1ba,'\x6d\x2a\x43\x53')]=_0x4df953;const _0x3d3659=_0x5ecfb[_0x28644d(0x1eb,'\x4e\x76\x5e\x73')+_0x28644d(0x1f4,'\x6e\x7a\x73\x78')](_0xfcdaf2,_0x17b034,_0x43cdc4,_0x34e36f);return _0x3d3659[_0x28644d(0x1be,'\x68\x78\x75\x42')+'\x61\x67'](_0x14134b),Buffer[_0x28644d(0x1e7,'\x6b\x41\x4f\x61')]([_0x3d3659[_0x28644d(0x1e5,'\x6b\x41\x4f\x61')](_0xe891e8),_0x3d3659['\x66\x69\x6e\x61\x6c']()]);}function _0x5463a0(_0x29a10e){const _0x180fb4=_0x37a2ca;return Buffer[_0x180fb4(0x1bc,'\x4c\x57\x4c\x61')]([_0x29a10e['\x69\x76'],_0x29a10e[_0x180fb4(0x1c0,'\x42\x55\x77\x54')],_0x29a10e[_0x180fb4(0x194,'\x29\x5e\x6f\x29')+'\x78\x74']]);}function _0x5bd33d(_0x3c5258){const _0x4b4e5a=_0x37a2ca,_0x301649={};_0x301649[_0x4b4e5a(0x19f,'\x76\x4e\x26\x67')]=function(_0x587d9f,_0x4f4b84){return _0x587d9f+_0x4f4b84;},_0x301649[_0x4b4e5a(0x1c4,'\x4c\x57\x4c\x61')]=_0x4b4e5a(0x1cf,'\x55\x35\x51\x63')+_0x4b4e5a(0x1f3,'\x68\x78\x75\x42')+_0x4b4e5a(0x1df,'\x50\x46\x5a\x68')+_0x4b4e5a(0x195,'\x67\x75\x24\x68'),_0x301649[_0x4b4e5a(0x204,'\x23\x50\x38\x35')]=function(_0x539c03,_0x55cf0d){return _0x539c03+_0x55cf0d;},_0x301649['\x4d\x6f\x4e\x66\x78']=function(_0x1dc814,_0x2157f8){return _0x1dc814+_0x2157f8;};const _0x20decc=_0x301649;if(!Buffer[_0x4b4e5a(0x1a4,'\x4b\x7a\x35\x50')](_0x3c5258)||_0x3c5258[_0x4b4e5a(0x1d2,'\x68\x78\x75\x42')]<_0x20decc[_0x4b4e5a(0x189,'\x4b\x7a\x35\x50')](_0x1949ab,_0x4df953)+(-0x422+-0x255f+-0x4d*-0x8a))throw new Error(_0x20decc[_0x4b4e5a(0x1d4,'\x58\x26\x74\x78')]);const _0xb23fad=_0x3c5258['\x73\x75\x62\x61\x72\x72\x61\x79'](-0x1249+0x1cd5*0x1+0x2*-0x546,_0x1949ab),_0xae6767=_0x3c5258[_0x4b4e5a(0x1db,'\x6b\x41\x4f\x61')](_0x1949ab,_0x20decc[_0x4b4e5a(0x1ed,'\x48\x40\x37\x6c')](_0x1949ab,_0x4df953)),_0x5b2ac3=_0x3c5258[_0x4b4e5a(0x1d7,'\x4a\x45\x65\x32')](_0x20decc[_0x4b4e5a(0x188,'\x29\x39\x6e\x6c')](_0x1949ab,_0x4df953)),_0x443f66={};return _0x443f66[_0x4b4e5a(0x17f,'\x52\x69\x24\x34')+'\x78\x74']=_0x5b2ac3,_0x443f66['\x69\x76']=_0xb23fad,_0x443f66[_0x4b4e5a(0x1fb,'\x43\x76\x45\x5a')]=_0xae6767,_0x443f66;}const _0x13092c={};_0x13092c[_0x37a2ca(0x1fd,'\x29\x56\x39\x34')+'\x4d']=_0xfcdaf2,_0x13092c[_0x37a2ca(0x1c1,'\x4e\x76\x5e\x73')+'\x53']=_0x2d90ea,_0x13092c[_0x37a2ca(0x1e9,'\x29\x39\x6e\x6c')]=_0x1949ab,_0x13092c['\x54\x41\x47\x5f\x42\x59\x54\x45'+'\x53']=_0x4df953,_0x13092c[_0x37a2ca(0x1a2,'\x67\x75\x24\x68')+_0x37a2ca(0x1cb,'\x55\x35\x51\x63')]=_0x381a5e,_0x13092c[_0x37a2ca(0x1c5,'\x6e\x58\x6f\x23')]=_0x48d684,_0x13092c[_0x37a2ca(0x1b1,'\x21\x2a\x24\x37')]=_0x5d9d9c,_0x13092c[_0x37a2ca(0x1b3,'\x57\x6d\x74\x79')]=_0x5463a0,_0x13092c[_0x37a2ca(0x18b,'\x53\x33\x4d\x6f')]=_0x5bd33d,module[_0x37a2ca(0x1de,'\x49\x79\x68\x51')]=_0x13092c;
|
|
1
|
+
// AES-256-GCM symmetric encryption for sealed / privacy computing blobs.
|
|
2
|
+
// Keys are generated locally and never leave the client.
|
|
3
|
+
|
|
4
|
+
const crypto = require('crypto');
|
|
5
|
+
|
|
6
|
+
const ALGORITHM = 'aes-256-gcm';
|
|
7
|
+
const IV_BYTES = 12;
|
|
8
|
+
const TAG_BYTES = 16;
|
|
9
|
+
const KEY_BYTES = 32;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Generate a random 256-bit key.
|
|
13
|
+
* @returns {Buffer}
|
|
14
|
+
*/
|
|
15
|
+
function generateKey() {
|
|
16
|
+
return crypto.randomBytes(KEY_BYTES);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Encrypt plaintext with AES-256-GCM.
|
|
21
|
+
* @param {Buffer|string} plaintext
|
|
22
|
+
* @param {Buffer} key - 32-byte key
|
|
23
|
+
* @returns {{ ciphertext: Buffer, iv: Buffer, authTag: Buffer }}
|
|
24
|
+
*/
|
|
25
|
+
function encrypt(plaintext, key) {
|
|
26
|
+
if (!key || key.length !== KEY_BYTES) {
|
|
27
|
+
throw new Error('crypto: key must be exactly 32 bytes');
|
|
28
|
+
}
|
|
29
|
+
const iv = crypto.randomBytes(IV_BYTES);
|
|
30
|
+
// authTagLength is set explicitly (matches the 16-byte default we already
|
|
31
|
+
// rely on) so the GCM tag length is pinned rather than left implicit. On
|
|
32
|
+
// decrypt this lets the cipher reject a truncated tag instead of silently
|
|
33
|
+
// accepting a weaker authenticator (Semgrep gcm-no-tag-length, issue #285).
|
|
34
|
+
const cipher = crypto.createCipheriv(ALGORITHM, key, iv, { authTagLength: TAG_BYTES });
|
|
35
|
+
const input = Buffer.isBuffer(plaintext) ? plaintext : Buffer.from(plaintext, 'utf8');
|
|
36
|
+
const encrypted = Buffer.concat([cipher.update(input), cipher.final()]);
|
|
37
|
+
const authTag = cipher.getAuthTag();
|
|
38
|
+
return { ciphertext: encrypted, iv, authTag };
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Decrypt ciphertext with AES-256-GCM.
|
|
43
|
+
* @param {Buffer} ciphertext
|
|
44
|
+
* @param {Buffer} key - 32-byte key
|
|
45
|
+
* @param {Buffer} iv - 12-byte IV
|
|
46
|
+
* @param {Buffer} authTag - 16-byte auth tag
|
|
47
|
+
* @returns {Buffer} plaintext
|
|
48
|
+
*/
|
|
49
|
+
function decrypt(ciphertext, key, iv, authTag) {
|
|
50
|
+
if (!key || key.length !== KEY_BYTES) {
|
|
51
|
+
throw new Error('crypto: key must be exactly 32 bytes');
|
|
52
|
+
}
|
|
53
|
+
const decipher = crypto.createDecipheriv(ALGORITHM, key, iv, { authTagLength: TAG_BYTES });
|
|
54
|
+
decipher.setAuthTag(authTag);
|
|
55
|
+
return Buffer.concat([decipher.update(ciphertext), decipher.final()]);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Pack ciphertext + iv + authTag into a single buffer for transport.
|
|
60
|
+
* Layout: [iv (12)] [authTag (16)] [ciphertext (...)]
|
|
61
|
+
* @param {{ ciphertext: Buffer, iv: Buffer, authTag: Buffer }} parts
|
|
62
|
+
* @returns {Buffer}
|
|
63
|
+
*/
|
|
64
|
+
function pack(parts) {
|
|
65
|
+
return Buffer.concat([parts.iv, parts.authTag, parts.ciphertext]);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Unpack a buffer produced by pack().
|
|
70
|
+
* @param {Buffer} packed
|
|
71
|
+
* @returns {{ ciphertext: Buffer, iv: Buffer, authTag: Buffer }}
|
|
72
|
+
*/
|
|
73
|
+
function unpack(packed) {
|
|
74
|
+
if (!Buffer.isBuffer(packed) || packed.length < IV_BYTES + TAG_BYTES + 1) {
|
|
75
|
+
throw new Error('crypto: packed buffer too short');
|
|
76
|
+
}
|
|
77
|
+
const iv = packed.subarray(0, IV_BYTES);
|
|
78
|
+
const authTag = packed.subarray(IV_BYTES, IV_BYTES + TAG_BYTES);
|
|
79
|
+
const ciphertext = packed.subarray(IV_BYTES + TAG_BYTES);
|
|
80
|
+
return { ciphertext, iv, authTag };
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
module.exports = {
|
|
84
|
+
ALGORITHM,
|
|
85
|
+
KEY_BYTES,
|
|
86
|
+
IV_BYTES,
|
|
87
|
+
TAG_BYTES,
|
|
88
|
+
generateKey,
|
|
89
|
+
encrypt,
|
|
90
|
+
decrypt,
|
|
91
|
+
pack,
|
|
92
|
+
unpack,
|
|
93
|
+
};
|