@detergent-software/atk 9.2.0-dev.4 → 9.2.0-dev.6

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.
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
2
+ import { Box, Text, useApp } from 'ink';
3
+ import { useCallback, useEffect, useMemo, useState } from 'react';
3
4
  import { z } from 'zod';
4
- import { assetCount, AssetVersionLine, DryRunBanner, ErrorView, LocalEditsHint, RunStoppedHint, SkippedAssetSection, Spinner, UndeclaredRemovedHint, } from '../components/index.js';
5
+ import { assetCount, AssetVersionLine, DryRunBanner, ErrorView, LocalEditsHint, MultiSelectList, RunStoppedHint, SkippedAssetSection, Spinner, UndeclaredRemovedHint, } from '../components/index.js';
5
6
  import { useCommand } from '../hooks/useCommand.js';
6
7
  import { useResolvedScope } from '../hooks/useResolvedScope.js';
7
8
  import { findLocalEdits, isDependedOn } from '../lib/local-edits.js';
@@ -13,7 +14,7 @@ import { fetchRegistry } from '../lib/registry.js';
13
14
  import { AssetType } from '../lib/schemas/index.js';
14
15
  import { loadScopeConfig, scopedCommand, scopeLabel } from '../lib/scope.js';
15
16
  import { resolvePlacingTools, resolveTools } from '../lib/tool-resolver.js';
16
- import { checkOutdated, findUpdateTarget, removeUndeclaredAfterUpdate, updateAssets, withDependencyEdits, } from '../lib/updater.js';
17
+ import { checkOutdated, findUpdateTarget, removeUndeclaredAfterUpdate, updateAssets, UpdaterError, withDependencyEdits, } from '../lib/updater.js';
17
18
  import { parseNameVersion } from '../lib/version.js';
18
19
  export const description = 'Update installed assets';
19
20
  export const options = z.object({
@@ -31,6 +32,14 @@ export const options = z.object({
31
32
  alias: 'f',
32
33
  description: 'Override version pins on targeted assets, and overwrite local edits',
33
34
  })),
35
+ interactive: z
36
+ .boolean()
37
+ .optional()
38
+ .describe(option({
39
+ // Not -i, which is --from-installed: a letter means one long flag on every command (ATK-596).
40
+ alias: 'I',
41
+ description: 'Pick the outdated assets to update from a list (needs an interactive terminal)',
42
+ })),
34
43
  json: z
35
44
  .boolean()
36
45
  .default(false)
@@ -70,53 +79,246 @@ export const options = z.object({
70
79
  description: 'Use the user scope (the user root, ~ by default) instead of the project',
71
80
  })),
72
81
  });
