@getstackrun/cli 0.4.2 → 0.5.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/README.md CHANGED
@@ -1,41 +1,65 @@
1
1
  # @getstackrun/cli
2
2
 
3
- Tail STACK runtime activity in your terminal.
3
+ Tail STACK runtime activity in your terminal. Sign in via OAuth Device flow.
4
4
 
5
5
  ```sh
6
- # replay a real-shape demo (no auth needed)
7
- npx @getstackrun/cli monitor --demo --loop
6
+ # Sign in (browser opens, RFC 8628 Device flow)
7
+ npx @getstackrun/cli auth login
8
8
 
9
- # tail your own audit_log
10
- STACK_API_KEY=sk_live_… npx @getstackrun/cli monitor --follow
9
+ # Tail your audit_log — no env vars needed after auth login
10
+ npx @getstackrun/cli monitor --follow
11
+
12
+ # Replay a real-shape demo (no auth needed)
13
+ npx @getstackrun/cli monitor --demo --loop
11
14
  ```
12
15
 
13
- Both modes render rows of the same shape — straight from `audit_log` columns
14
- on STACK's API. What you see in `--demo` is the same shape `--follow` will
15
- produce against your own data.
16
+ Both monitor modes render rows of the same shape — straight from `audit_log` columns
17
+ on STACK's API. What you see in `--demo` is the same shape `--follow` produces against
18
+ your own data.
16
19
 
17
20
  ## Commands
18
21
 
22
+ ### `auth`
23
+
24
+ ```
25
+ auth login Sign in via the browser (Device flow, RFC 8628).
26
+ Stores a refresh token at ~/.stack/credentials.json
27
+ with mode 0600. SDKs read it automatically.
28
+ auth status Show the current sign-in state (operator email, scope, expiry).
29
+ auth logout Revoke the refresh token and clear the local file.
30
+ ```
31
+
19
32
  ### `monitor`
20
33
 
21
34
  ```
22
35
  --demo Replay a real-shape mission (no auth needed).
23
36
  Same row format as --follow, just scripted.
24
- --follow Tail your operator's actual audit_log.
25
- Requires STACK_API_KEY env var. Polls every 2s.
37
+ --follow Tail your operator's actual audit_log. Polls
38
+ every 2s. Auth picked in priority order:
39
+ 1. STACK_API_KEY env var (legacy CI path)
40
+ 2. ~/.stack/credentials.json (auth login)
26
41
  --loop Loop the demo until Ctrl-C (default is one run).
27
42
  --agent <agent_id> (--follow) Only show entries for this agent.
28
43
  --jti <passport_jti> (--follow) Only show entries for this passport.
44
+ --sandbox (--follow) Tail the public sandbox feed at
45
+ https://api.getstack.run/v1/public/events.
46
+ No auth needed.
29
47
  ```
30
48
 
31
49
  #### Examples
32
50
 
33
51
  ```sh
34
52
  # Tail one agent
35
- STACK_API_KEY=sk_live_… npx @getstackrun/cli monitor --follow --agent abc123
53
+ npx @getstackrun/cli monitor --follow --agent agt_abc123
36
54
 
37
- # Tail one passport (e.g. for debugging a specific revoke chain)
38
- STACK_API_KEY=sk_live_… npx @getstackrun/cli monitor --follow --jti pas_xyz789
55
+ # Tail one passport (e.g. debugging a specific revoke chain)
56
+ npx @getstackrun/cli monitor --follow --jti pas_xyz789
57
+
58
+ # Tail the public sandbox (no signup, no key)
59
+ npx @getstackrun/cli monitor --follow --sandbox
60
+
61
+ # CI mode (no browser)
62
+ STACK_API_KEY=sk_live_… npx @getstackrun/cli monitor --follow
39
63
  ```
40
64
 
41
65
  ### `register`
@@ -46,10 +70,26 @@ npx @getstackrun/cli register
46
70
 
47
71
  Prints signup + MCP-install instructions for connecting STACK to Claude Code.
48
72
 
49
- ## Get an API key
73
+ ## Authentication
74
+
75
+ `auth login` runs the OAuth 2.1 Device Authorization Grant against
76
+ `https://api.getstack.run`:
77
+
78
+ 1. CLI dynamically registers itself as a public PKCE client (one client_id per install).
79
+ 2. Server issues a `device_code` + a human-readable `user_code` (e.g. `WDJB-MJHT`).
80
+ 3. CLI prints the URL + opens your browser to `https://getstack.run/cli/auth?code=...`.
81
+ 4. You confirm the code and approve.
82
+ 5. CLI persists the refresh token to `~/.stack/credentials.json` (mode 0600).
83
+
84
+ Refresh tokens auto-rotate on every use. The same file is also read by both SDKs
85
+ (`@getstackrun/sdk` for TS/JS, `getstack` for Python), so signing in once gives all
86
+ three surfaces a working credential.
87
+
88
+ For CI environments without a browser: keep `STACK_API_KEY=sk_live_...` —
89
+ the CLI still accepts it as a fallback.
50
90
 
