@evomap/evolver-core 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/algo/antiDistill.js +1 -167
- package/dist/algo/bans.js +1 -33
- package/dist/algo/candidateAssembly.js +1 -273
- package/dist/algo/capabilityCandidates.js +1 -146
- package/dist/algo/confidence.js +1 -196
- package/dist/algo/conversationSniffer.js +1 -149
- package/dist/algo/cycleEngine.js +1 -625
- package/dist/algo/cycleFailureClassifier.js +1 -112
- package/dist/algo/epigenetics.js +1 -41
- package/dist/algo/evolutionEvent.js +1 -24
- package/dist/algo/exploration.js +1 -68
- package/dist/algo/geneHealth.js +1 -17
- package/dist/algo/geneIntake.js +1 -128
- package/dist/algo/genePromotion.js +1 -53
- package/dist/algo/geneSelection.js +1 -546
- package/dist/algo/index.js +1 -22
- package/dist/algo/memoryGraph.js +1 -86
- package/dist/algo/mutation.js +1 -22
- package/dist/algo/orchestrator.js +1 -87
- package/dist/algo/publishEligibility.js +1 -52
- package/dist/algo/solidify.js +1 -63
- package/dist/algo/strategyPresets.js +1 -61
- package/dist/algo/ucb1.js +1 -156
- package/dist/benchmark/antiGeneBenchmark.js +1 -252
- package/dist/benchmark/antiGeneImpact.js +1 -34
- package/dist/benchmark/antiGeneRollout.js +1 -269
- package/dist/benchmark/benchmark.js +1 -26
- package/dist/benchmark/evolutionThesisSolver.js +1 -41
- package/dist/benchmark/index.js +1 -7
- package/dist/benchmark/selectionFlatAbstention.js +1 -481
- package/dist/benchmark/thesis.js +1 -150
- package/dist/benchmark/triggerShift.js +1 -106
- package/dist/cycle/cycleTimeline.js +1 -74
- package/dist/cycle/index.js +1 -2
- package/dist/cycle/stateMachine.js +1 -25
- package/dist/hub/agentDirectory.js +1 -104
- package/dist/hub/assetCallLog.js +1 -195
- package/dist/hub/bindings.js +1 -121
- package/dist/hub/capability.js +1 -1
- package/dist/hub/conversationDistiller.js +1 -264
- package/dist/hub/fake.js +1 -70
- package/dist/hub/hubReview.js +1 -106
- package/dist/hub/index.js +1 -11
- package/dist/hub/ingest.js +1 -15
- package/dist/hub/questionGenerator.js +1 -408
- package/dist/hub/reuseDecision.js +1 -127
- package/dist/hub/sanitize.js +1 -322
- package/dist/material/boundary.js +1 -14
- package/dist/material/consumer.js +1 -55
- package/dist/material/emit.js +1 -52
- package/dist/material/factory.js +1 -25
- package/dist/material/index.js +1 -9
- package/dist/material/materialArchive.js +1 -466
- package/dist/material/materialStore.js +1 -69
- package/dist/material/sampling.js +1 -39
- package/dist/material/sources.js +1 -33
- package/dist/material/watermark.js +1 -76
- package/dist/personality/drift.js +1 -106
- package/dist/personality/events.js +1 -37
- package/dist/personality/evolveOps.js +1 -93
- package/dist/personality/index.js +1 -11
- package/dist/personality/mutate.js +1 -39
- package/dist/personality/pivot.js +1 -22
- package/dist/personality/prompt.js +1 -62
- package/dist/personality/riskGate.js +1 -80
- package/dist/personality/schema.js +1 -119
- package/dist/personality/select.js +1 -71
- package/dist/personality/stats.js +1 -82
- package/dist/personality/store.js +1 -92
- package/dist/schema/common.js +1 -17
- package/dist/schema/evolutionGraph.js +1 -187
- package/dist/schema/index.js +1 -6
- package/dist/schema/material.js +1 -50
- package/dist/schema/problem.js +1 -45
- package/dist/schema/proofOfWork.js +1 -9
- package/dist/schema/signal.js +1 -19
- package/dist/signals/curriculum.js +1 -202
- package/dist/signals/cycleHistoryFromEvents.js +1 -105
- package/dist/signals/expand.js +1 -293
- package/dist/signals/extractor.js +1 -82
- package/dist/signals/index.js +1 -8
- package/dist/signals/metaSignals.js +1 -200
- package/dist/signals/signalGate.js +1 -40
- package/dist/signals/taskDomain.js +1 -43
- package/dist/signals/traceSignals.js +1 -123
- package/dist/strategy/constraintAblation.js +1 -2820
- package/dist/strategy/constraintAblationPredicates.js +1 -339
- package/dist/strategy/experiment.js +1 -63
- package/dist/strategy/index.js +1 -3
- package/dist/strategy/strategyPoint.js +1 -23
- package/package.json +1 -1
|
@@ -1,202 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progressive curriculum signals, adapted from V1's curriculum producer.
|
|
3
|
-
*
|
|
4
|
-
* V2 keeps the policy pure and derives its history from the append-only root event log. This avoids V1's
|
|
5
|
-
* separate mutable curriculum_state.json sidecar while preserving the behavior that matters to selection:
|
|
6
|
-
* classify recent outcomes and add at most one capability-gap target plus one frontier target.
|
|
7
|
-
*/
|
|
8
|
-
const MASTERY_THRESHOLD = 0.8;
|
|
9
|
-
const MASTERY_MIN_ATTEMPTS = 3;
|
|
10
|
-
const FAILURE_THRESHOLD = 0.3;
|
|
11
|
-
const MIN_CLASSIFICATION_ATTEMPTS = 2;
|
|
12
|
-
const MAX_CURRICULUM_SIGNALS = 2;
|
|
13
|
-
const MAX_TARGET_CHARS = 60;
|
|
14
|
-
const DEFAULT_OUTCOME_WINDOW = 200;
|
|
15
|
-
const CAPABILITY_NAME = /^[A-Za-z][A-Za-z0-9_-]{0,59}$/;
|
|
16
|
-
export const MAX_CAPABILITY_GAPS = 16;
|
|
17
|
-
export const CAPABILITY_GAPS_STATE_KEY = 'curriculum:capability_gaps';
|
|
18
|
-
const CAPABILITY_GAPS_STATE_VERSION = 1;
|
|
19
|
-
function record(value) {
|
|
20
|
-
return value && typeof value === 'object' && !Array.isArray(value)
|
|
21
|
-
? value
|
|
22
|
-
: undefined;
|
|
23
|
-
}
|
|
24
|
-
function stringArray(value) {
|
|
25
|
-
if (!Array.isArray(value))
|
|
26
|
-
return undefined;
|
|
27
|
-
return value.filter((entry) => typeof entry === 'string');
|
|
28
|
-
}
|
|
29
|
-
function boundedWindow(value) {
|
|
30
|
-
if (!Number.isFinite(value))
|
|
31
|
-
return DEFAULT_OUTCOME_WINDOW;
|
|
32
|
-
return Math.max(1, Math.min(10_000, Math.floor(value)));
|
|
33
|
-
}
|
|
34
|
-
/** Normalize untrusted capability names before they cross adapter, persistence, or selection boundaries. */
|
|
35
|
-
export function normalizeCapabilityGaps(value) {
|
|
36
|
-
if (!Array.isArray(value))
|
|
37
|
-
return [];
|
|
38
|
-
const gaps = [];
|
|
39
|
-
for (const entry of value) {
|
|
40
|
-
if (typeof entry !== 'string')
|
|
41
|
-
continue;
|
|
42
|
-
const normalized = entry.trim().toLowerCase();
|
|
43
|
-
if (!CAPABILITY_NAME.test(normalized) || gaps.includes(normalized))
|
|
44
|
-
continue;
|
|
45
|
-
gaps.push(normalized);
|
|
46
|
-
if (gaps.length >= MAX_CAPABILITY_GAPS)
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
return gaps;
|
|
50
|
-
}
|
|
51
|
-
/** Versioned, bounded snapshot stored atomically in the lifecycle mailbox KV table. */
|
|
52
|
-
export function serializeCapabilityGapsState(capabilityGaps, observedAt) {
|
|
53
|
-
const safeObservedAt = Number.isFinite(observedAt) && observedAt >= 0 ? Math.floor(observedAt) : 0;
|
|
54
|
-
return JSON.stringify({
|
|
55
|
-
version: CAPABILITY_GAPS_STATE_VERSION,
|
|
56
|
-
capabilityGaps: normalizeCapabilityGaps(capabilityGaps),
|
|
57
|
-
observedAt: safeObservedAt,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
/** Parse only the current bounded snapshot format. Unknown versions fail open without influencing selection. */
|
|
61
|
-
export function capabilityGapsFromState(value) {
|
|
62
|
-
if (typeof value !== 'string' || value.length === 0)
|
|
63
|
-
return [];
|
|
64
|
-
try {
|
|
65
|
-
const parsed = record(JSON.parse(value));
|
|
66
|
-
if (!parsed || parsed['version'] !== CAPABILITY_GAPS_STATE_VERSION)
|
|
67
|
-
return [];
|
|
68
|
-
const observedAt = parsed['observedAt'];
|
|
69
|
-
if (typeof observedAt !== 'number' || !Number.isFinite(observedAt) || observedAt < 0)
|
|
70
|
-
return [];
|
|
71
|
-
return normalizeCapabilityGaps(parsed['capabilityGaps']);
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
return [];
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/** Stable V2 equivalent of V1 computeSignalKey, excluding previously generated curriculum targets. */
|
|
78
|
-
export function curriculumSignalKey(signals) {
|
|
79
|
-
return [...new Set(signals
|
|
80
|
-
.map((signal) => signal.trim())
|
|
81
|
-
.filter((signal) => signal.length > 0 && !signal.startsWith('curriculum_target:')))]
|
|
82
|
-
.sort()
|
|
83
|
-
.join('|');
|
|
84
|
-
}
|
|
85
|
-
/** Classify signal-key outcomes using V1's thresholds. */
|
|
86
|
-
export function classifyCurriculumOutcomes(outcomes) {
|
|
87
|
-
const aggregates = new Map();
|
|
88
|
-
for (const outcome of outcomes) {
|
|
89
|
-
const key = typeof outcome?.key === 'string' ? outcome.key.trim() : '';
|
|
90
|
-
if (!key || (outcome.status !== 'success' && outcome.status !== 'failed'))
|
|
91
|
-
continue;
|
|
92
|
-
const aggregate = aggregates.get(key) ?? { success: 0, failed: 0 };
|
|
93
|
-
if (outcome.status === 'success')
|
|
94
|
-
aggregate.success += 1;
|
|
95
|
-
else
|
|
96
|
-
aggregate.failed += 1;
|
|
97
|
-
aggregates.set(key, aggregate);
|
|
98
|
-
}
|
|
99
|
-
const mastered = [];
|
|
100
|
-
const failing = [];
|
|
101
|
-
const frontier = [];
|
|
102
|
-
for (const [key, aggregate] of aggregates) {
|
|
103
|
-
const total = aggregate.success + aggregate.failed;
|
|
104
|
-
if (total < MIN_CLASSIFICATION_ATTEMPTS)
|
|
105
|
-
continue;
|
|
106
|
-
const rate = aggregate.success / total;
|
|
107
|
-
const bucket = { key, success: aggregate.success, failed: aggregate.failed, total, rate };
|
|
108
|
-
if (rate >= MASTERY_THRESHOLD && total >= MASTERY_MIN_ATTEMPTS)
|
|
109
|
-
mastered.push(bucket);
|
|
110
|
-
else if (rate <= FAILURE_THRESHOLD)
|
|
111
|
-
failing.push(bucket);
|
|
112
|
-
else
|
|
113
|
-
frontier.push(bucket);
|
|
114
|
-
}
|
|
115
|
-
frontier.sort((left, right) => Math.abs(left.rate - 0.5) - Math.abs(right.rate - 0.5));
|
|
116
|
-
return { mastered, failing, frontier };
|
|
117
|
-
}
|
|
118
|
-
/** Generate no more than the two target families V1 produced: gap first, then closest frontier. */
|
|
119
|
-
export function generateCurriculumSignals(input) {
|
|
120
|
-
const analysis = classifyCurriculumOutcomes(input.outcomes);
|
|
121
|
-
const generated = [];
|
|
122
|
-
const gap = (input.capabilityGaps ?? []).find((entry) => typeof entry === 'string' && entry.trim().length > 0)?.trim();
|
|
123
|
-
if (gap) {
|
|
124
|
-
const normalizedGap = gap.toLowerCase();
|
|
125
|
-
const alreadyMastered = analysis.mastered.some((entry) => entry.key.toLowerCase().includes(normalizedGap));
|
|
126
|
-
if (!alreadyMastered)
|
|
127
|
-
generated.push(`curriculum_target:gap:${gap.slice(0, MAX_TARGET_CHARS)}`);
|
|
128
|
-
}
|
|
129
|
-
const best = analysis.frontier[0];
|
|
130
|
-
if (generated.length < MAX_CURRICULUM_SIGNALS && best) {
|
|
131
|
-
const alreadyTargeted = generated.some((signal) => signal.includes(best.key));
|
|
132
|
-
if (!alreadyTargeted)
|
|
133
|
-
generated.push(`curriculum_target:frontier:${best.key.slice(0, MAX_TARGET_CHARS)}`);
|
|
134
|
-
}
|
|
135
|
-
return generated.slice(0, MAX_CURRICULUM_SIGNALS);
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Map V2's capability signal conventions to concrete curriculum gaps. A bare cap:* tag is not sufficient by
|
|
139
|
-
* itself: it becomes a curriculum gap only when the same signal set explicitly declares capability_gap.
|
|
140
|
-
*/
|
|
141
|
-
export function capabilityGapsFromSignals(signals) {
|
|
142
|
-
const hasGapMarker = signals.some((signal) => signal === 'capability_gap' || signal.startsWith('capability_gap:'));
|
|
143
|
-
if (!hasGapMarker)
|
|
144
|
-
return [];
|
|
145
|
-
const gaps = [];
|
|
146
|
-
const add = (raw) => {
|
|
147
|
-
const normalized = raw.trim().toLowerCase();
|
|
148
|
-
if (!CAPABILITY_NAME.test(normalized) || gaps.includes(normalized))
|
|
149
|
-
return;
|
|
150
|
-
gaps.push(normalized);
|
|
151
|
-
};
|
|
152
|
-
for (const signal of signals)
|
|
153
|
-
if (signal.startsWith('cap:'))
|
|
154
|
-
add(signal.slice('cap:'.length));
|
|
155
|
-
for (const signal of signals)
|
|
156
|
-
if (signal.startsWith('capability_gap:'))
|
|
157
|
-
add(signal.slice('capability_gap:'.length));
|
|
158
|
-
return normalizeCapabilityGaps(gaps);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Join cycle.signals_collected to terminal cycle events and retain the latest outcome window. `baseSignals`
|
|
162
|
-
* wins over `signals`, so history-derived meta-signals do not become a self-reinforcing curriculum key.
|
|
163
|
-
*/
|
|
164
|
-
export function curriculumOutcomesFromEvents(events, maxOutcomes = DEFAULT_OUTCOME_WINDOW) {
|
|
165
|
-
const limit = boundedWindow(maxOutcomes);
|
|
166
|
-
const selectedNewestFirst = [];
|
|
167
|
-
const terminalCycles = new Set();
|
|
168
|
-
// Pick the latest unique terminal cycles first. EventStore.readAll already owns the input array, while every
|
|
169
|
-
// auxiliary collection in this adapter remains bounded by the configured outcome window.
|
|
170
|
-
for (let index = events.length - 1; index >= 0 && selectedNewestFirst.length < limit; index -= 1) {
|
|
171
|
-
const event = events[index];
|
|
172
|
-
if (event.type !== 'cycle.solidified' && event.type !== 'cycle.failed')
|
|
173
|
-
continue;
|
|
174
|
-
const payload = record(event.payload);
|
|
175
|
-
if (!payload || typeof payload['cycleId'] !== 'string' || terminalCycles.has(payload['cycleId']))
|
|
176
|
-
continue;
|
|
177
|
-
const cycleId = payload['cycleId'];
|
|
178
|
-
terminalCycles.add(cycleId);
|
|
179
|
-
selectedNewestFirst.push({
|
|
180
|
-
cycleId,
|
|
181
|
-
status: event.type === 'cycle.failed' || payload['producedValue'] === false ? 'failed' : 'success',
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
const signalsByCycle = new Map();
|
|
185
|
-
// Build the signal lookup independently of terminal ordering. Normal logs collect signals first, but a
|
|
186
|
-
// recovered/imported history can be reordered without making otherwise valid outcomes disappear.
|
|
187
|
-
for (const event of events) {
|
|
188
|
-
const payload = record(event.payload);
|
|
189
|
-
if (!payload)
|
|
190
|
-
continue;
|
|
191
|
-
const cycleId = typeof payload['cycleId'] === 'string' ? payload['cycleId'] : undefined;
|
|
192
|
-
if (!cycleId || !terminalCycles.has(cycleId) || event.type !== 'cycle.signals_collected')
|
|
193
|
-
continue;
|
|
194
|
-
const baseSignals = stringArray(payload['baseSignals']);
|
|
195
|
-
const fallbackSignals = stringArray(payload['signals']);
|
|
196
|
-
signalsByCycle.set(cycleId, baseSignals ?? fallbackSignals ?? []);
|
|
197
|
-
}
|
|
198
|
-
return selectedNewestFirst.reverse().flatMap(({ cycleId, status }) => {
|
|
199
|
-
const key = curriculumSignalKey(signalsByCycle.get(cycleId) ?? []);
|
|
200
|
-
return key ? [{ key, status }] : [];
|
|
201
|
-
});
|
|
202
|
-
}
|
|
1
|
+
const _0x537f75=_0x5959;(function(_0xf6a6d4,_0x5c5f4e){const _0x758e50=_0x5959,_0x4d1a3f=_0xf6a6d4();while(!![]){try{const _0xde761e=-parseInt(_0x758e50(0x1e3,'\x33\x36\x32\x4f'))/(-0x1*0xb23+-0xe2*0x1+0xc06)+parseInt(_0x758e50(0x216,'\x5e\x32\x4e\x4a'))/(-0x6f0*-0x3+-0x8e4+-0xbea)*(-parseInt(_0x758e50(0x1ee,'\x54\x78\x45\x72'))/(0xf7c+-0x2*0x2d5+-0x9*0x117))+-parseInt(_0x758e50(0x235,'\x6c\x30\x45\x4a'))/(0x936+-0x17*0x35+-0x5*0xe3)*(-parseInt(_0x758e50(0x224,'\x24\x6c\x67\x28'))/(-0x6*0x1f7+0x1*-0x347+0xf16))+parseInt(_0x758e50(0x27d,'\x75\x4a\x6d\x4d'))/(0x1819+0x22*-0x59+0x1*-0xc41)+parseInt(_0x758e50(0x24e,'\x6c\x30\x45\x4a'))/(0x1359+0x11*-0x191+0x74f)*(-parseInt(_0x758e50(0x1fa,'\x68\x5b\x53\x66'))/(-0x224b*-0x1+-0x92a+-0x1*0x1919))+parseInt(_0x758e50(0x21f,'\x4f\x37\x70\x46'))/(0xb*0x276+0x1*0x156e+-0x3077)*(parseInt(_0x758e50(0x211,'\x33\x36\x32\x4f'))/(0x206f+0xb3a+-0x2b9f))+parseInt(_0x758e50(0x25e,'\x31\x26\x74\x61'))/(0x18c+-0x1922+-0x1*-0x17a1)*(parseInt(_0x758e50(0x1ca,'\x49\x38\x64\x5b'))/(-0x225c+-0x2a1*-0x7+0xf1*0x11));if(_0xde761e===_0x5c5f4e)break;else _0x4d1a3f['push'](_0x4d1a3f['shift']());}catch(_0x18a0d8){_0x4d1a3f['push'](_0x4d1a3f['shift']());}}}(_0x1df6,-0xb2a9+-0x16ee3+-0x1*-0x52433));const MASTERY_THRESHOLD=0x236+-0x1b15+0x18df+0.8,MASTERY_MIN_ATTEMPTS=-0x1329+-0x1c08+0x2f34,FAILURE_THRESHOLD=-0xb*-0x1c5+0x1498+-0x280f+0.3,MIN_CLASSIFICATION_ATTEMPTS=0xa32+0x16f3+0x11*-0x1f3,MAX_CURRICULUM_SIGNALS=0x2*0x126c+-0x1*-0x209b+-0x4571,MAX_TARGET_CHARS=-0x10b7+-0x61*0x3e+-0x261*-0x11,DEFAULT_OUTCOME_WINDOW=0xe48+0x207c+0x28e*-0x12,CAPABILITY_NAME=/^[A-Za-z][A-Za-z0-9_-]{0,59}$/;function _0x1df6(){const _0x2096eb=['\x78\x78\x2f\x64\x4e\x72\x6e\x72\x57\x35\x66\x47','\x46\x5a\x6c\x64\x4e\x77\x79','\x71\x6d\x6f\x4e\x7a\x38\x6b\x35','\x41\x38\x6f\x66\x57\x34\x42\x63\x4c\x38\x6b\x71\x57\x37\x4e\x64\x54\x4e\x43','\x57\x34\x33\x64\x56\x43\x6f\x62\x78\x47','\x6d\x6d\x6f\x71\x68\x6d\x6b\x2b\x57\x51\x79','\x57\x51\x68\x64\x49\x64\x68\x63\x4c\x57','\x57\x4f\x44\x39\x57\x35\x5a\x63\x54\x43\x6b\x34','\x57\x52\x56\x64\x4b\x63\x42\x63\x4d\x4c\x74\x63\x4c\x61','\x62\x43\x6f\x64\x62\x71','\x44\x38\x6f\x73\x57\x35\x42\x63\x4b\x43\x6b\x68\x57\x37\x5a\x64\x4f\x61','\x57\x51\x4f\x2f\x46\x77\x53\x46','\x77\x43\x6b\x4d\x57\x34\x58\x79','\x57\x36\x56\x64\x51\x6d\x6f\x69\x77\x6d\x6f\x4b\x42\x53\x6f\x47\x57\x52\x47','\x41\x53\x6b\x75\x57\x34\x76\x39\x57\x51\x71','\x6a\x71\x78\x64\x52\x6d\x6f\x35\x67\x71\x37\x63\x49\x43\x6f\x42','\x41\x75\x70\x63\x47\x4e\x4e\x64\x4d\x67\x42\x64\x4c\x61','\x57\x52\x4a\x64\x4c\x63\x31\x35\x43\x61\x54\x77\x75\x57','\x6d\x76\x44\x7a\x6b\x59\x75\x7a\x57\x35\x6d','\x57\x51\x61\x53\x7a\x6d\x6b\x44\x6b\x6d\x6b\x76\x57\x36\x2f\x63\x4a\x57','\x61\x63\x34\x35','\x57\x35\x43\x57\x57\x50\x74\x63\x51\x32\x4b','\x57\x37\x74\x63\x52\x38\x6f\x4d\x42\x57','\x46\x30\x78\x64\x4a\x6d\x6f\x58\x67\x62\x4e\x63\x54\x47','\x44\x43\x6b\x69\x57\x37\x78\x64\x47\x43\x6b\x68\x57\x35\x47','\x6e\x31\x6e\x48\x6d\x73\x75\x68\x57\x34\x43\x4c','\x57\x37\x4a\x64\x55\x38\x6f\x78\x62\x47','\x75\x78\x70\x64\x49\x48\x58\x42\x57\x37\x76\x48\x76\x61','\x57\x52\x56\x64\x4d\x43\x6f\x58\x57\x36\x62\x56\x57\x50\x61\x75\x73\x71','\x75\x4c\x31\x6f\x57\x52\x6c\x63\x48\x62\x42\x64\x49\x6d\x6f\x2b','\x6a\x53\x6b\x67\x57\x34\x78\x64\x53\x65\x35\x76\x57\x51\x69\x69','\x57\x36\x52\x63\x51\x38\x6f\x38\x42\x77\x5a\x63\x48\x47','\x61\x53\x6f\x6b\x67\x76\x78\x63\x55\x53\x6b\x7a\x41\x71','\x46\x4c\x56\x63\x48\x32\x33\x64\x4a\x57','\x57\x34\x2f\x64\x4c\x71\x66\x72\x76\x65\x58\x6e\x41\x71','\x57\x51\x6c\x64\x4b\x43\x6f\x61\x57\x37\x6e\x36\x57\x4f\x4f','\x71\x38\x6f\x37\x6d\x30\x38','\x44\x6d\x6f\x46\x57\x4f\x78\x64\x54\x78\x31\x57\x57\x50\x4f\x4f\x6c\x61','\x61\x4a\x64\x64\x4f\x57','\x70\x63\x31\x75\x57\x34\x71','\x57\x51\x56\x63\x4c\x5a\x4e\x63\x4c\x38\x6b\x70\x64\x38\x6f\x66\x57\x34\x57','\x57\x36\x4e\x64\x56\x43\x6f\x7a\x74\x53\x6b\x58','\x57\x51\x74\x64\x47\x74\x52\x63\x4c\x65\x37\x63\x4d\x57','\x57\x34\x43\x6c\x57\x34\x6a\x6f\x64\x38\x6f\x51\x57\x35\x64\x63\x56\x53\x6b\x66\x57\x50\x70\x63\x51\x43\x6b\x72','\x6e\x53\x6b\x74\x57\x35\x74\x64\x4f\x31\x48\x70\x57\x50\x4b\x69','\x57\x50\x74\x64\x48\x53\x6b\x64\x57\x4f\x42\x63\x53\x43\x6b\x47','\x57\x52\x37\x64\x56\x53\x6b\x4e\x70\x63\x2f\x64\x4d\x4c\x5a\x64\x50\x58\x37\x63\x4f\x38\x6f\x47\x57\x35\x6d','\x57\x36\x79\x31\x6e\x38\x6f\x69\x61\x61','\x71\x6d\x6f\x49\x6b\x75\x74\x64\x54\x47','\x57\x35\x70\x64\x55\x43\x6f\x42\x78\x6d\x6b\x47\x57\x51\x6d','\x6a\x74\x34\x53','\x69\x43\x6f\x4a\x62\x43\x6b\x75\x79\x48\x4b\x70\x57\x52\x34','\x66\x75\x68\x63\x4b\x77\x2f\x63\x51\x30\x79\x4a\x76\x61','\x57\x36\x4c\x36\x41\x53\x6b\x33\x57\x50\x74\x63\x4f\x5a\x47\x57','\x57\x37\x33\x64\x55\x38\x6f\x6f\x75\x6d\x6f\x30\x41\x71','\x44\x48\x5a\x64\x47\x6d\x6f\x73\x6b\x43\x6b\x6f\x57\x4f\x78\x63\x4a\x71','\x44\x75\x70\x64\x56\x38\x6f\x58\x61\x58\x56\x63\x55\x53\x6f\x61','\x57\x35\x57\x63\x57\x51\x74\x63\x47\x78\x72\x52\x43\x57','\x57\x4f\x52\x64\x4b\x38\x6b\x62','\x61\x59\x6c\x64\x4c\x53\x6f\x45\x57\x50\x2f\x63\x4d\x65\x31\x39','\x61\x49\x75\x4a\x57\x50\x31\x47\x41\x38\x6b\x41\x45\x57','\x46\x53\x6f\x39\x57\x36\x39\x50\x7a\x5a\x39\x4f\x62\x61','\x69\x75\x54\x6d\x6e\x59\x30\x77\x57\x35\x75\x53','\x57\x4f\x72\x5a\x57\x34\x70\x63\x4f\x57','\x6e\x53\x6b\x73\x57\x35\x42\x64\x53\x4b\x4c\x70\x57\x52\x30','\x78\x78\x70\x64\x4a\x61\x31\x44\x57\x37\x54\x58\x73\x57','\x6f\x38\x6f\x2f\x43\x71','\x57\x36\x4e\x63\x52\x6d\x6f\x34\x42\x33\x56\x63\x4d\x47','\x67\x64\x38\x59\x57\x50\x48\x37\x41\x61','\x42\x43\x6f\x6a\x57\x35\x42\x63\x4e\x53\x6b\x78\x57\x36\x56\x64\x54\x4d\x61','\x77\x43\x6b\x55\x57\x34\x54\x71\x74\x68\x4f','\x68\x6d\x6f\x31\x6c\x57','\x61\x58\x76\x4c','\x57\x52\x4f\x32\x7a\x53\x6b\x64\x6b\x43\x6b\x63\x57\x35\x33\x63\x4c\x71','\x45\x49\x37\x64\x47\x78\x62\x57\x6a\x61\x52\x64\x50\x47','\x46\x53\x6b\x4f\x57\x34\x76\x30\x46\x5a\x72\x55\x6c\x47','\x57\x36\x6c\x63\x4b\x64\x65\x6a','\x57\x37\x72\x4a\x70\x38\x6f\x67\x61\x53\x6b\x6b','\x45\x77\x43\x43\x57\x50\x7a\x77\x62\x38\x6f\x4d\x57\x52\x35\x54\x57\x34\x64\x63\x54\x6d\x6f\x56\x57\x4f\x6d','\x6f\x64\x69\x61\x57\x52\x52\x63\x4c\x48\x46\x63\x4d\x58\x61','\x57\x34\x53\x63\x57\x50\x4a\x63\x49\x4e\x62\x73\x6c\x71','\x57\x4f\x76\x6a\x57\x50\x53\x73','\x72\x76\x31\x51\x57\x52\x2f\x63\x4b\x75\x53','\x44\x64\x6c\x64\x4e\x71','\x57\x4f\x76\x63\x57\x52\x75\x45\x72\x38\x6b\x56','\x6c\x4b\x68\x63\x4d\x53\x6b\x67\x42\x43\x6f\x7a\x57\x35\x6c\x63\x49\x64\x33\x63\x4b\x6d\x6f\x6a\x6c\x30\x4f','\x75\x38\x6b\x4d\x57\x34\x7a\x76\x74\x33\x44\x41\x57\x35\x75','\x57\x37\x56\x63\x4c\x47\x71\x69\x77\x38\x6f\x35\x57\x36\x62\x41','\x6d\x53\x6f\x37\x45\x38\x6b\x74\x72\x43\x6f\x79\x57\x50\x37\x64\x51\x71','\x57\x51\x5a\x63\x51\x38\x6b\x75\x64\x6d\x6b\x4d\x77\x6d\x6f\x4b\x57\x4f\x42\x64\x49\x72\x78\x63\x50\x71','\x57\x4f\x44\x50\x57\x35\x33\x63\x52\x47','\x57\x52\x5a\x64\x4b\x63\x4b','\x7a\x38\x6f\x67\x57\x34\x78\x64\x49\x61','\x57\x52\x64\x64\x4b\x63\x71','\x57\x34\x39\x39\x57\x36\x78\x63\x4c\x38\x6b\x6b\x57\x37\x33\x63\x4b\x71','\x57\x52\x5a\x64\x4c\x4a\x33\x63\x4e\x47','\x57\x52\x52\x64\x48\x53\x6f\x68\x57\x37\x4b','\x57\x37\x64\x63\x54\x62\x7a\x6e\x57\x52\x66\x64','\x6d\x43\x6b\x69\x57\x37\x4e\x64\x56\x4c\x54\x7a\x57\x52\x57\x49','\x6b\x31\x6a\x78\x6d\x74\x30\x51\x57\x34\x43\x48','\x46\x78\x53\x6a\x69\x47','\x43\x71\x31\x46\x70\x5a\x43\x64\x57\x36\x79\x33','\x79\x4c\x4e\x64\x47\x43\x6f\x53\x68\x72\x33\x63\x56\x43\x6f\x56','\x57\x51\x34\x4e\x75\x68\x38\x42\x57\x50\x42\x64\x4e\x57','\x44\x43\x6b\x74\x57\x37\x42\x64\x4d\x38\x6b\x77\x57\x34\x70\x64\x4b\x6d\x6f\x2f','\x46\x5a\x52\x64\x4d\x4d\x35\x38\x69\x57','\x68\x53\x6b\x70\x57\x35\x33\x64\x55\x38\x6f\x54\x57\x35\x79','\x77\x66\x44\x53\x57\x51\x5a\x63\x4b\x31\x4e\x64\x4c\x57','\x69\x53\x6f\x2f\x6b\x53\x6b\x74','\x57\x51\x34\x53\x7a\x4e\x75','\x62\x38\x6b\x55\x69\x53\x6f\x52\x57\x35\x56\x63\x49\x58\x46\x64\x4c\x38\x6b\x45\x57\x50\x74\x64\x55\x49\x65','\x45\x47\x34\x6c\x43\x33\x6e\x62\x57\x37\x65\x55\x57\x4f\x68\x64\x50\x63\x75\x70','\x57\x34\x46\x64\x53\x6d\x6f\x4f\x7a\x73\x52\x64\x54\x38\x6b\x2f\x57\x50\x4b','\x68\x66\x79\x62\x57\x37\x6e\x46\x62\x38\x6b\x2b\x57\x50\x34','\x57\x36\x6c\x63\x4f\x47\x71','\x7a\x67\x47\x79','\x62\x32\x4b\x5a\x57\x34\x44\x74','\x45\x4e\x30\x73\x6a\x53\x6f\x6b\x57\x37\x53','\x57\x35\x79\x69\x57\x4f\x68\x63\x48\x68\x39\x6c\x79\x38\x6b\x6a','\x57\x51\x56\x64\x4e\x74\x46\x63\x4e\x31\x2f\x64\x4e\x43\x6b\x41\x6a\x61','\x6d\x38\x6f\x4a\x41\x38\x6b\x41\x43\x38\x6f\x34\x57\x50\x30','\x62\x58\x71\x44\x57\x36\x2f\x64\x4d\x71\x37\x64\x55\x6d\x6f\x67\x6d\x76\x5a\x63\x51\x59\x61','\x57\x52\x2f\x63\x49\x71\x6d','\x41\x49\x2f\x64\x4b\x4e\x7a\x53\x6e\x61','\x57\x36\x70\x63\x56\x6d\x6b\x4f','\x57\x52\x56\x64\x49\x64\x33\x63\x4b\x66\x38','\x44\x53\x6b\x74\x57\x51\x6d','\x68\x43\x6f\x74\x68\x31\x78\x63\x51\x38\x6b\x70\x46\x47','\x57\x37\x70\x63\x54\x71\x72\x72','\x61\x76\x43\x6e\x57\x36\x6e\x6f\x62\x47','\x63\x6d\x6f\x68\x66\x76\x52\x63\x51\x38\x6b\x79','\x71\x38\x6f\x7a\x57\x4f\x52\x63\x50\x6d\x6b\x4f\x57\x4f\x31\x58\x57\x52\x6c\x64\x52\x53\x6f\x30\x57\x51\x4f\x34\x41\x57','\x57\x4f\x79\x2f\x72\x53\x6b\x63\x41\x57','\x57\x52\x56\x63\x4f\x74\x58\x4f\x57\x50\x6e\x67\x57\x4f\x4b','\x64\x64\x37\x64\x51\x49\x76\x57\x57\x37\x62\x50\x74\x57','\x69\x38\x6f\x4e\x6b\x32\x5a\x63\x51\x47','\x77\x4e\x6a\x32\x57\x34\x6d\x53\x70\x38\x6b\x30\x79\x4d\x4f\x71\x57\x37\x2f\x63\x48\x71','\x57\x50\x66\x57\x57\x34\x68\x63\x51\x43\x6b\x56','\x57\x35\x33\x64\x53\x53\x6f\x49\x41\x4a\x4f','\x57\x36\x6e\x31\x45\x6d\x6b\x56\x57\x4f\x6c\x63\x4a\x4a\x34\x37','\x57\x50\x6d\x79\x45\x43\x6b\x45','\x61\x53\x6b\x6c\x57\x34\x52\x64\x53\x6d\x6f\x32\x57\x35\x38\x4e','\x57\x34\x57\x70\x57\x51\x42\x63\x4e\x32\x76\x72\x71\x6d\x6b\x66','\x57\x52\x52\x64\x4a\x43\x6f\x50\x57\x37\x76\x2b\x57\x50\x65','\x57\x37\x4a\x64\x52\x38\x6f\x76\x74\x53\x6f\x34\x42\x53\x6f\x57\x57\x52\x61','\x57\x37\x46\x63\x52\x5a\x54\x77\x57\x52\x6e\x76\x57\x51\x6a\x4a','\x57\x34\x5a\x64\x53\x6d\x6f\x43\x77\x6d\x6b\x58','\x57\x35\x2f\x64\x4d\x61\x6e\x70\x72\x72\x66\x50\x41\x71','\x68\x66\x79\x62\x57\x37\x76\x45\x62\x57','\x57\x4f\x72\x5a\x57\x35\x5a\x63\x53\x47','\x57\x50\x62\x78\x57\x4f\x65','\x7a\x43\x6f\x75\x57\x35\x61','\x57\x37\x70\x63\x52\x43\x6b\x74\x63\x57\x76\x31\x57\x36\x4b','\x6b\x76\x54\x68','\x61\x53\x6f\x64\x65\x4c\x68\x63\x55\x53\x6b\x75','\x57\x4f\x6a\x75\x57\x50\x38\x41','\x62\x43\x6b\x4d\x6a\x38\x6b\x34\x57\x52\x4e\x64\x56\x59\x68\x64\x4d\x6d\x6b\x4a','\x57\x36\x2f\x64\x4f\x38\x6f\x34\x77\x38\x6f\x57\x46\x71','\x57\x4f\x2f\x64\x48\x5a\x64\x63\x4d\x32\x61','\x6d\x76\x6a\x78\x6a\x49\x65','\x57\x50\x62\x69\x57\x50\x43','\x74\x38\x6f\x7a\x6a\x43\x6b\x63\x57\x4f\x37\x64\x55\x43\x6b\x5a','\x57\x4f\x79\x7a\x44\x71','\x42\x64\x42\x64\x52\x68\x7a\x34\x6e\x72\x4a\x64\x52\x57','\x41\x6d\x6f\x63\x57\x35\x56\x63\x4c\x43\x6b\x77\x57\x36\x43','\x42\x49\x6c\x64\x4d\x43\x6f\x55\x65\x47','\x46\x38\x6b\x51\x57\x35\x7a\x56\x41\x73\x6e\x37\x63\x61','\x74\x77\x52\x64\x4c\x58\x58\x72','\x57\x51\x52\x63\x4e\x58\x78\x63\x4c\x57','\x68\x43\x6f\x64\x63\x61','\x57\x51\x78\x64\x4c\x68\x66\x72\x61\x53\x6f\x66\x57\x37\x76\x4c\x71\x57\x57\x72','\x61\x30\x43\x6f\x57\x36\x7a\x46\x68\x61','\x61\x32\x58\x64\x57\x52\x4a\x63\x52\x78\x52\x64\x49\x57','\x57\x37\x6d\x32\x6b\x53\x6f\x74','\x45\x4a\x52\x64\x47\x32\x6e\x37\x6c\x48\x70\x64\x4f\x57','\x44\x6d\x6f\x45\x57\x4f\x70\x63\x4f\x58\x75\x6d\x57\x4f\x75\x6c\x6a\x65\x6a\x71\x6b\x61','\x57\x50\x74\x64\x48\x38\x6b\x73\x57\x4f\x5a\x63\x55\x53\x6b\x30\x57\x35\x4b','\x61\x48\x39\x31\x57\x4f\x47','\x57\x51\x56\x64\x47\x63\x35\x57','\x57\x36\x4a\x64\x52\x53\x6f\x76\x76\x43\x6f\x2f\x41\x53\x6f\x53\x57\x52\x4f','\x69\x38\x6f\x55\x45\x53\x6b\x46\x45\x6d\x6f\x77','\x57\x34\x57\x75\x57\x51\x52\x63\x49\x61','\x6a\x71\x42\x63\x55\x6d\x6b\x30\x77\x75\x64\x63\x52\x43\x6f\x51\x57\x37\x68\x64\x54\x64\x6a\x58','\x57\x34\x46\x64\x53\x53\x6f\x55\x42\x71','\x57\x34\x64\x64\x49\x71\x58\x41\x72\x71\x4f','\x57\x4f\x66\x6f\x57\x4f\x65\x78','\x57\x4f\x68\x64\x4d\x38\x6b\x44\x57\x50\x56\x63\x55\x53\x6b\x31','\x71\x6d\x6f\x37\x7a\x6d\x6b\x4f','\x42\x62\x33\x64\x4a\x53\x6f\x42','\x57\x34\x38\x6f\x57\x52\x74\x63\x48\x71','\x6e\x38\x6f\x2f\x46\x61','\x57\x52\x71\x52\x79\x4e\x4f\x46\x57\x50\x71','\x77\x78\x6d\x75\x57\x51\x54\x72\x7a\x38\x6b\x73\x79\x61','\x57\x51\x2f\x64\x4a\x61\x6a\x2f\x43\x58\x69\x61','\x57\x50\x50\x39\x57\x35\x34','\x57\x36\x2f\x64\x4f\x38\x6f\x47\x78\x43\x6f\x48\x46\x47','\x57\x51\x33\x64\x4a\x43\x6f\x6e\x57\x37\x48\x52\x57\x51\x53\x78','\x7a\x38\x6f\x67\x57\x34\x78\x63\x4b\x38\x6b\x61\x57\x36\x42\x64\x56\x33\x4f','\x76\x33\x78\x64\x56\x57\x31\x67\x57\x37\x4c\x39','\x46\x77\x79\x53\x69\x6d\x6f\x74\x57\x37\x4c\x6c\x57\x52\x53','\x78\x4b\x7a\x45\x57\x52\x56\x63\x4b\x30\x37\x64\x49\x38\x6f\x37','\x64\x43\x6f\x4b\x6f\x6d\x6b\x6d','\x57\x36\x64\x63\x56\x6d\x6f\x39\x7a\x67\x5a\x63\x48\x32\x4a\x64\x55\x57','\x57\x52\x42\x64\x4c\x63\x35\x53\x44\x58\x62\x46\x78\x47','\x57\x34\x5a\x63\x49\x78\x57\x75\x57\x35\x66\x64\x57\x36\x64\x63\x53\x47','\x57\x37\x74\x63\x49\x73\x30\x6f\x72\x57','\x63\x43\x6f\x4a\x69\x53\x6b\x6a','\x57\x52\x53\x54\x41\x47','\x41\x76\x4e\x63\x4a\x68\x38','\x57\x37\x31\x34\x79\x53\x6b\x34\x57\x4f\x69','\x70\x49\x53\x54\x57\x51\x46\x63\x4d\x71\x6c\x63\x4c\x72\x6d','\x74\x67\x70\x64\x49\x62\x50\x67\x57\x36\x54\x48','\x45\x75\x2f\x63\x47\x4e\x42\x64\x4d\x66\x5a\x64\x47\x57','\x57\x51\x37\x64\x4d\x67\x44\x37\x43\x58\x6a\x42\x77\x61','\x41\x58\x33\x64\x52\x38\x6f\x72\x6b\x38\x6b\x70\x57\x50\x6c\x63\x56\x71','\x66\x53\x6f\x30\x6d\x47','\x71\x53\x6f\x37\x7a\x43\x6b\x56\x57\x4f\x68\x64\x4e\x62\x53','\x77\x4e\x48\x34\x57\x34\x79\x4c\x70\x53\x6f\x6b\x79\x33\x4b\x63\x57\x34\x56\x63\x4f\x53\x6b\x54'];_0x1df6=function(){return _0x2096eb;};return _0x1df6();}export const MAX_CAPABILITY_GAPS=0x9*0x17f+0x395+-0x10fc;function _0x5959(_0x5e8a59,_0x177d26){_0x5e8a59=_0x5e8a59-(0x1f4c+-0x17*0xf4+-0x7b6);const _0x28327b=_0x1df6();let _0x109d54=_0x28327b[_0x5e8a59];if(_0x5959['\x69\x67\x76\x41\x75\x78']===undefined){var _0x2588a0=function(_0x2d1691){const _0x16f01a='\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 _0x3faf30='',_0x3a01a4='';for(let _0x12dcba=-0x227*-0x2+-0x3*-0x989+-0x20e9,_0x54f58c,_0x3dbc92,_0x5f1605=-0x3*0x6e2+0x61+-0x1*-0x1445;_0x3dbc92=_0x2d1691['\x63\x68\x61\x72\x41\x74'](_0x5f1605++);~_0x3dbc92&&(_0x54f58c=_0x12dcba%(-0x1a8f+-0x1c3+-0xe2b*-0x2)?_0x54f58c*(-0x14ac+-0x1*-0x1043+0x4a9)+_0x3dbc92:_0x3dbc92,_0x12dcba++%(0x25*-0x49+-0xad0+-0x1a5*-0xd))?_0x3faf30+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x247d+-0x14d9+-0x6d*-0x89&_0x54f58c>>(-(-0x874*0x3+-0x26a6+0x4004)*_0x12dcba&0x1e61+0x13*0x19f+0x338*-0x13)):0x1*-0x1653+0x574+-0x7*-0x269){_0x3dbc92=_0x16f01a['\x69\x6e\x64\x65\x78\x4f\x66'](_0x3dbc92);}for(let _0x49c208=0x954+0x10d2+0x2*-0xd13,_0x2a265b=_0x3faf30['\x6c\x65\x6e\x67\x74\x68'];_0x49c208<_0x2a265b;_0x49c208++){_0x3a01a4+='\x25'+('\x30\x30'+_0x3faf30['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x49c208)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1777+0xb82+-0x22e9))['\x73\x6c\x69\x63\x65'](-(-0xd8b*-0x2+0xf6c+0x2*-0x1540));}return decodeURIComponent(_0x3a01a4);};const _0x50381a=function(_0x57242c,_0x2a2710){let _0x5cfdfb=[],_0x44473d=0xa*-0x11b+-0x15d*-0xe+0x404*-0x2,_0x4c4cd4,_0x23a6a9='';_0x57242c=_0x2588a0(_0x57242c);let _0x34e399;for(_0x34e399=-0x816+0x133c+0x593*-0x2;_0x34e399<-0x194b+0x118e+0x8bd;_0x34e399++){_0x5cfdfb[_0x34e399]=_0x34e399;}for(_0x34e399=0x2*-0xdfd+0x1bd2+-0x5*-0x8;_0x34e399<0xbf5*0x1+-0x2b6*-0x4+-0x1*0x15cd;_0x34e399++){_0x44473d=(_0x44473d+_0x5cfdfb[_0x34e399]+_0x2a2710['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x34e399%_0x2a2710['\x6c\x65\x6e\x67\x74\x68']))%(-0x1*-0x1aa7+-0x2dd+-0x16ca),_0x4c4cd4=_0x5cfdfb[_0x34e399],_0x5cfdfb[_0x34e399]=_0x5cfdfb[_0x44473d],_0x5cfdfb[_0x44473d]=_0x4c4cd4;}_0x34e399=0xf35+-0x2553+0x161e,_0x44473d=-0x73d+-0x943+-0xc0*-0x16;for(let _0x29126c=0x6*0x466+0x59c+0x8*-0x400;_0x29126c<_0x57242c['\x6c\x65\x6e\x67\x74\x68'];_0x29126c++){_0x34e399=(_0x34e399+(0x3d*-0x1b+-0x4a9*0x5+0x17*0x14b))%(0x103*0xa+-0x1121*-0x2+-0x2b60),_0x44473d=(_0x44473d+_0x5cfdfb[_0x34e399])%(-0x12af*-0x1+-0x1bb9*0x1+0x2*0x505),_0x4c4cd4=_0x5cfdfb[_0x34e399],_0x5cfdfb[_0x34e399]=_0x5cfdfb[_0x44473d],_0x5cfdfb[_0x44473d]=_0x4c4cd4,_0x23a6a9+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x57242c['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x29126c)^_0x5cfdfb[(_0x5cfdfb[_0x34e399]+_0x5cfdfb[_0x44473d])%(0x262b+-0x1e09+-0x722)]);}return _0x23a6a9;};_0x5959['\x68\x76\x4e\x73\x48\x6d']=_0x50381a,_0x5959['\x7a\x59\x41\x4f\x65\x58']={},_0x5959['\x69\x67\x76\x41\x75\x78']=!![];}const _0x4c161f=_0x28327b[-0x1863+0x476+0x13ed*0x1],_0x3ac9e5=_0x5e8a59+_0x4c161f,_0x1b88f2=_0x5959['\x7a\x59\x41\x4f\x65\x58'][_0x3ac9e5];return!_0x1b88f2?(_0x5959['\x4b\x6f\x69\x4f\x6e\x70']===undefined&&(_0x5959['\x4b\x6f\x69\x4f\x6e\x70']=!![]),_0x109d54=_0x5959['\x68\x76\x4e\x73\x48\x6d'](_0x109d54,_0x177d26),_0x5959['\x7a\x59\x41\x4f\x65\x58'][_0x3ac9e5]=_0x109d54):_0x109d54=_0x1b88f2,_0x109d54;}export const CAPABILITY_GAPS_STATE_KEY=_0x537f75(0x1b6,'\x69\x76\x41\x78')+_0x537f75(0x24a,'\x66\x30\x5b\x64')+_0x537f75(0x1d8,'\x42\x39\x5e\x5d')+'\x70\x73';const CAPABILITY_GAPS_STATE_VERSION=-0x1e24+0x12ca+-0x13*-0x99;function record(_0x17085b){const _0x44437f=_0x537f75;return _0x17085b&&typeof _0x17085b===_0x44437f(0x1b8,'\x75\x4a\x6d\x4d')&&!Array[_0x44437f(0x266,'\x31\x26\x74\x61')](_0x17085b)?_0x17085b:undefined;}function stringArray(_0x3dca66){const _0x4017a9=_0x537f75;if(!Array[_0x4017a9(0x1e0,'\x54\x78\x45\x72')](_0x3dca66))return undefined;return _0x3dca66[_0x4017a9(0x22f,'\x77\x62\x68\x26')](_0x37799e=>typeof _0x37799e===_0x4017a9(0x27c,'\x77\x62\x68\x26'));}function boundedWindow(_0xb0134e){const _0x3037c3=_0x537f75;if(!Number[_0x3037c3(0x1b0,'\x65\x7a\x5e\x38')](_0xb0134e))return DEFAULT_OUTCOME_WINDOW;return Math[_0x3037c3(0x1e8,'\x71\x5d\x73\x6c')](0x216e+-0xf88+-0x11e5,Math[_0x3037c3(0x1c8,'\x6a\x7a\x36\x4f')](-0x620+-0x1a4a+-0x51b*-0xe,Math[_0x3037c3(0x27e,'\x24\x57\x76\x40')](_0xb0134e)));}export function normalizeCapabilityGaps(_0x45cf16){const _0x4d6ee7=_0x537f75;if(!Array[_0x4d6ee7(0x23b,'\x69\x76\x41\x78')](_0x45cf16))return[];const _0x5c40e2=[];for(const _0x264210 of _0x45cf16){if(typeof _0x264210!==_0x4d6ee7(0x257,'\x71\x73\x7a\x61'))continue;const _0x4eb7b6=_0x264210[_0x4d6ee7(0x1d4,'\x71\x73\x7a\x61')]()[_0x4d6ee7(0x206,'\x68\x5b\x53\x66')+_0x4d6ee7(0x20c,'\x46\x51\x6f\x63')]();if(!CAPABILITY_NAME[_0x4d6ee7(0x21d,'\x75\x40\x55\x70')](_0x4eb7b6)||_0x5c40e2[_0x4d6ee7(0x1e5,'\x31\x40\x70\x57')](_0x4eb7b6))continue;_0x5c40e2[_0x4d6ee7(0x232,'\x59\x46\x5d\x67')](_0x4eb7b6);if(_0x5c40e2[_0x4d6ee7(0x26e,'\x75\x4a\x6d\x4d')]>=MAX_CAPABILITY_GAPS)break;}return _0x5c40e2;}export function serializeCapabilityGapsState(_0x5982c2,_0x4a53a3){const _0x5b21b9=_0x537f75,_0x5452f6=Number[_0x5b21b9(0x241,'\x39\x70\x73\x53')](_0x4a53a3)&&_0x4a53a3>=0xa24*-0x1+0x2637+0x1c13*-0x1?Math[_0x5b21b9(0x242,'\x4f\x37\x70\x46')](_0x4a53a3):-0xd58+0x3ca*-0x5+0x204a;return JSON[_0x5b21b9(0x247,'\x41\x64\x40\x6c')+'\x79']({'\x76\x65\x72\x73\x69\x6f\x6e':CAPABILITY_GAPS_STATE_VERSION,'\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x47\x61\x70\x73':normalizeCapabilityGaps(_0x5982c2),'\x6f\x62\x73\x65\x72\x76\x65\x64\x41\x74':_0x5452f6});}export function capabilityGapsFromState(_0x3c1f2f){const _0x6d0972=_0x537f75;if(typeof _0x3c1f2f!==_0x6d0972(0x1b9,'\x6c\x30\x45\x4a')||_0x3c1f2f[_0x6d0972(0x279,'\x71\x73\x7a\x61')]===-0x3*-0x92a+-0x10c9*0x1+0x1*-0xab5)return[];try{if(_0x6d0972(0x254,'\x5e\x32\x4e\x4a')===_0x6d0972(0x1fc,'\x62\x57\x21\x4c')){const _0x5d33e1=record(JSON[_0x6d0972(0x256,'\x43\x40\x67\x29')](_0x3c1f2f));if(!_0x5d33e1||_0x5d33e1[_0x6d0972(0x24d,'\x33\x36\x32\x4f')]!==CAPABILITY_GAPS_STATE_VERSION)return[];const _0xb5466d=_0x5d33e1[_0x6d0972(0x23d,'\x54\x78\x45\x72')+'\x41\x74'];if(typeof _0xb5466d!==_0x6d0972(0x1f6,'\x6f\x5b\x26\x54')||!Number[_0x6d0972(0x282,'\x64\x65\x62\x55')](_0xb5466d)||_0xb5466d<0x18a2+0x721*0x4+-0x3526)return[];return normalizeCapabilityGaps(_0x5d33e1[_0x6d0972(0x23a,'\x46\x51\x6f\x63')+_0x6d0972(0x1c7,'\x54\x78\x45\x72')]);}else{const _0x2597ce=_0x11ae9a(_0x41c01f[_0x6d0972(0x25a,'\x57\x48\x58\x5d')](_0x4c88ea));if(!_0x2597ce||_0x2597ce['\x76\x65\x72\x73\x69\x6f\x6e']!==_0x10d181)return[];const _0x378771=_0x2597ce[_0x6d0972(0x252,'\x46\x51\x6f\x63')+'\x41\x74'];if(typeof _0x378771!==_0x6d0972(0x234,'\x57\x48\x58\x5d')||!_0x451d91[_0x6d0972(0x1eb,'\x59\x46\x5d\x67')](_0x378771)||_0x378771<-0x344*0x1+0x1357*0x2+-0x236a)return[];return _0x1e3756(_0x2597ce[_0x6d0972(0x223,'\x6a\x7a\x36\x4f')+_0x6d0972(0x204,'\x2a\x33\x75\x6f')]);}}catch{return[];}}export function curriculumSignalKey(_0x15e584){const _0x1fe308=_0x537f75;return[...new Set(_0x15e584[_0x1fe308(0x237,'\x43\x40\x67\x29')](_0x1a6d0e=>_0x1a6d0e[_0x1fe308(0x243,'\x5e\x32\x4e\x4a')]())[_0x1fe308(0x267,'\x67\x5d\x44\x50')](_0x265f59=>_0x265f59[_0x1fe308(0x22d,'\x49\x23\x52\x6e')]>-0xfa6+0x1a45+-0xa9f*0x1&&!_0x265f59[_0x1fe308(0x27b,'\x24\x6c\x67\x28')+'\x74\x68'](_0x1fe308(0x1bf,'\x6a\x7a\x36\x4f')+_0x1fe308(0x268,'\x42\x39\x5e\x5d')+'\x74\x3a')))][_0x1fe308(0x222,'\x24\x57\x76\x40')]()[_0x1fe308(0x1e1,'\x64\x65\x62\x55')]('\x7c');}export function classifyCurriculumOutcomes(_0x2604b2){const _0x246918=_0x537f75,_0x47b2d9=new Map();for(const _0x26e97c of _0x2604b2){const _0x1e9e1d=typeof _0x26e97c?.[_0x246918(0x24c,'\x5e\x32\x4e\x4a')]==='\x73\x74\x72\x69\x6e\x67'?_0x26e97c[_0x246918(0x1b7,'\x68\x76\x68\x40')][_0x246918(0x201,'\x49\x32\x37\x50')]():'';if(!_0x1e9e1d||_0x26e97c[_0x246918(0x209,'\x6f\x5b\x26\x54')]!==_0x246918(0x25f,'\x58\x72\x66\x6d')&&_0x26e97c[_0x246918(0x1f0,'\x6a\x7a\x36\x4f')]!==_0x246918(0x1de,'\x6a\x7a\x36\x4f'))continue;const _0x51b748=_0x47b2d9[_0x246918(0x1d0,'\x66\x30\x5b\x64')](_0x1e9e1d)??{'\x73\x75\x63\x63\x65\x73\x73':0x0,'\x66\x61\x69\x6c\x65\x64':0x0};if(_0x26e97c[_0x246918(0x1d6,'\x68\x5b\x53\x66')]==='\x73\x75\x63\x63\x65\x73\x73')_0x51b748[_0x246918(0x259,'\x46\x51\x6f\x63')]+=0x31*0xc5+0xa*0x122+-0x3108;else _0x51b748[_0x246918(0x1f7,'\x62\x57\x21\x4c')]+=0x2ab*0x7+-0x17*0x91+-0x1*0x5a5;_0x47b2d9['\x73\x65\x74'](_0x1e9e1d,_0x51b748);}const _0x5d0713=[],_0x4c7974=[],_0x2c3d7e=[];for(const [_0x179802,_0x30dc8a]of _0x47b2d9){if(_0x246918(0x213,'\x71\x73\x7a\x61')==='\x47\x63\x64\x68\x5a'){const _0x5cfa41=_0x30dc8a[_0x246918(0x225,'\x77\x62\x68\x26')]+_0x30dc8a['\x66\x61\x69\x6c\x65\x64'];if(_0x5cfa41<MIN_CLASSIFICATION_ATTEMPTS)continue;const _0x3981f5=_0x30dc8a[_0x246918(0x1f4,'\x62\x57\x21\x4c')]/_0x5cfa41,_0x1aa74f={'\x6b\x65\x79':_0x179802,'\x73\x75\x63\x63\x65\x73\x73':_0x30dc8a[_0x246918(0x1b5,'\x24\x6c\x67\x28')],'\x66\x61\x69\x6c\x65\x64':_0x30dc8a[_0x246918(0x1ab,'\x30\x5a\x40\x59')],'\x74\x6f\x74\x61\x6c':_0x5cfa41,'\x72\x61\x74\x65':_0x3981f5};if(_0x3981f5>=MASTERY_THRESHOLD&&_0x5cfa41>=MASTERY_MIN_ATTEMPTS)_0x5d0713[_0x246918(0x273,'\x30\x6e\x59\x49')](_0x1aa74f);else{if(_0x3981f5<=FAILURE_THRESHOLD)_0x4c7974['\x70\x75\x73\x68'](_0x1aa74f);else _0x2c3d7e[_0x246918(0x1c1,'\x4f\x37\x70\x46')](_0x1aa74f);}}else{const _0x3fe923=_0x5a997c[_0x246918(0x1cc,'\x4f\x37\x70\x46')](_0x3cd34d)&&_0x593a94>=0x187f*-0x1+0xbc+-0x365*-0x7?_0x52f00d[_0x246918(0x1fe,'\x43\x40\x67\x29')](_0x147081):0x323*0x7+0xf9b+-0x4b2*0x8;return _0x365849[_0x246918(0x228,'\x30\x5a\x40\x59')+'\x79']({'\x76\x65\x72\x73\x69\x6f\x6e':_0x464703,'\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x79\x47\x61\x70\x73':_0x2fb862(_0xeb8439),'\x6f\x62\x73\x65\x72\x76\x65\x64\x41\x74':_0x3fe923});}}return _0x2c3d7e['\x73\x6f\x72\x74']((_0x2904ed,_0x179007)=>Math['\x61\x62\x73'](_0x2904ed[_0x246918(0x265,'\x75\x4a\x6d\x4d')]-(0x5e4*0x5+-0x974*0x2+-0x3c*0x2d+0.5))-Math[_0x246918(0x1e7,'\x68\x5b\x53\x66')](_0x179007[_0x246918(0x253,'\x51\x26\x62\x74')]-(0x2534*0x1+-0x2fd+-0x2237+0.5))),{'\x6d\x61\x73\x74\x65\x72\x65\x64':_0x5d0713,'\x66\x61\x69\x6c\x69\x6e\x67':_0x4c7974,'\x66\x72\x6f\x6e\x74\x69\x65\x72':_0x2c3d7e};}export function generateCurriculumSignals(_0x3affe1){const _0x25ce69=_0x537f75,_0x503cd5=classifyCurriculumOutcomes(_0x3affe1[_0x25ce69(0x26a,'\x69\x76\x41\x78')]),_0x33725d=[],_0x30435e=(_0x3affe1['\x63\x61\x70\x61\x62\x69\x6c\x69'+_0x25ce69(0x1c9,'\x4f\x5d\x26\x6a')]??[])[_0x25ce69(0x25b,'\x42\x47\x34\x54')](_0x16f52e=>typeof _0x16f52e===_0x25ce69(0x229,'\x68\x76\x68\x40')&&_0x16f52e[_0x25ce69(0x1e2,'\x57\x48\x58\x5d')]()[_0x25ce69(0x220,'\x6f\x5b\x26\x54')]>-0x1efd+0x3e*-0x5a+-0x34c9*-0x1)?.[_0x25ce69(0x1c6,'\x4f\x5d\x26\x6a')]();if(_0x30435e){if('\x71\x71\x48\x61\x76'===_0x25ce69(0x270,'\x58\x72\x66\x6d')){const _0x2e44fe=_0x35d6b9(_0x2986e7[_0x25ce69(0x26a,'\x69\x76\x41\x78')]),_0x2b4d75=[],_0x2dd159=(_0x503850[_0x25ce69(0x26d,'\x24\x6c\x67\x28')+_0x25ce69(0x238,'\x30\x5a\x40\x59')]??[])[_0x25ce69(0x250,'\x6a\x7a\x36\x4f')](_0x4a4ab2=>typeof _0x4a4ab2==='\x73\x74\x72\x69\x6e\x67'&&_0x4a4ab2[_0x25ce69(0x1e2,'\x57\x48\x58\x5d')]()[_0x25ce69(0x280,'\x51\x26\x62\x74')]>0x21f7+0x1da3+-0x3f9a)?.[_0x25ce69(0x1d5,'\x2a\x33\x75\x6f')]();if(_0x2dd159){const _0x4a114e=_0x2dd159[_0x25ce69(0x1c0,'\x21\x68\x35\x21')+'\x61\x73\x65'](),_0x50b2b4=_0x2e44fe[_0x25ce69(0x240,'\x66\x30\x5b\x64')][_0x25ce69(0x210,'\x4f\x5d\x26\x6a')](_0x35ee6a=>_0x35ee6a[_0x25ce69(0x20e,'\x42\x39\x5e\x5d')][_0x25ce69(0x1db,'\x31\x26\x74\x61')+_0x25ce69(0x244,'\x57\x48\x58\x5d')]()[_0x25ce69(0x1ac,'\x49\x38\x64\x5b')](_0x4a114e));if(!_0x50b2b4)_0x2b4d75[_0x25ce69(0x22e,'\x4f\x5d\x26\x6a')](_0x25ce69(0x205,'\x30\x5a\x40\x59')+_0x25ce69(0x218,'\x6a\x7a\x36\x4f')+_0x25ce69(0x1c2,'\x24\x57\x76\x40')+_0x2dd159['\x73\x6c\x69\x63\x65'](-0x1b05*-0x1+-0x1e91+0x38c,_0x2459cb));}const _0x281e5f=_0x2e44fe[_0x25ce69(0x1dd,'\x67\x5d\x44\x50')][0x68e+0x1f54+-0x175*0x1a];if(_0x2b4d75['\x6c\x65\x6e\x67\x74\x68']<_0x39e883&&_0x281e5f){const _0x14c22c=_0x2b4d75[_0x25ce69(0x245,'\x58\x72\x66\x6d')](_0x26c181=>_0x26c181[_0x25ce69(0x1ba,'\x46\x51\x6f\x63')](_0x281e5f['\x6b\x65\x79']));if(!_0x14c22c)_0x2b4d75[_0x25ce69(0x227,'\x66\x30\x5b\x64')](_0x25ce69(0x205,'\x30\x5a\x40\x59')+_0x25ce69(0x21b,'\x21\x68\x35\x21')+_0x25ce69(0x1b2,'\x21\x68\x35\x21')+_0x25ce69(0x1f1,'\x75\x4a\x6d\x4d')+_0x281e5f[_0x25ce69(0x258,'\x62\x57\x21\x4c')][_0x25ce69(0x246,'\x44\x68\x5d\x32')](0x82b+0xead+-0x16d8,_0x42403a));}return _0x2b4d75[_0x25ce69(0x27f,'\x30\x6e\x59\x49')](-0x571+-0xe3b*-0x1+-0x96*0xf,_0x20a535);}else{const _0xfa373d=_0x30435e[_0x25ce69(0x23c,'\x71\x5d\x73\x6c')+_0x25ce69(0x215,'\x4f\x5d\x26\x6a')](),_0xc78626=_0x503cd5[_0x25ce69(0x200,'\x44\x68\x5d\x32')]['\x73\x6f\x6d\x65'](_0x404ea9=>_0x404ea9[_0x25ce69(0x1bd,'\x74\x2a\x72\x32')][_0x25ce69(0x24b,'\x49\x38\x64\x5b')+_0x25ce69(0x1ef,'\x75\x40\x55\x70')]()[_0x25ce69(0x1b1,'\x6c\x30\x45\x4a')](_0xfa373d));if(!_0xc78626)_0x33725d[_0x25ce69(0x1cf,'\x43\x40\x67\x29')](_0x25ce69(0x1ad,'\x31\x26\x74\x61')+'\x75\x6d\x5f\x74\x61\x72\x67\x65'+'\x74\x3a\x67\x61\x70\x3a'+_0x30435e[_0x25ce69(0x1f2,'\x71\x73\x7a\x61')](-0xd84*-0x2+-0xaee+-0x101a,MAX_TARGET_CHARS));}}const _0x2fadbe=_0x503cd5[_0x25ce69(0x23f,'\x75\x4a\x6d\x4d')][-0x83e+-0x3*-0x539+0x1*-0x76d];if(_0x33725d['\x6c\x65\x6e\x67\x74\x68']<MAX_CURRICULUM_SIGNALS&&_0x2fadbe){const _0x26c53e=_0x33725d[_0x25ce69(0x1b4,'\x43\x40\x67\x29')](_0x52d222=>_0x52d222[_0x25ce69(0x262,'\x5a\x74\x49\x34')](_0x2fadbe[_0x25ce69(0x263,'\x6c\x30\x45\x4a')]));if(!_0x26c53e)_0x33725d['\x70\x75\x73\x68']('\x63\x75\x72\x72\x69\x63\x75\x6c'+_0x25ce69(0x26b,'\x2a\x33\x75\x6f')+_0x25ce69(0x283,'\x23\x4b\x43\x57')+_0x25ce69(0x1f3,'\x67\x5d\x44\x50')+_0x2fadbe[_0x25ce69(0x20e,'\x42\x39\x5e\x5d')]['\x73\x6c\x69\x63\x65'](-0x1b72+-0x18d6+0x3448,MAX_TARGET_CHARS));}return _0x33725d[_0x25ce69(0x214,'\x42\x39\x5e\x5d')](0xf*-0x23b+-0x9*-0x1+0x216c,MAX_CURRICULUM_SIGNALS);}export function capabilityGapsFromSignals(_0x189f92){const _0xdb6fff=_0x537f75,_0x1762a7=_0x189f92[_0xdb6fff(0x22a,'\x59\x46\x5d\x67')](_0x45d699=>_0x45d699===_0xdb6fff(0x26d,'\x24\x6c\x67\x28')+_0xdb6fff(0x212,'\x30\x5a\x40\x59')||_0x45d699[_0xdb6fff(0x203,'\x59\x46\x5d\x67')+'\x74\x68'](_0xdb6fff(0x23a,'\x46\x51\x6f\x63')+_0xdb6fff(0x1dc,'\x57\x48\x58\x5d')));if(!_0x1762a7)return[];const _0x20be26=[],_0x30625a=_0x5d5cdf=>{const _0x1ebcef=_0xdb6fff,_0x103cc1=_0x5d5cdf[_0x1ebcef(0x1d9,'\x71\x5d\x73\x6c')]()[_0x1ebcef(0x1d7,'\x24\x6c\x67\x28')+_0x1ebcef(0x217,'\x49\x32\x37\x50')]();if(!CAPABILITY_NAME[_0x1ebcef(0x230,'\x33\x36\x32\x4f')](_0x103cc1)||_0x20be26['\x69\x6e\x63\x6c\x75\x64\x65\x73'](_0x103cc1))return;_0x20be26['\x70\x75\x73\x68'](_0x103cc1);};for(const _0x275b4e of _0x189f92)if(_0x275b4e[_0xdb6fff(0x1e6,'\x6f\x5b\x26\x54')+'\x74\x68'](_0xdb6fff(0x1d1,'\x46\x51\x6f\x63')))_0x30625a(_0x275b4e[_0xdb6fff(0x21c,'\x69\x76\x41\x78')](_0xdb6fff(0x269,'\x30\x5a\x40\x59')[_0xdb6fff(0x20f,'\x62\x57\x21\x4c')]));for(const _0x4925ca of _0x189f92)if(_0x4925ca[_0xdb6fff(0x1be,'\x5a\x74\x49\x34')+'\x74\x68'](_0xdb6fff(0x260,'\x66\x30\x5b\x64')+_0xdb6fff(0x236,'\x66\x30\x5b\x64')))_0x30625a(_0x4925ca[_0xdb6fff(0x1ff,'\x31\x40\x70\x57')]((_0xdb6fff(0x26d,'\x24\x6c\x67\x28')+_0xdb6fff(0x1c5,'\x59\x46\x5d\x67'))[_0xdb6fff(0x219,'\x46\x51\x6f\x63')]));return normalizeCapabilityGaps(_0x20be26);}export function curriculumOutcomesFromEvents(_0x1f1375,_0x2a8f00=DEFAULT_OUTCOME_WINDOW){const _0x5c45eb=_0x537f75,_0x3259c2=boundedWindow(_0x2a8f00),_0x4ec0e3=[],_0x71c94e=new Set();for(let _0x11d983=_0x1f1375[_0x5c45eb(0x1df,'\x4e\x2a\x7a\x47')]-(-0xfa4+-0x238*-0x5+0x1*0x48d);_0x11d983>=0x1ef7+0x1f*0xf3+-0x3c64&&_0x4ec0e3[_0x5c45eb(0x272,'\x2a\x33\x75\x6f')]<_0x3259c2;_0x11d983-=-0x1*0x2275+-0x1ba+0x6*0x608){if('\x6b\x5a\x46\x75\x6b'!==_0x5c45eb(0x25d,'\x66\x4d\x37\x33')){const _0x15e716=_0x57242c(_0x2a2710[_0x5c45eb(0x233,'\x68\x76\x68\x40')](_0x5cfdfb)??[]);return _0x15e716?[{'\x6b\x65\x79':_0x15e716,'\x73\x74\x61\x74\x75\x73':_0x44473d}]:[];}else{const _0x244d5f=_0x1f1375[_0x11d983];if(_0x244d5f[_0x5c45eb(0x276,'\x56\x5d\x49\x43')]!==_0x5c45eb(0x1ec,'\x71\x73\x7a\x61')+_0x5c45eb(0x1cb,'\x42\x47\x34\x54')&&_0x244d5f['\x74\x79\x70\x65']!==_0x5c45eb(0x26c,'\x54\x78\x45\x72')+_0x5c45eb(0x22c,'\x31\x40\x70\x57'))continue;const _0x4485e4=record(_0x244d5f[_0x5c45eb(0x20d,'\x68\x74\x64\x46')]);if(!_0x4485e4||typeof _0x4485e4[_0x5c45eb(0x1ed,'\x68\x76\x68\x40')]!=='\x73\x74\x72\x69\x6e\x67'||_0x71c94e[_0x5c45eb(0x281,'\x41\x64\x40\x6c')](_0x4485e4[_0x5c45eb(0x239,'\x2a\x33\x75\x6f')]))continue;const _0x4a2c6d=_0x4485e4[_0x5c45eb(0x249,'\x58\x72\x66\x6d')];_0x71c94e[_0x5c45eb(0x1bc,'\x5e\x32\x4e\x4a')](_0x4a2c6d),_0x4ec0e3[_0x5c45eb(0x23e,'\x5e\x32\x4e\x4a')]({'\x63\x79\x63\x6c\x65\x49\x64':_0x4a2c6d,'\x73\x74\x61\x74\x75\x73':_0x244d5f['\x74\x79\x70\x65']==='\x63\x79\x63\x6c\x65\x2e\x66\x61'+_0x5c45eb(0x255,'\x71\x73\x7a\x61')||_0x4485e4[_0x5c45eb(0x25c,'\x30\x5a\x40\x59')+_0x5c45eb(0x278,'\x51\x26\x62\x74')]===![]?_0x5c45eb(0x1bb,'\x42\x47\x34\x54'):_0x5c45eb(0x225,'\x77\x62\x68\x26')});}}const _0x352b81=new Map();for(const _0x461406 of _0x1f1375){if(_0x5c45eb(0x1e9,'\x6f\x5b\x26\x54')!==_0x5c45eb(0x264,'\x59\x46\x5d\x67')){const _0x3ed6cc=_0x52f762[_0x5c45eb(0x231,'\x49\x38\x64\x5b')](_0x2d79e8=>_0x2d79e8['\x69\x6e\x63\x6c\x75\x64\x65\x73'](_0xdda2ce[_0x5c45eb(0x1d2,'\x66\x30\x5b\x64')]));if(!_0x3ed6cc)_0x8a2b61[_0x5c45eb(0x1f5,'\x68\x5b\x53\x66')](_0x5c45eb(0x1bf,'\x6a\x7a\x36\x4f')+_0x5c45eb(0x1c4,'\x41\x64\x40\x6c')+'\x74\x3a\x66\x72\x6f\x6e\x74\x69'+'\x65\x72\x3a'+_0x13bb95['\x6b\x65\x79'][_0x5c45eb(0x207,'\x51\x26\x62\x74')](-0x10e*-0x23+0x1*-0x112d+-0x13bd,_0x467e04));}else{const _0x2cd7fc=record(_0x461406[_0x5c45eb(0x202,'\x4e\x2a\x7a\x47')]);if(!_0x2cd7fc)continue;const _0x1cb26d=typeof _0x2cd7fc[_0x5c45eb(0x24f,'\x69\x76\x41\x78')]===_0x5c45eb(0x1ea,'\x71\x5d\x73\x6c')?_0x2cd7fc[_0x5c45eb(0x1ae,'\x59\x46\x5d\x67')]:undefined;if(!_0x1cb26d||!_0x71c94e[_0x5c45eb(0x275,'\x65\x7a\x5e\x38')](_0x1cb26d)||_0x461406[_0x5c45eb(0x251,'\x33\x36\x32\x4f')]!==_0x5c45eb(0x271,'\x49\x23\x52\x6e')+_0x5c45eb(0x1aa,'\x44\x68\x5d\x32')+_0x5c45eb(0x26f,'\x62\x57\x21\x4c'))continue;const _0x5d2a7f=stringArray(_0x2cd7fc[_0x5c45eb(0x1cd,'\x68\x76\x68\x40')+_0x5c45eb(0x20b,'\x4f\x5d\x26\x6a')]),_0x4d4fd7=stringArray(_0x2cd7fc[_0x5c45eb(0x261,'\x42\x39\x5e\x5d')]);_0x352b81[_0x5c45eb(0x21e,'\x62\x57\x21\x4c')](_0x1cb26d,_0x5d2a7f??_0x4d4fd7??[]);}}return _0x4ec0e3[_0x5c45eb(0x248,'\x69\x76\x41\x78')]()['\x66\x6c\x61\x74\x4d\x61\x70'](({cycleId:_0x58e4a1,status:_0x162155})=>{const _0x2c6187=_0x5c45eb;if(_0x2c6187(0x1f9,'\x49\x32\x37\x50')===_0x2c6187(0x21a,'\x49\x38\x64\x5b'))return[...new _0x4714ca(_0x442849[_0x2c6187(0x1af,'\x77\x62\x68\x26')](_0x124f03=>_0x124f03[_0x2c6187(0x1d4,'\x71\x73\x7a\x61')]())['\x66\x69\x6c\x74\x65\x72'](_0x5b8603=>_0x5b8603['\x6c\x65\x6e\x67\x74\x68']>-0x914+-0x1464+0x2*0xebc&&!_0x5b8603[_0x2c6187(0x208,'\x49\x23\x52\x6e')+'\x74\x68'](_0x2c6187(0x1b3,'\x42\x39\x5e\x5d')+_0x2c6187(0x277,'\x75\x40\x55\x70')+'\x74\x3a')))][_0x2c6187(0x20a,'\x43\x40\x67\x29')]()[_0x2c6187(0x226,'\x74\x2a\x72\x32')]('\x7c');else{const _0x147022=curriculumSignalKey(_0x352b81['\x67\x65\x74'](_0x58e4a1)??[]);return _0x147022?[{'\x6b\x65\x79':_0x147022,'\x73\x74\x61\x74\x75\x73':_0x162155}]:[];}});}
|
|
@@ -1,105 +1 @@
|
|
|
1
|
-
// Adapter: v2 root_event log → normalized CycleRecord[] for deriveCycleHistory / computeMetaSignals.
|
|
2
|
-
// Mirrors how algo/cycleEngine.recentCycleOutcomes reads the log (cycle.solidified=success, cycle.failed=
|
|
3
|
-
// failed), grouping per cycleId so each terminal cycle becomes one record. Kept separate from metaSignals.ts
|
|
4
|
-
// so the meta-signal math stays a pure function over a clean shape and the v2-event coupling lives in one place.
|
|
5
|
-
//
|
|
6
|
-
// Field provenance from the v2 event payloads (see cycleEngine.ts):
|
|
7
|
-
// - status: cycle.solidified → 'success', cycle.failed → 'failed'
|
|
8
|
-
// - intent: mutation.built.payload.category (the cycle's GepCategory), if emitted
|
|
9
|
-
// - genesUsed: decision.gene_selected.payload.selectedGeneId || cycle.*.payload.gene
|
|
10
|
-
// - score: cycle.*.payload.outcome.score
|
|
11
|
-
// - blastRadius:capsule.produced.payload.blastRadius, if emitted. Productive {0,0} is omitted because non-git
|
|
12
|
-
// proofs use it as "unknown"; measured/no-value {0,0} remains an empty-cycle marker.
|
|
13
|
-
// Only terminal cycles (a cycle.solidified or cycle.failed) become records; in-flight cycles are skipped.
|
|
14
|
-
function payloadObj(e) {
|
|
15
|
-
return e.payload && typeof e.payload === 'object' ? e.payload : {};
|
|
16
|
-
}
|
|
17
|
-
function cycleIdOf(p) {
|
|
18
|
-
return typeof p['cycleId'] === 'string' ? p['cycleId'] : undefined;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Fold a window of root_events into per-cycle records (insertion order = chronological), suitable for
|
|
22
|
-
* {@link deriveCycleHistory}. Newest-last, matching deriveCycleHistory's window expectation.
|
|
23
|
-
*/
|
|
24
|
-
export function cycleRecordsFromEvents(events) {
|
|
25
|
-
const byCycle = new Map();
|
|
26
|
-
const terminalOrder = [];
|
|
27
|
-
const get = (id) => {
|
|
28
|
-
let a = byCycle.get(id);
|
|
29
|
-
if (!a) {
|
|
30
|
-
a = { terminal: false };
|
|
31
|
-
byCycle.set(id, a);
|
|
32
|
-
}
|
|
33
|
-
return a;
|
|
34
|
-
};
|
|
35
|
-
for (const e of events) {
|
|
36
|
-
const p = payloadObj(e);
|
|
37
|
-
const id = cycleIdOf(p);
|
|
38
|
-
if (!id)
|
|
39
|
-
continue;
|
|
40
|
-
const a = get(id);
|
|
41
|
-
switch (e.type) {
|
|
42
|
-
case 'mutation.built': {
|
|
43
|
-
if (typeof p['category'] === 'string')
|
|
44
|
-
a.intent = p['category'];
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
case 'decision.gene_selected': {
|
|
48
|
-
if (typeof p['selectedGeneId'] === 'string')
|
|
49
|
-
a.gene = p['selectedGeneId'];
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
case 'capsule.produced': {
|
|
53
|
-
const br = p['blastRadius'];
|
|
54
|
-
if (br && typeof br === 'object') {
|
|
55
|
-
const o = br;
|
|
56
|
-
const files = typeof o['files'] === 'number' ? o['files'] : undefined;
|
|
57
|
-
const lines = typeof o['lines'] === 'number' ? o['lines'] : undefined;
|
|
58
|
-
// Non-git proofs use {0,0} as "blast unknown". producedValue is the authoritative distinction between
|
|
59
|
-
// those productive cycles and a measured zero-change git cycle.
|
|
60
|
-
const productiveUnknownBlast = p['producedValue'] === true && files === 0 && lines === 0;
|
|
61
|
-
if (!productiveUnknownBlast) {
|
|
62
|
-
a.blastRadius = {
|
|
63
|
-
...(files !== undefined ? { files } : {}),
|
|
64
|
-
...(lines !== undefined ? { lines } : {}),
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
case 'cycle.solidified':
|
|
71
|
-
case 'cycle.failed': {
|
|
72
|
-
if (!a.terminal)
|
|
73
|
-
terminalOrder.push(id);
|
|
74
|
-
a.terminal = true;
|
|
75
|
-
a.status = e.type === 'cycle.solidified' ? 'success' : 'failed';
|
|
76
|
-
if (typeof p['gene'] === 'string')
|
|
77
|
-
a.gene = p['gene'];
|
|
78
|
-
const outcome = p['outcome'];
|
|
79
|
-
if (outcome && typeof outcome === 'object' && typeof outcome['score'] === 'number') {
|
|
80
|
-
a.score = outcome['score'];
|
|
81
|
-
}
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
default:
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
const records = [];
|
|
89
|
-
for (const id of terminalOrder) {
|
|
90
|
-
const a = byCycle.get(id);
|
|
91
|
-
if (!a.terminal)
|
|
92
|
-
continue; // skip in-flight cycles
|
|
93
|
-
const rec = {};
|
|
94
|
-
if (a.intent !== undefined)
|
|
95
|
-
rec.intent = a.intent;
|
|
96
|
-
if (a.status !== undefined)
|
|
97
|
-
rec.outcome = { status: a.status, ...(a.score !== undefined ? { score: a.score } : {}) };
|
|
98
|
-
if (a.blastRadius !== undefined)
|
|
99
|
-
rec.blastRadius = a.blastRadius;
|
|
100
|
-
if (a.gene !== undefined)
|
|
101
|
-
rec.genesUsed = [a.gene];
|
|
102
|
-
records.push(rec);
|
|
103
|
-
}
|
|
104
|
-
return records;
|
|
105
|
-
}
|
|
1
|
+
(function(_0x43e906,_0x368d24){const _0x1f0df5=_0x3bd2,_0x58bb50=_0x43e906();while(!![]){try{const _0x3caaca=-parseInt(_0x1f0df5(0x201,'\x67\x34\x52\x77'))/(-0x23b5+0x1d*-0xe+-0x4d*-0x7c)*(-parseInt(_0x1f0df5(0x224,'\x77\x48\x52\x53'))/(-0xea9+0x2409+-0x5*0x446))+parseInt(_0x1f0df5(0x233,'\x42\x78\x47\x54'))/(0xfd3+-0xa3d+-0x593)+parseInt(_0x1f0df5(0x1f1,'\x7a\x64\x71\x4d'))/(-0x1eaa+0x1*-0x113b+0xdf*0x37)+-parseInt(_0x1f0df5(0x1e1,'\x74\x6c\x4e\x35'))/(-0x1*0x1925+0x26bb+0xd91*-0x1)+-parseInt(_0x1f0df5(0x202,'\x38\x35\x66\x28'))/(0xdc1+-0x95*-0x33+-0x2b6a)+-parseInt(_0x1f0df5(0x21c,'\x6a\x76\x77\x6b'))/(0x3*-0x5ed+-0x19bb*-0x1+-0x7ed)+-parseInt(_0x1f0df5(0x1d3,'\x41\x75\x6e\x54'))/(0x2257+-0x2258+0x9);if(_0x3caaca===_0x368d24)break;else _0x58bb50['push'](_0x58bb50['shift']());}catch(_0x1c9948){_0x58bb50['push'](_0x58bb50['shift']());}}}(_0x26e5,-0x1365e1+-0x1*0x137609+0x310ea5*0x1));function payloadObj(_0x4f1bde){const _0x5d5c9c=_0x3bd2;return _0x4f1bde[_0x5d5c9c(0x20b,'\x4b\x4d\x45\x68')]&&typeof _0x4f1bde[_0x5d5c9c(0x1e4,'\x28\x42\x35\x30')]===_0x5d5c9c(0x204,'\x5a\x37\x28\x21')?_0x4f1bde[_0x5d5c9c(0x22f,'\x2a\x79\x61\x66')]:{};}function _0x3bd2(_0x6409c6,_0x2341c9){_0x6409c6=_0x6409c6-(-0x134+-0x2c3*0xa+0x1ea4);const _0x60c723=_0x26e5();let _0x4ce1ab=_0x60c723[_0x6409c6];if(_0x3bd2['\x58\x65\x4f\x51\x77\x6d']===undefined){var _0x55df4b=function(_0x599849){const _0x2a295a='\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 _0x5772c6='',_0x44c36b='';for(let _0x3b41d8=0xd17+0xf7*0xd+0x1*-0x19a2,_0x5d9b8c,_0x3fb2a9,_0x5348b6=-0x3*-0x9b6+-0x1f12+0x1f0;_0x3fb2a9=_0x599849['\x63\x68\x61\x72\x41\x74'](_0x5348b6++);~_0x3fb2a9&&(_0x5d9b8c=_0x3b41d8%(0x1ea4+0x73*-0x16+0x1e*-0xb1)?_0x5d9b8c*(-0xdf8+0x1*-0x1ae6+-0x2*-0x148f)+_0x3fb2a9:_0x3fb2a9,_0x3b41d8++%(-0x66d+-0x105*0x1+0x776))?_0x5772c6+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x1281*0x1+0x1*-0x15f7+0x2977&_0x5d9b8c>>(-(-0xd66+-0x67b*0x5+0x3*0xf45)*_0x3b41d8&0x4f*-0x22+0x448*-0x1+0x1*0xecc)):-0x9bc+-0x212a+0x2ae6){_0x3fb2a9=_0x2a295a['\x69\x6e\x64\x65\x78\x4f\x66'](_0x3fb2a9);}for(let _0x2999f7=-0xa88*0x3+0x4d*-0x47+-0x34f3*-0x1,_0x3650ec=_0x5772c6['\x6c\x65\x6e\x67\x74\x68'];_0x2999f7<_0x3650ec;_0x2999f7++){_0x44c36b+='\x25'+('\x30\x30'+_0x5772c6['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2999f7)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0xc2e+0x7bb*-0x2+0xdda*0x2))['\x73\x6c\x69\x63\x65'](-(-0x1c*0xc4+0xd*0x228+0x6*-0x119));}return decodeURIComponent(_0x44c36b);};const _0xec1248=function(_0x4829f4,_0x123c23){let _0x3c3a49=[],_0x593cc4=0x1*0x1c33+-0x1*-0x2221+-0x4*0xf95,_0x4f232a,_0x539d9a='';_0x4829f4=_0x55df4b(_0x4829f4);let _0x2b7b4f;for(_0x2b7b4f=-0x3c7*0x1+-0xc24+-0xa3*-0x19;_0x2b7b4f<-0x1*0xcb5+-0x4df*-0x7+-0x1464;_0x2b7b4f++){_0x3c3a49[_0x2b7b4f]=_0x2b7b4f;}for(_0x2b7b4f=-0x1010+-0x1*0x5d1+0x15e1;_0x2b7b4f<-0x1*0x1a2b+0x202b+0x20*-0x28;_0x2b7b4f++){_0x593cc4=(_0x593cc4+_0x3c3a49[_0x2b7b4f]+_0x123c23['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2b7b4f%_0x123c23['\x6c\x65\x6e\x67\x74\x68']))%(-0x1ce0+-0x2658+-0x221c*-0x2),_0x4f232a=_0x3c3a49[_0x2b7b4f],_0x3c3a49[_0x2b7b4f]=_0x3c3a49[_0x593cc4],_0x3c3a49[_0x593cc4]=_0x4f232a;}_0x2b7b4f=-0x2644+-0x1a80+-0x33d*-0x14,_0x593cc4=0x2225+0x1*-0x122e+-0x43*0x3d;for(let _0x11dd8e=0x2*0xc9c+-0x8bc+-0x1a6*0xa;_0x11dd8e<_0x4829f4['\x6c\x65\x6e\x67\x74\x68'];_0x11dd8e++){_0x2b7b4f=(_0x2b7b4f+(0x22d3+-0x3f*-0x19+-0x1*0x28f9))%(0x1*-0x11c5+-0x138c+0x2651),_0x593cc4=(_0x593cc4+_0x3c3a49[_0x2b7b4f])%(0x149a+-0xd16+0x3*-0x22c),_0x4f232a=_0x3c3a49[_0x2b7b4f],_0x3c3a49[_0x2b7b4f]=_0x3c3a49[_0x593cc4],_0x3c3a49[_0x593cc4]=_0x4f232a,_0x539d9a+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x4829f4['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x11dd8e)^_0x3c3a49[(_0x3c3a49[_0x2b7b4f]+_0x3c3a49[_0x593cc4])%(-0xaea+-0x138a+0x1f74)]);}return _0x539d9a;};_0x3bd2['\x44\x4c\x52\x54\x54\x59']=_0xec1248,_0x3bd2['\x61\x57\x75\x6a\x54\x50']={},_0x3bd2['\x58\x65\x4f\x51\x77\x6d']=!![];}const _0x577ea2=_0x60c723[-0x19be*-0x1+-0x21f+-0x179f],_0x565257=_0x6409c6+_0x577ea2,_0x3447b9=_0x3bd2['\x61\x57\x75\x6a\x54\x50'][_0x565257];return!_0x3447b9?(_0x3bd2['\x4a\x64\x6f\x4f\x48\x67']===undefined&&(_0x3bd2['\x4a\x64\x6f\x4f\x48\x67']=!![]),_0x4ce1ab=_0x3bd2['\x44\x4c\x52\x54\x54\x59'](_0x4ce1ab,_0x2341c9),_0x3bd2['\x61\x57\x75\x6a\x54\x50'][_0x565257]=_0x4ce1ab):_0x4ce1ab=_0x3447b9,_0x4ce1ab;}function _0x26e5(){const _0x533373=['\x57\x50\x79\x71\x57\x50\x6d\x70\x62\x71','\x57\x4f\x53\x30\x57\x34\x4b\x58\x77\x38\x6f\x6e','\x57\x4f\x64\x64\x55\x53\x6b\x2b\x57\x35\x42\x63\x55\x53\x6b\x72\x71\x71','\x57\x4f\x43\x44\x64\x6d\x6f\x41','\x57\x51\x4b\x6a\x57\x4f\x70\x64\x48\x6d\x6b\x30\x57\x4f\x30\x34','\x57\x36\x7a\x79\x72\x59\x72\x4c\x57\x35\x52\x63\x4d\x4c\x69','\x41\x47\x39\x52\x57\x36\x5a\x64\x55\x43\x6f\x61\x73\x43\x6b\x6f\x57\x37\x4a\x63\x4f\x6d\x6f\x68\x57\x35\x4a\x63\x51\x61','\x57\x37\x76\x6e\x67\x61\x4e\x64\x52\x43\x6b\x31\x57\x52\x4a\x63\x4d\x61','\x76\x38\x6f\x46\x57\x4f\x37\x63\x47\x68\x38\x2b\x57\x52\x65','\x79\x53\x6f\x7a\x57\x35\x6c\x64\x50\x53\x6b\x4f\x7a\x53\x6b\x67','\x57\x51\x30\x72\x57\x4f\x52\x64\x4a\x71','\x57\x50\x47\x77\x6b\x38\x6f\x4f\x57\x50\x65','\x76\x59\x6c\x63\x55\x38\x6f\x62\x6c\x4a\x79','\x6d\x53\x6b\x39\x57\x4f\x2f\x64\x49\x43\x6f\x46\x57\x37\x72\x38\x57\x51\x65','\x57\x4f\x54\x72\x7a\x4b\x78\x64\x55\x43\x6b\x6d\x57\x36\x4a\x63\x4f\x49\x68\x64\x49\x43\x6b\x2f\x57\x51\x6d','\x57\x35\x57\x42\x57\x51\x4c\x30','\x57\x35\x70\x63\x51\x38\x6b\x68\x67\x58\x75','\x57\x4f\x4e\x64\x4b\x38\x6f\x79\x57\x36\x74\x63\x54\x59\x47\x47\x57\x34\x69','\x57\x4f\x70\x63\x52\x58\x68\x64\x47\x57','\x69\x38\x6b\x47\x57\x50\x57\x77\x67\x61','\x7a\x43\x6b\x73\x57\x35\x74\x63\x49\x53\x6f\x32\x57\x50\x65','\x74\x73\x70\x63\x55\x47','\x78\x43\x6f\x67\x79\x76\x61\x36\x6f\x57','\x57\x36\x76\x50\x6c\x6d\x6b\x6a\x6a\x30\x46\x64\x49\x4b\x4a\x64\x4e\x66\x4a\x63\x47\x6d\x6f\x4c\x6e\x61','\x57\x51\x6d\x41\x67\x78\x79\x4c\x57\x4f\x68\x64\x48\x31\x70\x63\x47\x47\x4e\x63\x52\x53\x6b\x2f\x78\x61','\x43\x53\x6f\x43\x74\x38\x6b\x69\x6c\x63\x52\x63\x49\x71','\x57\x37\x65\x73\x6d\x58\x5a\x63\x4c\x76\x57\x51\x6f\x47','\x57\x35\x74\x63\x4a\x4c\x5a\x64\x4b\x6d\x6f\x46','\x57\x4f\x6c\x63\x4d\x38\x6f\x31\x57\x35\x39\x71\x43\x53\x6b\x6c\x6c\x6d\x6f\x59\x76\x38\x6f\x4f\x57\x34\x57','\x57\x37\x4e\x64\x4a\x63\x75','\x57\x50\x4f\x53\x57\x35\x4f\x52\x71\x43\x6f\x34\x57\x52\x6c\x63\x56\x71','\x57\x4f\x62\x7a\x57\x37\x4e\x64\x56\x6d\x6b\x4e\x43\x43\x6b\x79','\x76\x30\x6a\x4f\x57\x50\x57','\x6f\x30\x50\x6f\x76\x6d\x6b\x69\x57\x36\x33\x63\x4f\x53\x6f\x6f\x62\x6d\x6f\x30\x57\x4f\x70\x64\x4a\x4d\x79','\x57\x50\x47\x70\x57\x37\x57','\x57\x35\x71\x6c\x6d\x58\x42\x63\x55\x47','\x57\x36\x44\x48\x57\x37\x2f\x64\x53\x43\x6f\x75\x6b\x57','\x72\x76\x54\x36\x57\x4f\x43\x73\x6c\x53\x6b\x7a\x78\x71','\x57\x4f\x52\x64\x4b\x53\x6b\x51\x78\x38\x6b\x2b\x57\x52\x79','\x57\x34\x61\x2f\x57\x51\x39\x42\x75\x57','\x57\x50\x4b\x6d\x57\x4f\x57','\x6e\x58\x4e\x63\x50\x71\x65\x65\x57\x50\x37\x63\x52\x43\x6f\x61','\x6e\x66\x57\x38\x57\x51\x33\x63\x52\x6d\x6b\x78','\x57\x50\x38\x4c\x57\x35\x75\x39','\x7a\x43\x6f\x53\x57\x34\x33\x63\x47\x53\x6b\x74\x57\x51\x4b\x56\x57\x35\x4e\x64\x47\x53\x6f\x39\x73\x67\x4f\x6e','\x57\x36\x76\x71\x76\x38\x6f\x33\x76\x61','\x72\x6d\x6f\x68\x57\x50\x74\x63\x47\x68\x75\x77\x57\x52\x65','\x57\x52\x4a\x64\x49\x65\x4a\x64\x51\x6d\x6f\x46\x57\x34\x6d','\x43\x6d\x6f\x75\x57\x34\x52\x64\x55\x43\x6b\x5a\x76\x43\x6b\x64\x64\x61','\x57\x50\x34\x6d\x57\x50\x69\x69\x65\x38\x6f\x61','\x45\x6d\x6f\x39\x41\x75\x38\x6d','\x71\x53\x6f\x42\x44\x31\x61\x59\x6e\x43\x6f\x65\x57\x36\x4f','\x57\x52\x64\x63\x50\x38\x6f\x54\x77\x53\x6b\x7a','\x76\x63\x74\x63\x50\x53\x6f\x6d\x6e\x74\x69\x7a\x57\x50\x75','\x57\x50\x76\x46\x57\x36\x6d\x52\x69\x53\x6f\x34\x6a\x6d\x6f\x47\x69\x43\x6b\x57\x61\x53\x6b\x76\x76\x71','\x65\x77\x37\x64\x53\x6d\x6b\x45\x45\x77\x71\x4f\x57\x52\x47\x67\x41\x6d\x6f\x38\x57\x34\x69','\x57\x52\x75\x74\x57\x36\x57\x72\x43\x61','\x76\x5a\x78\x63\x50\x53\x6f\x41\x6a\x71','\x57\x4f\x6c\x64\x51\x53\x6b\x63\x6b\x4d\x58\x32\x57\x34\x78\x64\x4e\x47','\x57\x4f\x70\x63\x52\x57\x53','\x6e\x57\x56\x63\x56\x53\x6f\x6f\x57\x51\x4e\x63\x48\x6d\x6f\x2f\x57\x50\x31\x78\x43\x4b\x43\x50','\x65\x77\x42\x64\x55\x6d\x6b\x45\x44\x77\x4c\x65\x57\x50\x71\x36\x74\x43\x6f\x49\x57\x34\x4e\x64\x4d\x47','\x57\x50\x58\x50\x57\x37\x78\x64\x4c\x38\x6b\x6b','\x57\x4f\x56\x63\x51\x62\x78\x64\x47\x59\x58\x63','\x57\x52\x61\x4e\x57\x51\x56\x63\x50\x43\x6b\x62\x41\x43\x6b\x6d\x57\x34\x42\x64\x4c\x4c\x68\x63\x4d\x67\x38','\x57\x37\x39\x46\x77\x57','\x6e\x53\x6b\x35\x57\x50\x68\x64\x4e\x57','\x6d\x38\x6b\x36\x57\x50\x61\x69\x67\x65\x79\x41','\x57\x4f\x70\x64\x48\x6d\x6f\x70\x57\x36\x33\x63\x56\x68\x69','\x57\x50\x56\x64\x52\x43\x6b\x45','\x76\x31\x7a\x49\x57\x50\x47\x6a\x68\x43\x6b\x43','\x6d\x38\x6f\x6f\x78\x53\x6b\x66\x6a\x48\x4a\x63\x4e\x38\x6f\x70','\x57\x4f\x2f\x64\x48\x32\x37\x64\x55\x43\x6f\x35\x57\x36\x69\x61','\x57\x35\x37\x64\x4a\x38\x6b\x50\x57\x4f\x30','\x74\x48\x6c\x64\x51\x58\x6c\x64\x56\x53\x6f\x35\x64\x76\x79','\x57\x34\x35\x58\x57\x37\x5a\x64\x54\x53\x6f\x34\x70\x71','\x57\x4f\x56\x63\x51\x38\x6f\x4a\x57\x36\x56\x64\x54\x4d\x4c\x51\x46\x61','\x57\x37\x48\x67\x76\x43\x6f\x4e\x76\x6d\x6f\x4d','\x57\x35\x71\x49\x57\x51\x4c\x34\x45\x61','\x76\x78\x48\x32\x57\x50\x53\x59','\x57\x4f\x75\x46\x57\x37\x33\x64\x47\x53\x6b\x50\x57\x52\x4a\x63\x4e\x64\x65','\x6e\x78\x75\x5a\x57\x4f\x37\x63\x50\x57','\x57\x52\x57\x50\x57\x35\x4a\x64\x50\x53\x6b\x66','\x57\x35\x4a\x63\x50\x38\x6b\x68\x67\x57','\x78\x72\x4b\x50\x57\x35\x68\x63\x51\x53\x6b\x6f\x57\x52\x31\x62','\x57\x37\x39\x44\x61\x47\x33\x64\x51\x53\x6b\x6a\x57\x51\x74\x63\x4b\x57','\x57\x4f\x4f\x79\x64\x49\x6c\x63\x4f\x53\x6f\x70\x57\x36\x57','\x46\x75\x33\x64\x53\x66\x6e\x75\x57\x35\x33\x64\x55\x6d\x6f\x6d\x57\x35\x54\x35\x46\x53\x6f\x35\x76\x47','\x57\x36\x39\x31\x57\x37\x56\x64\x56\x38\x6f\x75\x70\x71','\x57\x50\x34\x6e\x57\x50\x74\x64\x4a\x43\x6b\x73\x57\x4f\x47','\x6f\x31\x47\x52\x57\x52\x5a\x63\x52\x53\x6b\x43\x64\x6d\x6b\x46','\x57\x35\x70\x64\x48\x53\x6b\x56\x57\x4f\x61\x41\x6c\x53\x6b\x57\x63\x57','\x57\x4f\x61\x53\x57\x35\x38\x6e\x57\x4f\x4e\x63\x48\x71','\x57\x37\x75\x62\x70\x48\x52\x63\x56\x71','\x72\x62\x33\x64\x51\x58\x6c\x64\x54\x38\x6f\x49','\x57\x50\x71\x75\x57\x4f\x54\x6e\x45\x53\x6b\x38\x78\x57','\x70\x38\x6b\x50\x57\x50\x6c\x64\x4d\x6d\x6f\x70\x57\x36\x4f','\x79\x38\x6b\x45\x57\x34\x52\x63\x49\x53\x6f\x37\x57\x50\x65','\x57\x36\x54\x34\x57\x37\x70\x64\x4f\x6d\x6f\x66\x63\x38\x6b\x49\x57\x37\x71','\x57\x50\x57\x71\x57\x50\x65\x70\x62\x71','\x74\x61\x65\x50\x57\x35\x42\x63\x51\x38\x6b\x56','\x45\x6d\x6f\x74\x46\x30\x57\x58','\x42\x53\x6f\x6d\x76\x38\x6b\x6f\x69\x64\x70\x63\x49\x43\x6f\x6f','\x77\x72\x57\x4b\x57\x34\x46\x63\x52\x71'];_0x26e5=function(){return _0x533373;};return _0x26e5();}function cycleIdOf(_0x2d1993){const _0x57ec46=_0x3bd2;return typeof _0x2d1993[_0x57ec46(0x1f3,'\x55\x72\x51\x59')]===_0x57ec46(0x1db,'\x47\x30\x6a\x40')?_0x2d1993['\x63\x79\x63\x6c\x65\x49\x64']:undefined;}export function cycleRecordsFromEvents(_0x2fef0c){const _0x2998e7=_0x3bd2,_0x3ef948=new Map(),_0x206fce=[],_0x48e2=_0x60c723=>{const _0xadd181=_0x3bd2;let _0x4ce1ab=_0x3ef948[_0xadd181(0x200,'\x5a\x37\x28\x21')](_0x60c723);return!_0x4ce1ab&&(_0x4ce1ab={'\x74\x65\x72\x6d\x69\x6e\x61\x6c':![]},_0x3ef948['\x73\x65\x74'](_0x60c723,_0x4ce1ab)),_0x4ce1ab;};for(const _0x55df4b of _0x2fef0c){if(_0x2998e7(0x1ec,'\x77\x48\x52\x53')===_0x2998e7(0x203,'\x28\x42\x35\x30')){const _0x577ea2=payloadObj(_0x55df4b),_0x565257=cycleIdOf(_0x577ea2);if(!_0x565257)continue;const _0x3447b9=_0x48e2(_0x565257);switch(_0x55df4b[_0x2998e7(0x237,'\x5d\x52\x7a\x35')]){case _0x2998e7(0x21a,'\x5b\x38\x59\x33')+_0x2998e7(0x1eb,'\x42\x64\x4a\x29'):{if(_0x2998e7(0x217,'\x67\x70\x5e\x71')===_0x2998e7(0x1fd,'\x47\x69\x75\x30')){if(typeof _0x577ea2[_0x2998e7(0x21f,'\x42\x78\x47\x54')]===_0x2998e7(0x22e,'\x47\x69\x75\x30'))_0x3447b9[_0x2998e7(0x226,'\x48\x63\x51\x70')]=_0x577ea2[_0x2998e7(0x20f,'\x44\x43\x46\x39')];break;}else{const _0xec1248=_0xe3304c,_0x599849=typeof _0xec1248[_0x2998e7(0x22d,'\x42\x29\x53\x29')]==='\x6e\x75\x6d\x62\x65\x72'?_0xec1248[_0x2998e7(0x1f9,'\x79\x78\x53\x34')]:_0x4212b9,_0x2a295a=typeof _0xec1248[_0x2998e7(0x228,'\x42\x29\x53\x29')]===_0x2998e7(0x212,'\x51\x45\x63\x28')?_0xec1248['\x6c\x69\x6e\x65\x73']:_0x8d7b7e,_0x5772c6=_0x44e532[_0x2998e7(0x1ff,'\x5a\x2a\x70\x54')+_0x2998e7(0x22a,'\x47\x30\x6a\x40')]===!![]&&_0x599849===-0x5*0x4c7+-0x6f7*-0x5+-0x5*0x230&&_0x2a295a===0x1*-0x11c5+-0x138c+0x2551;!_0x5772c6&&(_0x47b297['\x62\x6c\x61\x73\x74\x52\x61\x64'+_0x2998e7(0x1e7,'\x67\x70\x5e\x71')]={..._0x599849!==_0x4b376f?{'\x66\x69\x6c\x65\x73':_0x599849}:{},..._0x2a295a!==_0x35048b?{'\x6c\x69\x6e\x65\x73':_0x2a295a}:{}});}}case _0x2998e7(0x220,'\x74\x6c\x4e\x35')+_0x2998e7(0x20c,'\x4e\x58\x53\x63')+_0x2998e7(0x1ef,'\x42\x78\x47\x54'):{if(typeof _0x577ea2[_0x2998e7(0x22b,'\x4e\x58\x53\x63')+_0x2998e7(0x21e,'\x5d\x52\x7a\x35')]==='\x73\x74\x72\x69\x6e\x67')_0x3447b9[_0x2998e7(0x218,'\x48\x33\x57\x43')]=_0x577ea2[_0x2998e7(0x1ee,'\x6a\x76\x77\x6b')+_0x2998e7(0x210,'\x69\x43\x21\x5b')];break;}case _0x2998e7(0x1d2,'\x7a\x64\x71\x4d')+_0x2998e7(0x1fa,'\x38\x35\x66\x28'):{if(_0x2998e7(0x213,'\x77\x48\x52\x53')!==_0x2998e7(0x1f7,'\x47\x30\x6a\x40')){const _0x44c36b=_0x577ea2[_0x2998e7(0x1f5,'\x2a\x38\x47\x65')+_0x2998e7(0x206,'\x6a\x4e\x2a\x6d')];if(_0x44c36b&&typeof _0x44c36b===_0x2998e7(0x1d9,'\x48\x63\x51\x70')){const _0x3b41d8=_0x44c36b,_0x5d9b8c=typeof _0x3b41d8[_0x2998e7(0x1e8,'\x41\x75\x6e\x54')]===_0x2998e7(0x225,'\x7a\x64\x71\x4d')?_0x3b41d8[_0x2998e7(0x22c,'\x46\x57\x4b\x50')]:undefined,_0x3fb2a9=typeof _0x3b41d8['\x6c\x69\x6e\x65\x73']===_0x2998e7(0x1e9,'\x69\x43\x21\x5b')?_0x3b41d8[_0x2998e7(0x1d5,'\x48\x33\x57\x43')]:undefined,_0x5348b6=_0x577ea2[_0x2998e7(0x232,'\x6a\x4e\x2a\x6d')+'\x56\x61\x6c\x75\x65']===!![]&&_0x5d9b8c===0x149a+-0xd16+0x4*-0x1e1&&_0x3fb2a9===-0xaea+-0x138a+0x1e74;!_0x5348b6&&(_0x2998e7(0x214,'\x4b\x4d\x45\x68')!==_0x2998e7(0x238,'\x56\x5d\x6c\x46')?_0x3447b9[_0x2998e7(0x227,'\x69\x43\x21\x5b')+'\x69\x75\x73']={..._0x5d9b8c!==undefined?{'\x66\x69\x6c\x65\x73':_0x5d9b8c}:{},..._0x3fb2a9!==undefined?{'\x6c\x69\x6e\x65\x73':_0x3fb2a9}:{}}:_0x8b5d3d[_0x2998e7(0x211,'\x46\x4e\x35\x6e')+_0x2998e7(0x20a,'\x5a\x2a\x70\x54')]={..._0x565ed6!==_0x47b4e2?{'\x66\x69\x6c\x65\x73':_0x35738c}:{},..._0xaefa7d!==_0x20d30c?{'\x6c\x69\x6e\x65\x73':_0x1cd126}:{}});}break;}else return _0x533f28[_0x2998e7(0x231,'\x5d\x52\x7a\x35')]&&typeof _0x9c442f[_0x2998e7(0x236,'\x2a\x38\x47\x65')]==='\x6f\x62\x6a\x65\x63\x74'?_0x35976f[_0x2998e7(0x235,'\x55\x72\x51\x59')]:{};}case'\x63\x79\x63\x6c\x65\x2e\x73\x6f'+_0x2998e7(0x1df,'\x38\x4b\x63\x64'):case _0x2998e7(0x1d6,'\x54\x61\x64\x54')+_0x2998e7(0x20e,'\x74\x6c\x4e\x35'):{if(_0x2998e7(0x222,'\x41\x75\x6e\x54')!==_0x2998e7(0x216,'\x42\x78\x47\x54')){if(!_0x3447b9['\x74\x65\x72\x6d\x69\x6e\x61\x6c'])_0x206fce[_0x2998e7(0x1d4,'\x77\x48\x52\x53')](_0x565257);_0x3447b9[_0x2998e7(0x215,'\x67\x70\x5e\x71')]=!![],_0x3447b9['\x73\x74\x61\x74\x75\x73']=_0x55df4b[_0x2998e7(0x230,'\x56\x5d\x6c\x46')]==='\x63\x79\x63\x6c\x65\x2e\x73\x6f'+_0x2998e7(0x1f8,'\x47\x30\x6a\x40')?'\x73\x75\x63\x63\x65\x73\x73':_0x2998e7(0x21d,'\x69\x43\x21\x5b');if(typeof _0x577ea2[_0x2998e7(0x1f0,'\x47\x69\x75\x30')]===_0x2998e7(0x239,'\x38\x35\x66\x28'))_0x3447b9[_0x2998e7(0x1d7,'\x5a\x37\x28\x21')]=_0x577ea2[_0x2998e7(0x1d7,'\x5a\x37\x28\x21')];const _0x2999f7=_0x577ea2[_0x2998e7(0x1de,'\x4e\x58\x53\x63')];_0x2999f7&&typeof _0x2999f7==='\x6f\x62\x6a\x65\x63\x74'&&typeof _0x2999f7['\x73\x63\x6f\x72\x65']===_0x2998e7(0x1f6,'\x42\x29\x53\x29')&&(_0x3447b9[_0x2998e7(0x1e0,'\x50\x34\x50\x49')]=_0x2999f7[_0x2998e7(0x1d8,'\x49\x49\x49\x78')]);break;}else return typeof _0x551672[_0x2998e7(0x208,'\x49\x49\x49\x78')]===_0x2998e7(0x221,'\x78\x24\x72\x52')?_0x23a0c4['\x63\x79\x63\x6c\x65\x49\x64']:_0x1856e3;}default:break;}}else _0x4833d0[_0x2998e7(0x1fe,'\x38\x35\x66\x28')]=_0x54d5d7[_0x2998e7(0x1d8,'\x49\x49\x49\x78')];}const _0x6409c6=[];for(const _0x3650ec of _0x206fce){const _0x4829f4=_0x3ef948['\x67\x65\x74'](_0x3650ec);if(!_0x4829f4['\x74\x65\x72\x6d\x69\x6e\x61\x6c'])continue;const _0x123c23={};if(_0x4829f4[_0x2998e7(0x1f4,'\x4a\x64\x45\x42')]!==undefined)_0x123c23[_0x2998e7(0x223,'\x44\x43\x46\x39')]=_0x4829f4[_0x2998e7(0x209,'\x54\x61\x64\x54')];if(_0x4829f4[_0x2998e7(0x229,'\x46\x57\x4b\x50')]!==undefined)_0x123c23[_0x2998e7(0x20d,'\x67\x30\x30\x21')]={'\x73\x74\x61\x74\x75\x73':_0x4829f4['\x73\x74\x61\x74\x75\x73'],..._0x4829f4[_0x2998e7(0x1fe,'\x38\x35\x66\x28')]!==undefined?{'\x73\x63\x6f\x72\x65':_0x4829f4[_0x2998e7(0x1f2,'\x51\x45\x63\x28')]}:{}};if(_0x4829f4[_0x2998e7(0x1ea,'\x4b\x4d\x45\x68')+_0x2998e7(0x1ed,'\x42\x29\x53\x29')]!==undefined)_0x123c23[_0x2998e7(0x1e3,'\x47\x69\x75\x30')+_0x2998e7(0x1e2,'\x4e\x40\x59\x37')]=_0x4829f4[_0x2998e7(0x219,'\x46\x57\x4b\x50')+_0x2998e7(0x1da,'\x38\x35\x66\x28')];if(_0x4829f4[_0x2998e7(0x207,'\x7a\x64\x71\x4d')]!==undefined)_0x123c23[_0x2998e7(0x234,'\x5b\x38\x59\x33')+'\x64']=[_0x4829f4['\x67\x65\x6e\x65']];_0x6409c6[_0x2998e7(0x1e5,'\x4b\x4d\x45\x68')](_0x123c23);}return _0x6409c6;}
|