longer-agent 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +227 -0
- package/README.zh-CN.md +227 -0
- package/agent_templates/executor/agent.yaml +22 -0
- package/agent_templates/executor/system_prompt.md +17 -0
- package/agent_templates/explorer/agent.yaml +13 -0
- package/agent_templates/explorer/system_prompt.md +19 -0
- package/agent_templates/main/agent.yaml +7 -0
- package/agent_templates/main/system_prompt.md +45 -0
- package/configExample.yaml +83 -0
- package/dist/agents/agent.d.ts +79 -0
- package/dist/agents/agent.d.ts.map +1 -0
- package/dist/agents/agent.js +156 -0
- package/dist/agents/agent.js.map +1 -0
- package/dist/agents/tool-loop.d.ts +140 -0
- package/dist/agents/tool-loop.d.ts.map +1 -0
- package/dist/agents/tool-loop.js +465 -0
- package/dist/agents/tool-loop.js.map +1 -0
- package/dist/ask.d.ts +81 -0
- package/dist/ask.d.ts.map +1 -0
- package/dist/ask.js +34 -0
- package/dist/ask.js.map +1 -0
- package/dist/auth/openai-oauth.d.ts +66 -0
- package/dist/auth/openai-oauth.d.ts.map +1 -0
- package/dist/auth/openai-oauth.js +640 -0
- package/dist/auth/openai-oauth.js.map +1 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +254 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands.d.ts +118 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +862 -0
- package/dist/commands.js.map +1 -0
- package/dist/config.d.ts +130 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +648 -0
- package/dist/config.js.map +1 -0
- package/dist/context-rendering.d.ts +69 -0
- package/dist/context-rendering.d.ts.map +1 -0
- package/dist/context-rendering.js +250 -0
- package/dist/context-rendering.js.map +1 -0
- package/dist/document-projection.d.ts +12 -0
- package/dist/document-projection.d.ts.map +1 -0
- package/dist/document-projection.js +75 -0
- package/dist/document-projection.js.map +1 -0
- package/dist/ephemeral-log.d.ts +15 -0
- package/dist/ephemeral-log.d.ts.map +1 -0
- package/dist/ephemeral-log.js +173 -0
- package/dist/ephemeral-log.js.map +1 -0
- package/dist/file-attach.d.ts +89 -0
- package/dist/file-attach.d.ts.map +1 -0
- package/dist/file-attach.js +571 -0
- package/dist/file-attach.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/init-wizard.d.ts +13 -0
- package/dist/init-wizard.d.ts.map +1 -0
- package/dist/init-wizard.js +328 -0
- package/dist/init-wizard.js.map +1 -0
- package/dist/log-entry.d.ts +104 -0
- package/dist/log-entry.d.ts.map +1 -0
- package/dist/log-entry.js +292 -0
- package/dist/log-entry.js.map +1 -0
- package/dist/log-projection.d.ts +73 -0
- package/dist/log-projection.d.ts.map +1 -0
- package/dist/log-projection.js +651 -0
- package/dist/log-projection.js.map +1 -0
- package/dist/mcp-client.d.ts +55 -0
- package/dist/mcp-client.d.ts.map +1 -0
- package/dist/mcp-client.js +402 -0
- package/dist/mcp-client.js.map +1 -0
- package/dist/model-selection.d.ts +16 -0
- package/dist/model-selection.d.ts.map +1 -0
- package/dist/model-selection.js +181 -0
- package/dist/model-selection.js.map +1 -0
- package/dist/network-retry.d.ts +38 -0
- package/dist/network-retry.d.ts.map +1 -0
- package/dist/network-retry.js +140 -0
- package/dist/network-retry.js.map +1 -0
- package/dist/persistence.d.ts +104 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/persistence.js +644 -0
- package/dist/persistence.js.map +1 -0
- package/dist/primitives/context.d.ts +29 -0
- package/dist/primitives/context.d.ts.map +1 -0
- package/dist/primitives/context.js +85 -0
- package/dist/primitives/context.js.map +1 -0
- package/dist/progress.d.ts +51 -0
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +229 -0
- package/dist/progress.js.map +1 -0
- package/dist/provider-presets.d.ts +34 -0
- package/dist/provider-presets.d.ts.map +1 -0
- package/dist/provider-presets.js +181 -0
- package/dist/provider-presets.js.map +1 -0
- package/dist/providers/anthropic.d.ts +32 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +450 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/base.d.ts +135 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +104 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/glm.d.ts +18 -0
- package/dist/providers/glm.d.ts.map +1 -0
- package/dist/providers/glm.js +59 -0
- package/dist/providers/glm.js.map +1 -0
- package/dist/providers/kimi.d.ts +23 -0
- package/dist/providers/kimi.d.ts.map +1 -0
- package/dist/providers/kimi.js +89 -0
- package/dist/providers/kimi.js.map +1 -0
- package/dist/providers/minimax.d.ts +20 -0
- package/dist/providers/minimax.d.ts.map +1 -0
- package/dist/providers/minimax.js +192 -0
- package/dist/providers/minimax.js.map +1 -0
- package/dist/providers/openai-chat.d.ts +33 -0
- package/dist/providers/openai-chat.d.ts.map +1 -0
- package/dist/providers/openai-chat.js +543 -0
- package/dist/providers/openai-chat.js.map +1 -0
- package/dist/providers/openai-responses.d.ts +26 -0
- package/dist/providers/openai-responses.d.ts.map +1 -0
- package/dist/providers/openai-responses.js +443 -0
- package/dist/providers/openai-responses.js.map +1 -0
- package/dist/providers/openrouter.d.ts +24 -0
- package/dist/providers/openrouter.d.ts.map +1 -0
- package/dist/providers/openrouter.js +177 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/providers/registry.d.ts +7 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +38 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/security/path.d.ts +51 -0
- package/dist/security/path.d.ts.map +1 -0
- package/dist/security/path.js +187 -0
- package/dist/security/path.js.map +1 -0
- package/dist/security/sensitive-files.d.ts +3 -0
- package/dist/security/sensitive-files.d.ts.map +1 -0
- package/dist/security/sensitive-files.js +41 -0
- package/dist/security/sensitive-files.js.map +1 -0
- package/dist/session.d.ts +446 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +4595 -0
- package/dist/session.js.map +1 -0
- package/dist/settings.d.ts +46 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +134 -0
- package/dist/settings.js.map +1 -0
- package/dist/show-context.d.ts +35 -0
- package/dist/show-context.d.ts.map +1 -0
- package/dist/show-context.js +320 -0
- package/dist/show-context.js.map +1 -0
- package/dist/skills/loader.d.ts +49 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +166 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/summarize-context.d.ts +29 -0
- package/dist/summarize-context.d.ts.map +1 -0
- package/dist/summarize-context.js +247 -0
- package/dist/summarize-context.js.map +1 -0
- package/dist/templates/loader.d.ts +104 -0
- package/dist/templates/loader.d.ts.map +1 -0
- package/dist/templates/loader.js +514 -0
- package/dist/templates/loader.js.map +1 -0
- package/dist/tools/basic.d.ts +29 -0
- package/dist/tools/basic.d.ts.map +1 -0
- package/dist/tools/basic.js +2079 -0
- package/dist/tools/basic.js.map +1 -0
- package/dist/tools/comm.d.ts +17 -0
- package/dist/tools/comm.d.ts.map +1 -0
- package/dist/tools/comm.js +192 -0
- package/dist/tools/comm.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +11 -0
- package/dist/tools/web-fetch.d.ts.map +1 -0
- package/dist/tools/web-fetch.js +237 -0
- package/dist/tools/web-fetch.js.map +1 -0
- package/dist/tools/web-search.d.ts +24 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +51 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tui/app.d.ts +35 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +1042 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/checkbox-picker.d.ts +35 -0
- package/dist/tui/checkbox-picker.d.ts.map +1 -0
- package/dist/tui/checkbox-picker.js +85 -0
- package/dist/tui/checkbox-picker.js.map +1 -0
- package/dist/tui/command-picker.d.ts +31 -0
- package/dist/tui/command-picker.d.ts.map +1 -0
- package/dist/tui/command-picker.js +113 -0
- package/dist/tui/command-picker.js.map +1 -0
- package/dist/tui/components/ask-panel.d.ts +21 -0
- package/dist/tui/components/ask-panel.d.ts.map +1 -0
- package/dist/tui/components/ask-panel.js +81 -0
- package/dist/tui/components/ask-panel.js.map +1 -0
- package/dist/tui/components/conversation-panel.d.ts +68 -0
- package/dist/tui/components/conversation-panel.d.ts.map +1 -0
- package/dist/tui/components/conversation-panel.js +611 -0
- package/dist/tui/components/conversation-panel.js.map +1 -0
- package/dist/tui/components/input-panel.d.ts +27 -0
- package/dist/tui/components/input-panel.d.ts.map +1 -0
- package/dist/tui/components/input-panel.js +725 -0
- package/dist/tui/components/input-panel.js.map +1 -0
- package/dist/tui/components/logo-panel.d.ts +14 -0
- package/dist/tui/components/logo-panel.d.ts.map +1 -0
- package/dist/tui/components/logo-panel.js +37 -0
- package/dist/tui/components/logo-panel.js.map +1 -0
- package/dist/tui/components/plan-panel.d.ts +10 -0
- package/dist/tui/components/plan-panel.d.ts.map +1 -0
- package/dist/tui/components/plan-panel.js +8 -0
- package/dist/tui/components/plan-panel.js.map +1 -0
- package/dist/tui/components/status-bar.d.ts +24 -0
- package/dist/tui/components/status-bar.d.ts.map +1 -0
- package/dist/tui/components/status-bar.js +80 -0
- package/dist/tui/components/status-bar.js.map +1 -0
- package/dist/tui/input/editor-state.d.ts +22 -0
- package/dist/tui/input/editor-state.d.ts.map +1 -0
- package/dist/tui/input/editor-state.js +157 -0
- package/dist/tui/input/editor-state.js.map +1 -0
- package/dist/tui/input/keymap.d.ts +3 -0
- package/dist/tui/input/keymap.d.ts.map +1 -0
- package/dist/tui/input/keymap.js +72 -0
- package/dist/tui/input/keymap.js.map +1 -0
- package/dist/tui/input/paste-slots.d.ts +17 -0
- package/dist/tui/input/paste-slots.d.ts.map +1 -0
- package/dist/tui/input/paste-slots.js +46 -0
- package/dist/tui/input/paste-slots.js.map +1 -0
- package/dist/tui/input/paste.d.ts +15 -0
- package/dist/tui/input/paste.d.ts.map +1 -0
- package/dist/tui/input/paste.js +35 -0
- package/dist/tui/input/paste.js.map +1 -0
- package/dist/tui/input/protocol.d.ts +9 -0
- package/dist/tui/input/protocol.d.ts.map +1 -0
- package/dist/tui/input/protocol.js +387 -0
- package/dist/tui/input/protocol.js.map +1 -0
- package/dist/tui/input/sanitize.d.ts +6 -0
- package/dist/tui/input/sanitize.d.ts.map +1 -0
- package/dist/tui/input/sanitize.js +20 -0
- package/dist/tui/input/sanitize.js.map +1 -0
- package/dist/tui/input/types.d.ts +18 -0
- package/dist/tui/input/types.d.ts.map +1 -0
- package/dist/tui/input/types.js +2 -0
- package/dist/tui/input/types.js.map +1 -0
- package/dist/tui/launch.d.ts +23 -0
- package/dist/tui/launch.d.ts.map +1 -0
- package/dist/tui/launch.js +104 -0
- package/dist/tui/launch.js.map +1 -0
- package/dist/tui/theme.d.ts +20 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +29 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/tui/types.d.ts +136 -0
- package/dist/tui/types.d.ts.map +1 -0
- package/dist/tui/types.js +9 -0
- package/dist/tui/types.js.map +1 -0
- package/package.json +76 -0
- package/prompts/sections/agents_md.md +23 -0
- package/prompts/sections/important_log.md +16 -0
- package/prompts/sections/system_mechanisms.md +18 -0
- package/prompts/tools/apply_patch.md +31 -0
- package/prompts/tools/ask.md +18 -0
- package/prompts/tools/bash.md +13 -0
- package/prompts/tools/bash_background.md +9 -0
- package/prompts/tools/bash_output.md +9 -0
- package/prompts/tools/check_status.md +3 -0
- package/prompts/tools/diff.md +5 -0
- package/prompts/tools/edit_file.md +11 -0
- package/prompts/tools/glob.md +7 -0
- package/prompts/tools/grep.md +20 -0
- package/prompts/tools/kill_agent.md +3 -0
- package/prompts/tools/kill_shell.md +5 -0
- package/prompts/tools/list_dir.md +5 -0
- package/prompts/tools/plan.md +252 -0
- package/prompts/tools/read_file.md +9 -0
- package/prompts/tools/show_context.md +12 -0
- package/prompts/tools/skill.md +7 -0
- package/prompts/tools/spawn_agent.md +195 -0
- package/prompts/tools/summarize_context.md +122 -0
- package/prompts/tools/test.md +5 -0
- package/prompts/tools/wait.md +17 -0
- package/prompts/tools/web_fetch.md +9 -0
- package/prompts/tools/web_search.md +5 -0
- package/prompts/tools/write_file.md +11 -0
- package/skills/.staging/.gitkeep +0 -0
- package/skills/explain-code/SKILL.md +15 -0
- package/skills/skill-manager/SKILL.md +83 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAsB,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAyB,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAyB,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,OAAO,EACP,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAQ3D,qEAAqE;AACrE,mBAAmB;AACnB,qEAAqE;AAErE,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB;IACxD,YAAY,EAAE,eAAe,EAAE,kBAAkB;IACjD,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe;CACvD,CAAC;AAEF,MAAM,iBAAiB,GACrB,4FAA4F,CAAC;AAE/F,qEAAqE;AACrE,mBAAmB;AACnB,qEAAqE;AAErE,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AAErE,SAAS,eAAe,CACtB,KAAa,EACb,MAAc,EACd,KAAqI;IAErI,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9D,OAAO,UAAU,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,GAAG,GAAG,sBAAsB,CAAC,KAAY,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,WAAW,CAAC,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,YAAY,CAAC,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,KAAK,gBAAgB,CAAC,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAClD,KAAK,iBAAiB,CAAC,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,KAAK,WAAW,CAAC,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,UAAU,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,KAAK,iBAAiB,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;QACrD,KAAK,gBAAgB,CAAC,CAAC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,KAAK,sBAAsB,CAAC,CAAC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,qBAAqB,CAAC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,KAAK,sBAAsB,CAAC,CAAC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7D,KAAK,oBAAoB,CAAC,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAaD,MAAM,UAAU,GAAG,CAAC,EAClB,OAAO,EACP,eAAe,EACf,KAAK,EACL,kBAAkB,GACT;IACT,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,mBAAmB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAU,CAAC,CACvD,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqB,UAAU,CAAC,CAAC;IACjF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,6BAA6B;IAC7B,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,MAAM,CAAC,CAAC;IAC1E,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAC/E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAC7E,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9D,uBAAuB;IACvB,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAA4D,IAAI,GAAG,EAAE,CAAC,CAAC;IAC7H,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,4EAA4E;IAC5E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,+DAA+D;IAC/D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAsB,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/E,mFAAmF;IACnF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,mBAAmB;IACnB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IAExF,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,kBAAkB,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IAC5D,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAC7E,MAAM,0BAA0B,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,CAAmC,IAAI,CAAC,CAAC;IAClE,MAAM,qBAAqB,GAAG,MAAM,CAAyC,IAAI,CAAC,CAAC;IACnF,MAAM,mBAAmB,GAAG,MAAM,CAAyC,IAAI,CAAC,CAAC;IAEjF,WAAW;IACX,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAChC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC;IAGrC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAU,CAAC,CAAC;YACzE,UAAU,CACR,YAAY;gBACV,CAAC,CAAC,SAAS,CAAC,MAAM,CAChB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,UAAU;oBACrB,CAAC,CAAC,IAAI,KAAK,kBAAkB;oBAC7B,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAC9B;gBACD,CAAC,CAAC,SAAS,CACd,CAAC;YACF,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,WAAW,EAAE,CAAC;QACd,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU;YAAE,OAAO;QAEvD,8EAA8E;QAC9E,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,YAAY,GAAyC,IAAI,CAAC;QAC9D,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,GAAG,YAAY,CAAC;YACnC,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;gBACnB,YAAY,GAAG,GAAG,CAAC;gBACnB,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzB,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC7B,YAAY,GAAG,IAAI,CAAC;oBACpB,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC1B,WAAW,EAAE,CAAC;gBAChB,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE;YACV,KAAK,EAAE,CAAC;YACR,IAAI,YAAY;gBAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAE5B,qEAAqE;IACrE,wBAAwB;IACxB,qEAAqE;IAErE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC9B,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,OAAe,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE;QACvE,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC9B,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,iBAAiB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1C,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC9B,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACxC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;YACxC,0BAA0B,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,aAAa,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnF,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAElC,SAAS,CAAC,GAAG,EAAE;QACb,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxB,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC3B,kBAAkB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC9B,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1C,cAAc,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IAErB,qEAAqE;IACrE,YAAY;IACZ,qEAAqE;IAErE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC;YACH,IAAI,OAAO,OAAO,CAAC,oBAAoB,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBACzD,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;oBAAE,OAAO,CAAC,4BAA4B;gBAC9D,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,OAAgB,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,MAAM,cAAc,GAAG,WAAW,CAChC,KAAK,IAAI,EAAE;QACT,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;YACpD,WAAW,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAE7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,kBAAkB,CAAC,OAAO,GAAG,UAAU,CAAC;QACxC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,cAAc,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/D,IAAI,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;YACrD,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,QAAQ,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;YACzD,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,aAAa,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpB,CAAC;IAEF,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC;QACjC,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,cAAc,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;QACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,IAAI,kBAAkB,EAAE,CAAC;YACvB,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAE9E,qEAAqE;IACrE,0BAA0B;IAC1B,qEAAqE;IAErE,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAmB,EAAE;QAC3D,OAAO;YACL,OAAO;YACP,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,eAAe;YACf,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE;gBAC3B,IAAI,OAAO,OAAO,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;oBACtD,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,QAAQ;YACR,YAAY,EAAE,GAAG,EAAE;gBACjB,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7B,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,4BAA4B;gBAC5B,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACpB,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACtB,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACzB,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAC/B,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtB,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,WAAW,CAAC,IAAI,CAAC,CAAC;gBAClB,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,EAAE,WAAW;YACjB,eAAe,EAAE,CAAC,OAAe,EAAE,EAAE;gBACnC,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;YACD,0BAA0B,EAAE,CAAC,WAAmB,EAAE,EAAE;gBAClD,qBAAqB,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC;YACD,wBAAwB,EAAE,CAAC,WAAmB,EAAE,EAAE;gBAChD,mBAAmB,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IAE5E,qEAAqE;IACrE,gCAAgC;IAChC,qEAAqE;IAErE,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,KAAoB,EAAE,EAAE;QACvB,IAAI,YAAY,CAAC,OAAO;YAAE,OAAO;QAEjC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC;QAElE,6DAA6D;QAC7D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,KAAK,iBAAiB;oBACpB,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBAC7B,mBAAmB,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,YAAY;oBACf,gBAAgB,CAAC,YAAY,CAAC,CAAC;oBAC/B,mBAAmB,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,WAAW;oBACd,gBAAgB,CAAC,cAAc,CAAC,CAAC;oBACjC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAW,IAAI,SAAS,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,gBAAgB;oBACnB,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAC5B,mBAAmB,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,WAAW;oBACd,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAC1C,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,cAAc;oBACjB,wDAAwD;oBACxD,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,cAAc,CAAW,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;oBACrF,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,mBAAmB,CAAW,IAAI,CAAC,CAAC,CAAC;oBACtE,MAAM;YACV,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YACrC,MAAM,GAAG,GAAI,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAA8B,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC;YACpG,aAAa,CAAC,GAAG,CAAC,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5B,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACpC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACrE,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,aAAa,CAAmC,CAAC;YAC3E,IAAI,GAAG;gBAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACnC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,sCAAsC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEzC,qEAAqE;IACrE,iBAAiB;IACjB,qEAAqE;IAErE,MAAM,OAAO,GAAG,WAAW,CACzB,KAAK,EAAE,SAAiB,EAAE,EAAE;QAC1B,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAE7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,kBAAkB,CAAC,OAAO,GAAG,UAAU,CAAC;QAExC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,cAAc,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAE7D,IAAI,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YAED,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;YACrD,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,QAAQ,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;QACnD,CAAC;gBAAS,CAAC;YACT,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,aAAa,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpB,CAAC;IACF,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,MAAM,kBAAkB,GAAG,WAAW,CACpC,KAAK,EAAE,WAAmB,EAAE,EAAE;QAC5B,IAAI,OAAO,OAAO,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;YACrD,OAAO,CAAC,kBAAkB,EAAE,CAAC,8CAA8C,EAAE,SAAS,CAAC,CAAC;YACxF,OAAO;QACT,CAAC;QACD,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAE7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,kBAAkB,CAAC,OAAO,GAAG,UAAU,CAAC;QACxC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,cAAc,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7E,IAAI,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;YACrD,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,QAAQ,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;YACtD,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,aAAa,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpB,CAAC;IACF,qBAAqB,CAAC,OAAO,GAAG,kBAAkB,CAAC;IAEnD,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,EAAE,WAAmB,EAAE,EAAE;QAC5B,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACnD,OAAO,CAAC,kBAAkB,EAAE,CAAC,4CAA4C,EAAE,SAAS,CAAC,CAAC;YACtF,OAAO;QACT,CAAC;QACD,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAE7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,kBAAkB,CAAC,OAAO,GAAG,UAAU,CAAC;QACxC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC/B,cAAc,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,IAAI,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1C,kBAAkB,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;YACrD,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,QAAQ,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,YAAY,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,QAAQ,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;YACpD,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,aAAa,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpB,CAAC;IACF,mBAAmB,CAAC,OAAO,GAAG,gBAAgB,CAAC;IAE/C,MAAM,oBAAoB,GAAG,WAAW,CAAC,CACvC,eAA2E,EAC3E,aAAmC,EACnC,EAAE;QACF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO;QAChE,MAAM,SAAS,GAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAyB,IAAI,EAAE,CAAC;QACjF,MAAM,gBAAgB,GAAG,eAAe,IAAI,eAAe,CAAC;QAC5D,MAAM,cAAc,GAAG,aAAa,IAAI,WAAW,CAAC;QAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3B,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxB,WAAW,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YACpC,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1C,MAAM,cAAc,GAAG,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAC3B,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxB,WAAW,CAAC,kCAAkC,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,mDAAmD;YACnD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,SAAS,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC;gBACX,aAAa,EAAE,CAAC;gBAChB,mBAAmB,EAAE,EAAE,CAAC,WAAW;gBACnC,UAAU,EAAE,cAAc,CAAC,IAAI,KAAK,cAAc;oBAChD,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC;oBACvB,CAAC,CAAC,cAAc,CAAC,KAAK;gBACxB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAA0B,EAAE,OAAO,EAAE,CAAC;QAEpD,IAAI,CAAC;YACH,IAAI,OAAO,OAAO,CAAC,uBAAuB,KAAK,UAAU,EAAE,CAAC;gBAC1D,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3D,CAAC;YACD,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;YACjD,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,QAAQ,EAAE,CAAC;YACX,IAAI,OAAO,CAAC,sBAAsB,EAAE,EAAE,EAAE,CAAC;gBACvC,KAAK,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAElF,8EAA8E;IAC9E,sEAAsE;IACtE,MAAM,sBAAsB,GAAG,WAAW,CAAC,CACzC,GAAW,EACX,KAA+B,EAC/B,EAAE;QACF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC/D,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAE5C,sCAAsC;IACtC,MAAM,cAAc,GAAG,WAAW,CAAC,CACjC,OAAkE,EAClE,EAAE;QACF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO;QAChE,MAAM,SAAS,GAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAyB,IAAI,EAAE,CAAC;QACjF,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,uBAAuB,CAAC,YAAY,CAAC,CAAC;YACtC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,oCAAoC;YACpC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEpD,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;QACjD,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,yDAAyD;QACzD,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACzC,MAAM,SAAS,GAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAyB,IAAI,EAAE,CAAC;YACjF,MAAM,CAAC,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC;gBAAE,OAAO;YAEf,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,IAAI,cAAc,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC3C,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;wBACvC,OAAO;oBACT,CAAC;oBACD,uBAAuB;oBACvB,MAAM,OAAO,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC1E,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAC1B,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC1C,IAAI,oBAAoB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChD,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;wBAC5C,oBAAoB,CAAC,CAAC,CAAC,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAC3D,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACzB,eAAe,CAAC;wBACd,KAAK,EAAE,QAAQ,EAAE,WAAW,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;wBACrF,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBAC7F,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YAED,uDAAuD;YACvD,MAAM,OAAO,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;YAE1D,IAAI,oBAAoB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC5C,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO;QACT,CAAC;QACD,WAAW,CAAC,yBAAyB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,sBAAsB,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC;IAEpK,qEAAqE;IACrE,iBAAiB;IACjB,qEAAqE;IAErE,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAa,EAAW,EAAE;QACzB,cAAc,EAAE,CAAC;QAEjB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACzC,aAAa,CAAC,yEAAyE,EAAE,IAAI,CAAC,CAAC;gBAC/F,OAAO,KAAK,CAAC;YACf,CAAC;YACD,aAAa,CAAC,yBAAyB,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAAE,OAAO,KAAK,CAAC;YAChC,gDAAgD;YAChD,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;gBACjD,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACtC,OAAO,CAAC,mBAAmB,EAAE,CAAC,0BAA0B,KAAK,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBACxF,aAAa,CAAC,8BAA8B,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,aAAa,CAAC,uDAAuD,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yBAAyB;QACzB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAClC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;oBACjD,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACf,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC7B,KAAK,WAAW,EAAE,CAAC;wBACnB,OAAO;oBACT,CAAC;oBACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjE,OAAO,CAAC,kBAAkB,EAAE,CAAC,mBAAmB,OAAO,MAAM,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;gBACrF,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,kBAAkB,EAAE,CAC1B,oBAAoB,OAAO,sCAAsC,EACjE,SAAS,CACV,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC,EACD;QACE,UAAU;QACV,UAAU;QACV,eAAe;QACf,OAAO;QACP,cAAc;QACd,mBAAmB;QACnB,cAAc;QACd,aAAa;QACb,WAAW;QACX,OAAO;KACR,CACF,CAAC;IAEF,qEAAqE;IACrE,oCAAoC;IACpC,qEAAqE;IAErE,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC;YAC5C,cAAc,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,GAAG,GAAG,YAAY,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;YACtC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB;oBAC3C,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE;oBAChC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC,CAAC;gBACjE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACtB,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC5B,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;YACD,KAAK,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,YAAY,CAAC,OAAO,GAAG,GAAG,CAAC;QAE3B,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YAC7D,cAAc,EAAE,CAAC;YACjB,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB;gBAC3C,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE;gBAChC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvB,IAAI,QAAQ,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;oBAC9C,aAAa,CAAC,4CAA4C,CAAC,CAAC;gBAC9D,CAAC;gBACD,OAAO;YACT,CAAC;YAED,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACpC,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACzB,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,cAAc,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,EAAE;QACD,UAAU;QACV,cAAc;QACd,aAAa;QACb,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC;aAC3B,OAAO,EAAE;aACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACvC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,aAAa,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAE7B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACxE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,MAAM,GAAG,CAAC,IAAqB,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,6CAA6C;gBAC7C,IAAI,UAAU,EAAE,IAAI,KAAK,gBAAgB,IAAI,UAAU,EAAE,CAAC;oBACxD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;wBAAE,SAAS;oBACnC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wBAC1B,qBAAqB;wBACrB,oBAAoB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;wBACnD,SAAS;oBACX,CAAC;oBACD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC3B,2BAA2B;wBAC3B,aAAa,CAAC,KAAK,CAAC,CAAC;wBACrB,SAAS;oBACX,CAAC;oBACD,qDAAqD;oBACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC3C,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;wBAC3C,MAAM,SAAS,GAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAyB,IAAI,EAAE,CAAC;wBACjF,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;4BAC5B,aAAa,CAAC,KAAK,CAAC,CAAC;4BACrB,uBAAuB,CAAC,IAAI,CAAC,CAAC;4BAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC3C,oBAAoB,CAAC,QAAQ,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;wBACnD,CAAC;oBACH,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,0DAA0D;gBAC1D,IAAI,UAAU,EAAE,IAAI,KAAK,gBAAgB,IAAI,CAAC,eAAe,IAAI,aAAa,CAAC,EAAE,CAAC;oBAChF,0DAA0D;oBAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wBAClD,IAAI,aAAa,EAAE,CAAC;4BAClB,8DAA8D;4BAC9D,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;4BAC3C,MAAM,OAAO,GAAG,GAAG,oBAAoB,IAAI,iBAAiB,EAAE,CAAC;4BAC/D,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE;gCACtB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gCAC3B,IAAI,QAAQ,EAAE,CAAC;oCAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gCAAC,CAAC;qCAAM,CAAC;oCAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gCAAC,CAAC;gCAC7E,OAAO,IAAI,CAAC;4BACd,CAAC,CAAC,CAAC;4BACH,qDAAqD;4BACrD,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;4BAC1C,gBAAgB,CAAC,KAAK,CAAC,CAAC;4BACxB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC5C,CAAC;6BAAM,CAAC;4BACN,0DAA0D;4BAC1D,yBAAyB,EAAE,CAAC;wBAC9B,CAAC;wBACD,SAAS;oBACX,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACnD,IAAI,aAAa,EAAE,CAAC;4BAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;wBAAC,CAAC;wBAC/C,IAAI,eAAe,EAAE,CAAC;4BAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAAC,CAAC;wBACnD,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC1C,SAAS;oBACX,CAAC;oBACD,4DAA4D;oBAC5D,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC/E,IAAI,MAAM;wBAAE,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC5E,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;oBAAE,SAAS;gBACnC,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;wBACzC,MAAM,SAAS,GAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAyB,IAAI,EAAE,CAAC;wBACjF,MAAM,CAAC,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;wBAC1C,MAAM,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;wBAC1C,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;wBAEnF,uDAAuD;wBACvD,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;4BAChE,MAAM,OAAO,GAAG,GAAG,oBAAoB,IAAI,iBAAiB,EAAE,CAAC;4BAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;4BAChD,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;4BAC9D,gBAAgB,CAAC,IAAI,CAAC,CAAC;4BACvB,SAAS;wBACX,CAAC;wBAED,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;4BACxC,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;4BACnE,SAAS;wBACX,CAAC;wBACD,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;4BAC1C,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;4BACvD,SAAS;wBACX,CAAC;wBACD,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACjD,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;4BACzD,oBAAoB,CAAC,CAAC,CAAC,CAAC;4BACxB,kBAAkB,CAAC,KAAK,CAAC,CAAC;4BAC1B,gBAAgB,CAAC,KAAK,CAAC,CAAC;4BACxB,SAAS;wBACX,CAAC;wBACD,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAClD,uDAAuD;4BACvD,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;gCAC7D,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;4BAC5C,CAAC;4BACD,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;4BAC5E,oBAAoB,CAAC,CAAC,CAAC,CAAC;4BACxB,kBAAkB,CAAC,KAAK,CAAC,CAAC;4BAC1B,gBAAgB,CAAC,KAAK,CAAC,CAAC;4BACxB,SAAS;wBACX,CAAC;wBACD,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;4BAC1B,yBAAyB,EAAE,CAAC;4BAC5B,SAAS;wBACX,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;oBACnD,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;wBACzC,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;wBACrE,SAAS;oBACX,CAAC;oBACD,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;wBAC3C,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;wBACxD,SAAS;oBACX,CAAC;oBACD,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wBAC1B,yBAAyB,EAAE,CAAC;wBAC5B,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC3B,WAAW,EAAE,CAAC;oBACd,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC3B,WAAW,EAAE,CAAC;oBACd,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC3B,WAAW,EAAE,CAAC;oBACd,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC3B,WAAW,EAAE,CAAC;oBACd,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;wBAAE,SAAS;oBACnC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;wBAAE,WAAW,EAAE,CAAC;oBAC1C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;wBAAE,WAAW,EAAE,CAAC;oBAC1C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;wBAAE,WAAW,EAAE,CAAC;oBAC1C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;wBAAE,WAAW,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,KAAK;QACL,UAAU;QACV,yBAAyB;QACzB,oBAAoB;QACpB,sBAAsB;QACtB,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,oBAAoB;QACpB,eAAe;QACf,aAAa;QACb,UAAU;QACV,YAAY;QACZ,iBAAiB;QACjB,eAAe;QACf,WAAW;KACZ,CAAC,CAAC;IAEH,qEAAqE;IACrE,SAAS;IACT,qEAAqE;IAErE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,MAAM,EAAC,MAAM,aAEvC,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,cAAE,GAAG,GAAQ,GACd,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,aACvC,KAAC,IAAI,cAAE,GAAG,GAAQ,EAClB,KAAC,SAAS,IAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAI,IAC7B,EACN,KAAC,iBAAiB,IAChB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,yBAAyB,EAAE,IAAI,GAC/B,EACD,eAAe,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,WAAW,EAAE,eAAe,GAAI,CAAC,CAAC,CAAC,IAAI,EACpE,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,QAAQ,IACP,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,iBAAiB,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,cAAc,EACZ,UAAU,CAAC,IAAI,KAAK,gBAAgB;oBAClC,CAAC,CAAC,CAAE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAyB,IAAI,EAAE,CAAC,CAAC,MAAM;oBACzE,CAAC,CAAC,CAAC,EAEP,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,YAAY,CAAC,KAAK,EACrC,kBAAkB,EAAE,YAAY,CAAC,MAAM,EACvC,WAAW,EAAE,WAAW,GACxB,CACH,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,UAAU,IACT,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,CAAC,CAAC,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,aAAa,EAC9B,OAAO,EAAE,OAAO,GAChB,EACF,KAAC,SAAS,IACR,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,sBAAsB,CAC/B,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,EAC1C,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CACxC,EACD,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,EAC7D,eAAe,EAAE,eAAe,GAChC,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checkbox multi-select picker state machine.
|
|
3
|
+
*
|
|
4
|
+
* Parallels command-picker.ts but supports toggling multiple items
|
|
5
|
+
* before final submission. Used for /skills enable/disable.
|
|
6
|
+
*/
|
|
7
|
+
export interface CheckboxPickerItem {
|
|
8
|
+
label: string;
|
|
9
|
+
value: string;
|
|
10
|
+
checked: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface CheckboxPickerState {
|
|
13
|
+
title: string;
|
|
14
|
+
items: CheckboxPickerItem[];
|
|
15
|
+
selected: number;
|
|
16
|
+
visibleStart: number;
|
|
17
|
+
maxVisible: number;
|
|
18
|
+
}
|
|
19
|
+
export type CheckboxPickerResult = {
|
|
20
|
+
kind: "toggle";
|
|
21
|
+
picker: CheckboxPickerState;
|
|
22
|
+
} | {
|
|
23
|
+
kind: "submit";
|
|
24
|
+
items: CheckboxPickerItem[];
|
|
25
|
+
};
|
|
26
|
+
export declare function createCheckboxPicker(title: string, items: CheckboxPickerItem[], maxVisible?: number): CheckboxPickerState;
|
|
27
|
+
export declare function isCheckboxPickerActive(picker: CheckboxPickerState | null | undefined): picker is CheckboxPickerState;
|
|
28
|
+
export declare function getCheckboxPickerVisibleRange(picker: CheckboxPickerState): {
|
|
29
|
+
start: number;
|
|
30
|
+
end: number;
|
|
31
|
+
};
|
|
32
|
+
export declare function moveCheckboxSelection(picker: CheckboxPickerState, delta: number): CheckboxPickerState;
|
|
33
|
+
export declare function toggleCheckboxItem(picker: CheckboxPickerState): CheckboxPickerState;
|
|
34
|
+
export declare function submitCheckboxPicker(picker: CheckboxPickerState): CheckboxPickerResult;
|
|
35
|
+
//# sourceMappingURL=checkbox-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-picker.d.ts","sourceRoot":"","sources":["../../src/tui/checkbox-picker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC;AAkBpD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,kBAAkB,EAAE,EAC3B,UAAU,SAAe,GACxB,mBAAmB,CAQrB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC7C,MAAM,IAAI,mBAAmB,CAE/B;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,GAC1B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAehC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,MAAM,GACZ,mBAAmB,CA6BrB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,mBAAmB,GAC1B,mBAAmB,CAMrB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,mBAAmB,GAC1B,oBAAoB,CAEtB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checkbox multi-select picker state machine.
|
|
3
|
+
*
|
|
4
|
+
* Parallels command-picker.ts but supports toggling multiple items
|
|
5
|
+
* before final submission. Used for /skills enable/disable.
|
|
6
|
+
*/
|
|
7
|
+
function clampSelection(selected, count) {
|
|
8
|
+
if (count === 0)
|
|
9
|
+
return 0;
|
|
10
|
+
if (selected < 0)
|
|
11
|
+
return 0;
|
|
12
|
+
if (selected >= count)
|
|
13
|
+
return count - 1;
|
|
14
|
+
return selected;
|
|
15
|
+
}
|
|
16
|
+
function clampVisibleStart(start, count, maxVisible) {
|
|
17
|
+
if (count <= maxVisible)
|
|
18
|
+
return 0;
|
|
19
|
+
return Math.max(0, Math.min(start, count - maxVisible));
|
|
20
|
+
}
|
|
21
|
+
export function createCheckboxPicker(title, items, maxVisible = items.length) {
|
|
22
|
+
return {
|
|
23
|
+
title,
|
|
24
|
+
items: items.map((it) => ({ ...it })),
|
|
25
|
+
selected: 0,
|
|
26
|
+
visibleStart: 0,
|
|
27
|
+
maxVisible,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function isCheckboxPickerActive(picker) {
|
|
31
|
+
return Boolean(picker && picker.items.length > 0);
|
|
32
|
+
}
|
|
33
|
+
export function getCheckboxPickerVisibleRange(picker) {
|
|
34
|
+
const count = picker.items.length;
|
|
35
|
+
const maxVisible = Math.max(1, picker.maxVisible);
|
|
36
|
+
if (count <= maxVisible) {
|
|
37
|
+
return { start: 0, end: count };
|
|
38
|
+
}
|
|
39
|
+
let start = clampVisibleStart(picker.visibleStart, count, maxVisible);
|
|
40
|
+
if (picker.selected < start) {
|
|
41
|
+
start = picker.selected;
|
|
42
|
+
}
|
|
43
|
+
else if (picker.selected >= start + maxVisible) {
|
|
44
|
+
start = picker.selected - maxVisible + 1;
|
|
45
|
+
}
|
|
46
|
+
start = clampVisibleStart(start, count, maxVisible);
|
|
47
|
+
return { start, end: start + maxVisible };
|
|
48
|
+
}
|
|
49
|
+
export function moveCheckboxSelection(picker, delta) {
|
|
50
|
+
const count = picker.items.length;
|
|
51
|
+
if (count === 0 || delta === 0)
|
|
52
|
+
return picker;
|
|
53
|
+
const maxVisible = Math.max(1, picker.maxVisible);
|
|
54
|
+
let nextSelected = picker.selected;
|
|
55
|
+
let nextVisibleStart = clampVisibleStart(picker.visibleStart, count, maxVisible);
|
|
56
|
+
const direction = delta > 0 ? 1 : -1;
|
|
57
|
+
for (let step = 0; step < Math.abs(delta); step += 1) {
|
|
58
|
+
nextSelected = (nextSelected + direction + count) % count;
|
|
59
|
+
if (count <= maxVisible) {
|
|
60
|
+
nextVisibleStart = 0;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (nextSelected < nextVisibleStart) {
|
|
64
|
+
nextVisibleStart = nextSelected;
|
|
65
|
+
}
|
|
66
|
+
else if (nextSelected >= nextVisibleStart + maxVisible) {
|
|
67
|
+
nextVisibleStart = nextSelected - maxVisible + 1;
|
|
68
|
+
}
|
|
69
|
+
nextVisibleStart = clampVisibleStart(nextVisibleStart, count, maxVisible);
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
...picker,
|
|
73
|
+
selected: nextSelected,
|
|
74
|
+
visibleStart: nextVisibleStart,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export function toggleCheckboxItem(picker) {
|
|
78
|
+
const idx = clampSelection(picker.selected, picker.items.length);
|
|
79
|
+
const items = picker.items.map((it, i) => i === idx ? { ...it, checked: !it.checked } : it);
|
|
80
|
+
return { ...picker, items };
|
|
81
|
+
}
|
|
82
|
+
export function submitCheckboxPicker(picker) {
|
|
83
|
+
return { kind: "submit", items: [...picker.items] };
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=checkbox-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-picker.js","sourceRoot":"","sources":["../../src/tui/checkbox-picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CommandOption } from "../commands.js";
|
|
2
|
+
export interface CommandPickerLevel {
|
|
3
|
+
label: string;
|
|
4
|
+
options: CommandOption[];
|
|
5
|
+
selected: number;
|
|
6
|
+
visibleStart: number;
|
|
7
|
+
}
|
|
8
|
+
export interface CommandPickerState {
|
|
9
|
+
commandName: string;
|
|
10
|
+
maxVisible: number;
|
|
11
|
+
stack: CommandPickerLevel[];
|
|
12
|
+
}
|
|
13
|
+
export type CommandPickerAcceptResult = {
|
|
14
|
+
kind: "drill_down";
|
|
15
|
+
picker: CommandPickerState;
|
|
16
|
+
} | {
|
|
17
|
+
kind: "submit";
|
|
18
|
+
command: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function createCommandPicker(commandName: string, options: CommandOption[], maxVisible?: number): CommandPickerState;
|
|
21
|
+
export declare function isCommandPickerActive(picker: CommandPickerState | null | undefined): picker is CommandPickerState;
|
|
22
|
+
export declare function getCommandPickerLevel(picker: CommandPickerState): CommandPickerLevel;
|
|
23
|
+
export declare function getCommandPickerPath(picker: CommandPickerState): string[];
|
|
24
|
+
export declare function getCommandPickerVisibleRange(picker: CommandPickerState): {
|
|
25
|
+
start: number;
|
|
26
|
+
end: number;
|
|
27
|
+
};
|
|
28
|
+
export declare function moveCommandPickerSelection(picker: CommandPickerState, delta: number): CommandPickerState;
|
|
29
|
+
export declare function exitCommandPickerLevel(picker: CommandPickerState): CommandPickerState | null;
|
|
30
|
+
export declare function acceptCommandPickerSelection(picker: CommandPickerState): CommandPickerAcceptResult | null;
|
|
31
|
+
//# sourceMappingURL=command-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-picker.d.ts","sourceRoot":"","sources":["../../src/tui/command-picker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAkBxC,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,aAAa,EAAE,EACxB,UAAU,SAAiB,GAC1B,kBAAkB,CAMpB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAC5C,MAAM,IAAI,kBAAkB,CAE9B;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAEpF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAEzE;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,kBAAkB,GACzB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAgBhC;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,GACZ,kBAAkB,CAgCpB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAM5F;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,kBAAkB,GACzB,yBAAyB,GAAG,IAAI,CA2BlC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
function clampSelection(selected, options) {
|
|
2
|
+
if (options.length === 0)
|
|
3
|
+
return 0;
|
|
4
|
+
if (selected < 0)
|
|
5
|
+
return 0;
|
|
6
|
+
if (selected >= options.length)
|
|
7
|
+
return options.length - 1;
|
|
8
|
+
return selected;
|
|
9
|
+
}
|
|
10
|
+
function clampVisibleStart(start, optionCount, maxVisible) {
|
|
11
|
+
if (optionCount <= maxVisible)
|
|
12
|
+
return 0;
|
|
13
|
+
return Math.max(0, Math.min(start, optionCount - maxVisible));
|
|
14
|
+
}
|
|
15
|
+
export function createCommandPicker(commandName, options, maxVisible = options.length) {
|
|
16
|
+
return {
|
|
17
|
+
commandName,
|
|
18
|
+
maxVisible,
|
|
19
|
+
stack: [{ label: commandName, options, selected: 0, visibleStart: 0 }],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function isCommandPickerActive(picker) {
|
|
23
|
+
return Boolean(picker && picker.stack.length > 0);
|
|
24
|
+
}
|
|
25
|
+
export function getCommandPickerLevel(picker) {
|
|
26
|
+
return picker.stack[picker.stack.length - 1];
|
|
27
|
+
}
|
|
28
|
+
export function getCommandPickerPath(picker) {
|
|
29
|
+
return picker.stack.slice(1).map((level) => level.label);
|
|
30
|
+
}
|
|
31
|
+
export function getCommandPickerVisibleRange(picker) {
|
|
32
|
+
const level = getCommandPickerLevel(picker);
|
|
33
|
+
const maxVisible = Math.max(1, picker.maxVisible);
|
|
34
|
+
let start = clampVisibleStart(level.visibleStart, level.options.length, maxVisible);
|
|
35
|
+
if (level.options.length <= maxVisible) {
|
|
36
|
+
return { start: 0, end: level.options.length };
|
|
37
|
+
}
|
|
38
|
+
if (level.selected < start) {
|
|
39
|
+
start = level.selected;
|
|
40
|
+
}
|
|
41
|
+
else if (level.selected >= start + maxVisible) {
|
|
42
|
+
start = level.selected - maxVisible + 1;
|
|
43
|
+
}
|
|
44
|
+
start = clampVisibleStart(start, level.options.length, maxVisible);
|
|
45
|
+
return { start, end: start + maxVisible };
|
|
46
|
+
}
|
|
47
|
+
export function moveCommandPickerSelection(picker, delta) {
|
|
48
|
+
const level = getCommandPickerLevel(picker);
|
|
49
|
+
const count = level.options.length;
|
|
50
|
+
if (count === 0 || delta === 0)
|
|
51
|
+
return picker;
|
|
52
|
+
const maxVisible = Math.max(1, picker.maxVisible);
|
|
53
|
+
let nextSelected = level.selected;
|
|
54
|
+
let nextVisibleStart = clampVisibleStart(level.visibleStart, count, maxVisible);
|
|
55
|
+
const direction = delta > 0 ? 1 : -1;
|
|
56
|
+
for (let step = 0; step < Math.abs(delta); step += 1) {
|
|
57
|
+
nextSelected = (nextSelected + direction + count) % count;
|
|
58
|
+
if (count <= maxVisible) {
|
|
59
|
+
nextVisibleStart = 0;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (nextSelected < nextVisibleStart) {
|
|
63
|
+
nextVisibleStart = nextSelected;
|
|
64
|
+
}
|
|
65
|
+
else if (nextSelected >= nextVisibleStart + maxVisible) {
|
|
66
|
+
nextVisibleStart = nextSelected - maxVisible + 1;
|
|
67
|
+
}
|
|
68
|
+
nextVisibleStart = clampVisibleStart(nextVisibleStart, count, maxVisible);
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
...picker,
|
|
72
|
+
stack: [
|
|
73
|
+
...picker.stack.slice(0, -1),
|
|
74
|
+
{ ...level, selected: nextSelected, visibleStart: nextVisibleStart },
|
|
75
|
+
],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function exitCommandPickerLevel(picker) {
|
|
79
|
+
if (picker.stack.length <= 1)
|
|
80
|
+
return null;
|
|
81
|
+
return {
|
|
82
|
+
...picker,
|
|
83
|
+
stack: picker.stack.slice(0, -1),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export function acceptCommandPickerSelection(picker) {
|
|
87
|
+
const level = getCommandPickerLevel(picker);
|
|
88
|
+
const option = level.options[clampSelection(level.selected, level.options)];
|
|
89
|
+
if (!option)
|
|
90
|
+
return null;
|
|
91
|
+
if (option.children && option.children.length > 0) {
|
|
92
|
+
return {
|
|
93
|
+
kind: "drill_down",
|
|
94
|
+
picker: {
|
|
95
|
+
...picker,
|
|
96
|
+
stack: [
|
|
97
|
+
...picker.stack,
|
|
98
|
+
{
|
|
99
|
+
label: option.label,
|
|
100
|
+
options: option.children,
|
|
101
|
+
selected: 0,
|
|
102
|
+
visibleStart: 0,
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
kind: "submit",
|
|
110
|
+
command: `${picker.commandName} ${option.value}`.trim(),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=command-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-picker.js","sourceRoot":"","sources":["../../src/tui/command-picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { PendingAskUi } from "../../ask.js";
|
|
3
|
+
export interface AskPanelProps {
|
|
4
|
+
ask: PendingAskUi;
|
|
5
|
+
error?: string | null;
|
|
6
|
+
selectedIndex?: number;
|
|
7
|
+
currentQuestionIndex?: number;
|
|
8
|
+
totalQuestions?: number;
|
|
9
|
+
questionAnswers?: Map<number, {
|
|
10
|
+
optionIndex: number;
|
|
11
|
+
customText?: string;
|
|
12
|
+
}>;
|
|
13
|
+
customInputMode?: boolean;
|
|
14
|
+
noteInputMode?: boolean;
|
|
15
|
+
reviewMode?: boolean;
|
|
16
|
+
inlineEditorValue?: string;
|
|
17
|
+
inlineEditorCursor?: number;
|
|
18
|
+
optionNotes?: Map<string, string>;
|
|
19
|
+
}
|
|
20
|
+
export declare function AskPanel({ ask, error, selectedIndex, currentQuestionIndex, totalQuestions, questionAnswers, customInputMode, noteInputMode, reviewMode, inlineEditorValue, inlineEditorCursor, optionNotes, }: AskPanelProps): React.ReactElement;
|
|
21
|
+
//# sourceMappingURL=ask-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-panel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ask-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiCjD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AA+JD,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,KAAK,EACL,aAAiB,EACjB,oBAAwB,EACxB,cAAkB,EAClB,eAAe,EACf,eAAuB,EACvB,aAAqB,EACrB,UAAkB,EAClB,iBAAsB,EACtB,kBAAsB,EACtB,WAAW,GACZ,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAyBpC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
// ------------------------------------------------------------------
|
|
4
|
+
// Cursor rendering (simplified from input-panel.tsx)
|
|
5
|
+
// ------------------------------------------------------------------
|
|
6
|
+
const ANSI_INVERSE_ON = "\u001B[7m";
|
|
7
|
+
const ANSI_INVERSE_OFF = "\u001B[27m";
|
|
8
|
+
function renderWithCursor(value, cursor) {
|
|
9
|
+
if (value.length === 0)
|
|
10
|
+
return `${ANSI_INVERSE_ON} ${ANSI_INVERSE_OFF}`;
|
|
11
|
+
const c = Math.max(0, Math.min(cursor, value.length));
|
|
12
|
+
let out = "";
|
|
13
|
+
for (let i = 0; i < value.length; i++) {
|
|
14
|
+
out += i === c ? `${ANSI_INVERSE_ON}${value[i]}${ANSI_INVERSE_OFF}` : value[i];
|
|
15
|
+
}
|
|
16
|
+
if (c === value.length)
|
|
17
|
+
out += `${ANSI_INVERSE_ON} ${ANSI_INVERSE_OFF}`;
|
|
18
|
+
return out;
|
|
19
|
+
}
|
|
20
|
+
// ------------------------------------------------------------------
|
|
21
|
+
// Review panel (multi-question confirmation)
|
|
22
|
+
// ------------------------------------------------------------------
|
|
23
|
+
function renderReviewPanel(questions, questionAnswers, optionNotes, error) {
|
|
24
|
+
return (_jsxs(Box, { borderStyle: "round", borderColor: "green", paddingX: 1, flexDirection: "column", children: [_jsx(Text, { color: "green", bold: true, children: "Review your answers" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: questions.map((q, i) => {
|
|
25
|
+
const qa = questionAnswers.get(i);
|
|
26
|
+
const agentOpts = q.options;
|
|
27
|
+
const selected = qa ? agentOpts[qa.optionIndex] : undefined;
|
|
28
|
+
let answerDisplay;
|
|
29
|
+
let answerColor = "green";
|
|
30
|
+
if (!qa) {
|
|
31
|
+
answerDisplay = "(unanswered)";
|
|
32
|
+
answerColor = "yellow";
|
|
33
|
+
}
|
|
34
|
+
else if (selected?.kind === "custom_input") {
|
|
35
|
+
answerDisplay = `✎ ${qa.customText ?? ""}`;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
answerDisplay = selected?.label ?? "(unknown)";
|
|
39
|
+
if (selected?.kind === "discuss_further") {
|
|
40
|
+
answerColor = "yellow";
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const noteKey = qa && !selected?.systemAdded ? `${i}-${qa.optionIndex}` : "";
|
|
44
|
+
const note = noteKey ? optionNotes?.get(noteKey) : undefined;
|
|
45
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: `${i + 1}. ` }), _jsx(Text, { children: q.question })] }), _jsxs(Text, { color: answerColor, children: [" \u2192 ", answerDisplay] }), note ? _jsxs(Text, { color: "yellow", children: [" \uD83D\uDCDD ", note] }) : null] }, `review-${i}`));
|
|
46
|
+
}) }), _jsx(Text, { dimColor: true, children: "Enter to submit. Esc to go back." }), error ? _jsx(Text, { color: "red", children: error }) : null] }));
|
|
47
|
+
}
|
|
48
|
+
// ------------------------------------------------------------------
|
|
49
|
+
// Agent question panel
|
|
50
|
+
// ------------------------------------------------------------------
|
|
51
|
+
function renderAgentQuestionPanel(ask, error, selectedIndex, currentQuestionIndex, totalQuestions, questionAnswers, customInputMode, noteInputMode, reviewMode, editorValue, editorCursor, optionNotes) {
|
|
52
|
+
const questions = ask.payload["questions"] ?? [];
|
|
53
|
+
// Review mode
|
|
54
|
+
if (reviewMode) {
|
|
55
|
+
return renderReviewPanel(questions, questionAnswers ?? new Map(), optionNotes, error);
|
|
56
|
+
}
|
|
57
|
+
const q = questions[currentQuestionIndex];
|
|
58
|
+
if (!q) {
|
|
59
|
+
return (_jsx(Box, { borderStyle: "round", borderColor: "cyan", paddingX: 1, flexDirection: "column", children: _jsx(Text, { color: "red", children: "Error: Question index out of range" }) }));
|
|
60
|
+
}
|
|
61
|
+
const agentOptions = q.options;
|
|
62
|
+
const existingAnswer = questionAnswers?.get(currentQuestionIndex);
|
|
63
|
+
const isOnAgentOption = !agentOptions[selectedIndex]?.systemAdded;
|
|
64
|
+
return (_jsxs(Box, { borderStyle: "round", borderColor: "cyan", paddingX: 1, flexDirection: "column", children: [_jsxs(Text, { color: "cyan", children: ["Question ", currentQuestionIndex + 1, "/", totalQuestions, ": ", q.question] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: agentOptions.map((opt, i) => {
|
|
65
|
+
const isSelected = i === selectedIndex;
|
|
66
|
+
const isAnswered = existingAnswer?.optionIndex === i;
|
|
67
|
+
const noteKey = `${currentQuestionIndex}-${i}`;
|
|
68
|
+
const note = !opt.systemAdded ? optionNotes?.get(noteKey) : undefined;
|
|
69
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: isSelected ? "cyan" : isAnswered ? "green" : undefined, bold: isSelected, children: [isSelected ? " > " : isAnswered ? " ✓ " : " ", opt.label] }), opt.description ? (_jsxs(Text, { dimColor: true, children: [" ", opt.description] })) : null, note ? (_jsxs(Text, { color: "yellow", children: [" \uD83D\uDCDD ", note, isSelected ? " (Tab to edit)" : ""] })) : null] }, `opt-${i}`));
|
|
70
|
+
}) }), noteInputMode ? (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "yellow", children: "Note: " }), _jsx(Text, { children: renderWithCursor(editorValue, editorCursor) }), _jsx(Text, { dimColor: true, children: " (Enter to save, Esc to cancel)" })] })) : null, customInputMode ? (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "Your answer: " }), _jsx(Text, { children: renderWithCursor(editorValue, editorCursor) }), _jsx(Text, { dimColor: true, children: " (Enter to confirm, Esc to go back)" })] })) : null, _jsx(Box, { marginTop: 1, justifyContent: "flex-end", children: _jsxs(Text, { dimColor: true, children: ["\u2190 ", currentQuestionIndex + 1, "/", totalQuestions, " \u2192"] }) }), _jsxs(Text, { dimColor: true, children: ["Use \u2191/\u2193 to select, \u2190/\u2192 to navigate questions, Enter to confirm.", !customInputMode && !noteInputMode && isOnAgentOption ? " Tab to add note." : ""] }), error ? _jsx(Text, { color: "red", children: error }) : null] }));
|
|
71
|
+
}
|
|
72
|
+
// ------------------------------------------------------------------
|
|
73
|
+
// Exported component
|
|
74
|
+
// ------------------------------------------------------------------
|
|
75
|
+
export function AskPanel({ ask, error, selectedIndex = 0, currentQuestionIndex = 0, totalQuestions = 1, questionAnswers, customInputMode = false, noteInputMode = false, reviewMode = false, inlineEditorValue = "", inlineEditorCursor = 0, optionNotes, }) {
|
|
76
|
+
if (ask.kind === "agent_question") {
|
|
77
|
+
return renderAgentQuestionPanel(ask, error, selectedIndex, currentQuestionIndex, totalQuestions, questionAnswers, customInputMode, noteInputMode, reviewMode, inlineEditorValue, inlineEditorCursor, optionNotes);
|
|
78
|
+
}
|
|
79
|
+
return (_jsxs(Box, { borderStyle: "round", borderColor: "red", paddingX: 1, flexDirection: "column", children: [_jsxs(Text, { color: "red", children: ["Unsupported ask kind: ", ask.kind] }), _jsx(Text, { children: ask.summary }), error ? _jsx(Text, { color: "red", children: error }) : null] }));
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=ask-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-panel.js","sourceRoot":"","sources":["../../../src/tui/components/ask-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conversation panel -- displays the conversation history.
|
|
3
|
+
*
|
|
4
|
+
* Renders user messages, agent responses (with markdown), progress lines,
|
|
5
|
+
* reasoning blocks, and status messages. Markdown is rendered via
|
|
6
|
+
* marked + marked-terminal with width-aware reflow.
|
|
7
|
+
*/
|
|
8
|
+
import React from "react";
|
|
9
|
+
import type { ConversationEntry } from "../types.js";
|
|
10
|
+
type MarkdownDisplayMode = "rendered" | "raw";
|
|
11
|
+
export declare function markdownWidth(rightPanelVisible?: boolean): number;
|
|
12
|
+
export interface StreamingMarkdownSplit {
|
|
13
|
+
stable: string;
|
|
14
|
+
tail: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function splitStreamingMarkdown(text: string): StreamingMarkdownSplit;
|
|
17
|
+
export declare function renderMarkdownForDisplay(md: string, width?: number): string;
|
|
18
|
+
export declare function UserMessageView({ text, queued }: {
|
|
19
|
+
text: string;
|
|
20
|
+
queued?: boolean;
|
|
21
|
+
}): React.ReactElement;
|
|
22
|
+
interface AssistantResponseViewProps {
|
|
23
|
+
text: string;
|
|
24
|
+
markdownMode: MarkdownDisplayMode;
|
|
25
|
+
isStreaming: boolean;
|
|
26
|
+
width: number;
|
|
27
|
+
}
|
|
28
|
+
export declare function AssistantResponseView({ text, markdownMode, isStreaming, width, }: AssistantResponseViewProps): React.ReactElement;
|
|
29
|
+
export declare function InterruptedMarkerView({ text }: {
|
|
30
|
+
text: string;
|
|
31
|
+
}): React.ReactElement;
|
|
32
|
+
export declare function ProgressLineView({ text }: {
|
|
33
|
+
text: string;
|
|
34
|
+
}): React.ReactElement;
|
|
35
|
+
export declare function SubAgentRollupView({ text }: {
|
|
36
|
+
text: string;
|
|
37
|
+
}): React.ReactElement;
|
|
38
|
+
export declare function SubAgentDoneView({ text }: {
|
|
39
|
+
text: string;
|
|
40
|
+
}): React.ReactElement;
|
|
41
|
+
export declare function ToolCallView({ text, startedAt, elapsedMs, }: {
|
|
42
|
+
text: string;
|
|
43
|
+
startedAt?: number;
|
|
44
|
+
elapsedMs?: number;
|
|
45
|
+
}): React.ReactElement;
|
|
46
|
+
export declare function ToolResultView({ text, dim }: {
|
|
47
|
+
text: string;
|
|
48
|
+
dim?: boolean;
|
|
49
|
+
}): React.ReactElement;
|
|
50
|
+
export declare function ReasoningView({ text }: {
|
|
51
|
+
text: string;
|
|
52
|
+
}): React.ReactElement;
|
|
53
|
+
export declare function StatusView({ text }: {
|
|
54
|
+
text: string;
|
|
55
|
+
}): React.ReactElement;
|
|
56
|
+
export declare function ErrorView({ text }: {
|
|
57
|
+
text: string;
|
|
58
|
+
}): React.ReactElement;
|
|
59
|
+
export interface ConversationPanelProps {
|
|
60
|
+
entries: ConversationEntry[];
|
|
61
|
+
markdownMode?: MarkdownDisplayMode;
|
|
62
|
+
streamingAssistantEntryId?: string | null;
|
|
63
|
+
/** Whether the right-side activity panel is visible (affects markdown width). */
|
|
64
|
+
rightPanelVisible?: boolean;
|
|
65
|
+
}
|
|
66
|
+
export declare function ConversationPanel({ entries, markdownMode, streamingAssistantEntryId, rightPanelVisible, }: ConversationPanelProps): React.ReactElement;
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=conversation-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-panel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/conversation-panel.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQrD,KAAK,mBAAmB,GAAG,UAAU,GAAG,KAAK,CAAC;AAgS9C,wBAAgB,aAAa,CAAC,iBAAiB,UAAQ,GAAG,MAAM,CAO/D;AA6HD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,CA8B3E;AA8DD,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAA0B,GAAG,MAAM,CAE5F;AAMD,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAQxG;AAED,UAAU,0BAA0B;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,mBAAmB,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,KAAK,GACN,EAAE,0BAA0B,GAAG,KAAK,CAAC,YAAY,CA4BjD;AAED,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAMpF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAM/E;AAED,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAejF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAkB/E;AAOD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,SAAS,EACT,SAAS,GACV,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,KAAK,CAAC,YAAY,CAqCrB;AAaD,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAWjG;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAM5E;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAMzE;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAMxE;AAMD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,YAAyB,EACzB,yBAAgC,EAChC,iBAAyB,GAC1B,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAmE7C"}
|