51
- Sign up at [getstack.run](https://getstack.run) (magic link, no password).
52
- Copy your key from the dashboard. Set as `STACK_API_KEY` to use `monitor --follow`.
91
+ See [/docs/security/stack-auth](https://getstack.run/docs/security/stack-auth) for
92
+ the full auth model.
53
93
 
54
94
  ## License
55
95
 
package/dist/auth.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ export declare function cmdLogin(): Promise<void>;
2
+ export declare function cmdStatus(): Promise<void>;
3
+ export declare function cmdLogout(): Promise<void>;
4
+ /**
5
+ * Used by `monitor --follow` and any future authenticated command.
6
+ * Returns a fresh access token by exchanging the stored refresh token.
7
+ * Falls back to STACK_API_KEY env var for back-compat with existing
8
+ * users who haven't migrated. Returns null when no auth source exists.
9
+ */
10
+ export declare function getAccessToken(): Promise<string | null>;
11
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AA+IA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA0E9C;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB/C;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB/C;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiC7D"}
package/dist/auth.js ADDED
@@ -0,0 +1,283 @@
1
+ // CLI auth — Device Authorization Grant (RFC 8628).
2
+ //
3
+ // stack-cli auth login → DCR-register a client (first run only), kick off
4
+ // the device flow, print user_code + URL, open the browser, poll the
5
+ // token endpoint, persist refresh_token to ~/.stack/credentials.json.
6
+ // stack-cli auth status → read credentials, exchange refresh → access,
7
+ // call /v1/operators/me, print operator + scope.
8
+ // stack-cli auth logout → revoke refresh, delete credentials file.
9
+ //
10
+ // No native deps. Refresh tokens live in a file with mode 0600. macOS
11
+ // Keychain / Windows Credential Manager / libsecret integration is a
12
+ // follow-up — Phase 3 closes the file-on-disk threat with passkey-rooted
13
+ // retrieval. Until then this matches the storage model of `aws cli`,
14
+ // `gcloud`, etc.
15
+ import { stdout, stderr, env, exit, platform } from 'node:process';
16
+ import { homedir } from 'node:os';
17
+ import { join } from 'node:path';
18
+ import { mkdir, writeFile, readFile, chmod, unlink } from 'node:fs/promises';
19
+ import { spawn } from 'node:child_process';
20
+ import { createHash, randomBytes } from 'node:crypto';
21
+ const API_URL = env['STACK_API_URL'] ?? 'https://api.getstack.run';
22
+ const RESOURCE = env['STACK_OAUTH_RESOURCE'] ?? `${API_URL}`;
23
+ const SCOPE = env['STACK_OAUTH_SCOPE'] ?? 'passports:read agents:read services:read audit:read';
24
+ const useColor = stdout.isTTY === true && !env['NO_COLOR'];
25
+ const color = (n) => (useColor ? `\x1b[${n}m` : '');
26
+ const C = {
27
+ reset: color('0'), bold: color('1'), dim: color('2'),
28
+ red: color('31'), green: color('32'), yellow: color('33'), cyan: color('36'), gray: color('90'), white: color('37'),
29
+ };
30
+ const CREDS_DIR = join(homedir(), '.stack');
31
+ const CREDS_PATH = join(CREDS_DIR, 'credentials.json');
32
+ async function readCreds() {
33
+ try {
34
+ const raw = await readFile(CREDS_PATH, 'utf8');
35
+ return JSON.parse(raw);
36
+ }
37
+ catch {
38
+ return null;
39
+ }
40
+ }
41
+ async function writeCreds(creds) {
42
+ await mkdir(CREDS_DIR, { recursive: true });
43
+ await writeFile(CREDS_PATH, JSON.stringify(creds, null, 2), 'utf8');
44
+ // Restrict to owner — best-effort on Windows where chmod is a no-op,
45
+ // but the default ACL on %USERPROFILE%\.stack is already user-scoped.
46
+ try {
47
+ await chmod(CREDS_PATH, 0o600);
48
+ }
49
+ catch {
50
+ /* Windows / unsupported FS — ignore */
51
+ }
52
+ }
53
+ async function deleteCreds() {
54
+ try {
55
+ await unlink(CREDS_PATH);
56
+ }
57
+ catch {
58
+ /* already gone */
59
+ }
60
+ }
61
+ function openBrowser(url) {
62
+ // Best-effort. Failure is silent — the URL is also printed.
63
+ try {
64
+ if (platform === 'darwin')
65
+ spawn('open', [url], { stdio: 'ignore', detached: true }).unref();
66
+ else if (platform === 'win32')
67
+ spawn('cmd', ['/c', 'start', '', url], { stdio: 'ignore', detached: true }).unref();
68
+ else
69
+ spawn('xdg-open', [url], { stdio: 'ignore', detached: true }).unref();
70
+ }
71
+ catch {
72
+ /* user opens manually */
73
+ }
74
+ }
75
+ async function ensureClientId(creds) {
76
+ if (creds?.client_id)
77
+ return creds.client_id;
78
+ // Dynamic Client Registration (RFC 7591). Public PKCE client; one
79
+ // client_id per CLI install — better blast radius than a single
80
+ // shared client_id.
81
+ const res = await fetch(`${API_URL}/oauth/register`, {
82
+ method: 'POST',
83
+ headers: { 'Content-Type': 'application/json' },
84
+ body: JSON.stringify({
85
+ client_name: 'STACK CLI',
86
+ redirect_uris: ['http://127.0.0.1/callback'], // unused for device flow but required by spec
87
+ grant_types: ['urn:ietf:params:oauth:grant-type:device_code', 'refresh_token'],
88
+ software_id: 'getstack.cli',
89
+ scope: SCOPE,
90
+ }),
91
+ });
92
+ if (!res.ok) {
93
+ const data = await res.json().catch(() => ({}));
94
+ throw new Error(`client registration failed: ${data.error_description ?? data.error ?? res.statusText}`);
95
+ }
96
+ const data = (await res.json());
97
+ return data.client_id;
98
+ }
99
+ async function pollToken(deviceCode, clientId, intervalSeconds) {
100
+ let interval = intervalSeconds * 1000;
101
+ // Cap total wait at the device code TTL (15 min) — the API will return
102
+ // expired_token once it lapses, but bail explicitly so the CLI doesn't
103
+ // loop indefinitely if the API is unreachable.
104
+ const deadline = Date.now() + 15 * 60 * 1000;
105
+ while (Date.now() < deadline) {
106
+ await new Promise((r) => setTimeout(r, interval));
107
+ const res = await fetch(`${API_URL}/oauth/token`, {
108
+ method: 'POST',
109
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
110
+ body: new URLSearchParams({
111
+ grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
112
+ device_code: deviceCode,
113
+ client_id: clientId,
114
+ }),
115
+ });
116
+ const data = (await res.json().catch(() => ({})));
117
+ if (res.ok && data.access_token && data.refresh_token) {
118
+ return { access_token: data.access_token, refresh_token: data.refresh_token, scope: data.scope ?? SCOPE };
119
+ }
120
+ if (data.error === 'authorization_pending')
121
+ continue;
122
+ if (data.error === 'slow_down') {
123
+ interval = Math.min(interval * 2, 60_000);
124
+ continue;
125
+ }
126
+ if (data.error === 'access_denied')
127
+ throw new Error('user denied the request');
128
+ if (data.error === 'expired_token')
129
+ throw new Error('device code expired — run `stack-cli auth login` again');
130
+ if (data.error)
131
+ throw new Error(`token endpoint: ${data.error}`);
132
+ }
133
+ throw new Error('device code expired (CLI timeout)');
134
+ }
135
+ export async function cmdLogin() {
136
+ const existing = await readCreds();
137
+ const clientId = await ensureClientId(existing);
138
+ // Kick off the device flow.
139
+ const deviceRes = await fetch(`${API_URL}/oauth/device/authorize`, {
140
+ method: 'POST',
141
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
142
+ body: new URLSearchParams({ client_id: clientId, scope: SCOPE, resource: RESOURCE }),
143
+ });
144
+ if (!deviceRes.ok) {
145
+ const data = (await deviceRes.json().catch(() => ({})));
146
+ stderr.write(`${C.red}error:${C.reset} ${data.error_description ?? data.error ?? `HTTP ${deviceRes.status}`}\n`);
147
+ exit(1);
148
+ }
149
+ const device = (await deviceRes.json());
150
+ stdout.write(`
151
+ ${C.bold}STACK CLI sign-in${C.reset}
152
+ ${C.gray}─────────────────${C.reset}
153
+
154
+ ${C.dim}1.${C.reset} Open this URL in your browser:
155
+ ${C.cyan}${device.verification_uri_complete}${C.reset}
156
+
157
+ ${C.dim}2.${C.reset} Confirm this code matches what your browser shows:
158
+ ${C.bold}${C.green}${device.user_code}${C.reset}
159
+
160
+ ${C.gray}Waiting for approval...${C.reset}
161
+
162
+ `);
163
+ openBrowser(device.verification_uri_complete);
164
+ let tokens;
165
+ try {
166
+ tokens = await pollToken(device.device_code, clientId, device.interval);
167
+ }
168
+ catch (err) {
169
+ stderr.write(`${C.red}error:${C.reset} ${err.message}\n`);
170
+ exit(1);
171
+ }
172
+ // Fetch operator email for friendly status display. Best-effort.
173
+ let operatorEmail;
174
+ try {
175
+ const meRes = await fetch(`${API_URL}/v1/operators/me`, {
176
+ headers: { Authorization: `Bearer ${tokens.access_token}` },
177
+ });
178
+ if (meRes.ok) {
179
+ const me = (await meRes.json());
180
+ operatorEmail = me.email;
181
+ }
182
+ }
183
+ catch {
184
+ /* non-fatal */
185
+ }
186
+ await writeCreds({
187
+ client_id: clientId,
188
+ refresh_token: tokens.refresh_token,
189
+ issued_at: Math.floor(Date.now() / 1000),
190
+ refresh_expires_at: Math.floor(Date.now() / 1000) + 30 * 24 * 60 * 60,
191
+ operator_email: operatorEmail,
192
+ scope: tokens.scope,
193
+ });
194
+ stdout.write(` ${C.green}✓${C.reset} Signed in${operatorEmail ? ` as ${C.bold}${operatorEmail}${C.reset}` : ''}
195
+ ${C.gray}Credentials saved to ${CREDS_PATH}${C.reset}
196
+
197
+ `);
198
+ }
199
+ export async function cmdStatus() {
200
+ const creds = await readCreds();
201
+ if (!creds) {
202
+ stdout.write(`${C.gray}Not signed in.${C.reset} Run ${C.cyan}stack-cli auth login${C.reset}.\n`);
203
+ exit(1);
204
+ }
205
+ const refreshExpiresIn = creds.refresh_expires_at - Math.floor(Date.now() / 1000);
206
+ if (refreshExpiresIn <= 0) {
207
+ stdout.write(`${C.yellow}Session expired.${C.reset} Run ${C.cyan}stack-cli auth login${C.reset} again.\n`);
208
+ exit(1);
209
+ }
210
+ const days = Math.floor(refreshExpiresIn / 86400);
211
+ stdout.write(` ${C.green}✓${C.reset} Signed in${creds.operator_email ? ` as ${C.bold}${creds.operator_email}${C.reset}` : ''}
212
+ ${C.gray}Scope:${C.reset} ${creds.scope}
213
+ ${C.gray}Client:${C.reset} ${creds.client_id}
214
+ ${C.gray}Expires:${C.reset} in ${days} day${days === 1 ? '' : 's'}
215
+ ${C.gray}File:${C.reset} ${CREDS_PATH}
216
+ `);
217
+ }
218
+ export async function cmdLogout() {
219
+ const creds = await readCreds();
220
+ if (!creds) {
221
+ stdout.write(`${C.gray}Not signed in.${C.reset}\n`);
222
+ return;
223
+ }
224
+ // Best-effort revoke. Failure on the network doesn't stop us deleting
225
+ // the local file — that's the user's intent here.
226
+ try {
227
+ await fetch(`${API_URL}/oauth/revoke`, {
228
+ method: 'POST',
229
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
230
+ body: new URLSearchParams({ token: creds.refresh_token, client_id: creds.client_id }),
231
+ });
232
+ }
233
+ catch {
234
+ /* network error — local file removal still succeeds */
235
+ }
236
+ await deleteCreds();
237
+ stdout.write(` ${C.green}✓${C.reset} Signed out\n`);
238
+ }
239
+ /**
240
+ * Used by `monitor --follow` and any future authenticated command.
241
+ * Returns a fresh access token by exchanging the stored refresh token.
242
+ * Falls back to STACK_API_KEY env var for back-compat with existing
243
+ * users who haven't migrated. Returns null when no auth source exists.
244
+ */
245
+ export async function getAccessToken() {
246
+ const apiKey = env['STACK_API_KEY'];
247
+ if (apiKey)
248
+ return apiKey; // legacy path
249
+ const creds = await readCreds();
250
+ if (!creds)
251
+ return null;
252
+ const res = await fetch(`${API_URL}/oauth/token`, {
253
+ method: 'POST',
254
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
255
+ body: new URLSearchParams({
256
+ grant_type: 'refresh_token',
257
+ refresh_token: creds.refresh_token,
258
+ client_id: creds.client_id,
259
+ }),
260
+ });
261
+ if (!res.ok) {
262
+ const data = (await res.json().catch(() => ({})));
263
+ if (data.error === 'invalid_grant') {
264
+ // Refresh revoked or family broken — wipe and force re-login.
265
+ await deleteCreds();
266
+ }
267
+ return null;
268
+ }
269
+ const data = (await res.json());
270
+ // Rotate stored refresh.
271
+ await writeCreds({
272
+ ...creds,
273
+ refresh_token: data.refresh_token,
274
+ issued_at: Math.floor(Date.now() / 1000),
275
+ refresh_expires_at: Math.floor(Date.now() / 1000) + 30 * 24 * 60 * 60,
276
+ });
277
+ return data.access_token;
278
+ }
279
+ // Suppress unused-import warnings for crypto helpers we may need in
280
+ // future Phase-2 SDK-keypair-style additions; safe no-op today.
281
+ void createHash;
282
+ void randomBytes;
283
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { argv, env, stdout, stderr } from 'node:process';
3
+ import { cmdLogin, cmdLogout, cmdStatus, getAccessToken } from './auth.js';
3
4
  const DASHBOARD_URL = 'https://getstack.run';
4
5
  const API_URL = env['STACK_API_URL'] ?? 'https://api.getstack.run';
5
6
  // ── ANSI helpers ────────────────────────────────────────────────────
@@ -101,14 +102,18 @@ async function runDemo(loop) {
101
102
  }
102
103
  } while (loop);
103
104
  }
