@evomap/evolver-core 2.0.0 → 2.0.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/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
package/dist/algo/antiDistill.js
CHANGED
|
@@ -1,167 +1 @@
|
|
|
1
|
-
import { createHash } from 'node:crypto';
|
|
2
|
-
export const ANTI_DISTILL_MIN_FAILURES = 2;
|
|
3
|
-
export const ANTI_DISTILL_TRIGGER_OVERLAP_MIN = 0.6;
|
|
4
|
-
function asStrings(value) {
|
|
5
|
-
if (!Array.isArray(value))
|
|
6
|
-
return [];
|
|
7
|
-
return [...new Set(value.map(String).map((item) => item.trim()).filter(Boolean))];
|
|
8
|
-
}
|
|
9
|
-
function stringField(record, key) {
|
|
10
|
-
const value = record[key];
|
|
11
|
-
return typeof value === 'string' && value.trim() ? value : undefined;
|
|
12
|
-
}
|
|
13
|
-
function isFailedCapsule(record) {
|
|
14
|
-
if (record.type !== 'Capsule')
|
|
15
|
-
return false;
|
|
16
|
-
const outcome = record['outcome'];
|
|
17
|
-
return Boolean(outcome && typeof outcome === 'object' && !Array.isArray(outcome)
|
|
18
|
-
&& outcome.status === 'failed');
|
|
19
|
-
}
|
|
20
|
-
function capsuleId(record, index) {
|
|
21
|
-
return stringField(record, 'asset_id') ?? stringField(record, 'id') ?? `capsule:${index}`;
|
|
22
|
-
}
|
|
23
|
-
function capsuleDigest(record, index) {
|
|
24
|
-
if (!isFailedCapsule(record))
|
|
25
|
-
return null;
|
|
26
|
-
const trigger = asStrings(record['trigger']);
|
|
27
|
-
if (trigger.length === 0)
|
|
28
|
-
return null;
|
|
29
|
-
return {
|
|
30
|
-
capsuleId: capsuleId(record, index),
|
|
31
|
-
trigger,
|
|
32
|
-
...(stringField(record, 'gene') ? { gene: stringField(record, 'gene') } : {}),
|
|
33
|
-
...(stringField(record, 'summary') ? { summary: stringField(record, 'summary') } : {}),
|
|
34
|
-
...(record['outcome'] !== undefined ? { outcome: record['outcome'] } : {}),
|
|
35
|
-
...(record['proof_of_work'] !== undefined ? { proofOfWork: record['proof_of_work'] } : {}),
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function stableCapsuleView(capsule) {
|
|
39
|
-
return {
|
|
40
|
-
capsuleId: capsule.capsuleId,
|
|
41
|
-
trigger: [...capsule.trigger].sort(),
|
|
42
|
-
...(capsule.gene ? { gene: capsule.gene } : {}),
|
|
43
|
-
...(capsule.summary ? { summary: capsule.summary } : {}),
|
|
44
|
-
...(capsule.outcome !== undefined ? { outcome: capsule.outcome } : {}),
|
|
45
|
-
...(capsule.proofOfWork !== undefined ? { proofOfWork: capsule.proofOfWork } : {}),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function canonicalHashValue(value) {
|
|
49
|
-
if (value === null || typeof value !== 'object')
|
|
50
|
-
return value;
|
|
51
|
-
if (Array.isArray(value))
|
|
52
|
-
return value.map(canonicalHashValue);
|
|
53
|
-
return Object.fromEntries(Object.entries(value)
|
|
54
|
-
.sort(([left], [right]) => left.localeCompare(right))
|
|
55
|
-
.map(([key, item]) => [key, canonicalHashValue(item)]));
|
|
56
|
-
}
|
|
57
|
-
function hashStable(value) {
|
|
58
|
-
return createHash('sha256').update(JSON.stringify(canonicalHashValue(value))).digest('hex');
|
|
59
|
-
}
|
|
60
|
-
export function triggerOverlapScore(a, b) {
|
|
61
|
-
const left = new Set(a.map(String).filter(Boolean));
|
|
62
|
-
const right = new Set(b.map(String).filter(Boolean));
|
|
63
|
-
if (left.size === 0 || right.size === 0)
|
|
64
|
-
return 0;
|
|
65
|
-
let hit = 0;
|
|
66
|
-
for (const token of left)
|
|
67
|
-
if (right.has(token))
|
|
68
|
-
hit += 1;
|
|
69
|
-
return hit / new Set([...left, ...right]).size;
|
|
70
|
-
}
|
|
71
|
-
function compatibleWithCluster(capsule, cluster, overlapMin) {
|
|
72
|
-
let total = 0;
|
|
73
|
-
for (const existing of cluster.capsules) {
|
|
74
|
-
const overlap = triggerOverlapScore(capsule.trigger, existing.trigger);
|
|
75
|
-
if (overlap < overlapMin)
|
|
76
|
-
return { ok: false, avg: overlap };
|
|
77
|
-
total += overlap;
|
|
78
|
-
}
|
|
79
|
-
return { ok: true, avg: cluster.capsules.length > 0 ? total / cluster.capsules.length : 1 };
|
|
80
|
-
}
|
|
81
|
-
function recurringTrigger(capsules, minFailures) {
|
|
82
|
-
const counts = new Map();
|
|
83
|
-
for (const capsule of capsules) {
|
|
84
|
-
for (const token of capsule.trigger)
|
|
85
|
-
counts.set(token, (counts.get(token) ?? 0) + 1);
|
|
86
|
-
}
|
|
87
|
-
return [...counts.entries()]
|
|
88
|
-
.filter(([, count]) => count >= minFailures)
|
|
89
|
-
.map(([token]) => token)
|
|
90
|
-
.sort();
|
|
91
|
-
}
|
|
92
|
-
function sharedTrigger(capsules) {
|
|
93
|
-
return recurringTrigger(capsules, capsules.length);
|
|
94
|
-
}
|
|
95
|
-
function clusterId(capsules) {
|
|
96
|
-
return `anti_cluster_${hashStable(capsules.map(stableCapsuleView)).slice(0, 16)}`;
|
|
97
|
-
}
|
|
98
|
-
function toFailureCluster(cluster, minFailures) {
|
|
99
|
-
const capsules = [...cluster.capsules].sort((a, b) => a.capsuleId.localeCompare(b.capsuleId));
|
|
100
|
-
return {
|
|
101
|
-
clusterId: clusterId(capsules),
|
|
102
|
-
trigger: recurringTrigger(capsules, minFailures),
|
|
103
|
-
sharedTrigger: sharedTrigger(capsules),
|
|
104
|
-
capsuleIds: capsules.map((capsule) => capsule.capsuleId),
|
|
105
|
-
genes: [...new Set(capsules.map((capsule) => capsule.gene).filter((gene) => Boolean(gene)))].sort(),
|
|
106
|
-
failureCapsules: capsules,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
function positiveInteger(value, fallback) {
|
|
110
|
-
return Number.isSafeInteger(value) && value !== undefined && value > 0 ? value : fallback;
|
|
111
|
-
}
|
|
112
|
-
function nonNegativeInteger(value, fallback) {
|
|
113
|
-
return Number.isSafeInteger(value) && value !== undefined && value >= 0 ? value : fallback;
|
|
114
|
-
}
|
|
115
|
-
function overlapThreshold(value) {
|
|
116
|
-
return typeof value === 'number' && Number.isFinite(value) && value >= 0 && value <= 1
|
|
117
|
-
? value
|
|
118
|
-
: ANTI_DISTILL_TRIGGER_OVERLAP_MIN;
|
|
119
|
-
}
|
|
120
|
-
export function collectAntiDistillInput(capsules, opts = {}) {
|
|
121
|
-
const minFailures = positiveInteger(opts.minFailures, ANTI_DISTILL_MIN_FAILURES);
|
|
122
|
-
const overlapMin = overlapThreshold(opts.triggerOverlapMin);
|
|
123
|
-
const failedCapsuleCount = capsules.filter(isFailedCapsule).length;
|
|
124
|
-
const seen = new Set();
|
|
125
|
-
const failed = capsules
|
|
126
|
-
.map((record, index) => capsuleDigest(record, index))
|
|
127
|
-
.filter((capsule) => capsule !== null)
|
|
128
|
-
.filter((capsule) => {
|
|
129
|
-
if (seen.has(capsule.capsuleId))
|
|
130
|
-
return false;
|
|
131
|
-
seen.add(capsule.capsuleId);
|
|
132
|
-
return true;
|
|
133
|
-
})
|
|
134
|
-
.sort((a, b) => a.capsuleId.localeCompare(b.capsuleId));
|
|
135
|
-
const clusters = [];
|
|
136
|
-
for (const capsule of failed) {
|
|
137
|
-
let bestIndex = -1;
|
|
138
|
-
let bestScore = -1;
|
|
139
|
-
for (let i = 0; i < clusters.length; i += 1) {
|
|
140
|
-
const score = compatibleWithCluster(capsule, clusters[i], overlapMin);
|
|
141
|
-
if (score.ok && score.avg > bestScore) {
|
|
142
|
-
bestIndex = i;
|
|
143
|
-
bestScore = score.avg;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (bestIndex >= 0)
|
|
147
|
-
clusters[bestIndex].capsules.push(capsule);
|
|
148
|
-
else
|
|
149
|
-
clusters.push({ capsules: [capsule] });
|
|
150
|
-
}
|
|
151
|
-
const failureClusters = clusters
|
|
152
|
-
.filter((cluster) => cluster.capsules.length >= minFailures)
|
|
153
|
-
.map((cluster) => toFailureCluster(cluster, minFailures))
|
|
154
|
-
.sort((a, b) => b.failureCapsules.length - a.failureCapsules.length
|
|
155
|
-
|| a.trigger.join('\0').localeCompare(b.trigger.join('\0'))
|
|
156
|
-
|| a.capsuleIds.join('\0').localeCompare(b.capsuleIds.join('\0')))
|
|
157
|
-
.slice(0, opts.maxClusters !== undefined ? nonNegativeInteger(opts.maxClusters, clusters.length) : clusters.length);
|
|
158
|
-
return {
|
|
159
|
-
dataHash: hashStable(failureClusters.map((cluster) => ({
|
|
160
|
-
trigger: cluster.trigger,
|
|
161
|
-
capsuleIds: cluster.capsuleIds,
|
|
162
|
-
}))),
|
|
163
|
-
failedCapsuleCount,
|
|
164
|
-
clusterableFailureCount: failed.length,
|
|
165
|
-
failureClusters,
|
|
166
|
-
};
|
|
167
|
-
}
|
|
1
|
+
(function(_0x199bb5,_0x398aa2){const _0x568ff2=_0x4c29,_0x3750ac=_0x199bb5();while(!![]){try{const _0x5e6fb3=parseInt(_0x568ff2(0xd1,'\x45\x49\x65\x5d'))/(0x5*-0x481+-0x2*-0x1eb+0xd*0x170)+-parseInt(_0x568ff2(0x82,'\x24\x5a\x71\x67'))/(-0x209+-0x1d44+0x1f4f*0x1)*(-parseInt(_0x568ff2(0xbb,'\x30\x74\x4b\x63'))/(-0x1b7+0x4a8*-0x5+0x1902))+-parseInt(_0x568ff2(0xc7,'\x4e\x47\x5a\x30'))/(0x1b6b+0x2*-0x1f9+-0x1775)*(-parseInt(_0x568ff2(0x9d,'\x30\x74\x4b\x63'))/(0x1215+0xfcb+-0x51*0x6b))+-parseInt(_0x568ff2(0x80,'\x4e\x47\x5a\x30'))/(-0x1e95*0x1+-0xb1*-0x16+0xf65*0x1)*(-parseInt(_0x568ff2(0xda,'\x65\x50\x24\x37'))/(-0x1d50+-0x32*-0x80+0x457*0x1))+-parseInt(_0x568ff2(0x8a,'\x6d\x64\x5b\x7a'))/(0x3*0xc9d+0x64e+-0x2c1d)*(-parseInt(_0x568ff2(0xae,'\x42\x21\x74\x6a'))/(-0xa49+0x9*-0xa3+-0x1*-0x100d))+-parseInt(_0x568ff2(0x11a,'\x51\x69\x65\x53'))/(-0x16a5+-0xd3*0x2+0x1855)*(-parseInt(_0x568ff2(0xb3,'\x37\x37\x62\x63'))/(-0x11f0+-0x95f+-0xdad*-0x2))+parseInt(_0x568ff2(0xfa,'\x65\x50\x24\x37'))/(-0x1*0xff4+0x5*-0x77a+0x3562)*(-parseInt(_0x568ff2(0xc9,'\x65\x50\x24\x37'))/(0x19dc+0x42a*0x9+-0x3f49));if(_0x5e6fb3===_0x398aa2)break;else _0x3750ac['push'](_0x3750ac['shift']());}catch(_0x31ec31){_0x3750ac['push'](_0x3750ac['shift']());}}}(_0x5ed0,0x237*-0x7cf+0x10cdcd+0xf57a9*0x1));import{createHash}from'\x6e\x6f\x64\x65\x3a\x63\x72\x79\x70\x74\x6f';export const ANTI_DISTILL_MIN_FAILURES=-0xa79*-0x1+-0x1*-0x1d4b+-0x27c2;export const ANTI_DISTILL_TRIGGER_OVERLAP_MIN=0xf9e+0x2*-0xd57+0xb10+0.6;function asStrings(_0x2fb2a3){const _0x540cc1=_0x4c29;if(!Array[_0x540cc1(0x118,'\x63\x6a\x32\x77')](_0x2fb2a3))return[];return[...new Set(_0x2fb2a3[_0x540cc1(0xab,'\x58\x73\x38\x66')](String)['\x6d\x61\x70'](_0x5de2df=>_0x5de2df['\x74\x72\x69\x6d']())[_0x540cc1(0x108,'\x50\x4c\x6b\x65')](Boolean))];}function stringField(_0x30eb5a,_0x4b5d27){const _0xe23c40=_0x4c29,_0x3631b5=_0x30eb5a[_0x4b5d27];return typeof _0x3631b5===_0xe23c40(0xf6,'\x55\x4f\x38\x57')&&_0x3631b5[_0xe23c40(0xe2,'\x64\x4d\x29\x73')]()?_0x3631b5:undefined;}function isFailedCapsule(_0x10d853){const _0x59cb4f=_0x4c29;if(_0x10d853[_0x59cb4f(0x83,'\x41\x46\x70\x69')]!==_0x59cb4f(0xc3,'\x43\x68\x78\x6e'))return![];const _0x2be976=_0x10d853[_0x59cb4f(0xce,'\x61\x58\x74\x50')];return Boolean(_0x2be976&&typeof _0x2be976===_0x59cb4f(0x103,'\x64\x4d\x29\x73')&&!Array[_0x59cb4f(0xe3,'\x41\x46\x70\x69')](_0x2be976)&&_0x2be976[_0x59cb4f(0xb1,'\x5d\x47\x4d\x4b')]==='\x66\x61\x69\x6c\x65\x64');}function capsuleId(_0x57b6eb,_0x2d197a){const _0x3effad=_0x4c29;return stringField(_0x57b6eb,_0x3effad(0xf0,'\x26\x63\x58\x67'))??stringField(_0x57b6eb,'\x69\x64')??_0x3effad(0xdf,'\x30\x69\x65\x40')+_0x2d197a;}function capsuleDigest(_0x1b9093,_0x36697d){const _0x30b7ea=_0x4c29;if(!isFailedCapsule(_0x1b9093))return null;const _0x17b867=asStrings(_0x1b9093[_0x30b7ea(0x87,'\x56\x44\x55\x21')]);if(_0x17b867['\x6c\x65\x6e\x67\x74\x68']===-0x15d0+0x2269+-0xc99)return null;return{'\x63\x61\x70\x73\x75\x6c\x65\x49\x64':capsuleId(_0x1b9093,_0x36697d),'\x74\x72\x69\x67\x67\x65\x72':_0x17b867,...stringField(_0x1b9093,_0x30b7ea(0x84,'\x58\x73\x38\x66'))?{'\x67\x65\x6e\x65':stringField(_0x1b9093,_0x30b7ea(0x84,'\x58\x73\x38\x66'))}:{},...stringField(_0x1b9093,_0x30b7ea(0xd8,'\x57\x73\x54\x53'))?{'\x73\x75\x6d\x6d\x61\x72\x79':stringField(_0x1b9093,_0x30b7ea(0x111,'\x65\x50\x24\x37'))}:{},..._0x1b9093['\x6f\x75\x74\x63\x6f\x6d\x65']!==undefined?{'\x6f\x75\x74\x63\x6f\x6d\x65':_0x1b9093[_0x30b7ea(0xf4,'\x24\x5a\x71\x67')]}:{},..._0x1b9093[_0x30b7ea(0x106,'\x50\x4c\x6b\x65')+_0x30b7ea(0x10b,'\x66\x72\x4c\x31')]!==undefined?{'\x70\x72\x6f\x6f\x66\x4f\x66\x57\x6f\x72\x6b':_0x1b9093[_0x30b7ea(0x113,'\x61\x58\x74\x50')+'\x5f\x77\x6f\x72\x6b']}:{}};}function stableCapsuleView(_0x69b5cb){const _0x20cb66=_0x4c29;return{'\x63\x61\x70\x73\x75\x6c\x65\x49\x64':_0x69b5cb[_0x20cb66(0xf9,'\x51\x69\x65\x53')+'\x64'],'\x74\x72\x69\x67\x67\x65\x72':[..._0x69b5cb[_0x20cb66(0xad,'\x55\x4b\x44\x6b')]][_0x20cb66(0xa8,'\x33\x55\x6f\x2a')](),..._0x69b5cb[_0x20cb66(0xd5,'\x24\x5a\x71\x67')]?{'\x67\x65\x6e\x65':_0x69b5cb[_0x20cb66(0xa0,'\x6a\x55\x30\x73')]}:{},..._0x69b5cb[_0x20cb66(0x11e,'\x71\x30\x50\x75')]?{'\x73\x75\x6d\x6d\x61\x72\x79':_0x69b5cb[_0x20cb66(0xed,'\x37\x37\x62\x63')]}:{},..._0x69b5cb[_0x20cb66(0x97,'\x6f\x6e\x45\x4d')]!==undefined?{'\x6f\x75\x74\x63\x6f\x6d\x65':_0x69b5cb[_0x20cb66(0x119,'\x30\x74\x4b\x63')]}:{},..._0x69b5cb[_0x20cb66(0xac,'\x30\x67\x77\x42')+_0x20cb66(0xd4,'\x61\x58\x74\x50')]!==undefined?{'\x70\x72\x6f\x6f\x66\x4f\x66\x57\x6f\x72\x6b':_0x69b5cb[_0x20cb66(0xcb,'\x51\x69\x65\x53')+_0x20cb66(0x122,'\x50\x4b\x36\x53')]}:{}};}function canonicalHashValue(_0x243222){const _0x1f2b75=_0x4c29;if(_0x243222===null||typeof _0x243222!==_0x1f2b75(0x116,'\x51\x69\x65\x53'))return _0x243222;if(Array['\x69\x73\x41\x72\x72\x61\x79'](_0x243222))return _0x243222[_0x1f2b75(0xf7,'\x42\x21\x74\x6a')](canonicalHashValue);return Object[_0x1f2b75(0xf1,'\x61\x58\x74\x50')+_0x1f2b75(0x7e,'\x4a\x64\x75\x4f')](Object[_0x1f2b75(0x121,'\x6f\x6e\x45\x4d')](_0x243222)[_0x1f2b75(0xf3,'\x57\x73\x54\x53')](([_0x1bd89d],[_0x1eaaa7])=>_0x1bd89d[_0x1f2b75(0xbe,'\x51\x69\x65\x53')+_0x1f2b75(0x124,'\x4d\x74\x61\x53')](_0x1eaaa7))[_0x1f2b75(0xef,'\x71\x30\x50\x75')](([_0x51ff5f,_0x3adf96])=>[_0x51ff5f,canonicalHashValue(_0x3adf96)]));}function _0x5ed0(){const _0x21d9e7=['\x57\x50\x46\x64\x4f\x5a\x30\x49\x57\x50\x70\x64\x50\x6d\x6f\x32','\x66\x77\x79\x6f\x57\x36\x6c\x63\x48\x64\x42\x64\x47\x57','\x76\x64\x64\x64\x47\x68\x65','\x43\x38\x6b\x66\x57\x4f\x4e\x64\x54\x38\x6f\x6c\x77\x61','\x70\x53\x6f\x63\x57\x4f\x62\x56','\x72\x6d\x6b\x68\x57\x50\x52\x64\x4a\x53\x6b\x6a\x41\x6d\x6b\x58\x76\x6d\x6f\x50','\x57\x4f\x57\x59\x57\x34\x6c\x63\x4e\x57\x35\x50','\x57\x34\x44\x64\x71\x57','\x61\x53\x6b\x67\x57\x37\x4c\x53\x57\x35\x52\x63\x51\x61','\x64\x68\x75\x78','\x72\x53\x6f\x50\x79\x43\x6b\x31\x57\x4f\x74\x63\x48\x38\x6b\x56','\x61\x49\x42\x63\x4b\x73\x54\x44\x57\x51\x79\x6b','\x79\x4d\x35\x76\x77\x47','\x63\x6d\x6b\x4c\x70\x53\x6b\x45\x57\x35\x54\x6e\x6d\x53\x6b\x33\x42\x53\x6b\x67\x57\x36\x79','\x57\x37\x79\x61\x78\x6d\x6b\x63\x6d\x4b\x37\x63\x51\x71','\x76\x43\x6f\x66\x71\x38\x6f\x39\x74\x47','\x69\x43\x6f\x63\x57\x50\x66\x36\x57\x4f\x71\x2f\x57\x37\x4a\x63\x54\x71','\x65\x47\x65\x6f','\x57\x52\x69\x4a\x57\x34\x30','\x57\x50\x4b\x59\x57\x35\x74\x63\x4a\x47','\x57\x50\x31\x44\x6b\x57','\x67\x38\x6b\x69\x57\x37\x47\x67\x57\x50\x33\x63\x49\x6d\x6f\x76','\x69\x53\x6b\x74\x57\x52\x65\x4b\x43\x68\x4f\x4c','\x57\x52\x6d\x56\x57\x35\x76\x6e\x6e\x43\x6f\x46','\x66\x72\x38\x41\x6a\x38\x6f\x5a\x57\x50\x6a\x38\x57\x4f\x4b','\x6b\x31\x69\x70\x57\x50\x50\x56\x57\x36\x76\x6d\x57\x35\x6a\x33\x76\x49\x30\x76\x61\x57','\x74\x6d\x6b\x44\x57\x36\x70\x64\x4f\x6d\x6b\x36\x75\x43\x6b\x59\x57\x51\x30','\x72\x68\x7a\x75\x57\x37\x5a\x64\x4c\x4a\x64\x63\x51\x43\x6b\x49\x57\x4f\x72\x38','\x57\x51\x57\x6d\x45\x43\x6b\x6c\x64\x33\x52\x63\x4d\x38\x6b\x61','\x70\x43\x6f\x46\x57\x50\x31\x30\x57\x4f\x34\x76\x57\x35\x33\x63\x4a\x71','\x57\x36\x46\x64\x48\x38\x6b\x39\x57\x36\x75','\x6f\x72\x70\x63\x4d\x59\x7a\x32','\x57\x36\x71\x42\x57\x36\x62\x55\x57\x51\x2f\x63\x49\x58\x75','\x70\x53\x6b\x64\x66\x53\x6b\x55\x57\x37\x64\x63\x47\x6d\x6b\x32','\x57\x37\x7a\x6b\x57\x52\x42\x63\x4a\x71','\x57\x35\x54\x56\x57\x50\x33\x64\x4d\x76\x4f\x54\x45\x4e\x50\x6e\x57\x4f\x71\x73\x75\x43\x6f\x4b','\x78\x4e\x6a\x69','\x75\x76\x58\x6b\x57\x37\x61\x55\x57\x36\x4e\x63\x54\x6d\x6f\x30\x57\x51\x64\x63\x4d\x6d\x6b\x41\x57\x4f\x71','\x57\x36\x71\x43\x57\x37\x38','\x57\x37\x2f\x63\x48\x6d\x6f\x77\x57\x36\x47','\x57\x36\x74\x64\x48\x53\x6b\x56\x57\x37\x4c\x63\x6a\x57','\x66\x4a\x65\x68','\x65\x73\x6c\x64\x4c\x53\x6f\x74\x57\x35\x53\x52\x57\x34\x61','\x64\x59\x46\x64\x4d\x53\x6f\x6d\x57\x35\x38','\x72\x4e\x66\x7a\x57\x37\x37\x64\x54\x59\x52\x63\x51\x6d\x6b\x44\x57\x4f\x39\x74','\x79\x43\x6b\x46\x57\x50\x5a\x64\x51\x53\x6f\x48\x73\x68\x72\x58','\x57\x4f\x68\x64\x47\x58\x30','\x62\x38\x6b\x6f\x57\x36\x76\x52\x57\x34\x52\x63\x54\x53\x6f\x57\x6a\x71','\x57\x50\x53\x6b\x57\x34\x56\x64\x48\x38\x6f\x67\x57\x37\x6e\x66\x43\x47','\x57\x36\x70\x64\x4e\x43\x6f\x75\x57\x50\x6a\x79\x57\x36\x54\x35\x57\x4f\x75','\x62\x72\x79\x6f','\x6f\x59\x6c\x63\x51\x74\x35\x6e','\x57\x4f\x74\x63\x4c\x4d\x61\x56','\x41\x38\x6b\x63\x68\x53\x6f\x2b\x57\x52\x33\x64\x55\x32\x30','\x42\x48\x58\x6f\x57\x34\x47','\x57\x4f\x42\x64\x4a\x71\x71\x71','\x57\x34\x42\x64\x48\x74\x57','\x57\x51\x56\x64\x4b\x6d\x6b\x6d\x57\x52\x53\x37\x72\x38\x6b\x75\x57\x50\x75\x72\x57\x50\x65','\x57\x36\x70\x64\x47\x6d\x6b\x4e\x57\x36\x50\x71\x6d\x77\x57','\x57\x50\x30\x73\x57\x52\x5a\x64\x4a\x75\x38','\x57\x35\x68\x63\x51\x4c\x33\x64\x4b\x59\x4f\x76','\x57\x36\x68\x64\x49\x53\x6f\x64','\x57\x37\x56\x63\x47\x6d\x6f\x69\x57\x37\x34\x68\x45\x38\x6b\x44\x57\x52\x75','\x64\x53\x6f\x61\x57\x34\x70\x64\x50\x38\x6b\x6c\x44\x38\x6b\x56','\x57\x52\x2f\x63\x4a\x43\x6f\x6f\x57\x35\x4b\x54\x57\x34\x33\x63\x4a\x4d\x47','\x57\x36\x48\x65\x57\x52\x71','\x57\x4f\x50\x49\x57\x51\x4a\x64\x50\x74\x65\x66\x79\x49\x65','\x57\x36\x30\x43\x57\x37\x54\x47\x57\x4f\x78\x63\x49\x61\x71\x59','\x63\x53\x6b\x35\x57\x34\x71\x62\x57\x4f\x4f','\x65\x74\x4a\x64\x49\x43\x6f\x6b','\x57\x37\x46\x63\x4c\x6d\x6f\x6d\x57\x36\x34\x44\x45\x53\x6b\x44','\x68\x6d\x6f\x6a\x7a\x38\x6b\x4a\x57\x50\x68\x63\x4a\x38\x6b\x44','\x66\x38\x6b\x42\x57\x36\x44\x58\x57\x35\x68\x63\x56\x71','\x57\x34\x70\x64\x47\x74\x71','\x57\x36\x33\x64\x4e\x43\x6f\x43\x57\x51\x6a\x62\x57\x37\x6a\x56\x57\x34\x53','\x6c\x53\x6f\x6d\x57\x4f\x6a\x4f\x57\x50\x30\x32\x57\x35\x37\x63\x4b\x57','\x72\x4e\x39\x78\x57\x37\x52\x63\x50\x4c\x6c\x63\x47\x53\x6b\x77\x57\x52\x35\x67\x74\x53\x6b\x37','\x57\x52\x46\x63\x4a\x53\x6f\x37\x57\x34\x75\x56\x57\x34\x68\x63\x49\x71','\x57\x52\x6d\x78\x57\x37\x5a\x64\x49\x6d\x6f\x46\x57\x4f\x34\x6a\x67\x53\x6b\x31\x71\x4d\x30','\x57\x37\x52\x63\x56\x4b\x50\x71\x57\x50\x56\x63\x56\x68\x30\x46','\x57\x34\x34\x43\x45\x38\x6b\x6f\x57\x36\x64\x64\x4a\x33\x37\x63\x53\x43\x6f\x50\x57\x52\x56\x63\x4b\x47','\x62\x47\x75\x75\x57\x51\x58\x49\x57\x51\x4e\x63\x4c\x53\x6f\x71','\x57\x36\x65\x62\x57\x37\x31\x4a','\x44\x47\x62\x71\x57\x34\x4f\x56\x57\x52\x75','\x70\x53\x6b\x75\x67\x6d\x6b\x53\x57\x36\x75','\x57\x50\x2f\x63\x48\x4d\x6d\x4e\x57\x51\x6e\x55','\x57\x35\x58\x79\x57\x4f\x4a\x63\x4e\x6d\x6b\x74\x57\x52\x53\x34\x71\x4a\x43\x49\x57\x52\x72\x4c\x57\x50\x71','\x64\x61\x65\x74\x57\x51\x44\x4a\x57\x52\x6d','\x71\x32\x66\x78\x68\x73\x44\x5a\x57\x50\x4e\x64\x4b\x61','\x6c\x6d\x6b\x42\x57\x36\x65\x73\x57\x4f\x2f\x63\x47\x43\x6f\x63','\x76\x78\x50\x75\x62\x49\x72\x45','\x57\x50\x75\x4c\x72\x4c\x6d\x4f\x57\x37\x43','\x71\x53\x6b\x6d\x57\x37\x6c\x64\x4f\x43\x6b\x51','\x76\x33\x7a\x74\x72\x53\x6f\x4d','\x57\x50\x38\x52\x57\x34\x52\x63\x49\x48\x39\x2b','\x57\x36\x30\x68\x57\x37\x48\x35\x57\x51\x78\x63\x4c\x61','\x72\x58\x33\x64\x47\x49\x62\x2b\x6e\x31\x71\x4e\x57\x51\x70\x63\x48\x71','\x61\x5a\x75\x6a\x57\x51\x33\x64\x55\x61\x78\x63\x54\x57','\x66\x38\x6b\x68\x57\x37\x71\x51\x57\x4f\x52\x64\x52\x61','\x62\x64\x69\x6e\x57\x51\x46\x64\x56\x48\x6c\x63\x56\x61','\x57\x35\x33\x64\x4a\x5a\x79\x70','\x57\x37\x53\x43\x57\x37\x54\x49\x57\x51\x42\x63\x55\x72\x38\x4d','\x57\x4f\x34\x6f\x57\x34\x4e\x64\x4d\x6d\x6f\x73\x57\x36\x39\x54\x75\x47','\x74\x6d\x6b\x64\x57\x50\x46\x63\x55\x43\x6f\x44\x6e\x43\x6b\x39\x46\x43\x6f\x53\x6b\x73\x64\x63\x4b\x61','\x69\x53\x6f\x70\x57\x50\x48\x2b\x57\x4f\x53\x55','\x62\x47\x75\x75\x57\x51\x58\x59\x57\x52\x38','\x57\x4f\x71\x43\x57\x37\x4a\x64\x4d\x43\x6f\x76\x57\x36\x6a\x58','\x75\x43\x6f\x49\x43\x53\x6f\x6d\x57\x4f\x6e\x41\x70\x57','\x46\x6d\x6b\x42\x57\x34\x53\x4f\x57\x35\x39\x51\x57\x35\x64\x63\x4e\x38\x6f\x67\x57\x50\x4a\x64\x4e\x6d\x6b\x6b','\x63\x38\x6b\x6e\x57\x37\x39\x39\x57\x35\x5a\x63\x52\x47','\x57\x36\x46\x63\x56\x33\x62\x77\x57\x50\x52\x63\x56\x65\x79\x2b','\x57\x35\x56\x63\x50\x4c\x2f\x64\x47\x64\x53\x70','\x57\x37\x7a\x71\x57\x51\x4e\x63\x4c\x6d\x6b\x6a\x57\x4f\x79\x79','\x45\x6d\x6b\x58\x57\x52\x47\x6f\x43\x68\x69\x6f\x57\x51\x43','\x57\x4f\x50\x4e\x57\x52\x57','\x57\x52\x61\x4f\x57\x34\x31\x6c\x6f\x43\x6f\x69\x6c\x71','\x57\x36\x42\x63\x48\x4d\x34','\x45\x33\x76\x6f\x78\x43\x6f\x4a\x57\x4f\x52\x63\x47\x53\x6f\x4d','\x57\x4f\x6d\x77\x57\x52\x4a\x64\x4a\x78\x75','\x57\x51\x6c\x64\x4b\x38\x6f\x62\x57\x35\x4b','\x57\x51\x34\x77\x44\x38\x6b\x69\x62\x4d\x30','\x70\x53\x6b\x61\x57\x36\x71\x62\x57\x4f\x33\x63\x4c\x47','\x57\x36\x79\x70\x57\x36\x71','\x57\x34\x6e\x68\x71\x61','\x57\x34\x4c\x64\x71\x38\x6f\x48\x57\x51\x46\x63\x50\x6d\x6b\x33\x57\x36\x4b','\x6b\x66\x69\x6a\x57\x50\x39\x54\x57\x50\x47\x67\x57\x37\x58\x43\x42\x61\x34','\x57\x36\x43\x6c\x57\x37\x50\x51\x57\x52\x74\x63\x4a\x47','\x57\x51\x37\x63\x47\x53\x6f\x2b\x57\x36\x75\x4a\x72\x53\x6b\x6a','\x44\x53\x6b\x69\x6c\x38\x6f\x50','\x71\x59\x64\x64\x4e\x78\x57','\x45\x71\x72\x6f\x57\x35\x34\x55\x57\x52\x65\x7a\x57\x37\x47','\x57\x37\x78\x63\x52\x68\x62\x44\x57\x4f\x4a\x63\x51\x31\x65\x59','\x77\x38\x6b\x6f\x57\x37\x52\x64\x54\x6d\x6b\x4f\x77\x6d\x6b\x4c','\x65\x4a\x70\x63\x4f\x47\x64\x63\x47\x5a\x6d\x4d\x46\x47','\x57\x52\x4b\x4a\x57\x35\x44\x45\x6a\x6d\x6f\x66','\x57\x51\x78\x63\x47\x6d\x6f\x36\x57\x52\x4f\x70\x42\x63\x79\x74\x65\x53\x6b\x69\x57\x37\x62\x74\x57\x4f\x61','\x66\x43\x6f\x75\x57\x35\x30','\x57\x50\x2f\x64\x48\x58\x4b','\x57\x34\x46\x64\x4b\x57\x75\x6a\x57\x50\x74\x64\x4f\x43\x6f\x62','\x57\x4f\x47\x58\x76\x43\x6f\x70','\x57\x37\x52\x63\x4d\x67\x5a\x64\x56\x43\x6f\x4e','\x68\x53\x6f\x69\x57\x51\x64\x63\x4f\x43\x6f\x2b\x63\x38\x6f\x56\x57\x50\x64\x63\x48\x38\x6f\x57\x67\x4a\x61\x44','\x57\x52\x78\x63\x4e\x38\x6f\x34\x57\x34\x6d\x32\x57\x34\x4a\x63\x4e\x33\x34','\x57\x37\x4e\x63\x48\x43\x6f\x43','\x57\x50\x53\x58\x78\x6d\x6f\x70\x6a\x71','\x57\x35\x74\x63\x4f\x4b\x68\x64\x4c\x64\x4f\x6c\x65\x38\x6f\x56','\x57\x4f\x34\x4b\x73\x6d\x6f\x46\x6f\x30\x75\x36','\x69\x6d\x6f\x65\x57\x50\x58\x44\x57\x4f\x4b\x5a\x57\x35\x46\x63\x52\x57','\x57\x52\x4f\x5a\x57\x34\x31\x41\x70\x38\x6f\x61\x6f\x57','\x57\x4f\x48\x57\x57\x51\x56\x64\x53\x5a\x61\x32\x42\x4a\x79','\x42\x38\x6b\x71\x6c\x57','\x70\x6d\x6f\x48\x57\x52\x4a\x63\x4e\x47\x64\x64\x4d\x61','\x57\x4f\x6d\x4f\x57\x37\x33\x63\x49\x47\x31\x2b\x63\x32\x61','\x57\x4f\x56\x64\x47\x38\x6f\x45\x77\x47\x74\x64\x51\x33\x65','\x63\x38\x6f\x63\x44\x6d\x6f\x41\x57\x50\x7a\x73\x64\x71','\x57\x4f\x75\x37\x75\x53\x6f\x65','\x57\x4f\x5a\x63\x54\x53\x6f\x51\x57\x52\x43\x47\x57\x52\x37\x64\x49\x32\x4b','\x65\x75\x37\x63\x4c\x78\x65','\x65\x74\x56\x64\x4b\x53\x6f\x44\x57\x35\x38','\x57\x35\x7a\x4d\x64\x38\x6f\x55\x6e\x65\x30\x55\x57\x36\x6c\x64\x53\x71','\x66\x38\x6b\x67\x57\x36\x39\x39','\x57\x52\x57\x32\x57\x50\x78\x64\x49\x33\x69','\x74\x63\x74\x64\x47\x61','\x64\x61\x53\x45\x57\x51\x66\x37\x57\x52\x37\x63\x53\x6d\x6f\x38','\x68\x38\x6f\x7a\x46\x43\x6b\x4e\x57\x4f\x52\x63\x49\x47','\x6b\x43\x6f\x4e\x57\x51\x42\x63\x4e\x47','\x57\x35\x52\x63\x4f\x4b\x4e\x64\x50\x63\x6d\x73\x62\x43\x6f\x73','\x44\x38\x6b\x2f\x57\x51\x53\x43\x41\x78\x53\x4f\x57\x4f\x65','\x73\x73\x74\x64\x47\x57','\x57\x51\x42\x63\x4a\x6d\x6f\x4e\x57\x35\x38\x4c\x57\x36\x56\x63\x4e\x66\x4f','\x66\x62\x79\x75\x57\x51\x44\x57\x57\x52\x37\x63\x47\x71'];_0x5ed0=function(){return _0x21d9e7;};return _0x5ed0();}function hashStable(_0x4ce063){const _0x373adc=_0x4c29;return createHash(_0x373adc(0x110,'\x55\x4f\x38\x57'))[_0x373adc(0x10c,'\x45\x49\x65\x5d')](JSON[_0x373adc(0x123,'\x66\x72\x4c\x31')+'\x79'](canonicalHashValue(_0x4ce063)))['\x64\x69\x67\x65\x73\x74'](_0x373adc(0xe6,'\x42\x21\x74\x6a'));}export function triggerOverlapScore(_0x4af45b,_0x39fd59){const _0x53d2ac=_0x4c29,_0x5f11a5=new Set(_0x4af45b[_0x53d2ac(0x128,'\x61\x58\x74\x50')](String)[_0x53d2ac(0x9a,'\x33\x55\x6f\x2a')](Boolean)),_0x501f8c=new Set(_0x39fd59['\x6d\x61\x70'](String)[_0x53d2ac(0x127,'\x43\x68\x78\x6e')](Boolean));if(_0x5f11a5[_0x53d2ac(0x125,'\x59\x4c\x4b\x4b')]===0x39e+0x26bb+-0x2a59||_0x501f8c[_0x53d2ac(0xc1,'\x45\x49\x65\x5d')]===0x56*0x3+-0x14b+-0x49*-0x1)return 0x18*0x16e+-0x1e83+0x8b*-0x7;let _0x4b12a0=0x3*-0x11f+0x3*0x26d+-0x1*0x3ea;for(const _0x9b399d of _0x5f11a5)if(_0x501f8c[_0x53d2ac(0x8b,'\x37\x37\x62\x63')](_0x9b399d))_0x4b12a0+=-0x1d*-0x3d+-0xe2*-0x14+-0x1890;return _0x4b12a0/new Set([..._0x5f11a5,..._0x501f8c])[_0x53d2ac(0xa3,'\x55\x4f\x38\x57')];}function compatibleWithCluster(_0xd8c6ba,_0x476bfc,_0x19f59c){const _0x2604cc=_0x4c29;let _0x5b5dfe=-0x14*0x17+0x26e3+-0x2517;for(const _0x3f4a11 of _0x476bfc[_0x2604cc(0xec,'\x24\x5a\x71\x67')]){if(_0x2604cc(0xe1,'\x69\x5a\x57\x31')!=='\x74\x76\x54\x49\x6f'){const _0x4dd844=triggerOverlapScore(_0xd8c6ba[_0x2604cc(0xe8,'\x6d\x64\x5b\x7a')],_0x3f4a11[_0x2604cc(0xaf,'\x6d\x69\x4b\x79')]);if(_0x4dd844<_0x19f59c)return{'\x6f\x6b':![],'\x61\x76\x67':_0x4dd844};_0x5b5dfe+=_0x4dd844;}else{const _0x364d4e=_0x3a1836(_0x5ccb35,_0x577033[_0x16944e],_0x530fc0);_0x364d4e['\x6f\x6b']&&_0x364d4e[_0x2604cc(0xeb,'\x30\x69\x65\x40')]>_0x3855ff&&(_0x39fb29=_0x6e3c59,_0x229c40=_0x364d4e[_0x2604cc(0xc2,'\x79\x5a\x61\x68')]);}}return{'\x6f\x6b':!![],'\x61\x76\x67':_0x476bfc[_0x2604cc(0x85,'\x4e\x47\x5a\x30')][_0x2604cc(0x81,'\x61\x58\x74\x50')]>-0x1f6b*-0x1+-0x223f+-0x1*-0x2d4?_0x5b5dfe/_0x476bfc[_0x2604cc(0x9f,'\x40\x42\x54\x56')]['\x6c\x65\x6e\x67\x74\x68']:-0x6d*-0x3d+0x1e00+-0x37f8};}function recurringTrigger(_0x424497,_0x218024){const _0xe618a0=_0x4c29,_0x46a5a2=new Map();for(const _0x5631c0 of _0x424497){if(_0xe618a0(0xcd,'\x69\x5a\x57\x31')!=='\x76\x6e\x43\x6b\x4f'){for(const _0x3836a7 of _0x5631c0[_0xe618a0(0xcf,'\x6f\x45\x72\x32')])_0x46a5a2[_0xe618a0(0x8c,'\x73\x45\x4a\x23')](_0x3836a7,(_0x46a5a2[_0xe618a0(0xc0,'\x6f\x6e\x45\x4d')](_0x3836a7)??-0x18c0+-0x17dd+0x309d)+(-0x537+0x72b*-0x2+0x2*0x9c7));}else{if(_0x58469e[_0xe618a0(0xe4,'\x4e\x47\x5a\x30')]!=='\x43\x61\x70\x73\x75\x6c\x65')return![];const _0xa76376=_0x25f3b7[_0xe618a0(0xf5,'\x37\x50\x31\x41')];return _0x2462f4(_0xa76376&&typeof _0xa76376===_0xe618a0(0x11b,'\x55\x4f\x38\x57')&&!_0x14da9f[_0xe618a0(0x8d,'\x42\x21\x74\x6a')](_0xa76376)&&_0xa76376[_0xe618a0(0xd6,'\x6d\x64\x5b\x7a')]===_0xe618a0(0x117,'\x55\x4b\x44\x6b'));}}return[..._0x46a5a2[_0xe618a0(0x9c,'\x50\x51\x61\x28')]()][_0xe618a0(0xb6,'\x55\x4f\x38\x57')](([,_0x38d6c4])=>_0x38d6c4>=_0x218024)[_0xe618a0(0xd2,'\x50\x4c\x6b\x65')](([_0x4e0c71])=>_0x4e0c71)[_0xe618a0(0x112,'\x42\x21\x74\x6a')]();}function sharedTrigger(_0x2c858b){const _0x28af3f=_0x4c29;return recurringTrigger(_0x2c858b,_0x2c858b[_0x28af3f(0xa7,'\x37\x50\x31\x41')]);}function clusterId(_0xb7538a){const _0x363476=_0x4c29;return _0x363476(0xdb,'\x5d\x47\x4d\x4b')+_0x363476(0xe9,'\x4d\x74\x61\x53')+hashStable(_0xb7538a[_0x363476(0xb7,'\x6d\x69\x4b\x79')](stableCapsuleView))[_0x363476(0xa1,'\x57\x73\x54\x53')](0x22af+0x3fb*-0x1+-0x1eb4,0x16*0x131+-0x1*0x11d9+-0x84d);}function toFailureCluster(_0x5a26e1,_0x5a1994){const _0x1a5c3d=_0x4c29,_0x5116af=[..._0x5a26e1[_0x1a5c3d(0x98,'\x26\x63\x58\x67')]][_0x1a5c3d(0xb2,'\x51\x69\x65\x53')]((_0x436f1c,_0x4943e7)=>_0x436f1c[_0x1a5c3d(0x7f,'\x4a\x64\x75\x4f')+'\x64'][_0x1a5c3d(0xaa,'\x79\x71\x43\x52')+'\x6d\x70\x61\x72\x65'](_0x4943e7[_0x1a5c3d(0xdd,'\x55\x4f\x38\x57')+'\x64']));return{'\x63\x6c\x75\x73\x74\x65\x72\x49\x64':clusterId(_0x5116af),'\x74\x72\x69\x67\x67\x65\x72':recurringTrigger(_0x5116af,_0x5a1994),'\x73\x68\x61\x72\x65\x64\x54\x72\x69\x67\x67\x65\x72':sharedTrigger(_0x5116af),'\x63\x61\x70\x73\x75\x6c\x65\x49\x64\x73':_0x5116af[_0x1a5c3d(0x99,'\x41\x46\x70\x69')](_0x4658ac=>_0x4658ac[_0x1a5c3d(0xc8,'\x56\x44\x55\x21')+'\x64']),'\x67\x65\x6e\x65\x73':[...new Set(_0x5116af[_0x1a5c3d(0xb5,'\x4a\x64\x75\x4f')](_0xf550aa=>_0xf550aa[_0x1a5c3d(0x8e,'\x56\x55\x58\x54')])[_0x1a5c3d(0xb4,'\x45\x49\x65\x5d')](_0x214c75=>Boolean(_0x214c75)))][_0x1a5c3d(0xd0,'\x71\x30\x50\x75')](),'\x66\x61\x69\x6c\x75\x72\x65\x43\x61\x70\x73\x75\x6c\x65\x73':_0x5116af};}function positiveInteger(_0x1d4060,_0x3f7987){const _0x43fbc5=_0x4c29;return Number[_0x43fbc5(0xfd,'\x6b\x61\x34\x64')+_0x43fbc5(0x102,'\x6f\x45\x72\x32')](_0x1d4060)&&_0x1d4060!==undefined&&_0x1d4060>0x227a+0x1cb4+-0x3f2e?_0x1d4060:_0x3f7987;}function _0x4c29(_0x690f58,_0x1777a7){_0x690f58=_0x690f58-(0x1145*-0x1+0x2a*0x97+-0x703*0x1);const _0x2a9b3a=_0x5ed0();let _0x3483de=_0x2a9b3a[_0x690f58];if(_0x4c29['\x50\x76\x53\x6b\x75\x43']===undefined){var _0x238e62=function(_0x2c6e2d){const _0x244cbd='\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 _0x58e7dd='',_0x293baa='';for(let _0x4bb54b=-0x1c*0xee+-0x16b2+-0x3f*-0xc6,_0x417459,_0x403fe4,_0x464458=0x25c4+-0xf03+-0x16c1;_0x403fe4=_0x2c6e2d['\x63\x68\x61\x72\x41\x74'](_0x464458++);~_0x403fe4&&(_0x417459=_0x4bb54b%(-0x18a7*0x1+0x220f*0x1+0x4b2*-0x2)?_0x417459*(-0xb*0x30a+-0xf97+-0x3145*-0x1)+_0x403fe4:_0x403fe4,_0x4bb54b++%(-0x7fa+-0x943+0x277*0x7))?_0x58e7dd+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x182a+0x165e+0x37*0xd&_0x417459>>(-(-0x79d+-0x8ec+0x108b)*_0x4bb54b&0xef*-0x3+-0x568+0x83b*0x1)):-0x8bc*-0x2+-0x1802*-0x1+-0x297a){_0x403fe4=_0x244cbd['\x69\x6e\x64\x65\x78\x4f\x66'](_0x403fe4);}for(let _0x1f45b4=0x10c5+0x1484+0x17*-0x19f,_0x429749=_0x58e7dd['\x6c\x65\x6e\x67\x74\x68'];_0x1f45b4<_0x429749;_0x1f45b4++){_0x293baa+='\x25'+('\x30\x30'+_0x58e7dd['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1f45b4)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x26b*0xb+-0x1ac7+-0x9*-0x5f0))['\x73\x6c\x69\x63\x65'](-(0x1218+-0xa6*0xb+-0xaf4));}return decodeURIComponent(_0x293baa);};const _0x216951=function(_0x523571,_0x3a44ae){let _0xf4f4b4=[],_0x20502f=0x21*0x3e+0xbb*0x17+0x241*-0xb,_0x27a97c,_0x3df4ac='';_0x523571=_0x238e62(_0x523571);let _0x9d9d01;for(_0x9d9d01=-0x13df+-0x681+0x1a60;_0x9d9d01<-0x17b1+-0x1*-0x8c7+0xfea;_0x9d9d01++){_0xf4f4b4[_0x9d9d01]=_0x9d9d01;}for(_0x9d9d01=0x1*-0x48f+-0x4*0x193+0xadb;_0x9d9d01<-0xfbc+-0x11f4*0x1+-0x1158*-0x2;_0x9d9d01++){_0x20502f=(_0x20502f+_0xf4f4b4[_0x9d9d01]+_0x3a44ae['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x9d9d01%_0x3a44ae['\x6c\x65\x6e\x67\x74\x68']))%(0x13f7*0x1+0x1*0x2f1+-0x15e8),_0x27a97c=_0xf4f4b4[_0x9d9d01],_0xf4f4b4[_0x9d9d01]=_0xf4f4b4[_0x20502f],_0xf4f4b4[_0x20502f]=_0x27a97c;}_0x9d9d01=0x1*0xd31+0x1f19+0x1625*-0x2,_0x20502f=-0xc*-0x6c+0x2602+-0x1*0x2b12;for(let _0x3790d3=0xe2c+-0xb3*-0x31+-0x306f;_0x3790d3<_0x523571['\x6c\x65\x6e\x67\x74\x68'];_0x3790d3++){_0x9d9d01=(_0x9d9d01+(0x166*0xf+-0x210c+0xc13))%(0x2074+-0x1847+-0x72d),_0x20502f=(_0x20502f+_0xf4f4b4[_0x9d9d01])%(-0x1dd*0x3+0x8e4+-0x24d),_0x27a97c=_0xf4f4b4[_0x9d9d01],_0xf4f4b4[_0x9d9d01]=_0xf4f4b4[_0x20502f],_0xf4f4b4[_0x20502f]=_0x27a97c,_0x3df4ac+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x523571['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3790d3)^_0xf4f4b4[(_0xf4f4b4[_0x9d9d01]+_0xf4f4b4[_0x20502f])%(-0x7*-0x18a+-0x76*0x43+-0x2*-0xa8e)]);}return _0x3df4ac;};_0x4c29['\x55\x69\x66\x4b\x7a\x42']=_0x216951,_0x4c29['\x6a\x41\x69\x70\x68\x6c']={},_0x4c29['\x50\x76\x53\x6b\x75\x43']=!![];}const _0x7b5b9b=_0x2a9b3a[0x3ff+-0x2f5+0x26*-0x7],_0x18e289=_0x690f58+_0x7b5b9b,_0x558c1a=_0x4c29['\x6a\x41\x69\x70\x68\x6c'][_0x18e289];return!_0x558c1a?(_0x4c29['\x50\x78\x66\x70\x4d\x59']===undefined&&(_0x4c29['\x50\x78\x66\x70\x4d\x59']=!![]),_0x3483de=_0x4c29['\x55\x69\x66\x4b\x7a\x42'](_0x3483de,_0x1777a7),_0x4c29['\x6a\x41\x69\x70\x68\x6c'][_0x18e289]=_0x3483de):_0x3483de=_0x558c1a,_0x3483de;}function nonNegativeInteger(_0x12ce3e,_0xed06c0){const _0x2ac855=_0x4c29;return Number[_0x2ac855(0x9b,'\x45\x49\x65\x5d')+'\x74\x65\x67\x65\x72'](_0x12ce3e)&&_0x12ce3e!==undefined&&_0x12ce3e>=0x1a06*0x1+0x1fd0+-0x39d6?_0x12ce3e:_0xed06c0;}function overlapThreshold(_0x209e47){const _0x2d6b03=_0x4c29;return typeof _0x209e47===_0x2d6b03(0x126,'\x2a\x55\x5b\x65')&&Number[_0x2d6b03(0xee,'\x30\x67\x77\x42')](_0x209e47)&&_0x209e47>=-0x4a*-0x25+0x1850*0x1+0x1*-0x2302&&_0x209e47<=0x4dd+0xcda+-0x11b6?_0x209e47:ANTI_DISTILL_TRIGGER_OVERLAP_MIN;}export function collectAntiDistillInput(_0x361664,_0x59b737={}){const _0x2efb7e=_0x4c29,_0x52f9ac=positiveInteger(_0x59b737[_0x2efb7e(0x96,'\x51\x69\x65\x53')+_0x2efb7e(0xbf,'\x55\x4b\x44\x6b')],ANTI_DISTILL_MIN_FAILURES),_0x4c38af=overlapThreshold(_0x59b737[_0x2efb7e(0x11c,'\x6b\x61\x34\x64')+_0x2efb7e(0xde,'\x63\x6a\x32\x77')+'\x6e']),_0x17d5b1=_0x361664[_0x2efb7e(0xc5,'\x6f\x6e\x45\x4d')](isFailedCapsule)[_0x2efb7e(0x105,'\x55\x4b\x44\x6b')],_0x4dadf6=new Set(),_0x1aab34=_0x361664[_0x2efb7e(0x128,'\x61\x58\x74\x50')]((_0x446385,_0x4f2c44)=>capsuleDigest(_0x446385,_0x4f2c44))[_0x2efb7e(0xea,'\x23\x57\x5b\x54')](_0x1def1d=>_0x1def1d!==null)['\x66\x69\x6c\x74\x65\x72'](_0x1e6eda=>{const _0x38f694=_0x2efb7e;if(_0x4dadf6[_0x38f694(0xa5,'\x58\x73\x38\x66')](_0x1e6eda['\x63\x61\x70\x73\x75\x6c\x65\x49'+'\x64']))return![];return _0x4dadf6[_0x38f694(0x92,'\x24\x5a\x71\x67')](_0x1e6eda[_0x38f694(0x88,'\x42\x56\x65\x24')+'\x64']),!![];})[_0x2efb7e(0x112,'\x42\x21\x74\x6a')]((_0x1d81b1,_0x3cd145)=>_0x1d81b1[_0x2efb7e(0x114,'\x63\x6a\x32\x77')+'\x64']['\x6c\x6f\x63\x61\x6c\x65\x43\x6f'+_0x2efb7e(0xd9,'\x57\x73\x54\x53')](_0x3cd145['\x63\x61\x70\x73\x75\x6c\x65\x49'+'\x64'])),_0x143148=[];for(const _0x52c6e5 of _0x1aab34){if(_0x2efb7e(0xa4,'\x4d\x74\x61\x53')===_0x2efb7e(0xf2,'\x43\x68\x78\x6e')){let _0x406061=-(-0x1*0x1a7c+0x12be+-0x3*-0x295),_0x3ccc57=-(-0x1861+0x1d77*-0x1+0x35d9);for(let _0x248e76=-0x2090+0x22d1+-0x241;_0x248e76<_0x143148['\x6c\x65\x6e\x67\x74\x68'];_0x248e76+=-0x2448+0x1a5*-0x8+0x107b*0x3){const _0x49e305=compatibleWithCluster(_0x52c6e5,_0x143148[_0x248e76],_0x4c38af);_0x49e305['\x6f\x6b']&&_0x49e305[_0x2efb7e(0x120,'\x26\x63\x58\x67')]>_0x3ccc57&&(_0x406061=_0x248e76,_0x3ccc57=_0x49e305[_0x2efb7e(0xd7,'\x65\x50\x24\x37')]);}if(_0x406061>=-0xe5*-0x2b+0x575+-0x2bec)_0x143148[_0x406061][_0x2efb7e(0x91,'\x30\x67\x77\x42')][_0x2efb7e(0xb0,'\x58\x73\x38\x66')](_0x52c6e5);else _0x143148[_0x2efb7e(0xcc,'\x6d\x64\x5b\x7a')]({'\x63\x61\x70\x73\x75\x6c\x65\x73':[_0x52c6e5]});}else return _0x17631a['\x69\x73\x53\x61\x66\x65\x49\x6e'+_0x2efb7e(0x93,'\x56\x55\x58\x54')](_0x1fbccb)&&_0x278280!==_0x3bb4b6&&_0x13f76a>-0x2556+-0xf7d+0x34d3?_0x256112:_0x54427c;}const _0x3c3137=_0x143148[_0x2efb7e(0x10d,'\x61\x58\x74\x50')](_0x3ff0aa=>_0x3ff0aa[_0x2efb7e(0xc6,'\x23\x66\x67\x41')][_0x2efb7e(0x101,'\x4e\x47\x5a\x30')]>=_0x52f9ac)[_0x2efb7e(0xdc,'\x73\x45\x4a\x23')](_0x20f29c=>toFailureCluster(_0x20f29c,_0x52f9ac))['\x73\x6f\x72\x74']((_0x407205,_0x2ac33c)=>_0x2ac33c[_0x2efb7e(0x86,'\x6b\x61\x34\x64')+_0x2efb7e(0xfb,'\x30\x67\x77\x42')][_0x2efb7e(0x105,'\x55\x4b\x44\x6b')]-_0x407205[_0x2efb7e(0xff,'\x55\x4b\x44\x6b')+_0x2efb7e(0x95,'\x56\x55\x58\x54')][_0x2efb7e(0x11d,'\x23\x57\x5b\x54')]||_0x407205[_0x2efb7e(0x10f,'\x65\x50\x24\x37')][_0x2efb7e(0xba,'\x66\x72\x4c\x31')]('\x00')[_0x2efb7e(0xa6,'\x55\x4b\x44\x6b')+_0x2efb7e(0xbd,'\x59\x5e\x4d\x55')](_0x2ac33c[_0x2efb7e(0xb9,'\x69\x5a\x57\x31')][_0x2efb7e(0x100,'\x61\x58\x74\x50')]('\x00'))||_0x407205[_0x2efb7e(0x88,'\x42\x56\x65\x24')+'\x64\x73'][_0x2efb7e(0xe5,'\x73\x45\x4a\x23')]('\x00')[_0x2efb7e(0xca,'\x2a\x55\x5b\x65')+_0x2efb7e(0x10a,'\x56\x44\x55\x21')](_0x2ac33c[_0x2efb7e(0x94,'\x23\x57\x5b\x54')+'\x64\x73'][_0x2efb7e(0x9e,'\x56\x55\x58\x54')]('\x00')))[_0x2efb7e(0x8f,'\x50\x4b\x36\x53')](0x2474+0x1681+0x183*-0x27,_0x59b737[_0x2efb7e(0xa9,'\x23\x57\x5b\x54')+_0x2efb7e(0xe0,'\x55\x4b\x44\x6b')]!==undefined?nonNegativeInteger(_0x59b737[_0x2efb7e(0xf8,'\x30\x69\x65\x40')+'\x65\x72\x73'],_0x143148[_0x2efb7e(0x89,'\x6f\x6e\x45\x4d')]):_0x143148[_0x2efb7e(0x109,'\x25\x77\x55\x4a')]);return{'\x64\x61\x74\x61\x48\x61\x73\x68':hashStable(_0x3c3137[_0x2efb7e(0xb7,'\x6d\x69\x4b\x79')](_0x3f6bd5=>({'\x74\x72\x69\x67\x67\x65\x72':_0x3f6bd5[_0x2efb7e(0x107,'\x43\x68\x78\x6e')],'\x63\x61\x70\x73\x75\x6c\x65\x49\x64\x73':_0x3f6bd5[_0x2efb7e(0x11f,'\x79\x71\x43\x52')+'\x64\x73']}))),'\x66\x61\x69\x6c\x65\x64\x43\x61\x70\x73\x75\x6c\x65\x43\x6f\x75\x6e\x74':_0x17d5b1,'\x63\x6c\x75\x73\x74\x65\x72\x61\x62\x6c\x65\x46\x61\x69\x6c\x75\x72\x65\x43\x6f\x75\x6e\x74':_0x1aab34['\x6c\x65\x6e\x67\x74\x68'],'\x66\x61\x69\x6c\x75\x72\x65\x43\x6c\x75\x73\x74\x65\x72\x73':_0x3c3137};}
|
package/dist/algo/bans.js
CHANGED
|
@@ -1,33 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// banGenesFromFailedCapsules). Complements epigenetic suppression (which is per-environment): this is a
|
|
3
|
-
// hard, signal-overlap-based exclusion — a gene with >=2 failed capsules whose trigger covers the current
|
|
4
|
-
// signals is dropped from the candidate set, so a strategy that keeps failing here is not resurrected.
|
|
5
|
-
const BAN_THRESHOLD = 2;
|
|
6
|
-
const OVERLAP_MIN = 0.6;
|
|
7
|
-
/** Fraction of the current signals covered by a failure's trigger (how much it is "the same problem"). */
|
|
8
|
-
function signalCoverage(signals, trigger) {
|
|
9
|
-
if (signals.length === 0)
|
|
10
|
-
return 0;
|
|
11
|
-
const t = new Set(trigger.map((s) => String(s)));
|
|
12
|
-
let hit = 0;
|
|
13
|
-
for (const s of signals)
|
|
14
|
-
if (t.has(s))
|
|
15
|
-
hit += 1;
|
|
16
|
-
return hit / signals.length;
|
|
17
|
-
}
|
|
18
|
-
/** Gene ids with >=2 failed capsules whose trigger covers >=60% of the current signals. */
|
|
19
|
-
export function bannedGenesFromFailures(failures, signals) {
|
|
20
|
-
const counts = new Map();
|
|
21
|
-
for (const fc of failures) {
|
|
22
|
-
if (!fc.gene)
|
|
23
|
-
continue;
|
|
24
|
-
if (signalCoverage(signals, fc.trigger ?? []) < OVERLAP_MIN)
|
|
25
|
-
continue;
|
|
26
|
-
counts.set(fc.gene, (counts.get(fc.gene) ?? 0) + 1);
|
|
27
|
-
}
|
|
28
|
-
const banned = new Set();
|
|
29
|
-
for (const [gene, c] of counts)
|
|
30
|
-
if (c >= BAN_THRESHOLD)
|
|
31
|
-
banned.add(gene);
|
|
32
|
-
return banned;
|
|
33
|
-
}
|
|
1
|
+
(function(_0x58a774,_0x2eda0a){const _0x3a2e89=_0x3561,_0x2d135e=_0x58a774();while(!![]){try{const _0x3fd856=parseInt(_0x3a2e89(0x111,'\x7a\x47\x36\x63'))/(0x102a+0x1526+0x1*-0x254f)+-parseInt(_0x3a2e89(0x121,'\x57\x67\x44\x23'))/(0x4*-0x44d+-0x16a8+0x27de)*(-parseInt(_0x3a2e89(0x11c,'\x76\x6f\x66\x46'))/(-0x975+0x607+-0x1*-0x371))+parseInt(_0x3a2e89(0x114,'\x4f\x48\x38\x35'))/(-0xf16*-0x1+0xfdf+0x1*-0x1ef1)*(-parseInt(_0x3a2e89(0x118,'\x38\x77\x72\x4b'))/(-0x1*-0x17b2+-0x22dd+-0x1*-0xb30))+parseInt(_0x3a2e89(0x10a,'\x38\x46\x74\x36'))/(-0xca5+-0x1*-0x13d7+-0x22*0x36)*(-parseInt(_0x3a2e89(0x105,'\x70\x74\x49\x26'))/(0x12ff+0x481*-0x5+-0x12f*-0x3))+parseInt(_0x3a2e89(0x115,'\x50\x4b\x47\x50'))/(0x2*-0xb6f+-0x121e+0x1482*0x2)+parseInt(_0x3a2e89(0x112,'\x47\x67\x33\x73'))/(0x1f84*-0x1+-0x1*0x996+0x2923*0x1)+-parseInt(_0x3a2e89(0x11b,'\x71\x79\x65\x31'))/(0x667*0x1+-0x305*-0x6+-0x187b)*(parseInt(_0x3a2e89(0x119,'\x67\x74\x33\x35'))/(-0x214b+-0x311*-0x3+0x1*0x1823));if(_0x3fd856===_0x2eda0a)break;else _0x2d135e['push'](_0x2d135e['shift']());}catch(_0x3e3dc){_0x2d135e['push'](_0x2d135e['shift']());}}}(_0x3b9e,-0x1*-0x56a1f+0x2a821+-0xa9*0x35c));const BAN_THRESHOLD=0x1ea0+-0xc03+0x129b*-0x1,OVERLAP_MIN=0x1*0x248e+-0x2*-0x123b+-0x4904+0.6;function _0x3b9e(){const _0x560d4d=['\x6b\x75\x6c\x64\x56\x43\x6f\x32\x6e\x43\x6b\x61','\x6e\x57\x46\x63\x4e\x53\x6f\x6a\x57\x35\x6c\x64\x51\x32\x75\x65\x6e\x61','\x71\x67\x6c\x63\x4a\x49\x70\x64\x4c\x38\x6f\x61\x57\x4f\x72\x56\x46\x67\x68\x64\x54\x72\x74\x64\x51\x47','\x7a\x53\x6f\x68\x57\x50\x71\x61','\x67\x6d\x6f\x74\x69\x57','\x6d\x57\x46\x63\x4d\x43\x6b\x42\x57\x52\x42\x63\x52\x4d\x75\x6a\x6c\x38\x6f\x33\x68\x71\x61','\x57\x52\x52\x63\x48\x4a\x50\x38\x77\x4a\x70\x64\x4c\x59\x56\x64\x48\x53\x6b\x67\x57\x50\x56\x64\x50\x75\x75','\x6f\x53\x6b\x66\x57\x51\x4e\x63\x52\x43\x6b\x47\x57\x4f\x71','\x57\x50\x47\x2f\x64\x6d\x6b\x7a\x57\x4f\x69\x79\x44\x53\x6b\x45\x72\x73\x34','\x73\x38\x6b\x63\x44\x76\x69\x50\x57\x4f\x74\x64\x52\x4e\x64\x63\x4a\x72\x42\x64\x53\x49\x52\x64\x49\x71','\x67\x43\x6f\x69\x73\x4e\x78\x63\x52\x68\x52\x64\x50\x33\x31\x41\x44\x63\x52\x64\x52\x4c\x4f','\x57\x4f\x70\x64\x54\x63\x64\x63\x48\x38\x6f\x74\x6a\x6d\x6f\x6a\x69\x61','\x67\x38\x6f\x69\x74\x4e\x68\x64\x52\x74\x4a\x63\x4d\x75\x58\x61\x72\x47','\x44\x62\x42\x63\x4f\x38\x6f\x31\x65\x38\x6b\x41\x6e\x53\x6b\x31\x45\x61','\x57\x35\x37\x64\x53\x58\x56\x64\x4d\x71','\x42\x53\x6b\x6d\x57\x4f\x4f\x77\x57\x51\x76\x47\x57\x50\x70\x63\x4f\x43\x6b\x6d\x57\x52\x30','\x57\x4f\x4a\x63\x50\x4b\x46\x63\x4a\x74\x56\x64\x52\x73\x2f\x63\x50\x77\x70\x64\x53\x77\x52\x64\x49\x38\x6f\x57','\x44\x58\x68\x64\x4f\x6d\x6f\x76\x57\x51\x75\x4b\x57\x34\x31\x63\x45\x43\x6f\x39','\x74\x6d\x6f\x68\x45\x61','\x43\x62\x42\x63\x50\x6d\x6b\x4e\x44\x38\x6f\x46\x6e\x53\x6b\x34\x79\x57\x4f\x45\x72\x57','\x57\x51\x42\x63\x50\x53\x6f\x4b\x57\x52\x69\x62\x7a\x65\x71','\x64\x43\x6f\x31\x78\x6d\x6b\x6f\x62\x4b\x47\x4a','\x41\x53\x6f\x2f\x57\x35\x61','\x70\x43\x6f\x71\x57\x35\x31\x64','\x69\x53\x6b\x73\x57\x51\x37\x63\x52\x43\x6b\x5a\x57\x4f\x4e\x63\x50\x61','\x57\x37\x44\x39\x57\x4f\x34\x55\x62\x43\x6f\x4c\x57\x50\x33\x63\x4a\x4c\x6c\x63\x50\x76\x5a\x63\x4a\x57','\x6c\x68\x66\x43\x43\x43\x6f\x36\x57\x4f\x4f\x6c\x76\x61','\x76\x43\x6b\x51\x63\x64\x34\x74\x57\x52\x5a\x63\x4b\x38\x6f\x4f\x66\x43\x6f\x78','\x57\x37\x4e\x63\x4b\x6d\x6f\x65','\x57\x35\x65\x36\x57\x51\x64\x63\x47\x61\x7a\x6b\x57\x50\x33\x63\x50\x6d\x6b\x30\x6e\x47\x56\x63\x4b\x6d\x6b\x6a','\x43\x49\x58\x55','\x57\x35\x52\x63\x4a\x4d\x4a\x63\x56\x53\x6b\x72\x68\x6d\x6f\x71\x57\x36\x43\x4f\x57\x52\x4f\x31\x57\x34\x65','\x57\x51\x74\x64\x47\x38\x6b\x32\x75\x31\x68\x63\x56\x38\x6f\x4c\x57\x37\x6c\x64\x50\x58\x6d'];_0x3b9e=function(){return _0x560d4d;};return _0x3b9e();}function _0x3561(_0x500f79,_0x1fd020){_0x500f79=_0x500f79-(0x1*0x46f+0x11ff+-0x1569);const _0xfc008e=_0x3b9e();let _0x257f89=_0xfc008e[_0x500f79];if(_0x3561['\x6a\x52\x48\x43\x55\x68']===undefined){var _0x159fe7=function(_0x57b129){const _0x45ab6e='\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 _0x1ab097='',_0x140931='';for(let _0x387050=0x20c1+0x515*-0x5+-0x758,_0x3d8189,_0x14b1af,_0xf26c84=-0x6d*-0x34+-0x1db5*-0x1+-0x33d9;_0x14b1af=_0x57b129['\x63\x68\x61\x72\x41\x74'](_0xf26c84++);~_0x14b1af&&(_0x3d8189=_0x387050%(-0x221f*0x1+0x2535+0x6*-0x83)?_0x3d8189*(-0x1*-0x1867+-0x451+-0x13d6)+_0x14b1af:_0x14b1af,_0x387050++%(0x1423*0x1+0x1*0x2057+-0xa*0x53f))?_0x1ab097+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x167e*0x1+-0x1c82+-0x11*-0x30f&_0x3d8189>>(-(0x1841+-0x1c94+0x455*0x1)*_0x387050&-0x1a5d*0x1+-0x29*0xdd+0x3dc8)):0x1b17+0x2f*0x3+-0x1ba4){_0x14b1af=_0x45ab6e['\x69\x6e\x64\x65\x78\x4f\x66'](_0x14b1af);}for(let _0x2425ce=0xa*-0x221+0x35f*0xb+-0x1*0xfcb,_0x370b78=_0x1ab097['\x6c\x65\x6e\x67\x74\x68'];_0x2425ce<_0x370b78;_0x2425ce++){_0x140931+='\x25'+('\x30\x30'+_0x1ab097['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2425ce)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x6*-0x35c+0x1ecf+-0x32e7))['\x73\x6c\x69\x63\x65'](-(-0x5a0+0x25*-0x37+-0x3d*-0x39));}return decodeURIComponent(_0x140931);};const _0x215365=function(_0xb5693e,_0x1d62d0){let _0x4b6482=[],_0x2dd92b=0x64e+0x201f+-0x266d,_0x4219a5,_0x430f79='';_0xb5693e=_0x159fe7(_0xb5693e);let _0x33db41;for(_0x33db41=0x43*-0x4a+-0xe72+0x21d0;_0x33db41<0x100d+-0x1*-0x18fd+0xcd*-0x32;_0x33db41++){_0x4b6482[_0x33db41]=_0x33db41;}for(_0x33db41=0x12b1+0x1882+-0x2b33*0x1;_0x33db41<-0x19f2+0x38c*-0x1+0xf3f*0x2;_0x33db41++){_0x2dd92b=(_0x2dd92b+_0x4b6482[_0x33db41]+_0x1d62d0['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x33db41%_0x1d62d0['\x6c\x65\x6e\x67\x74\x68']))%(0x1801+0x481*-0x8+0xd07),_0x4219a5=_0x4b6482[_0x33db41],_0x4b6482[_0x33db41]=_0x4b6482[_0x2dd92b],_0x4b6482[_0x2dd92b]=_0x4219a5;}_0x33db41=-0x1b79+-0xedf+0x2a58,_0x2dd92b=0xc5+0x119*0x1+-0x1de;for(let _0x99f99b=0xec6*-0x1+-0xadf+-0xd*-0x1f9;_0x99f99b<_0xb5693e['\x6c\x65\x6e\x67\x74\x68'];_0x99f99b++){_0x33db41=(_0x33db41+(0xd0+0x1ba+-0x289))%(-0x2*-0x45d+0x19*-0x22+0x234*-0x2),_0x2dd92b=(_0x2dd92b+_0x4b6482[_0x33db41])%(-0xb83+0x469+0x81a),_0x4219a5=_0x4b6482[_0x33db41],_0x4b6482[_0x33db41]=_0x4b6482[_0x2dd92b],_0x4b6482[_0x2dd92b]=_0x4219a5,_0x430f79+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0xb5693e['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x99f99b)^_0x4b6482[(_0x4b6482[_0x33db41]+_0x4b6482[_0x2dd92b])%(0x19c7+-0x3e*-0x29+-0x22b5)]);}return _0x430f79;};_0x3561['\x6b\x70\x57\x78\x47\x44']=_0x215365,_0x3561['\x6d\x4a\x77\x73\x6e\x6d']={},_0x3561['\x6a\x52\x48\x43\x55\x68']=!![];}const _0x436b26=_0xfc008e[-0x1*0x745+0x1087+-0x942],_0x497fc9=_0x500f79+_0x436b26,_0x182d1b=_0x3561['\x6d\x4a\x77\x73\x6e\x6d'][_0x497fc9];return!_0x182d1b?(_0x3561['\x4f\x48\x64\x55\x53\x57']===undefined&&(_0x3561['\x4f\x48\x64\x55\x53\x57']=!![]),_0x257f89=_0x3561['\x6b\x70\x57\x78\x47\x44'](_0x257f89,_0x1fd020),_0x3561['\x6d\x4a\x77\x73\x6e\x6d'][_0x497fc9]=_0x257f89):_0x257f89=_0x182d1b,_0x257f89;}function signalCoverage(_0x28d25d,_0x25fc69){const _0x24dddb=_0x3561;if(_0x28d25d[_0x24dddb(0x113,'\x45\x49\x6c\x50')]===-0x1c82+0x2099+-0x1*0x417)return 0x1841+-0x1c94+0x7b*0x9;const _0x1b5f14=new Set(_0x25fc69[_0x24dddb(0x107,'\x40\x53\x5e\x57')](_0x45eee2=>String(_0x45eee2)));let _0x46d78f=-0x1a5d*0x1+-0x29*0xdd+0x3dc2;for(const _0x367adb of _0x28d25d)if(_0x1b5f14[_0x24dddb(0x122,'\x61\x44\x6d\x47')](_0x367adb))_0x46d78f+=0x1b17+0x2f*0x3+-0x1ba3;return _0x46d78f/_0x28d25d[_0x24dddb(0x10c,'\x67\x74\x33\x35')];}export function bannedGenesFromFailures(_0x1462e9,_0x3761d6){const _0x5ecae7=_0x3561,_0x56e448=new Map();for(const _0xe74eb8 of _0x1462e9){if(!_0xe74eb8[_0x5ecae7(0x10f,'\x5d\x51\x62\x35')])continue;if(signalCoverage(_0x3761d6,_0xe74eb8[_0x5ecae7(0x124,'\x45\x49\x6c\x50')]??[])<OVERLAP_MIN)continue;_0x56e448[_0x5ecae7(0x11e,'\x57\x67\x44\x23')](_0xe74eb8[_0x5ecae7(0x123,'\x71\x79\x65\x31')],(_0x56e448[_0x5ecae7(0x109,'\x70\x74\x49\x26')](_0xe74eb8[_0x5ecae7(0x11a,'\x76\x6f\x66\x46')])??0xa*-0x221+0x35f*0xb+-0x1*0xfcb)+(-0x6*-0x35c+0x1ecf+-0x32f6));}const _0x133655=new Set();for(const [_0x2563bc,_0x180d70]of _0x56e448)if(_0x180d70>=BAN_THRESHOLD)_0x133655[_0x5ecae7(0x110,'\x50\x4b\x47\x50')](_0x2563bc);return _0x133655;}
|