73
- export const args = z.tuple([
82
+ export const args = z
83
+ .tuple([
74
84
  z
75
85
  .string()
76
86
  .optional()
77
87
  .describe(argument({ description: 'Asset name (updates all if omitted, supports name@version syntax)', name: 'name' })),
78
- ]);
79
- export default function Update({ args: [rawName], options: { dryRun, force, json, projectRoot, tool, type, user }, }) {
80
- const parsed = rawName ? parseNameVersion(rawName) : undefined;
88
+ ])
89
+ .rest(z.string().describe(argument({ description: 'More assets to update to their latest versions', name: 'names' })));
90
+ export default function Update({ args: [rawName, ...more], options }) {
91
+ const specs = rawName ? [rawName, ...more] : more;
92
+ if (options.interactive)
93
+ return _jsx(UpdatePicker, { options: options, specs: specs });
94
+ return _jsx(UpdateRun, { options: options, specs: specs });
95
+ }
96
+ /** The outdated assets a run that names them all would leave alone, apart from those it updates. */
97
+ function byUpdatability(outdated, localEdits, { force, named }) {
98
+ const skippedEdited = [];
99
+ const skippedFrozen = [];
100
+ const skippedPinned = [];
101
+ const updatable = [];
102
+ for (const o of outdated) {
103
+ const edits = localEdits.get(identityKey(o));
104
+ if (o.frozen) {
105
+ skippedFrozen.push(o);
106
+ }
107
+ else if (o.pinned && !(force && named)) {
108
+ skippedPinned.push(o);
109
+ }
110
+ else if (edits) {
111
+ const { dependencies, files, unchecked } = edits;
112
+ skippedEdited.push({
113
+ ...o,
114
+ ...(dependencies ? { dependencies } : {}),
115
+ files,
116
+ ...(unchecked ? { unchecked } : {}),
117
+ });
118
+ }
119
+ else {
120
+ updatable.push(o);
121
+ }
122
+ }
123
+ return { skippedEdited, skippedFrozen, skippedPinned, updatable };
124
+ }
125
+ /** The outdated assets an update would leave alone because their files were edited. */
126
+ function EditedSkipped({ dryRun = false, items, scope, showSpacer, }) {
127
+ if (items.length === 0)
128
+ return null;
129
+ const force = scopedCommand('atk update <name> --force', scope);
130
+ return (_jsx(Box, { marginTop: showSpacer ? 1 : 0, children: _jsx(LocalEditsHint, { assets: items, heading: `${dryRun ? 'Would keep' : 'Kept'} local edits in ${assetCount(items.length)}, not updated (run ${force} to overwrite them):` }) }));
131
+ }
132
+ /**
133
+ * What every update run reads first, in this order: the scope, its frozen assets, the tools and
134
+ * the registry. `localEditsOf` finds the edits an update of `outdated` would overwrite.
135
+ */
136
+ async function loadUpdateContext(progress, { resolve, targetVersion, tool }) {
137
+ const { root: projectDir, scope } = await resolve();
138
+ // Load the scope's config to get frozen assets
139
+ const projectConfig = await loadScopeConfig(projectDir);
140
+ const frozenNames = new Set((projectConfig?.frozenAssets ?? []).map((a) => `${a.type}:${a.org ?? ''}:${a.name}`));
141
+ const tools = await resolvePlacingTools(tool, projectDir);
142
+ const toolNames = tools.map((t) => t.tool);
143
+ progress('Fetching registry...');
144
+ const registry = await fetchRegistry({ force: true });
145
+ // Found once, before any tool updates (each tool's update rewrites its files), and the same
146
+ // way for the dry run: the assets with edits, and those whose update would overwrite an
147
+ // edited dependency.
148
+ const localEditsOf = async (lockfile, outdated) => {
149
+ progress('Checking for local edits...');
150
+ const adapters = tools.map((t) => t.adapter);
151
+ // Only what the run can overwrite: the outdated assets it updates and the installed assets
152
+ // something depends on (a plan moves or drops those), never a frozen one.
153
+ const updating = new Set(outdated.filter((o) => !o.frozen).map(identityKey));
154
+ const own = await findLocalEdits(lockfile, adapters, projectDir, registry, (asset) => updating.has(identityKey(asset)) || isDependedOn(lockfile, asset));
155
+ return withDependencyEdits(outdated, lockfile, registry, own, {
156
+ adapters,
157
+ projectDir,
158
+ scope,
159
+ targetVersion,
160
+ });
161
+ };
162
+ return { frozenNames, localEditsOf, projectDir, registry, scope, toolNames, tools };
163
+ }
164
+ /** The installed assets several names (or the picker's choice) name, each once. */
165
+ function namedTargets(lockfile, targets, { root, scope }) {
166
+ const found = new Map();
167
+ for (const target of targets) {
168
+ if (typeof target === 'string') {
169
+ const installed = findUpdateTarget(lockfile, target, { root, scope });
170
+ found.set(identityKey(installed), installed);
171
+ continue;
172
+ }
173
+ const installed = (lockfile.assets ?? []).find((a) => identityKey(a) === identityKey(target));
174
+ if (!installed)
175
+ throw new UpdaterError(`Asset "${formatOrgName(target.org, target.name)}" is not installed.`);
176
+ found.set(identityKey(installed), installed);
177
+ }
178
+ return [...found.values()];
179
+ }
180
+ /** `atk update -i`: the outdated assets as a multi-select, then the update of the chosen ones. */
181
+ function UpdatePicker({ options, specs }) {
182
+ const { exit } = useApp();
183
+ const { dryRun, force, json, projectRoot, tool, type, user } = options;
184
+ const { isTTY, json: effectiveJson } = useNonInteractive(json);
185
+ const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
186
+ const [chosen, setChosen] = useState();
187
+ const [cancelled, setCancelled] = useState(false);
188
+ const [cursorIndex, setCursorIndex] = useState(0);
189
+ const [selected, setSelected] = useState();
190
+ const state = useCommand(async (progress) => {
191
+ if (specs.length > 0) {
192
+ throw new UpdaterError('--interactive picks from the outdated assets, so it takes no names. Name the assets without -I, or run it alone.', { code: 'interactive_with_names', command: 'atk update -I' });
193
+ }
194
+ if (effectiveJson) {
195
+ throw new UpdaterError('Picking assets with --interactive needs an interactive terminal, without --json. Name the assets to update instead.', { code: 'interactive_requires_tty', command: 'atk update <name> <name>' });
196
+ }
197
+ const { frozenNames, localEditsOf, projectDir, registry, scope, toolNames } = await loadUpdateContext(progress, {
198
+ resolve,
199
+ tool,
200
+ });
201
+ progress('Reading lockfile...');
202
+ const lockfile = await readLockfile(projectDir);
203
+ // --type narrows the list to that type, which the update's commands then name.
204
+ const outdated = checkOutdated(lockfile, registry, frozenNames).filter((o) => !type || o.type === type);
205
+ if (outdated.length === 0)
206
+ return { outcome: 'up-to-date', tools: toolNames };
207
+ const localEdits = force ? new Map() : await localEditsOf(lockfile, outdated);
208
+ // Picking an asset names it, so --force lists pinned assets as a named update would take them.
209
+ const { updatable } = byUpdatability(outdated, localEdits, { force, named: true });
210
+ if (updatable.length === 0)
211
+ return { outcome: 'up-to-date', tools: toolNames };
212
+ return {
213
+ outcome: 'picking',
214
+ scope,
215
+ skipped: outdated.length - updatable.length,
216
+ tools: toolNames,
217
+ updatable,
218
+ };
219
+ }, [force, projectRoot, specs.join(' '), tool, type, user]);
220
+ useEffect(() => {
221
+ if (!cancelled)
222
+ return undefined;
223
+ const timer = setTimeout(() => {
224
+ exit();
225
+ }, 50);
226
+ return () => {
227
+ clearTimeout(timer);
228
+ };
229
+ }, [cancelled, exit]);
230
+ const picking = state.status === 'done' && state.data.outcome === 'picking' ? state.data : undefined;
231
+ // Every outdated asset starts selected, as the `@org` install picker's do.
232
+ const selectedKeys = useMemo(() => selected ?? picking?.updatable.map(identityKey) ?? [], [picking, selected]);
233
+ const handleConfirm = useCallback(() => {
234
+ if (!picking)
235
+ return;
236
+ const keys = new Set(selectedKeys);
237
+ const picked = picking.updatable.filter((o) => keys.has(identityKey(o)));
238
+ if (picked.length === 0)
239
+ return;
240
+ setChosen(picked.map(({ name, org, type }) => ({ name, ...(org ? { org } : {}), type })));
241
+ }, [picking, selectedKeys]);
242
+ const handleToggle = useCallback((key) => {
243
+ const next = new Set(selectedKeys);
244
+ if (next.has(key)) {
245
+ next.delete(key);
246
+ }
247
+ else {
248
+ next.add(key);
249
+ }
250
+ setSelected([...next]);
251
+ }, [selectedKeys]);
252
+ if (chosen)
253
+ return _jsx(UpdateRun, { options: options, picked: chosen, specs: [] });
254
+ if (state.status === 'loading') {
255
+ return _jsx(Spinner, { message: state.message });
256
+ }
257
+ if (state.status === 'error') {
258
+ if (effectiveJson) {
259
+ return renderJson({
260
+ ...(state.code ? { code: state.code } : {}),
261
+ ...(state.command ? { command: state.command } : {}),
262
+ ...(state.hint ? { hint: state.hint } : {}),
263
+ message: state.message,
264
+ outcome: 'error',
265
+ ...fields,
266
+ });
267
+ }
268
+ return _jsx(ErrorView, { command: state.command, hint: state.hint, message: state.message });
269
+ }
270
+ const where = resolved ? ` in ${scopeLabel(resolved)}` : '';
271
+ if (cancelled)
272
+ return _jsx(Text, { dimColor: true, children: "Update cancelled." });
273
+ if (!picking) {
274
+ return (_jsxs(Text, { color: 'green', children: ["\u2713 All assets are up to date for ", state.data.tools.join(', '), where, "."] }));
275
+ }
276
+ const items = picking.updatable.map((o) => ({
277
+ hint: `(${o.type}) v${o.installedVersion} → v${o.latestVersion}`,
278
+ key: identityKey(o),
279
+ label: formatOrgName(o.org, o.name),
280
+ }));
281
+ return (_jsx(MultiSelectList, { cursorIndex: cursorIndex, emptySelectionHint: 'Select at least one asset to continue', footer: picking.skipped > 0 ? (_jsxs(Text, { dimColor: true, children: ["Not listed: ", assetCount(picking.skipped), " frozen, pinned or with local edits (", scopedCommand('atk update --dry-run', picking.scope), " lists them)."] })) : undefined, isActive: isTTY, items: items, onCancel: () => {
282
+ setCancelled(true);
283
+ }, onConfirm: handleConfirm, onCursorChange: setCursorIndex, onToggle: handleToggle, selectedKeys: selectedKeys, title: _jsxs(Text, { children: [_jsxs(Text, { bold: true, children: [dryRun ? 'Select assets for the dry run' : 'Select assets to update', where] }), _jsxs(Text, { dimColor: true, children: [" (space to toggle, enter to ", dryRun ? 'check' : 'update', ", esc to cancel)"] })] }) }));
284
+ }
285
+ /**
286
+ * The update itself: every outdated asset (no `specs`), one named asset as before, or several
287
+ * (`specs`, or the assets `picked`), which update to their latest versions.
288
+ */
289
+ function UpdateRun({ options: { dryRun, force, json, projectRoot, tool, type, user }, picked, specs, }) {
290
+ const parsed = specs.length === 1 ? parseNameVersion(specs[0]) : undefined;
81
291
  const name = parsed?.name;
82
292
  const requestedVersion = parsed?.version;
293
+ const several = picked ?? (specs.length > 1 ? specs : undefined);
83
294
  const { json: effectiveJson } = useNonInteractive(json);
84
295
  const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
85
296
  const state = useCommand(async (progress) => {
86
- const { root: projectDir, scope } = await resolve();
87
- // Load the scope's config to get frozen assets
88
- const projectConfig = await loadScopeConfig(projectDir);
89
- const frozenNames = new Set((projectConfig?.frozenAssets ?? []).map((a) => `${a.type}:${a.org ?? ''}:${a.name}`));
90
- const tools = await resolvePlacingTools(tool, projectDir);
91
- const toolNames = tools.map((t) => t.tool);
92
- progress('Fetching registry...');
93
- const registry = await fetchRegistry({ force: true });
94
- // Found once, before any tool updates (each tool's update rewrites its files), and the same
95
- // way for the dry run: the assets with edits, and those whose update would overwrite an
96
- // edited dependency.
97
- const localEditsOf = async (lockfile, outdated) => {
98
- progress('Checking for local edits...');
99
- const adapters = tools.map((t) => t.adapter);
100
- // Only what the run can overwrite: the outdated assets it updates and the installed assets
101
- // something depends on (a plan moves or drops those), never a frozen one.
102
- const updating = new Set(outdated.filter((o) => !o.frozen).map(identityKey));
103
- const own = await findLocalEdits(lockfile, adapters, projectDir, registry, (asset) => updating.has(identityKey(asset)) || isDependedOn(lockfile, asset));
104
- return withDependencyEdits(outdated, lockfile, registry, own, {
105
- adapters,
106
- projectDir,
107
- scope,
108
- targetVersion: requestedVersion,
109
- });
110
- };
297
+ if (specs.length > 1) {
298
+ const versioned = specs.find((spec) => parseNameVersion(spec).version);
299
+ if (versioned) {
300
+ throw new UpdaterError(`Several assets update to their latest versions, so "${versioned}" can't name a version. Update it to that version on its own.`, { command: `atk update ${versioned}` });
301
+ }
302
+ if (type) {
303
+ throw new UpdaterError('--type picks the type of one name, so it works with one asset only. Update that asset on its own.');
304
+ }
305
+ }
306
+ const { frozenNames, localEditsOf, projectDir, registry, scope, toolNames, tools } = await loadUpdateContext(progress, { resolve, targetVersion: requestedVersion, tool });
111
307
  // Pre-check: validate the asset is installed (read-only, no lock needed)
112
308
  progress('Reading lockfile...');
113
309
  const preCheckLockfile = await readLockfile(projectDir);
114
310
  const target = name
115
311
  ? findUpdateTarget(preCheckLockfile, name, { root: projectDir, scope, type, version: requestedVersion })
116
312
  : undefined;
313
+ const targets = several ? namedTargets(preCheckLockfile, several, { root: projectDir, scope }) : undefined;
117
314
  if ((preCheckLockfile.assets ?? []).length === 0) {
118
315
  return { outcome: 'up-to-date', tools: toolNames };
119
316
  }
317
+ // The named assets already at their latest version, which several names report, not refuse.
318
+ const upToDateOf = (outdated) => {
319
+ const current = (targets ?? []).filter((t) => !outdated.some((o) => identityKey(o) === identityKey(t)));
320
+ return current.length > 0 ? { upToDate: current.map(upToDateAsset) } : {};
321
+ };
120
322
  // Dry-run: check outdated, return plan
121
323
  if (dryRun) {
122
324
  const lockfile = preCheckLockfile;
@@ -124,41 +326,24 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
124
326
  if (target) {
125
327
  outdated = outdated.filter((o) => o.name === target.name && o.type === target.type && o.org === target.org);
126
328
  }
329
+ if (targets) {
330
+ outdated = outdated.filter((o) => targets.some((t) => identityKey(t) === identityKey(o)));
331
+ }
332
+ const upToDate = upToDateOf(outdated);
127
333
  if (outdated.length === 0) {
128
- return { outcome: 'up-to-date', tools: toolNames };
334
+ return { outcome: 'up-to-date', tools: toolNames, ...upToDate };
129
335
  }
130
336
  // Separate frozen, pinned and edited assets from updatable ones
131
337
  const localEdits = force ? new Map() : await localEditsOf(lockfile, outdated);
132
- const skippedEdited = [];
133
- const skippedFrozen = [];
134
- const skippedPinned = [];
135
- const updatable = [];
136
- for (const o of outdated) {
137
- const edits = localEdits.get(identityKey(o));
138
- if (o.frozen) {
139
- skippedFrozen.push(o);
140
- }
141
- else if (o.pinned && !(force && name)) {
142
- skippedPinned.push(o);
143
- }
144
- else if (edits) {
145
- const { dependencies, files, unchecked } = edits;
146
- skippedEdited.push({
147
- ...o,
148
- ...(dependencies ? { dependencies } : {}),
149
- files,
150
- ...(unchecked ? { unchecked } : {}),
151
- });
152
- }
153
- else {
154
- updatable.push(o);
155
- }
156
- }
338
+ const { skippedEdited, skippedFrozen, skippedPinned, updatable } = byUpdatability(outdated, localEdits, {
339
+ force,
340
+ named: !!name || !!targets,
341
+ });
157
342
  if (updatable.length === 0 &&
158
343
  skippedPinned.length === 0 &&
159
344
  skippedFrozen.length === 0 &&
160
345
  skippedEdited.length === 0) {
161
- return { outcome: 'up-to-date', tools: toolNames };
346
+ return { outcome: 'up-to-date', tools: toolNames, ...upToDate };
162
347
  }
163
348
  return {
164
349
  outcome: 'dry-run',
@@ -168,15 +353,19 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
168
353
  skippedFrozen,
169
354
  skippedPinned,
170
355
  tools: toolNames,
356
+ ...upToDate,
171
357
  };
172
358
  }
173
359
  return await withLockfileErrorHandling(projectDir, async () => {
174
360
  progress('Reading lockfile...');
175
361
  const lockfile = await readLockfile(projectDir);
176
362
  const outdated = checkOutdated(lockfile, registry, frozenNames);
177
- const targetNames = name ? [name] : undefined;
178
- if (!name && outdated.length === 0) {
179
- return { outcome: 'up-to-date', tools: toolNames };
363
+ // Several names update only the outdated ones; the others are reported as up to date.
364
+ const outdatedTargets = targets?.filter((t) => outdated.some((o) => identityKey(o) === identityKey(t)));
365
+ const upToDate = upToDateOf(outdated);
366
+ const targetNames = outdatedTargets ?? (name ? [name] : undefined);
367
+ if (!name && (outdatedTargets ?? outdated).length === 0) {
368
+ return { outcome: 'up-to-date', tools: toolNames, ...upToDate };
180
369
  }
181
370
  // Every configured tool, also under --tool: a dropped dependency keeps its lockfile
182
371
  // entry while a tool that was not updated still has it.
@@ -192,7 +381,11 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
192
381
  // one (unless another asset's plan moved it there after all). Once a tool has the new version the lockfile records it, so the later tools
193
382
  // carry on and the failed tool's error names its sync command.
194
383
  const failedFor = new Map();
195
- const candidates = target ? outdated.filter((o) => identityKey(o) === identityKey(target)) : outdated;
384
+ const candidates = target
385
+ ? outdated.filter((o) => identityKey(o) === identityKey(target))
386
+ : outdatedTargets
387
+ ? outdated.filter((o) => outdatedTargets.some((t) => identityKey(t) === identityKey(o)))
388
+ : outdated;
196
389
  const localEdits = force ? undefined : await localEditsOf(lockfile, candidates);
197
390
  const updatedFor = new Set();
198
391
  const toolResults = [];
@@ -263,7 +456,7 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
263
456
  !tr.removedUndeclared?.length &&
264
457
  !tr.removeFailures?.length);
265
458
  if (allEmpty) {
266
- return { outcome: 'up-to-date', tools: toolNames };
459
+ return { outcome: 'up-to-date', tools: toolNames, ...upToDate };
267
460
  }
268
461
  if (toolResults.some((tr) => tr.failures.length > 0 || (tr.removeFailures?.length ?? 0) > 0)) {
269
462
  const anyUpdated = toolResults.some((tr) => tr.results.length > 0);
@@ -272,11 +465,12 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
272
465
  outcome: anyUpdated ? 'partial' : 'failed',
273
466
  scope,
274
467
  toolResults,
468
+ ...upToDate,
275
469
  };
276
470
  }
277
- return { outcome: 'success', scope, toolResults };
471
+ return { outcome: 'success', scope, toolResults, ...upToDate };
278
472
  });
279
- }, [dryRun, force, name, projectRoot, requestedVersion, tool, type, user]);
473
+ }, [dryRun, force, name, projectRoot, requestedVersion, specs.join(' '), tool, type, user]);
280
474
  if (state.status === 'loading') {
281
475
  return _jsx(Spinner, { message: state.message });
282
476
  }
