@fnndsc/brasa 0.56.1 → 0.56.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/buildinfo.json +1 -1
- package/dist/builtins/berth/berth.d.ts +90 -3
- package/dist/builtins/berth/berth.js +129 -76
- package/dist/builtins/berth/berth.js.map +1 -1
- package/dist/builtins/berth/berthClose.d.ts +25 -6
- package/dist/builtins/berth/berthClose.js +8 -64
- package/dist/builtins/berth/berthClose.js.map +1 -1
- package/dist/builtins/berth/berthCube.d.ts +3 -2
- package/dist/builtins/berth/berthCube.js +9 -16
- package/dist/builtins/berth/berthCube.js.map +1 -1
- package/dist/builtins/berth/berthProcesses.js +33 -3
- package/dist/builtins/berth/berthProcesses.js.map +1 -1
- package/dist/builtins/debug.d.ts +24 -3
- package/dist/builtins/debug.js +66 -13
- package/dist/builtins/debug.js.map +1 -1
- package/dist/builtins/fs/acl.args.d.ts +5 -38
- package/dist/builtins/fs/acl.args.js +6 -72
- package/dist/builtins/fs/acl.args.js.map +1 -1
- package/dist/builtins/fs/acl.d.ts +100 -10
- package/dist/builtins/fs/acl.js +222 -68
- package/dist/builtins/fs/acl.js.map +1 -1
- package/dist/builtins/fs/cat.args.d.ts +14 -15
- package/dist/builtins/fs/cat.args.js +13 -40
- package/dist/builtins/fs/cat.args.js.map +1 -1
- package/dist/builtins/fs/cat.d.ts +40 -3
- package/dist/builtins/fs/cat.js +92 -13
- package/dist/builtins/fs/cat.js.map +1 -1
- package/dist/builtins/fs/cd.d.ts +24 -6
- package/dist/builtins/fs/cd.js +71 -18
- package/dist/builtins/fs/cd.js.map +1 -1
- package/dist/builtins/fs/configWrite.d.ts +24 -8
- package/dist/builtins/fs/configWrite.js +77 -36
- package/dist/builtins/fs/configWrite.js.map +1 -1
- package/dist/builtins/fs/cp.d.ts +39 -4
- package/dist/builtins/fs/cp.js +122 -56
- package/dist/builtins/fs/cp.js.map +1 -1
- package/dist/builtins/fs/download.d.ts +31 -4
- package/dist/builtins/fs/download.js +75 -38
- package/dist/builtins/fs/download.js.map +1 -1
- package/dist/builtins/fs/du.d.ts +59 -33
- package/dist/builtins/fs/du.js +111 -79
- package/dist/builtins/fs/du.js.map +1 -1
- package/dist/builtins/fs/edit.d.ts +19 -4
- package/dist/builtins/fs/edit.js +77 -16
- package/dist/builtins/fs/edit.js.map +1 -1
- package/dist/builtins/fs/find.d.ts +25 -0
- package/dist/builtins/fs/find.js +76 -5
- package/dist/builtins/fs/find.js.map +1 -1
- package/dist/builtins/fs/ls.d.ts +69 -4
- package/dist/builtins/fs/ls.js +84 -45
- package/dist/builtins/fs/ls.js.map +1 -1
- package/dist/builtins/fs/mkdir.d.ts +28 -18
- package/dist/builtins/fs/mkdir.js +95 -66
- package/dist/builtins/fs/mkdir.js.map +1 -1
- package/dist/builtins/fs/mv.d.ts +34 -4
- package/dist/builtins/fs/mv.js +129 -64
- package/dist/builtins/fs/mv.js.map +1 -1
- package/dist/builtins/fs/pull.args.d.ts +56 -17
- package/dist/builtins/fs/pull.args.js +16 -66
- package/dist/builtins/fs/pull.args.js.map +1 -1
- package/dist/builtins/fs/pull.d.ts +62 -0
- package/dist/builtins/fs/pull.js +123 -31
- package/dist/builtins/fs/pull.js.map +1 -1
- package/dist/builtins/fs/pwd.d.ts +19 -5
- package/dist/builtins/fs/pwd.js +62 -8
- package/dist/builtins/fs/pwd.js.map +1 -1
- package/dist/builtins/fs/rm.d.ts +58 -21
- package/dist/builtins/fs/rm.js +99 -82
- package/dist/builtins/fs/rm.js.map +1 -1
- package/dist/builtins/fs/rmdir.d.ts +29 -11
- package/dist/builtins/fs/rmdir.js +87 -36
- package/dist/builtins/fs/rmdir.js.map +1 -1
- package/dist/builtins/fs/touch.d.ts +44 -9
- package/dist/builtins/fs/touch.js +91 -27
- package/dist/builtins/fs/touch.js.map +1 -1
- package/dist/builtins/fs/tree.d.ts +36 -9
- package/dist/builtins/fs/tree.js +126 -36
- package/dist/builtins/fs/tree.js.map +1 -1
- package/dist/builtins/fs/upload.d.ts +22 -3
- package/dist/builtins/fs/upload.js +82 -14
- package/dist/builtins/fs/upload.js.map +1 -1
- package/dist/builtins/fs/xattr.args.d.ts +12 -33
- package/dist/builtins/fs/xattr.args.js +17 -95
- package/dist/builtins/fs/xattr.args.js.map +1 -1
- package/dist/builtins/fs/xattr.d.ts +98 -8
- package/dist/builtins/fs/xattr.js +163 -24
- package/dist/builtins/fs/xattr.js.map +1 -1
- package/dist/builtins/games/bytes.d.ts +201 -5
- package/dist/builtins/games/bytes.js +255 -54
- package/dist/builtins/games/bytes.js.map +1 -1
- package/dist/builtins/games/chimes.d.ts +180 -3
- package/dist/builtins/games/chimes.js +203 -26
- package/dist/builtins/games/chimes.js.map +1 -1
- package/dist/builtins/games/chrislab.d.ts +101 -3
- package/dist/builtins/games/chrislab.js +117 -17
- package/dist/builtins/games/chrislab.js.map +1 -1
- package/dist/builtins/games/cowsay.d.ts +93 -2
- package/dist/builtins/games/cowsay.js +90 -31
- package/dist/builtins/games/cowsay.js.map +1 -1
- package/dist/builtins/games/figlet.d.ts +70 -2
- package/dist/builtins/games/figlet.js +83 -6
- package/dist/builtins/games/figlet.js.map +1 -1
- package/dist/builtins/games/lab.d.ts +104 -5
- package/dist/builtins/games/lab.js +144 -6
- package/dist/builtins/games/lab.js.map +1 -1
- package/dist/builtins/games/lolcat.d.ts +61 -1
- package/dist/builtins/games/lolcat.js +59 -24
- package/dist/builtins/games/lolcat.js.map +1 -1
- package/dist/builtins/games/morse.d.ts +36 -1
- package/dist/builtins/games/morse.js +50 -2
- package/dist/builtins/games/morse.js.map +1 -1
- package/dist/builtins/games/numbers.d.ts +241 -5
- package/dist/builtins/games/numbers.js +298 -23
- package/dist/builtins/games/numbers.js.map +1 -1
- package/dist/builtins/games/play.d.ts +96 -6
- package/dist/builtins/games/play.js +137 -6
- package/dist/builtins/games/play.js.map +1 -1
- package/dist/builtins/games/qr.d.ts +40 -1
- package/dist/builtins/games/qr.js +51 -2
- package/dist/builtins/games/qr.js.map +1 -1
- package/dist/builtins/games/show.d.ts +131 -6
- package/dist/builtins/games/show.js +208 -20
- package/dist/builtins/games/show.js.map +1 -1
- package/dist/builtins/games/sky.d.ts +178 -4
- package/dist/builtins/games/sky.js +228 -12
- package/dist/builtins/games/sky.js.map +1 -1
- package/dist/builtins/games/text.d.ts +258 -7
- package/dist/builtins/games/text.js +310 -29
- package/dist/builtins/games/text.js.map +1 -1
- package/dist/builtins/games/trek.d.ts +67 -3
- package/dist/builtins/games/trek.js +63 -10
- package/dist/builtins/games/trek.js.map +1 -1
- package/dist/builtins/games/wtf.d.ts +58 -1
- package/dist/builtins/games/wtf.js +67 -6
- package/dist/builtins/games/wtf.js.map +1 -1
- package/dist/builtins/help.d.ts +41 -3
- package/dist/builtins/help.js +92 -796
- package/dist/builtins/help.js.map +1 -1
- package/dist/builtins/net/connect.d.ts +36 -3
- package/dist/builtins/net/connect.js +84 -26
- package/dist/builtins/net/connect.js.map +1 -1
- package/dist/builtins/net/cubepath.d.ts +49 -5
- package/dist/builtins/net/cubepath.js +69 -27
- package/dist/builtins/net/cubepath.js.map +1 -1
- package/dist/builtins/net/logout.d.ts +13 -4
- package/dist/builtins/net/logout.js +49 -3
- package/dist/builtins/net/logout.js.map +1 -1
- package/dist/builtins/net/netstat.d.ts +29 -4
- package/dist/builtins/net/netstat.js +64 -23
- package/dist/builtins/net/netstat.js.map +1 -1
- package/dist/builtins/net/pacs.d.ts +169 -15
- package/dist/builtins/net/pacs.js +92 -33
- package/dist/builtins/net/pacs.js.map +1 -1
- package/dist/builtins/net/query.args.d.ts +95 -0
- package/dist/builtins/net/query.args.js +26 -0
- package/dist/builtins/net/query.args.js.map +1 -0
- package/dist/builtins/net/query.d.ts +98 -5
- package/dist/builtins/net/query.js +89 -83
- package/dist/builtins/net/query.js.map +1 -1
- package/dist/builtins/net/status.d.ts +5 -3
- package/dist/builtins/net/status.js +5 -12
- package/dist/builtins/net/status.js.map +1 -1
- package/dist/builtins/parametersofplugin.d.ts +82 -3
- package/dist/builtins/parametersofplugin.js +79 -23
- package/dist/builtins/parametersofplugin.js.map +1 -1
- package/dist/builtins/proc.d.ts +210 -3
- package/dist/builtins/proc.js +210 -119
- package/dist/builtins/proc.js.map +1 -1
- package/dist/builtins/res/compute.d.ts +67 -3
- package/dist/builtins/res/compute.js +121 -35
- package/dist/builtins/res/compute.js.map +1 -1
- package/dist/builtins/res/dicom.d.ts +55 -7
- package/dist/builtins/res/dicom.js +86 -52
- package/dist/builtins/res/dicom.js.map +1 -1
- package/dist/builtins/res/expect.d.ts +52 -3
- package/dist/builtins/res/expect.js +92 -29
- package/dist/builtins/res/expect.js.map +1 -1
- package/dist/builtins/res/feed.d.ts +475 -3
- package/dist/builtins/res/feed.js +253 -158
- package/dist/builtins/res/feed.js.map +1 -1
- package/dist/builtins/res/files.d.ts +517 -3
- package/dist/builtins/res/files.js +124 -44
- package/dist/builtins/res/files.js.map +1 -1
- package/dist/builtins/res/gather.d.ts +113 -3
- package/dist/builtins/res/gather.js +153 -44
- package/dist/builtins/res/gather.js.map +1 -1
- package/dist/builtins/res/gather.process.d.ts +27 -19
- package/dist/builtins/res/gather.process.js +29 -59
- package/dist/builtins/res/gather.process.js.map +1 -1
- package/dist/builtins/res/group.d.ts +284 -3
- package/dist/builtins/res/group.js +147 -76
- package/dist/builtins/res/group.js.map +1 -1
- package/dist/builtins/res/image.d.ts +30 -2
- package/dist/builtins/res/image.js +62 -10
- package/dist/builtins/res/image.js.map +1 -1
- package/dist/builtins/res/play.d.ts +71 -9
- package/dist/builtins/res/play.js +124 -82
- package/dist/builtins/res/play.js.map +1 -1
- package/dist/builtins/res/plugininstance.d.ts +307 -2
- package/dist/builtins/res/plugininstance.js +122 -50
- package/dist/builtins/res/plugininstance.js.map +1 -1
- package/dist/builtins/res/pluginmeta.d.ts +244 -2
- package/dist/builtins/res/pluginmeta.js +98 -40
- package/dist/builtins/res/pluginmeta.js.map +1 -1
- package/dist/builtins/res/record.d.ts +37 -3
- package/dist/builtins/res/record.js +127 -57
- package/dist/builtins/res/record.js.map +1 -1
- package/dist/builtins/res/resourceList.d.ts +136 -0
- package/dist/builtins/res/resourceList.js +51 -0
- package/dist/builtins/res/resourceList.js.map +1 -0
- package/dist/builtins/res/tag.d.ts +244 -3
- package/dist/builtins/res/tag.js +97 -41
- package/dist/builtins/res/tag.js.map +1 -1
- package/dist/builtins/res/user.d.ts +122 -3
- package/dist/builtins/res/user.js +83 -21
- package/dist/builtins/res/user.js.map +1 -1
- package/dist/builtins/res/workflow.d.ts +244 -2
- package/dist/builtins/res/workflow.js +97 -40
- package/dist/builtins/res/workflow.js.map +1 -1
- package/dist/builtins/store.d.ts +85 -3
- package/dist/builtins/store.js +135 -68
- package/dist/builtins/store.js.map +1 -1
- package/dist/builtins/sys/apropos.d.ts +80 -5
- package/dist/builtins/sys/apropos.js +121 -15
- package/dist/builtins/sys/apropos.js.map +1 -1
- package/dist/builtins/sys/cal.d.ts +44 -5
- package/dist/builtins/sys/cal.js +57 -10
- package/dist/builtins/sys/cal.js.map +1 -1
- package/dist/builtins/sys/command.d.ts +20 -0
- package/dist/builtins/sys/command.js +31 -0
- package/dist/builtins/sys/command.js.map +1 -1
- package/dist/builtins/sys/context.d.ts +13 -3
- package/dist/builtins/sys/context.js +51 -4
- package/dist/builtins/sys/context.js.map +1 -1
- package/dist/builtins/sys/date.d.ts +56 -5
- package/dist/builtins/sys/date.js +63 -9
- package/dist/builtins/sys/date.js.map +1 -1
- package/dist/builtins/sys/echo.d.ts +63 -2
- package/dist/builtins/sys/echo.js +87 -8
- package/dist/builtins/sys/echo.js.map +1 -1
- package/dist/builtins/sys/fortune.d.ts +27 -2
- package/dist/builtins/sys/fortune.js +44 -2
- package/dist/builtins/sys/fortune.js.map +1 -1
- package/dist/builtins/sys/grep.d.ts +245 -11
- package/dist/builtins/sys/grep.js +418 -131
- package/dist/builtins/sys/grep.js.map +1 -1
- package/dist/builtins/sys/joblets.d.ts +66 -7
- package/dist/builtins/sys/joblets.js +101 -14
- package/dist/builtins/sys/joblets.js.map +1 -1
- package/dist/builtins/sys/motd.d.ts +37 -3
- package/dist/builtins/sys/motd.js +49 -8
- package/dist/builtins/sys/motd.js.map +1 -1
- package/dist/builtins/sys/notes.d.ts +75 -3
- package/dist/builtins/sys/notes.js +90 -29
- package/dist/builtins/sys/notes.js.map +1 -1
- package/dist/builtins/sys/physicalmode.d.ts +24 -3
- package/dist/builtins/sys/physicalmode.js +68 -14
- package/dist/builtins/sys/physicalmode.js.map +1 -1
- package/dist/builtins/sys/tasks.d.ts +74 -5
- package/dist/builtins/sys/tasks.js +102 -14
- package/dist/builtins/sys/tasks.js.map +1 -1
- package/dist/builtins/sys/textFilters.d.ts +673 -41
- package/dist/builtins/sys/textFilters.js +719 -264
- package/dist/builtins/sys/textFilters.js.map +1 -1
- package/dist/builtins/sys/timing.d.ts +24 -3
- package/dist/builtins/sys/timing.js +67 -14
- package/dist/builtins/sys/timing.js.map +1 -1
- package/dist/builtins/sys/variables.d.ts +70 -4
- package/dist/builtins/sys/variables.js +103 -31
- package/dist/builtins/sys/variables.js.map +1 -1
- package/dist/builtins/sys/version.d.ts +27 -2
- package/dist/builtins/sys/version.js +48 -3
- package/dist/builtins/sys/version.js.map +1 -1
- package/dist/builtins/sys/weather.d.ts +92 -15
- package/dist/builtins/sys/weather.js +71 -45
- package/dist/builtins/sys/weather.js.map +1 -1
- package/dist/builtins/sys/whoami.d.ts +38 -18
- package/dist/builtins/sys/whoami.js +112 -8
- package/dist/builtins/sys/whoami.js.map +1 -1
- package/dist/builtins/utils.d.ts +1 -38
- package/dist/builtins/utils.js +1 -87
- package/dist/builtins/utils.js.map +1 -1
- package/dist/chris/backend.js +2 -0
- package/dist/chris/backend.js.map +1 -1
- package/dist/chris/chrisCommands.js +62 -159
- package/dist/chris/chrisCommands.js.map +1 -1
- package/dist/chris/commandFallback.d.ts +12 -0
- package/dist/chris/commandFallback.js +47 -0
- package/dist/chris/commandFallback.js.map +1 -1
- package/dist/chris/files.js +24 -85
- package/dist/chris/files.js.map +1 -1
- package/dist/chris/filesystem.js +7 -5
- package/dist/chris/filesystem.js.map +1 -1
- package/dist/chris/help.js +0 -1082
- package/dist/chris/help.js.map +1 -1
- package/dist/chris/kinds.d.ts +30 -0
- package/dist/chris/kinds.js +154 -0
- package/dist/chris/kinds.js.map +1 -0
- package/dist/chris/mounts.d.ts +4 -4
- package/dist/chris/mounts.js +9 -16
- package/dist/chris/mounts.js.map +1 -1
- package/dist/chris/navigation.d.ts +2 -3
- package/dist/chris/navigation.js +6 -20
- package/dist/chris/navigation.js.map +1 -1
- package/dist/chris/pacsResources.d.ts +259 -0
- package/dist/chris/pacsResources.js +168 -0
- package/dist/chris/pacsResources.js.map +1 -0
- package/dist/chris/promptContext.d.ts +6 -0
- package/dist/chris/promptContext.js +3 -1
- package/dist/chris/promptContext.js.map +1 -1
- package/dist/core/argumentKinds.d.ts +107 -0
- package/dist/core/argumentKinds.js +223 -0
- package/dist/core/argumentKinds.js.map +1 -0
- package/dist/core/backend.d.ts +4 -1
- package/dist/core/backend.js.map +1 -1
- package/dist/core/commandDeclaration.d.ts +453 -0
- package/dist/core/commandDeclaration.js +52 -0
- package/dist/core/commandDeclaration.js.map +1 -0
- package/dist/core/commandParse.d.ts +64 -0
- package/dist/core/commandParse.js +468 -0
- package/dist/core/commandParse.js.map +1 -0
- package/dist/core/commandRegistry.d.ts +37 -0
- package/dist/core/commandRegistry.js +100 -3
- package/dist/core/commandRegistry.js.map +1 -1
- package/dist/core/commandSchema.d.ts +32 -0
- package/dist/core/commandSchema.js +117 -0
- package/dist/core/commandSchema.js.map +1 -0
- package/dist/core/commandUsage.d.ts +62 -0
- package/dist/core/commandUsage.js +247 -0
- package/dist/core/commandUsage.js.map +1 -0
- package/dist/core/coreCommands.js +66 -214
- package/dist/core/coreCommands.js.map +1 -1
- package/dist/core/dispatch.js +15 -8
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/paths.d.ts +51 -0
- package/dist/core/paths.js +86 -2
- package/dist/core/paths.js.map +1 -1
- package/dist/core/preprocess.d.ts +10 -9
- package/dist/core/preprocess.js +10 -20
- package/dist/core/preprocess.js.map +1 -1
- package/dist/core/warmupFailures.d.ts +34 -2
- package/dist/core/warmupFailures.js +43 -2
- package/dist/core/warmupFailures.js.map +1 -1
- package/dist/lib/completer/cfsPaths.d.ts +14 -0
- package/dist/lib/completer/cfsPaths.js +91 -0
- package/dist/lib/completer/cfsPaths.js.map +1 -0
- package/dist/lib/completer/declared.d.ts +15 -0
- package/dist/lib/completer/declared.js +189 -0
- package/dist/lib/completer/declared.js.map +1 -0
- package/dist/lib/completer/index.js +33 -79
- package/dist/lib/completer/index.js.map +1 -1
- package/dist/lib/parser.d.ts +5 -8
- package/dist/lib/parser.js +2 -11
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/vfs/vfs.d.ts +2 -1
- package/dist/lib/vfs/vfs.js +9 -6
- package/dist/lib/vfs/vfs.js.map +1 -1
- package/dist/lib/wildcard.js +2 -3
- package/dist/lib/wildcard.js.map +1 -1
- package/dist/notes.json +1 -1
- package/package.json +6 -5
|
@@ -1,8 +1,72 @@
|
|
|
1
1
|
import { CommandEnvelope } from '@fnndsc/menu';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* `compute [[--table] [--csv] | list [--table] [--csv] | search <term> [--table] [--csv] | inspect]`: the declaration.
|
|
4
4
|
*
|
|
5
|
-
* @
|
|
6
|
-
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* commands_register({ declarations: [computeCommand] }, 'backend');
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export declare const computeCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
|
|
11
|
+
readonly bare: {
|
|
12
|
+
readonly summary: "List every compute resource, as list does";
|
|
13
|
+
readonly options: {
|
|
14
|
+
readonly table: {
|
|
15
|
+
readonly long: "table";
|
|
16
|
+
readonly summary: "Tabular output";
|
|
17
|
+
};
|
|
18
|
+
readonly csv: {
|
|
19
|
+
readonly long: "csv";
|
|
20
|
+
readonly summary: "CSV output";
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
readonly subcommands: {
|
|
25
|
+
readonly list: {
|
|
26
|
+
readonly summary: "List every compute resource";
|
|
27
|
+
readonly options: {
|
|
28
|
+
readonly table: {
|
|
29
|
+
readonly long: "table";
|
|
30
|
+
readonly summary: "Tabular output";
|
|
31
|
+
};
|
|
32
|
+
readonly csv: {
|
|
33
|
+
readonly long: "csv";
|
|
34
|
+
readonly summary: "CSV output";
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
readonly search: {
|
|
39
|
+
readonly summary: "List the compute resources a term matches: field:value, or part of a name";
|
|
40
|
+
readonly operands: readonly [{
|
|
41
|
+
readonly name: "term";
|
|
42
|
+
readonly kind: "word";
|
|
43
|
+
readonly summary: "The filter, field:value, or part of a name";
|
|
44
|
+
}];
|
|
45
|
+
readonly options: {
|
|
46
|
+
readonly table: {
|
|
47
|
+
readonly long: "table";
|
|
48
|
+
readonly summary: "Tabular output";
|
|
49
|
+
};
|
|
50
|
+
readonly csv: {
|
|
51
|
+
readonly long: "csv";
|
|
52
|
+
readonly summary: "CSV output";
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
readonly inspect: {
|
|
57
|
+
readonly summary: "Name the fields a compute resource has";
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* `compute` over words already split: the declaration's parse and handler.
|
|
63
|
+
*
|
|
64
|
+
* @param args - The words after `compute`.
|
|
65
|
+
* @returns The answer, or the refusal of a bad line.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* await builtin_compute(['list', '--table']);
|
|
70
|
+
* ```
|
|
7
71
|
*/
|
|
8
72
|
export declare function builtin_compute(args: string[]): Promise<CommandEnvelope>;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file
|
|
2
|
+
* @file `compute` and `computes`: the compute resources registered with
|
|
3
|
+
* CUBE, where a plugin's job runs, listed, searched, and their fields named.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* - `list` — display all available compute resources
|
|
5
|
+
* CUBE answers every compute resource in one read, so the listing takes no
|
|
6
|
+
* paging; a search filters what that read answered.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Declared in one record (`computeCommand`, `computes` among its aliases).
|
|
9
|
+
*
|
|
10
|
+
* Key components:
|
|
11
|
+
* - computeCommand: the declaration, answered as `compute` and `computes`.
|
|
12
|
+
* - builtin_compute: the declaration run over words already split.
|
|
9
13
|
*
|
|
10
14
|
* @module
|
|
11
15
|
*/
|
|
12
16
|
import chalk from 'chalk';
|
|
13
|
-
import { commandArgs_process } from '../utils.js';
|
|
14
17
|
import { computeResources_fetchList } from '@fnndsc/chili/commands/compute/list.js';
|
|
15
18
|
import { computeFields_fetch } from '@fnndsc/chili/commands/compute/fields.js';
|
|
16
19
|
import { computeList_render } from '@fnndsc/chili/views/compute.js';
|
|
@@ -18,42 +21,125 @@ import { table_render } from '@fnndsc/chili/screen/screen.js';
|
|
|
18
21
|
import { errorStack } from '@fnndsc/fond';
|
|
19
22
|
import { envelope_ok, envelope_error } from '@fnndsc/menu';
|
|
20
23
|
import { exitCode_set } from '../../core/handlerRun.js';
|
|
24
|
+
import { command_declare } from '../../core/commandDeclaration.js';
|
|
25
|
+
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
21
26
|
/**
|
|
22
|
-
*
|
|
27
|
+
* Whether a compute resource matches a search term: `field:value` matches
|
|
28
|
+
* a field holding the value, a bare word the name holding it.
|
|
23
29
|
*
|
|
24
|
-
* @param
|
|
25
|
-
* @
|
|
30
|
+
* @param resource - The compute resource.
|
|
31
|
+
* @param term - The term.
|
|
32
|
+
* @returns True when it matches.
|
|
26
33
|
*/
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
function computeResource_matches(resource, term) {
|
|
35
|
+
const colon = term.indexOf(':');
|
|
36
|
+
const field = colon === -1 ? 'name' : term.slice(0, colon);
|
|
37
|
+
const value = (colon === -1 ? term : term.slice(colon + 1)).toLowerCase();
|
|
38
|
+
const held = Object.entries(resource).find(([key]) => key === field)?.[1];
|
|
39
|
+
return held !== undefined && held !== null && String(held).toLowerCase().includes(value);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Lists the compute resources, those a term matches when one is given.
|
|
43
|
+
*
|
|
44
|
+
* @param shape - How the listing is drawn.
|
|
45
|
+
* @param term - The search term, or none for every resource.
|
|
46
|
+
* @returns The listing, or the error.
|
|
47
|
+
*/
|
|
48
|
+
async function computeList_answer(shape, term) {
|
|
49
|
+
try {
|
|
50
|
+
const listResult = await computeResources_fetchList();
|
|
51
|
+
if (!listResult.ok) {
|
|
52
|
+
const lastError = errorStack.stack_pop();
|
|
42
53
|
exitCode_set(1);
|
|
43
|
-
return envelope_error('', undefined, `${chalk.red(
|
|
54
|
+
return envelope_error('', undefined, `${chalk.red(lastError ? lastError.message : 'compute list failed')}\n`);
|
|
44
55
|
}
|
|
56
|
+
const resources = term === undefined
|
|
57
|
+
? listResult.value.resources
|
|
58
|
+
: listResult.value.resources.filter((resource) => computeResource_matches(resource, term));
|
|
59
|
+
return envelope_ok(`${computeList_render(resources, { table: shape.table, csv: shape.csv })}\n`);
|
|
45
60
|
}
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
61
|
+
catch (e) {
|
|
62
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
63
|
+
exitCode_set(1);
|
|
64
|
+
return envelope_error('', undefined, `${chalk.red(`compute error: ${msg}`)}\n`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Names the fields a compute resource has.
|
|
69
|
+
*
|
|
70
|
+
* @returns The fields' table, or that there are none.
|
|
71
|
+
*/
|
|
72
|
+
async function computeFields_render() {
|
|
73
|
+
const fields = await computeFields_fetch();
|
|
74
|
+
if (fields && fields.length > 0) {
|
|
75
|
+
return envelope_ok(table_render(fields.map((f) => ({ field: f })), ['field'], { title: { title: 'Compute fields', justification: 'center' } }));
|
|
52
76
|
}
|
|
53
|
-
|
|
54
|
-
|
|
77
|
+
return envelope_ok(`${chalk.gray('No fields found.')}\n`);
|
|
78
|
+
}
|
|
79
|
+
/** How a compute listing may be drawn. */
|
|
80
|
+
const COMPUTE_SHAPE_OPTIONS = {
|
|
81
|
+
table: { long: 'table', summary: 'Tabular output' },
|
|
82
|
+
csv: { long: 'csv', summary: 'CSV output' },
|
|
83
|
+
};
|
|
84
|
+
/** What a `compute` line may hold. */
|
|
85
|
+
const COMPUTE_GRAMMAR = {
|
|
86
|
+
bare: { summary: 'List every compute resource, as list does', options: COMPUTE_SHAPE_OPTIONS },
|
|
87
|
+
subcommands: {
|
|
88
|
+
list: { summary: 'List every compute resource', options: COMPUTE_SHAPE_OPTIONS },
|
|
89
|
+
search: {
|
|
90
|
+
summary: 'List the compute resources a term matches: field:value, or part of a name',
|
|
91
|
+
operands: [{ name: 'term', kind: 'word', summary: 'The filter, field:value, or part of a name' }],
|
|
92
|
+
options: COMPUTE_SHAPE_OPTIONS,
|
|
93
|
+
},
|
|
94
|
+
inspect: { summary: 'Name the fields a compute resource has' },
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Runs one `compute` line.
|
|
99
|
+
*
|
|
100
|
+
* @param args - The line, parsed.
|
|
101
|
+
* @returns The listing, the fields, or the error.
|
|
102
|
+
*/
|
|
103
|
+
async function compute_run(args) {
|
|
104
|
+
switch (args.subcommand) {
|
|
105
|
+
case null:
|
|
106
|
+
case 'list': return computeList_answer(args.options);
|
|
107
|
+
case 'search': return computeList_answer(args.options, args.operands.term);
|
|
108
|
+
case 'inspect': return computeFields_render();
|
|
55
109
|
}
|
|
56
|
-
|
|
57
|
-
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* `compute [[--table] [--csv] | list [--table] [--csv] | search <term> [--table] [--csv] | inspect]`: the declaration.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts
|
|
116
|
+
* commands_register({ declarations: [computeCommand] }, 'backend');
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export const computeCommand = command_declare({
|
|
120
|
+
name: 'compute',
|
|
121
|
+
aliases: ['computes'],
|
|
122
|
+
grammar: COMPUTE_GRAMMAR,
|
|
123
|
+
help: {
|
|
124
|
+
summary: 'The compute resources registered with CUBE, where jobs run',
|
|
125
|
+
description: 'List the compute resources registered with CUBE, every one in a single read, as a table or CSV when asked; search keeps those a field:value, or part of a name, matches; inspect names the fields a compute resource has. compute and computes are one command. A plugin or pipeline run takes one with --compute <name>.',
|
|
126
|
+
category: 'Resources',
|
|
127
|
+
examples: ['compute list', 'compute list --table', 'compute search moc', 'compute list --csv', 'compute inspect'],
|
|
128
|
+
},
|
|
129
|
+
handler: compute_run,
|
|
130
|
+
});
|
|
131
|
+
/**
|
|
132
|
+
* `compute` over words already split: the declaration's parse and handler.
|
|
133
|
+
*
|
|
134
|
+
* @param args - The words after `compute`.
|
|
135
|
+
* @returns The answer, or the refusal of a bad line.
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```ts
|
|
139
|
+
* await builtin_compute(['list', '--table']);
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
export async function builtin_compute(args) {
|
|
143
|
+
return declaredCommand_run(computeCommand, args);
|
|
58
144
|
}
|
|
59
145
|
//# sourceMappingURL=compute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.js","sourceRoot":"","sources":["../../../src/builtins/res/compute.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"compute.js","sourceRoot":"","sources":["../../../src/builtins/res/compute.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,59 @@ interface TagsRenderOptions {
|
|
|
8
8
|
filter: string | undefined;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* `dcm <series <folder> | tags [--all] [--filter <text>] <path>>`: the declaration.
|
|
12
12
|
*
|
|
13
|
-
* @
|
|
14
|
-
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* commands_register({ declarations: [dcmCommand] }, 'backend');
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare const dcmCommand: import("../../core/commandDeclaration.js").CommandDeclaration<{
|
|
19
|
+
readonly subcommands: {
|
|
20
|
+
readonly series: {
|
|
21
|
+
readonly summary: "The folder as a series (one header read, order from file names)";
|
|
22
|
+
readonly operands: readonly [{
|
|
23
|
+
readonly name: "folder";
|
|
24
|
+
readonly kind: "cfsPath";
|
|
25
|
+
readonly glob: true;
|
|
26
|
+
readonly summary: "The series folder";
|
|
27
|
+
}];
|
|
28
|
+
};
|
|
29
|
+
readonly tags: {
|
|
30
|
+
readonly summary: "Every tag of a file; constant versus varying across a folder";
|
|
31
|
+
readonly operands: readonly [{
|
|
32
|
+
readonly name: "path";
|
|
33
|
+
readonly kind: "cfsPath";
|
|
34
|
+
readonly glob: true;
|
|
35
|
+
readonly summary: "A DICOM file, or a folder of them";
|
|
36
|
+
}];
|
|
37
|
+
readonly options: {
|
|
38
|
+
readonly all: {
|
|
39
|
+
readonly long: "all";
|
|
40
|
+
readonly summary: "Show meta and private groups too";
|
|
41
|
+
};
|
|
42
|
+
readonly filter: {
|
|
43
|
+
readonly long: "filter";
|
|
44
|
+
readonly summary: "Only tags whose tag, name, value or decoding contains <text>";
|
|
45
|
+
readonly value: {
|
|
46
|
+
readonly name: "text";
|
|
47
|
+
readonly kind: "word";
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
}>;
|
|
54
|
+
/**
|
|
55
|
+
* `dcm` over words already split: the declaration's parse and handler.
|
|
56
|
+
*
|
|
57
|
+
* @param args - The subcommand and its words.
|
|
58
|
+
* @returns An envelope with the rendered text and the typed model, or the refusal of a bad line.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* await builtin_dcm(['series', '.']);
|
|
63
|
+
* ```
|
|
15
64
|
*/
|
|
16
65
|
export declare function builtin_dcm(args: string[]): Promise<CommandEnvelope>;
|
|
17
66
|
/**
|
|
@@ -28,10 +77,9 @@ export declare function builtin_dcm(args: string[]): Promise<CommandEnvelope>;
|
|
|
28
77
|
* same series read fine at its PACS address, and `cd` into the folder (which
|
|
29
78
|
* does follow links) made the very same command work.
|
|
30
79
|
*
|
|
31
|
-
* So the address is resolved before anything is read
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* a bad path still refuses by its own name.
|
|
80
|
+
* So the address is resolved before anything is read, as every reader
|
|
81
|
+
* resolves it (`storePath_resolve`). A path that resolves to nothing stands
|
|
82
|
+
* as it was, so a bad path still refuses by its own name.
|
|
35
83
|
*
|
|
36
84
|
* @param input - The path as the operator or a surface gave it.
|
|
37
85
|
* @returns The physical path, or the input when it resolves no further.
|
|
@@ -16,46 +16,99 @@
|
|
|
16
16
|
* there are, and which could not be read. Long values are shortened on
|
|
17
17
|
* screen and say by how much; the model carries them whole.
|
|
18
18
|
*
|
|
19
|
+
* Declared in one record (`dcmCommand`): two subcommands, each a path
|
|
20
|
+
* operand that globs to one path.
|
|
21
|
+
*
|
|
19
22
|
* @module
|
|
20
23
|
*/
|
|
21
24
|
import chalk from 'chalk';
|
|
22
25
|
import { commandCancellation_enable, commandCancellation_signalGet } from '../../core/cancellation.js';
|
|
23
26
|
import { context_getSingle, dicomSeries_summarize, dicomFolder_list, dicomHeader_get, dicomFiles_sample, dicomTags_summarize, } from '@fnndsc/salsa';
|
|
24
27
|
import { DICOM_MODEL_KINDS, DICOM_TAG_GROUPS, envelope_ok, envelope_error } from '@fnndsc/menu';
|
|
25
|
-
import {
|
|
26
|
-
import { args_checkHasHelpFlag, help_render } from '../help.js';
|
|
28
|
+
import { path_resolve, storePath_resolve } from '../utils.js';
|
|
27
29
|
import { exitCode_set } from '../../core/handlerRun.js';
|
|
30
|
+
import { command_declare } from '../../core/commandDeclaration.js';
|
|
31
|
+
import { declaredCommand_run } from '../../core/commandParse.js';
|
|
28
32
|
/** The most files a folder's tags are read from before sampling evenly. */
|
|
29
33
|
export const DCM_TAGS_FILE_CAP = 512;
|
|
30
34
|
/** On-screen values longer than this are shortened and say so. */
|
|
31
35
|
const VALUE_SCREEN_LIMIT = 64;
|
|
32
36
|
/** Groups a tag listing hides unless asked with `--all`. */
|
|
33
37
|
const HIDDEN_GROUPS = new Set(['meta', 'private']);
|
|
38
|
+
/** What a `dcm` line may hold. */
|
|
39
|
+
const DCM_GRAMMAR = {
|
|
40
|
+
subcommands: {
|
|
41
|
+
series: {
|
|
42
|
+
summary: 'The folder as a series (one header read, order from file names)',
|
|
43
|
+
operands: [{ name: 'folder', kind: 'cfsPath', glob: true, summary: 'The series folder' }],
|
|
44
|
+
},
|
|
45
|
+
tags: {
|
|
46
|
+
summary: 'Every tag of a file; constant versus varying across a folder',
|
|
47
|
+
operands: [{ name: 'path', kind: 'cfsPath', glob: true, summary: 'A DICOM file, or a folder of them' }],
|
|
48
|
+
options: {
|
|
49
|
+
all: { long: 'all', summary: 'Show meta and private groups too' },
|
|
50
|
+
filter: { long: 'filter', summary: 'Only tags whose tag, name, value or decoding contains <text>', value: { name: 'text', kind: 'word' } },
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
};
|
|
34
55
|
/**
|
|
35
|
-
*
|
|
56
|
+
* Runs `dcm series` or `dcm tags`.
|
|
36
57
|
*
|
|
37
|
-
* @param args -
|
|
58
|
+
* @param args - The line, parsed.
|
|
38
59
|
* @returns An envelope with the rendered text and the typed model.
|
|
39
60
|
*/
|
|
40
|
-
|
|
41
|
-
if (
|
|
42
|
-
return
|
|
43
|
-
|
|
44
|
-
switch (subcommand) {
|
|
45
|
-
case 'series':
|
|
46
|
-
return dcmSeries_handle(args.slice(1));
|
|
47
|
-
case 'tags':
|
|
48
|
-
return dcmTags_handle(args.slice(1));
|
|
49
|
-
default:
|
|
50
|
-
return usage_error(subcommand === undefined ? 'dcm: a subcommand is required' : `dcm: unknown subcommand '${subcommand}'`);
|
|
51
|
-
}
|
|
61
|
+
async function dcm_run(args) {
|
|
62
|
+
if (args.subcommand === 'series')
|
|
63
|
+
return dcmSeries_handle(args.operands.folder);
|
|
64
|
+
return dcmTags_handle(args.operands.path, { all: args.options.all, filter: args.options.filter });
|
|
52
65
|
}
|
|
53
66
|
/**
|
|
54
|
-
*
|
|
67
|
+
* `dcm <series <folder> | tags [--all] [--filter <text>] <path>>`: the declaration.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* commands_register({ declarations: [dcmCommand] }, 'backend');
|
|
72
|
+
* ```
|
|
55
73
|
*/
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
74
|
+
export const dcmCommand = command_declare({
|
|
75
|
+
name: 'dcm',
|
|
76
|
+
grammar: DCM_GRAMMAR,
|
|
77
|
+
help: {
|
|
78
|
+
summary: 'DICOM as the kernel sees it: a folder as a series, a file or folder as tags',
|
|
79
|
+
description: 'Read DICOM without leaving the session. `dcm series` answers what a folder is as a series: '
|
|
80
|
+
+ 'identity, modality, instance count, stack order, geometry, transfer syntax, bytes, and any '
|
|
81
|
+
+ 'annotations saved for its UID. `dcm tags` lists every element of a file, or what a folder\'s '
|
|
82
|
+
+ 'files share against what changes across them. Identifying tags are marked PHI and shown; '
|
|
83
|
+
+ 'a shared surface redacts them by that mark. A folder\'s tags are read from every file up to '
|
|
84
|
+
+ `${DCM_TAGS_FILE_CAP}, then from an even sample; the listing says how many were read of how many there are.`,
|
|
85
|
+
category: 'Imaging',
|
|
86
|
+
examples: [
|
|
87
|
+
'dcm series . # This folder as a series',
|
|
88
|
+
'dcm series /SERVICES/PACS/PACSDCM/patient/study/00005-T1-abcdef0',
|
|
89
|
+
'dcm tags 0001-1.2.840.113619.2.55.3.1.dcm # One file, grouped by module',
|
|
90
|
+
'dcm tags . --filter Position # Position tags across the folder',
|
|
91
|
+
'dcm tags . --all # Meta and private groups included',
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
// Reading a series' listing and header, or a file's tags, changes nothing
|
|
95
|
+
// of the session: `dcm` answers with a model.
|
|
96
|
+
holds: [],
|
|
97
|
+
handler: dcm_run,
|
|
98
|
+
});
|
|
99
|
+
/**
|
|
100
|
+
* `dcm` over words already split: the declaration's parse and handler.
|
|
101
|
+
*
|
|
102
|
+
* @param args - The subcommand and its words.
|
|
103
|
+
* @returns An envelope with the rendered text and the typed model, or the refusal of a bad line.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* await builtin_dcm(['series', '.']);
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
export async function builtin_dcm(args) {
|
|
111
|
+
return declaredCommand_run(dcmCommand, args);
|
|
59
112
|
}
|
|
60
113
|
/**
|
|
61
114
|
* The address the bytes actually live at.
|
|
@@ -71,10 +124,9 @@ function usage_error(reason) {
|
|
|
71
124
|
* same series read fine at its PACS address, and `cd` into the folder (which
|
|
72
125
|
* does follow links) made the very same command work.
|
|
73
126
|
*
|
|
74
|
-
* So the address is resolved before anything is read
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* a bad path still refuses by its own name.
|
|
127
|
+
* So the address is resolved before anything is read, as every reader
|
|
128
|
+
* resolves it (`storePath_resolve`). A path that resolves to nothing stands
|
|
129
|
+
* as it was, so a bad path still refuses by its own name.
|
|
78
130
|
*
|
|
79
131
|
* @param input - The path as the operator or a surface gave it.
|
|
80
132
|
* @returns The physical path, or the input when it resolves no further.
|
|
@@ -84,20 +136,7 @@ export async function path_physical(input) {
|
|
|
84
136
|
// dispatcher, a path no link walk knows — leaves the address as it was,
|
|
85
137
|
// and the command refuses by its own name rather than by an exception.
|
|
86
138
|
try {
|
|
87
|
-
|
|
88
|
-
let candidate = input;
|
|
89
|
-
if (vfsDispatcher?.path_isVirtual?.(input) === true) {
|
|
90
|
-
const link = /^(\/proc\/jobs\/feed_\d+\/[^/]+\/data)(\/.*)?$/.exec(input);
|
|
91
|
-
if (link === null)
|
|
92
|
-
return input;
|
|
93
|
-
const target = await vfsDispatcher.linkTarget_resolve(link[1]);
|
|
94
|
-
if (!target.ok)
|
|
95
|
-
return input;
|
|
96
|
-
candidate = `${target.value}${link[2] ?? ''}`;
|
|
97
|
-
}
|
|
98
|
-
const { logicalPath_resolve } = await import('@fnndsc/chili/utils');
|
|
99
|
-
const physical = await logicalPath_resolve(candidate);
|
|
100
|
-
return physical.ok ? physical.value : candidate;
|
|
139
|
+
return await storePath_resolve(input);
|
|
101
140
|
}
|
|
102
141
|
catch {
|
|
103
142
|
return input;
|
|
@@ -105,12 +144,11 @@ export async function path_physical(input) {
|
|
|
105
144
|
}
|
|
106
145
|
/**
|
|
107
146
|
* `dcm series <folder>`: the folder as a series.
|
|
147
|
+
*
|
|
148
|
+
* @param target - The folder, as the line named it.
|
|
149
|
+
* @returns The series' text and model, or the refusal.
|
|
108
150
|
*/
|
|
109
|
-
async function dcmSeries_handle(
|
|
110
|
-
const parsed = commandArgs_process(args);
|
|
111
|
-
const target = parsed._[0];
|
|
112
|
-
if (target === undefined)
|
|
113
|
-
return usage_error('dcm series: a folder is required');
|
|
151
|
+
async function dcmSeries_handle(target) {
|
|
114
152
|
// A stop is honoured between the reads; one already on its way to CUBE
|
|
115
153
|
// runs to its answer, which is then dropped.
|
|
116
154
|
commandCancellation_enable();
|
|
@@ -141,16 +179,12 @@ async function annotationRoot_get() {
|
|
|
141
179
|
}
|
|
142
180
|
/**
|
|
143
181
|
* `dcm tags <file|folder> [--all] [--filter <text>]`.
|
|
182
|
+
*
|
|
183
|
+
* @param target - The file or folder, as the line named it.
|
|
184
|
+
* @param options - Whether hidden groups show, and the filter.
|
|
185
|
+
* @returns The tags' text and model, or the refusal.
|
|
144
186
|
*/
|
|
145
|
-
async function dcmTags_handle(
|
|
146
|
-
const parsed = commandArgs_process(args, { booleanLongOptions: ['all'] });
|
|
147
|
-
const target = parsed._[0];
|
|
148
|
-
if (target === undefined)
|
|
149
|
-
return usage_error('dcm tags: a file or folder is required');
|
|
150
|
-
const options = {
|
|
151
|
-
all: parsed.all === true,
|
|
152
|
-
filter: typeof parsed.filter === 'string' ? parsed.filter : undefined,
|
|
153
|
-
};
|
|
187
|
+
async function dcmTags_handle(target, options) {
|
|
154
188
|
const resolved = await path_physical(await path_resolve(target));
|
|
155
189
|
const model = await tagsModel_read(resolved);
|
|
156
190
|
if (!model.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dicom.js","sourceRoot":"","sources":["../../../src/builtins/res/dicom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dicom.js","sourceRoot":"","sources":["../../../src/builtins/res/dicom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AACvG,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GAQpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAoE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAClK,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAA8C,MAAM,kCAAkC,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,2EAA2E;AAC3E,MAAM,CAAC,MAAM,iBAAiB,GAAW,GAAG,CAAC;AAE7C,kEAAkE;AAClE,MAAM,kBAAkB,GAAW,EAAE,CAAC;AAEtC,4DAA4D;AAC5D,MAAM,aAAa,GAA+B,IAAI,GAAG,CAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAQ9F,kCAAkC;AAClC,MAAM,WAAW,GAAG;IAClB,WAAW,EAAE;QACX,MAAM,EAAE;YACN,OAAO,EAAE,iEAAiE;YAC1E,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;SAC1F;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,8DAA8D;YACvE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;YACvG,OAAO,EAAE;gBACP,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,kCAAkC,EAAE;gBACjE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,8DAA8D,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;aAC3I;SACF;KACF;CACgC,CAAC;AAEpC;;;;;GAKG;AACH,KAAK,UAAU,OAAO,CAAC,IAA0C;IAC/D,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChF,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACpG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;IACxC,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE;QACJ,OAAO,EAAE,6EAA6E;QACtF,WAAW,EAAE,6FAA6F;cACtG,6FAA6F;cAC7F,+FAA+F;cAC/F,2FAA2F;cAC3F,8FAA8F;cAC9F,GAAG,iBAAiB,wFAAwF;QAChH,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE;YACR,yEAAyE;YACzE,kEAAkE;YAClE,8EAA8E;YAC9E,kFAAkF;YAClF,mFAAmF;SACpF;KACF;IACD,0EAA0E;IAC1E,8CAA8C;IAC9C,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,OAAO,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAa;IAC/C,0EAA0E;IAC1E,wEAAwE;IACxE,uEAAuE;IACvE,IAAI,CAAC;QACH,OAAO,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAAC,MAAc;IAC5C,uEAAuE;IACvE,6CAA6C;IAC7C,0BAA0B,EAAE,CAAC;IAC7B,MAAM,MAAM,GAA4B,6BAA6B,EAAE,CAAC;IACxE,wEAAwE;IACxE,MAAM,YAAY,GAAG,GAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,MAAM,OAAO,GAAG,GAAoB,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAW,MAAM,aAAa,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,IAAI,YAAY,EAAE;QAAE,OAAO,OAAO,EAAE,CAAC;IACrC,MAAM,cAAc,GAAuB,MAAM,kBAAkB,EAAE,CAAC;IACtE,MAAM,OAAO,GAA+B,MAAM,qBAAqB,CAAC,MAAM,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxI,IAAI,YAAY,EAAE;QAAE,OAAO,OAAO,EAAE,CAAC;IACrC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,MAAM,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC/G,CAAC;IACD,MAAM,KAAK,GAAqB,OAAO,CAAC,KAAK,CAAC;IAC9C,OAAO,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB;IAC/B,MAAM,IAAI,GAAkB,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC;IAC7D,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,OAA0B;IACtE,MAAM,QAAQ,GAAW,MAAM,aAAa,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,MAAM,KAAK,GAA2B,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACd,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,QAAQ,uCAAuC,CAAC,IAAI,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;AAC7G,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACtG,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,IAAY;IACxC,MAAM,MAAM,GAAwB,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACrC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;KACxG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,MAAc;IAC5C,MAAM,MAAM,GAA+B,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACxE,MAAM,MAAM,GAAa,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnH,MAAM,IAAI,GAA+C,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAwB,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;;YAClD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAqB,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;YAC7B,OAAO;YACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAuB;IACnD,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1G,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,MAAM,GAAW,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,GAAiC,KAAK,CAAC,QAAQ,CAAC;QACvD,MAAM,KAAK,GAAa,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/F,IAAI,CAAC,CAAC,cAAc,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,CAAC,oBAAoB,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,oBAAoB,WAAW,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChI,MAAM,KAAK,GAAa,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAC5F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAqB,EAAE,OAA0B;IAC3E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAW,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,wBAAwB,CAAC,EAAE,CAAC;IACpL,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnJ,CAAC;IAED,MAAM,QAAQ,GAAe,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAa,EAAW,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACxG,MAAM,OAAO,GAAsB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAoB,EAAW,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpH,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,QAAQ,GAAsB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1E,MAAM,MAAM,GAAW,OAAO,CAAC,GAAG;QAChC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAa,EAAW,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM;YAClH,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAoB,EAAW,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7H,MAAM,SAAS,GAAW,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAExH,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAChG,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAe,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAa,EAAW,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC7F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,MAAM,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAClG,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAW,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChJ,MAAM,OAAO,GAAW,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAW,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;YAC3F,MAAM,IAAI,GAAW,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,YAAY,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1G,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAC/H,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAkI,EAAE,OAA0B;IAC/K,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAW,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IACpD,OAAO,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAkI,EAAE,MAAc;IACrK,MAAM,QAAQ,GAAa,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAClE,IAAI,OAAO,IAAI,GAAG;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;QACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/F,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAgB,EAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAe,EAAW,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACpI,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAa,EAAE,SAAiB,EAAE,MAAc;IACjE,MAAM,GAAG,GAAW,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,GAAG,GAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,KAAK,GAAa,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/I,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,KAAa,EAAQ,EAAE;YAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACzD,KAAK,MAAM,KAAK,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,KAAK,CAAC,MAAM,IAAI,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACrD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,kBAAkB,GAAG,CAAC,EAAE,CAAC;AAC3G,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,KAAK,GAAW,KAAK,CAAC;IAC1B,IAAI,IAAI,GAAW,CAAC,CAAC;IACrB,OAAO,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,IAAI,IAAI,CAAC;QACd,IAAI,EAAE,CAAC;IACT,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1E,CAAC"}
|