104
- function authToken() {
105
- const key = env['STACK_API_KEY'] ?? '';
106
- if (!key) {
107
- stderr.write(`${C.red}error:${C.reset} STACK_API_KEY not set.\n` +
108
- `Run ${C.cyan}npx @getstackrun/cli register${C.reset} or grab your key from ${DASHBOARD_URL}/account.\n`);
109
- process.exit(2);
110
- }
111
- return key;
105
+ async function authToken() {
106
+ // Three sources, in priority order:
107
+ // 1. STACK_API_KEY env var (legacy sk_live_* path, preserved for CI)
108
+ // 2. ~/.stack/credentials.json refresh_token → exchange for access
109
+ // 3. Nothing — point user at `stack-cli auth login`
110
+ const token = await getAccessToken();
111
+ if (token)
112
+ return token;
113
+ stderr.write(`${C.red}error:${C.reset} not signed in.\n` +
114
+ `Run ${C.cyan}stack-cli auth login${C.reset} (recommended) ` +
115
+ `or set ${C.cyan}STACK_API_KEY${C.reset} for the legacy path.\n`);
116
+ process.exit(2);
112
117
  }
113
118
  /**
114
119
  * Map an audit row (wire layer + action) to its display layer.
@@ -179,7 +184,7 @@ async function runFollow(filters) {
179
184
  // API key needed; same shape as /v1/audit. Used by the landing
180
185
  // demo + anyone who wants to watch the shared sandbox stream.
181
186
  const sandbox = filters.sandbox === true;
182
- const key = sandbox ? null : authToken();
187
+ const key = sandbox ? null : await authToken();
183
188
  let watermark = null;
184
189
  let firstTick = true;
185
190
  const filterDesc = sandbox ? ' · public sandbox'
@@ -246,6 +251,9 @@ ${C.white}Usage${C.reset}
246
251
  npx @getstackrun/cli ${C.cyan}<command>${C.reset} [options]
247
252
 
248
253
  ${C.white}Commands${C.reset}
254
+ ${C.cyan}auth login${C.reset} Sign in via browser (Device flow, RFC 8628)
255
+ ${C.cyan}auth status${C.reset} Show current sign-in state
256
+ ${C.cyan}auth logout${C.reset} Revoke session and clear local credentials
249
257
  ${C.cyan}register${C.reset} Print signup + MCP install instructions
250
258
  ${C.cyan}monitor${C.reset} [--demo|--follow] Tail STACK activity in your terminal
251
259
 
@@ -277,6 +285,23 @@ ${C.white}Examples${C.reset}
277
285
  }
278
286
  async function main() {
279
287
  const command = argv[2];
288
+ if (command === 'auth') {
289
+ const sub = argv[3];
290
+ if (sub === 'login') {
291
+ await cmdLogin();
292
+ return;
293
+ }
294
+ if (sub === 'logout') {
295
+ await cmdLogout();
296
+ return;
297
+ }
298
+ if (sub === 'status') {
299
+ await cmdStatus();
300
+ return;
301
+ }
302
+ stderr.write(`error: unknown auth subcommand "${sub ?? ''}". Use login | logout | status.\n`);
303
+ process.exit(2);
304
+ }
280
305
  if (command === 'register') {
281
306
  stdout.write(`
282
307
  STACK — Infrastructure for agents
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,0BAA0B,CAAC;AAEnE,uEAAuE;AAEvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;AACpC,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3C,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC;AACD,MAAM,CAAC,GAAG;IACR,KAAK,EAAG,IAAI,CAAC,GAAG,CAAC;IACjB,GAAG,EAAK,IAAI,CAAC,GAAG,CAAC;IACjB,IAAI,EAAI,IAAI,CAAC,GAAG,CAAC;IACjB,GAAG,EAAK,IAAI,CAAC,IAAI,CAAC;IAClB,KAAK,EAAG,IAAI,CAAC,IAAI,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;IAClB,IAAI,EAAI,IAAI,CAAC,IAAI,CAAC;IAClB,KAAK,EAAG,IAAI,CAAC,IAAI,CAAC;IAClB,IAAI,EAAI,IAAI,CAAC,IAAI,CAAC;CACnB,CAAC;AAiCF,SAAS,WAAW,CAAC,GAAa;IAChC,sEAAsE;IACtE,oEAAoE;IACpE,2DAA2D;IAC3D,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAC7C,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC9C,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC;IACnE,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,OAAO,CAAC;IAC7D,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAmB;QAAE,OAAO,UAAU,CAAC;IAC1D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,GAAa,EAAE,QAAe,WAAW,CAAC,GAAG,CAAC;IAC/D,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxF,MAAM,MAAM,GACV,KAAK,KAAK,OAAO,CAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9C,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACzB,GAAG,CAAC;IAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,MAAM,YAAY,GAChB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrC,GAAG,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACtC,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC1D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;4BACP,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,UAAU,GAAG,GAAG,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,IAAI,IAAI;QACpC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;QAC9D,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa;QAC9B,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,KAAK,EAAE;QAC7C,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,KAAK,SAAS,KAAK,UAAU,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC;AAC5G,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU,IAAI,IAAI,EAAE;IACpC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAmBD,mEAAmE;AACnE,yEAAyE;AACzE,8DAA8D;AAC9D,MAAM,IAAI,GAAgB;IACxB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;IAClI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAY,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;IAClI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAS,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,OAAO,EAAK,MAAM,EAAE,kBAAkB,EAAU,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,OAAO,EAAK,MAAM,EAAE,kBAAkB,EAAU,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAO,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,OAAO,EAAK,MAAM,EAAE,kBAAkB,EAAU,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,OAAO,EAAK,MAAM,EAAE,kBAAkB,EAAU,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,8DAA8D,EAAE,OAAO,EAAE,GAAG,EAAE;IAC5L,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAW,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;IAClI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;IAClI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAS,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;CACpI,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAAa;IAClC,GAAG,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,6BAA6B,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,6FAA6F,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAClI,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,QAAQ,IAAI,EAAE;AACjB,CAAC;AA+BD,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,CACV,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,2BAA2B;YACnD,OAAO,CAAC,CAAC,IAAI,gCAAgC,CAAC,CAAC,KAAK,0BAA0B,aAAa,aAAa,CACzG,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,SAAgB,EAAE,MAA0B;IACzE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,MAAM,KAAK,kBAAkB;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,YAAY,CAAC;IAC1D,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrF,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrJ,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACpF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAa;IACxC,IAAI,CAAC,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;QACtC,kEAAkE;QAClE,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;QACrC,MAAM,OAAO,GAAY,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM;YAChF,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,UAAU,CAAC;QACf,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YAClC,OAAO;YACP,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;YAChC,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;SACnE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAc,CAAC;QACnH,CAAC,CAAE,CAAC,CAAC,KAAe;QACpB,CAAC,CAAC,QAAQ,CAAC;IACb,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAAY,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;QAC1D,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;YACrC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;gBACrC,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,KAAK;QACL,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,OAAO;QACP,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;QAClC,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;KACnE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAA8D;IACrF,mEAAmE;IACnE,+DAA+D;IAC/D,8DAA8D;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACzC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB;QAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE;YACjD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAK,CAAC,CAAC,UAAU,OAAO,CAAC,GAAG,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,+BAA+B,UAAU,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,aAAa,OAAO,GAAG,QAAQ,8BAA8B,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IAElG,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,IAAI,SAAS,IAAI,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG;gBAAM,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACzE,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YACvE,IAAI,GAAG;gBAAE,OAAO,CAAC,aAAa,GAAG,UAAU,GAAG,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,4BAA4B,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;oBACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA+B,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,OAAO;qBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;qBACzE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,0DAA0D;gBAC1D,yDAAyD;gBACzD,iDAAiD;gBACjD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvD,IAAI,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,EAAE,CAAC;wBACzD,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClC,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,IAAK,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;gBACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,uEAAuE;AAEvE,SAAS,SAAS;IAChB,MAAM,CAAC,KAAK,CAAC;EACb,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,KAAK;;EAEpC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,KAAK;yBACC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK;;EAEhD,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK;IACvB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK;IACxB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK;;EAEzB,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,KAAK;;;;;;;;;6BASH,OAAO;;;EAGlC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK;IACvB,CAAC,CAAC,IAAI,mEAAmE,CAAC,CAAC,KAAK;;;IAGhF,CAAC,CAAC,IAAI,gDAAgD,CAAC,CAAC,KAAK;;;IAG7D,CAAC,CAAC,IAAI,0CAA0C,CAAC,CAAC,KAAK;;;IAGvD,CAAC,CAAC,IAAI,wBAAwB,CAAC,CAAC,KAAK;;CAExC,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC;;;;4BAIW,aAAa;;;;;OAKlC,CAAC,CAAC,IAAI,mHAAmH,CAAC,CAAC,KAAK;;CAEtI,CAAC,CAAC;QACC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,SAAS,SAAS,CAAC,IAAY;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IAED,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,IAAK,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3E,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,0BAA0B,CAAC;AAEnE,uEAAuE;AAEvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;AACpC,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3C,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACzC,CAAC;AACD,MAAM,CAAC,GAAG;IACR,KAAK,EAAG,IAAI,CAAC,GAAG,CAAC;IACjB,GAAG,EAAK,IAAI,CAAC,GAAG,CAAC;IACjB,IAAI,EAAI,IAAI,CAAC,GAAG,CAAC;IACjB,GAAG,EAAK,IAAI,CAAC,IAAI,CAAC;IAClB,KAAK,EAAG,IAAI,CAAC,IAAI,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;IAClB,IAAI,EAAI,IAAI,CAAC,IAAI,CAAC;IAClB,KAAK,EAAG,IAAI,CAAC,IAAI,CAAC;IAClB,IAAI,EAAI,IAAI,CAAC,IAAI,CAAC;CACnB,CAAC;AAiCF,SAAS,WAAW,CAAC,GAAa;IAChC,sEAAsE;IACtE,oEAAoE;IACpE,2DAA2D;IAC3D,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAC7C,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC9C,IAAI,GAAG,CAAC,OAAO,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa;QAAE,OAAO,OAAO,CAAC;IACnE,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,OAAO,CAAC;IAC7D,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAmB;QAAE,OAAO,UAAU,CAAC;IAC1D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,GAAa,EAAE,QAAe,WAAW,CAAC,GAAG,CAAC;IAC/D,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxF,MAAM,MAAM,GACV,KAAK,KAAK,OAAO,CAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9C,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACzB,GAAG,CAAC;IAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,MAAM,YAAY,GAChB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrC,GAAG,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACtC,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC1D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;4BACP,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,UAAU,GAAG,GAAG,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,IAAI,IAAI;QACpC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;QAC9D,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa;QAC9B,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,KAAK,EAAE;QAC7C,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,KAAK,SAAS,KAAK,UAAU,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC;AAC5G,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU,IAAI,IAAI,EAAE;IACpC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAmBD,mEAAmE;AACnE,yEAAyE;AACzE,8DAA8D;AAC9D,MAAM,IAAI,GAAgB;IACxB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;IAClI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAY,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;IAClI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAS,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,OAAO,EAAK,MAAM,EAAE,kBAAkB,EAAU,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,OAAO,EAAK,MAAM,EAAE,kBAAkB,EAAU,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAO,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,OAAO,EAAK,MAAM,EAAE,kBAAkB,EAAU,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnI,EAAE,KAAK,EAAE,OAAO,EAAK,MAAM,EAAE,kBAAkB,EAAU,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,8DAA8D,EAAE,OAAO,EAAE,GAAG,EAAE;IAC5L,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAW,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;IAClI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,yBAAyB,EAAG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;IAClI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAS,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAG,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;CACpI,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAAa;IAClC,GAAG,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,6BAA6B,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,6FAA6F,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAClI,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,QAAQ,IAAI,EAAE;AACjB,CAAC;AA+BD,KAAK,UAAU,SAAS;IACtB,oCAAoC;IACpC,uEAAuE;IACvE,qEAAqE;IACrE,sDAAsD;IACtD,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;IACrC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,CAAC,KAAK,CACV,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,mBAAmB;QAC3C,OAAO,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,KAAK,iBAAiB;QAC5D,UAAU,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,KAAK,yBAAyB,CACjE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,SAAgB,EAAE,MAA0B;IACzE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,MAAM,KAAK,kBAAkB;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,YAAY,CAAC;IAC1D,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrF,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrJ,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACpF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAa;IACxC,IAAI,CAAC,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;QACtC,kEAAkE;QAClE,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;QACrC,MAAM,OAAO,GAAY,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM;YAChF,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,UAAU,CAAC;QACf,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YAClC,OAAO;YACP,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;YAChC,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;SACnE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAc,CAAC;QACnH,CAAC,CAAE,CAAC,CAAC,KAAe;QACpB,CAAC,CAAC,QAAQ,CAAC;IACb,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAAY,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;QAC1D,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;YACrC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;gBACrC,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,KAAK;QACL,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,OAAO;QACP,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;QAClC,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;KACnE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAA8D;IACrF,mEAAmE;IACnE,+DAA+D;IAC/D,8DAA8D;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC;IAC/C,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB;QAC9C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE;YACjD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAK,CAAC,CAAC,UAAU,OAAO,CAAC,GAAG,EAAE;gBAC3C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,+BAA+B,UAAU,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/E,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,aAAa,OAAO,GAAG,QAAQ,8BAA8B,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IAElG,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,IAAI,SAAS,IAAI,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG;gBAAM,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACzE,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;YACvE,IAAI,GAAG;gBAAE,OAAO,CAAC,aAAa,GAAG,UAAU,GAAG,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,4BAA4B,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;oBACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA+B,CAAC;gBAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,OAAO;qBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;qBACzE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,0DAA0D;gBAC1D,yDAAyD;gBACzD,iDAAiD;gBACjD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBACvD,IAAI,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,EAAE,CAAC;wBACzD,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClC,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,IAAK,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;gBACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,uEAAuE;AAEvE,SAAS,SAAS;IAChB,MAAM,CAAC,KAAK,CAAC;EACb,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,KAAK;;EAEpC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,KAAK;yBACC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK;;EAEhD,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK;IACvB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,KAAK;IAC1B,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,KAAK;IAC3B,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,KAAK;IAC3B,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK;IACxB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK;;EAEzB,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,KAAK;;;;;;;;;6BASH,OAAO;;;EAGlC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK;IACvB,CAAC,CAAC,IAAI,mEAAmE,CAAC,CAAC,KAAK;;;IAGhF,CAAC,CAAC,IAAI,gDAAgD,CAAC,CAAC,KAAK;;;IAG7D,CAAC,CAAC,IAAI,0CAA0C,CAAC,CAAC,KAAK;;;IAGvD,CAAC,CAAC,IAAI,wBAAwB,CAAC,CAAC,KAAK;;CAExC,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,OAAO,EAAI,CAAC;YAAC,MAAM,QAAQ,EAAE,CAAC;YAAE,OAAO;QAAC,CAAC;QACrD,IAAI,GAAG,KAAK,QAAQ,EAAG,CAAC;YAAC,MAAM,SAAS,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACrD,IAAI,GAAG,KAAK,QAAQ,EAAG,CAAC;YAAC,MAAM,SAAS,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,IAAI,EAAE,mCAAmC,CAAC,CAAC;QAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC;;;;4BAIW,aAAa;;;;;OAKlC,CAAC,CAAC,IAAI,mHAAmH,CAAC,CAAC,KAAK;;CAEtI,CAAC,CAAC;QACC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,SAAS,SAAS,CAAC,IAAY;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IAED,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,KAAK,IAAK,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getstackrun/cli",
3
- "version": "0.4.2",
3
+ "version": "0.5.0",
4
4
  "description": "Tail STACK runtime activity in your terminal — replay a real-shape demo or stream your own audit_log.",
5
5
  "type": "module",
6
6
  "bin": {