@@ -302,11 +496,13 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
302
496
  return renderJson({ ...data, ...fields });
303
497
  }
304
498
  if (data.outcome === 'up-to-date') {
499
+ if (data.upToDate)
500
+ return _jsx(UpToDateLine, { assets: data.upToDate, where: where });
305
501
  return (_jsxs(Text, { color: 'green', children: ["\u2713 All assets are up to date for ", data.tools.join(', '), where, "."] }));
306
502
  }
307
503
  if (data.outcome === 'dry-run') {
308
504
  const hasUpdatable = data.outdated.length > 0;
309
- return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools, where: resolved && scopeLabel(resolved) }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: data.outdated.map((o) => (_jsx(AssetVersionLine, { installedVersion: o.installedVersion, latestVersion: o.latestVersion, name: o.name, type: o.type }, `${o.type}/${o.org ?? ''}/${o.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: data.skippedFrozen, label: 'frozen', showSpacer: hasUpdatable }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: data.skippedPinned, label: 'pinned', showSpacer: hasUpdatable || data.skippedFrozen.length > 0 }), _jsx(EditedSkipped, { dryRun: true, items: data.skippedEdited, scope: data.scope, showSpacer: hasUpdatable || data.skippedFrozen.length > 0 || data.skippedPinned.length > 0 })] }));
505
+ return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools, where: resolved && scopeLabel(resolved) }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: data.outdated.map((o) => (_jsx(AssetVersionLine, { installedVersion: o.installedVersion, latestVersion: o.latestVersion, name: o.name, type: o.type }, `${o.type}/${o.org ?? ''}/${o.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: data.skippedFrozen, label: 'frozen', showSpacer: hasUpdatable }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: data.skippedPinned, label: 'pinned', showSpacer: hasUpdatable || data.skippedFrozen.length > 0 }), _jsx(EditedSkipped, { dryRun: true, items: data.skippedEdited, scope: data.scope, showSpacer: hasUpdatable || data.skippedFrozen.length > 0 || data.skippedPinned.length > 0 }), data.upToDate && (_jsx(Box, { marginTop: 1, children: _jsx(UpToDateLine, { assets: data.upToDate, where: where }) }))] }));
310
506
  }
