@jujulego/jill 3.0.4 → 3.0.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,4 +1,4 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="40119268-bfe6-41b9-bd98-ab38a6d238fe",e._sentryDebugIdIdentifier="sentry-dbid-40119268-bfe6-41b9-bd98-ab38a6d238fe");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.4"};}catch(e){}}();import { init } from '@sentry/node';
1
+ ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="936668f9-9154-4d64-932a-eaf955b0470f",e._sentryDebugIdIdentifier="sentry-dbid-936668f9-9154-4d64-932a-eaf955b0470f");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { init } from '@sentry/node';
2
2
 
3
3
  init({
4
4
  dsn: 'https://53e6d10c16975ebd025175d9836d039b@o4508229080055808.ingest.de.sentry.io/4509876546895952',
@@ -1,4 +1,4 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="661f01a6-06de-42bf-92ab-7bd885437391",e._sentryDebugIdIdentifier="sentry-dbid-661f01a6-06de-42bf-92ab-7bd885437391");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.4"};}catch(e){}}();import { r as reactExports, R as React, S as StdinContext, p as parseKeypress, a as reconciler, n as nonAlphanumericKeys, b as StdoutContext, j as jsxRuntimeExports, T as Text, B as Box, i as inked } from './inked.js';
1
+ ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="821a433f-d2ac-42ee-89fe-f91b8f57d161",e._sentryDebugIdIdentifier="sentry-dbid-821a433f-d2ac-42ee-89fe-f91b8f57d161");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { r as reactExports, S as StdinContext, p as parseKeypress, a as reconciler, n as nonAlphanumericKeys, b as StdoutContext, j as jsxRuntimeExports, T as Text, B as Box, i as inked } from './inked.js';
2
2
  import process from 'node:process';
3
3
  import 'node:stream';
4
4
  import 'node:events';
@@ -56,42 +56,6 @@ import 'os';
56
56
  };
57
57
  }
58
58
 
59
- /**
60
- `<Static>` component permanently renders its output above everything else. It's useful for displaying activity like completed tasks or logs—things that don't change after they're rendered (hence the name "Static").
61
-
62
- It's preferred to use `<Static>` for use cases like these when you can't know or control the number of items that need to be rendered.
63
-
64
- For example, [Tap](https://github.com/tapjs/node-tap) uses `<Static>` to display a list of completed tests. [Gatsby](https://github.com/gatsbyjs/gatsby) uses it to display a list of generated pages while still displaying a live progress bar.
65
- */ function Static(props) {
66
- const { items, children: render, style: customStyle } = props;
67
- const [index, setIndex] = reactExports.useState(0);
68
- const itemsToRender = reactExports.useMemo(()=>{
69
- return items.slice(index);
70
- }, [
71
- items,
72
- index
73
- ]);
74
- reactExports.useLayoutEffect(()=>{
75
- setIndex(items.length);
76
- }, [
77
- items.length
78
- ]);
79
- const children = itemsToRender.map((item, itemIndex)=>{
80
- return render(item, index + itemIndex);
81
- });
82
- const style = reactExports.useMemo(()=>({
83
- position: 'absolute',
84
- flexDirection: 'column',
85
- ...customStyle
86
- }), [
87
- customStyle
88
- ]);
89
- return /*#__PURE__*/ React.createElement("ink-box", {
90
- internal_static: true,
91
- style: style
92
- }, children);
93
- }
94
-
95
59
  /**
96
60
  `useStdin` is a React hook that exposes the stdin stream.
97
61
  */ const useStdin = ()=>reactExports.useContext(StdinContext);
