@evomap/evolver 1.91.2 → 1.92.1
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/README.md +13 -7
- package/index.js +150 -71
- package/package.json +2 -1
- package/src/adapters/scripts/_runtimePaths.js +10 -1
- package/src/adapters/scripts/evolver-session-end.js +10 -1
- package/src/canonicalIdentityLock.js +455 -0
- 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 +1 -5175
- package/src/gep/antiAbuseTelemetry.js +1 -233
- package/src/gep/assetStore.js +56 -12
- package/src/gep/autoDistillConv.js +1 -205
- package/src/gep/autoDistillLlm.js +1 -315
- package/src/gep/candidateEval.js +1 -92
- package/src/gep/candidates.js +1 -1
- package/src/gep/contentHash.js +1 -30
- package/src/gep/conversationDistiller.js +1 -270
- package/src/gep/conversationSniffer.js +1 -266
- package/src/gep/crypto.js +1 -93
- package/src/gep/curriculum.js +1 -1
- package/src/gep/deviceId.js +1 -218
- package/src/gep/envFingerprint.js +1 -118
- package/src/gep/epigenetics.js +1 -31
- package/src/gep/execBridge.js +1 -712
- package/src/gep/explore.js +1 -289
- package/src/gep/hash.js +1 -15
- package/src/gep/hubFetch.js +1 -672
- package/src/gep/hubReview.js +1 -212
- package/src/gep/hubSearch.js +1 -544
- package/src/gep/hubVerify.js +1 -306
- package/src/gep/learningSignals.js +1 -1
- package/src/gep/memoryGraph.js +1 -1449
- package/src/gep/memoryGraphAdapter.js +1 -203
- package/src/gep/mutation.js +1 -1
- package/src/gep/narrativeMemory.js +1 -1
- package/src/gep/openPRRegistry.js +1 -205
- package/src/gep/personality.js +1 -1
- package/src/gep/policyCheck.js +1 -599
- package/src/gep/prompt.js +1 -1
- package/src/gep/recallInject.js +1 -409
- package/src/gep/recallVerifier.js +1 -318
- package/src/gep/reflection.js +1 -1
- package/src/gep/savingsCore.js +1 -1
- package/src/gep/schemas/gene.js +2 -0
- package/src/gep/selector.js +1 -1
- package/src/gep/skillDistiller.js +1 -1294
- package/src/gep/solidify.js +1 -1
- package/src/gep/strategy.js +1 -136
- package/src/gep/syncAsset.js +1 -0
- package/src/gep/tokenSavings.js +1 -1
- package/src/gep/trajectoryExport.js +1 -3841
- package/src/gep/workspaceKeychain.js +1 -174
- package/src/proxy/extensions/traceControl.js +1 -123
- package/src/proxy/index.js +136 -8
- package/src/proxy/inject.js +1 -52
- package/src/proxy/lifecycle/manager.js +279 -18
- package/src/proxy/mailbox/state.js +60 -29
- package/src/proxy/trace/extractor.js +1 -2355
- package/src/proxy/trace/usage.js +1 -105
package/src/proxy/trace/usage.js
CHANGED
|
@@ -1,105 +1 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// Per-run token-usage rollup over the proxy trace log.
|
|
4
|
-
//
|
|
5
|
-
// The local proxy (src/proxy) meters real Anthropic input/output tokens for
|
|
6
|
-
// every Hand /v1/messages call into proxy-traces.jsonl. This reads that log
|
|
7
|
-
// back -- decrypting encrypted rows with the local EvoMap node secret -- and
|
|
8
|
-
// sums the real tokens spent within a time window, giving solidify the
|
|
9
|
-
// MEASURED cost of a derive loop.
|
|
10
|
-
//
|
|
11
|
-
// Best-effort by design: returns measured:false (and never throws) when the
|
|
12
|
-
// proxy was inactive, the node secret is missing, no rows fall in the window,
|
|
13
|
-
// or the in-window rows carried no usage (e.g. streamed-but-unobserved calls).
|
|
14
|
-
// Callers fall back to a grounded estimate in that case.
|
|
15
|
-
|
|
16
|
-
const fs = require('fs');
|
|
17
|
-
const {
|
|
18
|
-
resolveTraceFile,
|
|
19
|
-
resolveEvomapNodeSecret,
|
|
20
|
-
decryptTraceEnvelope,
|
|
21
|
-
} = require('./extractor');
|
|
22
|
-
|
|
23
|
-
const EMPTY = Object.freeze({
|
|
24
|
-
input_tokens: 0,
|
|
25
|
-
output_tokens: 0,
|
|
26
|
-
total_tokens: 0,
|
|
27
|
-
calls: 0,
|
|
28
|
-
measured: false,
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
function _rowTimestampMs(row) {
|
|
32
|
-
const iso = row && (row.timestamp || row.createdAtIso);
|
|
33
|
-
if (iso) {
|
|
34
|
-
const ms = Date.parse(iso);
|
|
35
|
-
if (Number.isFinite(ms)) return ms;
|
|
36
|
-
}
|
|
37
|
-
// createdAt is unix seconds in the Prism trace shape.
|
|
38
|
-
if (row && Number.isFinite(Number(row.createdAt))) return Number(row.createdAt) * 1000;
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Sum the real token usage the proxy recorded within a run's time window.
|
|
44
|
-
*
|
|
45
|
-
* @param {object} opts
|
|
46
|
-
* @param {string} opts.sinceIso - REQUIRED lower bound (e.g. last_run.created_at).
|
|
47
|
-
* Without a window we cannot attribute traces to this run, so we report
|
|
48
|
-
* unmeasured rather than summing unrelated calls.
|
|
49
|
-
* @param {string} [opts.untilIso] - upper bound; defaults to now.
|
|
50
|
-
* @returns {{input_tokens:number,output_tokens:number,total_tokens:number,calls:number,measured:boolean}}
|
|
51
|
-
*/
|
|
52
|
-
function sumRunUsage(opts = {}) {
|
|
53
|
-
const sinceMs = opts && opts.sinceIso != null ? Date.parse(opts.sinceIso) : NaN;
|
|
54
|
-
if (!Number.isFinite(sinceMs)) return { ...EMPTY };
|
|
55
|
-
const untilMs = opts && opts.untilIso != null && Number.isFinite(Date.parse(opts.untilIso))
|
|
56
|
-
? Date.parse(opts.untilIso)
|
|
57
|
-
: Date.now();
|
|
58
|
-
|
|
59
|
-
let raw;
|
|
60
|
-
try {
|
|
61
|
-
const file = resolveTraceFile();
|
|
62
|
-
if (!fs.existsSync(file)) return { ...EMPTY };
|
|
63
|
-
raw = fs.readFileSync(file, 'utf8');
|
|
64
|
-
} catch (_) {
|
|
65
|
-
return { ...EMPTY };
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
let secret = null;
|
|
69
|
-
try { secret = resolveEvomapNodeSecret(); } catch (_) { secret = null; }
|
|
70
|
-
|
|
71
|
-
let input = 0;
|
|
72
|
-
let output = 0;
|
|
73
|
-
let calls = 0;
|
|
74
|
-
for (const line of raw.split('\n')) {
|
|
75
|
-
const s = line.trim();
|
|
76
|
-
if (!s) continue;
|
|
77
|
-
let row;
|
|
78
|
-
try { row = JSON.parse(s); } catch (_) { continue; }
|
|
79
|
-
if (row && row.encrypted) {
|
|
80
|
-
if (!secret) continue; // cannot decrypt -> treat as unobserved
|
|
81
|
-
try { row = decryptTraceEnvelope(row, secret); } catch (_) { continue; }
|
|
82
|
-
}
|
|
83
|
-
if (!row || typeof row !== 'object') continue;
|
|
84
|
-
const ms = _rowTimestampMs(row);
|
|
85
|
-
if (ms == null || ms < sinceMs || ms > untilMs) continue;
|
|
86
|
-
const i = Number(row.input_tokens);
|
|
87
|
-
const o = Number(row.output_tokens);
|
|
88
|
-
const hasI = Number.isFinite(i) && i > 0;
|
|
89
|
-
const hasO = Number.isFinite(o) && o > 0;
|
|
90
|
-
if (hasI) input += i;
|
|
91
|
-
if (hasO) output += o;
|
|
92
|
-
if (hasI || hasO) calls += 1;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if (calls === 0) return { ...EMPTY };
|
|
96
|
-
return {
|
|
97
|
-
input_tokens: input,
|
|
98
|
-
output_tokens: output,
|
|
99
|
-
total_tokens: input + output,
|
|
100
|
-
calls,
|
|
101
|
-
measured: true,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
module.exports = { sumRunUsage };
|
|
1
|
+
const _0x213b78=_0x5014;(function(_0x5c67aa,_0x265292){const _0x529ecb=_0x5014,_0x48ebc0=_0x5c67aa();while(!![]){try{const _0x4a0724=-parseInt(_0x529ecb(0x167,'\x4b\x41\x71\x23'))/(-0x3*-0xcb3+-0x15c3+-0x25*0x71)+-parseInt(_0x529ecb(0x198,'\x5e\x25\x59\x21'))/(-0x17e*0x5+-0x12e3+0x1a5b)+-parseInt(_0x529ecb(0x154,'\x58\x59\x6d\x32'))/(0x11dd*-0x1+0x228+-0x7dc*-0x2)*(-parseInt(_0x529ecb(0x15f,'\x23\x28\x68\x35'))/(0x4*-0x80f+-0x1*0xa96+0x2ad6*0x1))+-parseInt(_0x529ecb(0x153,'\x65\x2a\x24\x29'))/(-0x613*0x2+-0xcfd+0x1928)*(parseInt(_0x529ecb(0x19a,'\x21\x6e\x39\x40'))/(-0x17a2+-0xd90+-0x6*-0x634))+parseInt(_0x529ecb(0x172,'\x32\x4d\x23\x53'))/(-0x76*0x17+-0x2683*0x1+-0x172*-0x22)+-parseInt(_0x529ecb(0x140,'\x30\x65\x45\x26'))/(0xbb*-0x6+0x94e+0x272*-0x2)+-parseInt(_0x529ecb(0x187,'\x56\x74\x70\x34'))/(0xb18*0x1+0x1*-0x565+-0x2*0x2d5);if(_0x4a0724===_0x265292)break;else _0x48ebc0['push'](_0x48ebc0['shift']());}catch(_0x74492e){_0x48ebc0['push'](_0x48ebc0['shift']());}}}(_0x532b,0xcba26+0x12b8c+-0x5eced));const _0x305e8a=(function(){const _0x22e8e4=_0x5014,_0x931edb={};_0x931edb[_0x22e8e4(0x14e,'\x58\x59\x6d\x32')]=_0x22e8e4(0x156,'\x41\x28\x76\x75');const _0x82be73=_0x931edb;let _0x385e04=!![];return function(_0x4d4384,_0x511e2d){const _0x4ba056=_0x22e8e4,_0x327c93={};_0x327c93['\x63\x54\x53\x44\x41']=function(_0x5422b9,_0x162e65){return _0x5422b9!==_0x162e65;},_0x327c93[_0x4ba056(0x180,'\x44\x68\x26\x75')]=_0x82be73[_0x4ba056(0x144,'\x31\x78\x47\x38')];const _0x35eda6=_0x327c93,_0x335471=_0x385e04?function(){const _0x2db856=_0x4ba056;if(_0x35eda6[_0x2db856(0x163,'\x44\x68\x26\x75')](_0x35eda6[_0x2db856(0x13d,'\x70\x59\x4b\x7a')],_0x35eda6[_0x2db856(0x162,'\x33\x54\x76\x59')]))_0x5496ee=_0x219775[_0x2db856(0x19b,'\x6a\x48\x43\x71')](_0x4b80ca);else{if(_0x511e2d){const _0x3cf359=_0x511e2d[_0x2db856(0x160,'\x76\x47\x39\x44')](_0x4d4384,arguments);return _0x511e2d=null,_0x3cf359;}}}:function(){};return _0x385e04=![],_0x335471;};}()),_0x1a36da=_0x305e8a(this,function(){const _0x381d9c=_0x5014,_0x2e0130={};_0x2e0130[_0x381d9c(0x193,'\x57\x64\x45\x4a')]='\x28\x28\x28\x2e\x2b\x29\x2b\x29'+_0x381d9c(0x151,'\x38\x47\x25\x31');const _0x357427=_0x2e0130;return _0x1a36da[_0x381d9c(0x13b,'\x26\x44\x63\x5d')]()[_0x381d9c(0x13e,'\x34\x4f\x5d\x6f')](_0x357427[_0x381d9c(0x147,'\x28\x6d\x75\x26')])[_0x381d9c(0x178,'\x5b\x39\x75\x71')]()[_0x381d9c(0x184,'\x38\x47\x25\x31')+_0x381d9c(0x14c,'\x46\x4c\x4f\x74')](_0x1a36da)['\x73\x65\x61\x72\x63\x68'](_0x357427[_0x381d9c(0x18b,'\x47\x76\x71\x58')]);});function _0x5014(_0x3eb24b,_0x396930){_0x3eb24b=_0x3eb24b-(0x238d+0x1cdd+-0x3f32);const _0xcedb32=_0x532b();let _0x57d041=_0xcedb32[_0x3eb24b];if(_0x5014['\x65\x45\x51\x4f\x6c\x79']===undefined){var _0x26b6a6=function(_0x46176c){const _0x503587='\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 _0x24c2a6='',_0x44be06='',_0x2beeac=_0x24c2a6+_0x26b6a6,_0x38ed64=(''+function(){return 0x1d12+0x4ff*-0x7+0x5e7;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0x1*0x23cf+0x71e+0x4*-0xabb);for(let _0xc9b06a=0x2653*0x1+0x2b*-0x95+-0xd4c,_0x3af3b0,_0x502c2f,_0x5b40f6=0xaf4+0xef2*0x1+-0x19e6;_0x502c2f=_0x46176c['\x63\x68\x61\x72\x41\x74'](_0x5b40f6++);~_0x502c2f&&(_0x3af3b0=_0xc9b06a%(0x4*-0x3b+-0x2523*-0x1+0xc11*-0x3)?_0x3af3b0*(0x824+0x21d0+0x14da*-0x2)+_0x502c2f:_0x502c2f,_0xc9b06a++%(0x1e4a+0xd9d+0x5*-0x8c7))?_0x24c2a6+=_0x38ed64||_0x2beeac['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5b40f6+(0x2132+-0x269b+0x573))-(-0x1d21+-0x1800+-0x11b9*-0x3)!==0x2e*-0x3d+0x1*0x1f9d+-0x137*0x11?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x5*-0x559+0x3*0x4e+0xd54*-0x2&_0x3af3b0>>(-(-0x2070+-0x50d+0x257f*0x1)*_0xc9b06a&-0x1640+0x1*0x1cfb+-0x6b5)):_0xc9b06a:0x7ba*0x5+0x1626+-0x3cc8){_0x502c2f=_0x503587['\x69\x6e\x64\x65\x78\x4f\x66'](_0x502c2f);}for(let _0x1cddee=-0x2*-0xbea+0xb38*0x1+-0x230c,_0x373e7c=_0x24c2a6['\x6c\x65\x6e\x67\x74\x68'];_0x1cddee<_0x373e7c;_0x1cddee++){_0x44be06+='\x25'+('\x30\x30'+_0x24c2a6['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1cddee)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x1*0xd21+-0x1c8d*0x1+0x1*0x29be))['\x73\x6c\x69\x63\x65'](-(0xcd1+0x60d*0x1+-0x12dc));}return decodeURIComponent(_0x44be06);};const _0x29cdee=function(_0x33875a,_0x20656b){let _0x43f043=[],_0x53bc1f=0x25a3+0x46*-0xb+-0x6ed*0x5,_0x5d714d,_0x3003e9='';_0x33875a=_0x26b6a6(_0x33875a);let _0x226d41;for(_0x226d41=-0xb*0x7+0x28c*0x5+-0xc6f;_0x226d41<0x1803+-0x772*-0x4+-0x34cb;_0x226d41++){_0x43f043[_0x226d41]=_0x226d41;}for(_0x226d41=0x11a5+-0xe72*-0x1+-0x1*0x2017;_0x226d41<-0x1f79+-0x3*-0x875+-0x12*-0x65;_0x226d41++){_0x53bc1f=(_0x53bc1f+_0x43f043[_0x226d41]+_0x20656b['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x226d41%_0x20656b['\x6c\x65\x6e\x67\x74\x68']))%(-0x3*-0x23a+0x2356+-0x2904),_0x5d714d=_0x43f043[_0x226d41],_0x43f043[_0x226d41]=_0x43f043[_0x53bc1f],_0x43f043[_0x53bc1f]=_0x5d714d;}_0x226d41=-0x168a+0xe9*-0x24+-0x374e*-0x1,_0x53bc1f=0x150d+-0x1495+-0x78;for(let _0x2bb474=0x99*-0x13+0x1*-0x835+-0x4*-0x4e4;_0x2bb474<_0x33875a['\x6c\x65\x6e\x67\x74\x68'];_0x2bb474++){_0x226d41=(_0x226d41+(-0x12f1+0x21d*-0xb+0x1*0x2a31))%(-0x1*0xe89+-0x11f9+0x2182),_0x53bc1f=(_0x53bc1f+_0x43f043[_0x226d41])%(0x1*-0x1e42+-0xbdb+-0x1*-0x2b1d),_0x5d714d=_0x43f043[_0x226d41],_0x43f043[_0x226d41]=_0x43f043[_0x53bc1f],_0x43f043[_0x53bc1f]=_0x5d714d,_0x3003e9+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x33875a['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2bb474)^_0x43f043[(_0x43f043[_0x226d41]+_0x43f043[_0x53bc1f])%(-0x4e1+-0x1*-0x14f5+0x2*-0x78a)]);}return _0x3003e9;};_0x5014['\x50\x75\x6c\x78\x51\x63']=_0x29cdee,_0x5014['\x68\x4f\x6a\x45\x49\x58']={},_0x5014['\x65\x45\x51\x4f\x6c\x79']=!![];}const _0x41e3b5=_0xcedb32[-0x232*-0x7+0x261b+0x15f*-0x27],_0x4063d9=_0x3eb24b+_0x41e3b5,_0xd33b47=_0x5014['\x68\x4f\x6a\x45\x49\x58'][_0x4063d9];if(!_0xd33b47){if(_0x5014['\x72\x68\x56\x48\x4b\x61']===undefined){const _0x1ca686=function(_0x2f50bb){this['\x79\x74\x68\x68\x65\x69']=_0x2f50bb,this['\x66\x63\x53\x44\x4d\x78']=[0x13a*0x4+0x261e+0x3*-0xe57,-0x1334+-0x4a2+0x3*0x7f2,-0x3*-0x840+0x13*0x139+-0x2ffb],this['\x62\x65\x51\x45\x42\x77']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x74\x46\x74\x74\x4a\x46']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x67\x6d\x53\x65\x72\x77']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x1ca686['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x76\x50\x63\x43\x53\x58']=function(){const _0x279ac3=new RegExp(this['\x74\x46\x74\x74\x4a\x46']+this['\x67\x6d\x53\x65\x72\x77']),_0x10bcb8=_0x279ac3['\x74\x65\x73\x74'](this['\x62\x65\x51\x45\x42\x77']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x66\x63\x53\x44\x4d\x78'][0x17*0x69+-0x1df5*0x1+0x1*0x1487]:--this['\x66\x63\x53\x44\x4d\x78'][0x49d*-0x1+0xc85+-0x7e8];return this['\x6d\x50\x6d\x6d\x76\x74'](_0x10bcb8);},_0x1ca686['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x6d\x50\x6d\x6d\x76\x74']=function(_0x59ada4){if(!Boolean(~_0x59ada4))return _0x59ada4;return this['\x64\x69\x54\x77\x7a\x56'](this['\x79\x74\x68\x68\x65\x69']);},_0x1ca686['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x64\x69\x54\x77\x7a\x56']=function(_0x30dd61){for(let _0x19f64c=0x2284+-0x9c5*-0x1+0x1*-0x2c49,_0x305b43=this['\x66\x63\x53\x44\x4d\x78']['\x6c\x65\x6e\x67\x74\x68'];_0x19f64c<_0x305b43;_0x19f64c++){this['\x66\x63\x53\x44\x4d\x78']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x305b43=this['\x66\x63\x53\x44\x4d\x78']['\x6c\x65\x6e\x67\x74\x68'];}return _0x30dd61(this['\x66\x63\x53\x44\x4d\x78'][0x2677+-0x3*0x203+0x206e*-0x1]);},(''+function(){return-0x113b+0x1*-0x2434+0x356f;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x1f6*-0x4+-0x1501+0x1cda)&&new _0x1ca686(_0x5014)['\x76\x50\x63\x43\x53\x58'](),_0x5014['\x72\x68\x56\x48\x4b\x61']=!![];}_0x57d041=_0x5014['\x50\x75\x6c\x78\x51\x63'](_0x57d041,_0x396930),_0x5014['\x68\x4f\x6a\x45\x49\x58'][_0x4063d9]=_0x57d041;}else _0x57d041=_0xd33b47;return _0x57d041;}_0x1a36da();'use strict';const _0x526bfe=require('\x66\x73'),{resolveTraceFile:_0x3d75bb,resolveEvomapNodeSecret:_0x3c5537,decryptTraceEnvelope:_0x74834a}=require(_0x213b78(0x188,'\x47\x77\x45\x6b')+_0x213b78(0x14f,'\x32\x4d\x23\x53')),_0x45983d={};_0x45983d[_0x213b78(0x170,'\x32\x4d\x23\x53')+_0x213b78(0x17e,'\x26\x44\x63\x5d')]=0x0,_0x45983d[_0x213b78(0x18c,'\x58\x71\x75\x6a')+_0x213b78(0x181,'\x4d\x66\x35\x64')]=0x0,_0x45983d[_0x213b78(0x155,'\x34\x4d\x57\x69')+_0x213b78(0x159,'\x28\x6d\x75\x26')]=0x0,_0x45983d[_0x213b78(0x18a,'\x41\x28\x76\x75')]=0x0,_0x45983d[_0x213b78(0x16b,'\x70\x59\x4b\x7a')]=![];const _0x50beb5=Object['\x66\x72\x65\x65\x7a\x65'](_0x45983d);function _0x168ead(_0xdc734e){const _0x356412=_0x213b78,_0x2fa00c={'\x57\x75\x4a\x59\x6f':function(_0x43c9d4,_0x3cb479){return _0x43c9d4(_0x3cb479);},'\x50\x41\x66\x75\x6d':function(_0x1253ef,_0x5309b2){return _0x1253ef*_0x5309b2;}},_0x3f9231=_0xdc734e&&(_0xdc734e[_0x356412(0x16a,'\x34\x4f\x5d\x6f')+'\x70']||_0xdc734e[_0x356412(0x171,'\x71\x55\x64\x46')+_0x356412(0x166,'\x41\x28\x76\x75')]);if(_0x3f9231){const _0x50b656=Date[_0x356412(0x185,'\x5b\x39\x75\x71')](_0x3f9231);if(Number[_0x356412(0x138,'\x56\x74\x70\x34')](_0x50b656))return _0x50b656;}if(_0xdc734e&&Number[_0x356412(0x148,'\x65\x2a\x24\x29')](_0x2fa00c[_0x356412(0x177,'\x73\x74\x72\x36')](Number,_0xdc734e[_0x356412(0x157,'\x68\x67\x77\x67')+'\x74'])))return _0x2fa00c[_0x356412(0x190,'\x54\x6f\x64\x33')](Number(_0xdc734e[_0x356412(0x157,'\x68\x67\x77\x67')+'\x74']),0x649*0x2+-0x6cf+-0x1db);return null;}function _0x2e7df0(_0x3cc786={}){const _0x53e48e=_0x213b78,_0x4fff0c={'\x43\x72\x4c\x54\x59':function(_0x4df9a7,_0x356391,_0xdb930e){return _0x4df9a7(_0x356391,_0xdb930e);},'\x57\x41\x6f\x41\x51':function(_0x48101c){return _0x48101c();},'\x47\x79\x4d\x42\x46':function(_0x1217b7){return _0x1217b7();},'\x75\x4e\x7a\x50\x62':'\x75\x74\x66\x38','\x6f\x49\x7a\x47\x79':function(_0x397673){return _0x397673();},'\x6b\x62\x50\x62\x72':function(_0x310bd4,_0x2c8dd7){return _0x310bd4!==_0x2c8dd7;},'\x54\x47\x77\x4e\x69':_0x53e48e(0x13a,'\x57\x64\x45\x4a'),'\x66\x74\x68\x68\x69':'\x51\x62\x59\x77\x4a','\x41\x6c\x57\x41\x79':'\x6f\x45\x58\x46\x78','\x79\x66\x45\x4a\x4f':'\x4c\x67\x7a\x49\x50','\x4f\x6a\x77\x76\x48':function(_0x1a4e13,_0xb9074b){return _0x1a4e13===_0xb9074b;},'\x66\x57\x4f\x56\x58':_0x53e48e(0x145,'\x6c\x48\x5b\x32'),'\x49\x6c\x77\x77\x52':function(_0x53a373,_0x44f9a0){return _0x53a373!==_0x44f9a0;},'\x73\x75\x4d\x49\x75':_0x53e48e(0x18d,'\x56\x74\x70\x34'),'\x4e\x54\x59\x73\x78':function(_0x4d94a7,_0x51e4b3){return _0x4d94a7(_0x51e4b3);},'\x57\x5a\x65\x6c\x44':function(_0x27efbf,_0x4cdd1a){return _0x27efbf>_0x4cdd1a;},'\x59\x48\x72\x7a\x6b':function(_0x38b6a3,_0x2d5482){return _0x38b6a3+_0x2d5482;}},_0x487451=_0x3cc786&&_0x3cc786[_0x53e48e(0x195,'\x4b\x41\x71\x23')]!=null?Date[_0x53e48e(0x18f,'\x34\x4d\x57\x69')](_0x3cc786[_0x53e48e(0x14a,'\x56\x74\x70\x34')]):NaN,_0x248438={..._0x50beb5};if(!Number[_0x53e48e(0x17c,'\x57\x64\x45\x4a')](_0x487451))return _0x248438;const _0x5cccd1=_0x3cc786&&_0x3cc786[_0x53e48e(0x192,'\x38\x75\x36\x25')]!=null&&Number[_0x53e48e(0x197,'\x33\x54\x76\x59')](Date['\x70\x61\x72\x73\x65'](_0x3cc786[_0x53e48e(0x196,'\x6e\x39\x68\x72')]))?Date[_0x53e48e(0x14b,'\x38\x75\x36\x25')](_0x3cc786[_0x53e48e(0x169,'\x78\x4a\x34\x44')]):Date[_0x53e48e(0x18e,'\x68\x67\x77\x67')]();let _0x544c1e;try{const _0x1ef5d8=_0x4fff0c[_0x53e48e(0x176,'\x28\x6d\x75\x26')](_0x3d75bb),_0x267656={..._0x50beb5};if(!_0x526bfe[_0x53e48e(0x17d,'\x30\x65\x45\x26')+'\x6e\x63'](_0x1ef5d8))return _0x267656;_0x544c1e=_0x526bfe[_0x53e48e(0x16c,'\x34\x4d\x57\x69')+_0x53e48e(0x19c,'\x54\x6f\x64\x33')](_0x1ef5d8,_0x4fff0c[_0x53e48e(0x150,'\x4b\x41\x71\x23')]);}catch(_0x23469a){const _0x248885={..._0x50beb5};return _0x248885;}let _0x1c41f3=null;try{_0x1c41f3=_0x4fff0c[_0x53e48e(0x141,'\x58\x71\x75\x6a')](_0x3c5537);}catch(_0x3d8f5e){if(_0x4fff0c[_0x53e48e(0x168,'\x5e\x21\x56\x63')](_0x4fff0c[_0x53e48e(0x15a,'\x46\x4c\x4f\x74')],_0x4fff0c[_0x53e48e(0x161,'\x6a\x69\x53\x36')])){const _0x2cc27d=_0x404d8f[_0x53e48e(0x17f,'\x21\x6e\x39\x40')](_0x144bc6);if(_0x1a7a5f[_0x53e48e(0x19d,'\x21\x6e\x39\x40')](_0x2cc27d))return _0x2cc27d;}else _0x1c41f3=null;}let _0x258789=0x17c6+0x1*0xc71+0x49*-0x7f,_0x4eae91=-0x943*0x1+-0x13ec+0x1d2f,_0x2d1498=0x15a+0x1ed7+-0x2031;for(const _0xbeb5c5 of _0x544c1e[_0x53e48e(0x165,'\x54\x6f\x64\x33')]('\x0a')){const _0x42cb95=_0xbeb5c5[_0x53e48e(0x179,'\x72\x54\x54\x4c')]();if(!_0x42cb95)continue;let _0x3f805c;try{_0x3f805c=JSON[_0x53e48e(0x183,'\x41\x7a\x41\x75')](_0x42cb95);}catch(_0x80c7df){continue;}if(_0x3f805c&&_0x3f805c[_0x53e48e(0x194,'\x6a\x69\x53\x36')+'\x64']){if(_0x4fff0c[_0x53e48e(0x17b,'\x70\x23\x61\x67')](_0x4fff0c[_0x53e48e(0x152,'\x25\x48\x74\x4d')],_0x4fff0c[_0x53e48e(0x13f,'\x26\x44\x63\x5d')])){if(!_0x1c41f3)continue;try{_0x53e48e(0x16f,'\x70\x23\x61\x67')===_0x4fff0c[_0x53e48e(0x182,'\x71\x69\x59\x49')]?_0x298602=_0x4fff0c['\x43\x72\x4c\x54\x59'](_0x270110,_0xe5a075,_0x3d72e4):_0x3f805c=_0x4fff0c[_0x53e48e(0x15b,'\x4c\x72\x51\x51')](_0x74834a,_0x3f805c,_0x1c41f3);}catch(_0x4eb0a4){if(_0x4fff0c[_0x53e48e(0x149,'\x28\x6d\x75\x26')](_0x4fff0c[_0x53e48e(0x15d,'\x4b\x41\x71\x23')],'\x78\x4c\x4a\x7a\x5a'))_0x453429=_0x4fff0c[_0x53e48e(0x143,'\x57\x64\x45\x4a')](_0x3df8ee);else continue;}}else _0x5e7dfd=null;}if(!_0x3f805c||_0x4fff0c[_0x53e48e(0x14d,'\x25\x48\x74\x4d')](typeof _0x3f805c,_0x4fff0c['\x73\x75\x4d\x49\x75']))continue;const _0x50a80a=_0x4fff0c[_0x53e48e(0x19e,'\x74\x7a\x34\x28')](_0x168ead,_0x3f805c);if(_0x50a80a==null||_0x50a80a<_0x487451||_0x4fff0c[_0x53e48e(0x199,'\x70\x23\x61\x67')](_0x50a80a,_0x5cccd1))continue;const _0x4710ec=_0x4fff0c['\x4e\x54\x59\x73\x78'](Number,_0x3f805c[_0x53e48e(0x191,'\x57\x64\x45\x4a')+_0x53e48e(0x15c,'\x54\x6f\x64\x33')]),_0x56233d=_0x4fff0c['\x4e\x54\x59\x73\x78'](Number,_0x3f805c[_0x53e48e(0x19f,'\x26\x44\x63\x5d')+_0x53e48e(0x158,'\x58\x71\x75\x6a')]),_0x545708=Number['\x69\x73\x46\x69\x6e\x69\x74\x65'](_0x4710ec)&&_0x4710ec>-0xca2+-0xa6d*-0x1+-0x1*-0x235,_0x23cc9e=Number[_0x53e48e(0x175,'\x38\x75\x36\x25')](_0x56233d)&&_0x4fff0c[_0x53e48e(0x16d,'\x4b\x41\x71\x23')](_0x56233d,-0x1de1+-0x40b*0x9+0x4244);if(_0x545708)_0x258789+=_0x4710ec;if(_0x23cc9e)_0x4eae91+=_0x56233d;if(_0x545708||_0x23cc9e)_0x2d1498+=-0x56e+-0x1a47+0x1fb6;}const _0x5e220c={..._0x50beb5};if(_0x4fff0c[_0x53e48e(0x164,'\x4c\x72\x51\x51')](_0x2d1498,0x1*0x264a+0x1404+-0x3a4e))return _0x5e220c;return{'\x69\x6e\x70\x75\x74\x5f\x74\x6f\x6b\x65\x6e\x73':_0x258789,'\x6f\x75\x74\x70\x75\x74\x5f\x74\x6f\x6b\x65\x6e\x73':_0x4eae91,'\x74\x6f\x74\x61\x6c\x5f\x74\x6f\x6b\x65\x6e\x73':_0x4fff0c['\x59\x48\x72\x7a\x6b'](_0x258789,_0x4eae91),'\x63\x61\x6c\x6c\x73':_0x2d1498,'\x6d\x65\x61\x73\x75\x72\x65\x64':!![]};}const _0x23b578={};function _0x532b(){const _0x3e1ce7=['\x63\x77\x78\x63\x53\x65\x48\x54','\x6b\x6d\x6b\x50\x61\x6d\x6b\x73\x57\x50\x38','\x6b\x38\x6b\x62\x68\x73\x65\x34','\x57\x36\x7a\x49\x66\x38\x6b\x77\x6a\x38\x6b\x68\x57\x50\x35\x61','\x57\x35\x2f\x63\x4e\x6d\x6f\x42\x57\x36\x37\x64\x4b\x71','\x72\x58\x6c\x64\x48\x73\x56\x63\x56\x65\x34\x77\x42\x47','\x57\x35\x46\x63\x4b\x43\x6f\x4f\x57\x35\x70\x64\x4c\x61','\x68\x38\x6f\x72\x74\x38\x6b\x73\x57\x37\x71\x76\x6b\x38\x6b\x79','\x46\x76\x43\x39\x57\x36\x30\x6d','\x6f\x6d\x6f\x4a\x57\x51\x65','\x57\x50\x61\x45\x57\x50\x70\x64\x4f\x57\x69','\x78\x59\x68\x64\x4a\x53\x6f\x39\x57\x36\x75','\x64\x43\x6f\x65\x73\x71','\x57\x35\x52\x63\x47\x53\x6f\x65\x57\x37\x6e\x64','\x6d\x75\x52\x64\x47\x65\x30','\x57\x52\x38\x67\x57\x4f\x5a\x64\x56\x64\x4b','\x67\x5a\x64\x64\x4f\x4a\x52\x63\x55\x77\x4f\x4f','\x6a\x65\x42\x63\x53\x38\x6b\x74\x57\x4f\x42\x63\x52\x43\x6b\x77\x44\x6d\x6f\x66\x57\x36\x4e\x63\x47\x67\x71','\x57\x4f\x6c\x63\x4a\x5a\x42\x63\x4d\x43\x6f\x46\x57\x51\x78\x63\x55\x62\x4b','\x6d\x38\x6b\x59\x6d\x38\x6f\x4a\x57\x51\x57','\x73\x61\x61\x44\x76\x53\x6f\x6a\x57\x34\x58\x75\x57\x51\x47','\x57\x36\x44\x46\x57\x36\x46\x64\x51\x6d\x6f\x53','\x57\x37\x70\x63\x4e\x53\x6f\x58\x57\x35\x79','\x67\x6d\x6f\x6c\x57\x51\x72\x57\x57\x52\x43','\x57\x52\x6e\x35\x57\x4f\x4f\x32\x43\x57','\x57\x36\x42\x64\x4f\x65\x2f\x63\x4d\x47','\x57\x34\x4e\x63\x4d\x38\x6f\x58\x57\x37\x76\x35','\x74\x67\x6c\x64\x4d\x47','\x57\x36\x62\x51\x57\x51\x4a\x64\x4c\x61\x61\x51\x57\x52\x2f\x64\x50\x47','\x69\x66\x4a\x64\x53\x53\x6b\x57\x69\x61','\x79\x6d\x6b\x56\x57\x35\x4a\x63\x47\x53\x6b\x2f','\x57\x36\x58\x59\x57\x37\x4f\x4b\x66\x71','\x57\x37\x7a\x64\x6b\x43\x6b\x61\x65\x57','\x57\x52\x39\x48\x57\x52\x65\x75\x79\x47','\x57\x37\x37\x64\x54\x75\x33\x63\x47\x6d\x6b\x37','\x61\x53\x6b\x76\x67\x53\x6f\x64','\x57\x50\x37\x64\x56\x43\x6b\x6a\x57\x50\x53\x7a\x57\x50\x48\x32\x57\x51\x4c\x45\x46\x43\x6f\x68\x46\x61','\x57\x4f\x39\x39\x57\x36\x5a\x63\x55\x31\x34','\x76\x66\x43\x74\x57\x36\x6c\x64\x56\x64\x70\x64\x4a\x6d\x6b\x6a','\x79\x38\x6f\x61\x57\x37\x54\x41\x57\x50\x58\x49\x57\x4f\x33\x64\x50\x57','\x71\x67\x64\x64\x4e\x4c\x5a\x63\x4f\x33\x37\x64\x4d\x53\x6b\x5a','\x57\x4f\x74\x63\x48\x73\x70\x63\x4e\x6d\x6f\x31\x57\x50\x70\x63\x4f\x62\x6d','\x57\x37\x4a\x63\x4c\x53\x6f\x42\x57\x34\x39\x4c','\x67\x4b\x6e\x70\x64\x38\x6b\x66\x57\x50\x54\x77\x57\x50\x54\x47\x70\x6d\x6f\x4f\x57\x34\x38','\x57\x52\x74\x64\x48\x6d\x6b\x78\x57\x35\x5a\x63\x48\x61','\x65\x6d\x6f\x66\x73\x30\x54\x2b\x61\x43\x6b\x53\x57\x35\x47','\x77\x64\x44\x77\x57\x4f\x42\x64\x4d\x59\x5a\x64\x50\x6d\x6b\x46','\x74\x6d\x6b\x74\x64\x71\x47\x37\x7a\x38\x6f\x55\x57\x34\x78\x63\x47\x43\x6f\x56\x6a\x6d\x6b\x71\x57\x36\x43','\x74\x62\x35\x5a\x46\x61\x33\x63\x4c\x38\x6f\x70\x57\x50\x5a\x63\x48\x71\x42\x64\x4c\x38\x6b\x54\x44\x71','\x69\x53\x6b\x72\x57\x51\x61\x6a\x57\x35\x34\x56\x57\x35\x52\x64\x55\x67\x75\x71\x76\x43\x6b\x64\x64\x47','\x7a\x65\x75\x6a\x57\x37\x43\x68\x57\x35\x6e\x47\x57\x37\x38','\x57\x35\x2f\x63\x47\x53\x6f\x73\x57\x36\x46\x64\x4d\x47','\x57\x35\x47\x72\x57\x50\x62\x41\x57\x51\x34','\x76\x4b\x6c\x64\x4a\x49\x4e\x64\x53\x43\x6f\x41\x62\x38\x6f\x65','\x57\x34\x50\x6a\x43\x58\x57','\x69\x53\x6f\x34\x57\x37\x44\x68\x57\x4f\x72\x42\x57\x51\x79','\x57\x4f\x78\x64\x4e\x53\x6b\x2f\x57\x37\x4a\x63\x50\x61','\x6e\x31\x46\x63\x4d\x77\x62\x73\x62\x38\x6f\x72\x6d\x71','\x68\x38\x6b\x46\x75\x43\x6f\x33\x57\x51\x6a\x67\x69\x61\x79','\x61\x6d\x6b\x64\x57\x37\x48\x37','\x57\x52\x6d\x55\x57\x50\x4e\x64\x47\x43\x6b\x77','\x57\x35\x39\x49\x68\x6d\x6b\x4c\x6e\x61','\x57\x51\x38\x68\x57\x35\x65\x49\x57\x37\x30','\x72\x53\x6f\x63\x68\x31\x70\x64\x4e\x71','\x57\x35\x46\x64\x54\x78\x46\x64\x53\x57\x34','\x45\x71\x5a\x63\x48\x72\x50\x32\x57\x52\x50\x47\x66\x71','\x75\x4b\x5a\x64\x52\x59\x37\x64\x50\x47','\x42\x4e\x37\x63\x4c\x32\x37\x64\x51\x4a\x69\x51','\x78\x38\x6b\x62\x65\x53\x6f\x61\x57\x51\x4c\x54\x41\x53\x6b\x75\x57\x52\x4a\x64\x4f\x6d\x6f\x62\x57\x36\x46\x64\x54\x61','\x57\x37\x76\x65\x63\x53\x6b\x64\x6d\x53\x6f\x74\x57\x36\x78\x63\x54\x71','\x74\x72\x62\x35\x45\x71\x68\x63\x4b\x43\x6b\x75\x57\x50\x4e\x63\x4e\x74\x46\x64\x4b\x43\x6b\x58','\x66\x43\x6b\x39\x62\x43\x6f\x61\x57\x50\x34','\x78\x43\x6f\x71\x6a\x6d\x6b\x35\x57\x34\x75','\x57\x36\x44\x62\x57\x37\x42\x64\x54\x53\x6f\x51\x71\x49\x37\x63\x56\x71','\x61\x38\x6f\x41\x73\x38\x6b\x75\x57\x37\x69\x4f','\x72\x72\x30\x70','\x57\x4f\x42\x63\x47\x74\x64\x63\x49\x38\x6f\x77','\x57\x35\x33\x64\x48\x65\x46\x63\x4e\x6d\x6b\x49','\x6e\x30\x52\x63\x52\x33\x58\x69\x6d\x43\x6f\x72\x6f\x57','\x45\x66\x47\x37\x57\x37\x43\x66\x57\x37\x6e\x4e\x57\x37\x75','\x67\x75\x70\x63\x4d\x30\x6a\x58','\x75\x43\x6b\x67\x57\x34\x5a\x63\x56\x53\x6b\x56\x6b\x38\x6b\x5a\x57\x4f\x65','\x57\x35\x5a\x63\x50\x43\x6f\x71\x57\x34\x62\x65\x57\x36\x6e\x4a\x57\x52\x71','\x62\x75\x4a\x63\x4a\x38\x6f\x73\x57\x52\x52\x64\x55\x71\x46\x63\x52\x47','\x57\x34\x39\x30\x57\x35\x4f\x53\x68\x71\x6e\x53\x6e\x71','\x57\x36\x56\x64\x56\x53\x6f\x57\x57\x4f\x33\x63\x53\x43\x6f\x45\x57\x35\x5a\x64\x4f\x38\x6f\x6a\x6a\x73\x4f\x46','\x57\x52\x4e\x64\x50\x53\x6b\x6b\x57\x37\x42\x63\x4b\x47','\x57\x37\x62\x37\x57\x35\x5a\x63\x49\x53\x6f\x6c\x7a\x48\x62\x49\x71\x64\x64\x64\x51\x31\x75\x33','\x6b\x43\x6b\x69\x6a\x53\x6b\x47\x6b\x71','\x57\x35\x37\x64\x56\x65\x2f\x63\x49\x47','\x57\x51\x4f\x38\x57\x51\x33\x64\x4d\x38\x6b\x44\x6f\x76\x6a\x61','\x71\x38\x6b\x48\x57\x4f\x56\x63\x4b\x72\x71','\x62\x6d\x6b\x74\x57\x36\x6a\x34\x6a\x38\x6b\x42\x7a\x63\x65','\x62\x43\x6f\x6c\x7a\x38\x6b\x79\x57\x37\x38\x31\x6c\x6d\x6b\x73','\x57\x51\x6a\x37\x57\x37\x4b\x7a\x57\x34\x37\x64\x55\x4a\x4e\x64\x56\x78\x4b\x4a\x57\x51\x79\x52\x78\x61','\x6c\x4e\x33\x63\x53\x4c\x39\x39','\x68\x38\x6b\x6a\x57\x34\x76\x38\x69\x6d\x6b\x67\x76\x74\x69','\x63\x38\x6b\x71\x69\x30\x4a\x64\x48\x4a\x7a\x49\x57\x52\x75','\x7a\x33\x64\x64\x4d\x75\x37\x63\x53\x61','\x7a\x6d\x6f\x6d\x57\x37\x44\x6e\x57\x4f\x58\x2b','\x6b\x53\x6b\x6b\x57\x34\x66\x6a\x6b\x57','\x73\x43\x6f\x45\x63\x6d\x6b\x59\x57\x36\x34\x66\x70\x74\x74\x64\x4b\x6d\x6b\x32\x42\x57\x57','\x57\x36\x44\x39\x57\x37\x4a\x64\x47\x43\x6f\x4d','\x46\x38\x6b\x31\x57\x36\x6d\x69\x57\x36\x79\x4a\x64\x38\x6f\x2f\x57\x50\x68\x64\x55\x53\x6b\x44\x57\x34\x71'];_0x532b=function(){return _0x3e1ce7;};return _0x532b();}_0x23b578[_0x213b78(0x146,'\x44\x68\x26\x75')+_0x213b78(0x15e,'\x70\x59\x4b\x7a')]=_0x2e7df0,module[_0x213b78(0x186,'\x73\x67\x47\x74')]=_0x23b578;
|