@stratusagent/channel-slack 0.14.0 → 0.14.2
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 +100 -5
- package/dist/index.d.ts +67 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1262 -175
- package/dist/index.js.map +1 -1
- package/dist/texts.d.ts +30 -0
- package/dist/texts.d.ts.map +1 -0
- package/dist/texts.js +101 -0
- package/dist/texts.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Slack adapter for Stratus agents. **One Slack app per agent** — Slack has no way to give a single bot several identities with real avatars, presence, and DMs, so each agent gets its own app, and the adapter runs one Socket Mode connection per agent (no public ingress needed; Mac Minis behind NAT are fine).
|
|
4
4
|
|
|
5
5
|
- **Resumable conversations**: session keys are `slack:<agent>:<team>:<channel>:<thread_ts ?? ts>` (a DM's top level: the DM channel id alone; a thread in a DM adds its `thread_ts`) — a thread is a conversation, it survives daemon restarts, and two agents sharing a thread keep fully separate sessions. A turn parked on a human when the daemon died is re-asked after the restart, and a turn that was still running is continued from where it got to (unless the agent runs on a harness — `codex` or a Claude subscription — where it is failed instead, since the harness may already have acted on it); either way, when it finishes its reply is posted into the thread as a fresh message — the placeholder it would have edited belonged to the old process.
|
|
6
|
-
- **Replies post when they are ready**: by default each message is posted once, finished: what the agent writes before
|
|
6
|
+
- **Replies post when they are ready**: by default each message is posted once, finished: what the agent writes before its first tool is posted as the tool starts, a task that runs on keeps one progress message edited in place (a first line from its real tool calls, then whatever else it wrote between tools, ending in Done, Stopped or Failed), and the reply follows as its own message, with Slack's loading status (`assistant.threads.setStatus` — "is thinking…", "is running shell.run…") shown while the turn works, so the notification carries the answer. The `stream` reply mode (`slack.replies` in the [config](../../docs/guides/slack.md#how-replies-appear)) keeps the placeholder-and-edit rendering instead: post `…`, edit as deltas arrive (throttled for `chat.update` limits), show `⚙ tool…` status lines, finalize with the full reply. The `texts` mode is `final` with each paragraph posted as a message of its own (code blocks, lists and a heading with its paragraph kept whole, at most five messages a reply), so an agent reads like someone texting. Either way a reply that outgrows one message is split across several.
|
|
7
7
|
- **Markdown is translated to Slack's mrkdwn** on the way out — `**bold**` to `*bold*`, `*italic*` to `_italic_`, `~~struck~~` to `~struck~`, `[text](https://…)` to `<https://…|text>`, and a `#` heading to a bold line, since mrkdwn has no headings. A bare address is sent as `<https://…>`, Slack's own link markup, so emphasis around it (`**https://…**`) cannot be read as part of it, and a `*`, `_`, or `~` inside one is part of the address rather than a marker. Trailing punctuation (`.`, `,`, `**`) and a `)` the address never opened belong to the sentence, as in GFM autolinks, so `…/wiki/Function_(mathematics)` stays whole. A bare address is sent as `<https://…>`, Slack's own link markup, so emphasis around it (`**https://…**`) cannot be read as part of it, and the `*`, `_`, or `~` inside one is part of the address rather than a marker; trailing punctuation (`.`, `,`, `**`) is the sentence's, as in GFM autolinks. The reply is read once into tokens and written back from those, so what counts as code is decided one time rather than by each rule in turn. Three things follow from that. **A code run is one token**: nothing reads or rewrites inside it, an unclosed fence included, and the newlines in a fence are not line breaks — so a `#` on a line of somebody's shell script is not a heading. A run of N backticks opens code and only a run of exactly N closes it, which is what lets ``a span with a ` in it`` and a ````-fence holding a ```-fence work; one or two unmatched backticks are text, as they are in Markdown, but a pair is a span however far apart, because Slack pairs them too. **A delimiter is matched to its partner**, across whatever sits between — ``**the `fs.read` tool**`` is bold around a snippet, not four literal asterisks — though never across a line, so a marker still being streamed stays literal until its closing half arrives. A run is spent rather than matched whole, so the three asterisks ending `**bold and *italic***` close the italic with one and the bold with two; what no pair spends stays on the line as text, and what a run cannot buy — the third tilde of `~~~struck~~~`, a style that does not exist — is never charged for. **A wrapper is only written where its own character is not already loose** in what it wraps: Slack has one delimiter per style and no way to nest it, so a heading that already contains bold keeps the bold it has rather than gaining a second pair that would print instead of render, and `# glob *.ts` keeps an asterisk that was never a marker. A heading sheds its hashes and its trailing spaces from the prose that holds them, never from a snippet. Anything whose spelling already matches — lists, block quotes, inline code — is untouched. **A pipe table**, which mrkdwn has no syntax for, becomes a code block with its columns padded to line up (alignment colons respected, `**`/`` ` `` markers dropped from cells, since nothing renders inside code); a grid wider than 60 characters — past what a phone shows unwrapped — or one with a link in it (a link inside a code block is not clickable) becomes one line per row, `*Header*: value · *Header*: value`. A one-column table has nothing to line up and becomes a bulleted list under its bold header. A table inside a fence is somebody's text and stays as written, and a grid longer than one message is split like any code block, closed at the cut and reopened in the next, with its header and rule repeated so every part names its columns.
|
|
8
8
|
- **Mention to start, then it stays in the thread.** A mention opens a conversation; every later reply in that thread from someone the agent admits reaches it without tagging it again (by default only its listed principals; see [Who can talk to an agent](#who-counts-as-the-operator)), and free-form DMs are unchanged. A mention partway into an existing thread opens the conversation with what was said before it: the thread's parent and its newest 39 earlier messages. A mention at the top of a channel opens with the channel's 20 most recent messages instead, which is where a channel per client or per project keeps its context. Either way each message keeps its own speaker and its own trust, so a principal's mention does not carry a stranger's earlier words in under the principal's label (other bots count as `unknown`, and under `admit: "principals"` unlisted senders are left out). This needs the history scopes below; without them the agent sees only the message that named it, and the adapter logs a warning. Who an untagged reply is for is decided by [Who a message is for](#who-a-message-is-for). Inbound mentions of other users are humanized to `@Display Name` for the model; redeliveries are deduped so a slow turn never runs twice — in memory while the process remembers them, and after a restart by the gateway: each message is dispatched with its own key (`idempotencyKey`), a repeat runs no second turn, and the adapter posts that message's own reply and files (a file changed since that turn is skipped, since the path may now hold another file), or its failure if the turn failed — once more, if the process died after posting it, which beats a reply never posted.
|
|
9
9
|
- **Approval buttons** for the gateway's `remote` permission mode: a gated tool call parks the turn and asks in its thread with **Allow once** / **Always allow** / **Deny**. See [Approving tool calls](#approving-tool-calls) — clicks are authorized by *who clicked*, never by who can see the message, and **Always allow** is offered only where the daemon would actually remember it.
|
|
@@ -19,6 +19,8 @@ Slack adapter for Stratus agents. **One Slack app per agent** — Slack has no w
|
|
|
19
19
|
}
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
- **A new agent's app connects without a restart.** Saving an agent's tokens (`stratus channel set slack`, `stratus setup` → Channels, or the dashboard) reloads the running daemon, which connects that app, reconnects one whose tokens changed, and drops one whose tokens were removed or whose soul is gone. Every other app stays connected. An agent's Slack settings (`slack`, `approvals`, `principals` in the config) still come from the config the daemon started with, and a daemon that started with no Slack app at all needs a restart for its first one.
|
|
23
|
+
|
|
22
24
|
## Who a message is for
|
|
23
25
|
|
|
24
26
|
A mention is how a conversation starts. After that, the thread is the
|
|
@@ -123,7 +125,9 @@ carrying a file, or one the author also broadcast to the channel, is a
|
|
|
123
125
|
follow-up too; what Slack marks as bookkeeping — an edit, a deletion, a
|
|
124
126
|
join — is not, and nothing answers it. **Images are shown to the model.**
|
|
125
127
|
A PNG, JPEG, GIF, or WebP attached to a message is downloaded with the
|
|
126
|
-
bot token and sent with the message
|
|
128
|
+
bot token and sent with the message (the token is only ever sent to
|
|
129
|
+
`https://files.slack.com`: a remote file, an app's link to a file it hosts
|
|
130
|
+
elsewhere, is named and never fetched) — a screenshot alone, with nothing
|
|
127
131
|
typed, is a question in its own right and gets an answer. That needs the
|
|
128
132
|
`files:read` scope, which the shipped manifest asks for; an app installed
|
|
129
133
|
without it should have the scope added under **OAuth & Permissions** and be
|
|
@@ -561,9 +565,27 @@ The boundary is the outbound one plus a rule for DMs:
|
|
|
561
565
|
who can read what the bot token reads anyway.
|
|
562
566
|
|
|
563
567
|
Messages come back as plain text with author ids and, where Slack supplies
|
|
564
|
-
one cheaply, a display name.
|
|
565
|
-
|
|
566
|
-
|
|
568
|
+
one cheaply, a display name. Every attached file is listed by name. The
|
|
569
|
+
tool labels the result `external`, so what an agent remembers after reading
|
|
570
|
+
carries that label.
|
|
571
|
+
|
|
572
|
+
Images on the messages read are shown to the model too, when the read asks
|
|
573
|
+
for them (`ConversationReadRequest.images`). `message.read` asks whenever
|
|
574
|
+
the agent's runtime can show an image, for at most 5 images and 10 MB per
|
|
575
|
+
read. They go through the same reader as a message's attachments at the
|
|
576
|
+
start of a turn: Slack's metadata is checked first, then the bytes, and only
|
|
577
|
+
the four types a model takes (PNG, JPEG, GIF, WebP) are fetched, only from
|
|
578
|
+
`https://files.slack.com`. An image over 5 MB or 8,000 pixels a side is sent
|
|
579
|
+
as Slack's largest preview of it, and the agent is told it is a preview.
|
|
580
|
+
The cap is spent in the order the messages come back (newest first at the
|
|
581
|
+
top level, root first in a thread) and the files within each. Once one image
|
|
582
|
+
doesn't fit, none after it is fetched, and one 30-second deadline covers
|
|
583
|
+
every download in the read. Each message names the images it showed in
|
|
584
|
+
`shownImages`, and says in `imageNotes` why any other image file was not
|
|
585
|
+
shown: a preview, too large, a download that failed or ran out of time, a
|
|
586
|
+
type no model takes, or the read's cap. Reading fewer messages shows the
|
|
587
|
+
rest. Other files are never downloaded by a read. This needs the
|
|
588
|
+
`files:read` scope that turn-start images already use.
|
|
567
589
|
|
|
568
590
|
A read of a channel's top level with no `before` or `after`, the first
|
|
569
591
|
page, also lists the channel's bookmarks (`bookmarks.list`, asked beside
|
|
@@ -614,6 +636,79 @@ Both scopes are left out of the default manifest, because they let an app
|
|
|
614
636
|
create and manage channels and most agents never need that. Add them to
|
|
615
637
|
the apps that should, under **OAuth & Permissions**, and reinstall.
|
|
616
638
|
|
|
639
|
+
## Joining a channel and inviting people
|
|
640
|
+
|
|
641
|
+
The adapter also implements `joinConversation` and `inviteToConversation`,
|
|
642
|
+
which the gateway's `channel.join` and `channel.invite` tools run on. Both
|
|
643
|
+
use the agent's **own** app and take the channel's id (`C…`, from the
|
|
644
|
+
channel's link or a message), never its name. Their results name the
|
|
645
|
+
channel by id only, because a channel's name and topic are whatever its
|
|
646
|
+
members typed.
|
|
647
|
+
|
|
648
|
+
- **Join** calls `conversations.join`, which works on **public channels
|
|
649
|
+
only**. Slack never lets an app join a private channel on its own: a
|
|
650
|
+
member has to invite it (`/invite @app`). Joining a channel the app is
|
|
651
|
+
already in succeeds with `alreadyMember: true`. Each refusal is a
|
|
652
|
+
sentence: a missing `channels:join` scope with the reinstall step, a
|
|
653
|
+
private channel, an archived one, one at the member limit. Slack answers
|
|
654
|
+
`channel_not_found` both for a wrong id and for a private channel the app
|
|
655
|
+
can't see, so that sentence names both. When Slack's answer leaves it
|
|
656
|
+
unknown whether the app joined (`internal_error`, `fatal_error`, or no
|
|
657
|
+
answer), the call says so; trying again is safe.
|
|
658
|
+
- **Invite** resolves each entry the way a create does (agent ids become
|
|
659
|
+
their app's Slack user in the same workspace; anything else must be a
|
|
660
|
+
`U…` or `W…` id; the inviting app itself can't be invited), then sends
|
|
661
|
+
one `conversations.invite` with `force`. It rejects only when nobody was
|
|
662
|
+
invited: an empty list or more than 1,000 people, or a whole call Slack
|
|
663
|
+
refused (`not_in_channel`, `missing_scope`, `is_archived`,
|
|
664
|
+
`channel_not_found`, `method_not_supported_for_channel_type`, `no_user`,
|
|
665
|
+
`ratelimited`, or a refused token). Every other outcome resolves with
|
|
666
|
+
`invited` and `notInvited`; a failure that may have partly worked is
|
|
667
|
+
settled by the channel's members, as for a new channel.
|
|
668
|
+
|
|
669
|
+
Scopes, all left out of the default manifest: `channels:join` to join;
|
|
670
|
+
`channels:write.invites` (public) or `groups:write.invites` (private) to
|
|
671
|
+
invite, where `channels:manage` and `groups:write` also work. Add them to
|
|
672
|
+
the apps that should have them, under **OAuth & Permissions**, and
|
|
673
|
+
reinstall.
|
|
674
|
+
|
|
675
|
+
## Archiving a channel
|
|
676
|
+
|
|
677
|
+
The adapter implements `archiveConversation`, which the gateway's
|
|
678
|
+
`channel.archive` tool runs on, with the agent's **own** app and the
|
|
679
|
+
channel's id (`C…`). It archives only a channel that app created. It first
|
|
680
|
+
asks `conversations.info` and refuses, before Slack is asked to archive:
|
|
681
|
+
|
|
682
|
+
- a channel whose `creator` isn't the app's bot user, or that has none;
|
|
683
|
+
- a direct message or group DM;
|
|
684
|
+
- a channel shared with another workspace or organization (`is_shared`,
|
|
685
|
+
`is_ext_shared`, `is_org_shared`, `is_pending_ext_shared`), since a person
|
|
686
|
+
outside this workspace would be affected;
|
|
687
|
+
- any channel at all when another agent on this host uses the same app (the
|
|
688
|
+
same bot token, or the same bot user in the same workspace).
|
|
689
|
+
|
|
690
|
+
That last rule is why ownership needs **one app per agent**, as the rest of
|
|
691
|
+
this adapter does: `creator` names the app's bot user, so two agents on one
|
|
692
|
+
app can't tell their channels apart. The check sees only this process, and
|
|
693
|
+
two daemons on one app's tokens are not a supported setup.
|
|
694
|
+
|
|
695
|
+
A channel already archived resolves with `alreadyArchived: true`, so a retry
|
|
696
|
+
changes nothing. Slack's refusals become sentences: a missing
|
|
697
|
+
`channels:manage` (public) or `groups:write` (private) scope with the
|
|
698
|
+
reinstall step, an app that is no longer a member (`not_in_channel`), a
|
|
699
|
+
workspace rule limiting who can archive (`restricted_action`), rate limits
|
|
700
|
+
and refused tokens. When Slack's answer leaves the outcome unknown
|
|
701
|
+
(`internal_error`, `fatal_error`, or no answer), the call says the channel
|
|
702
|
+
may be archived and that trying again is safe. Results and refusals name the
|
|
703
|
+
channel by id only.
|
|
704
|
+
|
|
705
|
+
Archiving can't be undone by the agent: Slack doesn't let bot tokens call
|
|
706
|
+
`conversations.unarchive`. Messages are kept, and a person can unarchive the
|
|
707
|
+
channel in Slack. The gateway also refuses the conversation the agent was
|
|
708
|
+
asked from, so a reply always has somewhere to go.
|
|
709
|
+
|
|
710
|
+
No new scope: an app with the `channel.create` scopes can archive.
|
|
711
|
+
|
|
617
712
|
## Speaking first: the outbound seam
|
|
618
713
|
|
|
619
714
|
The adapter also implements the channel contract's `resolveOutbound` — how a
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ import { type AgentWorkspaces, type TrustLevel, type AdmitPolicy, type ChannelAd
|
|
|
6
6
|
* Counted per daemon, in memory; a restart starts it again.
|
|
7
7
|
*/
|
|
8
8
|
export declare const AGENT_MENTION_HOP_LIMIT = 4;
|
|
9
|
+
/** How an agent's replies appear in Slack; see `SlackAgentConfig.replies`. */
|
|
10
|
+
export type SlackReplyMode = 'final' | 'stream' | 'texts';
|
|
9
11
|
/** One agent's Slack identity: its own app (avatar, presence) and tokens. */
|
|
10
12
|
export interface SlackAgentConfig {
|
|
11
13
|
agentId: string;
|
|
@@ -51,9 +53,11 @@ export interface SlackAgentConfig {
|
|
|
51
53
|
/**
|
|
52
54
|
* How replies appear. `final` (the default) shows Slack's loading status
|
|
53
55
|
* while the turn runs and posts the reply once, finished; `stream` posts
|
|
54
|
-
* a `…` placeholder at once and edits it as the reply is written
|
|
56
|
+
* a `…` placeholder at once and edits it as the reply is written;
|
|
57
|
+
* `texts` is `final` with each paragraph posted as a message of its own,
|
|
58
|
+
* like texting (card 951, see `textingParts`).
|
|
55
59
|
*/
|
|
56
|
-
replies?:
|
|
60
|
+
replies?: SlackReplyMode;
|
|
57
61
|
/**
|
|
58
62
|
* `false` posts this agent's messages without link and media previews
|
|
59
63
|
* (Slack's `unfurl_links`/`unfurl_media`). Absent or `true` leaves
|
|
@@ -269,11 +273,8 @@ export interface SlackHistoryMessage {
|
|
|
269
273
|
subtype?: string;
|
|
270
274
|
thread_ts?: string;
|
|
271
275
|
reply_count?: number;
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
title?: string;
|
|
275
|
-
id?: string;
|
|
276
|
-
}>;
|
|
276
|
+
/** The same file objects an event carries, so a read can fetch an image. */
|
|
277
|
+
files?: SlackInboundFile[];
|
|
277
278
|
}
|
|
278
279
|
export interface SlackHistoryPage {
|
|
279
280
|
messages?: SlackHistoryMessage[];
|
|
@@ -382,6 +383,13 @@ export interface SlackWebLike {
|
|
|
382
383
|
is_ext_shared?: boolean;
|
|
383
384
|
/** Shared across workspaces of an Enterprise Grid organization. */
|
|
384
385
|
is_org_shared?: boolean;
|
|
386
|
+
/** Shared with another workspace in any way. */
|
|
387
|
+
is_shared?: boolean;
|
|
388
|
+
/** A Slack Connect invitation is out and not yet accepted. */
|
|
389
|
+
is_pending_ext_shared?: boolean;
|
|
390
|
+
is_archived?: boolean;
|
|
391
|
+
/** The user who created it; for a channel an app made, the app's bot user. Never changes. */
|
|
392
|
+
creator?: string;
|
|
385
393
|
};
|
|
386
394
|
}>;
|
|
387
395
|
/**
|
|
@@ -450,6 +458,30 @@ export interface SlackWebLike {
|
|
|
450
458
|
error?: string;
|
|
451
459
|
}>;
|
|
452
460
|
}>;
|
|
461
|
+
/**
|
|
462
|
+
* Joins a public channel as the calling app — what `channel.join` runs
|
|
463
|
+
* on. Needs `channels:join`, which the default manifest leaves out.
|
|
464
|
+
* Joining twice succeeds with an `already_in_channel` warning.
|
|
465
|
+
*/
|
|
466
|
+
join?(args: {
|
|
467
|
+
channel: string;
|
|
468
|
+
}): Promise<{
|
|
469
|
+
channel?: {
|
|
470
|
+
id?: string;
|
|
471
|
+
};
|
|
472
|
+
warning?: string;
|
|
473
|
+
response_metadata?: {
|
|
474
|
+
warnings?: string[];
|
|
475
|
+
};
|
|
476
|
+
}>;
|
|
477
|
+
/**
|
|
478
|
+
* Archives a channel — what `channel.archive` runs on. Same scopes as
|
|
479
|
+
* `create` (`channels:manage` public, `groups:write` private). There
|
|
480
|
+
* is no way back for an app: bot tokens can't unarchive.
|
|
481
|
+
*/
|
|
482
|
+
archive?(args: {
|
|
483
|
+
channel: string;
|
|
484
|
+
}): Promise<unknown>;
|
|
453
485
|
};
|
|
454
486
|
users: {
|
|
455
487
|
info(args: {
|
|
@@ -496,6 +528,13 @@ export interface SlackWebLike {
|
|
|
496
528
|
}
|
|
497
529
|
export interface SlackAdapterOptions {
|
|
498
530
|
agents: SlackAgentConfig[];
|
|
531
|
+
/**
|
|
532
|
+
* The agents to carry now, read again on every `reload()`: what the
|
|
533
|
+
* daemon passes so a Slack app stored while it runs connects without a
|
|
534
|
+
* restart. Without it, the adapter has no `reload` and carries `agents`
|
|
535
|
+
* until it stops.
|
|
536
|
+
*/
|
|
537
|
+
loadAgents?: () => Promise<SlackAgentConfig[]>;
|
|
499
538
|
log?: (line: string) => void;
|
|
500
539
|
warn?: (line: string) => void;
|
|
501
540
|
/** Minimum gap between streaming edits per message (chat.update rate limits). */
|
|
@@ -507,7 +546,9 @@ export interface SlackAdapterOptions {
|
|
|
507
546
|
/**
|
|
508
547
|
* Test injection: fetch a file's private URL with the bot token. The
|
|
509
548
|
* Web API client has no call for this — file bytes are served from a
|
|
510
|
-
* plain authenticated URL — so it is its own seam.
|
|
549
|
+
* plain authenticated URL — so it is its own seam. Only ever handed
|
|
550
|
+
* URLs on `https://files.slack.com`: the adapter refuses any other
|
|
551
|
+
* before calling it (see `onlySlackFileHost`).
|
|
511
552
|
*/
|
|
512
553
|
fetchFile?: SlackFileFetcher;
|
|
513
554
|
/**
|
|
@@ -516,6 +557,24 @@ export interface SlackAdapterOptions {
|
|
|
516
557
|
* Defaults to `DEFAULT_FILE_DOWNLOAD_TIMEOUT_MS`.
|
|
517
558
|
*/
|
|
518
559
|
fileDownloadTimeoutMs?: number;
|
|
560
|
+
/**
|
|
561
|
+
* How long `stop()` waits on a socket a reload or start is still
|
|
562
|
+
* starting before it rejects, naming that agent. Defaults to
|
|
563
|
+
* `DEFAULT_STOP_WAIT_MS`.
|
|
564
|
+
*/
|
|
565
|
+
stopWaitMs?: number;
|
|
566
|
+
/**
|
|
567
|
+
* How long an approval prompt waits for the words its turn wrote before
|
|
568
|
+
* the call to be posted first. Defaults to
|
|
569
|
+
* `DEFAULT_APPROVAL_PROMPT_WAIT_MS`.
|
|
570
|
+
*/
|
|
571
|
+
approvalPromptWaitMs?: number;
|
|
572
|
+
/**
|
|
573
|
+
* How long a task works before its progress message opens (card 949).
|
|
574
|
+
* Words the model writes after its first line open it at once. Defaults
|
|
575
|
+
* to `DEFAULT_PROGRESS_AFTER_MS`.
|
|
576
|
+
*/
|
|
577
|
+
progressAfterMs?: number;
|
|
519
578
|
/**
|
|
520
579
|
* Where a text attachment too large to read into the message is saved
|
|
521
580
|
* instead, so the turn can be told a path rather than only a name.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EA6BL,KAAK,eAAe,EAMpB,KAAK,UAAU,EAIf,KAAK,WAAW,EAChB,KAAK,cAAc,EAmBpB,MAAM,oBAAoB,CAAC;AAoE5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAoIzC,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1D,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACpE;AAKD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gHAAgH;QAChH,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,uFAAuF;QACvF,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,yFAAyF;QACzF,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oFAAoF;QACpF,IAAI,CAAC,EAAE;YACL,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,KAAK,CAAC,EAAE;gBAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;oBAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBAAE,CAAC,CAAC,CAAA;aAAE,CAAC;SAChF,CAAC;QACF,0EAA0E;QAC1E,IAAI,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B;;;;;WAKG;QACH,OAAO,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;SAAE,CAAC;KACtE,CAAC;IACF,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,6EAA6E;AAC7E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,sEAAsE;AACtE,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAyCrD,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpI,MAAM,WAAW,eAAe;IAC9B,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,GAAG,IAAI,CAAC;IAC/E,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,MAAM,CAAC,EAAE;YACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;gBAAE,EAAE,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;gBAAE,EAAE,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC,CAAC;SAClD,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,YAAY,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE;QAAE,IAAI,IAAI,OAAO,CAAC;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE;gBAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC7G,IAAI,EAAE;QACJ,WAAW,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;YAAC,YAAY,CAAC,EAAE,OAAO,CAAC;YAAC,YAAY,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC5L,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACrG;;;;WAIG;QACH,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE;;;WAGG;QACH,aAAa,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC5G,CAAC;IACF;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QACV,OAAO,EAAE;YACP,SAAS,CAAC,IAAI,EAAE;gBAAE,UAAU,EAAE,MAAM,CAAC;gBAAC,SAAS,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAC;gBAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3H,CAAC;KACH,CAAC;IACF,KAAK,EAAE;QAGL,QAAQ,CAAC,IAAI,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;KACzI,CAAC;IACF,aAAa,EAAE;QACb;;;;;WAKG;QACH,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC;YACtE,OAAO,CAAC,EAAE;gBACR,EAAE,CAAC,EAAE,MAAM,CAAC;gBACZ,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,SAAS,CAAC,EAAE,OAAO,CAAC;gBACpB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAChB,UAAU,CAAC,EAAE,OAAO,CAAC;gBACrB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAClB,wDAAwD;gBACxD,UAAU,CAAC,EAAE,OAAO,CAAC;gBACrB,8EAA8E;gBAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;gBACnB,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,8DAA8D;gBAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;gBACxB,mEAAmE;gBACnE,aAAa,CAAC,EAAE,OAAO,CAAC;gBACxB,gDAAgD;gBAChD,SAAS,CAAC,EAAE,OAAO,CAAC;gBACpB,8DAA8D;gBAC9D,qBAAqB,CAAC,EAAE,OAAO,CAAC;gBAChC,WAAW,CAAC,EAAE,OAAO,CAAC;gBACtB,6FAA6F;gBAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;SACH,CAAC,CAAC;QACH;;;;WAIG;QACH,OAAO,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAC3E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,iBAAiB,CAAC,EAAE;gBAAE,WAAW,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAC9C,CAAC,CAAC;QACH;;;;;WAKG;QACH,OAAO,CAAC,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5D,0EAA0E;QAC1E,OAAO,CAAC,CAAC,IAAI,EAAE,gBAAgB,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7E;;;;;;;WAOG;QACH,MAAM,CAAC,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,OAAO,CAAC,EAAE;gBAAE,EAAE,CAAC,EAAE,MAAM,CAAC;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAC;QAC5G,QAAQ,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACtE,UAAU,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1E;;;;WAIG;QACH,MAAM,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC;YAC1E,MAAM,CAAC,EAAE,KAAK,CAAC;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SACnD,CAAC,CAAC;QACH;;;;WAIG;QACH,IAAI,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YACxC,OAAO,CAAC,EAAE;gBAAE,EAAE,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,iBAAiB,CAAC,EAAE;gBAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC;SAC7C,CAAC,CAAC;QACH;;;;WAIG;QACH,OAAO,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACvD,CAAC;IACF,KAAK,EAAE;QACL,IAAI,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,IAAI,CAAC,EAAE;gBAAE,IAAI,CAAC,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE;oBAAE,YAAY,CAAC,EAAE,MAAM,CAAC;oBAAC,SAAS,CAAC,EAAE,MAAM,CAAA;iBAAE,CAAA;aAAE,CAAA;SAAE,CAAC,CAAC;KAC9H,CAAC;IACF;;;;;;OAMG;IACH,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,IAAI,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,SAAS,CAAC,EAAE,KAAK,CAAC;gBAAE,KAAK,CAAC,EAAE,MAAM,CAAC;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC,CAAC;KACvG,CAAC;IACF;;;;;OAKG;IACH,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,IAAI,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,UAAU,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACxE,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,eAAe,CAAC;IAC3D,8DAA8D;IAC9D,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,YAAY,CAAC;IACrD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE;QAChB,UAAU,EAAE,eAAe,CAAC;QAC5B,gEAAgE;QAChE,MAAM,EAAE;YAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,CAAC;QACjG;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,oEAAoE,CAAC;AACvG,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,0EAA0E,CAAC;AAuF3G;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,KAAK,YAAY,KAAG,YAQvD,CAAC;AAOF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GAAI,WAAW,OAAO,KAAK,KAAG,gBAgChE,CAAC;AA6+EF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,KAAG,OAO/D,CAAC;AA0bF,eAAO,MAAM,yBAAyB,GAAI,SAAS,mBAAmB,KAAG,cAw4KxE,CAAC"}
|