@@ -144,6 +108,8 @@ const UserInput = () => {
144
108
  rightArrow: keypress.name === 'right',
145
109
  pageDown: keypress.name === 'pagedown',
146
110
  pageUp: keypress.name === 'pageup',
111
+ home: keypress.name === 'home',
112
+ end: keypress.name === 'end',
147
113
  return: keypress.name === 'return',
148
114
  escape: keypress.name === 'escape',
149
115
  ctrl: keypress.ctrl,
@@ -297,6 +263,7 @@ function WorkloadSpinner({ workload }) {
297
263
  case WorkloadState.Ready:
298
264
  case WorkloadState.Starting:
299
265
  return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
266
+ overflow: "hidden",
300
267
  children: [
301
268
  /*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
302
269
  color: "grey",
@@ -304,6 +271,7 @@ function WorkloadSpinner({ workload }) {
304
271
  }),
305
272
  /*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
306
273
  paddingLeft: 1,
274
+ flexGrow: 1,
307
275
  children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
308
276
  color: "grey",
309
277
  wrap: "truncate",
@@ -315,6 +283,7 @@ function WorkloadSpinner({ workload }) {
315
283
  });
316
284
  case WorkloadState.Running:
317
285
  return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
286
+ overflow: "hidden",
318
287
  children: [
319
288
  /*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
320
289
  dimColor: dim,
@@ -322,6 +291,7 @@ function WorkloadSpinner({ workload }) {
322
291
  }),
323
292
  /*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
324
293
  paddingLeft: 1,
294
+ flexGrow: 1,
325
295
  children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
326
296
  dimColor: dim,
327
297
  wrap: "truncate",
@@ -333,6 +303,7 @@ function WorkloadSpinner({ workload }) {
333
303
  });
334
304
  case WorkloadState.Canceling:
335
305
  return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
306
+ overflow: "hidden",
336
307
  children: [
337
308
  /*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
338
309
  dimColor: dim,
@@ -343,9 +314,10 @@ function WorkloadSpinner({ workload }) {
343
314
  }),
344
315
  /*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
345
316
  paddingLeft: 1,
317
+ flexGrow: 1,
346
318
  children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
347
- dimColor: dim,
348
319
  color: "grey",
320
+ dimColor: dim,
349
321
  wrap: "truncate",
350
322
  workload: workload,
351
323
  withWorkspace: true
@@ -355,6 +327,7 @@ function WorkloadSpinner({ workload }) {
355
327
  });
356
328
  case WorkloadState.Succeeded:
357
329
  return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
330
+ overflow: "hidden",
358
331
  children: [
359
332
  /*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
360
333
  color: "green",
@@ -362,6 +335,7 @@ function WorkloadSpinner({ workload }) {
362
335
  }),
363
336
  /*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
364
337
  paddingLeft: 1,
338
+ flexGrow: 1,
365
339
  children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
366
340
  dimColor: dim,
367
341
  wrap: "truncate",
@@ -385,6 +359,7 @@ function WorkloadSpinner({ workload }) {
385
359
  });
386
360
  case WorkloadState.Failed:
387
361
  return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
362
+ overflow: "hidden",
388
363
  children: [
389
364
  /*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
390
365
  color: "red",
@@ -392,6 +367,7 @@ function WorkloadSpinner({ workload }) {
392
367
  }),
393
368
  /*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
394
369
  paddingLeft: 1,
370
+ flexGrow: 1,
395
371
  children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
396
372
  dimColor: dim,
397
373
  wrap: "truncate",
@@ -415,6 +391,7 @@ function WorkloadSpinner({ workload }) {
415
391
  });
416
392
  case WorkloadState.Canceled:
417
393
  return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
394
+ overflow: "hidden",
418
395
  children: [
419
396
  /*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
420
397
  dimColor: true,
@@ -422,6 +399,7 @@ function WorkloadSpinner({ workload }) {
422
399
  }),
423
400
  /*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
424
401
  paddingLeft: 1,
402
+ flexGrow: 1,
425
403
  children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
426
404
  dimColor: true,
427
405
  wrap: "truncate",
@@ -549,29 +527,6 @@ function WorkloadTreeStats({ tree, ...rest }) {
549
527
  });
550
528
  }
551
529
 
552
- // Component
553
- function WorkloadTreeCompleted({ workload, verbose }) {
554
- const tree = useFlatJobTree(workload, verbose);
555
- // Render
556
- return /*#__PURE__*/ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
557
- children: [
558
- /*#__PURE__*/ jsxRuntimeExports.jsx(Static, {
559
- items: tree,
560
- children: ({ workload, level })=>/*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
561
- marginLeft: level * 2,
562
- flexShrink: 0,
563
- children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadSpinner, {
564
- workload: workload
565
- })
566
- }, workload.id)
567
- }),
568
- /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadTreeStats, {
569
- tree: tree
570
- })
571
- ]
572
- });
573
- }
574
-
575
530
  // Component
576
531
  function WorkloadTreeFullSpinner({ workload, verbose }) {
577
532
  const tree = useFlatJobTree(workload, verbose);
@@ -686,7 +641,7 @@ const JobCommandExecuteInk = inked(async function*({ job, verbose }) {
686
641
  });
687
642
  scheduler.register(job);
688
643
  const outcome = await waitFor$(pipe$(job.state$, filter$(isWorkloadEnded)));
689
- yield /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadTreeCompleted, {
644
+ yield /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadTreeFullSpinner, {
690
645
  workload: job,
691
646
  verbose: verbose
692
647
  });
@@ -1 +1 @@
1
- {"version":3,"file":"job-command-execute.ink.js","sources":["../node_modules/kyrielle/dist/off$.js","../node_modules/ink/build/components/Static.js","../node_modules/ink/build/hooks/use-stdin.js","../node_modules/ink/build/hooks/use-input.js","../node_modules/ink/build/hooks/use-stdout.js","../src/hooks/useFlatJobTree.ts","../node_modules/is-unicode-supported/index.js","../src/utils/symbols.ts","../src/components/WorkloadName.tsx","../src/components/WorkloadSpinner.tsx","../src/hooks/useScriptsStats.ts","../src/components/WorkloadTreeStats.tsx","../src/components/WorkloadTreeCompleted.tsx","../src/components/WorkloadTreeFullSpinner.tsx","../src/hooks/useStdoutDimensions.ts","../src/components/WorkloadTreeScrollableSpinner.tsx","../src/components/WorkloadTreeSpinner.tsx","../src/wrappers/job-command-execute.ink.tsx"],"sourcesContent":["/**\n * Builds a subscription group\n *\n * @since 1.0.0\n */ export function off$(...subscriptions) {\n const store = new Set(subscriptions);\n function unsubscribe() {\n for (const sub of store){\n sub.unsubscribe();\n }\n store.clear();\n }\n return {\n [Symbol.dispose ?? Symbol.for('Symbol.dispose')]: unsubscribe,\n unsubscribe,\n add: (...subscriptions)=>{\n for (const sub of subscriptions){\n store.add(sub);\n }\n }\n };\n}\n\n//# sourceMappingURL=off$.js.map","import React, { useMemo, useState, useLayoutEffect } from 'react';\n/**\n`<Static>` component permanently renders its output above everything else. It's useful for displaying activity like completed tasks or logs—things that don't change after they're rendered (hence the name \"Static\").\n\nIt's preferred to use `<Static>` for use cases like these when you can't know or control the number of items that need to be rendered.\n\nFor example, [Tap](https://github.com/tapjs/node-tap) uses `<Static>` to display a list of completed tests. [Gatsby](https://github.com/gatsbyjs/gatsby) uses it to display a list of generated pages while still displaying a live progress bar.\n*/\nexport default function Static(props) {\n const { items, children: render, style: customStyle } = props;\n const [index, setIndex] = useState(0);\n const itemsToRender = useMemo(() => {\n return items.slice(index);\n }, [items, index]);\n useLayoutEffect(() => {\n setIndex(items.length);\n }, [items.length]);\n const children = itemsToRender.map((item, itemIndex) => {\n return render(item, index + itemIndex);\n });\n const style = useMemo(() => ({\n position: 'absolute',\n flexDirection: 'column',\n ...customStyle,\n }), [customStyle]);\n return (React.createElement(\"ink-box\", { internal_static: true, style: style }, children));\n}\n//# sourceMappingURL=Static.js.map","import { useContext } from 'react';\nimport StdinContext from '../components/StdinContext.js';\n/**\n`useStdin` is a React hook that exposes the stdin stream.\n*/\nconst useStdin = () => useContext(StdinContext);\nexport default useStdin;\n//# sourceMappingURL=use-stdin.js.map","import { useEffect } from 'react';\nimport parseKeypress, { nonAlphanumericKeys } from '../parse-keypress.js';\nimport reconciler from '../reconciler.js';\nimport useStdin from './use-stdin.js';\n/**\nThis hook is used for handling user input. It's a more convenient alternative to using `StdinContext` and listening for `data` events. The callback you pass to `useInput` is called for each character when the user enters any input. However, if the user pastes text and it's more than one character, the callback will be called only once, and the whole string will be passed as `input`.\n\n```\nimport {useInput} from 'ink';\n\nconst UserInput = () => {\n useInput((input, key) => {\n if (input === 'q') {\n // Exit program\n }\n\n if (key.leftArrow) {\n // Left arrow key pressed\n }\n });\n\n return …\n};\n```\n*/\nconst useInput = (inputHandler, options = {}) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { stdin, setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = useStdin();\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n setRawMode(true);\n return () => {\n setRawMode(false);\n };\n }, [options.isActive, setRawMode]);\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n const handleData = (data) => {\n const keypress = parseKeypress(data);\n const key = {\n upArrow: keypress.name === 'up',\n downArrow: keypress.name === 'down',\n leftArrow: keypress.name === 'left',\n rightArrow: keypress.name === 'right',\n pageDown: keypress.name === 'pagedown',\n pageUp: keypress.name === 'pageup',\n return: keypress.name === 'return',\n escape: keypress.name === 'escape',\n ctrl: keypress.ctrl,\n shift: keypress.shift,\n tab: keypress.name === 'tab',\n backspace: keypress.name === 'backspace',\n delete: keypress.name === 'delete',\n // `parseKeypress` parses \\u001B\\u001B[A (meta + up arrow) as meta = false\n // but with option = true, so we need to take this into account here\n // to avoid breaking changes in Ink.\n // TODO(vadimdemedes): consider removing this in the next major version.\n meta: keypress.meta || keypress.name === 'escape' || keypress.option,\n };\n let input = keypress.ctrl ? keypress.name : keypress.sequence;\n if (nonAlphanumericKeys.includes(keypress.name)) {\n input = '';\n }\n // Strip meta if it's still remaining after `parseKeypress`\n // TODO(vadimdemedes): remove this in the next major version.\n if (input.startsWith('\\u001B')) {\n input = input.slice(1);\n }\n if (input.length === 1 &&\n typeof input[0] === 'string' &&\n /[A-Z]/.test(input[0])) {\n key.shift = true;\n }\n // If app is not supposed to exit on Ctrl+C, then let input listener handle it\n if (!(input === 'c' && key.ctrl) || !internal_exitOnCtrlC) {\n // @ts-expect-error TypeScript types for `batchedUpdates` require an argument, but React's codebase doesn't provide it and it works without it as expected.\n reconciler.batchedUpdates(() => {\n inputHandler(input, key);\n });\n }\n };\n internal_eventEmitter?.on('input', handleData);\n return () => {\n internal_eventEmitter?.removeListener('input', handleData);\n };\n }, [options.isActive, stdin, internal_exitOnCtrlC, inputHandler]);\n};\nexport default useInput;\n//# sourceMappingURL=use-input.js.map","import { useContext } from 'react';\nimport StdoutContext from '../components/StdoutContext.js';\n/**\n`useStdout` is a React hook that exposes the stdout stream where Ink renders your app.\n*/\nconst useStdout = () => useContext(StdoutContext);\nexport default useStdout;\n//# sourceMappingURL=use-stdout.js.map","import { type Workload$ } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { createHash } from 'node:crypto';\nimport { useEffect, useState } from 'react';\nimport { flatJobTree, type FlatJobTreeItem } from '../trees/flat-job-tree.js';\n\n// Hook\nexport function useFlatJobTree(workload: Workload$, verbose?: boolean): FlatJobTreeItem[] {\n const [tree, setTree] = useState<FlatJobTreeItem[]>(() => flatJobTree(workload, verbose));\n\n useEffect(() => {\n const oldHash = hashTree(tree);\n let dirty = false;\n\n function update() {\n if (!dirty) return;\n\n const updated = flatJobTree(workload, verbose);\n if (hashTree(updated) !== oldHash) {\n setTree(updated);\n }\n\n dirty = false;\n }\n\n const off = pipe$(tree,\n map$(({ workload }) => workload.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(update);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [tree, verbose, workload]);\n \n return tree;\n}\n\n// Utils\nfunction hashTree(tree: FlatJobTreeItem[]) {\n const hash = createHash('sha256');\n\n for (const { workload } of tree) {\n hash.update(workload.id);\n }\n\n return hash.digest('hex');\n}\n","import process from 'node:process';\n\nexport default function isUnicodeSupported() {\n\tconst {env} = process;\n\tconst {TERM, TERM_PROGRAM} = env;\n\n\tif (process.platform !== 'win32') {\n\t\treturn TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| TERM_PROGRAM === 'vscode'\n\t\t|| TERM === 'xterm-256color'\n\t\t|| TERM === 'alacritty'\n\t\t|| TERM === 'rxvt-unicode'\n\t\t|| TERM === 'rxvt-unicode-256color'\n\t\t|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n","import isUnicodeSupported from 'is-unicode-supported';\n\nconst isSupported = !isUnicodeSupported();\n\nexport const success = isSupported ? '✔' : '✓';\nexport const error = isSupported ? '✖' : '×';\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\n// Component\nexport function WorkloadName({ workload, withWorkspace, ...rest }: WorkloadNameProps) {\n if (isScriptWorkflow(workload)) {\n return (\n <Text {...rest}>\n Run <Text bold>{ workload.script }</Text> script{ withWorkspace && <>{' '}in {workload.workspace.name}</>}\n </Text>\n );\n }\n\n let name = workload.label;\n\n if (workload.type !== 'spawn') {\n name = capitalize(name);\n }\n\n return <Text {...rest}>{ name }</Text>;\n}\n\nexport interface WorkloadNameProps extends Omit<TextProps, 'children'> {\n readonly workload: Workload$;\n readonly withWorkspace?: boolean;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { Box, Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport ms from 'pretty-ms';\nimport { useEffect, useState } from 'react';\nimport * as symbols from '../utils/symbols.js';\nimport { WorkloadName } from './WorkloadName.jsx';\n\n// Component\nexport function WorkloadSpinner({ workload }: WorkloadSpinnerProps) {\n // Track task state\n const [state, setState] = useState(workload.state());\n\n useEffect(() => {\n const sub = workload.state$.subscribe(setState);\n return sub.unsubscribe;\n }, [workload.state$]);\n\n // Render\n const dim = workload.type === 'spawn';\n const time = workload.duration().seconds() * 1000;\n\n\n switch (state) {\n case WorkloadState.Blocked:\n case WorkloadState.Ready:\n case WorkloadState.Starting:\n return (\n <Box>\n <Text color=\"grey\">{'\\u00B7'}</Text>\n <Box paddingLeft={1}>\n <WorkloadName color=\"grey\" wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Running:\n return (\n <Box>\n <Text dimColor={dim}>\n <Spinner />\n </Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceling:\n return (\n <Box>\n <Text dimColor={dim} color=\"grey\">\n <Spinner type=\"line2\" />\n </Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor={dim} color=\"grey\" wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Succeeded:\n return (\n <Box>\n <Text color=\"green\">{ symbols.success }</Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Failed:\n return (\n <Box>\n <Text color=\"red\">{ symbols.error }</Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceled:\n return (\n <Box>\n <Text dimColor>-</Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n }\n}\n\nexport interface WorkloadSpinnerProps {\n readonly workload: Workload$;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { useEffect, useState } from 'react';\n\n// Hook\nexport function useScriptsStats(workloads: readonly Workload$[]) {\n const [stats, setStats] = useState(() => countScripts(workloads));\n\n useEffect(() => {\n let dirty = false;\n\n function recount() {\n if (!dirty) return;\n\n setStats(countScripts(workloads));\n dirty = false;\n }\n\n const off = pipe$(workloads,\n map$((wkl) => wkl.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(recount);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [workloads]);\n \n return stats;\n}\n\n// Utils\nfunction countScripts(workloads: readonly Workload$[]): Readonly<WorkloadsStats> {\n const stats: WorkloadsStats = {\n [WorkloadState.Ready]: 0,\n [WorkloadState.Blocked]: 0,\n [WorkloadState.Starting]: 0,\n [WorkloadState.Running]: 0,\n [WorkloadState.Succeeded]: 0,\n [WorkloadState.Failed]: 0,\n [WorkloadState.Canceling]: 0,\n [WorkloadState.Canceled]: 0,\n };\n\n for (const workload of workloads) {\n if (workload.type === 'script') {\n stats[workload.state()] += 1;\n }\n }\n\n return stats;\n}\n\n// Types\nexport type WorkloadsStats = Record<WorkloadState, number>;\n","import { WorkloadState } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport Spinner from 'ink-spinner';\nimport { useMemo } from 'react';\nimport { useScriptsStats } from '../hooks/useScriptsStats.js';\nimport type { FlatJobTreeItem } from '../trees/flat-job-tree.js';\nimport * as symbols from '../utils/symbols.js';\n\n// Component\nexport function WorkloadTreeStats({ tree, ...rest }: WorkloadTreeStatsProps) {\n const workloads = useMemo(() => tree.map((item) => item.workload), [tree]);\n const stats = useScriptsStats(workloads);\n\n // Render\n const running = stats[WorkloadState.Running] + stats[WorkloadState.Starting] + stats[WorkloadState.Canceling];\n const done = stats[WorkloadState.Succeeded];\n const failed = stats[WorkloadState.Failed];\n const canceled = stats[WorkloadState.Canceled];\n\n return (\n <Text {...rest}>\n { (running > 0) && (\n <><Spinner type=\"sand\" /> <Text bold>{ running }</Text> running</>\n ) }\n { (running > 0 && done > 0) && ', ' }\n { (done > 0) && (\n <Text color=\"green\">{ symbols.success } { done } done</Text>\n ) }\n { (running + done > 0 && failed > 0) && ', ' }\n { (failed > 0) && (\n <Text color=\"red\">{ symbols.error } { failed } failed</Text>\n ) }\n { (running + done + failed > 0 && canceled > 0) && ', ' }\n { (canceled > 0) && (\n <Text dimColor>- { canceled } canceled</Text>\n ) }\n </Text>\n );\n}\n\nexport interface WorkloadTreeStatsProps extends Omit<TextProps, 'children'> {\n readonly tree: readonly FlatJobTreeItem[];\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box, Static } from 'ink';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeCompleted({ workload, verbose }: WorkloadTreeCompletedProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Render\n return (\n <>\n <Static items={tree}>\n { ({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n ) }\n </Static>\n <WorkloadTreeStats tree={tree} />\n </>\n );\n}\n\nexport interface WorkloadTreeCompletedProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box } from 'ink';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeFullSpinner({ workload, verbose }: WorkloadTreeFullSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Render\n return (\n <>\n <Box flexDirection=\"column\">\n { tree.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <WorkloadTreeStats tree={tree} />\n </>\n );\n}\n\nexport interface WorkloadTreeFullSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { useStdout } from 'ink';\nimport { useEffect, useState } from 'react';\n\nexport function useStdoutDimensions() {\n const { stdout } = useStdout();\n const [dimensions, setDimensions] = useState({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n useEffect(() => {\n const updateDimensions = () => setDimensions({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n stdout.on('resize', updateDimensions);\n\n return () => {\n stdout.off('resize', updateDimensions);\n };\n }, [stdout]);\n\n return dimensions;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box, Text, useInput } from 'ink';\nimport { useState } from 'react';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { useStdoutDimensions } from '../hooks/useStdoutDimensions.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeScrollableSpinner({ workload, verbose }: WorkloadTreeScrollableSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Manage scroll\n const { rows: termRows } = useStdoutDimensions();\n const [scroll, setScroll] = useState(0);\n\n const maxRows = Math.min(termRows - 4, tree.length);\n const firstIndex = Math.max(0, tree.length - scroll - maxRows);\n const lastIndex = Math.min(tree.length, firstIndex + maxRows);\n const effectiveScroll = tree.length - lastIndex;\n\n useInput((_, key) => {\n if (key.upArrow) {\n setScroll(Math.min(tree.length - maxRows, effectiveScroll + 1));\n } else {\n setScroll(Math.max(0, effectiveScroll - 1));\n }\n });\n\n // Render\n const slice = tree.slice(firstIndex, lastIndex);\n\n return (\n <>\n <Box flexDirection=\"column\">\n { slice.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <Text>\n <WorkloadTreeStats tree={tree} />\n { (termRows < tree.length) && (<Text color=\"grey\"> | use keyboard arrows to scroll</Text>) }\n </Text>\n </>\n );\n}\n\nexport interface WorkloadTreeScrollableSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { useStdin } from 'ink';\nimport { WorkloadTreeFullSpinner } from './WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeScrollableSpinner } from './WorkloadTreeScrollableSpinner.jsx';\n\n// Component\nexport function WorkloadTreeSpinner({ workload, verbose }: WorkloadTreeSpinnerProps) {\n const stdin = useStdin();\n\n if (stdin.isRawModeSupported) {\n return <WorkloadTreeScrollableSpinner workload={workload} verbose={verbose} />;\n } else {\n return <WorkloadTreeFullSpinner workload={workload} verbose={verbose} />;\n }\n}\n\nexport interface WorkloadTreeSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { inject$ } from '@kyrielle/injector';\nimport { isWorkloadEnded, type Job$, WorkloadState } from '@kyrielle/workload';\nimport { filter$, pipe$, waitFor$ } from 'kyrielle';\nimport process from 'node:process';\nimport { WorkloadTreeCompleted } from '../components/WorkloadTreeCompleted.jsx';\nimport { WorkloadTreeSpinner } from '../components/WorkloadTreeSpinner.jsx';\nimport { SCHEDULER } from '../tokens.js';\nimport { inked } from './inked.jsx';\n\nexport const JobCommandExecuteInk = inked(async function* ({ job, verbose }: JobExecInkProps) {\n const scheduler = await inject$(SCHEDULER);\n\n yield <WorkloadTreeSpinner workload={job} verbose={verbose} />;\n scheduler.register(job);\n\n const outcome = await waitFor$(pipe$(job.state$, filter$(isWorkloadEnded)));\n yield <WorkloadTreeCompleted workload={job} verbose={verbose} />;\n\n if (outcome !== WorkloadState.Succeeded) {\n process.exitCode = 1;\n }\n});\n\n// Types\nexport interface JobExecInkProps {\n readonly job: Job$;\n readonly verbose?: boolean;\n}\n"],"names":["off$","subscriptions","store","Set","unsubscribe","sub","clear","Symbol","dispose","for","add","useState","useMemo","useLayoutEffect","useContext","useEffect","useFlatJobTree","workload","verbose","tree","setTree","flatJobTree","oldHash","hashTree","dirty","update","updated","off","pipe$","map$","state$","subscribe","queueMicrotask","collect$","hash","createHash","id","digest","isUnicodeSupported","env","process","TERM","TERM_PROGRAM","platform","Boolean","WT_SESSION","TERMINUS_SUBLIME","ConEmuTask","TERMINAL_EMULATOR","isSupported","success","error","WorkloadName","withWorkspace","rest","isScriptWorkflow","_jsxs","Text","_jsx","bold","script","_Fragment","workspace","name","label","type","capitalize","WorkloadSpinner","state","setState","dim","time","duration","seconds","WorkloadState","Blocked","Ready","Starting","Box","color","paddingLeft","wrap","Running","dimColor","Spinner","Canceling","Succeeded","symbols","flexShrink","ms","Failed","Canceled","useScriptsStats","workloads","stats","setStats","countScripts","recount","wkl","WorkloadTreeStats","map","item","running","done","failed","canceled","WorkloadTreeCompleted","Static","items","level","marginLeft","WorkloadTreeFullSpinner","flexDirection","useStdoutDimensions","stdout","useStdout","dimensions","setDimensions","columns","Infinity","rows","updateDimensions","on","WorkloadTreeScrollableSpinner","termRows","scroll","setScroll","maxRows","Math","min","length","firstIndex","max","lastIndex","effectiveScroll","useInput","_","key","upArrow","slice","WorkloadTreeSpinner","stdin","useStdin","isRawModeSupported","JobCommandExecuteInk","inked","job","scheduler","inject$","SCHEDULER","register","outcome","waitFor$","filter$","isWorkloadEnded","exitCode"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,6]}
1
+ {"version":3,"file":"job-command-execute.ink.js","sources":["../node_modules/kyrielle/dist/off$.js","../node_modules/ink/build/hooks/use-stdin.js","../node_modules/ink/build/hooks/use-input.js","../node_modules/ink/build/hooks/use-stdout.js","../src/hooks/useFlatJobTree.ts","../node_modules/is-unicode-supported/index.js","../src/utils/symbols.ts","../src/components/WorkloadName.tsx","../src/components/WorkloadSpinner.tsx","../src/hooks/useScriptsStats.ts","../src/components/WorkloadTreeStats.tsx","../src/components/WorkloadTreeFullSpinner.tsx","../src/hooks/useStdoutDimensions.ts","../src/components/WorkloadTreeScrollableSpinner.tsx","../src/components/WorkloadTreeSpinner.tsx","../src/wrappers/job-command-execute.ink.tsx"],"sourcesContent":["/**\n * Builds a subscription group\n *\n * @since 1.0.0\n */ export function off$(...subscriptions) {\n const store = new Set(subscriptions);\n function unsubscribe() {\n for (const sub of store){\n sub.unsubscribe();\n }\n store.clear();\n }\n return {\n [Symbol.dispose ?? Symbol.for('Symbol.dispose')]: unsubscribe,\n unsubscribe,\n add: (...subscriptions)=>{\n for (const sub of subscriptions){\n store.add(sub);\n }\n }\n };\n}\n\n//# sourceMappingURL=off$.js.map","import { useContext } from 'react';\nimport StdinContext from '../components/StdinContext.js';\n/**\n`useStdin` is a React hook that exposes the stdin stream.\n*/\nconst useStdin = () => useContext(StdinContext);\nexport default useStdin;\n//# sourceMappingURL=use-stdin.js.map","import { useEffect } from 'react';\nimport parseKeypress, { nonAlphanumericKeys } from '../parse-keypress.js';\nimport reconciler from '../reconciler.js';\nimport useStdin from './use-stdin.js';\n/**\nThis hook is used for handling user input. It's a more convenient alternative to using `StdinContext` and listening for `data` events. The callback you pass to `useInput` is called for each character when the user enters any input. However, if the user pastes text and it's more than one character, the callback will be called only once, and the whole string will be passed as `input`.\n\n```\nimport {useInput} from 'ink';\n\nconst UserInput = () => {\n useInput((input, key) => {\n if (input === 'q') {\n // Exit program\n }\n\n if (key.leftArrow) {\n // Left arrow key pressed\n }\n });\n\n return …\n};\n```\n*/\nconst useInput = (inputHandler, options = {}) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { stdin, setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = useStdin();\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n setRawMode(true);\n return () => {\n setRawMode(false);\n };\n }, [options.isActive, setRawMode]);\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n const handleData = (data) => {\n const keypress = parseKeypress(data);\n const key = {\n upArrow: keypress.name === 'up',\n downArrow: keypress.name === 'down',\n leftArrow: keypress.name === 'left',\n rightArrow: keypress.name === 'right',\n pageDown: keypress.name === 'pagedown',\n pageUp: keypress.name === 'pageup',\n home: keypress.name === 'home',\n end: keypress.name === 'end',\n return: keypress.name === 'return',\n escape: keypress.name === 'escape',\n ctrl: keypress.ctrl,\n shift: keypress.shift,\n tab: keypress.name === 'tab',\n backspace: keypress.name === 'backspace',\n delete: keypress.name === 'delete',\n // `parseKeypress` parses \\u001B\\u001B[A (meta + up arrow) as meta = false\n // but with option = true, so we need to take this into account here\n // to avoid breaking changes in Ink.\n // TODO(vadimdemedes): consider removing this in the next major version.\n meta: keypress.meta || keypress.name === 'escape' || keypress.option,\n };\n let input = keypress.ctrl ? keypress.name : keypress.sequence;\n if (nonAlphanumericKeys.includes(keypress.name)) {\n input = '';\n }\n // Strip meta if it's still remaining after `parseKeypress`\n // TODO(vadimdemedes): remove this in the next major version.\n if (input.startsWith('\\u001B')) {\n input = input.slice(1);\n }\n if (input.length === 1 &&\n typeof input[0] === 'string' &&\n /[A-Z]/.test(input[0])) {\n key.shift = true;\n }\n // If app is not supposed to exit on Ctrl+C, then let input listener handle it\n if (!(input === 'c' && key.ctrl) || !internal_exitOnCtrlC) {\n // @ts-expect-error TypeScript types for `batchedUpdates` require an argument, but React's codebase doesn't provide it and it works without it as expected.\n reconciler.batchedUpdates(() => {\n inputHandler(input, key);\n });\n }\n };\n internal_eventEmitter?.on('input', handleData);\n return () => {\n internal_eventEmitter?.removeListener('input', handleData);\n };\n }, [options.isActive, stdin, internal_exitOnCtrlC, inputHandler]);\n};\nexport default useInput;\n//# sourceMappingURL=use-input.js.map","import { useContext } from 'react';\nimport StdoutContext from '../components/StdoutContext.js';\n/**\n`useStdout` is a React hook that exposes the stdout stream where Ink renders your app.\n*/\nconst useStdout = () => useContext(StdoutContext);\nexport default useStdout;\n//# sourceMappingURL=use-stdout.js.map","import { type Workload$ } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { createHash } from 'node:crypto';\nimport { useEffect, useState } from 'react';\nimport { flatJobTree, type FlatJobTreeItem } from '../trees/flat-job-tree.js';\n\n// Hook\nexport function useFlatJobTree(workload: Workload$, verbose?: boolean): FlatJobTreeItem[] {\n const [tree, setTree] = useState<FlatJobTreeItem[]>(() => flatJobTree(workload, verbose));\n\n useEffect(() => {\n const oldHash = hashTree(tree);\n let dirty = false;\n\n function update() {\n if (!dirty) return;\n\n const updated = flatJobTree(workload, verbose);\n if (hashTree(updated) !== oldHash) {\n setTree(updated);\n }\n\n dirty = false;\n }\n\n const off = pipe$(tree,\n map$(({ workload }) => workload.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(update);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [tree, verbose, workload]);\n \n return tree;\n}\n\n// Utils\nfunction hashTree(tree: FlatJobTreeItem[]) {\n const hash = createHash('sha256');\n\n for (const { workload } of tree) {\n hash.update(workload.id);\n }\n\n return hash.digest('hex');\n}\n","import process from 'node:process';\n\nexport default function isUnicodeSupported() {\n\tconst {env} = process;\n\tconst {TERM, TERM_PROGRAM} = env;\n\n\tif (process.platform !== 'win32') {\n\t\treturn TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| TERM_PROGRAM === 'vscode'\n\t\t|| TERM === 'xterm-256color'\n\t\t|| TERM === 'alacritty'\n\t\t|| TERM === 'rxvt-unicode'\n\t\t|| TERM === 'rxvt-unicode-256color'\n\t\t|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n","import isUnicodeSupported from 'is-unicode-supported';\n\nconst isSupported = !isUnicodeSupported();\n\nexport const success = isSupported ? '✔' : '✓';\nexport const error = isSupported ? '✖' : '×';\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\n// Component\nexport function WorkloadName({ workload, withWorkspace, ...rest }: WorkloadNameProps) {\n if (isScriptWorkflow(workload)) {\n return (\n <Text {...rest}>\n Run <Text bold>{ workload.script }</Text> script{ withWorkspace && <>{' '}in {workload.workspace.name}</>}\n </Text>\n );\n }\n\n let name = workload.label;\n\n if (workload.type !== 'spawn') {\n name = capitalize(name);\n }\n\n return <Text {...rest}>{ name }</Text>;\n}\n\nexport interface WorkloadNameProps extends Omit<TextProps, 'children'> {\n readonly workload: Workload$;\n readonly withWorkspace?: boolean;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { Box, Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport ms from 'pretty-ms';\nimport { useEffect, useState } from 'react';\nimport * as symbols from '../utils/symbols.js';\nimport { WorkloadName } from './WorkloadName.jsx';\n\n// Component\nexport function WorkloadSpinner({ workload }: WorkloadSpinnerProps) {\n // Track task state\n const [state, setState] = useState(workload.state());\n\n useEffect(() => {\n const sub = workload.state$.subscribe(setState);\n return sub.unsubscribe;\n }, [workload.state$]);\n\n // Render\n const dim = workload.type === 'spawn';\n const time = workload.duration().seconds() * 1000;\n\n switch (state) {\n case WorkloadState.Blocked:\n case WorkloadState.Ready:\n case WorkloadState.Starting:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"grey\">{'\\u00B7'}</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName color=\"grey\" wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Running:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor={dim}>\n <Spinner />\n </Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceling:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor={dim} color=\"grey\">\n <Spinner type=\"line2\" />\n </Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName color=\"grey\" dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Succeeded:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"green\">{ symbols.success }</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Failed:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"red\">{ symbols.error }</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceled:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor>-</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n }\n}\n\nexport interface WorkloadSpinnerProps {\n readonly workload: Workload$;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { useEffect, useState } from 'react';\n\n// Hook\nexport function useScriptsStats(workloads: readonly Workload$[]) {\n const [stats, setStats] = useState(() => countScripts(workloads));\n\n useEffect(() => {\n let dirty = false;\n\n function recount() {\n if (!dirty) return;\n\n setStats(countScripts(workloads));\n dirty = false;\n }\n\n const off = pipe$(workloads,\n map$((wkl) => wkl.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(recount);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [workloads]);\n \n return stats;\n}\n\n// Utils\nfunction countScripts(workloads: readonly Workload$[]): Readonly<WorkloadsStats> {\n const stats: WorkloadsStats = {\n [WorkloadState.Ready]: 0,\n [WorkloadState.Blocked]: 0,\n [WorkloadState.Starting]: 0,\n [WorkloadState.Running]: 0,\n [WorkloadState.Succeeded]: 0,\n [WorkloadState.Failed]: 0,\n [WorkloadState.Canceling]: 0,\n [WorkloadState.Canceled]: 0,\n };\n\n for (const workload of workloads) {\n if (workload.type === 'script') {\n stats[workload.state()] += 1;\n }\n }\n\n return stats;\n}\n\n// Types\nexport type WorkloadsStats = Record<WorkloadState, number>;\n","import { WorkloadState } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport Spinner from 'ink-spinner';\nimport { useMemo } from 'react';\nimport { useScriptsStats } from '../hooks/useScriptsStats.js';\nimport type { FlatJobTreeItem } from '../trees/flat-job-tree.js';\nimport * as symbols from '../utils/symbols.js';\n\n// Component\nexport function WorkloadTreeStats({ tree, ...rest }: WorkloadTreeStatsProps) {\n const workloads = useMemo(() => tree.map((item) => item.workload), [tree]);\n const stats = useScriptsStats(workloads);\n\n // Render\n const running = stats[WorkloadState.Running] + stats[WorkloadState.Starting] + stats[WorkloadState.Canceling];\n const done = stats[WorkloadState.Succeeded];\n const failed = stats[WorkloadState.Failed];\n const canceled = stats[WorkloadState.Canceled];\n\n return (\n <Text {...rest}>\n { (running > 0) && (\n <><Spinner type=\"sand\" /> <Text bold>{ running }</Text> running</>\n ) }\n { (running > 0 && done > 0) && ', ' }\n { (done > 0) && (\n <Text color=\"green\">{ symbols.success } { done } done</Text>\n ) }\n { (running + done > 0 && failed > 0) && ', ' }\n { (failed > 0) && (\n <Text color=\"red\">{ symbols.error } { failed } failed</Text>\n ) }\n { (running + done + failed > 0 && canceled > 0) && ', ' }\n { (canceled > 0) && (\n <Text dimColor>- { canceled } canceled</Text>\n ) }\n </Text>\n );\n}\n\nexport interface WorkloadTreeStatsProps extends Omit<TextProps, 'children'> {\n readonly tree: readonly FlatJobTreeItem[];\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box } from 'ink';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeFullSpinner({ workload, verbose }: WorkloadTreeFullSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Render\n return (\n <>\n <Box flexDirection=\"column\">\n { tree.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <WorkloadTreeStats tree={tree} />\n </>\n );\n}\n\nexport interface WorkloadTreeFullSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { useStdout } from 'ink';\nimport { useEffect, useState } from 'react';\n\nexport function useStdoutDimensions() {\n const { stdout } = useStdout();\n const [dimensions, setDimensions] = useState({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n useEffect(() => {\n const updateDimensions = () => setDimensions({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n stdout.on('resize', updateDimensions);\n\n return () => {\n stdout.off('resize', updateDimensions);\n };\n }, [stdout]);\n\n return dimensions;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box, Text, useInput } from 'ink';\nimport { useState } from 'react';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { useStdoutDimensions } from '../hooks/useStdoutDimensions.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeScrollableSpinner({ workload, verbose }: WorkloadTreeScrollableSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Manage scroll\n const { rows: termRows } = useStdoutDimensions();\n const [scroll, setScroll] = useState(0);\n\n const maxRows = Math.min(termRows - 4, tree.length);\n const firstIndex = Math.max(0, tree.length - scroll - maxRows);\n const lastIndex = Math.min(tree.length, firstIndex + maxRows);\n const effectiveScroll = tree.length - lastIndex;\n\n useInput((_, key) => {\n if (key.upArrow) {\n setScroll(Math.min(tree.length - maxRows, effectiveScroll + 1));\n } else {\n setScroll(Math.max(0, effectiveScroll - 1));\n }\n });\n\n // Render\n const slice = tree.slice(firstIndex, lastIndex);\n\n return (\n <>\n <Box flexDirection=\"column\">\n { slice.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <Text>\n <WorkloadTreeStats tree={tree} />\n { (termRows < tree.length) && (<Text color=\"grey\"> | use keyboard arrows to scroll</Text>) }\n </Text>\n </>\n );\n}\n\nexport interface WorkloadTreeScrollableSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { useStdin } from 'ink';\nimport { WorkloadTreeFullSpinner } from './WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeScrollableSpinner } from './WorkloadTreeScrollableSpinner.jsx';\n\n// Component\nexport function WorkloadTreeSpinner({ workload, verbose }: WorkloadTreeSpinnerProps) {\n const stdin = useStdin();\n\n if (stdin.isRawModeSupported) {\n return <WorkloadTreeScrollableSpinner workload={workload} verbose={verbose} />;\n } else {\n return <WorkloadTreeFullSpinner workload={workload} verbose={verbose} />;\n }\n}\n\nexport interface WorkloadTreeSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { inject$ } from '@kyrielle/injector';\nimport { isWorkloadEnded, type Job$, WorkloadState } from '@kyrielle/workload';\nimport { filter$, pipe$, waitFor$ } from 'kyrielle';\nimport process from 'node:process';\nimport { WorkloadTreeFullSpinner } from '../components/WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeSpinner } from '../components/WorkloadTreeSpinner.jsx';\nimport { SCHEDULER } from '../tokens.js';\nimport { inked } from './inked.jsx';\n\nexport const JobCommandExecuteInk = inked(async function* ({ job, verbose }: JobExecInkProps) {\n const scheduler = await inject$(SCHEDULER);\n\n yield <WorkloadTreeSpinner workload={job} verbose={verbose} />;\n scheduler.register(job);\n\n const outcome = await waitFor$(pipe$(job.state$, filter$(isWorkloadEnded)));\n yield <WorkloadTreeFullSpinner workload={job} verbose={verbose} />;\n\n if (outcome !== WorkloadState.Succeeded) {\n process.exitCode = 1;\n }\n});\n\n// Types\nexport interface JobExecInkProps {\n readonly job: Job$;\n readonly verbose?: boolean;\n}\n"],"names":["off$","subscriptions","store","Set","unsubscribe","sub","clear","Symbol","dispose","for","add","useContext","useEffect","useFlatJobTree","workload","verbose","tree","setTree","useState","flatJobTree","oldHash","hashTree","dirty","update","updated","off","pipe$","map$","state$","subscribe","queueMicrotask","collect$","hash","createHash","id","digest","isUnicodeSupported","env","process","TERM","TERM_PROGRAM","platform","Boolean","WT_SESSION","TERMINUS_SUBLIME","ConEmuTask","TERMINAL_EMULATOR","isSupported","success","error","WorkloadName","withWorkspace","rest","isScriptWorkflow","_jsxs","Text","_jsx","bold","script","_Fragment","workspace","name","label","type","capitalize","WorkloadSpinner","state","setState","dim","time","duration","seconds","WorkloadState","Blocked","Ready","Starting","Box","overflow","color","paddingLeft","flexGrow","wrap","Running","dimColor","Spinner","Canceling","Succeeded","symbols","flexShrink","ms","Failed","Canceled","useScriptsStats","workloads","stats","setStats","countScripts","recount","wkl","WorkloadTreeStats","useMemo","map","item","running","done","failed","canceled","WorkloadTreeFullSpinner","flexDirection","level","marginLeft","useStdoutDimensions","stdout","useStdout","dimensions","setDimensions","columns","Infinity","rows","updateDimensions","on","WorkloadTreeScrollableSpinner","termRows","scroll","setScroll","maxRows","Math","min","length","firstIndex","max","lastIndex","effectiveScroll","useInput","_","key","upArrow","slice","WorkloadTreeSpinner","stdin","useStdin","isRawModeSupported","JobCommandExecuteInk","inked","job","scheduler","inject$","SCHEDULER","register","outcome","waitFor$","filter$","isWorkloadEnded","exitCode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,CAAA,CAAA,CAAA;;;;AAIC,CAAA,CAAA,CAAA,CACM,QAAA,CAASA,GAAAA,CAAAA,CAAK,CAAA,CAAA,CAAGC,aAA+B,CAAA,CAAA,CAAA;IACrD,MAAMC,KAAAA,CAAAA,CAAAA,CAAQ,IAAIC,GAAAA,CAAIF,aAAAA,CAAAA,CAAAA;IAEtB,QAAA,CAASG,WAAAA,CAAAA,CAAAA,CAAAA,CAAAA;QACP,GAAA,CAAA,CAAK,KAAA,CAAMC,OAAOH,KAAAA,CAAO,CAAA;AACvBG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAID,WAAW,CAAA,CAAA,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAMI,KAAK,CAAA,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA;IAEA,MAAA,CAAO,CAAA;AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAACC,OAAOC,OAAO,CAAA,CAAA,CAAA,CAAID,OAAOE,GAAG,CAAC,CAAA,MAAA,CAAA,OAAA,KAAoBL,WAAAA,CAAAA;AAClDA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA;AACAM,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAK,CAAC,CAAA,CAAA,CAAGT,aAAAA,CAAAA,CAAAA,CAAAA,CAAAA;YACP,GAAA,CAAA,CAAK,KAAA,CAAMI,OAAOJ,aAAAA,CAAe,CAAA;AAC/BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAMQ,GAAG,CAACL,GAAAA,CAAAA,CAAAA;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA;;ACtCA,CAAA,CAAA,CAAA;;GAGA,MAAM,QAAQ,CAAA,CAAA,CAAG,IAAMM,YAAAA,CAAAA,UAAU,CAAC,YAAY,CAAC,CAAA;;AC+F/C,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;GAqBA,KAAA,CAAM,QAAQ,CAAA,CAAA,CAAG,CAAC,YAAqB,CAAA,CAAE,OAAA,CAAA,CAAA,CAAmB,CAAA,CAAE,CAAA,CAAA,CAAE,CAAA;;AAE/D,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAAA,CAAC,KAAK,CAAA,CAAE,UAAU,CAAA,CAAE,oBAAoB,CAAA,CAAE,qBAAqB,CAAA,CAAC,CAAA,CAAA,CACrE,QAAQ,CAAA,CAAE,CAAA;IAEXC,YAAAA,CAAAA,SAAS,CAAC,CAAA,CAAA,CAAA,CAAG,CAAA;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,OAAO,CAAC,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAA,CAAE,CAAA;YAC/B,MAAA,CAAA;QACD,CAAA;QAEA,UAAU,CAAC,IAAI,CAAC,CAAA;AAEhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAG,CAAA;YACT,UAAU,CAAC,KAAK,CAAC,CAAA;AAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAE,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAC,QAAQ,CAAA;QAAE,UAAA;AAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA;IAElCA,YAAAA,CAAAA,SAAS,CAAC,CAAA,CAAA,CAAA,CAAG,CAAA;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,OAAO,CAAC,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAA,CAAE,CAAA;YAC/B,MAAA,CAAA;QACD,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA,CAAG,CAAC,IAAY,CAAA,CAAA,CAAE,CAAA;AACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,QAAQ,CAAA,CAAA,CAAG,aAAa,CAAC,IAAI,CAAC,CAAA;AAEpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA,CAAG,CAAA;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,EAAA,CAAI,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAS,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,IAAA,CAAM,CAAA;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAS,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,IAAA,CAAM,CAAA;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAU,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,KAAA,CAAO,CAAA;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAQ,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,QAAA,CAAU,CAAA;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,MAAA,CAAQ,CAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,IAAA,CAAM,CAAA;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,GAAA,CAAK,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,MAAA,CAAQ,CAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,MAAA,CAAQ,CAAA;gBAClC,IAAI,CAAA,CAAE,QAAQ,CAAC,IAAI,CAAA;gBACnB,KAAK,CAAA,CAAE,QAAQ,CAAC,KAAK,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,GAAA,CAAK,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAS,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,SAAA,CAAW,CAAA;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAE,QAAQ,CAAC,IAAI,KAAK,CAAA,MAAA,CAAQ,CAAA;;;;;AAKlC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAA,CAAE,QAAQ,CAAC,IAAI,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,MAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAC,MAAA;aAC9D,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAI,KAAK,CAAA,CAAA,CAAG,QAAQ,CAAC,IAAI,CAAA,CAAA,CAAG,QAAQ,CAAC,IAAI,CAAA,CAAA,CAAG,QAAQ,CAAC,QAAQ,CAAA;YAE7D,EAAA,CAAA,CAAI,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAE,CAAA;gBAChD,KAAK,GAAG,CAAA,CAAE,CAAA;YACX,CAAA;;;AAIA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA,CAAA,KAAA,CAAQ,CAAC,CAAA,CAAE,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAA,CAAA,CAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACvB,CAAA;YAEA,EAAA,CAAA,CACC,KAAK,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAClB,MAAA,CAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA,MAAA,CAAQ,CAAA,CAAA,CAAA,CAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA,CACrB,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,CAAC,KAAK,CAAA,CAAA,CAAG,IAAI,CAAA;YACjB,CAAA;;AAGA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAI,CAAA,CAAE,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,GAAG,CAAC,IAAA,CAAK,CAAA,CAAA,CAAA,CAAI,CAAC,oBAAoB,CAAA,CAAE,CAAA;;AAE1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAU,CAAC,cAAc,CAAC,CAAA,CAAA,CAAA,CAAG,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,YAAY,CAAC,KAAK,CAAA,CAAE,GAAG,CAAC,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAA;YACH,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBAAqB,CAAA,CAAE,EAAE,CAAC,CAAA,KAAA,CAAO,CAAA,CAAE,UAAU,CAAC,CAAA;AAE9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAG,CAAA;AACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBAAqB,CAAA,CAAE,cAAc,CAAC,CAAA,KAAA,CAAO,CAAA,CAAE,UAAU,CAAC,CAAA;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAE,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAC,QAAQ,CAAA;QAAE,KAAK,CAAA;QAAE,oBAAoB,CAAA;QAAE,YAAA;AAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA;AAClE,CAAC,CAAA;;AC1MD,CAAA,CAAA,CAAA;;GAGA,MAAM,SAAS,CAAA,CAAA,CAAG,IAAMD,YAAAA,CAAAA,UAAU,CAAC,aAAa,CAAC,CAAA;;ACAjD,CAAA,CAAA,CAAA,IAAA;AACO,QAAA,CAASE,cAAAA,CAAeC,QAAmB,CAAA,CAAEC,OAAiB,CAAA,CAAA,CAAA;AACnE,CAAA,CAAA,CAAA,CAAA,MAAM,CAACC,IAAAA,CAAAA,CAAMC,OAAAA,CAAQ,CAAA,CAAA,CAAGC,YAAAA,CAAAA,QAAAA,CAA4B,CAAA,CAAA,CAAA,CAAMC,YAAYL,QAAAA,CAAAA,CAAUC,OAAAA,CAAAA,CAAAA,CAAAA;IAEhFH,YAAAA,CAAAA,SAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAMQ,UAAUC,QAAAA,CAASL,IAAAA,CAAAA,CAAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAIM,KAAAA,CAAAA,CAAAA,CAAQ,KAAA,CAAA;QAEZ,QAAA,CAASC,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAI,CAACD,KAAAA,CAAAA,CAAO,MAAA,CAAA;YAEZ,KAAA,CAAME,OAAAA,CAAAA,CAAAA,CAAUL,YAAYL,QAAAA,CAAAA,CAAUC,OAAAA,CAAAA,CAAAA;YACtC,IAAIM,QAAAA,CAASG,aAAaJ,OAAAA,CAAAA,CAAS,CAAA;gBACjCH,OAAAA,CAAQO,OAAAA,CAAAA,CAAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAEAF,KAAAA,GAAQ,KAAA,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMG,GAAAA,CAAAA,CAAAA,CAAMC,IAAAA,CAAAA,CAAMV,IAAAA,CAAAA,CAChBW,IAAAA,CAAK,CAAC,EAAEb,QAAQ,CAAA,CAAE,GAAKA,QAAAA,CAASc,MAAM,CAACC,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA;gBAC/CP,KAAAA,GAAQ,IAAA,CAAA;gBACRQ,cAAAA,CAAeP,MAAAA,CAAAA,CAAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACAQ,QAAAA,CAAS/B,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;QAGX,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA;YACLsB,KAAAA,GAAQ,KAAA,CAAA;AACRG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIrB,WAAW,CAAA,CAAA,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACF,CAAA,CAAA,CAAG,CAAA;AAACY,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA;AAAMD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA;AAASD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA;AAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IAE5B,OAAOE,IAAAA,CAAAA;AACT,CAAA;AAEA,CAAA,CAAA,CAAA,KAAA;AACA,QAAA,CAASK,SAASL,IAAuB,CAAA,CAAA,CAAA;AACvC,CAAA,CAAA,CAAA,CAAA,MAAMgB,OAAOC,UAAAA,CAAW,QAAA,CAAA,CAAA;AAExB,CAAA,CAAA,CAAA,CAAA,KAAK,KAAA,CAAM,CAAA,CAAEnB,QAAQ,CAAA,CAAE,CAAA,EAAA,CAAIE,IAAAA,CAAM,CAAA;QAC/BgB,IAAAA,CAAKT,MAAM,CAACT,QAAAA,CAASoB,EAAE,CAAA,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA;IAEA,OAAOF,IAAAA,CAAKG,MAAM,CAAC,KAAA,CAAA,CAAA;AACrB,CAAA;;ACjDe,QAAA,CAASC,kBAAAA,CAAAA,CAAAA,CAAAA,CAAAA;IACvB,KAAA,CAAM,CAAA,CAACC,GAAG,CAAA,CAAC,GAAGC,OAAAA,CAAAA;AACd,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAACC,IAAI,EAAEC,YAAY,CAAA,CAAC,GAAGH,GAAAA,CAAAA;IAE7B,IAAIC,OAAAA,CAAQG,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,OAAA,CAAA,CAAS,CAAA;QACjC,MAAA,CAAOF,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,KAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,OAAOG,OAAAA,CAAQL,GAAAA,CAAIM,UAAU,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,QAAA;QACzBD,OAAAA,CAAQL,GAAAA,CAAIO,gBAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;QAC5BP,GAAAA,CAAIQ,UAAU,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,GAAA,CAAA,KAAA;AACnBL,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CACjBA,YAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CACjBD,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CACTA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CACTA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,IAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CACTA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAS,CAAA,IAAA,CAAA,OAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CACTF,GAAAA,CAAIS,iBAAiB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,SAAA,CAAA,QAAA,CAAA,CAAA;AAC/B,CAAA;;AClBA,KAAA,CAAMC,cAAc,CAACX,kBAAAA,CAAAA,CAAAA,CAAAA;AAEd,KAAA,CAAMY,OAAAA,CAAAA,CAAAA,CAAUD,WAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,CAAA,CAAA;AACpC,KAAA,CAAME,KAAAA,CAAAA,CAAAA,CAAQF,WAAAA,CAAAA,CAAAA,CAAc,CAAA,CAAA,CAAA,GAAM,CAAA,CAAA,CAAA,CAAA;;ACAzC,CAAA,CAAA,CAAA,SAAA;AACO,QAAA,CAASG,aAAa,CAAA,CAAEpC,QAAQ,CAAA,CAAEqC,aAAa,CAAA,CAAE,CAAA,CAAA,CAAGC,IAAAA,CAAAA,CAAyB,CAAA,CAAA,CAAA;AAClF,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAIC,iBAAiBvC,QAAAA,CAAAA,CAAAA,CAAW,CAAA;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEwC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGH,IAAI,CAAA;;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;8BACVI,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;oBAAKE,IAAI,EAAA,IAAA,CAAA;AAAG3C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,QAAAA,CAAS4C,MAAAA;;AAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA;gBAASP,aAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAiBG,iBAAAA,CAAAA,IAAA,CAAAK,0BAAA,CAAA,CAAA,CAAA;;AAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBAAI7C,QAAAA,CAAS8C,SAAS,CAACC,IAAAA;;;;;AAGvG,CAAA,CAAA,CAAA,CAAA,CAAA;IAEA,GAAA,CAAIA,IAAAA,CAAAA,CAAAA,CAAO/C,SAASgD,KAAK,CAAA;IAEzB,IAAIhD,QAAAA,CAASiD,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,OAAA,CAAA,CAAS,CAAA;AAC7BF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAOG,UAAAA,CAAWH,IAAAA,CAAAA,CAAAA;AACpB,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAOL,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGH,IAAI,CAAA;AAAIS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,IAAAA;;AAC3B,CAAA;;ACdA,CAAA,CAAA,CAAA,SAAA;AACO,QAAA,CAASI,eAAAA,CAAgB,CAAA,CAAEnD,QAAQ,EAAwB,CAAA,CAAA,CAAA;;AAEhE,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAACoD,KAAAA,CAAAA,CAAOC,QAAAA,CAAS,CAAA,CAAA,CAAGjD,YAAAA,CAAAA,QAAAA,CAASJ,SAASoD,KAAK,EAAA,CAAA,CAAA;IAEjDtD,YAAAA,CAAAA,SAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMP,GAAAA,CAAAA,CAAAA,CAAMS,QAAAA,CAASc,MAAM,CAACC,SAAS,CAACsC,QAAAA,CAAAA,CAAAA;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO9D,IAAID,WAAW,CAAA;IACxB,CAAA,CAAA,CAAG,CAAA;AAACU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASc,KAAAA,CAAAA;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;IAGpB,MAAMwC,GAAAA,CAAAA,CAAAA,CAAMtD,QAAAA,CAASiD,IAAI,KAAK,CAAA,KAAA,CAAA,CAAA;AAC9B,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMM,IAAAA,CAAAA,CAAAA,CAAOvD,QAAAA,CAASwD,QAAQ,CAAA,CAAA,CAAGC,OAAO,CAAA,CAAA,CAAA,CAAA,CAAK,IAAA,CAAA;IAE7C,OAAQL,KAAAA,CAAAA,CAAAA;AACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKM,cAAcC,OAAO,CAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKD,cAAcE,KAAK,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKF,cAAcG,QAAQ,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACErB,iBAAAA,CAAAA,IAAA,CAACsB,GAAAA,CAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA,CAAA;;kCACZrB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;wBAAKuB,KAAAA,EAAM,CAAA,IAAA,CAAA,CAAA;AAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA;;kCACpBtB,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA,CAAA;wBAAGC,QAAAA,EAAU,CAAA,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAxB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA,CAAAA;4BAAa4B,KAAAA,EAAM,CAAA,IAAA,CAAA,CAAA;4BAAOG,IAAAA,EAAK,CAAA,QAAA,CAAA,CAAA;4BAAWnE,QAAAA,EAAUA,QAAAA,CAAAA;4BAAUqC,aAAa,CAAA,CAAA,IAAA;;;;;AAKpF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKqB,cAAcU,OAAO,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACE5B,iBAAAA,CAAAA,IAAA,CAACsB,GAAAA,CAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA,CAAA;;kCACZrB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;wBAAK4B,QAAAA,EAAUf,GAAAA,CAAAA;AACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAZ,iBAAAA,CAAAA,GAAA,CAAC4B,OAAAA,EAAAA,CAAAA,CAAAA,CAAAA;;kCAEH5B,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA,CAAA;wBAAGC,QAAAA,EAAU,CAAA,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAxB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA,CAAAA;4BAAaiC,QAAAA,EAAUf,GAAAA,CAAAA;4BAAKa,IAAAA,EAAK,CAAA,QAAA,CAAA,CAAA;4BAAWnE,QAAAA,EAAUA,QAAAA,CAAAA;4BAAUqC,aAAa,CAAA,CAAA,IAAA;;;;;AAKtF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKqB,cAAca,SAAS,CAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACE/B,iBAAAA,CAAAA,IAAA,CAACsB,GAAAA,CAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA,CAAA;;kCACZrB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;wBAAK4B,QAAAA,EAAUf,GAAAA,CAAAA;wBAAKU,KAAAA,EAAM,CAAA,IAAA,CAAA,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAtB,iBAAAA,CAAAA,GAAA,CAAC4B,OAAAA,CAAAA,CAAAA,CAAAA;4BAAQrB,IAAAA,CAAAA,CAAK,CAAA,KAAA,CAAA;;;kCAEhBP,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA,CAAA;wBAAGC,QAAAA,EAAU,CAAA,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAxB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA,CAAAA;4BAAa4B,KAAAA,EAAM,CAAA,IAAA,CAAA,CAAA;4BAAOK,QAAAA,EAAUf,GAAAA,CAAAA;4BAAKa,IAAAA,EAAK,CAAA,QAAA,CAAA,CAAA;4BAAWnE,QAAAA,EAAUA,QAAAA,CAAAA;4BAAUqC,aAAa,CAAA,CAAA,IAAA;;;;;AAKnG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKqB,cAAcc,SAAS,CAAA;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEhC,iBAAAA,CAAAA,IAAA,CAACsB,GAAAA,CAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA,CAAA;;kCACZrB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;wBAAKuB,KAAAA,EAAM,CAAA,KAAA,CAAA,CAAA;AAAUS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,OAAAA;;kCACtB/B,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA,CAAA;wBAAGC,QAAAA,EAAU,CAAA,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAxB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA,CAAAA;4BAAaiC,QAAAA,EAAUf,GAAAA,CAAAA;4BAAKa,IAAAA,EAAK,CAAA,QAAA,CAAA,CAAA;4BAAWnE,QAAAA,EAAUA,QAAAA,CAAAA;4BAAUqC,aAAa,CAAA,CAAA,IAAA;;;kCAEhFK,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA,CAAA;wBAAGS,UAAAA,EAAY,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAlC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA,CAAAA;AAAKuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAOV,MAAM,CAAA,IAAA,CAAA,GAAS,CAAA,GAAA,CAAA,CAAA;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;gCAAOqB,kBAAAA,CAAGpB,IAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;AAK3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKG,cAAckB,MAAM,CAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEpC,iBAAAA,CAAAA,IAAA,CAACsB,GAAAA,CAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA,CAAA;;kCACZrB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;wBAAKuB,KAAAA,EAAM,CAAA,GAAA,CAAA,CAAA;AAAQS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,KAAAA;;kCACpB/B,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA,CAAA;wBAAGC,QAAAA,EAAU,CAAA,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAxB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA,CAAAA;4BAAaiC,QAAAA,EAAUf,GAAAA,CAAAA;4BAAKa,IAAAA,EAAK,CAAA,QAAA,CAAA,CAAA;4BAAWnE,QAAAA,EAAUA,QAAAA,CAAAA;4BAAUqC,aAAa,CAAA,CAAA,IAAA;;;kCAEhFK,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA,CAAA;wBAAGS,UAAAA,EAAY,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAlC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA,CAAAA;AAAKuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAOV,MAAM,CAAA,IAAA,CAAA,GAAS,CAAA,GAAA,CAAA,CAAA;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;gCAAOqB,kBAAAA,CAAGpB,IAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;AAK3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAKG,cAAcmB,QAAQ,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACErC,iBAAAA,CAAAA,IAAA,CAACsB,GAAAA,CAAAA,CAAAA,CAAAA;gBAAIC,QAAAA,EAAS,CAAA,MAAA,CAAA,CAAA;;kCACZrB,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;wBAAK4B,QAAQ,EAAA,IAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;kCACf3B,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA,CAAA;wBAAGC,QAAAA,EAAU,CAAA,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAxB,iBAAAA,CAAAA,GAAA,CAACN,YAAAA,CAAAA,CAAAA,CAAAA;4BAAaiC,QAAQ,EAAA,IAAA,CAAA;4BAACF,IAAAA,EAAK,CAAA,QAAA,CAAA,CAAA;4BAAWnE,QAAAA,EAAUA,QAAAA,CAAAA;4BAAUqC,aAAa,CAAA,CAAA,IAAA;;;kCAE1EK,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;wBAAIG,WAAAA,EAAa,CAAA,CAAA;wBAAGS,UAAAA,EAAY,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAlC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA,CAAAA;AAAKuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAOV,MAAM,CAAA,IAAA,CAAA,GAAS,CAAA,GAAA,CAAA,CAAA;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;gCAAOqB,kBAAAA,CAAGpB,IAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;AAI7D,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA;;AC9FA,CAAA,CAAA,CAAA,IAAA;AACO,QAAA,CAASuB,gBAAgBC,SAA+B,CAAA,CAAA,CAAA;AAC7D,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAACC,KAAAA,CAAAA,CAAOC,QAAAA,CAAS,CAAA,CAAA,CAAG7E,YAAAA,CAAAA,QAAAA,CAAS,CAAA,CAAA,CAAA,CAAM8E,YAAAA,CAAaH,SAAAA,CAAAA,CAAAA,CAAAA;IAEtDjF,YAAAA,CAAAA,SAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAIU,KAAAA,CAAAA,CAAAA,CAAQ,KAAA,CAAA;QAEZ,QAAA,CAAS2E,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAI,CAAC3E,KAAAA,CAAAA,CAAO,MAAA,CAAA;AAEZyE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASC,YAAAA,CAAaH,SAAAA,CAAAA,CAAAA,CAAAA;YACtBvE,KAAAA,GAAQ,KAAA,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAEA,MAAMG,GAAAA,CAAAA,CAAAA,CAAMC,KAAAA,CAAMmE,SAAAA,EAChBlE,GAAAA,CAAAA,CAAK,CAACuE,MAAQA,GAAAA,CAAItE,MAAM,CAACC,SAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA;gBACjCP,KAAAA,GAAQ,IAAA,CAAA;gBACRQ,cAAAA,CAAemE,OAAAA,CAAAA,CAAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACAlE,QAAAA,CAAS/B,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;QAGX,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA;YACLsB,KAAAA,GAAQ,KAAA,CAAA;AACRG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIrB,WAAW,CAAA,CAAA,CAAA;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACF,CAAA,CAAA,CAAG,CAAA;AAACyF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA;AAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IAEd,OAAOC,KAAAA,CAAAA;AACT,CAAA;AAEA,CAAA,CAAA,CAAA,KAAA;AACA,QAAA,CAASE,aAAaH,SAA+B,CAAA,CAAA,CAAA;AACnD,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMC,KAAAA,CAAAA,CAAAA,CAAwB,CAAA;QAC5B,CAACtB,aAAAA,CAAcE,KAAK,GAAG,CAAA,CAAA;QACvB,CAACF,aAAAA,CAAcC,OAAO,GAAG,CAAA,CAAA;QACzB,CAACD,aAAAA,CAAcG,QAAQ,GAAG,CAAA,CAAA;QAC1B,CAACH,aAAAA,CAAcU,OAAO,GAAG,CAAA,CAAA;QACzB,CAACV,aAAAA,CAAcc,SAAS,GAAG,CAAA,CAAA;QAC3B,CAACd,aAAAA,CAAckB,MAAM,GAAG,CAAA,CAAA;QACxB,CAAClB,aAAAA,CAAca,SAAS,GAAG,CAAA,CAAA;QAC3B,CAACb,aAAAA,CAAcmB,QAAQ,CAAA,CAAA,CAAG,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IAEA,GAAA,CAAA,CAAK,KAAA,CAAM7E,YAAY+E,SAAAA,CAAW,CAAA;QAChC,IAAI/E,QAAAA,CAASiD,IAAI,CAAA,CAAA,CAAA,CAAA,CAAK,QAAA,CAAA,CAAU,CAAA;AAC9B+B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAK,CAAChF,QAAAA,CAASoD,KAAK,CAAA,CAAA,CAAG,IAAI,CAAA,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA;IAEA,OAAO4B,KAAAA,CAAAA;AACT,CAAA;;AC/CA,CAAA,CAAA,CAAA,SAAA;AACO,QAAA,CAASK,iBAAAA,CAAkB,CAAA,CAAEnF,IAAI,EAAE,CAAA,CAAA,CAAGoC,IAAAA,EAA8B,CAAA,CAAA,CAAA;IACzE,MAAMyC,SAAAA,CAAAA,CAAAA,CAAYO,YAAAA,CAAAA,OAAAA,CAAQ,IAAMpF,IAAAA,CAAKqF,GAAG,CAAC,CAACC,IAAAA,CAAAA,CAAAA,CAASA,IAAAA,CAAKxF,QAAQ,CAAA,CAAA,CAAG,CAAA;AAACE,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA;AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACzE,CAAA,CAAA,CAAA,CAAA,MAAM8E,QAAQF,eAAAA,CAAgBC,SAAAA,CAAAA,CAAAA;;AAG9B,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMU,UAAUT,KAAK,CAACtB,aAAAA,CAAcU,OAAO,CAAC,CAAA,CAAA,CAAGY,KAAK,CAACtB,aAAAA,CAAcG,QAAQ,CAAC,CAAA,CAAA,CAAGmB,KAAK,CAACtB,aAAAA,CAAca,SAAS,CAAC,CAAA;AAC7G,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMmB,IAAAA,CAAAA,CAAAA,CAAOV,KAAK,CAACtB,aAAAA,CAAcc,SAAS,CAAC,CAAA;AAC3C,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMmB,MAAAA,CAAAA,CAAAA,CAASX,KAAK,CAACtB,aAAAA,CAAckB,MAAM,CAAC,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMgB,QAAAA,CAAAA,CAAAA,CAAWZ,KAAK,CAACtB,aAAAA,CAAcmB,QAAQ,CAAC,CAAA;AAE9C,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACErC,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAGH,IAAI,CAAA;;AACTmD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAU,CAAA,kBACXjD,iBAAAA,CAAAA,IAAA,CAAAK,0BAAA,CAAA,CAAA,CAAA;;kCAAEH,iBAAAA,CAAAA,GAAA,CAAC4B,OAAAA,CAAAA,CAAAA,CAAAA;wBAAQrB,IAAAA,CAAAA,CAAK,CAAA,IAAA,CAAA;;AAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;kCAACP,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;wBAAKE,IAAI,EAAA,IAAA,CAAA;AAAG8C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,OAAAA;;AAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA;;;YAEtDA,OAAAA,GAAU,CAAA,CAAA,CAAA,CAAA,CAAKC,OAAO,CAAA,IAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AAC5BA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAO,mBACRlD,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA,CAAAA;gBAAKuB,KAAAA,EAAM,CAAA,KAAA,CAAA,CAAA;;AAAUS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAe,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAGiB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA;AAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA;;;YAE/CD,OAAAA,CAAAA,CAAAA,CAAUC,IAAAA,CAAAA,CAAAA,CAAO,CAAA,IAAKC,MAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AACrCA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAS,mBACVnD,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA,CAAAA;gBAAKuB,KAAAA,EAAM,CAAA,GAAA,CAAA,CAAA;;AAAQS,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAa,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAGkB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA;AAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA;;;AAE7CF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAUC,IAAAA,CAAAA,CAAAA,CAAOC,MAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAKC,QAAAA,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AAChDA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAW,mBACZpD,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA,CAAAA;gBAAK4B,QAAQ,EAAA,IAAA,CAAA;;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAIuB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA;AAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA;;;;;AAIrC,CAAA;;AChCA,CAAA,CAAA,CAAA,SAAA;AACO,QAAA,CAASC,uBAAAA,CAAwB,CAAA,CAAE7F,QAAQ,CAAA,CAAEC,OAAO,EAAgC,CAAA,CAAA,CAAA;IACzF,KAAA,CAAMC,IAAAA,CAAAA,CAAAA,CAAOH,eAAeC,QAAAA,CAAAA,CAAUC,OAAAA,CAAAA,CAAAA;;IAGtC,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEuC,iBAAAA,CAAAA,IAAA,CAAAK,iBAAAA,CAAAA,QAAA,CAAA,CAAA,CAAA;;0BACEH,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;gBAAIgC,aAAAA,EAAc,CAAA,MAAA,CAAA,CAAA;0BACf5F,IAAAA,CAAKqF,GAAG,CAAC,CAAC,CAAA,CAAEvF,QAAQ,CAAA,CAAE+F,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAC7BrD,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;AAAsBkC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAYD,KAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA;wBAAGrB,UAAAA,EAAY,CAAA,CAAA;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAhC,iBAAAA,CAAAA,GAAA,CAACS,eAAAA,CAAAA,CAAAA,CAAAA;4BAAgBnD,QAAAA,CAAAA,CAAUA,QAAAA;;AADnBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASoB,EAAE,CAAA,CAAA;;0BAKzBsB,iBAAAA,CAAAA,GAAA,CAAC2C,iBAAAA,CAAAA,CAAAA,CAAAA;gBAAkBnF,IAAAA,CAAAA,CAAMA,IAAAA;;;;AAG/B,CAAA;;ACpBO,QAAA,CAAS+F,mBAAAA,CAAAA,CAAAA,CAAAA,CAAAA;IACd,MAAM,CAAA,CAAEC,MAAM,CAAA,CAAE,CAAA,CAAA,CAAGC,SAAAA,CAAAA,CAAAA,CAAAA;AACnB,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAACC,UAAAA,CAAAA,CAAYC,aAAAA,CAAc,CAAA,CAAA,CAAGjG,qBAAAA,CAAS,CAAA;QAC3CkG,OAAAA,CAAAA,CAASJ,MAAAA,CAAOI,OAAO,IAAIC,QAAAA,CAAAA;QAC3BC,IAAAA,CAAAA,CAAMN,MAAAA,CAAOM,IAAI,CAAA,CAAA,CAAA,CAAID,QAAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IAEAzG,YAAAA,CAAAA,SAAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA;QACR,KAAA,CAAM2G,gBAAAA,CAAAA,CAAAA,CAAmB,CAAA,CAAA,CAAA,CAAMJ,aAAAA,CAAc,CAAA;gBAC3CC,OAAAA,CAAAA,CAASJ,MAAAA,CAAOI,OAAO,IAAIC,QAAAA,CAAAA;gBAC3BC,IAAAA,CAAAA,CAAMN,MAAAA,CAAOM,IAAI,CAAA,CAAA,CAAA,CAAID,QAAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAEAL,MAAAA,CAAOQ,EAAE,CAAC,CAAA,MAAA,CAAA,CAAA,CAAUD,gBAAAA,CAAAA,CAAAA;QAEpB,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA;YACLP,MAAAA,CAAOvF,GAAG,CAAC,CAAA,MAAA,CAAA,CAAA,CAAU8F,gBAAAA,CAAAA,CAAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACF,CAAA,CAAA,CAAG,CAAA;AAACP,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IAEX,OAAOE,UAAAA,CAAAA;AACT,CAAA;;AChBA,CAAA,CAAA,CAAA,SAAA;AACO,QAAA,CAASO,6BAAAA,CAA8B,CAAA,CAAE3G,QAAQ,CAAA,CAAEC,OAAO,EAAsC,CAAA,CAAA,CAAA;IACrG,KAAA,CAAMC,IAAAA,CAAAA,CAAAA,CAAOH,eAAeC,QAAAA,CAAAA,CAAUC,OAAAA,CAAAA,CAAAA;;AAGtC,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,EAAEuG,IAAAA,CAAAA,CAAMI,QAAQ,CAAA,CAAE,CAAA,CAAA,CAAGX,mBAAAA,CAAAA,CAAAA,CAAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,CAACY,MAAAA,CAAAA,CAAQC,SAAAA,CAAU,CAAA,CAAA,CAAG1G,YAAAA,CAAAA,QAAAA,CAAS,CAAA,CAAA,CAAA;AAErC,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM2G,UAAUC,IAAAA,CAAKC,GAAG,CAACL,QAAAA,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAAG1G,KAAKgH,MAAM,CAAA,CAAA;IAClD,MAAMC,UAAAA,CAAAA,CAAAA,CAAaH,KAAKI,GAAG,CAAC,GAAGlH,IAAAA,CAAKgH,MAAM,CAAA,CAAA,CAAGL,MAAAA,CAAAA,CAAAA,CAASE,OAAAA,CAAAA,CAAAA;AACtD,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMM,YAAYL,IAAAA,CAAKC,GAAG,CAAC/G,IAAAA,CAAKgH,MAAM,CAAA,CAAEC,UAAAA,CAAAA,CAAAA,CAAaJ,OAAAA,CAAAA,CAAAA;IACrD,MAAMO,eAAAA,CAAAA,CAAAA,CAAkBpH,IAAAA,CAAKgH,MAAM,GAAGG,SAAAA,CAAAA;AAEtCE,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAS,CAACC,CAAAA,CAAAA,CAAGC,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA;QACX,EAAA,CAAA,CAAIA,GAAAA,CAAIC,OAAO,CAAA,CAAE,CAAA;AACfZ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAUE,KAAKC,GAAG,CAAC/G,KAAKgH,MAAM,CAAA,CAAA,CAAGH,SAASO,eAAAA,CAAAA,CAAAA,CAAkB,CAAA,CAAA,CAAA,CAAA;QAC9D,CAAA,CAAA,IAAA,CAAO,CAAA;AACLR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAUE,IAAAA,CAAKI,GAAG,CAAC,CAAA,CAAA,CAAGE,eAAAA,CAAAA,CAAAA,CAAkB,CAAA,CAAA,CAAA,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAGA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMK,KAAAA,CAAAA,CAAAA,CAAQzH,IAAAA,CAAKyH,KAAK,CAACR,UAAAA,CAAAA,CAAYE,SAAAA,CAAAA,CAAAA;IAErC,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACE7E,iBAAAA,CAAAA,IAAA,CAAAK,iBAAAA,CAAAA,QAAA,CAAA,CAAA,CAAA;;0BACEH,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;gBAAIgC,aAAAA,EAAc,CAAA,MAAA,CAAA,CAAA;0BACf6B,KAAAA,CAAMpC,GAAG,CAAC,CAAC,CAAA,CAAEvF,QAAQ,CAAA,CAAE+F,KAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAC9BrD,iBAAAA,CAAAA,GAAA,CAACoB,GAAAA,CAAAA,CAAAA,CAAAA;AAAsBkC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAYD,KAAAA,CAAAA,CAAAA,CAAQ,CAAA,CAAA;wBAAGrB,UAAAA,EAAY,CAAA,CAAA;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAAhC,iBAAAA,CAAAA,GAAA,CAACS,eAAAA,CAAAA,CAAAA,CAAAA;4BAAgBnD,QAAAA,CAAAA,CAAUA,QAAAA;;AADnBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASoB,EAAE,CAAA,CAAA;;0BAKzBoB,iBAAAA,CAAAA,IAAA,CAACC,IAAAA,CAAAA,CAAAA,CAAAA;;kCACCC,iBAAAA,CAAAA,GAAA,CAAC2C,iBAAAA,CAAAA,CAAAA,CAAAA;wBAAkBnF,IAAAA,CAAAA,CAAMA,IAAAA;;oBACtB0G,QAAAA,GAAW1G,IAAAA,CAAKgH,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAMxE,iBAAAA,CAAAA,GAAA,CAACD,IAAAA,CAAAA,CAAAA,CAAAA;wBAAKuB,KAAAA,EAAM,CAAA,IAAA,CAAA,CAAA;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,QAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAA,CAAA;;;;;;AAI1D,CAAA;;AC1CA,CAAA,CAAA,CAAA,SAAA;AACO,QAAA,CAAS4D,mBAAAA,CAAoB,CAAA,CAAE5H,QAAQ,CAAA,CAAEC,OAAO,EAA4B,CAAA,CAAA,CAAA;AACjF,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM4H,KAAAA,CAAAA,CAAAA,CAAQC,QAAAA,CAAAA,CAAAA,CAAAA;IAEd,EAAA,CAAA,CAAID,KAAAA,CAAME,kBAAkB,CAAA,CAAE,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAOrF,iBAAAA,CAAAA,GAAA,CAACiE,6BAAAA,CAAAA,CAAAA,CAAAA;YAA8B3G,QAAAA,EAAUA,QAAAA,CAAAA;YAAUC,OAAAA,CAAAA,CAASA,OAAAA;;IACrE,CAAA,CAAA,IAAA,CAAO,CAAA;AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAOyC,iBAAAA,CAAAA,GAAA,CAACmD,uBAAAA,CAAAA,CAAAA,CAAAA;YAAwB7F,QAAAA,EAAUA,QAAAA,CAAAA;YAAUC,OAAAA,CAAAA,CAASA,OAAAA;;AAC/D,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA;;ACLO,KAAA,CAAM+H,uBAAuBC,KAAAA,CAAM,KAAA,CAAA,QAAA,CAAA,CAAiB,EAAEC,GAAG,CAAA,CAAEjI,OAAO,CAAA,CAAmB,CAAA,CAAA,CAAA;IAC1F,MAAMkI,SAAAA,CAAAA,CAAAA,CAAY,MAAMC,MAAAA,CAAAA,CAAQC,SAAAA,CAAAA,CAAAA;AAEhC,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAM3F,iBAAAA,CAAAA,GAAA,CAACkF,mBAAAA,CAAAA,CAAAA,CAAAA;QAAoB5H,QAAAA,EAAUkI,GAAAA,CAAAA;QAAKjI,OAAAA,CAAAA,CAASA,OAAAA;;AACnDkI,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAUG,QAAQ,CAACJ,GAAAA,CAAAA,CAAAA;AAEnB,CAAA,CAAA,CAAA,CAAA,MAAMK,UAAU,KAAA,CAAMC,OAAAA,CAAAA,CAAS5H,IAAAA,EAAMsH,GAAAA,CAAIpH,MAAM,CAAA,CAAE2H,MAAAA,CAAAA,CAAQC,eAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACzD,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAMhG,iBAAAA,CAAAA,GAAA,CAACmD,uBAAAA,CAAAA,CAAAA,CAAAA;QAAwB7F,QAAAA,EAAUkI,GAAAA,CAAAA;QAAKjI,OAAAA,CAAAA,CAASA,OAAAA;;IAEvD,IAAIsI,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAY7E,aAAAA,CAAcc,SAAS,CAAA,CAAE,CAAA;AACvChD,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAQmH,QAAQ,CAAA,CAAA,CAAG,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA;;","x_google_ignoreList":[0,1,2,3,5]}
package/dist/job-plan.js CHANGED
@@ -1,4 +1,4 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="24febcbf-8d89-4ba5-b2be-0931cb78456f",e._sentryDebugIdIdentifier="sentry-dbid-24febcbf-8d89-4ba5-b2be-0931cb78456f");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.4"};}catch(e){}}();import { h as chalk, a as capitalize } from './main.js';
1
+ ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e64a6883-37f8-4f03-82ec-a887f89d066d",e._sentryDebugIdIdentifier="sentry-dbid-e64a6883-37f8-4f03-82ec-a887f89d066d");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { h as chalk, a as capitalize } from './main.js';
2
2
  import { f as flatJobPlan } from './flat-job-plan.js';
3
3
  import { i as isScriptWorkflow } from './flat-job-tree.js';
4
4
  import '@sentry/node';
@@ -1,4 +1,4 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d35b7c20-f92a-4dc9-a94b-0bbab92a852a",e._sentryDebugIdIdentifier="sentry-dbid-d35b7c20-f92a-4dc9-a94b-0bbab92a852a");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.4"};}catch(e){}}();import { k as slugify, n as printJson } from './main.js';
1
+ ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="15b3d5f0-21a7-449a-971b-727ed4314094",e._sentryDebugIdIdentifier="sentry-dbid-15b3d5f0-21a7-449a-971b-727ed4314094");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { k as slugify, n as printJson } from './main.js';
2
2
  import { f as flatJobPlan } from './flat-job-plan.js';
3
3
  import { i as isScriptWorkflow } from './flat-job-tree.js';
4
4
  import '@sentry/node';
package/dist/list.ink.js CHANGED
@@ -1,4 +1,4 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a912beef-d1a4-4260-ac58-fa1c405d71cc",e._sentryDebugIdIdentifier="sentry-dbid-a912beef-d1a4-4260-ac58-fa1c405d71cc");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.4"};}catch(e){}}();import { i as inked, j as jsxRuntimeExports, B as Box, T as Text } from './inked.js';
1
+ ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="de2d7151-56da-4152-8081-628d01c24c3e",e._sentryDebugIdIdentifier="sentry-dbid-de2d7151-56da-4152-8081-628d01c24c3e");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { i as inked, j as jsxRuntimeExports, B as Box, T as Text } from './inked.js';
2
2
  import 'node:stream';
