@inkbox/cli 0.7.2 → 0.7.3
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/README.md +138 -0
- package/dist/client.js +3 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/a2a.js +2 -1
- package/dist/commands/a2a.js.map +1 -1
- package/dist/commands/companion.js +63 -0
- package/dist/commands/companion.js.map +1 -0
- package/dist/commands/contacts.js +36 -16
- package/dist/commands/contacts.js.map +1 -1
- package/dist/commands/email.js +6 -5
- package/dist/commands/email.js.map +1 -1
- package/dist/commands/identity.js +48 -8
- package/dist/commands/identity.js.map +1 -1
- package/dist/commands/imessage.js +11 -4
- package/dist/commands/imessage.js.map +1 -1
- package/dist/commands/mailbox.js +18 -5
- package/dist/commands/mailbox.js.map +1 -1
- package/dist/commands/notes.js +3 -2
- package/dist/commands/notes.js.map +1 -1
- package/dist/commands/number.js +17 -5
- package/dist/commands/number.js.map +1 -1
- package/dist/commands/phone.js +2 -1
- package/dist/commands/phone.js.map +1 -1
- package/dist/commands/signup.js +18 -17
- package/dist/commands/signup.js.map +1 -1
- package/dist/commands/text.js +3 -2
- package/dist/commands/text.js.map +1 -1
- package/dist/commands/vault.js +5 -4
- package/dist/commands/vault.js.map +1 -1
- package/dist/commands/webhook.js +3 -2
- package/dist/commands/webhook.js.map +1 -1
- package/dist/contact-rules.js +25 -0
- package/dist/contact-rules.js.map +1 -0
- package/dist/errors.js +64 -54
- package/dist/errors.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/output.js +12 -0
- package/dist/output.js.map +1 -1
- package/dist/response-metadata.js +54 -0
- package/dist/response-metadata.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -16,6 +16,66 @@ npx @inkbox/cli <command>
|
|
|
16
16
|
|
|
17
17
|
Requires Node.js >= 22.
|
|
18
18
|
|
|
19
|
+
## Companion mode
|
|
20
|
+
|
|
21
|
+
Companion mode is off by default, separate from whitelist/blacklist settings.
|
|
22
|
+
Eligibility requires active exact email/number allow rules covering both
|
|
23
|
+
directions, either one Both rule or two applicable one-way allows. It is per
|
|
24
|
+
normalized identifier and channel; phone and iMessage share one policy. Domain
|
|
25
|
+
allowances, default access, contact visibility, and access borrowed from another
|
|
26
|
+
Companion conversation do not qualify. Multiple senders may qualify; the first
|
|
27
|
+
qualifying group message activates the conversation, without repeated
|
|
28
|
+
initialization when another eligible sender messages. Mere participation is
|
|
29
|
+
insufficient. Configuration does not add permissions or SMS consent; blocks
|
|
30
|
+
remain authoritative.
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
inkbox --json identity companion get example-agent
|
|
34
|
+
# Administrator credentials are required for both writes.
|
|
35
|
+
inkbox identity mail-rules create example-agent \
|
|
36
|
+
--action allow --match-type exact_email --match-target trusted@example.com --direction both
|
|
37
|
+
inkbox --json identity companion update example-agent --enabled true
|
|
38
|
+
# trusted@example.com sends "Please join this conversation" to the group.
|
|
39
|
+
inkbox --json identity companion conversations example-agent --channel mail --limit 50 --offset 0
|
|
40
|
+
inkbox --json identity companion history example-agent 22222222-2222-4222-8222-222222222222 --limit 100
|
|
41
|
+
inkbox --json identity companion history example-agent 22222222-2222-4222-8222-222222222222 --cursor opaque-cursor
|
|
42
|
+
inkbox --json identity companion initialization example-agent 22222222-2222-4222-8222-222222222222 --max-bytes 8388608
|
|
43
|
+
inkbox --json identity companion update example-agent --enabled false
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Administrator and claimed-agent reads return enabled state, revision, readiness,
|
|
47
|
+
and optional notices. Updates require `--enabled true|false`; unknown options are
|
|
48
|
+
rejected. Enabling is allowed before any eligible sender or channel resource
|
|
49
|
+
exists. Per-channel readiness reports prerequisites independently of enabled
|
|
50
|
+
state, including `bidirectional_allow_required` when no exact bidirectional allow
|
|
51
|
+
exists. Revision changes only when enabled changes; turning off and on requires a
|
|
52
|
+
fresh qualifying message. Continued access depends on the actual trigger sender's
|
|
53
|
+
permissions and membership, without transferring to another eligible participant.
|
|
54
|
+
|
|
55
|
+
`state` aliases `conversations`. State pages retain `items`/`total`, while
|
|
56
|
+
history JSON retains `historyComplete`, `nextCursor`, `replyContext`, and notices.
|
|
57
|
+
Pages support limits 1-200; conversation offsets are 0-10,000.
|
|
58
|
+
|
|
59
|
+
`initialization` loads all pages, deduplicates messages, validates scope and
|
|
60
|
+
cursor progress, and revalidates permission before returning one combined
|
|
61
|
+
`text` plus ordered `entries` and canonical reply context. Default bounds are
|
|
62
|
+
8 MiB of fetched-page and transcript UTF-8 bytes and 1,000 pages; use
|
|
63
|
+
`--max-bytes`/`--max-pages` for your host's capacity. Exceeding a bound fails
|
|
64
|
+
before output; it never truncates. For lossless streaming use `history` pages.
|
|
65
|
+
|
|
66
|
+
Persist a conversation/activation checkpoint before passing the combined text
|
|
67
|
+
to a host once. Buffer live traffic until initialization completes, retain reply
|
|
68
|
+
context per turn, and reconcile uncertain host acceptance on recovery. Historical
|
|
69
|
+
commands are data, not fresh commands. Replies must use the existing stored mail
|
|
70
|
+
parent or canonical phone/iMessage conversation, never a private last-sender
|
|
71
|
+
address. Ordinary-phase events have no activation authority.
|
|
72
|
+
|
|
73
|
+
Notices keep the normal stderr behavior; `--json --with-response-metadata`
|
|
74
|
+
opts into one stdout envelope. HTTP errors remain nonzero exits with no partial
|
|
75
|
+
stdout. Reply readiness remains separate from read access, including existing
|
|
76
|
+
SMS consent and dedicated-line group iMessage requirements. MMS chats with the
|
|
77
|
+
same participants represent one logical conversation.
|
|
78
|
+
|
|
19
79
|
## Authentication
|
|
20
80
|
|
|
21
81
|
Set your API key as an environment variable or pass it as a flag:
|
|
@@ -50,6 +110,84 @@ With `--json`, successful output is written to stdout. API errors are written as
|
|
|
50
110
|
one JSON object to stderr with `error.type`, `error.message`, `error.statusCode`,
|
|
51
111
|
`error.detail`, `error.retryAfterSeconds`, and `error.agentSupport`.
|
|
52
112
|
|
|
113
|
+
## Response notices
|
|
114
|
+
|
|
115
|
+
Advisory notices are printed to stderr without changing ordinary stdout. With
|
|
116
|
+
`--json`, successful stdout keeps its existing shape and notices appear in one
|
|
117
|
+
`{"notices": [...]}` stderr record. Each notice has string `code`, `level`, and
|
|
118
|
+
`message` fields; unfamiliar codes and levels are preserved.
|
|
119
|
+
|
|
120
|
+
For finite structured commands, opt into a single result document:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
inkbox --json --with-response-metadata identity phone-rules list support-bot
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The result is `{"data": <original result>, "notices": [...]}`. Notices are omitted
|
|
127
|
+
when absent and empty success uses `"data": null`. Identical notices from internal
|
|
128
|
+
lookups or pagination appear once. Errors keep the existing stderr error envelope
|
|
129
|
+
and nonzero exit status, with optional top-level `notices` and unchanged
|
|
130
|
+
`error.agentSupport` guidance.
|
|
131
|
+
|
|
132
|
+
`--with-response-metadata` requires `--json`. Raw certificate stdout from
|
|
133
|
+
`tunnel sign-csr` rejects it before making requests; use `--out` for a structured
|
|
134
|
+
file result. File downloads retain their existing bytes and structured status
|
|
135
|
+
output. Notices never authorize an operation or cause a retry.
|
|
136
|
+
|
|
137
|
+
## Directional contact rules
|
|
138
|
+
|
|
139
|
+
Requires CLI `0.7.3` or later.
|
|
140
|
+
|
|
141
|
+
All identity mail/phone rules, deprecated mailbox/number rules, and iMessage
|
|
142
|
+
contact-rule commands accept `--direction inbound|outbound|both` on create,
|
|
143
|
+
update, and list operations. Inbound is communication from the counterparty to
|
|
144
|
+
the agent; outbound is communication from the agent to the counterparty.
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
inkbox identity update support-bot \
|
|
148
|
+
--mail-inbound-filter-mode blacklist --mail-outbound-filter-mode whitelist
|
|
149
|
+
inkbox identity mail-rules create support-bot \
|
|
150
|
+
--action allow --match-type exact_email --match-target x@example.com \
|
|
151
|
+
--direction outbound
|
|
152
|
+
inkbox identity mail-rules update support-bot RULE_ID \
|
|
153
|
+
--action block --apply-to outbound
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Omitting create direction means Both; omitting update direction preserves it.
|
|
157
|
+
Updates accept action, direction, or both. `--apply-to inbound|outbound` requires
|
|
158
|
+
`--action`, excludes `--direction`, and atomically preserves the opposite side.
|
|
159
|
+
List filters for inbound/outbound include Both rules; `both` is exact. A2A's
|
|
160
|
+
existing exact-direction behavior is unchanged. Compatible rules can consolidate,
|
|
161
|
+
so a successful create may return an existing ID. Trust the returned rule.
|
|
162
|
+
|
|
163
|
+
Identity update also accepts `--phone-inbound-filter-mode` and
|
|
164
|
+
`--phone-outbound-filter-mode`. Existing shared mode flags set both directions;
|
|
165
|
+
do not combine shared and directional flags for the same channel. Identity
|
|
166
|
+
details expose both effective modes. Phone modes also apply to iMessage.
|
|
167
|
+
|
|
168
|
+
`contacts access set --file` accepts `inboundContactable` and
|
|
169
|
+
`outboundContactable` lists inside email/phone groups:
|
|
170
|
+
|
|
171
|
+
```json
|
|
172
|
+
{"email":{"inboundContactable":["x@example.com"],"outboundContactable":[]}}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Legacy `contactable` reads mean outbound; writes still affect both directions.
|
|
176
|
+
Omitted lists preserve state and empty lists block current addresses on the named
|
|
177
|
+
side. Mixing legacy and directional lists in one group, or supplying null, is
|
|
178
|
+
invalid. Communication-policy files also accept address `direction` and
|
|
179
|
+
`expectedInboundAction`/`expectedOutboundAction` concurrency checks. A one-way
|
|
180
|
+
edit requires only the matching directional guard; Both requires both when
|
|
181
|
+
`expectedAction` is omitted.
|
|
182
|
+
|
|
183
|
+
`contacts permissions set --file` also accepts `inboundEmails`, `outboundEmails`,
|
|
184
|
+
`inboundPhones`, and `outboundPhones` boolean maps. Each map may contain up to 50
|
|
185
|
+
addresses. Shared `emails`/`phones` maps cannot be combined with directional maps
|
|
186
|
+
for the same channel, and null is invalid. These maps also work in the initial
|
|
187
|
+
`permissions` of a `contacts create --json` payload. The alternative initial
|
|
188
|
+
`permissions.addresses` form accepts up to 200 directional decisions, while the
|
|
189
|
+
contact remains limited to 50 email and 50 phone identifiers.
|
|
190
|
+
|
|
53
191
|
## Commands
|
|
54
192
|
|
|
55
193
|
### signup
|
package/dist/client.js
CHANGED
|
@@ -2,8 +2,9 @@ import * as fs from "node:fs";
|
|
|
2
2
|
import * as os from "node:os";
|
|
3
3
|
import * as path from "node:path";
|
|
4
4
|
import { Inkbox } from "@inkbox/sdk";
|
|
5
|
+
import { observeResponse } from "./response-metadata.js";
|
|
5
6
|
// Keep in sync with package.json "version".
|
|
6
|
-
export const CLI_VERSION = "0.7.
|
|
7
|
+
export const CLI_VERSION = "0.7.3";
|
|
7
8
|
export function getGlobalOpts(cmd) {
|
|
8
9
|
let root = cmd;
|
|
9
10
|
while (root.parent)
|
|
@@ -55,6 +56,7 @@ export function createClient(opts, timeoutMs) {
|
|
|
55
56
|
baseUrl,
|
|
56
57
|
timeoutMs,
|
|
57
58
|
userAgentPrefix: `inkbox-cli/${CLI_VERSION}`,
|
|
59
|
+
onResponse: observeResponse,
|
|
58
60
|
});
|
|
59
61
|
}
|
|
60
62
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/a2a.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import { Option } from "commander";
|
|
3
|
+
import { observeResponse } from "../response-metadata.js";
|
|
3
4
|
import { AUTH_SUBTYPE_API_KEY_AGENT_SCOPED_CLAIMED, Inkbox, extractA2AInvitationToken, } from "@inkbox/sdk";
|
|
4
5
|
import { createClient, getGlobalOpts, resolveBaseUrl } from "../client.js";
|
|
5
6
|
import { withErrorHandler } from "../errors.js";
|
|
@@ -143,7 +144,7 @@ export function registerA2ACommands(program) {
|
|
|
143
144
|
let token;
|
|
144
145
|
try {
|
|
145
146
|
token = extractA2AInvitationToken(invitation, baseUrl);
|
|
146
|
-
const result = await Inkbox.previewA2AInvitation(token, { baseUrl });
|
|
147
|
+
const result = await Inkbox.previewA2AInvitation(token, { baseUrl, onResponse: observeResponse });
|
|
147
148
|
output(result, { json: !!globalOpts.json });
|
|
148
149
|
}
|
|
149
150
|
catch (error) {
|
package/dist/commands/a2a.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../src/commands/a2a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAc5C,OAAO,EACL,yCAAyC,EACzC,MAAM,EACN,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEtF,MAAM,YAAY,GAAG;IACnB,IAAI;IACJ,iBAAiB;IACjB,cAAc;IACd,WAAW;IACX,OAAO;IACP,WAAW;IACX,WAAW;CACZ,CAAC;AACF,MAAM,iBAAiB,GAAG;IACxB,IAAI;IACJ,iBAAiB;IACjB,cAAc;IACd,WAAW;IACX,OAAO;IACP,WAAW;IACX,WAAW;CACZ,CAAC;AACF,MAAM,eAAe,GAAG;IACtB,IAAI;IACJ,QAAQ;IACR,WAAW;IACX,WAAW;IACX,MAAM;IACN,iBAAiB;IACjB,cAAc;IACd,MAAM;IACN,WAAW;CACZ,CAAC;AACF,MAAM,eAAe,GAAG;IACtB,IAAI;IACJ,MAAM;IACN,YAAY;IACZ,mBAAmB;IACnB,WAAW;IACX,gBAAgB;CACjB,CAAC;AACF,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC5E,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAC3E,MAAM,kBAAkB,GAAG;IACzB,IAAI;IACJ,QAAQ;IACR,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;IACpB,WAAW;CACZ,CAAC;AAEF,KAAK,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAc;IACzD,OAAO,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,6BAA6B,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAqD,EACrD,OAAgB,EAChB,OAAiB,EACjB,UAAqC;IAErC,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAC3C,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAA0B;IAC7C,OAAO,OAAO,CAAC,KAAK;SACjB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACxD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAmB,EACnB,UAAkB;IAElB,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC;IAClE,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EAAE,gBAAgB;YAC1B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI;YAChC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;QACzB,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC5D,SAAS,EAAE,OAAO,CAAC,cAAc;YAC/B,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG;YAC5B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEjF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC;IAExF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;SACtB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,cAAc,CAAC,iCAAiC,EAAE,0BAA0B,CAAC;SAC7E,MAAM,CAAC,2BAA2B,EAAE,iDAAiD,CAAC;SACtF,MAAM,CAAC,gCAAgC,EAAE,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;SACpH,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA0F;QAE1F,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;YAC3E,gBAAgB,EAAE,OAAO,CAAC,eAAe;YACzC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;SACpB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;SAC1D,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;SACpF,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAAyE;QAEzE,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,gBAAgB,CACd,IAAI,EACJ,IAAI,EACJ,kBAAkB,EAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CACxC,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC;SACpC,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAA0B,YAAoB;QAC1E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxF,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC;SACtC,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAA0B,YAAoB;QAC1E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3F,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;SACvB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,CAAC;SAC5E,MAAM,CAAC,eAAe,EAAE,sCAAsC,CAAC;SAC/D,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA4D;QAE5D,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,mBAAmB,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAChD,CAAC,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAClD,CAAC;QACF,IAAI,KAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,KAAK,GAAG,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;SACtB,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,oBAAoB,EAAE,8CAA8C,CAAC;SAC5E,MAAM,CAAC,eAAe,EAAE,sCAAsC,CAAC;SAC/D,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA4D;QAE5D,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxC,IACE,SAAS,CAAC,QAAQ,KAAK,SAAS;eAC7B,SAAS,CAAC,WAAW,KAAK,yCAAyC,EACtE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAChD,CAAC,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAClD,CAAC;QACF,IAAI,KAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,yBAAyB,CAC3C,UAAU,EACV,cAAc,CAAC,UAAU,CAAC,IAAI,mBAAmB,CAClD,CAAC;YACF,KAAK,GAAG,WAAW,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;SAClB,WAAW,CAAC,mCAAmC,CAAC;SAChD,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC7E,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;SACnB,WAAW,CAAC,oCAAoC,CAAC;SACjD,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9E,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;SACpB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/E,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC;SACzC,WAAW,CAAC,0DAA0D,CAAC;SACvE,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,KAAa,EACb,OAA6B;QAE7B,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAC1C,CAAC,0BAA0B,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC;SACjC,WAAW,CAAC,qDAAqD,CAAC;SAClE,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,KAAa,EACb,OAA6B;QAE7B,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAC1C,CAAC,uBAAuB,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;SACrB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,UAAU,EAAE,6BAA6B,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,0CAA0C,CAAC;SACzE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,IAAI,CAAC;SACvD,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAKC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;YAC3B,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;gBACjC,CAAC,EAAE,OAAO,CAAC,KAAK;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;aAC7C,CAAC;YACF,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;gBACvC,CAAC,EAAE,OAAO,CAAC,KAAK;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;aAC7C,CAAC,CAAC;QACL,gBAAgB,CACd,MAAM,EACN,IAAI,EACJ,iBAAiB,EACjB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,IAAI;YACP,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE;SACzC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;SAChB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3E,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAC7E,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAClB,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,cAAc,CAAC,eAAe,EAAE,yCAAyC,CAAC;SAC1E,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA2C;QAE3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAe,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACpB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QAClF,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;SACvB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,cAAc,CAAC,eAAe,EAAE,4BAA4B,CAAC;SAC7D,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA2C;QAE3C,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAC/E,OAAO,CAAC,IAAkB,CAC3B,CAAC;QACF,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IACvF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;SAClB,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACnF,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC,CAAC;IAEN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;SACjB,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,cAAc,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;SAC3D,cAAc,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;SACzD,MAAM,CAAC,yBAAyB,EAAE,kCAAkC,EAAE,SAAS,CAAC;SAChF,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAKC;QAED,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,SAAS,CACjB,sDAAsD,CACvD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACjF,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAuB;YACvC,SAAS,EAAE,OAAO,CAAC,SAA6B;SACjD,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAC9B,WAAW,CAAC,qDAAqD,CAAC;SAClE,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;SACjD,MAAM,CAAC,yBAAyB,EAAE,kCAAkC,CAAC;SACrE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,MAAc,EACd,OAIC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC7D,CAAC;QACD,IACE,OAAO,CAAC,SAAS,KAAK,SAAS;eAC5B,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAC/D,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,sDAAsD,CACvD,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpE,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAC1C,CAAC,oBAAoB,CAAC,MAAM,EAAE;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAmC;YACnD,SAAS,EAAE,OAAO,CAAC,SAAyC;SAC7D,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;SAC9B,WAAW,CAAC,qDAAqD,CAAC;SAClE,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,MAAc,EACd,OAA6B;QAE7B,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC;SAClD,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,yBAAyB,EAAE,oCAAoC,CAAC;SACvE,MAAM,CAAC,sBAAsB,EAAE,8BAA8B,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;SACxD,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;SAChD,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,oBAAoB,EAAE,0CAA0C,CAAC;SACxE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,IAAI,CAAC;SACvD,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAWC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxE,SAAS,EAAE,OAAO,CAAC,SAA4C;YAC/D,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAiC;YAChD,SAAS,EAAE,OAAO,CAAC,OAAO;YAC1B,CAAC,EAAE,OAAO,CAAC,KAAK;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;SAC7C,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,IAAI;YACP,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACnC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI;SAC1C,CAAC,CAAC,CAAC;QACJ,gBAAgB,CACd,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC1B,WAAW,CAAC,8BAA8B,CAAC;SAC3C,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,MAAc,EACd,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjF,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;SAChB,WAAW,CAAC,oCAAoC,CAAC;SACjD,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,sBAAsB,EAAE,8BAA8B,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;SACxD,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;SAChD,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,oBAAoB,EAAE,0CAA0C,CAAC;SACxE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,IAAI,CAAC;SACvD,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAUC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;YAC5E,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAiC;YAChD,SAAS,EAAE,OAAO,CAAC,OAAO;YAC1B,CAAC,EAAE,OAAO,CAAC,KAAK;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;SAC7C,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,IAAI;YACP,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACnC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI;SAC1C,CAAC,CAAC,CAAC;QACJ,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC;SAC/B,WAAW,CAAC,0CAA0C,CAAC;SACvD,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,MAAc,EACd,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;SACpB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,yBAAyB,EAAE,oCAAoC,CAAC;SACvE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,IAAI,CAAC;SACvD,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAKC;QAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC;YACxC,SAAS,EAAE,OAAO,CAAC,SAIN;YACb,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;SAC7C,CAAC,CAAC;QACH,gBAAgB,CACd,MAAM,EACN,IAAI,EACJ,eAAe,EACf,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CACtE,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC;SAChC,WAAW,CAAC,mDAAmD,CAAC;SAChE,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,SAAiB,EACjB,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAC1C,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxB,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;SACzB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,IAAI,CAAC;SACvD,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAA6D;QAE7D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC;YAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;SAC7C,CAAC,CAAC;QACH,gBAAgB,CACd,MAAM,EACN,IAAI,EACJ,eAAe,EACf,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CACtE,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC;SACrC,WAAW,CAAC,iDAAiD,CAAC;SAC9D,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,SAAiB,EACjB,OAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAC1C,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5B,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC;SACvC,WAAW,CAAC,+CAA+C,CAAC;SAC5D,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,cAAc,CAAC,eAAe,EAAE,qCAAqC,CAAC;SACtE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,SAAiB,EACjB,OAA2C;QAE3C,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAC1C,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;SACpB,WAAW,CAAC,mDAAmD,CAAC;SAChE,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,yBAAyB,EAAE,oCAAoC,CAAC;SACvE,MAAM,CAAC,sBAAsB,EAAE,8BAA8B,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;SACxD,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;SAChD,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;SAClD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;SACvD,MAAM,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;SAC3E,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;SAChD,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,IAAI,CAAC;SACvD,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAYC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YAC3E,SAAS,EAAE,OAAO,CAAC,SAA4C;YAC/D,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,SAAS,EAAE,OAAO,CAAC,OAAO;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAkC;YAChD,CAAC,EAAE,OAAO,CAAC,KAAK;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;SAC7C,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3C,GAAG,OAAO;YACV,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;YACtC,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI;YAC5C,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC,CAAC;QACJ,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;SAC3B,WAAW,CAAC,8BAA8B,CAAC;SAC3C,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC;SAC7C,SAAS,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SAC5G,SAAS,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SAC/F,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;SACtG,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;SAC3F,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,MAAc,EACd,OAOC;QAED,MAAM,QAAQ,GAAG;YACf,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,GAAG;YACX,OAAO,CAAC,IAAI;SACb,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CACjB,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAmB,OAAO,CAAC,QAAQ;YAC7C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,OAAO,CAAC,QAAQ;gBAChB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChF,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;SAC3B,WAAW,CAAC,6BAA6B,CAAC;SAC1C,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,cAAc,CAAC,eAAe,EAAE,WAAW,CAAC;SAC5C,MAAM,CACL,gBAAgB,EAChB,+DAA+D,CAChE;SACA,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC;SACxC,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;SACpD,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAAe,EACf,OAMC;QAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YACvC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,OAAO;YAC1B,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC;SACtC,WAAW,CAAC,qCAAqC,CAAC;SAClD,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,QAAQ,EAAE,2BAA2B,CAAC;SAC7C,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAAe,EACf,MAAc,EACd,OAA6C;QAE7C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI;YACzB,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;YACnC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC,CAAC;IAEN,GAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC;SACvC,WAAW,CAAC,0BAA0B,CAAC;SACvC,cAAc,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAClE,MAAM,CAAC,gBAAgB,CAAC,KAAK,WAE5B,OAAe,EACf,MAAc,EACd,OAA6B;QAE7B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
|
|
1
|
+
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../src/commands/a2a.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { createClient, getGlobalOpts } from "../client.js";
|
|
2
|
+
import { withErrorHandler } from "../errors.js";
|
|
3
|
+
import { output } from "../output.js";
|
|
4
|
+
function integer(value, name, minimum, maximum = Number.MAX_SAFE_INTEGER) {
|
|
5
|
+
const result = Number(value);
|
|
6
|
+
if (!/^\d+$/.test(value) || !Number.isSafeInteger(result) || result < minimum || result > maximum) {
|
|
7
|
+
throw new Error(`${name} must be an integer between ${minimum} and ${maximum}`);
|
|
8
|
+
}
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
export function registerCompanionCommands(identity) {
|
|
12
|
+
const companion = identity.command("companion").description("Companion mode configuration and conversation initialization");
|
|
13
|
+
companion.command("get <handle>").description("Read configuration and channel readiness")
|
|
14
|
+
.action(withErrorHandler(async function (handle) {
|
|
15
|
+
const opts = getGlobalOpts(this);
|
|
16
|
+
const result = await createClient(opts).companion.get(handle);
|
|
17
|
+
output(result, { json: !!opts.json });
|
|
18
|
+
}));
|
|
19
|
+
companion.command("update <handle>").description("Enable or disable Companion mode (administrator only)")
|
|
20
|
+
.requiredOption("--enabled <boolean>", "Explicitly enable or disable: true or false")
|
|
21
|
+
.action(withErrorHandler(async function (handle, options) {
|
|
22
|
+
if (options.enabled !== "true" && options.enabled !== "false") {
|
|
23
|
+
throw new Error("--enabled must be true or false");
|
|
24
|
+
}
|
|
25
|
+
const update = { enabled: options.enabled === "true" };
|
|
26
|
+
const opts = getGlobalOpts(this);
|
|
27
|
+
const result = await createClient(opts).companion.update(handle, update);
|
|
28
|
+
output(result, { json: !!opts.json });
|
|
29
|
+
}));
|
|
30
|
+
companion.command("conversations <handle>").alias("state").description("Read one page of visible conversation states")
|
|
31
|
+
.option("--channel <channel>", "mail, phone, or imessage")
|
|
32
|
+
.option("--limit <number>", "Page size (1-200)", "50")
|
|
33
|
+
.option("--offset <number>", "Page offset", "0")
|
|
34
|
+
.action(withErrorHandler(async function (handle, options) {
|
|
35
|
+
if (options.channel !== undefined && !["mail", "phone", "imessage"].includes(options.channel)) {
|
|
36
|
+
throw new Error("--channel must be mail, phone, or imessage");
|
|
37
|
+
}
|
|
38
|
+
const query = { channel: options.channel,
|
|
39
|
+
limit: integer(options.limit, "--limit", 1, 200), offset: integer(options.offset, "--offset", 0, 10000) };
|
|
40
|
+
const opts = getGlobalOpts(this);
|
|
41
|
+
const result = await createClient(opts).companion.conversations(handle, query);
|
|
42
|
+
output(result, { json: !!opts.json });
|
|
43
|
+
}));
|
|
44
|
+
companion.command("history <handle> <activation-id>").description("Read one authorized snapshot page, including cursor and completion")
|
|
45
|
+
.option("--limit <number>", "Page size (1-200)", "100")
|
|
46
|
+
.option("--cursor <cursor>", "Opaque continuation cursor")
|
|
47
|
+
.action(withErrorHandler(async function (handle, activationId, options) {
|
|
48
|
+
const query = { limit: integer(options.limit, "--limit", 1, 200), cursor: options.cursor };
|
|
49
|
+
const opts = getGlobalOpts(this);
|
|
50
|
+
const result = await createClient(opts).companion.activationMessages(handle, activationId, query);
|
|
51
|
+
output(result, { json: !!opts.json });
|
|
52
|
+
}));
|
|
53
|
+
companion.command("initialization <handle> <activation-id>").description("Load complete bounded history as one combined transcript")
|
|
54
|
+
.option("--max-bytes <number>", "Maximum fetched-page and transcript UTF-8 bytes", "8388608")
|
|
55
|
+
.option("--max-pages <number>", "Maximum history pages, excluding final revalidation", "1000")
|
|
56
|
+
.action(withErrorHandler(async function (handle, activationId, options) {
|
|
57
|
+
const bounds = { maxBytes: integer(options.maxBytes, "--max-bytes", 1), maxPages: integer(options.maxPages, "--max-pages", 1) };
|
|
58
|
+
const opts = getGlobalOpts(this);
|
|
59
|
+
const result = await createClient(opts).companion.loadInitialization(handle, activationId, bounds);
|
|
60
|
+
output(result, { json: !!opts.json });
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=companion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"companion.js","sourceRoot":"","sources":["../../src/commands/companion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Option } from "commander";
|
|
2
2
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { createClient, getGlobalOpts } from "../client.js";
|
|
4
|
-
import { output } from "../output.js";
|
|
4
|
+
import { output, printStatus } from "../output.js";
|
|
5
5
|
import { withErrorHandler } from "../errors.js";
|
|
6
6
|
import { parsePolicyPagination } from "../pagination.js";
|
|
7
7
|
function parseJsonArg(raw, label) {
|
|
@@ -64,12 +64,21 @@ export function parseContactPolicyFile(raw) {
|
|
|
64
64
|
throw new Error("policy.addresses must be an array of at most 500 entries");
|
|
65
65
|
for (const [index, value] of body.addresses.entries()) {
|
|
66
66
|
const label = `policy.addresses[${index}]`;
|
|
67
|
-
const row = policyObject(value, ["kind", "value", "action", "expectedAction"], label);
|
|
67
|
+
const row = policyObject(value, ["kind", "value", "action", "expectedAction", "direction", "expectedInboundAction", "expectedOutboundAction"], label);
|
|
68
68
|
if (!["email", "phone"].includes(row.kind))
|
|
69
69
|
throw new Error(`${label}.kind must be email or phone`);
|
|
70
70
|
if (typeof row.value !== "string" || !row.value)
|
|
71
71
|
throw new Error(`${label}.value is required`);
|
|
72
|
-
|
|
72
|
+
if (row.direction !== undefined && !["inbound", "outbound", "both"].includes(row.direction))
|
|
73
|
+
throw new Error(`${label}.direction must be inbound, outbound, or both`);
|
|
74
|
+
const expected = row.direction === "inbound" ? ["expectedInboundAction"]
|
|
75
|
+
: row.direction === "outbound" ? ["expectedOutboundAction"] : ["expectedInboundAction", "expectedOutboundAction"];
|
|
76
|
+
if (row.expectedAction === undefined && expected.some((key) => row[key] === undefined)) {
|
|
77
|
+
throw new Error(`${label} requires expectedAction or expected actions for every edited direction`);
|
|
78
|
+
}
|
|
79
|
+
for (const key of ["action", "expectedAction", "expectedInboundAction", "expectedOutboundAction"]) {
|
|
80
|
+
if (key !== "action" && row[key] === undefined)
|
|
81
|
+
continue;
|
|
73
82
|
if (!["inherit", "allow", "block"].includes(row[key]))
|
|
74
83
|
throw new Error(`${label}.${key} must be inherit, allow, or block`);
|
|
75
84
|
}
|
|
@@ -99,8 +108,14 @@ export function parseContactPolicyFile(raw) {
|
|
|
99
108
|
return body;
|
|
100
109
|
}
|
|
101
110
|
export function parseContactPermissionsFile(raw) {
|
|
102
|
-
const
|
|
103
|
-
|
|
111
|
+
const maps = ["emails", "phones", "inboundEmails", "outboundEmails", "inboundPhones", "outboundPhones"];
|
|
112
|
+
const body = policyObject(parseJsonArg(raw, "permissions file"), [...maps, "profile", "memories"], "permissions");
|
|
113
|
+
for (const [shared, inbound, outbound] of [["emails", "inboundEmails", "outboundEmails"], ["phones", "inboundPhones", "outboundPhones"]]) {
|
|
114
|
+
if (Object.hasOwn(body, shared) && (Object.hasOwn(body, inbound) || Object.hasOwn(body, outbound))) {
|
|
115
|
+
throw new Error(`permissions: cannot combine shared and directional ${shared}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
for (const key of maps) {
|
|
104
119
|
if (!Object.hasOwn(body, key))
|
|
105
120
|
continue;
|
|
106
121
|
const value = body[key];
|
|
@@ -118,7 +133,7 @@ export function parseContactPermissionsFile(raw) {
|
|
|
118
133
|
throw new Error(`permissions.${key} must be true or false`);
|
|
119
134
|
}
|
|
120
135
|
if (body.profile === false && (body.memories === true
|
|
121
|
-
||
|
|
136
|
+
|| maps.some((key) => body[key] && Object.values(body[key]).some(Boolean))))
|
|
122
137
|
throw new Error("Profile cannot be disabled while email, phone, or memories is enabled");
|
|
123
138
|
return body;
|
|
124
139
|
}
|
|
@@ -131,13 +146,18 @@ export function parseContactAccessFile(raw) {
|
|
|
131
146
|
for (const key of ["email", "phone"]) {
|
|
132
147
|
if (!Object.hasOwn(body, key))
|
|
133
148
|
continue;
|
|
134
|
-
const group = policyObject(body[key], ["visible", "contactable"], `access.${key}`);
|
|
149
|
+
const group = policyObject(body[key], ["visible", "contactable", "inboundContactable", "outboundContactable"], `access.${key}`);
|
|
135
150
|
if (Object.hasOwn(group, "visible") && typeof group.visible !== "boolean")
|
|
136
151
|
throw new Error(`access.${key}.visible must be true or false`);
|
|
137
|
-
if (Object.hasOwn(group, "contactable")) {
|
|
138
|
-
|
|
152
|
+
if (Object.hasOwn(group, "contactable") && (Object.hasOwn(group, "inboundContactable") || Object.hasOwn(group, "outboundContactable"))) {
|
|
153
|
+
throw new Error(`access.${key}: contactable cannot be combined with directional lists`);
|
|
154
|
+
}
|
|
155
|
+
for (const field of ["contactable", "inboundContactable", "outboundContactable"]) {
|
|
156
|
+
if (!Object.hasOwn(group, field))
|
|
157
|
+
continue;
|
|
158
|
+
const values = group[field];
|
|
139
159
|
if (!Array.isArray(values) || values.length > 50 || values.some((value) => typeof value !== "string" || !value.trim())) {
|
|
140
|
-
throw new Error(`access.${key}
|
|
160
|
+
throw new Error(`access.${key}.${field} must be an array of at most 50 addresses`);
|
|
141
161
|
}
|
|
142
162
|
if (new Set(values).size !== values.length)
|
|
143
163
|
throw new Error(`access.${key}.contactable must not contain duplicates`);
|
|
@@ -148,7 +168,7 @@ export function parseContactAccessFile(raw) {
|
|
|
148
168
|
if (body.profile === false && (body.memories === true
|
|
149
169
|
|| [body.email, body.phone].some((value) => {
|
|
150
170
|
const group = value;
|
|
151
|
-
return group?.visible === true || (Array.isArray(
|
|
171
|
+
return group?.visible === true || [group?.contactable, group?.inboundContactable, group?.outboundContactable].some((values) => Array.isArray(values) && values.length > 0);
|
|
152
172
|
})))
|
|
153
173
|
throw new Error("Profile cannot be disabled while email, phone, or memories is enabled");
|
|
154
174
|
return body;
|
|
@@ -161,7 +181,7 @@ function registerContactsAccessCommands(parent) {
|
|
|
161
181
|
output(await createClient(opts).contacts.permissions.get(handle, contactId), { json: !!opts.json });
|
|
162
182
|
}));
|
|
163
183
|
permissions.command("set <handle> <contact-id>").description("Save yes/no choices; omitted fields and addresses stay unchanged")
|
|
164
|
-
.requiredOption("--file <path>", "JSON file with
|
|
184
|
+
.requiredOption("--file <path>", "JSON file with emails/phones or inboundEmails/outboundEmails/inboundPhones/outboundPhones maps and profile/memories booleans")
|
|
165
185
|
.action(withErrorHandler(async function (handle, contactId, options) {
|
|
166
186
|
const opts = getGlobalOpts(this);
|
|
167
187
|
const body = parseContactPermissionsFile(readFileSync(options.file, "utf8"));
|
|
@@ -216,7 +236,7 @@ function registerContactsAccessCommands(parent) {
|
|
|
216
236
|
}));
|
|
217
237
|
access.command("set <handle> <contact-id>")
|
|
218
238
|
.description("Save partial access choices (admin credentials)")
|
|
219
|
-
.requiredOption("--file <path>", "JSON file with email/phone visible
|
|
239
|
+
.requiredOption("--file <path>", "JSON file with email/phone visible, contactable or inboundContactable/outboundContactable lists, and profile/memories")
|
|
220
240
|
.action(withErrorHandler(async function (handle, contactId, options) {
|
|
221
241
|
const opts = getGlobalOpts(this);
|
|
222
242
|
const body = parseContactAccessFile(readFileSync(options.file, "utf8"));
|
|
@@ -435,7 +455,7 @@ export function registerContactsCommands(program) {
|
|
|
435
455
|
const opts = getGlobalOpts(this);
|
|
436
456
|
const inkbox = createClient(opts);
|
|
437
457
|
await inkbox.contacts.delete(contactId);
|
|
438
|
-
|
|
458
|
+
printStatus(`Deleted contact ${contactId}.`);
|
|
439
459
|
}));
|
|
440
460
|
contacts
|
|
441
461
|
.command("bulk-delete <contact-id...>")
|
|
@@ -482,7 +502,7 @@ export function registerContactsCommands(program) {
|
|
|
482
502
|
if (cmdOpts.out) {
|
|
483
503
|
writeFileSync(cmdOpts.out, result.vcard, "utf8");
|
|
484
504
|
if (!opts.json)
|
|
485
|
-
|
|
505
|
+
printStatus(`Wrote ${cmdOpts.out}`);
|
|
486
506
|
}
|
|
487
507
|
else if (opts.json) {
|
|
488
508
|
output(result, { json: true });
|
|
@@ -502,7 +522,7 @@ export function registerContactsCommands(program) {
|
|
|
502
522
|
if (cmdOpts.out) {
|
|
503
523
|
writeFileSync(cmdOpts.out, vcf, "utf8");
|
|
504
524
|
if (!opts.json)
|
|
505
|
-
|
|
525
|
+
printStatus(`Wrote ${cmdOpts.out}`);
|
|
506
526
|
}
|
|
507
527
|
else {
|
|
508
528
|
if (opts.json) {
|