311
507
  const stoppedAt = data.toolResults.find((tr) => tr.notAttempted);
312
508
  return (_jsxs(Box, { flexDirection: 'column', children: [data.toolResults.map(({ editedSkipped, excludedSkipped, failures, frozenSkipped, removedUndeclared, removeFailures, results, skipped, tool: resolvedTool, }) => (_jsxs(Box, { flexDirection: 'column', children: [results.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'green', children: ["\u2713 Updated ", results.length, " asset", results.length !== 1 ? 's' : '', " for ", resolvedTool, where] }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: results.map((r) => (_jsxs(Box, { flexDirection: 'column', children: [_jsx(AssetVersionLine, { installedVersion: r.fromVersion, latestVersion: r.toVersion, name: r.name, type: r.type }), r.installResult.filesPlaced.map((f) => (_jsxs(Text, { dimColor: true, wrap: 'truncate', children: [' ', "\u2192 ", f.destination] }, f.destination))), (r.warnings ?? []).map((w, i) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: [' ', "\u26A0 ", w.message] }), _jsxs(Text, { dimColor: true, children: [' ', w.command] })] }, i)))] }, `${r.type}/${r.org ?? ''}/${r.name}`))) })] })), failures.length > 0 && (_jsxs(Box, { flexDirection: 'column', marginTop: results.length > 0 ? 1 : 0, children: [_jsxs(Text, { color: 'red', children: ["\u2717 Failed to update ", failures.length, " asset", failures.length !== 1 ? 's' : ''] }), _jsx(Box, { flexDirection: 'column', paddingLeft: 2, children: failures.map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `${f.type}/${f.org ?? ''}/${f.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: frozenSkipped ?? [], label: 'frozen', showSpacer: results.length > 0 || failures.length > 0 }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: skipped ?? [], label: 'pinned', showSpacer: results.length > 0 || failures.length > 0 || (frozenSkipped ?? []).length > 0 }), _jsx(EditedSkipped, { items: editedSkipped ?? [], scope: data.scope, showSpacer: results.length > 0 ||
@@ -314,13 +510,13 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
314
510
  (frozenSkipped ?? []).length > 0 ||
315
511
  (skipped ?? []).length > 0 }), (excludedSkipped ?? []).length > 0 && (_jsxs(Text, { dimColor: true, children: ["Skipped for ", resolvedTool, " (uninstalled for this tool):", ' ', (excludedSkipped ?? []).map((a) => a.name).join(', ')] })), _jsx(UndeclaredRemovedHint, { assets: removedUndeclared ?? [], tool: resolvedTool }), (removeFailures ?? []).map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `remove/${f.type}/${f.org ?? ''}/${f.name}`)))] }, resolvedTool))), data.toolResults.flatMap(({ failedSkipped, tool: resolvedTool }) => (failedSkipped ?? []).map((a) => (_jsxs(Text, { dimColor: true, children: ["Not updated for ", resolvedTool, " (", a.dependency
316
512
  ? `its dependency ${formatOrgName(a.dependency.org, a.dependency.name)} failed to update`
317
- : 'update failed', ' ', "for ", a.failedFor, "): ", a.name] }, `failed/${resolvedTool}/${a.type}/${a.org ?? ''}/${a.name}`)))), stoppedAt?.notAttempted && (_jsx(RunStoppedHint, { notAttempted: stoppedAt.notAttempted, notRunTools: data.notRunTools ?? [] }))] }));
513
+ : 'update failed', ' ', "for ", a.failedFor, "): ", a.name] }, `failed/${resolvedTool}/${a.type}/${a.org ?? ''}/${a.name}`)))), stoppedAt?.notAttempted && (_jsx(RunStoppedHint, { notAttempted: stoppedAt.notAttempted, notRunTools: data.notRunTools ?? [] })), data.upToDate && (_jsx(Box, { marginTop: 1, children: _jsx(UpToDateLine, { assets: data.upToDate, where: where }) }))] }));
318
514
  }
319
- /** The outdated assets an update left alone (or, in a dry run, would) because their files were edited. */
320
- function EditedSkipped({ dryRun = false, items, scope, showSpacer, }) {
321
- if (items.length === 0)
322
- return null;
323
- const force = scopedCommand('atk update <name> --force', scope);
324
- return (_jsx(Box, { marginTop: showSpacer ? 1 : 0, children: _jsx(LocalEditsHint, { assets: items, heading: `${dryRun ? 'Would keep' : 'Kept'} local edits in ${assetCount(items.length)}, not updated (run ${force} to overwrite them):` }) }));
515
+ function upToDateAsset({ name, org, type, version }) {
516
+ return { name, ...(org ? { org } : {}), type, version };
517
+ }
518
+ /** The named assets already at their latest version. */
519
+ function UpToDateLine({ assets, where }) {
520
+ return (_jsxs(Text, { color: 'green', children: ["\u2713 Already at the latest version", where, ":", ' ', assets.map((a) => `${formatOrgName(a.org, a.name)} (v${a.version})`).join(', ')] }));
325
521
  }
326
522
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAmB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAc,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,gBAAgB,EAEhB,2BAA2B,EAE3B,YAAY,EAIZ,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,CAAC;SACN,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,mDAAmD;KACjE,CAAC,CACH;IACH,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,qEAAqE;KACnF,CAAC,CACH;IACH,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,wCAAwC;KACtD,CAAC,CACH;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,4EAA4E;KAC1F,CAAC,CACH;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACjC,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,+EAA+E;KAC7F,CAAC,CACH;IACD,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,WAAW,EAAE,yEAAyE;KACvF,CAAC,CACH;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,CAAC;SACE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,QAAQ,CAAC,EAAE,WAAW,EAAE,mEAAmE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAC7G;CACJ,CAAC,CAAC;AAoDH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GACzD;IACN,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;IAC1B,MAAM,gBAAgB,GAAG,MAAM,EAAE,OAAO,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;QAEpD,+CAA+C;QAC/C,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,CAAC,aAAa,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CACrF,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3C,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtD,4FAA4F;QAC5F,wFAAwF;QACxF,qBAAqB;QACrB,MAAM,YAAY,GAAG,KAAK,EAAE,QAAkB,EAAE,QAAyB,EAAE,EAAE;YAC3E,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7C,2FAA2F;YAC3F,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7E,MAAM,GAAG,GAAG,MAAM,cAAc,CAC9B,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAC7E,CAAC;YACF,OAAO,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;gBAC5D,QAAQ;gBACR,UAAU;gBACV,KAAK;gBACL,aAAa,EAAE,gBAAgB;aAChC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,yEAAyE;QACzE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAChC,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI;YACjB,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YACxG,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;QAC9D,CAAC;QAED,uCAAuC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAElC,IAAI,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAE9D,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9G,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;YAC9D,CAAC;YAED,gEAAgE;YAChE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAsB,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAClG,MAAM,aAAa,GAAqB,EAAE,CAAC;YAC3C,MAAM,aAAa,GAAoB,EAAE,CAAC;YAC1C,MAAM,aAAa,GAAoB,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAoB,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACb,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;oBACxC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,KAAK,EAAE,CAAC;oBACjB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;oBACjD,aAAa,CAAC,IAAI,CAAC;wBACjB,GAAG,CAAC;wBACJ,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzC,KAAK;wBACL,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC1B,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC1B,aAAa,CAAC,MAAM,KAAK,CAAC,EAC1B,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;YAC9D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,SAAS;gBACnB,KAAK;gBACL,aAAa;gBACb,aAAa;gBACb,aAAa;gBACb,KAAK,EAAE,SAAS;aACR,CAAC;QACb,CAAC;QAED,OAAO,MAAM,yBAAyB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YAC5D,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE9C,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;YAC9D,CAAC;YAED,oFAAoF;YACpF,wDAAwD;YACxD,MAAM,kBAAkB,GAAG,IAAI;gBAC7B,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnF,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEhC,8EAA8E;YAC9E,gFAAgF;YAChF,+EAA+E;YAC/E,8EAA8E;YAC9E,uFAAuF;YACvF,qFAAqF;YACrF,0IAA0I;YAC1I,+DAA+D;YAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtG,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAChF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YACrC,MAAM,WAAW,GAAwB,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;YAC1D,6FAA6F;YAC7F,gEAAgE;YAChE,MAAM,UAAU,GAA0B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,KAAK,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;gBAC7D,QAAQ,CAAC,uBAAuB,QAAQ,KAAK,CAAC,CAAC;gBAC/C,MAAM,EACJ,aAAa,EACb,eAAe,EACf,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,OAAO,EACP,OAAO,EACP,UAAU,GACX,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE;oBACtD,OAAO,EAAE,WAAW;oBACpB,kBAAkB;oBAClB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,SAAS;oBACT,KAAK;oBACL,YAAY,EAAE,WAAW;oBACzB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,UAAU,EAAE,QAAQ;oBACpB,UAAU;oBACV,KAAK;oBACL,aAAa,EAAE,gBAAgB;oBAC/B,IAAI;iBACL,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,iGAAiG;gBACjG,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACtE,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC;oBACf,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,QAAQ;oBACR,aAAa;oBACb,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,OAAO;oBACP,OAAO;oBACP,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;gBACH,IAAI,UAAU;oBAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACxD,yFAAyF;gBACzF,IAAI,YAAY;oBAAE,MAAM;YAC1B,CAAC;YACD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAExD,0FAA0F;YAC1F,mFAAmF;YACnF,KAAK,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,2BAA2B,CAC7D,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EACxC,QAAQ,EACR,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CACzF,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAAE,UAAU,CAAC,cAAc,GAAG,QAAQ,CAAC;gBAC9D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,UAAU,CAAC,iBAAiB,GAAG,OAAO,CAAC;YACjE,CAAC;YAED,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAChC,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBACvB,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACxB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM;gBACnB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM;gBACzB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM;gBACzB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM;gBAC3B,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM;gBACzB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM;gBAC7B,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,CAC7B,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;YAC9D,CAAC;YAED,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7F,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnE,OAAO;oBACL,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;oBAC1C,KAAK;oBACL,WAAW;iBACH,CAAC;YACb,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAW,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CACvE,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,UAAU,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,OAAO;gBAChB,GAAG,MAAM;aACV,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAC,SAAS,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IACzF,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,sDACgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EACrD,KAAK,SACD,CACR,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,YAAY,IAAI,CACf,8BACE,KAAC,YAAY,IACX,MAAM,EAAC,QAAQ,EACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,GACvC,EACF,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACxB,KAAC,gBAAgB,IACf,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAEpC,aAAa,EAAE,CAAC,CAAC,aAAa,EAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,IAAI,EAAE,CAAC,CAAC,IAAI,IAHP,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAIzC,CACH,CAAC,GACE,IACL,CACJ,EACD,KAAC,mBAAmB,IAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAChE,IAAI,EAAC,QAAG,EACR,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,KAAK,EAAC,QAAQ,EACd,UAAU,EAAE,YAAY,GACxB,EACF,KAAC,mBAAmB,IAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,yCAAyC,EAC9C,IAAI,EAAC,QAAG,EACR,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,KAAK,EAAC,QAAQ,EACd,UAAU,EAAE,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,GACzD,EACF,KAAC,aAAa,IACZ,MAAM,QACN,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,GAC1F,IACE,CACP,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAEjE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CACnB,CAAC,EACC,aAAa,EACb,eAAe,EACf,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,OAAO,EACP,IAAI,EAAE,YAAY,GACnB,EAAE,EAAE,CAAC,CACJ,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,8BACE,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,gCACN,OAAO,CAAC,MAAM,YAAQ,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAO,YAAY,EAClF,KAAK,IACD,EACP,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,gBAAgB,IACf,gBAAgB,EAAE,CAAC,CAAC,WAAW,EAC/B,aAAa,EAAE,CAAC,CAAC,SAAS,EAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,IAAI,EAAE,CAAC,CAAC,IAAI,GACZ,EACD,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtC,MAAC,IAAI,IAAC,QAAQ,QAAqB,IAAI,EAAC,UAAU,aAC/C,IAAI,aAAI,CAAC,CAAC,WAAW,KADJ,CAAC,CAAC,WAAW,CAE1B,CACR,CAAC,EACD,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAChC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,IAAI,aAAI,CAAC,CAAC,OAAO,IACb,EACP,MAAC,IAAI,IAAC,QAAQ,mBACX,MAAM,EACN,CAAC,CAAC,OAAO,IACL,KAPwB,CAAC,CAQ5B,CACP,CAAC,KAtB6B,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAuB/D,CACP,CAAC,GACE,IACL,CACJ,EACA,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAC/D,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,yCACK,QAAQ,CAAC,MAAM,YAAQ,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IACtE,EACP,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,YACvC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,KAAC,SAAS,IACR,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,IAAI,EAAE,CAAC,CAAC,IAAI,EAEZ,OAAO,EAAE,CAAC,CAAC,KAAK,IADX,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAEzC,CACH,CAAC,GACE,IACF,CACP,EACD,KAAC,mBAAmB,IAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAChE,IAAI,EAAC,QAAG,EACR,KAAK,EAAE,aAAa,IAAI,EAAE,EAC1B,KAAK,EAAC,QAAQ,EACd,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,GACrD,EACF,KAAC,mBAAmB,IAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,yCAAyC,EAC9C,IAAI,EAAC,QAAG,EACR,KAAK,EAAE,OAAO,IAAI,EAAE,EACpB,KAAK,EAAC,QAAQ,EACd,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,GACzF,EACF,KAAC,aAAa,IACZ,KAAK,EAAE,aAAa,IAAI,EAAE,EAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EACR,OAAO,CAAC,MAAM,GAAG,CAAC;4BAClB,QAAQ,CAAC,MAAM,GAAG,CAAC;4BACnB,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;4BAChC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,GAE5B,EACD,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACrC,MAAC,IAAI,IAAC,QAAQ,mCACC,YAAY,mCAA+B,GAAG,EAC1D,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IACjD,CACR,EACD,KAAC,qBAAqB,IAAC,MAAM,EAAE,iBAAiB,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,GAAI,EAC7E,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjC,KAAC,SAAS,IACR,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,IAAI,EAAE,CAAC,CAAC,IAAI,EAEZ,OAAO,EAAE,CAAC,CAAC,KAAK,IADX,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAEhD,CACH,CAAC,KAhG6B,YAAY,CAiGvC,CACP,CACF,EACA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAClE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC/B,MAAC,IAAI,IAAC,QAAQ,uCACK,YAAY,QAC5B,CAAC,CAAC,UAAU;wBACX,CAAC,CAAC,kBAAkB,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB;wBACzF,CAAC,CAAC,eAAe,EAAE,GAAG,UACnB,CAAC,CAAC,SAAS,SAAK,CAAC,CAAC,IAAI,KALT,UAAU,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAMxE,CACR,CAAC,CACH,EACA,SAAS,EAAE,YAAY,IAAI,CAC1B,KAAC,cAAc,IAAC,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,GAAI,CAC9F,IACG,CACP,CAAC;AACJ,CAAC;AAED,0GAA0G;AAC1G,SAAS,aAAa,CAAC,EACrB,MAAM,GAAG,KAAK,EACd,KAAK,EACL,KAAK,EACL,UAAU,GAMX;IACC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAChC,KAAC,cAAc,IACb,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,mBAAmB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,KAAK,sBAAsB,GACtI,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"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"}