3
3
  import 'node:process';
4
4
  import 'node:events';
package/dist/main.js CHANGED
@@ -1,4 +1,4 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e40081f2-63a6-4cdb-b8d8-4e7852e8ce1d",e._sentryDebugIdIdentifier="sentry-dbid-e40081f2-63a6-4cdb-b8d8-4e7852e8ce1d");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.4"};}catch(e){}}();import { startSpan, startInactiveSpan, getActiveSpan, updateSpanName, getRootSpan, captureException, flush } from '@sentry/node';
1
+ ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="036273e6-2a03-4b2f-8434-fb36a7afcd78",e._sentryDebugIdIdentifier="sentry-dbid-036273e6-2a03-4b2f-8434-fb36a7afcd78");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { startSpan, startInactiveSpan, getActiveSpan, updateSpanName, getRootSpan, captureException, flush } from '@sentry/node';
2
2
  import process$1 from 'node:process';
3
3
  import { hideBin } from 'yargs/helpers';
4
4
  import path$1, { win32, posix } from 'node:path';
@@ -19000,7 +19000,7 @@ const command$1 = {
19000
19000
  }
19001
19001
  };
19002
19002
 
19003
- var version = "3.0.4";
19003
+ var version = "3.0.6";
19004
19004
 
19005
19005
  var ajv = {exports: {}};
