@clien-ai/mcp 0.10.9 → 0.11.0
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/CHANGELOG.md +102 -0
- package/README.md +8 -3
- package/dist/tools/market-sizing-proof.js +69 -4
- package/dist/tools/market-sizing-proof.js.map +1 -1
- package/dist/tools/personas.js +9 -2
- package/dist/tools/personas.js.map +1 -1
- package/dist/tools/receipt-children.js +127 -0
- package/dist/tools/receipt-children.js.map +1 -0
- package/dist/tools/registry.js +36 -4
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/render-safety.js +80 -0
- package/dist/tools/render-safety.js.map +1 -1
- package/dist/tools/report-digest.js +444 -18
- package/dist/tools/report-digest.js.map +1 -1
- package/dist/tools/scoped-research.js +29 -8
- package/dist/tools/scoped-research.js.map +1 -1
- package/dist/types/report.js +312 -16
- package/dist/types/report.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Receipt CHILDREN — resolving a claim's `receiptId` to the one excerpt it addresses
|
|
3
|
+
* (FUL-685 / T8, spec in FUL-711; the rule itself is D15).
|
|
4
|
+
*
|
|
5
|
+
* ## The rule, stated once
|
|
6
|
+
*
|
|
7
|
+
* For a multi-receipt artifact — today, an accepted Reddit thread whose one permalink
|
|
8
|
+
* legitimately yields several bounded excerpts — `sourceId` locates the source PARENT and
|
|
9
|
+
* `receiptId` locates its exact CHILD. **Both must resolve and agree, or grounding fails
|
|
10
|
+
* closed.** This module is the "agree" half; the caller has already resolved the parent.
|
|
11
|
+
*
|
|
12
|
+
* ```text
|
|
13
|
+
* claim.sourceId ──▶ personas[i].sources[j] (the parent — positional, RCP-p{i}-s{j})
|
|
14
|
+
* claim.receiptId ──▶ └─ receipts[] where .receiptId === id (the child — content-addressed)
|
|
15
|
+
* both, or neither
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* ## Why this is a copy and not an import
|
|
19
|
+
*
|
|
20
|
+
* `parseReceiptId` / `resolveSourceReceipt` in `app/lib/validation/claim-states.ts` are the
|
|
21
|
+
* same two functions. `@clien-ai/mcp` is a separately published package with its own lockfile and
|
|
22
|
+
* cannot import from `app/`, so the behaviour is mirrored and the drift is caught rather than
|
|
23
|
+
* trusted: the GRAMMAR is pinned across app, MCP and the `persona_source_receipts.receipt_id` SQL
|
|
24
|
+
* CHECK by `__tests__/integration/mcp/receipt-id-grammar-coupling.test.ts`, and the BEHAVIOUR by a
|
|
25
|
+
* case-for-case twin of the app's `receipt-child-resolution.test.ts` in
|
|
26
|
+
* `mcp/__tests__/receipt-children.test.ts`.
|
|
27
|
+
*
|
|
28
|
+
* ## Reads defensively, like the rest of the digest
|
|
29
|
+
*
|
|
30
|
+
* `getReport` passes the RAW payload through when `ResearchReportDataSchema` rejects it, so
|
|
31
|
+
* `receipts` may be any shape at all here. Every accessor answers "or nothing"; a corrupt
|
|
32
|
+
* array degrades to "no children", and a claim naming one of them then fails closed.
|
|
33
|
+
*/
|
|
34
|
+
import { hasVisibleContent } from './render-safety.js';
|
|
35
|
+
/**
|
|
36
|
+
* Parse an `rr{version}:{16 hex}` receipt-child id, or `null` if malformed.
|
|
37
|
+
*
|
|
38
|
+
* The format is produced by `deriveReceiptId` (`agent/src/reddit-source-text.ts`), which hashes
|
|
39
|
+
* a versioned canonical tuple of (normalized source URL, exact excerpt text). The version
|
|
40
|
+
* prefix is part of the identity on purpose: a future derivation change bumps it rather than
|
|
41
|
+
* silently colliding with keys minted under the old rule — which is why `rr10:` has to parse.
|
|
42
|
+
*
|
|
43
|
+
* ⚠️ A THIRD NAMESPACE, deliberately not a third spelling of `sourceId`. `RCP-p{i}-s{j}` and
|
|
44
|
+
* `RRCP-s{n}` are POSITIONAL indices into a report's arrays; this one is CONTENT-ADDRESSED and
|
|
45
|
+
* has no positional meaning at all. A parser that accepted either would let a claim address an
|
|
46
|
+
* array slot as if it were a receipt.
|
|
47
|
+
*/
|
|
48
|
+
export function parseReceiptId(receiptId) {
|
|
49
|
+
if (typeof receiptId !== 'string')
|
|
50
|
+
return null;
|
|
51
|
+
const match = /^(rr[1-9]\d*):([0-9a-f]{16})$/.exec(receiptId);
|
|
52
|
+
if (!match || match[1] === undefined || match[2] === undefined)
|
|
53
|
+
return null;
|
|
54
|
+
return { version: match[1], digest: match[2] };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Resolve a claim's `receiptId` to the exact receipt CHILD under a given source PARENT, or
|
|
58
|
+
* `undefined` when it cannot be resolved unambiguously.
|
|
59
|
+
*
|
|
60
|
+
* ⚠️ EVERY REFUSAL IS DELIBERATE, and none of them repairs anything:
|
|
61
|
+
*
|
|
62
|
+
* - **absent id** → `undefined`. A legacy claim omits `receiptId` and keeps its existing
|
|
63
|
+
* positional single-quote behaviour. The CALLER must tell that case (no id) apart from a
|
|
64
|
+
* present-but-unresolvable one, which is a fail-closed grounding loss — this function
|
|
65
|
+
* answers `undefined` to both because it is the caller that knows which it asked about.
|
|
66
|
+
* - **malformed id** → `undefined`. Never a prefix match, never a nearest neighbour.
|
|
67
|
+
* - **parent carries no `receipts`** → `undefined`. URL association alone cannot ground a
|
|
68
|
+
* claim; a parent whose children were never persisted cannot vouch for a child id.
|
|
69
|
+
* - **dangling / cross-source id** → `undefined`. The child must live under THIS parent. An id
|
|
70
|
+
* that exists under a different source is not a near miss to be forgiven — it is the exact
|
|
71
|
+
* confusion the parent/child split exists to make impossible.
|
|
72
|
+
* - **duplicate id under one parent** → `undefined`. Two children answering to one key means
|
|
73
|
+
* the key is not an identity here, and picking either would be a coin flip presented as
|
|
74
|
+
* evidence. (The database's `UNIQUE (persona_source_id, receipt_id)` makes this unreachable
|
|
75
|
+
* for promoted rows; unpromoted staging JSONB is unconstrained.)
|
|
76
|
+
* - **excerpt with no VISIBLE content** → `undefined` (FUL-719, widened by FUL-728). `" "`
|
|
77
|
+
* clears the producer's `z.string().min(1)` and the `persona_source_receipts.excerpt`
|
|
78
|
+
* `char_length` CHECK, so a raw length test grants it — and the pool then renders an empty
|
|
79
|
+
* quote under a `[GROUNDED]` badge, which is a receipt whose evidence is the assertion that
|
|
80
|
+
* the source said nothing. ⚠️ A COLLAPSE TEST WAS HALF OF THIS. `\s` does not cover U+200B,
|
|
81
|
+
* U+2060 or U+0000, so an excerpt built only from format and control characters survived the
|
|
82
|
+
* collapse non-empty and rendered exactly the same empty quote — the guard passing on a value
|
|
83
|
+
* it was written to refuse. {@link hasVisibleContent} asks the question the collapse was
|
|
84
|
+
* standing in for.
|
|
85
|
+
*
|
|
86
|
+
* It deliberately does NOT re-derive the id from the excerpt to check it: this package has the
|
|
87
|
+
* parent row and not the normalized URL the digest was hashed from, and a half-check that
|
|
88
|
+
* looked like a full one would be worse than none. Re-derivation is the producer's job.
|
|
89
|
+
*/
|
|
90
|
+
export function resolveSourceReceipt(receipts, receiptId) {
|
|
91
|
+
if (!parseReceiptId(receiptId))
|
|
92
|
+
return undefined;
|
|
93
|
+
if (!Array.isArray(receipts) || receipts.length === 0)
|
|
94
|
+
return undefined;
|
|
95
|
+
const matches = [];
|
|
96
|
+
for (const raw of receipts) {
|
|
97
|
+
if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
|
|
98
|
+
continue;
|
|
99
|
+
const child = raw;
|
|
100
|
+
if (child.receiptId !== receiptId)
|
|
101
|
+
continue;
|
|
102
|
+
// A child with no readable excerpt is not a usable receipt — but it IS a match on the key,
|
|
103
|
+
// so it still counts toward the duplicate check below. Dropping it here instead would let a
|
|
104
|
+
// `{receiptId}`-only twin hide a genuine collision and hand back the other one as if the key
|
|
105
|
+
// were unique.
|
|
106
|
+
const excerpt = typeof child.excerpt === 'string' ? child.excerpt : '';
|
|
107
|
+
matches.push({ receiptId: receiptId, excerpt });
|
|
108
|
+
}
|
|
109
|
+
const only = matches.length === 1 ? matches[0] : undefined;
|
|
110
|
+
if (!only)
|
|
111
|
+
return undefined;
|
|
112
|
+
// ⚠️ VISIBLE CONTENT, NOT MERE LENGTH (FUL-719, widened by FUL-728 and FUL-732). `" "` clears the
|
|
113
|
+
// producer's `z.string().min(1)` and the `persona_source_receipts.excerpt` `char_length` CHECK,
|
|
114
|
+
// so a raw length test grants the receipt — and `clipReceiptQuote` then renders it as nothing, so
|
|
115
|
+
// the pool prints `↳ rr1:… — ""` under a `[GROUNDED]` badge: a receipt whose evidence is the
|
|
116
|
+
// assertion that the source said nothing. Failing closed here loses the receipt instead, and
|
|
117
|
+
// the caller renders `receipt unavailable; do not cite` (D13/D15).
|
|
118
|
+
//
|
|
119
|
+
// ⚠️ AND `collapseWhitespace(...).length > 0` WAS NOT THE SAME TEST. It refused `" "` and
|
|
120
|
+
// granted `"\u200b"` — a zero-width space is not `\s`, so it survives the collapse with length 1
|
|
121
|
+
// and prints the identical empty quote. Same for U+0000 and U+2060, and all three clear
|
|
122
|
+
// `.min(1)` and the SQL CHECK for the same reason. The refusal is about what a reader can SEE,
|
|
123
|
+
// and only {@link hasVisibleContent} states it that way; the collapse was a proxy that happened
|
|
124
|
+
// to cover the first case anyone constructed.
|
|
125
|
+
return hasVisibleContent(only.excerpt) ? only : undefined;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=receipt-children.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-children.js","sourceRoot":"","sources":["../../src/tools/receipt-children.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,SAAkB;IAC/C,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC9C,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC7D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3E,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAChD,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAiB,EACjB,SAAkB;IAElB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAEvE,MAAM,OAAO,GAAmB,EAAE,CAAA;IAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC3E,MAAM,KAAK,GAAG,GAA8B,CAAA;QAC5C,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,SAAQ;QAC3C,2FAA2F;QAC3F,4FAA4F;QAC5F,6FAA6F;QAC7F,eAAe;QACf,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;QACtE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAmB,EAAE,OAAO,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,oGAAoG;IACpG,gGAAgG;IAChG,kGAAkG;IAClG,6FAA6F;IAC7F,6FAA6F;IAC7F,mEAAmE;IACnE,EAAE;IACF,4FAA4F;IAC5F,iGAAiG;IACjG,wFAAwF;IACxF,+FAA+F;IAC/F,gGAAgG;IAChG,8CAA8C;IAC9C,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3D,CAAC"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -168,6 +168,26 @@ const RECEIPT_ELIGIBILITY_ADVERT = 'Raw typed `report_data` states, source ids,
|
|
|
168
168
|
'and receipt arrow authorize Cited: the digest must resolve a canonical, spine-owned pointer ' +
|
|
169
169
|
'to a safe reachable HTTP(S) destination. Dangling, malformed, cross-persona, unsafe, ' +
|
|
170
170
|
'credentialed, or incomplete pointers degrade without an arrow and MUST NOT be cited. ';
|
|
171
|
+
/**
|
|
172
|
+
* FUL-685 (T8 / D15): the receipt-CHILD half of the arrow, shared by the three tools that render
|
|
173
|
+
* the digest.
|
|
174
|
+
*
|
|
175
|
+
* ⚠️ ONE CONSTANT, THREE ADVERTS. Every tool that composes a full report describes the same
|
|
176
|
+
* digest, and this package has already shipped the failure where two of them described one tier
|
|
177
|
+
* with two different words (FUL-363/416) — an agent keying on the advert's vocabulary then finds
|
|
178
|
+
* nothing in the payload. A hand-copied fourth spelling is how that recurs.
|
|
179
|
+
*
|
|
180
|
+
* ⚠️ THE WORD IS `excerpt`. The provider behind the multi-excerpt path transforms the text it
|
|
181
|
+
* returns (FUL-697 measured a deleted paragraph break and a hyperlink replaced by the literal
|
|
182
|
+
* token `URL`), so an advert promising a speaker's exact words would be a false claim about the
|
|
183
|
+
* payload — on an input description, which is its own audit boundary and is read before the agent
|
|
184
|
+
* decides what to do.
|
|
185
|
+
*/
|
|
186
|
+
const RECEIPT_CHILD_ADVERT = 'One discussion can carry several bounded excerpts. A claim addressing one shows a second id ' +
|
|
187
|
+
'after "·" (form "rr1:<16 hex>"), and the receipt pool hangs that excerpt off the source row on ' +
|
|
188
|
+
'its own "↳" line: read THAT line, not the row\'s first excerpt, as what the claim was checked ' +
|
|
189
|
+
'against. These are excerpts from a discussion, never a speaker\'s exact words. A claim whose ' +
|
|
190
|
+
'second id does not resolve under its own source loses the arrow entirely and MUST NOT be cited. ';
|
|
171
191
|
/** FUL-626: shared model-visible contract for every tool that composes a full report. */
|
|
172
192
|
export const HYPOTHESIS_SCOPE_CAVEAT_ADVERT = 'The digest also reports hypothesis robustness: when a verdict FLIPPED under rephrasing it ' +
|
|
173
193
|
'names the downgraded verdict to act on. Each re-tested row quotes the hypothesis statement ' +
|
|
@@ -200,7 +220,9 @@ export const TOOLS = [
|
|
|
200
220
|
'report_data carries this same typed TRUST layer: ' +
|
|
201
221
|
'(1) `claims[]` — each has a stored GROUNDED / SPECULATION / NO_RECEIPT state and may carry a ' +
|
|
202
222
|
'`sourceId` of the form "RCP-p{i}-s{j}" into `personas[i].sources[j]`; use the digest, not this ' +
|
|
203
|
-
'raw pointer, to decide whether the claim earned Cited.
|
|
223
|
+
'raw pointer, to decide whether the claim earned Cited. ' +
|
|
224
|
+
RECEIPT_CHILD_ADVERT +
|
|
225
|
+
'NO_RECEIPT can mean a bad claim OR ' +
|
|
204
226
|
'merely sparse evidence — cross-check `personas[].insufficientEvidence` / `sourcesFound` before ' +
|
|
205
227
|
'discounting it. ' +
|
|
206
228
|
'(2) `hypothesisResults[].robustness` — how many reworded re-asks a verdict survived (`survived`/`total`, ' +
|
|
@@ -262,6 +284,9 @@ export const TOOLS = [
|
|
|
262
284
|
'If the job is complete, returns the full markdown report — followed in the same text by the ' +
|
|
263
285
|
'same machine-checked TRUST DIGEST `clien_research` renders (claim states + receipt ids, ' +
|
|
264
286
|
'QA-flagged personas, and the anti-sycophancy readout). ' +
|
|
287
|
+
// FUL-685: the third advert for one digest. Same constant, because the same server
|
|
288
|
+
// describing one mechanism three ways is the FUL-363/416 defect this file has already shipped.
|
|
289
|
+
RECEIPT_CHILD_ADVERT +
|
|
265
290
|
HYPOTHESIS_SCOPE_CAVEAT_ADVERT +
|
|
266
291
|
// FUL-560 — third renderer of the same digest; see the note on `clien_research` above.
|
|
267
292
|
`The digest also states ${CONTENT_TYPE_DIGEST_ADVERT} ` +
|
|
@@ -376,7 +401,11 @@ export const TOOLS = [
|
|
|
376
401
|
'NOT a generic web search; frame the topic as a user problem/audience for the best threads. ' +
|
|
377
402
|
'CHECK THE FREE READ FIRST: `list_community_signals` returns the threads a project has ' +
|
|
378
403
|
'already accumulated across every past run and the web app, at no credit cost — including ' +
|
|
379
|
-
|
|
404
|
+
// FUL-685: `verbatim` retired here. `relevantQuotes[]` is fed by more than one retrieval
|
|
405
|
+
// rail, and the Reddit rail's own contract note records the provider transforming the text
|
|
406
|
+
// it returns (FUL-697). "Cached excerpt" is true of every rail; "verbatim" is not, and this
|
|
407
|
+
// is an advert an agent reads before it decides what to quote.
|
|
408
|
+
'each thread\'s cached `relevantQuotes[]` excerpts, the same field this tool returns. Read it ' +
|
|
380
409
|
'(or `get_project`) before spending here, so you do not pay to rediscover user voice the ' +
|
|
381
410
|
'project already holds. Use this tool when you need FRESH threads or the project has none yet. ' +
|
|
382
411
|
// FUL-536. Same reason `list_community_signals` states this below: a tool description is an
|
|
@@ -648,6 +677,7 @@ export const TOOLS = [
|
|
|
648
677
|
RECEIPT_ELIGIBILITY_ADVERT +
|
|
649
678
|
'(1) the persona claim spine — every claim\'s rendered GROUNDED / SPECULATION / NO_RECEIPT state; ' +
|
|
650
679
|
'only an eligible Cited row has a "RCP-p{i}-s{j}" receipt arrow into the pool below it. ' +
|
|
680
|
+
RECEIPT_CHILD_ADVERT +
|
|
651
681
|
'NO_RECEIPT can mean a bad claim OR merely sparse evidence, so check that persona\'s ' +
|
|
652
682
|
'`insufficientEvidence` / `sourcesFound` line before discounting it. ' +
|
|
653
683
|
'(2) the SEPARATE market/competitor spine — same three rendered states; eligible Cited rows ' +
|
|
@@ -806,8 +836,10 @@ export const TOOLS = [
|
|
|
806
836
|
'run and the web app — so unlike `get_report` (one run\'s view) or `search_forums` (a ' +
|
|
807
837
|
'fresh, credit-debiting scan), it answers "what user voice has this project already ' +
|
|
808
838
|
'collected?" for free. Check here BEFORE running `search_forums` to avoid paying to ' +
|
|
809
|
-
|
|
810
|
-
|
|
839
|
+
// FUL-685: `verbatim` retired for the reason `search_forums` above gives — one field, more
|
|
840
|
+
// than one retrieval rail, and only "excerpt" is true of all of them.
|
|
841
|
+
'rediscover threads you already have. Each signal\'s `relevantQuotes[]` are the user-voice ' +
|
|
842
|
+
'excerpts cached at collection — the same field `search_forums` returns — so ' +
|
|
811
843
|
'they stay readable even if the thread later disappears. ' +
|
|
812
844
|
'ORDERING differs from `list_competitors` on purpose: this feed is ordered by when the ' +
|
|
813
845
|
'project FIRST saw a thread and that order is STABLE — a thread a later run sees again ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,oBAAoB,CAAA;AACzE,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,0BAA0B,EAC1B,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,sCAAsC,EACtC,2BAA2B,GAC5B,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,uBAAuB,EACvB,YAAY,GACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,uBAAuB,EACvB,YAAY,EACZ,qBAAqB,EACrB,UAAU,GACX,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,+BAA+B,EAC/B,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,GACV,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,oCAAoC,EACpC,wBAAwB,EACxB,oCAAoC,EACpC,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAiD5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAS,UAAU,CACjB,GAAsF;IAEtF,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAA;IAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAA;IACzB,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAA;IAC5B,OAAO;QACL,GAAG,GAAG;QACN,YAAY;QACZ,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAA;YAC3E,IAAI,CAAC,YAAY;gBAAE,OAAO,MAAM,CAAA;YAChC,OAAO,EAAE,GAAG,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAA;QACzF,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,6BAA6B,GACjC,kFAAkF,CAAA;AAEpF,MAAM,+BAA+B,GACnC,iFAAiF;IACjF,6FAA6F;IAC7F,2EAA2E;IAC3E,6BAA6B,CAAA;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAC7C,yDAAyD;IACzD,0FAA0F;IAC1F,6FAA6F,CAAA;AAE/F;;;;;;;;;;;;;GAaG;AACH,MAAM,6BAA6B,GACjC,0FAA0F;IAC1F,6FAA6F;IAC7F,6FAA6F;IAC7F,8FAA8F;IAC9F,8FAA8F;IAC9F,6BAA6B,CAAA;AAE/B,4FAA4F;AAC5F,MAAM,mCAAmC,GACvC,yFAAyF;IACzF,uFAAuF;IACvF,6BAA6B,CAAA;AAE/B;;;;;GAKG;AACH,MAAM,kCAAkC,GACtC,4FAA4F;IAC5F,8FAA8F;IAC9F,+FAA+F;IAC/F,6BAA6B,CAAA;AAE/B,MAAM,gCAAgC,GACpC,mDAAmD;IACnD,6FAA6F;IAC7F,6BAA6B,CAAA;AAE/B,sFAAsF;AACtF,MAAM,0BAA0B,GAC9B,8FAA8F;IAC9F,iGAAiG;IACjG,6FAA6F;IAC7F,0FAA0F;IAC1F,gGAAgG;IAChG,8FAA8F;IAC9F,6FAA6F;IAC7F,+FAA+F;IAC/F,6EAA6E,CAAA;AAE/E,MAAM,0BAA0B,GAC9B,iFAAiF;IACjF,gGAAgG;IAChG,8FAA8F;IAC9F,uFAAuF;IACvF,uFAAuF,CAAA;AAEzF;;;;;;;;;;;;;;GAcG;AACH,MAAM,oBAAoB,GACxB,8FAA8F;IAC9F,iGAAiG;IACjG,gGAAgG;IAChG,+FAA+F;IAC/F,kGAAkG,CAAA;AAEpG,yFAAyF;AACzF,MAAM,CAAC,MAAM,8BAA8B,GACzC,4FAA4F;IAC5F,6FAA6F;IAC7F,+FAA+F;IAC/F,2FAA2F;IAC3F,+FAA+F;IAC/F,6CAA6C,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAqB;IACrC,UAAU,CAAC;QACT,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,uFAAuF;YACvF,mFAAmF;YACnF,2FAA2F;YAC3F,6FAA6F;YAC7F,8FAA8F;YAC9F,8BAA8B;YAC9B,sEAAsE;YACtE,6FAA6F;YAC7F,4FAA4F;YAC5F,8FAA8F;YAC9F,6FAA6F;YAC7F,6FAA6F;YAC7F,0BAA0B,0BAA0B,GAAG;YACvD,0BAA0B;YAC1B,oFAAoF;YACpF,0DAA0D;YAC1D,6FAA6F;YAC7F,oDAAoD;YACpD,0BAA0B;YAC1B,mDAAmD;YACnD,+FAA+F;YAC/F,iGAAiG;YACjG,yDAAyD;YACzD,oBAAoB;YACpB,qCAAqC;YACrC,iGAAiG;YACjG,kBAAkB;YAClB,2GAA2G;YAC3G,sGAAsG;YACtG,sBAAsB;YACtB,sGAAsG;YACtG,gGAAgG;YAChG,8FAA8F;YAC9F,iGAAiG;YACjG,sHAAsH;YACtH,iGAAiG;YACjG,8BAA8B;YAC9B,oGAAoG;YACpG,iGAAiG;YACjG,2FAA2F;YAC3F,gGAAgG;YAChG,sDAAsD;YACtD,8EAA8E;YAC9E,0FAA0F;YAC1F,2FAA2F;YAC3F,mCAAmC;YACnC,kFAAkF;YAClF,2FAA2F;YAC3F,mGAAmG;YACnG,sGAAsG;YACtG,8FAA8F;YAC9F,2EAA2E;YAC3E,qGAAqG;YACrG,qGAAqG;YACrG,+BAA+B;YAC/B,MAAM,GAAG,+BAA+B;YACxC,kCAAkC;YAClC,4CAA4C;YAC5C,0CAA0C;YAC1C,6FAA6F;YAC7F,qGAAqG;YACrG,+FAA+F;YAC/F,iFAAiF;YACjF,2EAA2E;YAC3E,4FAA4F;YAC5F,0FAA0F;YAC1F,yEAAyE;YACzE,wGAAwG;YACxG,uFAAuF;YACvF,uGAAuG;YACvG,2FAA2F;YAC3F,0FAA0F;YAC1F,0FAA0F;YAC1F,mFAAmF;YACnF,6EAA6E;QAC/E,SAAS,EAAE,mBAAmB;QAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;KACjD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,2EAA2E;YAC3E,gFAAgF;YAChF,iFAAiF;YACjF,8FAA8F;YAC9F,0FAA0F;YAC1F,yDAAyD;YACzD,mFAAmF;YACnF,+FAA+F;YAC/F,oBAAoB;YACpB,8BAA8B;YAC9B,uFAAuF;YACvF,0BAA0B,0BAA0B,GAAG;YACvD,0BAA0B;YAC1B,2FAA2F;YAC3F,QAAQ;YACR,4FAA4F;YAC5F,6EAA6E;YAC7E,+BAA+B;YAC/B,kCAAkC;YAClC,oFAAoF;YACpF,6CAA6C;YAC7C,wFAAwF;YACxF,sFAAsF;YACtF,wFAAwF;YACxF,2FAA2F;YAC3F,oEAAoE;YACpE,6CAA6C;QAC/C,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC;KACvD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,gGAAgG;YAChG,8FAA8F;YAC9F,+FAA+F;YAC/F,yFAAyF;YACzF,0FAA0F;YAC1F,4FAA4F;YAC5F,iEAAiE;YACjE,yFAAyF;YACzF,yFAAyF;YACzF,0FAA0F;YAC1F,yFAAyF;YACzF,6FAA6F;YAC7F,2FAA2F;YAC3F,0BAA0B;YAC1B,yFAAyF;YACzF,0FAA0F;YAC1F,0FAA0F;YAC1F,mFAAmF;YACnF,8FAA8F;YAC9F,oFAAoF;YACpF,wFAAwF;YACxF,iGAAiG;YACjG,8FAA8F;YAC9F,8FAA8F;YAC9F,qEAAqE;YACrE,gGAAgG;YAChG,iGAAiG;YACjG,2CAA2C;YAC3C,gGAAgG;YAChG,kGAAkG;YAClG,8EAA8E;QAChF,SAAS,EAAE,0BAA0B;QACrC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;KACrD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,2FAA2F;YAC3F,6FAA6F;YAC7F,4FAA4F;YAC5F,4FAA4F;YAC5F,6FAA6F;YAC7F,6FAA6F;YAC7F,4FAA4F;YAC5F,2FAA2F;YAC3F,sCAAsC;YACtC,wFAAwF;YACxF,0FAA0F;YAC1F,cAAc;YACd,4FAA4F;YAC5F,8FAA8F;YAC9F,oFAAoF;YACpF,8FAA8F;YAC9F,sEAAsE;YACtE,0FAA0F;YAC1F,iFAAiF;YACjF,uFAAuF;YACvF,kCAAkC;YAClC,0FAA0F;YAC1F,8FAA8F;YAC9F,eAAe;YACf,4FAA4F;YAC5F,8FAA8F;YAC9F,6FAA6F;YAC7F,eAAe;YACf,6CAA6C;YAC7C,4FAA4F;YAC5F,4FAA4F;YAC5F,mFAAmF;QACrF,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;KAChD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,sCAAsC,oBAAoB,2BAA2B;YACrF,oGAAoG;YACpG,8FAA8F;YAC9F,iGAAiG;YACjG,oEAAoE;YACpE,oFAAoF;YACpF,qCAAqC;YACrC,4FAA4F;YAC5F,iGAAiG;YACjG,yGAAyG;YACzG,yFAAyF;YACzF,wFAAwF;YACxF,8BAA8B;YAC9B,+FAA+F;YAC/F,iGAAiG;YACjG,6FAA6F;YAC7F,wFAAwF;YACxF,2FAA2F;YAC3F,yFAAyF;YACzF,2FAA2F;YAC3F,4FAA4F;YAC5F,+DAA+D;YAC/D,+FAA+F;YAC/F,0FAA0F;YAC1F,gGAAgG;YAChG,4FAA4F;YAC5F,6FAA6F;YAC7F,6FAA6F;YAC7F,2FAA2F;YAC3F,2FAA2F;YAC3F,2FAA2F;YAC3F,GAAG,6BAA6B,YAAY;YAC5C,uFAAuF;YACvF,8DAA8D;YAC9D,4FAA4F;YAC5F,2FAA2F;YAC3F,gFAAgF;YAChF,4FAA4F;YAC5F,kGAAkG;YAClG,+CAA+C;YAC/C,iGAAiG;YACjG,iGAAiG;YACjG,mEAAmE;YACnE,+EAA+E;YAC/E,6CAA6C;YAC7C,gGAAgG;YAChG,kGAAkG;YAClG,2EAA2E;QAC7E,SAAS,EAAE,uBAAuB;QAClC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;KAClD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,+EAA+E;YAC/E,oFAAoF;YACpF,uFAAuF;YACvF,yEAAyE;YACzE,wFAAwF;YACxF,6CAA6C;QAC/C,SAAS,EAAE,uBAAuB;QAClC,YAAY,EAAE,2BAA2B;QACzC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;KAClD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,+EAA+E;YAC/E,wFAAwF;YACxF,2CAA2C;YAC3C,uFAAuF;YACvF,uFAAuF;YACvF,qFAAqF;YACrF,qEAAqE;QACvE,SAAS,EAAE,wBAAwB;QACnC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;KACnD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,0FAA0F;YAC1F,kFAAkF;YAClF,mFAAmF;YACnF,gFAAgF;YAChF,oFAAoF;YACpF,gFAAgF;YAChF,2CAA2C;YAC3C,+EAA+E;YAC/E,kFAAkF;YAClF,qFAAqF;YACrF,oEAAoE;YACpE,qFAAqF;YACrF,sFAAsF;YACtF,uFAAuF;YACvF,mDAAmD;YACnD,qFAAqF;YACrF,qEAAqE;YACrE,mFAAmF;YACnF,6EAA6E;YAC7E,6EAA6E;YAC7E,+EAA+E;YAC/E,+EAA+E;YAC/E,qCAAqC;YACrC,mFAAmF;YACnF,sFAAsF;YACtF,kFAAkF;YAClF,qBAAqB;YACrB,iFAAiF;YACjF,mFAAmF;YACnF,qFAAqF;YACrF,oFAAoF;YACpF,oDAAoD;QACtD,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;KAChD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,+EAA+E;YAC/E,sFAAsF;YACtF,yDAAyD;YACzD,oEAAoE;YACpE,6EAA6E;YAC7E,uFAAuF;YACvF,qFAAqF;YACrF,mFAAmF;YACnF,sFAAsF;YACtF,mGAAmG;YACnG,wGAAwG;YACxG,gGAAgG;YAChG,mGAAmG;YACnG,8BAA8B;QAChC,SAAS,EAAE,wBAAwB;QACnC,YAAY,EAAE,sBAAsB;QACpC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;KACnD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,gGAAgG;YAChG,gGAAgG;YAChG,gGAAgG;YAChG,+FAA+F;YAC/F,kGAAkG;YAClG,2EAA2E;YAC3E,kGAAkG;YAClG,2FAA2F;YAC3F,4FAA4F;YAC5F,8FAA8F;YAC9F,yFAAyF;YACzF,sEAAsE;YACtE,iGAAiG;YACjG,iGAAiG;YACjG,4FAA4F;YAC5F,gDAAgD;QAClD,SAAS,EAAE,0BAA0B;QACrC,YAAY,EAAE,wBAAwB;QACtC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;KACrD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,0FAA0F;YAC1F,gGAAgG;YAChG,+FAA+F;YAC/F,4FAA4F;YAC5F,2DAA2D;YAC3D,yFAAyF;YACzF,gCAAgC;YAChC,0FAA0F;YAC1F,6FAA6F;YAC7F,6FAA6F;YAC7F,+FAA+F;YAC/F,+FAA+F;YAC/F,8FAA8F;YAC9F,0FAA0F;YAC1F,wFAAwF;YACxF,yFAAyF;YACzF,0FAA0F;YAC1F,8FAA8F;YAC9F,gGAAgG;YAChG,gGAAgG;QAClG,SAAS,EAAE,wBAAwB;QACnC,YAAY,EAAE,sBAAsB;QACpC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;KACnD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,kFAAkF;YAClF,2FAA2F;YAC3F,uFAAuF;YACvF,0FAA0F;YAC1F,iDAAiD;YACjD,wFAAwF;YACxF,yFAAyF;YACzF,2FAA2F;YAC3F,yFAAyF;YACzF,sBAAsB,kCAAkC,QAAQ;YAChE,uFAAuF;YACvF,gCAAgC;YAChC,6CAA6C;QAC/C,SAAS,EAAE,uBAAuB;QAClC,YAAY,EAAE,2BAA2B;QACzC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;KAClD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,8FAA8F;YAC9F,0FAA0F;YAC1F,2FAA2F;YAC3F,wFAAwF;YACxF,qDAAqD;YACrD,sFAAsF;YACtF,6FAA6F;YAC7F,iFAAiF;YACjF,6FAA6F;YAC7F,mDAAmD,kCAAkC,IAAI;YACzF,mBAAmB;YACnB,wFAAwF;YACxF,2FAA2F;YAC3F,4FAA4F;YAC5F,uDAAuD;YACvD,mFAAmF;YACnF,yFAAyF;YACzF,eAAe;QACjB,SAAS,EAAE,qBAAqB;QAChC,YAAY,EAAE,yBAAyB;QACvC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;KAChD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,oFAAoF;YACpF,uFAAuF;YACvF,6FAA6F;YAC7F,uFAAuF;YACvF,gFAAgF;YAChF,2FAA2F;YAC3F,6EAA6E;YAC7E,8BAA8B;YAC9B,8FAA8F;YAC9F,yFAAyF;YACzF,2FAA2F;YAC3F,+FAA+F;YAC/F,8EAA8E;YAC9E,mFAAmF;YACnF,wFAAwF;YACxF,wFAAwF;YACxF,sFAAsF;YACtF,mBAAmB;QACrB,SAAS,EAAE,wBAAwB;QACnC,YAAY,EAAE,sBAAsB;QACpC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;KACnD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,gCAAgC;QACtC,WAAW,EACT,sFAAsF;YACtF,sFAAsF;YACtF,2FAA2F;YAC3F,2FAA2F;YAC3F,oFAAoF;YACpF,yFAAyF;YACzF,YAAY;YACZ,0FAA0F;YAC1F,sFAAsF;YACtF,uFAAuF;YACvF,6CAA6C;YAC7C,sFAAsF;YACtF,2FAA2F;YAC3F,2FAA2F;YAC3F,kDAAkD;YAClD,wFAAwF;YACxF,4EAA4E;QAC9E,SAAS,EAAE,sCAAsC;QACjD,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC;KACjE,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,sFAAsF;YACtF,6FAA6F;YAC7F,wEAAwE;YACxE,wEAAwE;YACxE,qFAAqF;YACrF,oFAAoF;YACpF,yFAAyF;YACzF,0DAA0D;YAC1D,6CAA6C;QAC/C,SAAS,EAAE,sBAAsB;QACjC,YAAY,EAAE,0BAA0B;QACxC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;KACjD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,mFAAmF;YACnF,2FAA2F;YAC3F,uBAAuB;YACvB,2FAA2F;YAC3F,4FAA4F;YAC5F,0BAA0B;YAC1B,mGAAmG;YACnG,yFAAyF;YACzF,oBAAoB;YACpB,sFAAsF;YACtF,sEAAsE;YACtE,6FAA6F;YAC7F,wCAAwC;YACxC,wFAAwF;YACxF,8FAA8F;YAC9F,qFAAqF;YACrF,+FAA+F;YAC/F,8FAA8F;YAC9F,yFAAyF;YACzF,6FAA6F;YAC7F,0FAA0F;YAC1F,8FAA8F;YAC9F,6FAA6F;YAC7F,sFAAsF;YACtF,qEAAqE;YACrE,OAAO,0BAA0B,GAAG;YACpC,0BAA0B;YAC1B,+FAA+F;YAC/F,6FAA6F;YAC7F,+FAA+F;YAC/F,uCAAuC;YACvC,iGAAiG;YACjG,iDAAiD;YACjD,MAAM,GAAG,8BAA8B;YACvC,gCAAgC;YAChC,mCAAmC;YACnC,2FAA2F;YAC3F,2FAA2F;YAC3F,+FAA+F;YAC/F,uEAAuE;YACvE,gDAAgD;YAChD,kFAAkF;YAClF,yFAAyF;YACzF,6EAA6E;YAC7E,2FAA2F;YAC3F,6CAA6C;QAC/C,SAAS,EAAE,oBAAoB;QAC/B,YAAY,EAAE,wBAAwB;QACtC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;KAC/C,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,qFAAqF;YACrF,yEAAyE;YACzE,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,yEAAyE;YACzE,0EAA0E;YAC1E,4DAA4D;YAC5D,sFAAsF;YACtF,qFAAqF;YACrF,wFAAwF;YACxF,sEAAsE;YACtE,6FAA6F;YAC7F,mFAAmF;YACnF,4FAA4F;YAC5F,8FAA8F;YAC9F,+FAA+F;YAC/F,+FAA+F;YAC/F,kGAAkG;YAClG,iGAAiG;YACjG,wFAAwF;YACxF,gFAAgF;YAChF,6FAA6F;YAC7F,2FAA2F;YAC3F,6FAA6F;YAC7F,qGAAqG;YACrG,4FAA4F;YAC5F,yFAAyF;YACzF,0FAA0F;YAC1F,0FAA0F;YAC1F,oFAAoF;YACpF,4EAA4E;QAC9E,SAAS,EAAE,2BAA2B;QACtC,YAAY,EAAE,yBAAyB;QACvC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;KACtD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,oFAAoF;YACpF,6FAA6F;YAC7F,2FAA2F;YAC3F,uCAAuC;YACvC,yFAAyF;YACzF,mFAAmF;YACnF,wEAAwE;YACxE,uFAAuF;YACvF,oFAAoF;YACpF,sFAAsF;YACtF,+BAA+B;QACjC,SAAS,EAAE,yBAAyB;QACpC,YAAY,EAAE,6BAA6B;QAC3C,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;KACpD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,uFAAuF;YACvF,yFAAyF;YACzF,kFAAkF;YAClF,8EAA8E;YAC9E,6BAA6B;YAC7B,wFAAwF;YACxF,yFAAyF;YACzF,wBAAwB;QAC1B,SAAS,EAAE,uBAAuB;QAClC,YAAY,EAAE,2BAA2B;QACzC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;KAClD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,kFAAkF;YAClF,kFAAkF;YAClF,iFAAiF;YACjF,kFAAkF;YAClF,yBAAyB;YACzB,8DAA8D;YAC9D,sFAAsF;YACtF,6EAA6E;YAC7E,yFAAyF;YACzF,yFAAyF;YACzF,8DAA8D;YAC9D,0EAA0E;YAC1E,2EAA2E;YAC3E,yEAAyE;YACzE,uEAAuE;YACvE,uEAAuE;YACvE,kCAAkC;YAClC,gFAAgF;YAChF,6EAA6E;YAC7E,0FAA0F;YAC1F,2FAA2F;YAC3F,kFAAkF;YAClF,oFAAoF;YACpF,4EAA4E;YAC5E,wFAAwF;YACxF,4FAA4F;YAC5F,6CAA6C;QAC/C,SAAS,EAAE,0BAA0B;QACrC,YAAY,EAAE,8BAA8B;QAC5C,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;KACrD,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,4GAA4G;YAC5G,gFAAgF;YAChF,4FAA4F;YAC5F,+FAA+F;YAC/F,yFAAyF;YACzF,oGAAoG;YACpG,0FAA0F;YAC1F,gDAAgD;YAChD,qDAAqD;YACrD,2FAA2F;YAC3F,uFAAuF;YACvF,qFAAqF;YACrF,qFAAqF;YACrF,2FAA2F;YAC3F,sEAAsE;YACtE,4FAA4F;YAC5F,8EAA8E;YAC9E,0DAA0D;YAC1D,wFAAwF;YACxF,wFAAwF;YACxF,wFAAwF;YACxF,kEAAkE;YAClE,uFAAuF;YACvF,wFAAwF;YACxF,2FAA2F;YAC3F,2EAA2E;YAC3E,GAAG,6BAA6B,GAAG;YACnC,4FAA4F;YAC5F,2FAA2F;YAC3F,gFAAgF;YAChF,6CAA6C;QAC/C,SAAS,EAAE,+BAA+B;QAC1C,YAAY,EAAE,oCAAoC;QAClD,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC;KAC1D,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,qFAAqF;YACrF,yFAAyF;YACzF,uFAAuF;YACvF,kFAAkF;YAClF,mFAAmF;YACnF,+BAA+B;YAC/B,wFAAwF;YACxF,yFAAyF;YACzF,4FAA4F;YAC5F,yFAAyF;YACzF,4FAA4F;YAC5F,2FAA2F;YAC3F,0FAA0F;YAC1F,eAAe;YACf,6EAA6E;YAC7E,sFAAsF;YACtF,0FAA0F;YAC1F,oFAAoF;YACpF,2FAA2F;YAC3F,yFAAyF;YACzF,yFAAyF;YACzF,uEAAuE;YACvE,0FAA0F;YAC1F,2FAA2F;YAC3F,4FAA4F;YAC5F,qFAAqF;YACrF,yEAAyE;YACzE,6CAA6C;QAC/C,SAAS,EAAE,oBAAoB;QAC/B,YAAY,EAAE,wBAAwB;QACtC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;KAC/C,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,yFAAyF;YACzF,mFAAmF;YACnF,iFAAiF;YACjF,0FAA0F;YAC1F,wFAAwF;YACxF,qFAAqF;YACrF,sFAAsF;YACtF,wFAAwF;YACxF,4DAA4D;YAC5D,wFAAwF;YACxF,sFAAsF;YACtF,mFAAmF;YACnF,6DAA6D;YAC7D,iEAAiE;YACjE,wFAAwF;YACxF,uFAAuF;YACvF,wFAAwF;YACxF,iEAAiE;YACjE,0FAA0F;YAC1F,sFAAsF;YACtF,uFAAuF;YACvF,mCAAmC;YACnC,kFAAkF;YAClF,yFAAyF;YACzF,2FAA2F;YAC3F,2FAA2F;YAC3F,yDAAyD;YACzD,oFAAoF;YACpF,0FAA0F;YAC1F,yDAAyD;YACzD,6CAA6C;QAC/C,SAAS,EAAE,+BAA+B;QAC1C,YAAY,EAAE,oCAAoC;QAClD,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC;KAC1D,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,oBAAoB;QAC1B,kFAAkF;QAClF,gFAAgF;QAChF,gFAAgF;QAChF,WAAW,EACT,uFAAuF;YACvF,yFAAyF;YACzF,uFAAuF;YACvF,2EAA2E;YAC3E,uFAAuF;YACvF,oCAAoC;YACpC,kDAAkD;YAClD,0FAA0F;YAC1F,yFAAyF;YACzF,0FAA0F;YAC1F,sCAAsC;YACtC,wFAAwF;YACxF,2FAA2F;YAC3F,+EAA+E;YAC/E,iCAAiC;YACjC,oFAAoF;YACpF,mFAAmF;YACnF,2FAA2F;YAC3F,2FAA2F;YAC3F,4BAA4B;YAC5B,gFAAgF;YAChF,mEAAmE;YACnE,wFAAwF;YACxF,uFAAuF;YACvF,0EAA0E;YAC1E,sFAAsF;YACtF,6CAA6C;YAC7C,sFAAsF;YACtF,wFAAwF;YACxF,6CAA6C;QAC/C,SAAS,EAAE,2BAA2B;QACtC,YAAY,EAAE,gCAAgC;QAC9C,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;KACtD,CAAC;CACH,CAAA"}
|
|
@@ -56,6 +56,20 @@ export function truncate(s, n) {
|
|
|
56
56
|
* text — measured at +8,360 bytes on a saturated fixture, which is ~14% on the
|
|
57
57
|
* ~58 KB digest FUL-243 shipped. Raising either constant raises that ceiling
|
|
58
58
|
* multiplicatively; do the arithmetic before you do.
|
|
59
|
+
*
|
|
60
|
+
* FUL-685 ADDED A SECOND CONSUMER OF THIS BUDGET, and the arithmetic that comment
|
|
61
|
+
* demands: `renderReceiptPools` now also prints one `↳` line per receipt CHILD a
|
|
62
|
+
* rendered claim addresses. ⚠️ THAT IS BOUNDED BY THE CLAIM CAP, NOT BY THE CHILD
|
|
63
|
+
* COUNT — children collapse per (source, child), so a rendered claim contributes
|
|
64
|
+
* at most one line however many excerpts its source stores. The worst case is
|
|
65
|
+
* therefore 40 × (200 + ~32 for the marker, the 20-char id, quotes and newline)
|
|
66
|
+
* ≈ 9.3 KB, plus ~23 bytes of receipt id per claim line. MEASURED at +10,521
|
|
67
|
+
* bytes on a 40-claim / 40-source fixture where every claim addresses a
|
|
68
|
+
* non-first child — the true worst case, since a claim with no `receiptId`
|
|
69
|
+
* adds nothing at all and every legacy report is therefore byte-identical.
|
|
70
|
+
* ⚠️ It is NOT 40 × `REDDIT_MAX_EXCERPTS_PER_SOURCE`: a change that started
|
|
71
|
+
* printing every STORED child rather than every ADDRESSED one would triple this
|
|
72
|
+
* and, worse, make one discussion look like several.
|
|
59
73
|
*/
|
|
60
74
|
export const RECEIPT_QUOTE_MAX = 200;
|
|
61
75
|
/**
|
|
@@ -92,6 +106,44 @@ export const RECEIPT_QUOTE_MAX = 200;
|
|
|
92
106
|
export function collapseWhitespace(s) {
|
|
93
107
|
return s.replace(/\s+/g, ' ').trim();
|
|
94
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* True only when a string would put SOMETHING ON THE SCREEN (FUL-728).
|
|
111
|
+
*
|
|
112
|
+
* ⚠️ `collapseWhitespace(s).length > 0` IS NOT THIS TEST, and the gap is a trust
|
|
113
|
+
* surface. `\s` is a bounded set — it does not include U+200B ZERO WIDTH SPACE
|
|
114
|
+
* (general category `Cf`, not a separator since Unicode 4.0.1), U+2060 WORD JOINER,
|
|
115
|
+
* U+00AD SOFT HYPHEN, or any C0 control but the five it names (`\t\n\v\f\r`). A value
|
|
116
|
+
* built from those survives the collapse with a positive length, clears a producer's
|
|
117
|
+
* `z.string().min(1)` and a database `char_length(...) > 0` CHECK, and then renders as
|
|
118
|
+
* an EMPTY pair of quotes. Every one of those checks is asking "is there text here";
|
|
119
|
+
* only this one answers it.
|
|
120
|
+
*
|
|
121
|
+
* Strips `\p{C}` — control, format, surrogate, private-use and unassigned, i.e. every
|
|
122
|
+
* code point with no glyph of its own — and `\p{Z}`, the separators, which covers the
|
|
123
|
+
* whitespace half `collapseWhitespace` already handled. Private-use and unassigned are
|
|
124
|
+
* included deliberately: both render as a replacement box, which is a mark on the page
|
|
125
|
+
* but not evidence, and a receipt whose whole content is tofu supports no claim.
|
|
126
|
+
*
|
|
127
|
+
* ⚠️ AND `\p{C}` + `\p{Z}` IS STILL NOT THE WHOLE INVISIBLE SET (FUL-732). Invisibility is
|
|
128
|
+
* not a general category — it is the `Default_Ignorable_Code_Point` PROPERTY, and its
|
|
129
|
+
* members are spread across categories the two above do not reach: U+FE0F VARIATION
|
|
130
|
+
* SELECTOR-16 and U+180B are `Mn`, U+034F COMBINING GRAPHEME JOINER is `Mn`, U+3164
|
|
131
|
+
* HANGUL FILLER is `Lo`. A quote built only from those cleared this predicate and printed
|
|
132
|
+
* the same empty pair of quotes beneath a GROUNDED or cited marker — the FUL-728 defect
|
|
133
|
+
* one Unicode class further out, at every one of this function's four call sites.
|
|
134
|
+
*
|
|
135
|
+
* ⚠️ A UNION, NOT A SWAP, in either direction. `\p{Default_Ignorable_Code_Point}` matches
|
|
136
|
+
* neither U+0000 nor U+0020 nor U+00A0, so it does not contain what `\p{C}`/`\p{Z}` cover;
|
|
137
|
+
* and `\p{M}` is NOT the fix that suggests itself from "U+FE0F is a mark" — it would strip
|
|
138
|
+
* the combining accents off legible text and start refusing real evidence. Ask for the
|
|
139
|
+
* property that means what this function means.
|
|
140
|
+
*
|
|
141
|
+
* Strictly stronger than the collapse test, so it can replace one without widening
|
|
142
|
+
* anything: every string this rejects, the collapse test rejected or should have.
|
|
143
|
+
*/
|
|
144
|
+
export function hasVisibleContent(s) {
|
|
145
|
+
return s.replace(/[\p{C}\p{Z}\p{Default_Ignorable_Code_Point}]/gu, '').length > 0;
|
|
146
|
+
}
|
|
95
147
|
/**
|
|
96
148
|
* A value made safe to interpolate into ONE LINE of a line-structured render:
|
|
97
149
|
* collapsed, bounded, and `null` when there is nothing to say.
|
|
@@ -401,6 +453,34 @@ function locateSpan(flat, span) {
|
|
|
401
453
|
return -1;
|
|
402
454
|
return foldedFlat.indexOf(foldedSpan);
|
|
403
455
|
}
|
|
456
|
+
/**
|
|
457
|
+
* Whether `text` demonstrably CONTAINS `span` — the containment half of a receipt
|
|
458
|
+
* grant, answered by the same lookup that would window it (FUL-728).
|
|
459
|
+
*
|
|
460
|
+
* ⚠️ IT MUST BE {@link locateSpan}, NOT A SECOND OPINION. A caller that granted a
|
|
461
|
+
* badge on `indexOf` and then rendered through `clipReceiptQuote` would be making two
|
|
462
|
+
* different claims about one string: "the excerpt contains the span" and, from the
|
|
463
|
+
* head clip that follows an unlocatable span, "here is the excerpt, unwindowed". One
|
|
464
|
+
* lookup makes the badge and the visible support answer together by construction —
|
|
465
|
+
* if this renderer cannot find the span, no caller may say the excerpt shows it.
|
|
466
|
+
*
|
|
467
|
+
* Collapses both sides first for {@link clipReceiptQuote}'s reason: `collapseWhitespace`
|
|
468
|
+
* RESHAPES the string, so a span carrying its own line break exists only in the raw
|
|
469
|
+
* text and would never be found against the collapsed haystack.
|
|
470
|
+
*
|
|
471
|
+
* ⚠️ FALSE IS "NOT DEMONSTRABLE HERE", NOT "ABSENT". A fuzzy-only match (the
|
|
472
|
+
* verifier's 0.95 tier) and a normalization that shifts lengths both answer `false`,
|
|
473
|
+
* because `locateSpan` refuses an offset it cannot trust. That is the fail-closed
|
|
474
|
+
* direction on purpose: a receipt this package cannot show the span inside is a
|
|
475
|
+
* receipt it must not present as showing it.
|
|
476
|
+
*/
|
|
477
|
+
export function containsSpan(text, span) {
|
|
478
|
+
const flat = collapseWhitespace(text);
|
|
479
|
+
const needle = collapseWhitespace(span);
|
|
480
|
+
if (!needle)
|
|
481
|
+
return false;
|
|
482
|
+
return locateSpan(flat, needle) !== -1;
|
|
483
|
+
}
|
|
404
484
|
/**
|
|
405
485
|
* Render the first usable quote from a cached list, and say how many were held back (FUL-257).
|
|
406
486
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-safety.js","sourceRoot":"","sources":["../../src/tools/render-safety.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,UAAU,QAAQ,CAAC,CAAS,EAAE,CAAS;IAC3C,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;AACpD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"render-safety.js","sourceRoot":"","sources":["../../src/tools/render-safety.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,UAAU,QAAQ,CAAC,CAAS,EAAE,CAAS;IAC3C,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,OAAO,CAAC,CAAC,OAAO,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AACnF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,GAAG,GAAG,GAAG;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1C,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACtC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAA;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,UAAU,MAAM,CAAC,KAAc,EAAE,GAAG,GAAG,MAAM;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5D,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAA;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc,EAAE,MAAM,GAAG,YAAY;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1C,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAClE,8EAA8E;IAC9E,6EAA6E;IAC7E,qCAAqC;IACrC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,CAAA;IACzD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACnC,kFAAkF;IAClF,4EAA4E;IAC5E,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;SACxF,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,KAAwB,EAAE,GAAW;IACnF,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACtC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAA;IAEnC,+EAA+E;IAC/E,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAA;IAExB,MAAM,OAAO,GAA0C,EAAE,CAAA;IACzD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACjC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAQ;QACvB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAE/F,2EAA2E;IAC3E,+EAA+E;IAC/E,gFAAgF;IAChF,gDAAgD;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAE7E,IAAI,IAAI,GAA6C,IAAI,CAAA;IACzD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,8EAA8E;QAC9E,0EAA0E;QAC1E,+EAA+E;QAC/E,wEAAwE;QACxE,8EAA8E;QAC9E,mEAAmE;QACnE,2EAA2E;QAC3E,2CAA2C;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG;YACjB,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,iCAAiC;YACjF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,4CAA4C;YACpE,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,4CAA4C;SAC1E,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,8EAA8E;YAC9E,4EAA4E;YAC5E,6EAA6E;YAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;YAC5D,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAA;YACzB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAA;YAC5E,IACE,IAAI,KAAK,IAAI;gBACb,OAAO,GAAG,IAAI,CAAC,OAAO;gBACtB,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAC9C,CAAC;gBACD,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,iFAAiF;IACjF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAA;AACrD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACtD,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC,CAAA;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACtD,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC,CAAA;IAChD,OAAO,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAY;IACrD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACvC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA4C,EAC5C,GAAW;IAEX,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACtC,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IAC9F,mFAAmF;IACnF,6EAA6E;IAC7E,gFAAgF;IAChF,yBAAyB;IACzB,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAA;IACnC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACxF,CAAC"}
|