@drscrewdriver/dsh-better-display 0.3.3-fork.1
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/CHANGELOG.md +259 -0
- package/DESIGN.md +72 -0
- package/LICENSE +24 -0
- package/README.en.md +55 -0
- package/README.md +55 -0
- package/THIRD_PARTY_NOTICES.md +65 -0
- package/compat/harness-rc2.json +99 -0
- package/cordis.patch.yml +5 -0
- package/cordis.yml +4 -0
- package/docs/official-rendering-bridge.md +65 -0
- package/dshx.yml +5 -0
- package/lib/client.js +49292 -0
- package/lib/client.js.map +1 -0
- package/lib/dsh-better-display.js +101 -0
- package/lib/types/client/Blocks.d.ts +49 -0
- package/lib/types/client/Blocks.d.ts.map +1 -0
- package/lib/types/client/Blocks.js +143 -0
- package/lib/types/client/Blocks.js.map +1 -0
- package/lib/types/client/ChoreographedFlow.d.ts +22 -0
- package/lib/types/client/ChoreographedFlow.d.ts.map +1 -0
- package/lib/types/client/ChoreographedFlow.js +218 -0
- package/lib/types/client/ChoreographedFlow.js.map +1 -0
- package/lib/types/client/ClosedProcessSummary.d.ts +9 -0
- package/lib/types/client/ClosedProcessSummary.d.ts.map +1 -0
- package/lib/types/client/ClosedProcessSummary.js +16 -0
- package/lib/types/client/ClosedProcessSummary.js.map +1 -0
- package/lib/types/client/DiffPanel.d.ts +13 -0
- package/lib/types/client/DiffPanel.d.ts.map +1 -0
- package/lib/types/client/DiffPanel.js +115 -0
- package/lib/types/client/DiffPanel.js.map +1 -0
- package/lib/types/client/LiveFold.d.ts +10 -0
- package/lib/types/client/LiveFold.d.ts.map +1 -0
- package/lib/types/client/LiveFold.js +39 -0
- package/lib/types/client/LiveFold.js.map +1 -0
- package/lib/types/client/McpAppFrame.d.ts +32 -0
- package/lib/types/client/McpAppFrame.d.ts.map +1 -0
- package/lib/types/client/McpAppFrame.js +193 -0
- package/lib/types/client/McpAppFrame.js.map +1 -0
- package/lib/types/client/OfficialContent.d.ts +25 -0
- package/lib/types/client/OfficialContent.d.ts.map +1 -0
- package/lib/types/client/OfficialContent.js +53 -0
- package/lib/types/client/OfficialContent.js.map +1 -0
- package/lib/types/client/Reader.d.ts +3 -0
- package/lib/types/client/Reader.d.ts.map +1 -0
- package/lib/types/client/Reader.js +603 -0
- package/lib/types/client/Reader.js.map +1 -0
- package/lib/types/client/ReasoningCard.d.ts +11 -0
- package/lib/types/client/ReasoningCard.d.ts.map +1 -0
- package/lib/types/client/ReasoningCard.js +322 -0
- package/lib/types/client/ReasoningCard.js.map +1 -0
- package/lib/types/client/SettingsSection.d.ts +37 -0
- package/lib/types/client/SettingsSection.d.ts.map +1 -0
- package/lib/types/client/SettingsSection.js +63 -0
- package/lib/types/client/SettingsSection.js.map +1 -0
- package/lib/types/client/StickyLane.d.ts +8 -0
- package/lib/types/client/StickyLane.d.ts.map +1 -0
- package/lib/types/client/StickyLane.js +39 -0
- package/lib/types/client/StickyLane.js.map +1 -0
- package/lib/types/client/TimelineRail.d.ts +10 -0
- package/lib/types/client/TimelineRail.d.ts.map +1 -0
- package/lib/types/client/TimelineRail.js +168 -0
- package/lib/types/client/TimelineRail.js.map +1 -0
- package/lib/types/client/ToolActivity.d.ts +17 -0
- package/lib/types/client/ToolActivity.d.ts.map +1 -0
- package/lib/types/client/ToolActivity.js +244 -0
- package/lib/types/client/ToolActivity.js.map +1 -0
- package/lib/types/client/TurnMetrics.d.ts +11 -0
- package/lib/types/client/TurnMetrics.d.ts.map +1 -0
- package/lib/types/client/TurnMetrics.js +44 -0
- package/lib/types/client/TurnMetrics.js.map +1 -0
- package/lib/types/client/WaitClock.d.ts +16 -0
- package/lib/types/client/WaitClock.d.ts.map +1 -0
- package/lib/types/client/WaitClock.js +29 -0
- package/lib/types/client/WaitClock.js.map +1 -0
- package/lib/types/client/WaitingClock.d.ts +15 -0
- package/lib/types/client/WaitingClock.d.ts.map +1 -0
- package/lib/types/client/WaitingClock.js +30 -0
- package/lib/types/client/WaitingClock.js.map +1 -0
- package/lib/types/client/WaitingStatus.d.ts +6 -0
- package/lib/types/client/WaitingStatus.d.ts.map +1 -0
- package/lib/types/client/WaitingStatus.js +9 -0
- package/lib/types/client/WaitingStatus.js.map +1 -0
- package/lib/types/client/conversation-scroll.d.ts +19 -0
- package/lib/types/client/conversation-scroll.d.ts.map +1 -0
- package/lib/types/client/conversation-scroll.js +25 -0
- package/lib/types/client/conversation-scroll.js.map +1 -0
- package/lib/types/client/deliverables.d.ts +24 -0
- package/lib/types/client/deliverables.d.ts.map +1 -0
- package/lib/types/client/deliverables.js +104 -0
- package/lib/types/client/deliverables.js.map +1 -0
- package/lib/types/client/entry-policy.d.ts +10 -0
- package/lib/types/client/entry-policy.d.ts.map +1 -0
- package/lib/types/client/entry-policy.js +24 -0
- package/lib/types/client/entry-policy.js.map +1 -0
- package/lib/types/client/entry.d.ts +4 -0
- package/lib/types/client/entry.d.ts.map +1 -0
- package/lib/types/client/entry.js +34 -0
- package/lib/types/client/entry.js.map +1 -0
- package/lib/types/client/fold-choreography.d.ts +40 -0
- package/lib/types/client/fold-choreography.d.ts.map +1 -0
- package/lib/types/client/fold-choreography.js +48 -0
- package/lib/types/client/fold-choreography.js.map +1 -0
- package/lib/types/client/fold-intensity.d.ts +11 -0
- package/lib/types/client/fold-intensity.d.ts.map +1 -0
- package/lib/types/client/fold-intensity.js +32 -0
- package/lib/types/client/fold-intensity.js.map +1 -0
- package/lib/types/client/index.d.ts +7 -0
- package/lib/types/client/index.d.ts.map +1 -0
- package/lib/types/client/index.js +195 -0
- package/lib/types/client/index.js.map +1 -0
- package/lib/types/client/live-turn.d.ts +58 -0
- package/lib/types/client/live-turn.d.ts.map +1 -0
- package/lib/types/client/live-turn.js +190 -0
- package/lib/types/client/live-turn.js.map +1 -0
- package/lib/types/client/markdown/MarkdownText.d.ts +41 -0
- package/lib/types/client/markdown/MarkdownText.d.ts.map +1 -0
- package/lib/types/client/markdown/MarkdownText.js +178 -0
- package/lib/types/client/markdown/MarkdownText.js.map +1 -0
- package/lib/types/client/markdown/cjkFriendlyStrong.d.ts +9 -0
- package/lib/types/client/markdown/cjkFriendlyStrong.d.ts.map +1 -0
- package/lib/types/client/markdown/cjkFriendlyStrong.js +73 -0
- package/lib/types/client/markdown/cjkFriendlyStrong.js.map +1 -0
- package/lib/types/client/markdown/incremental.d.ts +69 -0
- package/lib/types/client/markdown/incremental.d.ts.map +1 -0
- package/lib/types/client/markdown/incremental.js +108 -0
- package/lib/types/client/markdown/incremental.js.map +1 -0
- package/lib/types/client/markdown/katex.d.ts +27 -0
- package/lib/types/client/markdown/katex.d.ts.map +1 -0
- package/lib/types/client/markdown/katex.js +88 -0
- package/lib/types/client/markdown/katex.js.map +1 -0
- package/lib/types/client/markdown/mathCompatibility.d.ts +11 -0
- package/lib/types/client/markdown/mathCompatibility.d.ts.map +1 -0
- package/lib/types/client/markdown/mathCompatibility.js +293 -0
- package/lib/types/client/markdown/mathCompatibility.js.map +1 -0
- package/lib/types/client/markdown/parse.d.ts +25 -0
- package/lib/types/client/markdown/parse.d.ts.map +1 -0
- package/lib/types/client/markdown/parse.js +42 -0
- package/lib/types/client/markdown/parse.js.map +1 -0
- package/lib/types/client/markdown/render.d.ts +121 -0
- package/lib/types/client/markdown/render.d.ts.map +1 -0
- package/lib/types/client/markdown/render.js +452 -0
- package/lib/types/client/markdown/render.js.map +1 -0
- package/lib/types/client/mcp-app.d.ts +50 -0
- package/lib/types/client/mcp-app.d.ts.map +1 -0
- package/lib/types/client/mcp-app.js +328 -0
- package/lib/types/client/mcp-app.js.map +1 -0
- package/lib/types/client/message-chrome.d.ts +19 -0
- package/lib/types/client/message-chrome.d.ts.map +1 -0
- package/lib/types/client/message-chrome.js +42 -0
- package/lib/types/client/message-chrome.js.map +1 -0
- package/lib/types/client/motion.d.ts +38 -0
- package/lib/types/client/motion.d.ts.map +1 -0
- package/lib/types/client/motion.js +453 -0
- package/lib/types/client/motion.js.map +1 -0
- package/lib/types/client/native/ContextBody.d.ts +130 -0
- package/lib/types/client/native/ContextBody.d.ts.map +1 -0
- package/lib/types/client/native/ContextBody.js +398 -0
- package/lib/types/client/native/ContextBody.js.map +1 -0
- package/lib/types/client/native/ContextInjectionRow.d.ts +35 -0
- package/lib/types/client/native/ContextInjectionRow.d.ts.map +1 -0
- package/lib/types/client/native/ContextInjectionRow.js +42 -0
- package/lib/types/client/native/ContextInjectionRow.js.map +1 -0
- package/lib/types/client/native/ReferenceIcon.d.ts +16 -0
- package/lib/types/client/native/ReferenceIcon.d.ts.map +1 -0
- package/lib/types/client/native/ReferenceIcon.js +16 -0
- package/lib/types/client/native/ReferenceIcon.js.map +1 -0
- package/lib/types/client/native/tool-call-model.d.ts +58 -0
- package/lib/types/client/native/tool-call-model.d.ts.map +1 -0
- package/lib/types/client/native/tool-call-model.js +219 -0
- package/lib/types/client/native/tool-call-model.js.map +1 -0
- package/lib/types/client/native/tool-update.d.ts +23 -0
- package/lib/types/client/native/tool-update.d.ts.map +1 -0
- package/lib/types/client/native/tool-update.js +22 -0
- package/lib/types/client/native/tool-update.js.map +1 -0
- package/lib/types/client/official-slots.d.ts +71 -0
- package/lib/types/client/official-slots.d.ts.map +1 -0
- package/lib/types/client/official-slots.js +183 -0
- package/lib/types/client/official-slots.js.map +1 -0
- package/lib/types/client/open-file.d.ts +29 -0
- package/lib/types/client/open-file.d.ts.map +1 -0
- package/lib/types/client/open-file.js +71 -0
- package/lib/types/client/open-file.js.map +1 -0
- package/lib/types/client/pending-submission.d.ts +28 -0
- package/lib/types/client/pending-submission.d.ts.map +1 -0
- package/lib/types/client/pending-submission.js +28 -0
- package/lib/types/client/pending-submission.js.map +1 -0
- package/lib/types/client/platform-media.d.ts +6 -0
- package/lib/types/client/platform-media.d.ts.map +1 -0
- package/lib/types/client/platform-media.js +18 -0
- package/lib/types/client/platform-media.js.map +1 -0
- package/lib/types/client/primitive-labels.d.ts +10 -0
- package/lib/types/client/primitive-labels.d.ts.map +1 -0
- package/lib/types/client/primitive-labels.js +38 -0
- package/lib/types/client/primitive-labels.js.map +1 -0
- package/lib/types/client/projection.d.ts +41 -0
- package/lib/types/client/projection.d.ts.map +1 -0
- package/lib/types/client/projection.js +112 -0
- package/lib/types/client/projection.js.map +1 -0
- package/lib/types/client/reasoning-follow.d.ts +10 -0
- package/lib/types/client/reasoning-follow.d.ts.map +1 -0
- package/lib/types/client/reasoning-follow.js +21 -0
- package/lib/types/client/reasoning-follow.js.map +1 -0
- package/lib/types/client/resource-address.d.ts +3 -0
- package/lib/types/client/resource-address.d.ts.map +1 -0
- package/lib/types/client/resource-address.js +33 -0
- package/lib/types/client/resource-address.js.map +1 -0
- package/lib/types/client/settings-copy.d.ts +7 -0
- package/lib/types/client/settings-copy.d.ts.map +1 -0
- package/lib/types/client/settings-copy.js +53 -0
- package/lib/types/client/settings-copy.js.map +1 -0
- package/lib/types/client/settings-slots.d.ts +23 -0
- package/lib/types/client/settings-slots.d.ts.map +1 -0
- package/lib/types/client/settings-slots.js +2 -0
- package/lib/types/client/settings-slots.js.map +1 -0
- package/lib/types/client/settings.d.ts +4 -0
- package/lib/types/client/settings.d.ts.map +1 -0
- package/lib/types/client/settings.js +60 -0
- package/lib/types/client/settings.js.map +1 -0
- package/lib/types/client/skill-status.d.ts +25 -0
- package/lib/types/client/skill-status.d.ts.map +1 -0
- package/lib/types/client/skill-status.js +44 -0
- package/lib/types/client/skill-status.js.map +1 -0
- package/lib/types/client/store.d.ts +35 -0
- package/lib/types/client/store.d.ts.map +1 -0
- package/lib/types/client/store.js +37 -0
- package/lib/types/client/store.js.map +1 -0
- package/lib/types/client/stream-buffer.d.ts +37 -0
- package/lib/types/client/stream-buffer.d.ts.map +1 -0
- package/lib/types/client/stream-buffer.js +150 -0
- package/lib/types/client/stream-buffer.js.map +1 -0
- package/lib/types/client/streaming.d.ts +18 -0
- package/lib/types/client/streaming.d.ts.map +1 -0
- package/lib/types/client/streaming.js +84 -0
- package/lib/types/client/streaming.js.map +1 -0
- package/lib/types/client/timeline.d.ts +26 -0
- package/lib/types/client/timeline.d.ts.map +1 -0
- package/lib/types/client/timeline.js +48 -0
- package/lib/types/client/timeline.js.map +1 -0
- package/lib/types/client/tool-activity.d.ts +98 -0
- package/lib/types/client/tool-activity.d.ts.map +1 -0
- package/lib/types/client/tool-activity.js +301 -0
- package/lib/types/client/tool-activity.js.map +1 -0
- package/lib/types/client/types.d.ts +91 -0
- package/lib/types/client/types.d.ts.map +1 -0
- package/lib/types/client/types.js +2 -0
- package/lib/types/client/types.js.map +1 -0
- package/lib/types/client/waiting-clock.d.ts +49 -0
- package/lib/types/client/waiting-clock.d.ts.map +1 -0
- package/lib/types/client/waiting-clock.js +80 -0
- package/lib/types/client/waiting-clock.js.map +1 -0
- package/lib/types/client/word-motion.d.ts +16 -0
- package/lib/types/client/word-motion.d.ts.map +1 -0
- package/lib/types/client/word-motion.js +90 -0
- package/lib/types/client/word-motion.js.map +1 -0
- package/lib/types/client/word-timeline.d.ts +32 -0
- package/lib/types/client/word-timeline.d.ts.map +1 -0
- package/lib/types/client/word-timeline.js +119 -0
- package/lib/types/client/word-timeline.js.map +1 -0
- package/lib/types/dsh-better-display.d.ts +17 -0
- package/lib/types/dsh-better-display.d.ts.map +1 -0
- package/lib/types/dsh-better-display.js +93 -0
- package/lib/types/dsh-better-display.js.map +1 -0
- package/lib/types/skill-roots.d.ts +22 -0
- package/lib/types/skill-roots.d.ts.map +1 -0
- package/lib/types/skill-roots.js +126 -0
- package/lib/types/skill-roots.js.map +1 -0
- package/lib/types/skill-status.d.ts +36 -0
- package/lib/types/skill-status.d.ts.map +1 -0
- package/lib/types/skill-status.js +51 -0
- package/lib/types/skill-status.js.map +1 -0
- package/package.json +133 -0
- package/scripts/build-motion-fixture.mjs +26 -0
- package/scripts/check-harness-compat.mjs +71 -0
- package/scripts/link-harness-dependencies.mjs +54 -0
- package/scripts/verify-auto-fold.mjs +114 -0
- package/scripts/verify-official-bridge.mjs +121 -0
- package/scripts/verify-tool-shimmer.mjs +62 -0
- package/skills/generative-mcpapps/SKILL.md +47 -0
- package/skills/generative-mcpapps/examples/interactive_quiz.html +153 -0
- package/skills/generative-mcpapps/references/html_boilerplate.md +122 -0
- package/skills/generative-mcpapps/references/sep1865_protocol.md +54 -0
- package/src/client/Blocks.tsx +213 -0
- package/src/client/ChoreographedFlow.tsx +232 -0
- package/src/client/ClosedProcessSummary.tsx +23 -0
- package/src/client/DiffPanel.tsx +124 -0
- package/src/client/LiveFold.tsx +43 -0
- package/src/client/McpAppFrame.module.css +210 -0
- package/src/client/McpAppFrame.tsx +317 -0
- package/src/client/OfficialContent.tsx +69 -0
- package/src/client/Reader.module.css +692 -0
- package/src/client/Reader.tsx +878 -0
- package/src/client/ReasoningCard.tsx +306 -0
- package/src/client/SettingsSection.module.css +184 -0
- package/src/client/SettingsSection.tsx +194 -0
- package/src/client/StickyLane.tsx +34 -0
- package/src/client/TimelineRail.module.css +170 -0
- package/src/client/TimelineRail.tsx +262 -0
- package/src/client/ToolActivity.tsx +274 -0
- package/src/client/TurnMetrics.module.css +139 -0
- package/src/client/TurnMetrics.tsx +160 -0
- package/src/client/WaitClock.tsx +33 -0
- package/src/client/WaitingStatus.tsx +13 -0
- package/src/client/conversation-scroll.ts +28 -0
- package/src/client/deliverables.ts +122 -0
- package/src/client/entry-policy.ts +20 -0
- package/src/client/entry.tsx +40 -0
- package/src/client/fold-choreography.ts +55 -0
- package/src/client/fold-intensity.ts +36 -0
- package/src/client/index.tsx +222 -0
- package/src/client/live-turn.ts +198 -0
- package/src/client/markdown/MarkdownText.module.css +304 -0
- package/src/client/markdown/MarkdownText.tsx +195 -0
- package/src/client/markdown/cjkFriendlyStrong.ts +84 -0
- package/src/client/markdown/incremental.ts +131 -0
- package/src/client/markdown/katex.tsx +91 -0
- package/src/client/markdown/mathCompatibility.ts +350 -0
- package/src/client/markdown/parse.ts +45 -0
- package/src/client/markdown/render.tsx +647 -0
- package/src/client/markdown/upstream.json +14 -0
- package/src/client/mcp-app.ts +323 -0
- package/src/client/message-chrome.ts +47 -0
- package/src/client/motion.tsx +410 -0
- package/src/client/native/ContextBody.module.css +161 -0
- package/src/client/native/ContextBody.tsx +591 -0
- package/src/client/native/ContextInjectionRow.module.css +66 -0
- package/src/client/native/ContextInjectionRow.tsx +106 -0
- package/src/client/native/ReferenceIcon.tsx +35 -0
- package/src/client/native/tool-call-model.ts +248 -0
- package/src/client/native/tool-update.ts +32 -0
- package/src/client/native/upstream.json +41 -0
- package/src/client/official-slots.tsx +211 -0
- package/src/client/open-file.ts +94 -0
- package/src/client/pending-submission.ts +49 -0
- package/src/client/platform-media.ts +17 -0
- package/src/client/primitive-labels.ts +54 -0
- package/src/client/projection.ts +118 -0
- package/src/client/reasoning-follow.ts +28 -0
- package/src/client/settings-copy.ts +80 -0
- package/src/client/settings-slots.ts +20 -0
- package/src/client/settings.tsx +73 -0
- package/src/client/skill-status.ts +78 -0
- package/src/client/store.ts +75 -0
- package/src/client/stream-buffer.ts +136 -0
- package/src/client/streaming.tsx +70 -0
- package/src/client/style.d.ts +4 -0
- package/src/client/timeline.ts +77 -0
- package/src/client/tool-activity.ts +298 -0
- package/src/client/types.ts +89 -0
- package/src/client/waiting-clock.ts +83 -0
- package/src/client/word-motion.tsx +92 -0
- package/src/client/word-timeline.ts +113 -0
- package/src/dsh-better-display.ts +108 -0
- package/src/skill-roots.ts +138 -0
- package/src/skill-status.ts +81 -0
- package/tests/browser-auto-fold.tsx +64 -0
- package/tests/browser-closed-gap.tsx +20 -0
- package/tests/browser-motion.tsx +65 -0
- package/tests/browser-official-bridge.tsx +152 -0
- package/tests/browser-sticky-lanes.tsx +22 -0
- package/tests/browser-waiting-clock.tsx +14 -0
- package/tests/chat-flow-hook.test.ts +66 -0
- package/tests/cloud-gate.test.ts +34 -0
- package/tests/context-tool-update.test.ts +33 -0
- package/tests/conversation-scroll.test.ts +47 -0
- package/tests/deliverables.test.ts +128 -0
- package/tests/entry.test.ts +42 -0
- package/tests/fixtures/maid-composer-hide.html +31 -0
- package/tests/fold-choreography.test.ts +54 -0
- package/tests/fold-intensity.test.ts +94 -0
- package/tests/footer-precedence.test.ts +129 -0
- package/tests/history-word-regression.test.ts +16 -0
- package/tests/live-turn.test.ts +218 -0
- package/tests/mcp-apps.test.ts +157 -0
- package/tests/message-chrome.test.ts +29 -0
- package/tests/official-slots.test.ts +112 -0
- package/tests/open-file.test.ts +114 -0
- package/tests/pending-submission.test.ts +45 -0
- package/tests/platform-media.test.ts +23 -0
- package/tests/projection.test.ts +184 -0
- package/tests/reasoning-follow.test.ts +34 -0
- package/tests/settings-copy.test.ts +63 -0
- package/tests/skill-status.test.ts +137 -0
- package/tests/stock-install.test.ts +58 -0
- package/tests/stream-buffer.test.ts +102 -0
- package/tests/timeline.test.ts +59 -0
- package/tests/tool-diff.test.ts +57 -0
- package/tests/waiting-clock.test.ts +83 -0
- package/tests/word-timeline.test.ts +146 -0
- package/tsconfig.json +11 -0
- package/tsdown.config.ts +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Reader.js","sourceRoot":"","sources":["../../../src/client/Reader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAGxI,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/I,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpM,OAAO,EAAE,QAAQ,EAAE,0BAA0B,EAAE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC5H,OAAO,EAAE,qBAAqB,EAA4B,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAA8B,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAqB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,SAAS,MAAM,CAAyB,IAA8B,EAAE,IAAO;IAC7E,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAuB;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,uBAAuB,CAAC;IACzC,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,CAAC;YACvE,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,GAAG,GAAG,GAAG,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAMD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,iBAAiB,CAAC,EAAE,IAAI,EAE/D;IACC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACtF,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAEvC,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnF,KAAK,GAAG,OAAO,KAAK,eAAe,OAAO,SAAS,CAAC;IACtD,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,KAAK,GAAG,OAAO,KAAK,OAAO,CAAC;IAC9B,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnF,KAAK,GAAG,gBAAgB,OAAO,SAAS,CAAC;IAC3C,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,CAAC,aAAa,6CAC/B,cAAK,SAAS,EAAE,GAAG,CAAC,cAAc,YAC/B,UAAU,CAAC,CAAC,CAAC,CACZ,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,gBAAgB,EAAE,EAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAChB,IAAI,EACnB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,aAE3C,eAAK,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,aACvF,eAAM,CAAC,EAAC,oCAAoC,EAAC,WAAW,EAAC,KAAK,GAAG,EACjE,eAAM,CAAC,EAAC,gBAAgB,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,IACtF,EACN,yBAAO,KAAK,GAAQ,EACpB,eAAM,SAAS,EAAE,GAAG,CAAC,gBAAgB,YAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAQ,IAC/D,CACV,CAAC,CAAC,CAAC,CACF,gBAAM,SAAS,EAAE,GAAG,CAAC,cAAc,aACjC,eAAK,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,aACvF,eAAM,CAAC,EAAC,oCAAoC,EAAC,WAAW,EAAC,KAAK,GAAG,EACjE,eAAM,CAAC,EAAC,gBAAgB,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,IACtF,EACN,yBAAO,KAAK,GAAQ,IACf,CACR,GACG,EACL,IAAI,IAAI,UAAU,IAAI,CACrB,eAAK,SAAS,EAAE,GAAG,CAAC,oBAAoB,yCACtC,cAAK,SAAS,EAAE,GAAG,CAAC,uBAAuB,iEAAgB,EAC3D,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,CAAC,OAAQ,EAAE,MAAM,EAAE,cAAc,GAAI,IACzD,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAEvG;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,OAAO,GAAc,IAAI,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO,GAAG,KAAC,mBAAmB,OAAK,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAI,CAAC;SAC/E,IAAI,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC;QAAE,OAAO,GAAG,mBAAS,SAAS,EAAE,GAAG,CAAC,MAAM,aAAE,+DAAwB,EAAA,cAAK,SAAS,EAAE,GAAG,CAAC,YAAY,YAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAO,IAAU,CAAC;SACxK,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,OAAO,GAAG,KAAC,SAAS,IAAC,KAAK,EAAC,sCAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,kBAAkB,GAAI,CAAC;SACzI,IAAI,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;YAChD,OAAO,GAAG,eAAK,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAC,OAAO,aAC/C,eAAK,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,aAClF,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,WAAW,EAAC,KAAK,GAAG,EAClD,eAAM,CAAC,EAAC,qBAAqB,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,GAAG,IACpE,EACN,eAAK,SAAS,EAAE,GAAG,CAAC,SAAS,aAC3B,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,YAAE,gFAAyB,GAAM,EAC/D,YAAG,SAAS,EAAE,GAAG,CAAC,YAAY,YAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAK,IAChE,IACF,CAAC;QACT,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5F,CAAC;IACH,CAAC;SACI,IAAI,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC;QAAE,OAAO,GAAG,KAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CAAC;SACjF,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO,GAAG,KAAC,SAAS,IAAC,KAAK,EAAC,0BAAM,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,kBAAkB,GAAI,CAAC;IAC/H,OAAO,OAAO,IAAI,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAE,OAAO,GAAmB,CAAC;AACpK,CAAC,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAEvL;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,OAAO,IAAI,MAAM,IAAI,YAAY,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACjG,OAAO,4BAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;gBAChC,CAAC,CAAC,KAAC,eAAe,IAAkB,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAC3I,KAAC,aAAa,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YACtK,KAAC,MAAM,OAAK,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,EAC/H,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,QAAQ,SAAG,GACzF,IAJM,IAAI,CAAC,KAAK,CAKhB;gBAClB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAC,eAAe,IAAkB,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,YACnJ,kBAAS,SAAS,EAAE,GAAG,CAAC,iBAAiB,YACvC,KAAC,MAAM,OAAK,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,QAAQ,SAAG,GAC5K,IAH4B,IAAI,CAAC,KAAK,CAIhC;oBAClB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAC,eAAe,IAAkB,OAAO,EAAE,MAAM,IAAI,WAAW,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,YACxH,mBAAS,SAAS,EAAE,GAAG,CAAC,MAAM,6EAAyD,OAAO,8BAA4B,IAAI,CAAC,KAAK,wBAAsB,IAAI,CAAC,MAAM,uBAAqB,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,aAC9N,KAAC,MAAM,OAAK,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,QAAQ,SAAG,EACnL,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,eAAM,SAAS,EAAE,GAAG,CAAC,OAAO,mCAAY,EACjF,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,CAC3F,KAAC,UAAU,IAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE;wCACtC,mEAAmE;wCACnE,mEAAmE;wCACnE,+DAA+D;wCAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wCACxE,OAAO,MAAM,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oCAC1F,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,KAAC,eAAe,IAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAI,GAAI,CACtI,IACO,IAb2C,IAAI,CAAC,KAAK,CAc/C,CAAC;QACrB,CAAC,CAAC,GAAI,CAAC;AACT,CAAC,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,MAAM,EAAa;IACvH,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAoD,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1J,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,OAAO,eAAK,SAAS,EAAE,GAAG,CAAC,WAAW,iDAAsC,OAAO,aAChF,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,YAAG,SAAS,EAAE,GAAG,CAAC,IAAI,yCAAU,EAC5D,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,YACvD,KAAC,MAAM,OAAK,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAC,MAAM,GAAG,GACrD,EACL,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,cAAK,SAAS,EAAE,GAAG,CAAC,IAAI,YACjD,KAAC,MAAM,OAAK,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAC,MAAM,GAAG,GACrD,EACN,KAAC,kBAAkB,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAI,IAC1C,CAAC;IACT,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC;QAAE,OAAO,KAAC,SAAS,OAAK,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAI,CAAC;IACvF,IAAI,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC;QAAE,OAAO,eAAK,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAC,OAAO,yCAC5E,eAAK,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,aAClF,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,WAAW,EAAC,KAAK,GAAG,EAClD,eAAM,CAAC,EAAC,qBAAqB,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,GAAG,IACpE,EACN,eAAK,SAAS,EAAE,GAAG,CAAC,SAAS,aAC3B,eAAK,SAAS,EAAE,GAAG,CAAC,UAAU,aAC5B,oEAAuB,EACtB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,eAAM,SAAS,EAAE,GAAG,CAAC,SAAS,YAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAQ,IACtE,EACN,YAAG,SAAS,EAAE,GAAG,CAAC,YAAY,YAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAK,IACtE,IACF,CAAC;IACP,IAAI,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC;QAAE,OAAO,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,uHAAyB,CAAC;IAChG,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW;YAClF,CAAC,CAAC,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAC,QAAQ,6KAAiC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,KAAC,YAAY,OAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAC,SAAS,IAAC,KAAK,EAAC,0BAAM,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,kBAAkB,GAAI,GAAI,CAAC;IAC9L,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO;YAAE,OAAO,eAAK,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAC,OAAO,aACrF,eAAK,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,aAClF,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,WAAW,EAAC,KAAK,GAAG,EAClD,eAAM,CAAC,EAAC,qBAAqB,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,GAAG,IACpE,EACN,eAAK,SAAS,EAAE,GAAG,CAAC,SAAS,aAC3B,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,YAAE,0EAAwB,GAAM,EAC9D,YAAG,SAAS,EAAE,GAAG,CAAC,YAAY,YAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,aAAa,GAAK,IAC3F,IACF,CAAC;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACjH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IACjF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IACvI,iFAAiF;IACjF,kFAAkF;IAClF,kFAAkF;IAClF,iDAAiD;IACjD,OAAO,KAAC,YAAY,OAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAK,SAAS,EAAE,GAAG,CAAC,OAAO,yCAChF,0GAAiB,IAAI,CAAC,IAAI,IAAK,EAC9B,MAAM,CAAC,QAAQ,IAAI,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,qDAAiB,EAChJ,KAAC,SAAS,IAAC,KAAK,EAAC,sCAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,kBAAkB,GAAI,IAChF,GAAI,CAAC;AACb,CAAC,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,QAA+E,EAAE,IAAuB;IAC7H,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;YAAE,SAAS;QACpD,MAAM,KAAK,GAAI,IAAI,CAAC,IAAoC,CAAC,aAAa,CAAC;QACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACrF,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAgI;IAC/L,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,IAAI,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,MAAM,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClH,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC;QAC7H,CAAC;QACD,IAAI,IAAI,EAAE,MAAM,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAC3C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,QAAQ,CAAC;YAC9E,IAAI,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,OAAO,IAAI,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzF,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC;IAC7I,OAAO,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAI,CAAC;AACnE,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAK3F;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4C,MAAM,CAAC,CAAC;IACxF,MAAM,KAAK,GAAG,MAAM,EAAiC,CAAC;IAEtD,MAAM,KAAK,GAAG,CAAC,IAAsC,EAAE,EAAE;QACvD,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,KAAuB,EAAE,EAAE;QACzC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;YACjB,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC3C,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,KAAuB,EAAE,EAAE;QACzC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1C,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,CAAC,eAAe,iBAAe,MAAM,EAAE,KAAK,EAAE,IAAI,aACnE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,CAAC,QAAQ,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,gBACT,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,aAE1E,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CACrB,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,YACnF,eAAM,CAAC,EAAC,kBAAkB,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,GACxF,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAE,GAAG,CAAC,eAAe,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,aACxF,eAAM,CAAC,EAAC,0BAA0B,EAAC,WAAW,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,GAAG,EAC9E,eAAM,CAAC,EAAC,YAAY,EAAC,WAAW,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,GAAG,IAC5D,CACP,EACD,eAAM,SAAS,EAAE,GAAG,CAAC,eAAe,YACjC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GACvE,IACA,EAET,eAAK,SAAS,EAAE,GAAG,CAAC,WAAW,gBAAa,0BAAM,aAChD,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,CAAC,aAAa,EAC5B,KAAK,EAAE,eAAe,MAAM,GAAG,gBACpB,8DAAY,EACvB,OAAO,EAAE,QAAQ,YAEhB,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CACvB,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,YACnF,eAAM,CAAC,EAAC,kBAAkB,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,GACxF,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,YACnF,eAAM,CAAC,EAAC,8BAA8B,EAAC,WAAW,EAAC,KAAK,EAAC,cAAc,EAAC,OAAO,GAAG,GAC9E,CACP,GACM,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,CAAC,aAAa,EAC5B,KAAK,EAAC,sCAAQ,gBACH,sCAAQ,EACnB,OAAO,EAAE,MAAM,YAEd,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CACrB,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,YACnF,eAAM,CAAC,EAAC,kBAAkB,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,GACxF,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,aACnF,eAAM,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,WAAW,EAAC,KAAK,GAAG,EACxE,eAAM,CAAC,EAAC,4DAA4D,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,GAAG,IAC3G,CACP,GACM,IACL,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAKtE;IACC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAoB,MAAM,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,CAAC;YACH,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;YAChB,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1B,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,CAAC,gBAAgB,+CAClC,eAAM,SAAS,EAAE,GAAG,CAAC,iBAAiB,6BAAW,EACjD,cAAK,SAAS,EAAE,GAAG,CAAC,gBAAgB,YAClC,eAAK,SAAS,EAAE,GAAG,CAAC,eAAe,aAChC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACpC,KAAC,eAAe,IAAY,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,IAAhF,IAAI,CAAgF,CAC3G,CAAC,EACD,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,gBAAM,SAAS,EAAE,GAAG,CAAC,gBAAgB,mBAChC,YAAY,CAAC,MAAM,GAAG,CAAC,2BACrB,CACR,EACA,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,CAAC,sBAAsB,iBACxB,YAAY,EACzB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAC,gFAAe,aAEpB,YAAY,KAAK,QAAQ,IAAI,CAC5B,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,YACnF,eAAM,CAAC,EAAC,kBAAkB,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,GACxF,CACP,EACD,yBAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAQ,IACvD,CACV,IACG,GACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,KAAK,EAA8K;IACnT,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC1G,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7H,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACrF,MAAM,cAAc,GAAG,SAAS,KAAK,MAAM,CAAC;IAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAClI,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzG,MAAM,QAAQ,GAAG,qBAAqB,CAAC,oBAAoB,CACzD,KAAK,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,EAAc,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EACjF,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,mBAAmB,EACzD,GAAG,EAAE,CAAC,UAAU,CACjB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnH,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC;WAChC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;YAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC;YAC9G,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,gBAAgB,IAAI,eAAe,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC7F,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAChF,eAAe,CAAC,GAAG,EAAE;QACnB,4EAA4E;QAC5E,IAAI,QAAQ;YAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACxF,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACf,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC;QACjD,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACrF,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9G,OAAO,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7H,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,oBAAoB,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe;QACpE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChG,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;KAC3D,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrK,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,KAAK,EAAE,QAAQ,EAAE,UAAU;QAC3B,KAAK;QACL,eAAe,EAAG,QAAqD,EAAE,eAAe;QACxF,MAAM,EAAG,QAA4C,EAAE,MAAM;QAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,IAAI;KACpD,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACpF,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACpI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,WAAW;QACpB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO;QACP,YAAY;QACZ,OAAO;QACP,QAAQ;QACR,GAAG;KACJ,CAAC;IACF,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC;IAC/G,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;WACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,oBAAoB,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;IACrH,MAAM,kBAAkB,GAAG,QAAQ,IAAI,CAAC,YAAY;WAC/C,CAAC,oBAAoB,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;IACpG,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,MAAe,EAAE,EAAE;QACrD,MAAM,WAAW,GAAG,MAAM,IAAI,QAAQ,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAC,aAAa,cAC1E,KAAC,aAAa,OAAK,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,GAAI,GACxO,CAAC;QACjB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAC,aAAa,cAAC,MAAC,eAAe,IAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,mBAC7K,KAAC,YAAY,OAAK,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAI,EAC5H,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAC,SAAS,OAAK,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,IACvD,GAAgB,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAC,aAAa,cAAC,KAAC,QAAQ,OAAK,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,GAAgB,CAAC;QACpI,OAAO,MAAC,QAAQ,eACd,KAAC,aAAa,cAAC,KAAC,WAAW,IAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,GAAI,GAAgB,EAC5L,KAAC,aAAa,cAAC,KAAC,QAAQ,OAAK,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,WAAW,GAAI,GAAgB,IAC9J,CAAC;IACd,CAAC,CAAC;IACF,OAAO,mBAAS,SAAS,EAAE,GAAG,CAAC,IAAI,sBAAoB,KAAK,CAAC,IAAI,IAAI,YAAY,4BAA0B,QAAQ,CAAC,MAAM,6BAA2B,QAAQ,CAAC,MAAM,IAAI,SAAS,aAC9K,cAAc,IAAI,KAAC,aAAa,cAAC,KAAC,QAAQ,OAAK,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAI,GAAgB,EAC7I,UAAU,IAAI,CAAC,eAAe,IAAI,KAAC,UAAU,IAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,CAAC,iBAAiB,YAC3F,KAAC,UAAU,IAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAC3F,KAAK,EAAE,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAI,GAAI,GACzH,EACZ,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,UAAU,IAAI,QAAQ,IAAI,KAAC,oBAAoB,IAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EACtI,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;wBAAE,OAAO,KAAK,CAAC;oBACvC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;wBAAE,OAAO,IAAI,CAAC;oBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;2BACtF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;2BAC1D,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1E,CAAC,CAAC,GAAI,EACR,KAAC,iBAAiB,IAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,gBAAgB,EACtI,MAAM,EAAE,YAAY,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAChH,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,GAAI,EAEzI,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,eAAe,IAAI,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,6CAC9F,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAI,GACnH,EACL,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,KAAC,eAAe,IAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAI,EACjL,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAC,aAAa,cAAC,KAAC,YAAY,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAI,GAAgB,EAC7I,kBAAkB,IAAI,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,0CAAwB,QAAQ,GAAO,IAChF,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,IAAI,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACtG,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,eAAe,CAAwB,kBAAkB,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,oBAAoB,CACpC,KAAK,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,CAAC,EAAc,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EACjF,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,EACtC,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;IACF,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,CAAC,SAAS,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,aAAa,IAAI,IAAI,CAAC;IACtJ,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QACvD,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC;QACpC,+EAA+E;QAC/E,+EAA+E;QAC/E,IAAI,QAAQ;YAAE,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC9C,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9B,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,+BAA+B;QAC/B,8CAA8C;QAC9C,4CAA4C;QAC5C,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpD,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAExC,8BAA8B;QAC9B,mDAAmD;QACnD,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA+C,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACjC,yCAAyC;YACzC,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;QAC1D,CAAC;QAED,uCAAuC;QACvC,sCAAsC;QACtC,qBAAqB;QACrB,qDAAqD;QACrD,sBAAsB;QACtB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAErC,gBAAgB;QAChB,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,SAAS,EAAE,IAAI,KAAK,IAAI,IAAI,SAAS,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxH,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC;IACnC,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IAC9E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,yCAAyC;IACzC,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5H,uCAAuC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,CAAC;IACzD,mCAAmC;IACnC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAI,GAAG,CAAC,IAAkD,EAAE,GAAG,CAAC,cAAc,CAAyC,CAAC;YACnI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,wCAAwC;IACxC,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,CAAC,EACjF,CAAC,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAC1D,CAAC;IAEF,iCAAiC;IACjC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE9D,kCAAkC;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;QAEhE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,qBAAqB,CAAC,GAAG,EAAE;gBACzB,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM,IAAI,GAAG,CAAC,QAAQ,YAAY,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;gBACnG,MAAM,QAAQ,GAAG,EAAE,CAAC,gBAAgB,CAAc,yDAAyD,CAAC,CAAC;gBAC7G,IAAI,OAAO,GAAkB,IAAI,CAAC;gBAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;oBACzC,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;wBACrB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wBAC3C,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;4BAAE,OAAO,GAAG,GAAG,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACN,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,aAAa,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACrD,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;wBAAE,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,YAAY,EAAE,CAAC;QACf,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,oEAAoE;IACpE,qEAAqE;IACrE,2EAA2E;IAC3E,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE;QAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YAC9B,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAc,sBAAsB,IAAI,IAAI,CAAC,CAAC;YAChF,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC;YACD,UAAU,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAErF,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACnG,MAAM,eAAe,GAAG,MAAM,CAAqB,OAAO,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAgB,gBAAgB,CAAC,CAAC;IAElE,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,YAAY,GAAG,OAAO,KAAK,eAAe,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,MAAM,IAAI,QAAQ,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC;QACzH,MAAM,kBAAkB,GAAG,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,iBAAiB,CAAC,OAAO,CAAC;QACvG,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;QAClC,iBAAiB,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAE7C,IAAI,YAAY,IAAI,kBAAkB,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;IAExD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACxC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,oEAAoE;IACpE,8EAA8E;IAC9E,OAAO,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAAE,eAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,uBAAoB,OAAO,6BAAyB,OAAO,oCAAgC,UAAU,4BAAyB,UAAU,CAAC,IAAI,IAAI,SAAS,iBAAe,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,uBAAqB,YAAY,IAAI,SAAS,yBAAuB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,2BAAyB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aACpa,KAAC,YAAY,IAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,GAAI,EAC9G,eAAK,SAAS,EAAE,GAAG,CAAC,MAAM,oBAAiB,EAAE,aAC3C,KAAC,UAAU,IAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,GAAG,CAAC,OAAO,YAC/C,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,CAAC,UAAU,kBACX,QAAQ,EACtB,OAAO,EAAE,GAAG,EAAE;oCACZ,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;oCACrC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;gCACrD,CAAC,EACD,KAAK,EAAC,wPAA2C,YAEhD,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GACvB,GACE,EACZ,OAAO,IAAI,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;gCAC1G,eAAe,CAAC,KAAK,CAAC,CAAC;gCACvB,IAAI,CAAC;oCAAC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;gCAAC,CAAC;gCAAC,MAAM,CAAC;oCAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gCAAC,CAAC;4BACnE,CAAC,YAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,GAAU,EACjD,YAAY,IAAI,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,2JAA+B,EACzE,SAAS,IAAI,eAAK,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAC,OAAO,uEAAW,SAAS,CAAC,OAAO,IAAO,EACvF,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAG,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAC,QAAQ,2DAAY,EACpF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAC,SAAS,OAAqB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAA9M,KAAK,CAAC,GAAG,CAAyM,CAAC,EACvP,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;4BACnC,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;4BACnD,OAAO,CACP,eAAgC,SAAS,EAAE,GAAG,CAAC,WAAW,qDACvD,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CACpB,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,YAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CACzB,iBAAkB,SAAS,EAAE,GAAG,CAAC,WAAW,YAC1C,cAAK,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,YAChG,cAAK,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,GAAI,GACjF,IAHK,GAAG,CAIP,CACV,CAAC,GACE,CACP,EACA,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CACjB,cAAK,SAAS,EAAE,GAAG,CAAC,IAAI,YACtB,cAAK,SAAS,EAAE,GAAG,CAAC,MAAM,YAAG,UAAU,CAAC,IAAI,GAAO,GAC/C,CACP,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,kBAAkB,IAAC,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,GAAI,KAjBlE,UAAU,CAAC,SAAS,CAkBxB,CACL,CAAC;wBACJ,CAAC,CAAC,EACD,eAAe,IAAI,KAAC,aAAa,IAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAI,EAClH,OAAO,KAAK,SAAS,IAAI,eAAK,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAC,OAAO,4CACnE,2BAAS,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,GAAU,EACvE,8KAAqC,IACjC,EACL,MAAM,CAAC,QAAQ,IAAI,cAAK,SAAS,EAAE,GAAG,CAAC,QAAQ,YAAE,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,CAAC,IAAI,gBAAa,0BAAM,EAAC,KAAK,EAAC,0BAAM,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,YAC9I,cAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,iBAAa,MAAM,YAAC,eAAM,CAAC,EAAC,qBAAqB,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,GAAM,GACnM,GAAM,IACX,IACF,GAA+B,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** One real transcript: reference transform while following, native scroll while reading. */
|
|
3
|
+
export declare function ReasoningCard({ children, step, active, motion, selected, onRead }: {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
step: number;
|
|
6
|
+
active: boolean;
|
|
7
|
+
motion: boolean;
|
|
8
|
+
selected: boolean;
|
|
9
|
+
onRead: () => void;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=ReasoningCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReasoningCard.d.ts","sourceRoot":"","sources":["../../../src/client/ReasoningCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAClF,QAAQ,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC5G,+BAsSA"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useContext, useEffect, useId, useLayoutEffect, useRef, useState } from 'react';
|
|
3
|
+
import { StreamMotionContext } from './streaming.js';
|
|
4
|
+
import { REASON_CHASE_HOLD, REASON_HOLD, REASON_LINES, REASON_STEP, reasoningTarget } from './reasoning-follow.js';
|
|
5
|
+
import css from './Reader.module.css';
|
|
6
|
+
const EASING = 'cubic-bezier(.22,1,.36,1)';
|
|
7
|
+
/** One real transcript: reference transform while following, native scroll while reading. */
|
|
8
|
+
export function ReasoningCard({ children, step, active, motion, selected, onRead }) {
|
|
9
|
+
const viewport = useRef(null);
|
|
10
|
+
const track = useRef(null);
|
|
11
|
+
const content = useRef(null);
|
|
12
|
+
const controls = useId();
|
|
13
|
+
const [expanded, setExpanded] = useState(false);
|
|
14
|
+
const [following, setFollowing] = useState(true);
|
|
15
|
+
const [overflow, setOverflow] = useState(false);
|
|
16
|
+
const [edges, setEdges] = useState('none');
|
|
17
|
+
const lastHeight = useRef(0);
|
|
18
|
+
const resize = useRef(null);
|
|
19
|
+
const previousExpanded = useRef(expanded);
|
|
20
|
+
const stopFollow = useRef(() => { });
|
|
21
|
+
const { paused = false } = useContext(StreamMotionContext);
|
|
22
|
+
const allowed = following && active && motion && !selected && !paused;
|
|
23
|
+
const pause = useCallback(() => {
|
|
24
|
+
stopFollow.current();
|
|
25
|
+
setFollowing(false);
|
|
26
|
+
onRead();
|
|
27
|
+
}, [onRead]);
|
|
28
|
+
useLayoutEffect(() => {
|
|
29
|
+
// The parent's selection observer can suspend this card before its own
|
|
30
|
+
// listener runs. Clearing a selection must not silently resume following.
|
|
31
|
+
if (!selected)
|
|
32
|
+
return;
|
|
33
|
+
stopFollow.current();
|
|
34
|
+
setFollowing(false);
|
|
35
|
+
}, [selected]);
|
|
36
|
+
useLayoutEffect(() => {
|
|
37
|
+
if (!expanded)
|
|
38
|
+
return;
|
|
39
|
+
const port = viewport.current;
|
|
40
|
+
const host = port?.closest('[data-conversation-scroll]');
|
|
41
|
+
if (!port || !host)
|
|
42
|
+
return;
|
|
43
|
+
const fit = () => {
|
|
44
|
+
// Public DSH layout variable, updated by the native composer's observer.
|
|
45
|
+
// Leave room for the permanent identity, footer and reading margin.
|
|
46
|
+
const composer = parseFloat(getComputedStyle(host).getPropertyValue('--dsh-composer-height')) || 152;
|
|
47
|
+
const heading = port.parentElement?.querySelector('[data-reader-reasoning-heading]')?.offsetHeight || 30;
|
|
48
|
+
const footer = port.parentElement?.querySelector('[data-ud-check=reasoning-controls]')?.offsetHeight || 38;
|
|
49
|
+
const available = Math.max(120, host.clientHeight - composer - heading - footer - 32);
|
|
50
|
+
port.style.setProperty('--reason-reading-height', `${available}px`);
|
|
51
|
+
};
|
|
52
|
+
fit();
|
|
53
|
+
const observer = new ResizeObserver(fit);
|
|
54
|
+
observer.observe(host);
|
|
55
|
+
return () => { observer.disconnect(); };
|
|
56
|
+
}, [expanded]);
|
|
57
|
+
useLayoutEffect(() => {
|
|
58
|
+
const port = viewport.current;
|
|
59
|
+
const text = content.current;
|
|
60
|
+
const scrollTrack = track.current;
|
|
61
|
+
if (!port || !text || !scrollTrack)
|
|
62
|
+
return;
|
|
63
|
+
let frame = 0;
|
|
64
|
+
let timer;
|
|
65
|
+
let nextAt = performance.now() + REASON_HOLD;
|
|
66
|
+
let alive = true;
|
|
67
|
+
let automatic = false;
|
|
68
|
+
let lastPainted = port.scrollTop;
|
|
69
|
+
let targetOffset = lastPainted;
|
|
70
|
+
const tail = () => Math.max(0, text.offsetHeight - port.clientHeight);
|
|
71
|
+
const clamp = (value) => Math.max(0, Math.min(tail(), value));
|
|
72
|
+
const paintedOffset = () => {
|
|
73
|
+
if (!automatic)
|
|
74
|
+
return port.scrollTop;
|
|
75
|
+
const transform = getComputedStyle(scrollTrack).transform;
|
|
76
|
+
// Reduced-motion CSS may win before React receives the media change.
|
|
77
|
+
// Retain the last painted position rather than snapping back to the top.
|
|
78
|
+
return clamp(transform === 'none' ? lastPainted : port.scrollTop - new DOMMatrixReadOnly(transform).m42);
|
|
79
|
+
};
|
|
80
|
+
const hasSelection = () => {
|
|
81
|
+
const selection = document.getSelection();
|
|
82
|
+
return !!selection && !selection.isCollapsed && !!selection.anchorNode && text.contains(selection.anchorNode);
|
|
83
|
+
};
|
|
84
|
+
const cancel = () => {
|
|
85
|
+
cancelAnimationFrame(frame);
|
|
86
|
+
frame = 0;
|
|
87
|
+
clearTimeout(timer);
|
|
88
|
+
timer = undefined;
|
|
89
|
+
delete port.dataset.reasoningMoving;
|
|
90
|
+
};
|
|
91
|
+
const manual = () => {
|
|
92
|
+
if (!automatic)
|
|
93
|
+
return;
|
|
94
|
+
const top = paintedOffset();
|
|
95
|
+
automatic = false;
|
|
96
|
+
scrollTrack.style.transition = 'none';
|
|
97
|
+
scrollTrack.style.transform = 'none';
|
|
98
|
+
// Set both in the same layout effect/event, before a frame can paint.
|
|
99
|
+
// The first wheel gesture must already have a native scrollable viewport.
|
|
100
|
+
port.style.overflow = 'auto';
|
|
101
|
+
port.scrollTop = top;
|
|
102
|
+
lastPainted = port.scrollTop;
|
|
103
|
+
port.dataset.reasoningMode = 'manual';
|
|
104
|
+
};
|
|
105
|
+
const follow = () => {
|
|
106
|
+
if (automatic)
|
|
107
|
+
return;
|
|
108
|
+
targetOffset = lastPainted = clamp(port.scrollTop);
|
|
109
|
+
scrollTrack.style.transition = 'none';
|
|
110
|
+
scrollTrack.style.transform = `translateY(-${lastPainted}px)`;
|
|
111
|
+
port.scrollTop = 0;
|
|
112
|
+
port.style.overflow = 'hidden';
|
|
113
|
+
automatic = true;
|
|
114
|
+
port.dataset.reasoningMode = 'transform';
|
|
115
|
+
};
|
|
116
|
+
const measure = (recordHeight = true) => {
|
|
117
|
+
const previewHeight = parseFloat(getComputedStyle(port).getPropertyValue('--reason-preview-height'));
|
|
118
|
+
setOverflow(text.offsetHeight > previewHeight + 1);
|
|
119
|
+
lastPainted = paintedOffset();
|
|
120
|
+
const top = lastPainted > 1;
|
|
121
|
+
const bottom = tail() - lastPainted > 1;
|
|
122
|
+
const next = top ? bottom ? 'both' : 'top' : bottom ? 'bottom' : 'none';
|
|
123
|
+
setEdges(value => value === next ? value : next);
|
|
124
|
+
if (recordHeight && !resize.current)
|
|
125
|
+
lastHeight.current = port.clientHeight;
|
|
126
|
+
};
|
|
127
|
+
stopFollow.current = () => { cancel(); manual(); measure(false); };
|
|
128
|
+
const canFollow = () => allowed && alive && !document.hidden && !hasSelection();
|
|
129
|
+
const schedule = () => {
|
|
130
|
+
if (!canFollow() || frame || timer !== undefined)
|
|
131
|
+
return;
|
|
132
|
+
follow();
|
|
133
|
+
if (tail() - paintedOffset() < 1)
|
|
134
|
+
return;
|
|
135
|
+
timer = setTimeout(start, Math.max(0, nextAt - performance.now()));
|
|
136
|
+
};
|
|
137
|
+
const start = () => {
|
|
138
|
+
timer = undefined;
|
|
139
|
+
if (!canFollow())
|
|
140
|
+
return;
|
|
141
|
+
const from = paintedOffset();
|
|
142
|
+
const lineHeight = parseFloat(getComputedStyle(text).lineHeight) || 24;
|
|
143
|
+
// How much unpainted text is waiting. A fast model pushes this far past the
|
|
144
|
+
// reference step, and chasing it is what keeps the scroll continuous.
|
|
145
|
+
const backlogLines = Math.max(0, (tail() - from) / lineHeight);
|
|
146
|
+
const target = reasoningTarget(from, text.offsetHeight, port.clientHeight, lineHeight, backlogLines);
|
|
147
|
+
if (target - from < 1)
|
|
148
|
+
return;
|
|
149
|
+
const began = performance.now();
|
|
150
|
+
// Still behind after this step: take the next one almost immediately instead
|
|
151
|
+
// of holding the reading beat, so motion tracks the text rather than stalling.
|
|
152
|
+
nextAt = began + (backlogLines > REASON_LINES ? REASON_CHASE_HOLD : REASON_HOLD);
|
|
153
|
+
targetOffset = target;
|
|
154
|
+
// The supplied recipe: commit the start pose, then transition the track.
|
|
155
|
+
// No per-frame scrollTop writes and no catch-up across unread lines.
|
|
156
|
+
scrollTrack.style.transition = 'none';
|
|
157
|
+
scrollTrack.style.transform = `translateY(-${from}px)`;
|
|
158
|
+
void scrollTrack.offsetHeight;
|
|
159
|
+
scrollTrack.style.transition = 'transform var(--reason-step) var(--reason-ease)';
|
|
160
|
+
scrollTrack.style.transform = `translateY(-${target}px)`;
|
|
161
|
+
port.dataset.reasoningMoving = 'true';
|
|
162
|
+
port.dataset.reasoningFrom = String(from);
|
|
163
|
+
port.dataset.reasoningTarget = String(target);
|
|
164
|
+
port.dataset.reasoningBegan = String(began);
|
|
165
|
+
const tick = (now) => {
|
|
166
|
+
frame = 0;
|
|
167
|
+
if (!canFollow()) {
|
|
168
|
+
cancel();
|
|
169
|
+
manual();
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
// Observe the browser's actual CSS interpolation for masks and handoff.
|
|
173
|
+
measure();
|
|
174
|
+
if (now - began < REASON_STEP || Math.abs(lastPainted - target) > .05)
|
|
175
|
+
frame = requestAnimationFrame(tick);
|
|
176
|
+
else {
|
|
177
|
+
delete port.dataset.reasoningMoving;
|
|
178
|
+
schedule();
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
frame = requestAnimationFrame(tick);
|
|
182
|
+
};
|
|
183
|
+
const onScroll = () => {
|
|
184
|
+
measure();
|
|
185
|
+
// Focus/keyboard-induced native scroll wins even while the track moves.
|
|
186
|
+
if (automatic && port.scrollTop > 1)
|
|
187
|
+
pause();
|
|
188
|
+
};
|
|
189
|
+
const onWheel = (event) => {
|
|
190
|
+
if (!event.deltaY)
|
|
191
|
+
return;
|
|
192
|
+
// The compositor picks a wheel scroller before handlers run. A clipped
|
|
193
|
+
// transform viewport would otherwise lose this first gesture or scroll
|
|
194
|
+
// the conversation. Consume only this handoff; later wheels stay native.
|
|
195
|
+
const handoff = automatic && event.cancelable;
|
|
196
|
+
if (handoff)
|
|
197
|
+
event.preventDefault();
|
|
198
|
+
const unit = event.deltaMode === WheelEvent.DOM_DELTA_LINE ? parseFloat(getComputedStyle(text).lineHeight) || 24
|
|
199
|
+
: event.deltaMode === WheelEvent.DOM_DELTA_PAGE ? port.clientHeight : 1;
|
|
200
|
+
pause();
|
|
201
|
+
if (handoff) {
|
|
202
|
+
port.scrollTop = clamp(port.scrollTop + event.deltaY * unit);
|
|
203
|
+
measure();
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
const onSelection = () => { if (hasSelection())
|
|
207
|
+
pause(); };
|
|
208
|
+
const onVisibility = () => {
|
|
209
|
+
cancel();
|
|
210
|
+
manual();
|
|
211
|
+
nextAt = performance.now() + REASON_HOLD;
|
|
212
|
+
if (!document.hidden)
|
|
213
|
+
schedule();
|
|
214
|
+
};
|
|
215
|
+
const observer = new ResizeObserver(() => {
|
|
216
|
+
if (automatic && targetOffset > tail() + 1) {
|
|
217
|
+
cancel();
|
|
218
|
+
manual();
|
|
219
|
+
nextAt = performance.now() + REASON_HOLD;
|
|
220
|
+
}
|
|
221
|
+
measure();
|
|
222
|
+
schedule();
|
|
223
|
+
});
|
|
224
|
+
observer.observe(text);
|
|
225
|
+
observer.observe(port);
|
|
226
|
+
port.addEventListener('scroll', onScroll, { passive: true });
|
|
227
|
+
port.addEventListener('wheel', onWheel, { passive: false });
|
|
228
|
+
document.addEventListener('selectionchange', onSelection);
|
|
229
|
+
document.addEventListener('visibilitychange', onVisibility);
|
|
230
|
+
// Keep the previous layout height until the resize effect can sample it.
|
|
231
|
+
measure(false);
|
|
232
|
+
schedule();
|
|
233
|
+
return () => {
|
|
234
|
+
alive = false;
|
|
235
|
+
cancel();
|
|
236
|
+
manual();
|
|
237
|
+
observer.disconnect();
|
|
238
|
+
port.removeEventListener('scroll', onScroll);
|
|
239
|
+
port.removeEventListener('wheel', onWheel);
|
|
240
|
+
document.removeEventListener('selectionchange', onSelection);
|
|
241
|
+
document.removeEventListener('visibilitychange', onVisibility);
|
|
242
|
+
stopFollow.current = () => { };
|
|
243
|
+
};
|
|
244
|
+
}, [allowed, pause]);
|
|
245
|
+
useLayoutEffect(() => {
|
|
246
|
+
const port = viewport.current;
|
|
247
|
+
if (!port)
|
|
248
|
+
return;
|
|
249
|
+
const changed = expanded !== previousExpanded.current;
|
|
250
|
+
previousExpanded.current = expanded;
|
|
251
|
+
const from = resize.current ? port.clientHeight : lastHeight.current;
|
|
252
|
+
resize.current?.cancel();
|
|
253
|
+
resize.current = null;
|
|
254
|
+
port.style.maxHeight = '';
|
|
255
|
+
port.style.height = '';
|
|
256
|
+
const target = port.clientHeight;
|
|
257
|
+
// Explicit reading adjusts only the conversation, never the outer app.
|
|
258
|
+
// The card is also a reader anchor so resizing cannot pin a later answer
|
|
259
|
+
// in place at the expense of this card's visible heading.
|
|
260
|
+
if (changed && !selected) {
|
|
261
|
+
const card = port.parentElement;
|
|
262
|
+
const host = port.closest('[data-conversation-scroll]');
|
|
263
|
+
if (card && host) {
|
|
264
|
+
const composer = parseFloat(getComputedStyle(host).getPropertyValue('--dsh-composer-height')) || 152;
|
|
265
|
+
const region = host.getBoundingClientRect();
|
|
266
|
+
const box = card.getBoundingClientRect();
|
|
267
|
+
const top = region.top + 16;
|
|
268
|
+
const bottom = region.bottom - composer - 16;
|
|
269
|
+
const delta = box.top < top ? box.top - top : box.bottom > bottom ? Math.min(box.bottom - bottom, box.top - top) : 0;
|
|
270
|
+
if (Math.abs(delta) > 1)
|
|
271
|
+
host.scrollTo({ top: Math.max(0, host.scrollTop + delta), behavior: motion ? 'smooth' : 'instant' });
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
if (!changed || !motion || from < 1 || Math.abs(target - from) < 1) {
|
|
275
|
+
lastHeight.current = target;
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
// max-height otherwise clamps the very first collapse frame to the new cap.
|
|
279
|
+
port.style.maxHeight = 'none';
|
|
280
|
+
const animation = port.animate([{ height: `${from}px` }, { height: `${target}px` }], { duration: 300, easing: EASING, fill: 'both' });
|
|
281
|
+
resize.current = animation;
|
|
282
|
+
const restore = () => {
|
|
283
|
+
// `max-height` was cleared so the first frame could exceed the old cap; it has
|
|
284
|
+
// to come back even if the animation never reports finishing, or the card keeps
|
|
285
|
+
// the inline styles the animation was driving.
|
|
286
|
+
port.style.maxHeight = '';
|
|
287
|
+
port.style.height = '';
|
|
288
|
+
lastHeight.current = port.clientHeight;
|
|
289
|
+
};
|
|
290
|
+
let settled = false;
|
|
291
|
+
const settle = () => {
|
|
292
|
+
if (settled)
|
|
293
|
+
return;
|
|
294
|
+
settled = true;
|
|
295
|
+
if (resize.current === animation)
|
|
296
|
+
resize.current = null;
|
|
297
|
+
animation.cancel();
|
|
298
|
+
restore();
|
|
299
|
+
};
|
|
300
|
+
animation.onfinish = settle;
|
|
301
|
+
// `fill: 'both'` holds whichever keyframe the animation stopped on, so a run that
|
|
302
|
+
// never finishes — cancelled by a re-run, unmounted, or skipped by the compositor —
|
|
303
|
+
// would leave the card at the previous height with its inline styles still
|
|
304
|
+
// overridden. Restore on a deadline too.
|
|
305
|
+
const deadline = window.setTimeout(settle, 300 + 240);
|
|
306
|
+
return () => { window.clearTimeout(deadline); };
|
|
307
|
+
}, [expanded, motion, selected]);
|
|
308
|
+
useEffect(() => () => resize.current?.cancel(), []);
|
|
309
|
+
const toggleReading = () => {
|
|
310
|
+
// Resize the same transcript without changing follow intent or position.
|
|
311
|
+
// Wheel, selection and viewport focus still explicitly pause following.
|
|
312
|
+
onRead();
|
|
313
|
+
setExpanded(value => !value);
|
|
314
|
+
};
|
|
315
|
+
return _jsxs("div", { className: css.reasonCard, "data-reader-reasoning-card": true, "data-reader-anchor": true, "data-expanded": expanded, "data-following": allowed, "data-overflow": overflow, "data-ud-motion": "reader-reasoning-size", children: [_jsxs("div", { className: css.reasonHeading, "data-reader-reasoning-heading": true, "data-ud-check": "reasoning-identity", children: [_jsx("span", { className: css.reasonLabel, "data-reader-reasoning-label": true, children: "\u601D\u8003" }), _jsxs("span", { children: ["\u6B65\u9AA4 ", step] })] }), _jsx("div", { ref: viewport, id: controls, className: css.reasonViewport, "data-reader-reasoning-scroll": true, "data-edges": edges, "data-ud-motion": "reader-reasoning-scroll", role: "region", "aria-label": `步骤 ${step} 的思考${overflow ? ',可滚动阅读' : ''}`, tabIndex: overflow ? 0 : undefined, onPointerDown: pause, onFocus: pause, children: _jsx("div", { ref: track, className: css.reasonTrack, "data-reader-reasoning-track": true, children: _jsx("div", { ref: content, className: css.reasonText, "data-reader-reasoning-text": true, children: children }) }) }), (overflow || expanded) && _jsxs("div", { className: css.reasonFooter, "data-ud-check": "reasoning-controls", children: [active && motion ? _jsxs("button", { type: "button", className: css.reasonAction, disabled: selected, "aria-controls": controls, "aria-label": following ? '暂停自动跟随思考' : '继续跟随最新思考', title: selected ? '取消文字选择后可继续跟随' : undefined, onClick: () => { if (following)
|
|
316
|
+
pause();
|
|
317
|
+
else {
|
|
318
|
+
onRead();
|
|
319
|
+
setFollowing(true);
|
|
320
|
+
} }, children: [_jsx("svg", { width: "12", height: "12", viewBox: "0 0 16 16", "aria-hidden": "true", children: following ? _jsx("path", { d: "M5.5 4v8m5-8v8" }) : _jsx("path", { d: "M8 3v10m-4-4 4 4 4-4" }) }), following ? '暂停跟随' : '跟随最新'] }) : _jsx("span", { className: css.reasonCaption, children: expanded ? '手动阅读' : '可滚动阅读' }), _jsxs("button", { type: "button", className: css.reasonAction, "aria-expanded": expanded, "aria-controls": controls, "aria-label": expanded ? '收起完整思考' : '展开阅读完整思考', onClick: toggleReading, children: [expanded ? '收起' : '展开阅读', _jsx("svg", { width: "12", height: "12", viewBox: "0 0 16 16", "aria-hidden": "true", children: expanded ? _jsx("path", { d: "m4 10 4-4 4 4" }) : _jsx("path", { d: "m4 6 4 4 4-4" }) })] })] })] });
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=ReasoningCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReasoningCard.js","sourceRoot":"","sources":["../../../src/client/ReasoningCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type FoldIntensity } from './fold-intensity.js';
|
|
2
|
+
import { type DeliverableOpenMode } from './open-file.js';
|
|
3
|
+
import { type SettingsCopy, type SettingsCopyKey } from './settings-copy.js';
|
|
4
|
+
import { type SkillStatusProbe } from './skill-status.js';
|
|
5
|
+
export interface ReaderPrefsSnapshot {
|
|
6
|
+
deliverableOpenMode?: DeliverableOpenMode;
|
|
7
|
+
frostedGlass?: boolean;
|
|
8
|
+
bubbles?: boolean;
|
|
9
|
+
foldIntensity?: FoldIntensity;
|
|
10
|
+
autoFold?: boolean;
|
|
11
|
+
processOnly?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface OpenPrefs {
|
|
14
|
+
getSnapshot: () => ReaderPrefsSnapshot;
|
|
15
|
+
subscribe: (fn: () => void) => () => void;
|
|
16
|
+
actions: {
|
|
17
|
+
setDeliverableOpenMode: (value: DeliverableOpenMode) => void;
|
|
18
|
+
setFrostedGlass: (value: boolean) => void;
|
|
19
|
+
setBubbles?: (value: boolean) => void;
|
|
20
|
+
setFoldIntensity?: (value: FoldIntensity) => void;
|
|
21
|
+
setAutoFold?: (value: boolean) => void;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface BetterDisplaySettingsInjected {
|
|
25
|
+
prefs: OpenPrefs;
|
|
26
|
+
copy?: SettingsCopy;
|
|
27
|
+
languageTag?: string;
|
|
28
|
+
checkSkill: SkillStatusProbe;
|
|
29
|
+
}
|
|
30
|
+
type SettingsProps = BetterDisplaySettingsInjected & {
|
|
31
|
+
/** Official settings.section owner share; unused here. */
|
|
32
|
+
close?: () => void;
|
|
33
|
+
t?: (key: SettingsCopyKey) => string;
|
|
34
|
+
};
|
|
35
|
+
export declare function SettingsSection(props: SettingsProps): import("react").JSX.Element;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=SettingsSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsSection.d.ts","sourceRoot":"","sources":["../../../src/client/SettingsSection.tsx"],"names":[],"mappings":"AACA,OAAO,EAA8C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAmB,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAkF,KAAK,gBAAgB,EAA4B,MAAM,mBAAmB,CAAC;AAGpK,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAC1C,OAAO,EAAE;QACP,sBAAsB,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;QAC7D,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAC1C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;QAClD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,KAAK,aAAa,GAAG,6BAA6B,GAAG;IACnD,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,CAAC;CACtC,CAAC;AAoBF,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,+BAsInD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useState, useSyncExternalStore } from 'react';
|
|
3
|
+
import { bubblesOf, frostedGlassOf } from './fold-intensity.js';
|
|
4
|
+
import { deliverableOpenModeOf } from './open-file.js';
|
|
5
|
+
import { settingsCopyFor } from './settings-copy.js';
|
|
6
|
+
import { CONVENTIONAL_SKILL_ROOTS, detectGenerativeMcpappsSkill, shortestInstallCommand } from './skill-status.js';
|
|
7
|
+
import css from './SettingsSection.module.css';
|
|
8
|
+
function text(props, copy, key) {
|
|
9
|
+
if (typeof props.t === 'function') {
|
|
10
|
+
try {
|
|
11
|
+
const value = props.t(key);
|
|
12
|
+
if (typeof value === 'string' && value.length > 0 && value !== key)
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
// Fall through to the bundled dictionaries.
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return copy[key];
|
|
20
|
+
}
|
|
21
|
+
const FOLD_STOPS = [
|
|
22
|
+
{ value: 0, key: 'foldNone' },
|
|
23
|
+
{ value: 1, key: 'foldStandard' },
|
|
24
|
+
{ value: 2, key: 'foldSummary' },
|
|
25
|
+
];
|
|
26
|
+
export function SettingsSection(props) {
|
|
27
|
+
const copy = props.copy ?? settingsCopyFor(props.languageTag);
|
|
28
|
+
const snap = useSyncExternalStore(props.prefs.subscribe, () => props.prefs.getSnapshot() ?? {}, () => ({}));
|
|
29
|
+
const mode = deliverableOpenModeOf(snap.deliverableOpenMode);
|
|
30
|
+
const glass = frostedGlassOf(snap);
|
|
31
|
+
const bubbles = bubblesOf(snap);
|
|
32
|
+
const autoFold = snap.autoFold !== false && snap.foldIntensity !== 0;
|
|
33
|
+
const setMode = (value) => {
|
|
34
|
+
props.prefs.actions.setDeliverableOpenMode(value);
|
|
35
|
+
};
|
|
36
|
+
const on = mode === 'sidebar';
|
|
37
|
+
const [skill, setSkill] = useState();
|
|
38
|
+
const [checking, setChecking] = useState(false);
|
|
39
|
+
const recheck = useCallback(async () => {
|
|
40
|
+
setChecking(true);
|
|
41
|
+
try {
|
|
42
|
+
setSkill(await detectGenerativeMcpappsSkill(props.checkSkill));
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
setSkill({
|
|
46
|
+
name: 'generative-mcpapps',
|
|
47
|
+
installed: false,
|
|
48
|
+
via: null,
|
|
49
|
+
roots: [],
|
|
50
|
+
hostReached: false,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
setChecking(false);
|
|
55
|
+
}
|
|
56
|
+
}, [props.checkSkill]);
|
|
57
|
+
useEffect(() => { void recheck(); }, [recheck]);
|
|
58
|
+
return (_jsxs("div", { className: css.section, "data-better-display-settings": true, children: [_jsxs("div", { className: css.row, children: [_jsxs("div", { className: css.rowText, children: [_jsx("div", { className: css.title, children: text(props, copy, 'openTitle') }), _jsx("div", { className: css.desc, children: text(props, copy, 'openDescription') })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": on, className: css.switch, "data-on": on || undefined, "data-better-display-open-mode": mode, onClick: () => { setMode(on ? 'external' : 'sidebar'); } })] }), _jsxs("div", { className: css.row, children: [_jsxs("div", { className: css.rowText, children: [_jsx("div", { className: css.title, children: text(props, copy, 'glassTitle') }), _jsx("div", { className: css.desc, children: text(props, copy, 'glassDescription') })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": glass, className: css.switch, "data-on": glass || undefined, "data-better-display-glass": glass ? 'on' : 'off', onClick: () => { props.prefs.actions.setFrostedGlass(!glass); } })] }), _jsxs("div", { className: css.row, children: [_jsxs("div", { className: css.rowText, children: [_jsx("div", { className: css.title, children: text(props, copy, 'bubbleTitle') }), _jsx("div", { className: css.desc, children: text(props, copy, 'bubbleDescription') })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": bubbles, className: css.switch, "data-on": bubbles || undefined, "data-better-display-bubbles": bubbles ? 'on' : 'off', onClick: () => { props.prefs.actions.setBubbles?.(!bubbles); } })] }), _jsxs("div", { className: css.row, children: [_jsxs("div", { className: css.rowText, children: [_jsx("div", { className: css.title, children: text(props, copy, 'foldTitle') }), _jsx("div", { className: css.desc, children: text(props, copy, 'foldDescription') })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": autoFold, className: css.switch, "data-on": autoFold || undefined, "data-better-display-auto-fold": autoFold ? 'on' : 'off', onClick: () => {
|
|
59
|
+
props.prefs.actions.setAutoFold?.(!autoFold);
|
|
60
|
+
props.prefs.actions.setFoldIntensity?.(!autoFold ? 1 : 0);
|
|
61
|
+
} })] }), _jsxs("section", { className: css.block, "data-better-display-skill": skill?.installed ? 'installed' : 'missing', children: [_jsx("div", { className: css.title, children: text(props, copy, 'skillTitle') }), _jsx("div", { className: css.status, children: _jsx("span", { className: css.badge, "data-ok": skill?.installed || undefined, children: skill?.installed ? text(props, copy, 'skillInstalled') : text(props, copy, 'skillMissing') }) }), _jsx("p", { className: css.desc, children: text(props, copy, 'skillPurpose') }), _jsx("p", { className: css.desc, children: text(props, copy, 'skillPluginNote') }), skill && !skill.installed ? (_jsxs(_Fragment, { children: [_jsx("p", { className: css.desc, children: skill.hostReached ? text(props, copy, 'skillInstall') : text(props, copy, 'skillUnavailable') }), _jsx("pre", { className: css.pre, children: shortestInstallCommand() }), _jsx("ul", { className: css.roots, "data-better-display-skill-roots": true, children: CONVENTIONAL_SKILL_ROOTS.map(root => (_jsx("li", { children: root }, root))) })] })) : null, _jsx("div", { className: css.actions, children: _jsx("button", { type: "button", className: css.button, disabled: checking, onClick: () => { void recheck(); }, children: checking ? text(props, copy, 'skillChecking') : text(props, copy, 'skillRecheck') }) })] })] }));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=SettingsSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsSection.js","sourceRoot":"","sources":["../../../src/client/SettingsSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** Publish real lane geometry; wrapped labels must not collide with statistics. */
|
|
3
|
+
export declare function StickyLane({ kind, className, children }: {
|
|
4
|
+
kind: 'toolbar' | 'status';
|
|
5
|
+
className: string;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=StickyLane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StickyLane.d.ts","sourceRoot":"","sources":["../../../src/client/StickyLane.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BA6B/H"}
|