19006
19006
 
@@ -1,4 +1,4 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0c47149a-f78a-4890-9cab-5b8d4ee82d3a",e._sentryDebugIdIdentifier="sentry-dbid-0c47149a-f78a-4890-9cab-5b8d4ee82d3a");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.4"};}catch(e){}}();import { _ } from '@swc/helpers/_/_apply_decs_2203_r';
1
+ ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9d83ca7a-9aae-4b72-8374-f22c109bb273",e._sentryDebugIdIdentifier="sentry-dbid-9d83ca7a-9aae-4b72-8374-f22c109bb273");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { _ } from '@swc/helpers/_/_apply_decs_2203_r';
2
2
  import { t as trace, q as commandName, r as command, u as withPlan, i as inject$, x as LOGGER, y as withLabel, z as asyncScope$, C as CWD, A as ConfigService, p as pipe$, B as cliParser, v as var$, D as command$1, E as command$2, F as command$3, G as command$4, H as command$5, I as instrument } from './main.js';
3
3
  import '@sentry/node';
4
4
  import 'node:process';
package/dist/tree.ink.js CHANGED
@@ -1,4 +1,4 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8d45fb14-1a95-4529-987f-3891ab8eda74",e._sentryDebugIdIdentifier="sentry-dbid-8d45fb14-1a95-4529-987f-3891ab8eda74");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.4"};}catch(e){}}();import { R as React, j as jsxRuntimeExports, T as Text, r as reactExports, i as inked } from './inked.js';
1
+ ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c1d1a200-a090-4094-a7c4-79388d6ed311",e._sentryDebugIdIdentifier="sentry-dbid-c1d1a200-a090-4094-a7c4-79388d6ed311");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { R as React, j as jsxRuntimeExports, T as Text, r as reactExports, i as inked } from './inked.js';
2
2
  import 'node:stream';
3
3
  import 'node:process';
4
4
  import 'node:events';