@openclaw/lobster 2026.9.5 → 2026.9.7
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/assets/icon.png +0 -0
- package/dist/index.js +8 -294
- package/node_modules/@clawdbot/lobster/README.md +20 -133
- package/node_modules/@clawdbot/lobster/VISION.md +15 -238
- package/node_modules/@clawdbot/lobster/bin/clawd.invoke.js +2 -21
- package/node_modules/@clawdbot/lobster/bin/invoke.js +19 -0
- package/node_modules/@clawdbot/lobster/bin/lobster.js +2 -21
- package/node_modules/@clawdbot/lobster/bin/openclaw.invoke.js +2 -24
- package/node_modules/@clawdbot/lobster/dist/src/cli.js +32 -48
- package/node_modules/@clawdbot/lobster/dist/src/cli.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/command_tokens.js +81 -0
- package/node_modules/@clawdbot/lobster/dist/src/command_tokens.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/dedupe.js +1 -12
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/dedupe.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/group_by.js +2 -14
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/group_by.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/llm_invoke.js +1 -337
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/llm_invoke.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/map.js +2 -13
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/map.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/sort.js +4 -21
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/sort.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/state.js +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/state.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/template.js +2 -13
- package/node_modules/@clawdbot/lobster/dist/src/commands/stdlib/template.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/commands/workflows/workflows_run.js +0 -18
- package/node_modules/@clawdbot/lobster/dist/src/commands/workflows/workflows_run.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/core/llm_accounting.js +304 -0
- package/node_modules/@clawdbot/lobster/dist/src/core/llm_accounting.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/core/value_path.js +11 -0
- package/node_modules/@clawdbot/lobster/dist/src/core/value_path.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/parser.js +2 -67
- package/node_modules/@clawdbot/lobster/dist/src/parser.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/recipes/github/index.js +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/recipes/github/pr-monitor.js +5 -64
- package/node_modules/@clawdbot/lobster/dist/src/recipes/github/pr-monitor.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/recipes/github/read_pr.js +45 -0
- package/node_modules/@clawdbot/lobster/dist/src/recipes/github/read_pr.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/recipes/github/snapshot.js +45 -0
- package/node_modules/@clawdbot/lobster/dist/src/recipes/github/snapshot.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/recipes/github/stages/pr-view.js +9 -47
- package/node_modules/@clawdbot/lobster/dist/src/recipes/github/stages/pr-view.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/sdk/Lobster.js +18 -135
- package/node_modules/@clawdbot/lobster/dist/src/sdk/Lobster.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/sdk/index.js +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/approve.js +1 -2
- package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/approve.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/diff.js +2 -8
- package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/diff.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/exec.js +15 -81
- package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/exec.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/state.js +3 -9
- package/node_modules/@clawdbot/lobster/dist/src/sdk/primitives/state.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/sdk/runtime.js +0 -12
- package/node_modules/@clawdbot/lobster/dist/src/sdk/runtime.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/sdk/state_env.js +6 -0
- package/node_modules/@clawdbot/lobster/dist/src/sdk/state_env.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/state/atomic_file.js +192 -0
- package/node_modules/@clawdbot/lobster/dist/src/state/atomic_file.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/state/store.js +2 -188
- package/node_modules/@clawdbot/lobster/dist/src/state/store.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/workflows/dry_run.js +262 -0
- package/node_modules/@clawdbot/lobster/dist/src/workflows/dry_run.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/workflows/expressions.js +345 -0
- package/node_modules/@clawdbot/lobster/dist/src/workflows/expressions.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/workflows/file.js +21 -1036
- package/node_modules/@clawdbot/lobster/dist/src/workflows/file.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/workflows/github_pr_monitor.js +8 -77
- package/node_modules/@clawdbot/lobster/dist/src/workflows/github_pr_monitor.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/workflows/graph.js +1 -7
- package/node_modules/@clawdbot/lobster/dist/src/workflows/graph.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/src/workflows/load.js +347 -0
- package/node_modules/@clawdbot/lobster/dist/src/workflows/load.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/workflows/types.js +2 -0
- package/node_modules/@clawdbot/lobster/dist/src/workflows/types.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/src/workflows/values.js +93 -0
- package/node_modules/@clawdbot/lobster/dist/src/workflows/values.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/test/cancellation.test.js +1 -0
- package/node_modules/@clawdbot/lobster/dist/test/cancellation.test.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/test/cli_run_errors.test.js +53 -0
- package/node_modules/@clawdbot/lobster/dist/test/cli_run_errors.test.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/test/command_arguments.test.js +82 -0
- package/node_modules/@clawdbot/lobster/dist/test/command_arguments.test.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/test/cost_tracker.test.js +49 -19
- package/node_modules/@clawdbot/lobster/dist/test/cost_tracker.test.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/test/helpers/node_shell_fixture.js +17 -0
- package/node_modules/@clawdbot/lobster/dist/test/helpers/node_shell_fixture.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/test/llm_invoke.test.js +2 -0
- package/node_modules/@clawdbot/lobster/dist/test/llm_invoke.test.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/test/pipeline_resume_state.test.js +65 -0
- package/node_modules/@clawdbot/lobster/dist/test/pipeline_resume_state.test.js.map +1 -0
- package/node_modules/@clawdbot/lobster/dist/test/process_output_limit.test.js +5 -3
- package/node_modules/@clawdbot/lobster/dist/test/process_output_limit.test.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/test/sdk_exec.test.js +72 -25
- package/node_modules/@clawdbot/lobster/dist/test/sdk_exec.test.js.map +1 -1
- package/node_modules/@clawdbot/lobster/dist/test/workflow_graph.test.js +1 -1
- package/node_modules/@clawdbot/lobster/dist/test/workflow_graph.test.js.map +1 -1
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/README.md +1 -0
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/SECURITY.md +62 -13
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/index.js +40 -9
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/lib/schemes.js +76 -16
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/lib/utils.js +54 -10
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/package.json +1 -1
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/fixtures/uri-js-parse.json +1 -0
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/ipv6-validation.test.js +130 -0
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/mailto-authority-security.test.js +125 -0
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/mailto-field-name-security.test.js +151 -0
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/test/security-normalization.test.js +38 -0
- package/node_modules/@clawdbot/lobster/node_modules/fast-uri/types/index.d.ts +16 -0
- package/node_modules/@clawdbot/lobster/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +19 -18
- package/node_modules/@clawdbot/lobster/node_modules/yaml/browser/dist/nodes/Alias.js +25 -23
- package/node_modules/@clawdbot/lobster/node_modules/yaml/dist/compose/resolve-flow-scalar.js +19 -18
- package/node_modules/@clawdbot/lobster/node_modules/yaml/dist/nodes/Alias.js +25 -23
- package/node_modules/@clawdbot/lobster/node_modules/yaml/package.json +1 -1
- package/node_modules/@clawdbot/lobster/package.json +6 -8
- package/node_modules/typebox/build/compile/code.mjs +1 -2
- package/node_modules/typebox/build/compile/validator.mjs +5 -1
- package/node_modules/typebox/build/format/iri.mjs +16 -9
- package/node_modules/typebox/build/guard/emit.mjs +2 -2
- package/node_modules/typebox/build/guard/guard.d.mts +7 -5
- package/node_modules/typebox/build/guard/guard.mjs +14 -9
- package/node_modules/typebox/build/guard/index.mjs +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.d.mts +6 -0
- package/node_modules/typebox/build/guard/unicode/unicode.mjs +35 -0
- package/node_modules/typebox/build/guard/{string.mjs → unicode/unicode_segment.mjs} +16 -19
- package/node_modules/typebox/build/schema/build.mjs +2 -3
- package/node_modules/typebox/build/schema/engine/_pathing.d.mts +1 -0
- package/node_modules/typebox/build/schema/engine/_pathing.mjs +11 -0
- package/node_modules/typebox/build/schema/engine/_refine.mjs +13 -5
- package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependencies.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/format.mjs +9 -2
- package/node_modules/typebox/build/schema/engine/patternProperties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/properties.mjs +3 -2
- package/node_modules/typebox/build/schema/engine/propertyNames.mjs +2 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/ref.d.mts +1 -1
- package/node_modules/typebox/build/schema/engine/ref.mjs +2 -2
- package/node_modules/typebox/build/schema/engine/schema.mjs +24 -24
- package/node_modules/typebox/build/schema/parse.mjs +3 -0
- package/node_modules/typebox/build/schema/pointer/pointer.d.mts +1 -6
- package/node_modules/typebox/build/schema/pointer/pointer.mjs +47 -64
- package/node_modules/typebox/build/system/settings/internal.d.mts +2 -0
- package/node_modules/typebox/build/system/settings/internal.mjs +20 -0
- package/node_modules/typebox/build/system/settings/settings.d.mts +11 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +14 -0
- package/node_modules/typebox/build/type/extends/inference.d.mts +1 -1
- package/node_modules/typebox/build/type/extends/inference.mjs +15 -2
- package/node_modules/typebox/build/type/extends/tuple.d.mts +2 -1
- package/node_modules/typebox/build/type/extends/tuple.mjs +21 -1
- package/node_modules/typebox/build/value/parse/parse.mjs +10 -4
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +3 -1
- package/package.json +6 -6
- package/dist/runtime-api.js +0 -3
- package/node_modules/@clawdbot/lobster/dist/src/sdk/token.js +0 -9
- package/node_modules/@clawdbot/lobster/dist/src/sdk/token.js.map +0 -1
- /package/node_modules/typebox/build/guard/{string.d.mts → unicode/unicode_segment.d.mts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm_invoke.test.js","sourceRoot":"","sources":["../../test/llm_invoke.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnE,SAAS,QAAQ,CAAC,KAAY;IAC7B,OAAO,CAAC,KAAK,SAAS,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,MAAM,IAAI,CAAC;IACtC,CAAC,CAAC,EAAE,CAAC;AACN,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAA4B;IAClD,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,IAAI,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;IAClF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEtE,MAAM,OAAO,GAAU,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,eAAe,EAAE,CAAC;YAC1D,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO;QACR,CAAC;QACD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CACN,IAAI,CAAC,SAAS,CAAC;gBACd,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACP,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE;wBACP,KAAK,EAAE,UAAU;wBACjB,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK;wBACzB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM;wBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;qBACtC;iBACD;aACD,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC5B,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,IAAI,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,KAAK,EAAE,iBAAiB;gBACxB,MAAM,EAAE,WAAW;aACnB;YACD,GAAG,EAAE,OAAO,CACX,EAAE,YAAY,EAAE,oBAAoB,IAAI,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EACzE,QAAQ,CACR;SACM,CAAC,CAAC;QAEV,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;IAC/E,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACpD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO;QACR,CAAC;QACD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CACN,IAAI,CAAC,SAAS,CAAC;gBACd,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACP,KAAK,EAAE,MAAM,UAAU,CAAC,MAAM,EAAE;oBAChC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,MAAM,CAAC,WAAW,EAAE,EAAE;iBACrE;aACD,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG;QACd,0BAA0B,EAAE,oBAAoB,IAAI,EAAE;QACtD,iBAAiB,EAAE,QAAQ;KAC3B,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;gBAC5B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE;oBACL,CAAC,EAAE,EAAE;oBACL,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,YAAY;oBACnB,MAAM,EAAE,4BAA4B;oBACpC,gBAAgB,EAAE,IAAI;oBACtB,WAAW;iBACX;gBACD,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;aACvB,CAAC,CAAC;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACrF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACpD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO;QACR,CAAC;QACD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CACN,IAAI,CAAC,SAAS,CAAC;gBACd,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACP,KAAK,EAAE,MAAM,UAAU,CAAC,MAAM,EAAE;oBAChC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,eAAe,EAAE,EAAE;iBACpE;aACD,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG;QACd,0BAA0B,EAAE,oBAAoB,IAAI,EAAE;QACtD,iBAAiB,EAAE,QAAQ;KAC3B,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,KAAK,EAAE,eAAuB,EAAE,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;gBAC5B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE;oBACL,CAAC,EAAE,EAAE;oBACL,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,YAAY;oBACnB,MAAM,EAAE,sBAAsB;oBAC9B,gBAAgB,EAAE,IAAI;oBACtB,mBAAmB,EAAE,eAAe;iBACpC;gBACD,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;aACvB,CAAC,CAAC;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;IAC7F,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG;QACZ,CAAC,EAAE,EAAE;QACL,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,qBAAqB;QAC7B,gBAAgB,EAAE,IAAI;KACtB,CAAC;IAEF,0FAA0F;IAC1F,uFAAuF;IACvF,0FAA0F;IAC1F,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;SACpC,MAAM,CACN,eAAe,CAAC;QACf,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,qBAAqB;QAC7B,KAAK,EAAE,YAAY;QACnB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,IAAI;KAClB,CAAC,CACF;SACA,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhB,MAAM,UAAU,GAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACpD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO;QACR,CAAC;QACD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CACN,IAAI,CAAC,SAAS,CAAC;gBACd,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;aACpE,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAI,CAAC;QACJ,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,MAAM,SAAS,CACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,OAAO,CAAC,EACtD,IAAI,CAAC,SAAS,CAAC;YACd,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,0BAA0B;YACpC,KAAK,EAAE;gBACN;oBACC,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;iBAClD;aACD;SACD,CAAC,EACF,MAAM,CACN,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC5B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE,OAAO,CACX;gBACC,0BAA0B,EAAE,oBAAoB,IAAI,EAAE;gBACtD,iBAAiB,EAAE,QAAQ;aAC3B,EACD,QAAQ,CACR;SACM,CAAC,CAAC;QAEV,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACpE,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACpD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO;QACR,CAAC;QACD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CACN,IAAI,CAAC,SAAS,CAAC;gBACd,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACP,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE;wBACP,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;qBAC3B;oBACD,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;iBAC9B;aACD,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC5B,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,QAAQ;gBAChB,eAAe,EAAE,2CAA2C;aAC5D;YACD,GAAG,EAAE,OAAO,CACX;gBACC,0BAA0B,EAAE,oBAAoB,IAAI,EAAE;gBACtD,iBAAiB,EAAE,6BAA6B;gBAChD,iBAAiB,EAAE,QAAQ;aAC3B,EACD,QAAQ,CACR;SACM,CAAC,CAAC;QAEV,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CACH,wEAAwE,EACxE,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,KAAK,IAAI,EAAE;IACV,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEf,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;YACvB,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE;YAC7E,GAAG,EAAE;gBACJ,GAAG,OAAO,CACT,EAAE,uBAAuB,EAAE,oBAAoB,OAAO,CAAC,IAAI,SAAS,EAAE,EACtE,QAAQ,CACR;gBACD,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB;SACM,CAAC,CAAC;QAEV,MAAM,OAAO,CAAC,eAAe,CAAC;QAC9B,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAC7B,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CACb,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,kDAAkD,CAAC,CAAC;QACnE,MAAM,CAAC,EAAE,CACR,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EACrD,gCAAgC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAC1D,CAAC;QACF,4EAA4E;QAC5E,uCAAuC;QACvC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,aAAa,CAAC;IAC7B,CAAC;YAAS,CAAC;QACV,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACF,CAAC,CACD,CAAC;AAEF,IAAI,CACH,uEAAuE,EACvE,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,KAAK,IAAI,EAAE;IACV,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEf,IAAI,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACvB,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAC3E,0EAA0E;IAC1E,iBAAiB;IACjB,MAAM,QAAQ,GAAG;QAChB,MAAM;YACL,OAAO,EAAE,CAAC;YACV,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrC,CAAC;KACD,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;QACvB,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE;QACjF,GAAG,EAAE;YACJ,GAAG,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;YACxB,WAAW,EAAE,EAAE,QAAQ,EAAE;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;SACzB;KACM,CAAC,CAAC;IAEV,MAAM,cAAc,CAAC;IACrB,UAAU,CAAC,KAAK,EAAE,CAAC;IAEnB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAC7B,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CACb,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,kDAAkD,CAAC,CAAC;IACnE,MAAM,CAAC,EAAE,CACR,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EACrD,gCAAgC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAC1D,CAAC;IACF,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC5D,CAAC,CACD,CAAC;AAEF,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IAC3F,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEf,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,YAAY,GAAG;QACpB,MAAM;YACL,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAClE,CAAC;KACD,CAAC;IAEF,MAAM,SAAS,GAAU,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,CAAC,MAAW,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,GAAG;aACnB,GAAG,CAAC;YACJ,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE;YACrF,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;gBACxB,WAAW,EAAE,EAAE,YAAY,EAAE;gBAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB;SACM,CAAC;aACR,IAAI,CACJ,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CACb,CAAC;QACH,MAAM,CAAC,EAAE,CACR,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,EACvD,gCAAgC,GAAG,EAAE,IAAI,KAAK,GAAG,EAAE,OAAO,EAAE,CAC5D,CAAC;QACF,8EAA8E;QAC9E,6EAA6E;QAC7E,kDAAkD;QAClD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CACX,SAAS,CAAC,MAAM,EAChB,CAAC,EACD,qCAAqC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAC5E,CAAC;IACH,CAAC;YAAS,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;IAC7F,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtE,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpE,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,QAAQ,IAAI,CAAC,CAAC;QACd,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CACN,IAAI,CAAC,SAAS,CAAC;gBACd,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;aACpE,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG;QACX,uBAAuB,EAAE,oBAAoB,IAAI,SAAS;QAC1D,iBAAiB,EAAE,QAAQ;KAC3B,CAAC;IACF,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAE9D,IAAI,CAAC;QACJ,oEAAoE;QACpE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;SACpB,CAAC,CAAC;QACV,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE1B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,CAAC,OAAO,CACnB,GAAG,EAAE,CACJ,GAAG,CAAC,GAAG,CAAC;YACP,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;SACtD,CAAC,EACV,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,CACrE,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,kDAAkD,CAAC,CAAC;IAC/E,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;IACvG,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtE,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpE,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,QAAQ,IAAI,CAAC,CAAC;QACd,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CACN,IAAI,CAAC,SAAS,CAAC;gBACd,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;aACpE,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG;QACX,uBAAuB,EAAE,oBAAoB,IAAI,SAAS;QAC1D,iBAAiB,EAAE,QAAQ;KAC3B,CAAC;IACF,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAE9D,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;SACpB,CAAC,CAAC;QACV,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE1B,2EAA2E;QAC3E,8DAA8D;QAC9D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,CAAC,KAAK,SAAS,CAAC;YACrC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,UAAU,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,MAAM,CAAC,OAAO,CACnB,GAAG,EAAE,CACJ,GAAG,CAAC,GAAG,CAAC;YACP,KAAK,EAAE,aAAa;YACpB,IAAI;YACJ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;SACtD,CAAC,EACV,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,CACrE,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,mDAAmD,CAAC,CAAC;IAChF,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;IACrG,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEtE,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,QAAQ,IAAI,CAAC,CAAC;QACd,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CACN,IAAI,CAAC,SAAS,CAAC;gBACd,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;aACnE,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG;QACX,uBAAuB,EAAE,oBAAoB,IAAI,SAAS;QAC1D,iBAAiB,EAAE,QAAQ;KAC3B,CAAC;IACF,MAAM,IAAI,GAAG;QACZ,CAAC,EAAE,EAAE;QACL,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,QAAQ;QACrB,eAAe,EAAE,IAAI;KACrB,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;SACpB,CAAC,CAAC;QACV,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE1B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,CAAC,KAAK,SAAS,CAAC;YACrC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,UAAU,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,MAAM,CAAC,OAAO,CACnB,GAAG,EAAE,CACJ,GAAG,CAAC,GAAG,CAAC;YACP,KAAK,EAAE,aAAa;YACpB,IAAI;YACJ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE;SACtD,CAAC,EACV,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,CACrE,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,mDAAmD,CAAC,CAAC;IAChF,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;IAC1F,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEf,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,QAAQ,IAAI,CAAC,CAAC;QACd,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,MAAM,CAAC,OAAO,CACnB,GAAG,EAAE,CACJ,GAAG,CAAC,GAAG,CAAC;YACP,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE;YAC7E,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,uBAAuB,EAAE,oBAAoB,IAAI,SAAS,EAAE,EAAE,QAAQ,CAAC;gBACpF,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB;SACM,CAAC,EACV,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,CACrE,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,qDAAqD,CAAC,CAAC;IAClF,CAAC;YAAS,CAAC;QACV,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;IACzF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,MAAM,CAAC,OAAO,CACnB,GAAG,CAAC,GAAG,CAAC;QACP,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnB,IAAI,EAAE;YACL,CAAC,EAAE,EAAE;YACL,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,2CAA2C;YAC5D,wBAAwB,EAAE,CAAC;SAC3B;QACD,GAAG,EAAE;YACJ,GAAG,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;YACxB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,WAAW,EAAE;gBACZ,aAAa,EAAE;oBACd,MAAM,EAAE,aAAa;oBACrB,KAAK,CAAC,MAAM;wBACX,KAAK,IAAI,CAAC,CAAC;wBACX,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;wBACnE,OAAO;4BACN,EAAE,EAAE,IAAI;4BACR,MAAM,EAAE;gCACP,KAAK,EAAE,mBAAmB;gCAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;6BACtC;yBACD,CAAC;oBACH,CAAC;iBACD;aACD;SACD;KACM,CAAC,EACT,qCAAqC,CACrC,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,8DAA8D,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;IAClF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,mBAAmB,CAAC;IACrC,MAAM,QAAQ,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;IACzD,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAE3F,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;YACvB,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,QAAQ,EAAE,uBAAuB;gBACjC,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,QAAQ;aACrB;YACD,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;gBAClF,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,WAAW,EAAE;oBACZ,uBAAuB,EAAE;wBACxB,MAAM,EAAE,uBAAuB;wBAC/B,KAAK,CAAC,MAAM;4BACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;wBACxE,CAAC;qBACD;iBACD;aACD;SACM,CAAC,CAAC;QACV,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAC9B,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC,EACpC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,CAAC,CAC9C,CAAC;QACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,UAAU;YACV,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE,CAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAClD;SACD,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,MAAM,CAAC,QAAQ,CACd,KAAK,CAAC,IAAI,EACV,SAAS,EACT,wDAAwD,CACxD,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,0BAA0B,CAAC,CAAC;QACxE,CAAC;IACF,CAAC;YAAS,CAAC;QACV,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;IAC1G,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mCAAmC,CAAC,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;IAClC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG;QACf,MAAM,EAAE,mBAAmB;QAC3B,KAAK,CAAC,MAAM;YACX,KAAK,IAAI,CAAC,CAAC;YACX,OAAO;gBACN,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACP,KAAK,EAAE,QAAQ,KAAK,EAAE;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;iBACjC;aACD,CAAC;QACH,CAAC;KACD,CAAC;IACF,MAAM,IAAI,GAAG;QACZ,CAAC,EAAE,EAAE;QACL,QAAQ,EAAE,mBAAmB;QAC7B,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,6BAA6B;KAC1C,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;YACpC,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,CAAC,KAAK,CAAC,IAAsC,EAAE,EAAoC;gBACvF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC9C,IACC,CAAC,kBAAkB;oBACnB,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACxE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC3B,CAAC;oBACF,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,MAAM,CAAC;YACf,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CACnB,GAAG,CAAC,GAAG,CAAC;YACP,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;gBAClF,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,WAAW,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE;aAC7C;SACM,CAAC,EACT,oCAAoC,CACpC,CAAC;IACH,CAAC;YAAS,CAAC;QACV,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;YACpC,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,cAAc;SACrB,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;QAC7B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnB,IAAI;QACJ,GAAG,EAAE;YACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;YAClF,WAAW,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE;SAC7C;KACM,CAAC,CAAC;IACV,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAO,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,CACX,KAAK,EACL,CAAC,EACD,iFAAiF,CACjF,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAE3D,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;IACxG,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG;QACf,MAAM,EAAE,2BAA2B;QACnC,KAAK,CAAC,MAAM;YACX,KAAK,IAAI,CAAC,CAAC;YACX,OAAO;gBACN,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE;oBACP,KAAK,EAAE,QAAQ,KAAK,EAAE;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;iBACjC;aACD,CAAC;QACH,CAAC;KACD,CAAC;IACF,MAAM,IAAI,GAAG;QACZ,CAAC,EAAE,EAAE;QACL,QAAQ,EAAE,2BAA2B;QACrC,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,2BAA2B;KACxC,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC3B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;gBAClF,WAAW,EAAE,EAAE,2BAA2B,EAAE,OAAO,EAAE;aACrD;SACM,CAAC,CAAC;QACV,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC;YACJ,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;gBACpC,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,IAAI;gBACd,KAAK,CAAC,KAAK,CAAC,IAAsC,EAAE,EAAoC;oBACvF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC9C,IACC,CAAC,kBAAkB;wBACnB,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EACvE,CAAC;wBACF,kBAAkB,GAAG,IAAI,CAAC;wBAC1B,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;oBAC3E,CAAC;oBACD,OAAO,MAAM,CAAC;gBACf,CAAC;aACD,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,OAAO,CACnB,GAAG,CAAC,GAAG,CAAC;gBACP,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;gBAChC,GAAG,EAAE;oBACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;oBAClF,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,WAAW,EAAE,EAAE,2BAA2B,EAAE,OAAO,EAAE;iBACrD;aACM,CAAC,EACT,4CAA4C,CAC5C,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;gBACpC,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,cAAc;aACrB,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC/B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;gBAClF,WAAW,EAAE,EAAE,2BAA2B,EAAE,OAAO,EAAE;aACrD;SACM,CAAC,CAAC;QACV,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,MAAO,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,2DAA2D,CAAC,CAAC;QACpF,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9D,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YACpC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,QAAQ,EAAE;YACxE,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;gBAClF,WAAW,EAAE,EAAE,2BAA2B,EAAE,OAAO,EAAE;aACrD;SACM,CAAC,CAAC;QACV,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAO,CAAC,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;IAC9G,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iCAAiC,CAAC,CAAC,CAAC;IACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,IAAI,0BAA0B,GAAG,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG;QACf,MAAM,EAAE,qBAAqB;QAC7B,KAAK,CAAC,MAAM;YACX,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;QAC5F,CAAC;KACD,CAAC;IACF,MAAM,IAAI,GAAG;QACZ,CAAC,EAAE,EAAE;QACL,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,8BAA8B;KAC3C,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;YAClC,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,CAAC,KAAK,CAAC,GAAG,QAAe;gBAC7B,MAAM,MAAM,GAAG,MAAO,YAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACxD,IACC,0BAA0B;oBAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB;oBACzC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAClB,CAAC;oBACF,0BAA0B,GAAG,KAAK,CAAC;oBACnC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;wBACxB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;4BAC7B,IAAI,QAAQ,KAAK,MAAM;gCAAE,OAAO,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAClE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;4BACtD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACjE,CAAC;qBACD,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YACf,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CACnB,GAAG,CAAC,GAAG,CAAC;YACP,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;gBAClF,WAAW,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE;aAC/C;SACM,CAAC,EACT,6BAA6B,CAC7B,CAAC;IACH,CAAC;YAAS,CAAC;QACV,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;YAClC,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,YAAY;SACnB,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;QAC7B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACnB,IAAI;QACJ,GAAG,EAAE;YACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;YAClF,WAAW,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE;SAC/C;KACM,CAAC,CAAC;IACV,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAO,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,iEAAiE,CAAC,CAAC;IAC1F,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;IACrF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG;QACf,MAAM,EAAE,qBAAqB;QAC7B,KAAK,CAAC,MAAM;YACX,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;QAC5F,CAAC;KACD,CAAC;IACF,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAE1E,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC3B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;gBACrD,WAAW,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE;aAC/C;SACM,CAAC,CAAC;QACV,MAAM,OAAO,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QAE7B,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;YACnC,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,CAAC,KAAK,CACV,QAAyC,EACzC,OAAyC;gBAEzC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjF,CAAC;gBACD,OAAO,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;SACD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC;YAC5B,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI;YACJ,GAAG,EAAE;gBACJ,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC;gBACrD,WAAW,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE;aAC/C;SACM,CAAC,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;YAAS,CAAC;QACV,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;YACnC,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,aAAa;SACpB,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,YAAoC,EAAE,QAAc;IACpE,OAAO;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE;QACxC,QAAQ,EAAE,QAAQ,IAAI,IAAI;QAC1B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,EAAE,IAAI,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE;KACjC,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,gDAAgD;AAChD,SAAS,oBAAoB;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,IAAI,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAC5B,IAAI,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAC1B,MAAM,eAAe,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAClB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;YACpC,YAAY,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,eAAe;QACf,aAAa;QACb,IAAI,EAAE,CAAC;QACP,KAAK,CAAC,MAAM;YACX,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,KAAK;YACV,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,OAAO;YAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;KACD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,MAAmB;IAC7C,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO;IAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"llm_invoke.test.js","sourceRoot":"","sources":["../../test/llm_invoke.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import test from "node:test";
|
|
2
|
+
import assert from "node:assert/strict";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { mkdtemp, rm } from "node:fs/promises";
|
|
6
|
+
import { writeStateJson } from "../src/state/store.js";
|
|
7
|
+
import { loadPipelineResumeState } from "../src/pipeline_resume_state.js";
|
|
8
|
+
function validApprovalState() {
|
|
9
|
+
return {
|
|
10
|
+
pipeline: [{ name: "map", args: {}, raw: "map" }],
|
|
11
|
+
resumeAtIndex: 1,
|
|
12
|
+
items: [{ n: 1 }],
|
|
13
|
+
haltType: "approval_request",
|
|
14
|
+
prompt: "approve?",
|
|
15
|
+
createdAt: "2026-01-01T00:00:00.000Z",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
async function loadStored(value) {
|
|
19
|
+
const dir = await mkdtemp(path.join(os.tmpdir(), "lobster-pipeline-resume-"));
|
|
20
|
+
const env = { LOBSTER_STATE_DIR: dir };
|
|
21
|
+
try {
|
|
22
|
+
await writeStateJson({ env, key: "resume", value });
|
|
23
|
+
return await loadPipelineResumeState(env, "resume");
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
await rm(dir, { recursive: true, force: true });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
test("loadPipelineResumeState rejects a pipeline stage without a name", async () => {
|
|
30
|
+
await assert.rejects(() => loadStored({ ...validApprovalState(), pipeline: [{ args: {}, raw: "map" }] }), /Invalid pipeline resume state/);
|
|
31
|
+
});
|
|
32
|
+
test("loadPipelineResumeState rejects a pipeline stage whose args is an array", async () => {
|
|
33
|
+
await assert.rejects(() => loadStored({ ...validApprovalState(), pipeline: [{ name: "map", args: [], raw: "map" }] }), /Invalid pipeline resume state/);
|
|
34
|
+
});
|
|
35
|
+
test("loadPipelineResumeState rejects a resume index past the pipeline length", async () => {
|
|
36
|
+
await assert.rejects(() => loadStored({ ...validApprovalState(), resumeAtIndex: 2 }), /Invalid pipeline resume state/);
|
|
37
|
+
});
|
|
38
|
+
test("loadPipelineResumeState rejects a negative resume index", async () => {
|
|
39
|
+
await assert.rejects(() => loadStored({ ...validApprovalState(), resumeAtIndex: -1 }), /Invalid pipeline resume state/);
|
|
40
|
+
});
|
|
41
|
+
test("loadPipelineResumeState rejects non-array items", async () => {
|
|
42
|
+
await assert.rejects(() => loadStored({ ...validApprovalState(), items: "nope" }), /Invalid pipeline resume state/);
|
|
43
|
+
});
|
|
44
|
+
test("loadPipelineResumeState rejects superseded keys that are not strings", async () => {
|
|
45
|
+
await assert.rejects(() => loadStored({ ...validApprovalState(), supersededResumeStateKeys: [1] }), /Invalid pipeline resume state/);
|
|
46
|
+
});
|
|
47
|
+
test("loadPipelineResumeState rejects an unrecognized halt type", async () => {
|
|
48
|
+
await assert.rejects(() => loadStored({ ...validApprovalState(), haltType: "other" }), /Invalid pipeline resume state/);
|
|
49
|
+
});
|
|
50
|
+
test("loadPipelineResumeState rejects an unrecognized resume mode", async () => {
|
|
51
|
+
await assert.rejects(() => loadStored({ ...validApprovalState(), resumeMode: "sideways" }), /Invalid pipeline resume state/);
|
|
52
|
+
});
|
|
53
|
+
test("loadPipelineResumeState rejects an input request without a schema", async () => {
|
|
54
|
+
await assert.rejects(() => loadStored({
|
|
55
|
+
...validApprovalState(),
|
|
56
|
+
items: [],
|
|
57
|
+
haltType: "input_request",
|
|
58
|
+
resumeMode: "next_stage",
|
|
59
|
+
prompt: "enter",
|
|
60
|
+
}), /Invalid pipeline resume state/);
|
|
61
|
+
});
|
|
62
|
+
test("loadPipelineResumeState rejects command input outside a same-stage input resume", async () => {
|
|
63
|
+
await assert.rejects(() => loadStored({ ...validApprovalState(), commandInput: { history: [] } }), /Invalid pipeline resume state/);
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=pipeline_resume_state.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline_resume_state.test.js","sourceRoot":"","sources":["../../test/pipeline_resume_state.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { promisify } from "node:util";
|
|
|
8
8
|
import { Lobster, exec } from "../src/sdk/index.js";
|
|
9
9
|
import { runAbortableProcess } from "../src/abortable_process.js";
|
|
10
10
|
import { waitForPid } from "./helpers/wait_for_pid.js";
|
|
11
|
+
import { nodeShellFixture } from "./helpers/node_shell_fixture.js";
|
|
11
12
|
const run = promisify(execFile);
|
|
12
13
|
const large = 10 * 1024 * 1024 + 1;
|
|
13
14
|
const cli = path.resolve("bin/lobster.js");
|
|
@@ -111,9 +112,9 @@ for (const mode of ["overflow", "interrupt", "host-handler", "once-handler", "ho
|
|
|
111
112
|
let wrapper;
|
|
112
113
|
let pid;
|
|
113
114
|
try {
|
|
114
|
-
const
|
|
115
|
+
const runner = path.join(dir, "runner.mjs");
|
|
115
116
|
const marker = path.join(dir, "pid"), received = path.join(dir, "signal");
|
|
116
|
-
await
|
|
117
|
+
const fixture = await nodeShellFixture(dir, `const fs=require('node:fs');
|
|
117
118
|
process.on('SIGTERM',()=>{});
|
|
118
119
|
process.on('SIGINT',()=>fs.writeFileSync(${quote(received)}, 'SIGINT'));
|
|
119
120
|
fs.writeFileSync(${quote(marker)},String(process.pid));
|
|
@@ -122,9 +123,10 @@ setInterval(()=>{${mode === "overflow" ? "process.stdout.write('x'.repeat(2048))
|
|
|
122
123
|
${mode === "host-handler" || mode === "once-handler" ? `process.${mode === "once-handler" ? "once" : "on"}('SIGINT',()=>console.log('host handled SIGINT'));` : ""}
|
|
123
124
|
${mode === "host-exit" ? "process.on('SIGUSR2',()=>process.exit(0));" : ""}
|
|
124
125
|
const result=await new Lobster({env:{...process.env,LOBSTER_MAX_OUTPUT_BYTES:'1024'}})
|
|
125
|
-
.pipe(exec(${quote(`${
|
|
126
|
+
.pipe(exec(${quote(`${fixture.command} & wait`)},{shell:true,json:false})).run();
|
|
126
127
|
console.log(JSON.stringify(result));`);
|
|
127
128
|
wrapper = spawn(process.execPath, [runner], {
|
|
129
|
+
env: { ...process.env, ...fixture.env },
|
|
128
130
|
detached: true,
|
|
129
131
|
stdio: ["ignore", "pipe", "pipe"],
|
|
130
132
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process_output_limit.test.js","sourceRoot":"","sources":["../../test/process_output_limit.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"process_output_limit.test.js","sourceRoot":"","sources":["../../test/process_output_limit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import test from "node:test";
|
|
2
2
|
import { waitForPid } from "./helpers/wait_for_pid.js";
|
|
3
|
+
import { nodeShellFixture } from "./helpers/node_shell_fixture.js";
|
|
3
4
|
import assert from "node:assert/strict";
|
|
4
5
|
import { getEventListeners } from "node:events";
|
|
5
6
|
import { spawnSync } from "node:child_process";
|
|
6
|
-
import { access, mkdtemp, rm } from "node:fs/promises";
|
|
7
|
+
import { access, mkdir, mkdtemp, realpath, rm, symlink } from "node:fs/promises";
|
|
7
8
|
import { tmpdir } from "node:os";
|
|
8
9
|
import { join } from "node:path";
|
|
9
10
|
import { Lobster } from "../src/sdk/Lobster.js";
|
|
@@ -15,13 +16,11 @@ function emptyInput() {
|
|
|
15
16
|
function quote(value) {
|
|
16
17
|
return JSON.stringify(value);
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return `${quote(process.execPath)} -e ${quote(script)}`;
|
|
24
|
-
}
|
|
19
|
+
const longChildScript = [
|
|
20
|
+
'require("node:fs").writeFileSync(process.env.LOBSTER_EXEC_PID_FILE, String(process.pid));',
|
|
21
|
+
"setTimeout(() => {}, 30000);",
|
|
22
|
+
].join("");
|
|
23
|
+
const longChildCommand = () => `${quote(process.execPath)} -e ${quote(longChildScript)}`;
|
|
25
24
|
function processIsRunning(pid) {
|
|
26
25
|
assert.ok(Number.isSafeInteger(pid) && pid > 0, `Invalid child PID: ${pid}`);
|
|
27
26
|
if (process.platform === "darwin") {
|
|
@@ -46,11 +45,11 @@ async function waitUntilStopped(pid, timeoutMs = 2000) {
|
|
|
46
45
|
}
|
|
47
46
|
throw new Error(`Child ${pid} was still running after abort`);
|
|
48
47
|
}
|
|
49
|
-
async function runAbortableStage(stage, signal, cwd) {
|
|
48
|
+
async function runAbortableStage(stage, signal, cwd, env = {}) {
|
|
50
49
|
return stage.run({
|
|
51
50
|
input: emptyInput(),
|
|
52
51
|
ctx: {
|
|
53
|
-
env: { ...process.env, LOBSTER_EXEC_PID_FILE: join(cwd, "pid") },
|
|
52
|
+
env: { ...process.env, ...env, LOBSTER_EXEC_PID_FILE: join(cwd, "pid") },
|
|
54
53
|
cwd,
|
|
55
54
|
signal,
|
|
56
55
|
},
|
|
@@ -77,7 +76,8 @@ test("sdk shell abort signal kills a long-running child", async () => {
|
|
|
77
76
|
try {
|
|
78
77
|
const pidFile = join(dir, "pid");
|
|
79
78
|
const controller = new AbortController();
|
|
80
|
-
const
|
|
79
|
+
const fixture = await nodeShellFixture(dir, longChildScript);
|
|
80
|
+
const pending = runAbortableStage(shell(fixture.command, { json: false }), controller.signal, dir, fixture.env);
|
|
81
81
|
const pid = await waitForPid(pidFile);
|
|
82
82
|
assert.equal(processIsRunning(pid), true);
|
|
83
83
|
controller.abort(new Error("abort long shell"));
|
|
@@ -118,13 +118,14 @@ for (const entry of ["clone", "resume"]) {
|
|
|
118
118
|
let pending;
|
|
119
119
|
try {
|
|
120
120
|
const pidFile = join(dir, "pid");
|
|
121
|
+
const fixture = await nodeShellFixture(dir, longChildScript);
|
|
121
122
|
const workflow = new Lobster({
|
|
122
|
-
env: { ...process.env, LOBSTER_EXEC_PID_FILE: pidFile },
|
|
123
|
+
env: { ...process.env, ...fixture.env, LOBSTER_EXEC_PID_FILE: pidFile },
|
|
123
124
|
signal: controller.signal,
|
|
124
125
|
});
|
|
125
126
|
if (entry === "resume")
|
|
126
127
|
workflow.pipe(approve());
|
|
127
|
-
workflow.pipe(exec(
|
|
128
|
+
workflow.pipe(exec(fixture.command, { shell: true, json: false }));
|
|
128
129
|
if (entry === "resume") {
|
|
129
130
|
const first = await workflow.run();
|
|
130
131
|
assert.equal(first.status, "needs_approval");
|
|
@@ -167,18 +168,64 @@ test("pre-aborted SDK exec never starts a child", async () => {
|
|
|
167
168
|
await rm(dir, { recursive: true, force: true });
|
|
168
169
|
}
|
|
169
170
|
});
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
171
|
+
for (const useShell of [false, true]) {
|
|
172
|
+
test(`SDK ${useShell ? "shell" : "exec"} preserves output, failures, and listener cleanup`, async () => {
|
|
173
|
+
const dir = await mkdtemp(join(tmpdir(), "lobster-sdk-result-"));
|
|
174
|
+
const controller = new AbortController();
|
|
175
|
+
try {
|
|
176
|
+
const run = async (script) => {
|
|
177
|
+
const fixture = useShell ? await nodeShellFixture(dir, script) : undefined;
|
|
178
|
+
return new Lobster({
|
|
179
|
+
env: { ...process.env, ...fixture?.env },
|
|
180
|
+
signal: controller.signal,
|
|
181
|
+
})
|
|
182
|
+
.pipe(exec(fixture?.command ?? `${quote(process.execPath)} -e ${quote(script)}`, {
|
|
183
|
+
shell: useShell,
|
|
184
|
+
}))
|
|
185
|
+
.run();
|
|
186
|
+
};
|
|
187
|
+
const success = await run('console.log("[1,2]")');
|
|
188
|
+
assert.deepEqual(success.output, [1, 2]);
|
|
189
|
+
const failed = await run('console.error("failed");process.exit(7)');
|
|
190
|
+
assert.equal(failed.ok, false);
|
|
191
|
+
assert.match(failed.error.message, /exited with code 7: failed/);
|
|
192
|
+
const missing = await new Lobster({
|
|
193
|
+
env: { ...process.env, LOBSTER_SHELL: "lobster-nonexistent-executable-for-test" },
|
|
194
|
+
signal: controller.signal,
|
|
195
|
+
})
|
|
196
|
+
.pipe(exec("lobster-nonexistent-executable-for-test", { shell: useShell }))
|
|
197
|
+
.run();
|
|
198
|
+
assert.equal(missing.ok, false);
|
|
199
|
+
assert.match(missing.error.message, useShell
|
|
200
|
+
? /exec shell not found; check LOBSTER_SHELL or ComSpec/
|
|
201
|
+
: /Failed to execute .* ENOENT/);
|
|
202
|
+
assert.equal(getEventListeners(controller.signal, "abort").length, 0);
|
|
203
|
+
}
|
|
204
|
+
finally {
|
|
205
|
+
await rm(dir, { recursive: true, force: true });
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
test("SDK shell fixtures preserve literal $() in executable and script paths", { skip: process.platform === "win32" }, async () => {
|
|
210
|
+
const dir = await mkdtemp(join(tmpdir(), "lobster-sdk-shell-path-"));
|
|
211
|
+
try {
|
|
212
|
+
const fixtureDir = join(dir, "script $(touch marker)");
|
|
213
|
+
await mkdir(fixtureDir);
|
|
214
|
+
const executable = join(dir, "node $(touch marker)");
|
|
215
|
+
await symlink(process.execPath, executable);
|
|
216
|
+
const fixture = await nodeShellFixture(fixtureDir, "console.log(JSON.stringify([__filename]));");
|
|
217
|
+
const result = await new Lobster({
|
|
218
|
+
env: { ...process.env, ...fixture.env, LOBSTER_TEST_NODE: executable },
|
|
219
|
+
})
|
|
220
|
+
.pipe(shell(fixture.command, { cwd: dir }))
|
|
221
|
+
.run();
|
|
222
|
+
assert.equal(result.ok, true);
|
|
223
|
+
assert.deepEqual(result.output, [await realpath(fixture.env.LOBSTER_TEST_SCRIPT)]);
|
|
224
|
+
await assert.rejects(access(join(dir, "marker")), { code: "ENOENT" });
|
|
225
|
+
}
|
|
226
|
+
finally {
|
|
227
|
+
await rm(dir, { recursive: true, force: true });
|
|
228
|
+
}
|
|
182
229
|
});
|
|
183
230
|
test("exported SDK runPipeline keeps signal optional and forwards supplied signals", async () => {
|
|
184
231
|
const controller = new AbortController();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk_exec.test.js","sourceRoot":"","sources":["../../test/sdk_exec.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdk_exec.test.js","sourceRoot":"","sources":["../../test/sdk_exec.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE3D,SAAS,UAAU;IAClB,OAAO,CAAC,KAAK,SAAS,CAAC,MAAK,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,eAAe,GAAG;IACvB,2FAA2F;IAC3F,8BAA8B;CAC9B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACX,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;AAEzF,SAAS,gBAAgB,CAAC,GAAW;IACpC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,sBAAsB,GAAG,EAAE,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9F,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACzD,CAAC;IACD,IAAI,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,SAAS,GAAG,IAAI;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;YAAE,OAAO;QACnC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,gCAAgC,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,KAA8B,EAC9B,MAAmB,EACnB,GAAW,EACX,GAAG,GAAsB,EAAE;IAE3B,OAAO,KAAK,CAAC,GAAG,CAAC;QAChB,KAAK,EAAE,UAAU,EAAE;QACnB,GAAG,EAAE;YACJ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,qBAAqB,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;YACxE,GAAG;YACH,MAAM;SACN;KACD,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;IACnE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,iBAAiB,CAChC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EACzC,UAAU,CAAC,MAAM,EACjB,GAAG,CACH,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACvD,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,iBAAiB,CAChC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EACvC,UAAU,CAAC,MAAM,EACjB,GAAG,EACH,OAAO,CAAC,GAAG,CACX,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACxD,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;IAC5E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC3B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE;YACvD,MAAM,EAAE,UAAU,CAAC,MAAM;SACzB,CAAC;aACA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/C,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAClE,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAU,EAAE,CAAC;IAClD,IAAI,CAAC,OAAO,KAAK,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,OAAiC,CAAC;QACtC,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC;gBAC5B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,EAAE;gBACvE,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,IAAI,KAAK,KAAK,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACnE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBAC7C,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAiB,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACP,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;YAClC,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YACtC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,mCAAmC,CAAC,CAAC;YAChF,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;gBAAS,CAAC;YACV,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,OAAO,CAAC;YACd,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC;YAChC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,qBAAqB,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;YAChE,MAAM,EAAE,UAAU,CAAC,MAAM;SACzB,CAAC;aACA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/C,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,KAAK,MAAM,QAAQ,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;IACtC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3E,OAAO,IAAI,OAAO,CAAC;oBAClB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;oBACxC,MAAM,EAAE,UAAU,CAAC,MAAM;iBACzB,CAAC;qBACA,IAAI,CACJ,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE;oBAC1E,KAAK,EAAE,QAAQ;iBACf,CAAC,CACF;qBACA,GAAG,EAAE,CAAC;YACT,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,sBAAsB,CAAC,CAAC;YAClD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACpE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC;gBACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,yCAAyC,EAAE;gBACjF,MAAM,EAAE,UAAU,CAAC,MAAM;aACzB,CAAC;iBACA,IAAI,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;iBAC1E,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAChC,MAAM,CAAC,KAAK,CACX,OAAO,CAAC,KAAK,CAAC,OAAO,EACrB,QAAQ;gBACP,CAAC,CAAC,sDAAsD;gBACxD,CAAC,CAAC,6BAA6B,CAChC,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;gBAAS,CAAC;YACV,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,CACH,wEAAwE,EACxE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,EACtC,KAAK,IAAI,EAAE;IACV,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;QACrD,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACrC,UAAU,EACV,4CAA4C,CAC5C,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC;YAChC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE;SACtE,CAAC;aACA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;aAC1C,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CACD,CAAC;AAEF,IAAI,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;IAC/F,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,KAAK,MAAM,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAChC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACxC,QAAQ,EAAE;gBACT,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAO,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;aACrF;YACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACvB,MAAM,EAAE,EAAE,KAAK,KAAI,CAAC,EAAE;YACtB,MAAM,EAAE,EAAE,KAAK,KAAI,CAAC,EAAE;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,EAAE;YACT,GAAG,OAAO;SACV,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;AACF,CAAC,CAAC,CAAC"}
|
|
@@ -9,7 +9,7 @@ function runCli(args, env) {
|
|
|
9
9
|
const bin = path.join(process.cwd(), "bin", "lobster.js");
|
|
10
10
|
return spawnSync(process.execPath, [bin, ...args], {
|
|
11
11
|
encoding: "utf8",
|
|
12
|
-
env: { ...process.env, ...
|
|
12
|
+
env: { ...process.env, ...env },
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
test("workflow graph renderer outputs mermaid nodes and labeled edges", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow_graph.test.js","sourceRoot":"","sources":["../../test/workflow_graph.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,SAAS,MAAM,CAAC,IAAc,EAAE,GAAwC;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC1D,OAAO,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE;QAClD,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"workflow_graph.test.js","sourceRoot":"","sources":["../../test/workflow_graph.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,6 +99,7 @@ fast-uri supports inserting custom [scheme](https://en.wikipedia.org/wiki/URI_sc
|
|
|
99
99
|
* wss \[[RFC 6455](https://www.ietf.org/rfc/rfc6455.txt)\]
|
|
100
100
|
* urn \[[RFC 2141](https://www.ietf.org/rfc/rfc2141.txt)\]
|
|
101
101
|
* urn:uuid \[[RFC 4122](https://www.ietf.org/rfc/rfc4122.txt)\]
|
|
102
|
+
* mailto \[[RFC 6068](https://www.rfc-editor.org/rfc/rfc6068)\]
|
|
102
103
|
|
|
103
104
|
|
|
104
105
|
## Benchmarks
|