@bobfrankston/rmfmail 1.2.299 → 1.2.300
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/.commitmsg +41 -53
- package/client/android-bootstrap.bundle.js +4 -1
- package/client/android-bootstrap.bundle.js.map +2 -2
- package/client/app.bundle.js +1 -1
- package/client/app.bundle.js.map +2 -2
- package/client/components/message-viewer.js +14 -2
- package/client/components/message-viewer.js.map +1 -1
- package/client/components/message-viewer.ts +16 -3
- package/npmchanges.md +56 -0
- package/package.json +5 -5
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-settings/package.json +1 -1
- package/packages/mailx-store/package.json +1 -1
- package/packages/mailx-store-web/package.json +1 -1
- package/packages/mailx-types/package.json +1 -1
- package/packages/mailx-types/trust.d.ts +4 -0
- package/packages/mailx-types/trust.d.ts.map +1 -1
- package/packages/mailx-types/trust.js +21 -2
- package/packages/mailx-types/trust.js.map +1 -1
- package/packages/mailx-types/trust.ts +31 -2
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-67432 → node_modules.npmglobalize-stash-63828}/.package-lock.json +0 -0
package/npmchanges.md
CHANGED
|
@@ -1286,3 +1286,59 @@ raw HTML is the thing an author needs to know.
|
|
|
1286
1286
|
Compose only. Nothing in the send path or the daemon appends a signature; the
|
|
1287
1287
|
body that leaves the editor is the body that goes out.
|
|
1288
1288
|
|
|
1289
|
+
## v1.2.299 — 2026-09-02
|
|
1290
|
+
|
|
1291
|
+
Laundering needs a second party — a redirector alone is not one
|
|
1292
|
+
|
|
1293
|
+
Google's account-security notice, which is exactly the mail a reader must be
|
|
1294
|
+
able to believe, carried a caution banner: "A link hides where it goes: it
|
|
1295
|
+
passes through accounts.google.com and ends at myaccount.google.com." Both
|
|
1296
|
+
halves of that sentence name Google. Bob, on the message:
|
|
1297
|
+
`mailxstore/bobma/e1/e193f2bb….eml`, "this is valid."
|
|
1298
|
+
|
|
1299
|
+
The check compared `target.hostname === url.hostname` and reported anything
|
|
1300
|
+
else. That catches the case it was written for — `castanet-sa.fr/redirect.php
|
|
1301
|
+
?newurl=https://evil.example`, someone's abandoned redirect script spending a
|
|
1302
|
+
real business's reputation — but the comparison is not what the finding
|
|
1303
|
+
claims. Laundering requires a SECOND PARTY, someone whose name is on the
|
|
1304
|
+
visible link without their consent. Two ways a link has none, both now checked,
|
|
1305
|
+
neither of them a threshold:
|
|
1306
|
+
|
|
1307
|
+
1. The redirector and the destination are the same organisation. Equality
|
|
1308
|
+
widened to the sub/parent-domain test this file already uses twice, now a
|
|
1309
|
+
shared `sameOrg()` — deliberately not "the last two labels match", which
|
|
1310
|
+
would make paypal.co.uk and evil.co.uk relatives.
|
|
1311
|
+
|
|
1312
|
+
2. The redirector IS the sender, proved. accounts.google.com and
|
|
1313
|
+
myaccount.google.com are siblings, so rule 1 does not reach them; what
|
|
1314
|
+
clears the message is that the receiving server recorded `dmarc=pass
|
|
1315
|
+
header.from=accounts.google.com`. The host in the visible link belongs to
|
|
1316
|
+
the party that provably sent the mail. Whether that party is trustworthy
|
|
1317
|
+
is a different question than the one this check asks.
|
|
1318
|
+
|
|
1319
|
+
The proof comes from `provedSenderDomain()`, which asks dmarcProof first — an
|
|
1320
|
+
Authentication-Results header alone is enough, so this works on Gmail-API mail
|
|
1321
|
+
with no SpamAssassin headers — and falls back to the DKIM_VALID_AU /
|
|
1322
|
+
ALL_TRUSTED proofs SpamAssassin states in its own rule list. It reads the
|
|
1323
|
+
topmost Authentication-Results only, which the sender cannot write. No proof
|
|
1324
|
+
means the check stays on: an escape a forger could open by typing a domain
|
|
1325
|
+
into From would be worse than no check.
|
|
1326
|
+
|
|
1327
|
+
The mirror rule is NOT safe and is deliberately absent. "The link ENDS at the
|
|
1328
|
+
proved sender" would clear `legit-bank.com/r?u=https://evil.com` sent from a
|
|
1329
|
+
DMARC-proved evil.com, which is the laundering case in its purest form — the
|
|
1330
|
+
reader sees the bank's hostname. Only the visible host may be the sender's.
|
|
1331
|
+
|
|
1332
|
+
Measured over the 800 most recent messages in the store: redirector-link fires
|
|
1333
|
+
15 times before, 4 after. Cleared: Substack's own link wrapper on Substack
|
|
1334
|
+
mail (6), Google's alert, Microsoft Teams, dev.to. Still flagged, correctly by
|
|
1335
|
+
this rule's terms: Microsoft's Safe Links wrapper (nam.safelink.emails.azure.net
|
|
1336
|
+
-> admin.microsoft.com, 3) and a donation platform bouncing back to the charity
|
|
1337
|
+
that mailed. Those are third-party hostnames in front of the reader, and no
|
|
1338
|
+
hostname allowlist is going in to quiet them.
|
|
1339
|
+
|
|
1340
|
+
Four tests: the sibling-subdomain case, the Google alert with its proof and
|
|
1341
|
+
again with the proof removed, and a forged accounts.google.com whose server
|
|
1342
|
+
recorded the DMARC failure — still flagged, as the escape is the server's
|
|
1343
|
+
verdict and never the From line's say-so.
|
|
1344
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/rmfmail",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.300",
|
|
4
4
|
"description": "Local-first email client with IMAP sync and standalone native app",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "bin/mailx.js",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@bobfrankston/iflow-direct": "^0.1.68",
|
|
36
36
|
"@bobfrankston/mailx-host": "^0.1.15",
|
|
37
|
-
"@bobfrankston/mailx-imap": "^0.1.
|
|
38
|
-
"@bobfrankston/mailx-store-web": "^0.1.
|
|
37
|
+
"@bobfrankston/mailx-imap": "^0.1.172",
|
|
38
|
+
"@bobfrankston/mailx-store-web": "^0.1.101",
|
|
39
39
|
"@bobfrankston/mailx-sync": "^0.1.29",
|
|
40
40
|
"@bobfrankston/miscinfo": "^1.0.20",
|
|
41
41
|
"@bobfrankston/msger": "^0.1.429",
|
|
@@ -116,8 +116,8 @@
|
|
|
116
116
|
"dependencies": {
|
|
117
117
|
"@bobfrankston/iflow-direct": "^0.1.68",
|
|
118
118
|
"@bobfrankston/mailx-host": "^0.1.15",
|
|
119
|
-
"@bobfrankston/mailx-imap": "^0.1.
|
|
120
|
-
"@bobfrankston/mailx-store-web": "^0.1.
|
|
119
|
+
"@bobfrankston/mailx-imap": "^0.1.172",
|
|
120
|
+
"@bobfrankston/mailx-store-web": "^0.1.101",
|
|
121
121
|
"@bobfrankston/mailx-sync": "^0.1.29",
|
|
122
122
|
"@bobfrankston/miscinfo": "^1.0.20",
|
|
123
123
|
"@bobfrankston/msger": "^0.1.429",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/mailx-imap",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.173",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bobfrankston/mailx-imap",
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.173",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@bobfrankston/iflow-direct": "^0.1.27",
|
|
@@ -109,6 +109,10 @@ export interface SpamScore {
|
|
|
109
109
|
* may not exist (Bob's own mail carries no Authentication-Results at
|
|
110
110
|
* all). */
|
|
111
111
|
provedBy: "dmarc" | "dkim" | "trusted" | "";
|
|
112
|
+
/** Every rule that scored is a bulk-mail or blocklist test. The chip's
|
|
113
|
+
* tooltip may say so ONLY when this is true — it is a claim about all of
|
|
114
|
+
* the rules, and the reader can read them underneath it. */
|
|
115
|
+
bulkOnly: boolean;
|
|
112
116
|
/** Top scoring rules, named — "6.0 URIBL_SBL (Contains an URL's NS IP
|
|
113
117
|
* listed in the Spamhaus SBL blocklist)". A number alone is unactionable;
|
|
114
118
|
* this can be judged in a second. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,wEAAwE;AACxE,MAAM,WAAW,YAAY;IACzB,0EAA0E;IAC1E,EAAE,EAAE,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAC1D,wBAAwB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;IAC3E;;qEAEiE;IACjE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB;;qEAEiE;IACjE,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB;mDAC+C;IAC/C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;8CAM0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;2EAEuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,wEAAwE;AACxE,MAAM,WAAW,YAAY;IACzB,0EAA0E;IAC1E,EAAE,EAAE,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAC1D,wBAAwB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC;IAC3E;;qEAEiE;IACjE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB;;qEAEiE;IACjE,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB;mDAC+C;IAC/C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;8CAM0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;2EAEuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAwpBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,EAAE,CAWpE;AAyFD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB;;;yEAGqE;IACrE,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,cAAc,CAAC;IAC1D,uDAAuD;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB;;;;gBAIY;IACZ,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC;IAC5C;;iEAE6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB;;0CAEsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;8EAC0E;IAC1E,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAcxD"}
|
|
@@ -282,6 +282,16 @@ function analyzeServerSpam(input) {
|
|
|
282
282
|
const unknownCouldFlagAlone = !unknown.length ? false
|
|
283
283
|
: !Number.isFinite(unknownWeight) || !Number.isFinite(threshold) ? true
|
|
284
284
|
: unknownWeight >= threshold;
|
|
285
|
+
// What the chip may claim about the rule set. "Every rule that scored is a
|
|
286
|
+
// bulk-mail test" is a statement about ALL of them, so it has to be
|
|
287
|
+
// checked against all of them — deriving it from `proved` (which says
|
|
288
|
+
// nothing about the rules) or from `kind` (the worst class, which says
|
|
289
|
+
// nothing about the rest) asserts something the code never looked at.
|
|
290
|
+
// The Altis Hotels welcome mail, 2026-09-03 (Bob: "marked as spam but is
|
|
291
|
+
// valid"): DMARC-proved, so the chip said "scored by bulk-mail or
|
|
292
|
+
// blocklist rules" — with 3.2 of its 8.3 coming from KAM_ACCOUNTPHISH,
|
|
293
|
+
// which is neither, listed directly underneath.
|
|
294
|
+
const bulkOnly = rules.every(r => !scored(r) || r.cls === "bulk" || r.cls === "neutral");
|
|
285
295
|
const kind = (dmarc.authFailures.length || present("forgery")) ? "forgery"
|
|
286
296
|
: present("association") ? "association"
|
|
287
297
|
: unknownCouldFlagAlone ? "unclassified"
|
|
@@ -319,7 +329,7 @@ function analyzeServerSpam(input) {
|
|
|
319
329
|
});
|
|
320
330
|
return {
|
|
321
331
|
score, threshold, flagged, rules, kind,
|
|
322
|
-
proved: !!provedBy, provedBy,
|
|
332
|
+
proved: !!provedBy, provedBy, bulkOnly,
|
|
323
333
|
provedDomain: dmarc.domain || fromDomain, provedPolicy: dmarc.policy,
|
|
324
334
|
bayesHam: rules.some(r => r.name === "BAYES_00" || r.name === "BAYES_01"),
|
|
325
335
|
authFailures: dmarc.authFailures,
|
|
@@ -401,11 +411,19 @@ function serverSpamVerdict(input) {
|
|
|
401
411
|
: `Your mail server scored this as spam, but ${a.provedDomain} proved it sent this.`,
|
|
402
412
|
detail: `${provedNote(a)} ${numbers}${why}${bayes}`,
|
|
403
413
|
};
|
|
414
|
+
// Same discipline as the chip: "nothing that scored tests who sent it" is
|
|
415
|
+
// a claim about every rule, so it is made only when every rule was
|
|
416
|
+
// actually looked at and classified. `kind === "bulk"` does not establish
|
|
417
|
+
// that — an unclassified rule that could not have flagged the message on
|
|
418
|
+
// its own leaves the kind at bulk while remaining, by definition, a rule
|
|
419
|
+
// this file cannot say anything about.
|
|
404
420
|
if (a.kind === "bulk")
|
|
405
421
|
return {
|
|
406
422
|
id: "server-spam-verdict",
|
|
407
423
|
severity: "info",
|
|
408
|
-
text:
|
|
424
|
+
text: a.bulkOnly
|
|
425
|
+
? "Your mail server rates this bulk mail — nothing that scored tests who sent it."
|
|
426
|
+
: "Your mail server rates this bulk mail.",
|
|
409
427
|
detail: `${numbers}${why}${bayes}`,
|
|
410
428
|
};
|
|
411
429
|
const proof = a.proved ? `${provedNote(a)} ` : "";
|
|
@@ -728,6 +746,7 @@ export function spamScoreOf(input) {
|
|
|
728
746
|
kind: a.kind,
|
|
729
747
|
proved: a.proved,
|
|
730
748
|
provedBy: a.provedBy,
|
|
749
|
+
bulkOnly: a.bulkOnly,
|
|
731
750
|
trusted: !!input.senderTrusted && a.proved && a.kind !== "forgery" && !a.authFailures.length,
|
|
732
751
|
reasons: a.reasons,
|
|
733
752
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trust.js","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AA2CH,iDAAiD;AACjD,SAAS,MAAM,CAAC,KAAgC,EAAE,IAAY;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI;YAAE,SAAS;QACnD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,uCAAuC;AACvC,SAAS,SAAS,CAAC,KAAgC,EAAE,IAAY;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI;YAAE,SAAS;QACnD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,IAAI,CAAC,IAAY;IACtB,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;iEAMiE;AACjE,SAAS,OAAO,CAAC,CAAS,EAAE,CAAS;IACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAuBD;;;gDAGgD;AAChD,MAAM,aAAa,GAAa;IAC5B,+BAA+B;IAC/B,kCAAkC;IAClC,oCAAoC;IACpC,UAAU;IACV,OAAO;IACP,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS;CAC3C,CAAC;AAEF;;gFAEgF;AAChF,MAAM,iBAAiB,GAAa;IAChC,kCAAkC;IAClC,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,mEAAmE;IACnE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,qEAAqE;IACrE,0EAA0E;IAC1E,6CAA6C;IAC7C,0BAA0B,EAAE,SAAS,EAAE,mBAAmB;CAC7D,CAAC;AAEF;;iFAEiF;AACjF,MAAM,UAAU,GAAa;IACzB,OAAO,EAAE,SAAS,EAAE,UAAU;IAC9B,eAAe,EAAE,QAAQ;IACzB,0EAA0E;IAC1E,qEAAqE;IACrE,0EAA0E;IAC1E,+BAA+B;IAC/B,0BAA0B,EAAE,YAAY,EAAE,kBAAkB;IAC5D,wBAAwB,EAAE,oBAAoB,EAAE,aAAa;IAC7D,QAAQ,EAAE,YAAY,EAAE,cAAc;IACtC,oCAAoC,EAAE,aAAa;IACnD,iCAAiC,EAAW,gCAAgC;IAC5E,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB;IACrE,sEAAsE;IACtE,mEAAmE;IACnE,+DAA+D;IAC/D,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe;CAC9D,CAAC;AAEF;;;;;iDAKiD;AACjD,MAAM,aAAa,GAAa;IAC5B,SAAS;IACT,4CAA4C;IAC5C,iDAAiD;IACjD,UAAU,EAAE,gCAAgC;IAC5C,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe;CAC5D,CAAC;AAEF,SAAS,YAAY,CAAC,IAAY,EAAE,WAAoB;IACpD,IAAI,WAAW,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,SAAS,CAAC;IAC7D,KAAK,MAAM,EAAE,IAAI,aAAa;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;IACpE,KAAK,MAAM,EAAE,IAAI,iBAAiB;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,aAAa,CAAC;IAC5E,KAAK,MAAM,EAAE,IAAI,aAAa;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;IACpE,KAAK,MAAM,EAAE,IAAI,UAAU;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;IAC9D,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,UAAU,CAAC,KAAiB;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE3F,sEAAsE;IACtE,wEAAwE;IACxE,mEAAmE;IACnE,6DAA6D;IAC7D,MAAM,YAAY,GAAG;QACjB,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAClD,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACrD,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAC1D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAExG,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACjF,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClF,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/E,IAAI,MAAM,IAAI,UAAU;WACjB,MAAM,KAAK,UAAU;WACrB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC;WAClC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;AAC7F,CAAC;AAYD;;;;;kDAKkD;AAClD,SAAS,MAAM,CAAC,KAAa;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;yCAOyC;AACzC,SAAS,eAAe,CAAC,MAAc;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkD,CAAC;IACtE,IAAI,OAAO,GAA2C,IAAI,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3D,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACzE,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACpE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3B,SAAS;QACb,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;aAC9B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC;aAC9C,IAAI,EAAE,CAAC;IAChB,OAAO,GAAG,CAAC;AACf,CAAC;AAiCD,SAAS,iBAAiB,CAAC,KAAiB;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACvE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAe,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO;YACH,IAAI;YACJ,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;YAChC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YAC3C,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;SACxC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,iDAAiD;IACjD,MAAM,MAAM,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,GAAc,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhF,yEAAyE;IACzE,iEAAiE;IACjE,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,qEAAqE;IACrE,2EAA2E;IAC3E,4BAA4B;IAC5B,EAAE;IACF,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,uCAAuC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QACjD,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;YACvE,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACtE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa;YACxC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc;gBACxC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACvB,CAAC,CAAC,cAAc,CAAC;IAErB,uEAAuE;IACvE,8EAA8E;IAC9E,6EAA6E;IAC7E,uEAAuE;IACvE,uEAAuE;IACvE,EAAE;IACF,8DAA8D;IAC9D,iFAAiF;IACjF,EAAE;IACF,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;QACjC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM;YAC/B,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE/E,MAAM,OAAO,GAAG,KAAK;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;SAC/C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE;QACL,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpF,CAAC,CAAC,CAAC;IAEP,OAAO;QACH,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI;QACtC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ;QAC5B,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM;QACpE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;QACzE,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,OAAO;KACV,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;wDACwD;AACxD,SAAS,UAAU,CAAC,CAAqB;IACrC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACR,OAAO,sBAAsB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QACvF,KAAK,MAAM;YACP,OAAO,wBAAwB,CAAC,CAAC,YAAY,8CAA8C,CAAC;QAChG,KAAK,SAAS;YACV,OAAO,oFAAoF,CAAC;QAChG;YACI,OAAO,EAAE,CAAC;IAClB,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAiB;IACxC,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAElC,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,gEAAgE;IAChE,wEAAwE;IACxE,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC;IACzD,IAAI,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEpF,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE;QACnD,CAAC,CAAC,yBAAyB,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5F,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QACpB,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,sFAAsF;YAC5F,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBACzB,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,0CAA0C,OAAO,GAAG,GAAG,EAAE;gBAC1F,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,EAAE;SAC3B,CAAC;IAEN,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;QACrC,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS;gBAC1B,CAAC,CAAC,4FAA4F;gBAC9F,CAAC,CAAC,6CAA6C,CAAC,CAAC,YAAY,uBAAuB;YACxF,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,EAAE;SACtD,CAAC;IAEN,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QACjB,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,gFAAgF;YACtF,MAAM,EAAE,GAAG,OAAO,GAAG,GAAG,GAAG,KAAK,EAAE;SACrC,CAAC;IAEN,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,MAAM;QAChC,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,iEAAiE;YACvE,MAAM,EAAE,sHAAsH,OAAO,GAAG,GAAG,EAAE;SAChJ,CAAC;IACN,OAAO;QACH,EAAE,EAAE,qBAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,gEAAgE;QACtE,MAAM,EAAE,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,GAAG,KAAK,EAAE;KAC7C,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,SAAS,CAAC,KAAiB;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG;QACX,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAClD,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACrD,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;KAC1D,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,0EAA0E;IAC1E,+DAA+D;IAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,YAAY,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,OAAO;YACH,EAAE,EAAE,YAAY;YAChB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,4CAA4C,IAAI,iDAAiD;YACvG,MAAM,EAAE,gDAAgD,IAAI,2FAA2F;SAC1J,CAAC;IACN,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,OAAO;QACH,EAAE,EAAE,YAAY;QAChB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,4CAA4C,IAAI,0CAA0C;QAChG,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,YAAY,EAAE;KACzE,CAAC;AACN,CAAC;AAED;;6DAE6D;AAC7D,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACvC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClE,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,GAAG,mBAAmB,IAAI,MAAM,GAAG,mBAAmB;YAAE,SAAS;QAC1E,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACxE,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,wGAAwG;YAC9G,MAAM,EAAE,GAAG,KAAK,IAAI,MAAM,+CAA+C,IAAI,EAAE;SAClF,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;0EAQ0E;AAC1E,SAAS,kBAAkB,CAAC,KAAiB;IACzC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/E,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,UAAU,CAAC;IAC9C,OAAO,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAS,cAAc,CAAC,KAAiB;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;QACjE,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC9C,IAAI,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC;YAAE,SAAS,CAAE,wBAAwB;QAC5F,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,MAAW,CAAC;YAChB,IAAI,CAAC;gBAAC,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACjD,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAG,4BAA4B;YACpF,OAAO;gBACH,EAAE,EAAE,iBAAiB;gBACrB,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,iDAAiD,GAAG,CAAC,QAAQ,gBAAgB,MAAM,CAAC,QAAQ,GAAG;gBACrG,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,OAAO,MAAM,CAAC,QAAQ,EAAE;aAClD,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAiB;IAChD,MAAM,QAAQ,GAAG;QACb,iBAAiB,CAAC,KAAK,CAAC;QACxB,SAAS,CAAC,KAAK,CAAC;QAChB,iBAAiB,CAAC,KAAK,CAAC;QACxB,oBAAoB,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC1C,iBAAiB,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,cAAc,CAAC,KAAK,CAAC;KACxB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAChD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,sBAAsB,GAAG;IAC3B,eAAe,EAAY,yDAAyD;IACpF,wBAAwB,EAAG,wBAAwB;IACnD,WAAW;IACX,sBAAsB;CACzB,CAAC;AAEF,SAAS,iBAAiB,CAAC,KAAiB;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,gEAAgE;QAChE,kEAAkE;QAClE,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC;YAAE,SAAS;QACnE,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,gEAAgE,aAAa,SAAS,UAAU,GAAG;YACzG,MAAM,EAAE,+BAA+B,OAAO,qEAAqE,IAAI,EAAE;SAC5H,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,SAAS,oBAAoB,CAAC,QAAgB;IAC1C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,0BAA0B;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO;QACH,EAAE,EAAE,wBAAwB;QAC5B,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,2FAA2F;QACjG,MAAM,EAAE,GAAG,KAAK,uFAAuF;KAC1G,CAAC;AACN,CAAC;AA2CD,MAAM,UAAU,WAAW,CAAC,KAAiB;IACzC,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAClF,OAAO;QACH,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;QAC5F,OAAO,EAAE,CAAC,CAAC,OAAO;KACrB,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"trust.js","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"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"}
|
|
@@ -325,6 +325,11 @@ interface ServerSpamAnalysis {
|
|
|
325
325
|
provedBy: "dmarc" | "dkim" | "trusted" | "";
|
|
326
326
|
provedDomain: string;
|
|
327
327
|
provedPolicy: string;
|
|
328
|
+
/** Every rule that SCORED is a bulk-mail or blocklist test — nothing that
|
|
329
|
+
* pushed this message up is about its content or its sender. Computed,
|
|
330
|
+
* not inferred from `kind`: `kind` is the WORST class present, so it says
|
|
331
|
+
* nothing about the rules underneath it. */
|
|
332
|
+
bulkOnly: boolean;
|
|
328
333
|
/** The reader's own trained filter put this at 0-1% spam. */
|
|
329
334
|
bayesHam: boolean;
|
|
330
335
|
/** Authentication the receiving server saw fail, by name: "SPF", "DKIM",
|
|
@@ -387,6 +392,17 @@ function analyzeServerSpam(input: TrustInput): ServerSpamAnalysis {
|
|
|
387
392
|
const unknownCouldFlagAlone = !unknown.length ? false
|
|
388
393
|
: !Number.isFinite(unknownWeight) || !Number.isFinite(threshold) ? true
|
|
389
394
|
: unknownWeight >= threshold;
|
|
395
|
+
// What the chip may claim about the rule set. "Every rule that scored is a
|
|
396
|
+
// bulk-mail test" is a statement about ALL of them, so it has to be
|
|
397
|
+
// checked against all of them — deriving it from `proved` (which says
|
|
398
|
+
// nothing about the rules) or from `kind` (the worst class, which says
|
|
399
|
+
// nothing about the rest) asserts something the code never looked at.
|
|
400
|
+
// The Altis Hotels welcome mail, 2026-09-03 (Bob: "marked as spam but is
|
|
401
|
+
// valid"): DMARC-proved, so the chip said "scored by bulk-mail or
|
|
402
|
+
// blocklist rules" — with 3.2 of its 8.3 coming from KAM_ACCOUNTPHISH,
|
|
403
|
+
// which is neither, listed directly underneath.
|
|
404
|
+
const bulkOnly = rules.every(r => !scored(r) || r.cls === "bulk" || r.cls === "neutral");
|
|
405
|
+
|
|
390
406
|
const kind = (dmarc.authFailures.length || present("forgery")) ? "forgery"
|
|
391
407
|
: present("association") ? "association"
|
|
392
408
|
: unknownCouldFlagAlone ? "unclassified"
|
|
@@ -427,7 +443,7 @@ function analyzeServerSpam(input: TrustInput): ServerSpamAnalysis {
|
|
|
427
443
|
|
|
428
444
|
return {
|
|
429
445
|
score, threshold, flagged, rules, kind,
|
|
430
|
-
proved: !!provedBy, provedBy,
|
|
446
|
+
proved: !!provedBy, provedBy, bulkOnly,
|
|
431
447
|
provedDomain: dmarc.domain || fromDomain, provedPolicy: dmarc.policy,
|
|
432
448
|
bayesHam: rules.some(r => r.name === "BAYES_00" || r.name === "BAYES_01"),
|
|
433
449
|
authFailures: dmarc.authFailures,
|
|
@@ -514,11 +530,19 @@ function serverSpamVerdict(input: TrustInput): TrustFinding {
|
|
|
514
530
|
detail: `${provedNote(a)} ${numbers}${why}${bayes}`,
|
|
515
531
|
};
|
|
516
532
|
|
|
533
|
+
// Same discipline as the chip: "nothing that scored tests who sent it" is
|
|
534
|
+
// a claim about every rule, so it is made only when every rule was
|
|
535
|
+
// actually looked at and classified. `kind === "bulk"` does not establish
|
|
536
|
+
// that — an unclassified rule that could not have flagged the message on
|
|
537
|
+
// its own leaves the kind at bulk while remaining, by definition, a rule
|
|
538
|
+
// this file cannot say anything about.
|
|
517
539
|
if (a.kind === "bulk")
|
|
518
540
|
return {
|
|
519
541
|
id: "server-spam-verdict",
|
|
520
542
|
severity: "info",
|
|
521
|
-
text:
|
|
543
|
+
text: a.bulkOnly
|
|
544
|
+
? "Your mail server rates this bulk mail — nothing that scored tests who sent it."
|
|
545
|
+
: "Your mail server rates this bulk mail.",
|
|
522
546
|
detail: `${numbers}${why}${bayes}`,
|
|
523
547
|
};
|
|
524
548
|
|
|
@@ -847,6 +871,10 @@ export interface SpamScore {
|
|
|
847
871
|
* may not exist (Bob's own mail carries no Authentication-Results at
|
|
848
872
|
* all). */
|
|
849
873
|
provedBy: "dmarc" | "dkim" | "trusted" | "";
|
|
874
|
+
/** Every rule that scored is a bulk-mail or blocklist test. The chip's
|
|
875
|
+
* tooltip may say so ONLY when this is true — it is a claim about all of
|
|
876
|
+
* the rules, and the reader can read them underneath it. */
|
|
877
|
+
bulkOnly: boolean;
|
|
850
878
|
/** Top scoring rules, named — "6.0 URIBL_SBL (Contains an URL's NS IP
|
|
851
879
|
* listed in the Spamhaus SBL blocklist)". A number alone is unactionable;
|
|
852
880
|
* this can be judged in a second. */
|
|
@@ -866,6 +894,7 @@ export function spamScoreOf(input: TrustInput): SpamScore {
|
|
|
866
894
|
kind: a.kind,
|
|
867
895
|
proved: a.proved,
|
|
868
896
|
provedBy: a.provedBy,
|
|
897
|
+
bulkOnly: a.bulkOnly,
|
|
869
898
|
trusted: !!input.senderTrusted && a.proved && a.kind !== "forgery" && !a.authFailures.length,
|
|
870
899
|
reasons: a.reasons,
|
|
871
900
|
};
|