@bobfrankston/rmfmail 1.2.323 → 1.2.325
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 +17 -15
- package/.llm/config-cache-crash.md +26 -0
- package/.llm/trusted-lists.md +1 -0
- package/bin/mailx.js +96 -25
- package/bin/mailx.js.map +1 -1
- package/bin/mailx.ts +105 -16
- package/client/android-bootstrap.bundle.js +5 -2
- package/client/android-bootstrap.bundle.js.map +2 -2
- package/client/app.bundle.js +11 -3
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +15 -1
- package/client/app.js.map +1 -1
- package/client/app.ts +13 -1
- package/client/components/message-viewer.js +12 -2
- package/client/components/message-viewer.js.map +1 -1
- package/client/components/message-viewer.ts +13 -3
- package/docs/allowlist.md +1 -0
- package/npmchanges.md +47 -0
- package/package.json +5 -5
- package/packages/mailx-imap/index.d.ts.map +1 -1
- package/packages/mailx-imap/index.js +7 -2
- package/packages/mailx-imap/index.js.map +1 -1
- package/packages/mailx-imap/index.ts +7 -2
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-settings/docs/allowlist.md +1 -0
- package/packages/mailx-settings/index.d.ts +15 -0
- package/packages/mailx-settings/index.d.ts.map +1 -1
- package/packages/mailx-settings/index.js +71 -14
- package/packages/mailx-settings/index.js.map +1 -1
- package/packages/mailx-settings/index.ts +65 -14
- 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 +17 -1
- package/packages/mailx-types/trust.js.map +1 -1
- package/packages/mailx-types/trust.ts +20 -1
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
import * as fs from "node:fs";
|
|
20
20
|
import * as path from "node:path";
|
|
21
|
-
import { parse as parseJsonc } from "jsonc-parser";
|
|
21
|
+
import { parse as parseJsonc, printParseErrorCode, type ParseError } from "jsonc-parser";
|
|
22
22
|
import type { MailxSettings, AccountConfig, AutocompleteSettings, AiKeys, ReminderState } from "@bobfrankston/mailx-types";
|
|
23
23
|
import { REMINDER_STATE_FILE, normalizeReminderState, mergeReminderStates, reminderStatesEqual } from "@bobfrankston/mailx-types";
|
|
24
24
|
import { getCloudProvider, gDriveFindOrCreateFolder, gDriveValidateCachedFolder, type CloudProvider } from "./cloud.js";
|
|
@@ -312,11 +312,22 @@ export async function cloudRead(filename: string): Promise<string | null> {
|
|
|
312
312
|
if (wroteAt >= startedAt) {
|
|
313
313
|
console.log(` [cloud] ${filename} changed locally during the read — keeping the local copy`);
|
|
314
314
|
} else {
|
|
315
|
-
|
|
315
|
+
// 2026-09-13 17:20 EDT — Claude Code (Fable 5.1), at Bob's direction.
|
|
316
|
+
// Was an unconditional plain writeFileSync on EVERY cloud read —
|
|
317
|
+
// and pollCloud reads every 3 min — so accounts.jsonc was rewritten
|
|
318
|
+
// all day even when identical (the log showed "fs.watch fired but
|
|
319
|
+
// content unchanged" every 3 minutes). A kernel crash at 16:36
|
|
320
|
+
// today caught one of those rewrites and NTFS left the file
|
|
321
|
+
// zero-filled; the daemon then booted with 0 accounts. Now: skip
|
|
322
|
+
// when identical, and write crash-safe (tmp + fsync + rename).
|
|
316
323
|
stashPrev(filename, content);
|
|
317
|
-
|
|
324
|
+
writeTextIfChanged(path.join(LOCAL_DIR, filename), content);
|
|
318
325
|
}
|
|
319
|
-
} catch
|
|
326
|
+
} catch (e: any) {
|
|
327
|
+
// The cloud content is still returned to the caller; only the local
|
|
328
|
+
// offline cache is stale, and the next read retries the write.
|
|
329
|
+
console.error(` [cloud] ${filename}: local cache write failed: ${e?.message || e}`);
|
|
330
|
+
}
|
|
320
331
|
}
|
|
321
332
|
// Don't set error for missing files — they may not exist yet (e.g., clients.jsonc on first run)
|
|
322
333
|
return content;
|
|
@@ -488,19 +499,31 @@ function readJsonc(filePath: string): any {
|
|
|
488
499
|
if (!fs.existsSync(actual)) return null;
|
|
489
500
|
}
|
|
490
501
|
try {
|
|
491
|
-
|
|
502
|
+
// 2026-09-13 17:20 EDT — Claude Code (Fable 5.1), at Bob's direction.
|
|
503
|
+
// jsonc-parser's parse() never throws: on garbage it returns undefined
|
|
504
|
+
// and only reports through the errors array. Without the array, the
|
|
505
|
+
// crash-zeroed accounts.jsonc (1932 NUL bytes) read as "no accounts"
|
|
506
|
+
// with not one log line — the daemon started with zero accounts and
|
|
507
|
+
// the only symptom was the "restart to apply" banner 14 s later.
|
|
508
|
+
const text = fs.readFileSync(actual, "utf-8").replace(/\r/g, "");
|
|
509
|
+
const errors: ParseError[] = [];
|
|
510
|
+
const data = parseJsonc(text, errors);
|
|
511
|
+
if (errors.length > 0) {
|
|
512
|
+
const first = errors[0];
|
|
513
|
+
console.error(`Failed to parse ${actual}: ${printParseErrorCode(first.error)} at offset ${first.offset} (${errors.length} error(s), ${text.length} chars)`);
|
|
514
|
+
return null;
|
|
515
|
+
}
|
|
516
|
+
return data;
|
|
492
517
|
} catch (e: any) {
|
|
493
518
|
console.error(`Failed to read ${actual}: ${e.message}`);
|
|
494
519
|
return null;
|
|
495
520
|
}
|
|
496
521
|
}
|
|
497
522
|
|
|
523
|
+
// 2026-09-13 17:20 EDT — Claude Code (Fable 5.1): one write mechanism; the
|
|
524
|
+
// fsync lives in atomicWriteText (see its note).
|
|
498
525
|
function atomicWrite(filePath: string, data: any): void {
|
|
499
|
-
|
|
500
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
501
|
-
const tmp = filePath + ".tmp";
|
|
502
|
-
fs.writeFileSync(tmp, JSON.stringify(data, null, 2));
|
|
503
|
-
fs.renameSync(tmp, filePath);
|
|
526
|
+
atomicWriteText(filePath, JSON.stringify(data, null, 2));
|
|
504
527
|
}
|
|
505
528
|
|
|
506
529
|
/** Read a config file: shared first, local fallback, merge local overrides */
|
|
@@ -850,8 +873,9 @@ export function loadAccounts(): AccountConfig[] {
|
|
|
850
873
|
const norm = (s: string): string =>
|
|
851
874
|
s.replace(/^\uFEFF/, "").replace(/\r\n/g, "\n").replace(/[ \t\r\n]+$/, "");
|
|
852
875
|
if (norm(sharedContent) !== norm(localContent)) {
|
|
853
|
-
|
|
854
|
-
|
|
876
|
+
// 2026-09-13 17:20 EDT — Claude Code (Fable 5.1): crash-safe
|
|
877
|
+
// write (tmp + fsync + rename); see atomicWriteText.
|
|
878
|
+
atomicWriteText(localPath, sharedContent);
|
|
855
879
|
}
|
|
856
880
|
} catch { /* ignore */ }
|
|
857
881
|
}
|
|
@@ -1317,14 +1341,41 @@ function buildDictCsv(words: string[]): string {
|
|
|
1317
1341
|
return "# rmfmail user dictionary — one word per line\n" + sorted.join("\n") + "\n";
|
|
1318
1342
|
}
|
|
1319
1343
|
|
|
1320
|
-
|
|
1344
|
+
/** Crash-safe text write: tmp file → fsync → rename over the target.
|
|
1345
|
+
*
|
|
1346
|
+
* 2026-09-13 17:20 EDT — Claude Code (Fable 5.1), at Bob's direction.
|
|
1347
|
+
* Added the fsync and exported this for every local-cache writer. Kernel-Power
|
|
1348
|
+
* 41 crash at 16:36 today left `~/.rmfmail/accounts.jsonc` as 1932 NUL bytes:
|
|
1349
|
+
* NTFS journals metadata (the new size) but not data, so a file rewritten
|
|
1350
|
+
* moments before a hard crash comes back zero-filled. A rename alone does not
|
|
1351
|
+
* close that window — the tmp file's data can be unflushed too — hence the
|
|
1352
|
+
* fsync before the rename. The daemon then booted with 0 accounts. */
|
|
1353
|
+
export function atomicWriteText(filePath: string, text: string): void {
|
|
1321
1354
|
const dir = path.dirname(filePath);
|
|
1322
1355
|
fs.mkdirSync(dir, { recursive: true });
|
|
1323
1356
|
const tmp = filePath + ".tmp";
|
|
1324
|
-
fs.
|
|
1357
|
+
const fd = fs.openSync(tmp, "w");
|
|
1358
|
+
try {
|
|
1359
|
+
fs.writeSync(fd, text);
|
|
1360
|
+
fs.fsyncSync(fd);
|
|
1361
|
+
} finally {
|
|
1362
|
+
fs.closeSync(fd);
|
|
1363
|
+
}
|
|
1325
1364
|
fs.renameSync(tmp, filePath);
|
|
1326
1365
|
}
|
|
1327
1366
|
|
|
1367
|
+
/** Write `text` to `filePath` only when it differs from what is already there.
|
|
1368
|
+
* Returns true when a write happened. Identical content is skipped so a
|
|
1369
|
+
* periodic cloud poll doesn't keep the file in a perpetual just-written
|
|
1370
|
+
* window (see atomicWriteText) and doesn't fire fs.watch for nothing. */
|
|
1371
|
+
export function writeTextIfChanged(filePath: string, text: string): boolean {
|
|
1372
|
+
let existing: string = null;
|
|
1373
|
+
try { existing = fs.readFileSync(filePath, "utf-8"); } catch { existing = null; /* missing or unreadable → write it */ }
|
|
1374
|
+
if (existing === text) return false;
|
|
1375
|
+
atomicWriteText(filePath, text);
|
|
1376
|
+
return true;
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1328
1379
|
/** Load user-added dictionary words. Mirrored to GDrive so "Add to dictionary"
|
|
1329
1380
|
* on one machine appears on every machine. Returns a deduped string array.
|
|
1330
1381
|
* Tries the cloud copy first (so a fresh machine sees prior words), then
|
|
@@ -69,6 +69,10 @@ export interface TrustFinding {
|
|
|
69
69
|
* viewer can offer to trust the sender when that relay signs for it
|
|
70
70
|
* (allowlist.jsonc `trustedSendersVia`). (2026-09-10) */
|
|
71
71
|
senderVia?: string;
|
|
72
|
+
/** The proved sender domain whose trust would clear this finding — set
|
|
73
|
+
* on a redirector warning when the sender is proved but not yet on the
|
|
74
|
+
* reader's list, so the viewer can offer "Stop warning about". (2026-09-11) */
|
|
75
|
+
sender?: string;
|
|
72
76
|
}
|
|
73
77
|
export interface TrustInput {
|
|
74
78
|
/** Every header line, in order, as mailparser's `headerLines`. Repeated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;6DAK6D;AAC7D,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,CAAC;AAEzD,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;IACf;;;;4EAIwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;iEAE6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;8DAG0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;6DAK6D;AAC7D,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,CAAC;AAEzD,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;IACf;;;;4EAIwE;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;iEAE6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;8DAG0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;oFAEgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;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;IAClB;;;;;;;;;4DASwD;IACxD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;;;;;;;;;iEAS6D;IAC7D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;;;0EAUsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAu6BD;;;;;;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;IACjB;;;+CAG2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAiBxD"}
|
|
@@ -847,6 +847,19 @@ function provedSenderDomain(input) {
|
|
|
847
847
|
function redirectorLink(input) {
|
|
848
848
|
const bodyHtml = input.bodyHtml || "";
|
|
849
849
|
const senderDomain = provedSenderDomain(input);
|
|
850
|
+
// 5. (2026-09-11) The proved sender is one the reader trusts. The
|
|
851
|
+
// finding's own words were "only the sender could vouch for the
|
|
852
|
+
// link" — and the reader has vouched for the sender. A Toast receipt
|
|
853
|
+
// (dmarc=pass toasttab.com, toasttab.com on Bob's list) links through
|
|
854
|
+
// toasttakeout.page.link, Firebase's per-app redirector, to
|
|
855
|
+
// toasttakeout.com: two organisations by hostname, nobody signed for
|
|
856
|
+
// page.link, the sender is neither — rules 1 to 4 all miss, and
|
|
857
|
+
// Bob: "I trust toasttakeout.com. There should be a trust button."
|
|
858
|
+
// Trust counts only with proof, as everywhere else: without the
|
|
859
|
+
// server's pass the list would be a switch a forger flips by typing a
|
|
860
|
+
// trusted domain into From.
|
|
861
|
+
if (senderDomain && input.senderTrusted)
|
|
862
|
+
return null;
|
|
850
863
|
// 3. (2026-09-08) The redirector belongs to a reader-listed intermediary
|
|
851
864
|
// that provably handled the message. Google Calendar wraps every link
|
|
852
865
|
// in an invitation as google.com/url?q=…, signs the mail d=google.com,
|
|
@@ -891,13 +904,16 @@ function redirectorLink(input) {
|
|
|
891
904
|
// Which party, and how — or why there is no party (Bob 2026-09-08).
|
|
892
905
|
const how = signer
|
|
893
906
|
? ` ${signer} signed this message; "Trust ${signer} as an intermediary" stops this warning for links through ${signer} in mail it signs.`
|
|
894
|
-
:
|
|
907
|
+
: senderDomain
|
|
908
|
+
? ` Nobody signed this message for ${url.hostname}, so there is no intermediary to trust; ${senderDomain} proved it sent this, and "Stop warning about *@${senderDomain}" lets it vouch for its own links.`
|
|
909
|
+
: ` Nobody signed this message for ${url.hostname}, so there is no intermediary to trust; only the sender could vouch for the link, and nothing proves who the sender is.`;
|
|
895
910
|
return {
|
|
896
911
|
id: "redirector-link",
|
|
897
912
|
severity: "caution",
|
|
898
913
|
text: `A link hides where it goes: it passes through ${url.hostname} and ends at ${target.hostname}.`,
|
|
899
914
|
detail: `${url.hostname} -> ${target.hostname}.${how}`,
|
|
900
915
|
...(signer ? { via: signer } : {}),
|
|
916
|
+
...(senderDomain && !signer ? { sender: senderDomain } : {}),
|
|
901
917
|
};
|
|
902
918
|
}
|
|
903
919
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trust.js","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;6DAK6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,uBAAuB;IACrC,IAAI,EAAE,cAAc;IACpB,GAAG,EAAE,mBAAmB;CAClB,CAAC;AA6FX,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;;;;;;;;;;2EAU2E;AAC3E,MAAM,gBAAgB,GAAa;IAC/B,0BAA0B,EAAM,0CAA0C;IAC1E,8BAA8B,EAAE,mDAAmD;IACnF,oBAAoB,EAAY,0CAA0C;IAC1E,sBAAsB,EAAU,gDAAgD;CACnF,CAAC;AAEF,SAAS,YAAY,CAAC,IAAY,EAAE,WAAoB,EAAE,WAAW,GAAG,KAAK;IACzE,IAAI,WAAW;QAAE,KAAK,MAAM,EAAE,IAAI,gBAAgB;YAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;IACxF,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;;;;kEAIkE;AAClE,SAAS,WAAW,CAAC,KAAiB;IAClC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC3C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;+DAM+D;AAC/D,SAAS,WAAW,CAAC,KAAiB;IAClC,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,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACxE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC1C,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1E,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;yEAEyE;AACzE,SAAS,kBAAkB,CAAC,KAAiB;IACzC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1G,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,IAAI;QACpB,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,EAAE,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,SAAS,cAAc,CAAC,KAAa;IACjC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC5E,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED;;kEAEkE;AAClE,SAAS,eAAe,CAAC,KAAiB;IACtC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpF,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC/B,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,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,OAAO;QACnB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IACvH,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;yDAayD;AACzD,SAAS,SAAS,CAAC,KAAiB;IAChC,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrE,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAErB,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACnG,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,wEAAwE;YACxE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7F,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1E,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACjG,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACzE,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAClF,CAAC;IACL,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED,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;AAgDD,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,sEAAsE;IACtE,mEAAmE;IACnE,yEAAyE;IACzE,sEAAsE;IACtE,wEAAwE;IACxE,iEAAiE;IACjE,wEAAwE;IACxE,uEAAuE;IACvE,sEAAsE;IACtE,sBAAsB;IACtB,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzF,MAAM,IAAI,GAAG,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;IAChG,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IACtH,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,EAAE,IAAI,CAAC,MAAM,CAAC;SACrD,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,2EAA2E;IAC3E,oEAAoE;IACpE,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,yEAAyE;IACzE,kEAAkE;IAClE,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IAEzF,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAChE,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,EAAE,QAAQ;QACtC,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;QACZ,OAAO;QACP,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC;QACvC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC;QAC3B,IAAI;QACJ,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC;KACpC,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,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,qEAAqE;IACrE,sEAAsE;IACtE,oEAAoE;IACpE,qEAAqE;IACrE,kEAAkE;IAClE,8BAA8B;IAC9B,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClH,IAAI,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACpF,uEAAuE;IACvE,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACnG,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,4CAA4C;IAC5C,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM;QAChC,CAAC,CAAC,oCAAoC,KAAK,6BAA6B,KAAK,iDAAiD,KAAK,SAAS;QAC5I,CAAC,CAAC,EAAE,CAAC;IACT,sEAAsE;IACtE,sEAAsE;IACtE,qEAAqE;IACrE,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM;QAC1D,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,4HAA4H,CAAC,CAAC,IAAI,CAAC,EAAE,oDAAoD;QACxP,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpD,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,0EAA0E;IAC1E,mEAAmE;IACnE,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,uCAAuC;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QACjB,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,QAAQ;gBACZ,CAAC,CAAC,gFAAgF;gBAClF,CAAC,CAAC,wCAAwC;YAC9C,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,EAAE,CAAC;QACnC,kEAAkE;QAClE,mEAAmE;QACnE,0DAA0D;QAC1D,mEAAmE;QACnE,sBAAsB;QACtB,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;QAC/E,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,aAAa,GAAG,WAAW;YAC7B,CAAC,CAAC,KAAK,WAAW,uDAAuD,UAAU,QAAQ,WAAW,mCAAmC,UAAU,SAAS,WAAW,SAAS;YAChL,CAAC,CAAC,EAAE,CAAC;QACT,OAAO;YACH,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,iEAAiE;YACvE,MAAM,EAAE,sHAAsH,OAAO,GAAG,GAAG,GAAG,QAAQ,GAAG,aAAa,EAAE;YACxK,GAAG,OAAO;YACV,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,UAAU,QAAQ,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAC;IACN,CAAC;IACD,OAAO;QACH,EAAE,EAAE,qBAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,gEAAgE;QACtE,MAAM,EAAE,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,EAAE;QACjE,GAAG,GAAG;QACN,GAAG,OAAO;KACb,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,sEAAsE;IACtE,qEAAqE;IACrE,sEAAsE;IACtE,iEAAiE;IACjE,+DAA+D;IAC/D,uEAAuE;IACvE,sEAAsE;IACtE,oEAAoE;IACpE,uEAAuE;IACvE,gEAAgE;IAChE,6CAA6C;IAC7C,EAAE;IACF,0EAA0E;IAC1E,sEAAsE;IACtE,uEAAuE;IACvE,wDAAwD;IACxD,wEAAwE;IACxE,wEAAwE;IACxE,0BAA0B;IAC1B,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;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,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACnC,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,IAAI,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC;YAAE,SAAS,CAAE,6BAA6B;QACjG,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,IAAI,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAAE,SAAS,CAAE,qCAAqC;YAC5G,kEAAkE;YAClE,+DAA+D;YAC/D,kEAAkE;YAClE,mDAAmD;YACnD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,oEAAoE;YACpE,MAAM,GAAG,GAAG,MAAM;gBACd,CAAC,CAAC,IAAI,MAAM,gCAAgC,MAAM,6DAA6D,MAAM,oBAAoB;gBACzI,CAAC,CAAC,mCAAmC,GAAG,CAAC,QAAQ,mFAAmF,CAAC;YACzI,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,IAAI,GAAG,EAAE;gBACtD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC,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;AAsDD,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,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM;QACvJ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;QACjB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;QACzB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;KAC9B,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"trust.js","sourceRoot":"","sources":["trust.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,10 @@ export interface TrustFinding {
|
|
|
72
72
|
* viewer can offer to trust the sender when that relay signs for it
|
|
73
73
|
* (allowlist.jsonc `trustedSendersVia`). (2026-09-10) */
|
|
74
74
|
senderVia?: string;
|
|
75
|
+
/** The proved sender domain whose trust would clear this finding — set
|
|
76
|
+
* on a redirector warning when the sender is proved but not yet on the
|
|
77
|
+
* reader's list, so the viewer can offer "Stop warning about". (2026-09-11) */
|
|
78
|
+
sender?: string;
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
export interface TrustInput {
|
|
@@ -1011,6 +1015,18 @@ function provedSenderDomain(input: TrustInput): string {
|
|
|
1011
1015
|
function redirectorLink(input: TrustInput): TrustFinding {
|
|
1012
1016
|
const bodyHtml = input.bodyHtml || "";
|
|
1013
1017
|
const senderDomain = provedSenderDomain(input);
|
|
1018
|
+
// 5. (2026-09-11) The proved sender is one the reader trusts. The
|
|
1019
|
+
// finding's own words were "only the sender could vouch for the
|
|
1020
|
+
// link" — and the reader has vouched for the sender. A Toast receipt
|
|
1021
|
+
// (dmarc=pass toasttab.com, toasttab.com on Bob's list) links through
|
|
1022
|
+
// toasttakeout.page.link, Firebase's per-app redirector, to
|
|
1023
|
+
// toasttakeout.com: two organisations by hostname, nobody signed for
|
|
1024
|
+
// page.link, the sender is neither — rules 1 to 4 all miss, and
|
|
1025
|
+
// Bob: "I trust toasttakeout.com. There should be a trust button."
|
|
1026
|
+
// Trust counts only with proof, as everywhere else: without the
|
|
1027
|
+
// server's pass the list would be a switch a forger flips by typing a
|
|
1028
|
+
// trusted domain into From.
|
|
1029
|
+
if (senderDomain && input.senderTrusted) return null;
|
|
1014
1030
|
// 3. (2026-09-08) The redirector belongs to a reader-listed intermediary
|
|
1015
1031
|
// that provably handled the message. Google Calendar wraps every link
|
|
1016
1032
|
// in an invitation as google.com/url?q=…, signs the mail d=google.com,
|
|
@@ -1039,13 +1055,16 @@ function redirectorLink(input: TrustInput): TrustFinding {
|
|
|
1039
1055
|
// Which party, and how — or why there is no party (Bob 2026-09-08).
|
|
1040
1056
|
const how = signer
|
|
1041
1057
|
? ` ${signer} signed this message; "Trust ${signer} as an intermediary" stops this warning for links through ${signer} in mail it signs.`
|
|
1042
|
-
:
|
|
1058
|
+
: senderDomain
|
|
1059
|
+
? ` Nobody signed this message for ${url.hostname}, so there is no intermediary to trust; ${senderDomain} proved it sent this, and "Stop warning about *@${senderDomain}" lets it vouch for its own links.`
|
|
1060
|
+
: ` Nobody signed this message for ${url.hostname}, so there is no intermediary to trust; only the sender could vouch for the link, and nothing proves who the sender is.`;
|
|
1043
1061
|
return {
|
|
1044
1062
|
id: "redirector-link",
|
|
1045
1063
|
severity: "caution",
|
|
1046
1064
|
text: `A link hides where it goes: it passes through ${url.hostname} and ends at ${target.hostname}.`,
|
|
1047
1065
|
detail: `${url.hostname} -> ${target.hostname}.${how}`,
|
|
1048
1066
|
...(signer ? { via: signer } : {}),
|
|
1067
|
+
...(senderDomain && !signer ? { sender: senderDomain } : {}),
|
|
1049
1068
|
};
|
|
1050
1069
|
}
|
|
1051
1070
|
}
|