From e5a05e3ac426237c78961b1020a07e248636f82a Mon Sep 17 00:00:00 2001 From: Variet Worker Date: Fri, 13 Mar 2026 09:46:56 +0900 Subject: [PATCH] =?UTF-8?q?feat(bot/extension/watcher):=20Discord=20?= =?UTF-8?q?=EC=95=84=ED=8B=B0=ED=8C=A9=ED=8A=B8=20=EC=95=8C=EB=A6=BC=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0=20=E2=80=94=20=ED=8C=8C=EC=9D=BC=20=EC=B2=A8?= =?UTF-8?q?=EB=B6=80=20=EC=A0=84=EC=86=A1,=20truncation=20=ED=99=95?= =?UTF-8?q?=EB=8C=80,=20=EB=8F=99=EC=A0=81=20.md=20=EA=B0=90=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.py | 130 ++++++++++++++++++++++++--------- bridge.py | 9 ++- collector.py | 8 +- config.py | 3 + docs/devlog/2026-03-13.md | 5 ++ extension/out/extension.js | 69 +++++++++++++++-- extension/out/extension.js.map | 2 +- extension/src/extension.ts | 67 +++++++++++++++-- gateway.py | 10 ++- watcher.py | 20 ++++- 10 files changed, 266 insertions(+), 57 deletions(-) create mode 100644 docs/devlog/2026-03-13.md diff --git a/bot.py b/bot.py index 6082db1..a5c431f 100644 --- a/bot.py +++ b/bot.py @@ -491,34 +491,49 @@ class GravityBot(commands.Bot): event_label = "생성" if event.event_type == EventType.FILE_CREATED else "업데이트" full_content = event.content.strip() - CHUNK_SIZE = 4000 # Discord embed desc limit is 4096 + if not full_content: + full_content = "(빈 파일)" - # Split into chunks for long content - chunks = [] - while full_content: - chunks.append(full_content[:CHUNK_SIZE]) - full_content = full_content[CHUNK_SIZE:] + FILE_ATTACH_THRESHOLD = 4000 # Above this, send as file attachment - if not chunks: - chunks = ["(빈 파일)"] + if len(full_content) > FILE_ATTACH_THRESHOLD: + # Long content → summary embed + file attachment + # Extract first meaningful paragraph for summary + summary_lines = [] + for line in full_content.split('\n'): + if line.strip(): + summary_lines.append(line.strip()) + if len('\n'.join(summary_lines)) > 300: + break + summary = '\n'.join(summary_lines[:5]) + if len(summary) > 500: + summary = summary[:500] + '...' - # First chunk with title - embed = discord.Embed( - title=f"{label} ({event_label}됨)", - description=chunks[0], - color=discord.Color.blue(), - timestamp=datetime.now(timezone.utc), - ) - embed.set_footer(text=f"Session: {event.conversation_id[:8]}") - await channel.send(embed=embed) - - # Additional chunks if content is long - for i, chunk in enumerate(chunks[1:], 2): embed = discord.Embed( - title=f"{label} (계속 {i}/{len(chunks)})", - description=chunk, + title=f"{label} ({event_label}됨)", + description=f"{summary}\n\n📎 *전체 내용은 첨부 파일을 확인하세요* ({len(full_content):,}자)", color=discord.Color.blue(), + timestamp=datetime.now(timezone.utc), ) + embed.set_footer(text=f"Session: {event.conversation_id[:8]}") + + # Create in-memory file attachment + import io + file_bytes = full_content.encode('utf-8') + discord_file = discord.File( + io.BytesIO(file_bytes), + filename=event.file_name, + ) + await channel.send(embed=embed, file=discord_file) + else: + # Short content → inline embed (original behavior) + embed = discord.Embed( + title=f"{label} ({event_label}됨)", + description=full_content, + color=discord.Color.blue(), + timestamp=datetime.now(timezone.utc), + ) + embed.set_footer(text=f"Session: {event.conversation_id[:8]}") await channel.send(embed=embed) # ─── Approval Scanner ──────────────────────────────────────────── @@ -823,31 +838,80 @@ class GravityBot(commands.Bot): data = json.loads(f.read_text(encoding="utf-8-sig")) project = data.get("project_name", Config.PROJECT_NAME) content = data.get("content", "") + attached_files = data.get("attached_files", []) - if content: + if content or attached_files: channel = await self._get_channel(project) if channel: - # Split long content - CHUNK = 4000 - chunks = [content[i:i+CHUNK] for i in range(0, len(content), CHUNK)] - for i, chunk in enumerate(chunks): - title = "💬 AI 대화 내용" if i == 0 else f"💬 (계속 {i+1}/{len(chunks)})" + import io + + # ── Send attached files (from Extension's writeChatSnapshotWithFiles) ── + discord_files = [] + for af in attached_files: + af_name = af.get("name", "document.md") + af_content = af.get("content", "") + if af_content: + discord_files.append(discord.File( + io.BytesIO(af_content.encode("utf-8")), + filename=af_name, + )) + + FILE_ATTACH_THRESHOLD = 4000 + if len(content) > FILE_ATTACH_THRESHOLD: + # Long chat content → summary embed + file attachment + summary = content[:500].rsplit('\n', 1)[0] embed = discord.Embed( - title=title, - description=chunk, + title="💬 AI 대화 내용", + description=f"{summary}\n\n📎 *전체 내용은 첨부 파일 참조* ({len(content):,}자)", + color=discord.Color.purple(), + timestamp=datetime.now(timezone.utc), + ) + # Add content itself as file attachment + discord_files.append(discord.File( + io.BytesIO(content.encode("utf-8")), + filename="chat_message.md", + )) + try: + await channel.send(embed=embed, files=discord_files) + except discord.NotFound: + logger.warning(f"Channel deleted for {project}, re-creating...") + self.project_channels.pop(project, None) + channel = await self._get_channel(project) + if channel: + # Re-create files (discord.File consumed after send) + discord_files2 = [] + for af in attached_files: + af_name = af.get("name", "document.md") + af_content = af.get("content", "") + if af_content: + discord_files2.append(discord.File( + io.BytesIO(af_content.encode("utf-8")), + filename=af_name, + )) + discord_files2.append(discord.File( + io.BytesIO(content.encode("utf-8")), + filename="chat_message.md", + )) + await channel.send(embed=embed, files=discord_files2) + else: + # Short content → inline embed (original) + embed = discord.Embed( + title="💬 AI 대화 내용", + description=content, color=discord.Color.purple(), timestamp=datetime.now(timezone.utc), ) try: - await channel.send(embed=embed) + await channel.send( + embed=embed, + files=discord_files if discord_files else discord.utils.MISSING, + ) except discord.NotFound: - # Channel was deleted — invalidate cache and retry once logger.warning(f"Channel deleted for {project}, re-creating...") self.project_channels.pop(project, None) channel = await self._get_channel(project) if channel: await channel.send(embed=embed) - break f.unlink() # Cleanup except (json.JSONDecodeError, OSError) as e: diff --git a/bridge.py b/bridge.py index bb56334..0bc5d92 100644 --- a/bridge.py +++ b/bridge.py @@ -333,10 +333,11 @@ class RemoteTransport(BridgeTransport): "conversation_id": conv_id, "project_name": project, }) - async def asend_chat(self, project: str, content: str) -> None: - await self._arequest_retry("POST", "/api/chat", { - "project_name": project, "content": content, - }) + async def asend_chat(self, project: str, content: str, *, attached_files: list[dict] | None = None) -> None: + payload: dict = {"project_name": project, "content": content} + if attached_files: + payload["attached_files"] = attached_files + await self._arequest_retry("POST", "/api/chat", payload) async def asend_event(self, event_data: dict) -> None: await self._arequest_retry("POST", "/api/event", event_data) diff --git a/collector.py b/collector.py index ba1b2e6..091d16c 100644 --- a/collector.py +++ b/collector.py @@ -308,9 +308,11 @@ class CollectorBridge: data = json.loads(f.read_text(encoding="utf-8-sig")) project = data.get("project_name", self.project_name) content = data.get("content", "") - if content: - await self.remote.asend_chat(project, content) - logger.info(f"[COLLECTOR] → Gateway: chat snapshot len={len(content)}") + attached_files = data.get("attached_files", []) + if content or attached_files: + await self.remote.asend_chat(project, content, attached_files=attached_files) + af_info = f" +{len(attached_files)} files" if attached_files else "" + logger.info(f"[COLLECTOR] → Gateway: chat snapshot len={len(content)}{af_info}") f.unlink() # Cleanup after forwarding except (json.JSONDecodeError, OSError) as e: logger.warning(f"[COLLECTOR] bad chat snapshot {f.name}: {e}") diff --git a/config.py b/config.py index cf90d8d..2d3c607 100644 --- a/config.py +++ b/config.py @@ -32,6 +32,9 @@ class Config: "walkthrough.md", } + # Extension-based monitoring: any file with these extensions in brain/{conv}/ is watched + WATCHED_EXTENSIONS: set = {".md"} + # Discord message limits DISCORD_MSG_LIMIT: int = 2000 DISCORD_EMBED_DESC_LIMIT: int = 4096 diff --git a/docs/devlog/2026-03-13.md b/docs/devlog/2026-03-13.md new file mode 100644 index 0000000..54606c7 --- /dev/null +++ b/docs/devlog/2026-03-13.md @@ -0,0 +1,5 @@ +# Devlog — 2026-03-13 + +| # | 시간 | 작업 | 커밋 | 상태 | +|---|------|------|------|------| +| 001 | 08:56 | Discord 아티팩트 알림 개선 — truncation 확대, 파일 첨부 전송, 동적 .md 감시 | `pending` | ✅ | diff --git a/extension/out/extension.js b/extension/out/extension.js index d72a35c..fbd3fb4 100644 --- a/extension/out/extension.js +++ b/extension/out/extension.js @@ -149,6 +149,31 @@ function writeChatSnapshot(text) { console.log(`Gravity Bridge: snapshot write error: ${e.message}`); } } +function writeChatSnapshotWithFiles(text, files) { + try { + const snapshotDir = path.join(bridgePath, 'chat_snapshots'); + if (!fs.existsSync(snapshotDir)) { + fs.mkdirSync(snapshotDir, { recursive: true }); + } + const id = Date.now().toString(); + const data = { + id, + project_name: projectName, + content: text, + attached_files: files, + timestamp: Date.now() / 1000, + }; + const filePath = path.join(snapshotDir, `${id}.json`); + fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf-8'); + logToFile(`[SNAPSHOT] written ${id}.json (${text.length} chars, ${files.length} files)`); + if (activeSessionId) { + writeRegistration(activeSessionId); + } + } + catch (e) { + console.log(`Gravity Bridge: snapshot+files write error: ${e.message}`); + } +} // ─── Command File Watcher (Discord → Antigravity) ─── function processCommandFile(filePath) { try { @@ -1821,8 +1846,8 @@ function setupMonitor() { if (text.length > 10) { lastResponseCaptureStep = actualIdx; logToFile(`[RT-CAPTURE] step=${actualIdx} (${text.length} chars)`); - const truncated = text.length > 1800 - ? text.substring(0, 1800) + '\n\n_(이하 생략)_' + const truncated = text.length > 3500 + ? text.substring(0, 3500) + '\n\n_(이하 생략)_' : text; writeChatSnapshot(`💬 **AI 응답**\n\n${truncated}`); break; @@ -2129,7 +2154,12 @@ function setupMonitor() { if (notifyStep) { if (notifyStep.stepIndex > lastNotifyStepIndex) { lastNotifyStepIndex = notifyStep.stepIndex; - const content = notifyStep.step?.notifyUser?.notificationContent || ''; + const notifyData = notifyStep.step?.notifyUser || {}; + const content = notifyData.notificationContent || ''; + // Log full structure once for schema discovery + if (pollCount <= 3 || notifyStep.stepIndex <= lastNotifyStepIndex + 1) { + logToFile(`[NOTIFY-STEP] keys=[${Object.keys(notifyData).join(',')}]`); + } logToFile(`[NOTIFY-STEP] NEW step=${notifyStep.stepIndex} content=${content.length} chars`); // Filter: relay all non-empty notifications if (content.length > 10) { @@ -2138,6 +2168,35 @@ function setupMonitor() { else if (content.length > 0) { logToFile(`[NOTIFY-STEP] skipped (too short: ${content.length} chars): ${content}`); } + // ── PathsToReview: read and relay referenced artifact files ── + const pathsToReview = notifyData.pathsToReview + || notifyData.paths_to_review + || notifyData.filePaths + || []; + if (pathsToReview.length > 0) { + logToFile(`[NOTIFY-STEP] PathsToReview: ${pathsToReview.length} files`); + for (const filePath of pathsToReview.slice(0, 5)) { + try { + if (fs.existsSync(filePath)) { + const fileContent = fs.readFileSync(filePath, 'utf-8'); + const fileName = path.basename(filePath); + const MAX_ARTIFACT_SIZE = 8000; + const truncatedContent = fileContent.length > MAX_ARTIFACT_SIZE + ? fileContent.substring(0, MAX_ARTIFACT_SIZE) + '\n\n_(이하 생략)_' + : fileContent; + // Write as snapshot with attached_files for bot to send as Discord file + writeChatSnapshotWithFiles(`📎 **문서: ${fileName}** (${Math.round(fileContent.length / 1024)}KB)`, [{ name: fileName, content: truncatedContent }]); + logToFile(`[NOTIFY-STEP] relayed artifact: ${fileName} (${fileContent.length} chars)`); + } + else { + logToFile(`[NOTIFY-STEP] artifact not found: ${filePath}`); + } + } + catch (e) { + logToFile(`[NOTIFY-STEP] artifact read error: ${e.message}`); + } + } + } } } else if (pollCount <= 5) { @@ -2277,8 +2336,8 @@ function setupMonitor() { textContent = typeof s.rawOutput === 'string' ? s.rawOutput : JSON.stringify(s.rawOutput); if (textContent.length > 10) { logToFile(`[RESPONSE-CAPTURE] found ${sType} (${textContent.length} chars) at step ${offset + ri}`); - const truncated = textContent.length > 1800 - ? textContent.substring(0, 1800) + '\n\n_(이하 생략)_' + const truncated = textContent.length > 3500 + ? textContent.substring(0, 3500) + '\n\n_(이하 생략)_' : textContent; writeChatSnapshot(`💬 **AI 응답**\n\n${truncated}`); break; diff --git a/extension/out/extension.js.map b/extension/out/extension.js.map index ff7bf77..c1e6231 100644 --- a/extension/out/extension.js.map +++ b/extension/out/extension.js.map @@ -1 +1 @@ -{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAw8FH,4BA2IC;AAED,gCAcC;AAjmGD,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,kDAAoC;AACpC,+CAAiC;AAEjC,oDAAoD;AACpD,SAAS,SAAS,CAAC,GAAW;IAC1B,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,2FAA2F;IAC3F,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC;QACD,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACvD,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED,8CAA8C;AAC9C,IAAI,cAAmB,CAAC;AACxB,IAAI,GAAQ,CAAC;AAEb,IAAI,SAA+B,CAAC;AACpC,IAAI,UAAkB,CAAC;AACvB,IAAI,WAAmB,CAAC;AACxB,IAAI,YAAY,GAAW,EAAE,CAAC,CAAE,kEAAkE;AAClG,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,kBAAkB,GAAG,KAAK,CAAC,CAAE,iCAAiC;AAClE,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAE,uDAAuD;AACnF,IAAI,OAAO,GAAwB,IAAI,CAAC;AACxC,IAAI,eAAe,GAAwB,IAAI,CAAC;AAEhD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AAEzC,4BAA4B;AAE5B,SAAS,iBAAiB;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAS,aAAa,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QAAC,OAAO,UAAU,CAAC;IAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAClD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE;gBACvD,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI;aACxC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACxD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,0BAA0B;AAE1B,SAAS,eAAe;IACpB,MAAM,IAAI,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;IACpE,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAC5B,2DAA2D;AAC3D,MAAM,sBAAsB,GAAwB,IAAI,GAAG,EAAE,CAAC;AAE9D,SAAS,iBAAiB,CAAC,IAAY;IACnC,IAAI,CAAC;QACD,4EAA4E;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QACpF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG;YACT,EAAE;YACF,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;SAC/B,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,MAAM,aAAa,EAAE,OAAO,CAAC,CAAC;QACzF,SAAS,CAAC,sBAAsB,EAAE,UAAU,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;QAClE,SAAS,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3D,wFAAwF;QACxF,IAAI,eAAe,EAAE,CAAC;YAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAAC,CAAC;IAChE,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY,EAAE,KAA6C;IAC3F,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QACpF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG;YACT,EAAE;YACF,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,KAAK;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;SAC/B,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACnE,SAAS,CAAC,sBAAsB,EAAE,UAAU,IAAI,CAAC,MAAM,WAAW,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;QACzF,IAAI,eAAe,EAAE,CAAC;YAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAAC,CAAC;IAChE,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC;AAGD,uDAAuD;AAEvD,SAAS,kBAAkB,CAAC,QAAgB;IACxC,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEhC,iCAAiC;QACjC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,OAAO;QACX,CAAC;QAED,qCAAqC;QACrC,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,CAAC,YAAY,cAAc,WAAW,IAAI,CAAC,CAAC;YACpG,OAAO;QACX,CAAC;QAED,yCAAyC;QACzC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QAEhC,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,aAAa,MAAM,GAAG,CAAC,CAAC;QAE3E,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,EAAE,CAAC;YAC9B,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CACtC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,OAAO,EAAE,CAAC,CAC7D,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;YACpC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CACtC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,OAAO,EAAE,CAAC,CAC5D,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,KAAK,kBAAkB,IAAI,GAAG,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CACjD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,OAAO,EAAE,CAAC,CACtE,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,2BAA2B;YAC3B,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC;iBAC9D,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAClD,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,2BAA2B;YAC3B,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtB,kBAAkB,GAAG,IAAI,CAAC;YAC9B,CAAC;iBAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC9B,kBAAkB,GAAG,KAAK,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,+BAA+B;gBAC/B,kBAAkB,GAAG,CAAC,kBAAkB,CAAC;YAC7C,CAAC;YACD,SAAS,CAAC,iCAAiC,kBAAkB,EAAE,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,IAAI,EAAE,CAAC;YACd,oEAAoE;YACpE,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,oCAAoC,EAAE,IAAI,CAAC;iBACrE,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,EACnG,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB;IACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEjD,yBAAyB;IACzB,IAAI,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,CAAC;IAEX,sBAAsB;IACtB,IAAI,CAAC;QACD,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACnD,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACvC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpB,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAClD,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,MAAM,CAAC,CAAC,CAAC;AACf,CAAC;AAED,0BAA0B;AAE1B,KAAK,UAAU,OAAO,CAAC,OAAgC;IACnD,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,gDAAgD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC;QACD,GAAG,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAEjD,0EAA0E;QAC1E,qEAAqE;QACrE,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,eAAe,EAAE,CAAC;QAExB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,eAAe;IAC1B,IAAI,CAAC,GAAG,EAAE,EAAE;QAAE,OAAO;IACrB,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE7C,wFAAwF;QACxF,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAE7E,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,qDAAqD;QACrD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACpB,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,sMAAsM,CAAC;YACxN,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,SAAS,CAC1B,6CAA6C,OAAO,EAAE,EACtD,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAC1D,CAAC;YACF,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,gDAAgD;QAC5D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,CAAC,6BAA6B;QAE5D,4EAA4E;QAC5E,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,0CAA0C;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,SAAS,CAAC,wCAAwC,IAAI,MAAM,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC;YACvF,OAAO;QACX,CAAC;QAED,gDAAgD;QAChD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAEnD,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9B,SAAS,CAAC,gDAAgD,CAAC,CAAC;YAC5D,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAE1C,4CAA4C;QAC5C,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,SAAS,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO;QACX,CAAC;QAED,uDAAuD;QACvD,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAC1B,iDAAiD,GAAG,GAAG,EACvD,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CACzD,CAAC;YACF,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACL,yDAAyD;YACzD,SAAS,CAAC,2CAA2C,OAAO,YAAY,GAAG,EAAE,CAAC,CAAC;YAC/E,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAChD,SAAS,CAAC,8CAA8C,OAAO,UAAU,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC;YAC7F,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACD,MAAM,EAAE,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;wBAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CACnB,GAAG,KAAK,gBAAgB,IAAI,6DAA6D,EACzF;4BACI,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,EAAE;4BACpE,kBAAkB,EAAE,KAAK;4BACzB,OAAO,EAAE,IAAI;yBAChB,EACD,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAC1E,CAAC;wBACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;wBACtC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAChB,GAAG,CAAC,GAAG,EAAE,CAAC;oBACd,CAAC,CAAC,CAAC;oBAEH,IAAI,EAAE,EAAE,CAAC;wBACL,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;wBAC9C,SAAS,CAAC,8CAA8C,IAAI,IAAI,KAAK,UAAU,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC;wBACnG,OAAO;oBACX,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,uCAAuC,OAAO,UAAU,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,SAAS,CAAC,mBAAmB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;AACL,CAAC;AAED,uDAAuD;AAEvD,KAAK,UAAU,qBAAqB;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACrD,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAElF,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,uBAAuB,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAExE,gDAAgD;QAChD,IAAI,CAAC;YACD,WAAW,CAAC,QAAQ,CAAC;gBACjB,EAAE,EAAE,uBAAuB;gBAC3B,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,uBAAuB;aACnC,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;QAEpC,sDAAsD;QACtD,MAAM,UAAU,GAAG,8BAA8B,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAI,WAAmB,CAAC,QAAQ,CAAC;QAC9C,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YACzD,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC;gBAAC,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,UAAU,GAAG,EAAE,CAAC;YAAC,CAAC;YACpE,MAAM,cAAc,GAAG,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC;YACtD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YACrD,SAAS,CAAC,+BAA+B,UAAU,UAAU,UAAU,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC7B,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAChC,SAAS,CAAC,oDAAoD,CAAC,CAAC;YACpE,CAAC;YAED,sDAAsD;YACtD,yEAAyE;YACzE,8DAA8D;YAC9D,oDAAoD;YACpD,wDAAwD;YACxD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3C,mFAAmF;YACnF,0EAA0E;YAC1E,kGAAkG;YAClG,+GAA+G;YAC/G,MAAM,aAAa,GAAG;gBAClB;oBACI,IAAI,EAAE,gBAAgB;oBACtB,cAAc,EAAE,4BAA4B,EAAG,0BAA0B;oBACzE,cAAc,EAAE,cAAc,EAAiB,iBAAiB;iBACnE;gBACD;oBACI,IAAI,EAAE,6BAA6B;oBACnC,cAAc,EAAE,yBAAyB,EAAM,0BAA0B;oBACzE,cAAc,EAAE,gBAAgB,EAAe,iBAAiB;iBACnE;aACJ,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;gBACtC,IAAI,CAAC;oBACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC3B,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,uBAAuB,CAAC,CAAC;wBAC1D,SAAS;oBACb,CAAC;oBACD,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAE7C,sDAAsD;oBACtD,qEAAqE;oBACrE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;2BACvB,IAAI,CAAC,MAAM,IAAI,GAAG;2BAClB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;2BAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBACxC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;wBAC3C,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,wBAAwB,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;oBACnF,CAAC;oBAED,yEAAyE;oBACzE,wEAAwE;oBACxE,yEAAyE;oBACzE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;oBACzE,MAAM,WAAW,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAEtE,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;wBAC3B,MAAM,MAAM,GAAG,SAAS;4BACpB,CAAC,CAAC,kBAAkB,IAAI,CAAC,MAAM,SAAS;4BACxC,CAAC,CAAC,uBAAuB,IAAI,CAAC,cAAc,GAAG,CAAC;wBACpD,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,aAAa,MAAM,EAAE,CAAC,CAAC;wBAExD,6BAA6B;wBAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC5B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;4BACnD,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG;mCACjB,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC;mCAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gCAC1C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gCAC3C,IAAI,GAAG,MAAM,CAAC;gCACd,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,gCAAgC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;4BAC/F,CAAC;iCAAM,CAAC;gCACJ,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,uCAAuC,CAAC,CAAC;gCAC1E,SAAS;4BACb,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,iEAAiE,CAAC,CAAC;4BACpG,SAAS;wBACb,CAAC;oBACL,CAAC;oBAED,+CAA+C;oBAC/C,8EAA8E;oBAC9E,0EAA0E;oBAC1E,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,CAAC;wBAC/E,IAAI,GAAG,IAAI,CAAC,OAAO,CACf,8BAA8B,EAC9B,iCAAiC,CACpC,CAAC;wBACF,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,mDAAmD,CAAC,CAAC;oBAC1F,CAAC;oBAED,uEAAuE;oBACvE,MAAM,cAAc,GAAG,yCAAyC,CAAC;oBACjE,MAAM,YAAY,GAAG,0CAA0C,CAAC;oBAChE,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;wBAChC,MAAM,KAAK,GAAG,IAAI,MAAM,CACpB,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;4BACjD,YAAY;4BACZ,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,CAClD,CAAC;wBACF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC/B,SAAS,CAAC,+CAA+C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1E,CAAC;oBAED,iCAAiC;oBACjC,MAAM,iBAAiB,GAAG,gDAAgD,CAAC;oBAC3E,MAAM,eAAe,GAAG,iDAAiD,CAAC;oBAE1E,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBACnC,MAAM,EAAE,GAAG,IAAI,MAAM,CACjB,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;4BAC3C,YAAY;4BACZ,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAC5C,CAAC;wBACF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAClB,GAAG,iBAAiB,eAAe,cAAc,gBAAgB,eAAe,EAAE,CAAC,CAAC;wBACxF,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,wBAAwB,CAAC,CAAC;oBAC/D,CAAC;yBAAM,CAAC;wBACJ,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EACzB,KAAK,iBAAiB,eAAe,cAAc,gBAAgB,eAAe,WAAW,CAAC,CAAC;wBACnG,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAC;oBAChE,CAAC;oBACD,wCAAwC;oBACxC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;wBAChG,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,qCAAqC,IAAI,CAAC,MAAM,0BAA0B,CAAC,CAAC;wBAC7G,SAAS;oBACb,CAAC;oBACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,SAAS,CAAC,cAAc,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;QACL,CAAC;QAED,8EAA8E;QAC9E,sBAAsB,EAAE,CAAC;QAEzB,IAAI,CAAC;YAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;QACjD,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAE7E,SAAS,CAAC,kDAAkD,UAAU,GAAG,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,uDAAuD,UAAU,GAAG,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,SAAS,CAAC,2BAA2B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;AACL,CAAC;AAED,4CAA4C;AAC5C,sEAAsE;AACtE,mFAAmF;AACnF,4FAA4F;AAE5F,SAAS,sBAAsB;IAC3B,IAAI,CAAC;QACD,iFAAiF;QACjF,MAAM,OAAO,GAAI,GAAG,EAAE,WAAmB,EAAE,QAAQ,CAAC;QACpD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YAC5D,SAAS,CAAC,+CAA+C,CAAC,CAAC;YAC3D,OAAO;QACX,CAAC;QACD,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/C,0EAA0E;QAC1E,8EAA8E;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,wCAAwC,eAAe,EAAE,CAAC,CAAC;YACrE,OAAO;QACX,CAAC;QAED,mCAAmC;QACnC,IAAI,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM;YAAE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACrB,SAAS,CAAC,iDAAiD,CAAC,CAAC;YAC7D,OAAO;QACX,CAAC;QAED,+EAA+E;QAC/E,mFAAmF;QACnF,8DAA8D;QAC9D,MAAM,YAAY,GAA2B;YACzC,mDAAmD,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC;YAC9F,gEAAgE,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,6BAA6B,CAAC;YACxH,oEAAoE,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iCAAiC,CAAC;SACnI,CAAC;QAEF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAEvC,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAE/F,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClC,SAAS,CAAC,uBAAuB,GAAG,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBACrH,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAC9B,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC/E,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,SAAS,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;AACL,CAAC;AAED,uEAAuE;AAEvE,IAAI,kBAAkB,GAAQ,IAAI,CAAC;AACnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAwC,CAAC;AAEzE,uEAAuE;AACvE,IAAI,YAAY,GAA+D,IAAI,CAAC;AACpF,IAAI,cAAc,GAAG,KAAK,CAAC,CAAC,oDAAoD;AAChF,IAAI,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC,wFAAwF;AACvH,IAAI,WAAW,GAAG,KAAK,CAAC,CAAC,8FAA8F;AAEvH,oFAAoF;AACpF,IAAI,oBAAoB,GAAG,KAAK,CAAC;AACjC,IAAI,iBAAiB,GAAQ,IAAI,CAAC;AAClC,IAAI,kBAAkB,GAA+B,EAAE,CAAC;AAExD,wEAAwE;AACxE,SAAS,oBAAoB,CAAC,IAAY;IACtC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,uBAAuB;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;gBACpD,oCAAoC;gBACpC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;gBAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;gBACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;gBAC9D,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAExE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;gBAEjD,8DAA8D;gBAC9D,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;oBACvD,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBACzC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACf,IAAI,CAAC;4BACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAE9B,0CAA0C;4BAC1C,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;4BACxC,MAAM,iBAAiB,GAAG,sFAAsF,CAAC;4BACjH,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC9B,SAAS,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;gCACtD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gCAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gCACvD,OAAO;4BACX,CAAC;4BACD,mEAAmE;4BACnE,qFAAqF;4BACrF,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCACrB,IAAI,CAAC,cAAc,IAAI,oBAAoB,IAAI,CAAC,EAAE,CAAC;oCAC/C,SAAS,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC;oCACtG,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oCAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oCACvD,OAAO;gCACX,CAAC;4BACL,CAAC;4BAED,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;4BACrD,qCAAqC;4BACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;4BACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;gCAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC9E,MAAM,OAAO,GAAwB;gCACjC,GAAG,IAAI;gCACP,UAAU,EAAE,GAAG;gCACf,eAAe,EAAE,eAAe,IAAI,EAAE;gCACtC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;gCAC5B,MAAM,EAAE,SAAS;gCACjB,YAAY,EAAE,WAAW;gCACzB,aAAa,EAAE,IAAI;gCACnB,MAAM,EAAE,cAAc;gCACtB,UAAU,EAAE,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;6BAC3E,CAAC;4BACF,+CAA+C;4BAC/C,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;4BACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCACjD,wEAAwE;gCACxE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gCACzB,IAAI,CAAC;oCACD,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;oCAC5F,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;wCAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;wCACjF,IAAI,QAAQ,CAAC,SAAS,KAAK,iBAAiB,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;+CACtE,QAAQ,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;4CAC3C,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;4CAChD,IAAI,GAAG,GAAG,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gDAC3B,SAAS,CAAC,8CAA8C,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;gDAC7E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gDAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;gDACxF,OAAO;4CACX,CAAC;wCACL,CAAC;oCACL,CAAC;gCACL,CAAC;gCAAC,MAAM,CAAC,CAAC,CAAC;gCAEX,OAAO,CAAC,OAAO,GAAG;oCACd,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE;oCAChC,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE;oCAC7C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;iCAC7B,CAAC;gCACF,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;gCACtC,oDAAoD;gCACpD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gCACzH,OAAO,CAAC,OAAO,GAAG,WAAW,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;4BACjE,CAAC;4BACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;4BACzF,SAAS,CAAC,2BAA2B,GAAG,SAAS,IAAI,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;4BACzJ,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;4BAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;wBAC3D,CAAC;wBAAC,OAAO,CAAM,EAAE,CAAC;4BACd,SAAS,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;4BAChD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;4BAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACtE,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChE,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;oBAClE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1B,IAAI,CAAC;4BACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;4BAC3D,SAAS,CAAC,uCAAuC,GAAG,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;4BAClF,kFAAkF;4BAClF,qDAAqD;4BACrD,UAAU,CAAC,GAAG,EAAE;gCACZ,IAAI,CAAC;oCAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gCAAC,CAAC;gCAAC,MAAM,CAAC,CAAC,CAAC;4BAC9C,CAAC,EAAE,IAAI,CAAC,CAAC;4BACT,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;4BAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClC,CAAC;wBAAC,MAAM,CAAC;4BACL,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;4BAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBACnE,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;wBAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACnE,CAAC;oBACD,OAAO;gBACX,CAAC;gBAED,0EAA0E;gBAC1E,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;oBAC5D,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC;wBAChE,MAAM,OAAO,GAAG,YAAY,CAAC;wBAC7B,YAAY,GAAG,IAAI,CAAC,CAAC,eAAe;wBACpC,SAAS,CAAC,kCAAkC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC9D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACxD,CAAC;yBAAM,CAAC;wBACJ,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO;gBACX,CAAC;gBAED,gEAAgE;gBAChE,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;oBAC3D,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,SAAS,CAAC,gEAAgE,CAAC,CAAC;oBAC5E,6CAA6C;oBAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5B,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;wBAClE,IAAI,iBAAiB,EAAE,CAAC;4BACpB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;4BAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAC/C,CAAC;6BAAM,CAAC;4BACJ,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;4BAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,2DAA2D,EAAE,CAAC,CAAC,CAAC;wBACzH,CAAC;oBACL,CAAC,EAAE,KAAK,CAAC,CAAC;oBACV,MAAM,MAAM,GAAG,CAAC,IAAS,EAAE,EAAE;wBACzB,YAAY,CAAC,OAAO,CAAC,CAAC;wBACtB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClC,CAAC,CAAC;oBACF,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAChC,OAAO;gBACX,CAAC;gBAED,kDAAkD;gBAClD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,uBAAuB,EAAE,CAAC;oBACnE,MAAM,SAAS,GAAG,oBAAoB,CAAC;oBACvC,oBAAoB,GAAG,KAAK,CAAC;oBAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBAChD,OAAO;gBACX,CAAC;gBAED,qEAAqE;gBACrE,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,sBAAsB,EAAE,CAAC;oBACnE,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBACzC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACf,IAAI,CAAC;4BACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC9B,iBAAiB,GAAG,IAAI,CAAC;4BACzB,SAAS,CAAC,wCAAwC,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;4BACxE,8BAA8B;4BAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;4BACtE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;4BAC7D,iBAAiB;4BACjB,MAAM,OAAO,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC;4BACxC,kBAAkB,GAAG,EAAE,CAAC;4BACxB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;4BAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC1C,CAAC;wBAAC,OAAO,CAAM,EAAE,CAAC;4BACd,SAAS,CAAC,2CAA2C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;4BAClE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;4BAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACtE,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpC,OAAO;gBACX,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,8EAA8E;YAC9E,iBAAiB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,EAAE;gBACrC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE;oBACxC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;oBACnC,kBAAkB,GAAG,MAAM,CAAC;oBAC5B,SAAS,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;oBAE1D,yDAAyD;oBACzD,MAAM,OAAO,GAAI,GAAG,CAAC,WAAmB,EAAE,QAAQ,CAAC;oBACnD,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;wBAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;wBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;wBAClE,IAAI,SAAS,GAA2B,EAAE,CAAC;wBAC3C,IAAI,CAAC;4BACD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gCAC3B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;4BAChE,CAAC;wBACL,CAAC;wBAAC,MAAM,CAAC,CAAC,CAAC;wBACX,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;wBAC9B,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;wBAChE,SAAS,CAAC,+BAA+B,SAAS,KAAK,WAAW,IAAI,IAAI,GAAG,CAAC,CAAC;oBACnF,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;YAEF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;gBAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBACnD,SAAS,CAAC,6BAA6B,iBAAiB,2BAA2B,CAAC,CAAC;oBACrF,iBAAiB,GAAG,CAAC,CAAC;oBACtB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACrE,kBAAkB,GAAG,OAAO,CAAC;oBAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAO,EAAE,EAAE;wBAC5B,SAAS,CAAC,mCAAmC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC3D,OAAO,CAAC,CAAC,CAAC,CAAC;oBACf,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;wBAChC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;wBACpC,SAAS,CAAC,+CAA+C,IAAI,EAAE,CAAC,CAAC;wBACjE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBACD,SAAS,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,OAAO,CAAC,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,SAAS,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,2DAA2D;AAE3D,SAAS,8BAA8B,CAAC,KAAa;IACjD,+FAA+F;IAC/F,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAqMY,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6d3B,CAAC;AACF,CAAC;AAED,wDAAwD;AACxD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC/C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;AACnD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,4CAA4C;AAE1F;;;GAGG;AACH,SAAS,iBAAiB,CAAC,SAAiB;IACxC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;QACvD,8FAA8F;QAC9F,MAAM,IAAI,GAAG;YACT,eAAe,EAAE,SAAS;YAC1B,YAAY,EAAE,WAAW;YACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;SAC/B,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,sCAAsC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC;IACpG,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;AACL,CAAC;AAED,SAAS,YAAY;IACjB,IAAI,CAAC,GAAG,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IACrB,0EAA0E;IAC1E,gFAAgF;IAChF,mEAAmE;IACnE,wEAAwE;IACxE,OAAO,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC;IAEnG,yEAAyE;IACzE,8DAA8D;IAC9D,EAAE;IACF,iCAAiC;IACjC,2EAA2E;IAC3E,yDAAyD;IACzD,+BAA+B;IAC/B,qDAAqD;IACrD,8DAA8D;IAC9D,oEAAoE;IACpE,4CAA4C;IAC5C,yEAAyE;IACzE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,oFAAoF;IACpF,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAC3B,8DAA8D;IAC9D,IAAI,oBAAoB,GAAG,CAAC,CAAC,CAAC,8CAA8C;IAC5E,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC,yCAAyC;IAClE,IAAI,sBAAsB,GAAG,IAAI,CAAC,CAAC,6CAA6C;IAChF,IAAI,WAAW,GAAG,EAAE,CAAC,CAAC,6DAA6D;IACnF,oFAAoF;IACpF,IAAI,mBAAmB,GAAG,EAAE,CAAC,CAAC,4BAA4B;IAC1D,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,qDAAqD;IAC7E,IAAI,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC,yCAAyC;IAChE,IAAI,oBAAoB,GAAa,EAAE,CAAC,CAAC,2CAA2C;IAC5F,IAAI,uBAAuB,GAAG,CAAC,CAAC,CAAC,CAAC,2CAA2C;IAE7E,WAAW,CAAC,KAAK,IAAI,EAAE;QACnB,SAAS,EAAE,CAAC;QACZ,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YACzC,SAAS,CAAC,SAAS,SAAS,SAAS,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;gBAChC,IAAI,SAAS,IAAI,CAAC;oBAAE,SAAS,CAAC,+BAA+B,CAAC,CAAC;gBAC/D,OAAO;YACX,CAAC;YAED,gDAAgD;YAChD,sFAAsF;YACtF,sEAAsE;YACtE,8EAA8E;YAC9E,IAAI,WAAW,GAAQ,IAAI,CAAC;YAC5B,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACjD,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAE3E,6DAA6D;YAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC5D,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACzC,SAAS,CAAC,0BAA0B,UAAU,CAAC,MAAM,iBAAiB,mBAAmB,GAAG,CAAC,CAAC;gBAC9F,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAoB,EAAE,CAAC;oBACvF,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;oBACnC,MAAM,KAAK,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,0BAA0B,IAAI,SAAS,CAAC;oBAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;oBAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;oBAClC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC7D,SAAS,CAAC,sBAAsB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,IAAI,MAAM,QAAQ,IAAI,EAAE,CAAC,CAAC;gBAClJ,CAAC;YACL,CAAC;YAED,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAoB,EAAE,CAAC;gBACvF,8DAA8D;gBAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACzC,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,IAAI,mBAAmB,EAAE,CAAC;oBAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,0BAA0B,IAAI,EAAE,CAAC;oBACrF,uEAAuE;oBACvE,MAAM,gBAAgB,GAAG,mBAAmB;yBACvC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;yBAC3B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;yBACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;yBACnB,WAAW,EAAE,CAAC;oBACnB,IAAI,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBACzH,kDAAkD;wBAClD,SAAS;oBACb,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,oEAAoE;oBACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;oBACjD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBACzB,IAAI,CAAC;4BACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;4BAC1D,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gCACvD,2CAA2C;gCAC3C,SAAS;4BACb,CAAC;wBACL,CAAC;wBAAC,MAAM,CAAC,CAAC,CAAC;oBACf,CAAC;gBACL,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBAC5C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACvE,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACjG,wEAAwE;gBACxE,IAAI,CAAC,WAAW;uBACT,CAAC,gBAAgB,IAAI,CAAC,aAAa,CAAC;uBACpC,CAAC,gBAAgB,KAAK,aAAa,IAAI,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC;oBACnE,WAAW,GAAG,IAAI,CAAC;oBACnB,aAAa,GAAG,GAAG,CAAC;oBACpB,WAAW,GAAG,OAAO,CAAC;gBAC1B,CAAC;YACL,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,IAAI,SAAS,IAAI,EAAE,IAAI,SAAS,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC1C,SAAS,CAAC,8CAA8C,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjF,CAAC;gBACD,OAAO;YACX,CAAC;YACD,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEvE,mBAAmB;YACnB,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;gBACpC,eAAe,GAAG,aAAa,CAAC;gBAChC,kBAAkB,GAAI,WAAmB,CAAC,YAAY,IAAI,EAAE,CAAC;gBAC7D,kBAAkB,GAAG,YAAY,CAAC;gBAClC,kBAAkB,GAAG,YAAY,CAAC;gBAClC,mBAAmB,GAAG,WAAW,CAAC,oBAAoB,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;gBACxE,iBAAiB,GAAG,WAAW,CAAC,sBAAsB,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC;gBACxE,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,IAAI,CAAC,CAAC,CAAC;gBAChE,uBAAuB,GAAG,YAAY,CAAC,CAAC,+BAA+B;gBACvE,oBAAoB,GAAG,CAAC,CAAC,CAAC;gBAC1B,WAAW,GAAG,KAAK,CAAC;gBACpB,8FAA8F;gBAC9F,gEAAgE;gBAChE,2DAA2D;gBAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzC,SAAS,CAAC,qBAAqB,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9F,MAAM,QAAQ,GAAG,WAAW,CAAC,kBAAkB,CAAC;gBAChD,IAAI,QAAQ,EAAE,CAAC;oBACX,SAAS,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjG,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,cAAc,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,YAAY,WAAW,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBACzK,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAG,YAAY,GAAG,kBAAkB,CAAC;YAChD,kBAAkB,GAAG,YAAY,CAAC;YAElC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,MAAM,KAAK,WAAW,YAAY,MAAM,YAAY,GAAG,CAAC,CAAC;gBAEvG,kEAAkE;gBAClE,IAAI,SAAS,IAAI,YAAY,GAAG,uBAAuB,IAAI,GAAG,EAAE,CAAC;oBAC7D,IAAI,CAAC;wBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;wBAC/C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,EAAE;4BAC5D,SAAS,EAAE,aAAa;4BACxB,UAAU,EAAE,QAAQ;4BACpB,SAAS,EAAE,CAAC,EAAE,wCAAwC;yBACzD,CAAC,CAAC;wBACH,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC5B,KAAK,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gCACnD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gCAC3B,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;gCAC5B,MAAM,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAC;gCAChC,IAAI,SAAS,IAAI,uBAAuB;oCAAE,SAAS;gCACnD,yCAAyC;gCAC7C,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;oCACvC,IAAI,CAAC;wCACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wCAC7D,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;wCACzD,IAAI,EAAE,EAAE,CAAC;4CACL,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;4CACzC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gDACrC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gDAC9B,SAAS,CAAC,kBAAkB,EAAE,UAAU,SAAS,GAAG,CAAC,CAAC;4CAC1D,CAAC;wCACL,CAAC;oCACL,CAAC;oCAAC,MAAM,CAAC,CAAC,CAAC;gCACf,CAAC;gCACD,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oCAChE,MAAM,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC;oCAC9B,IAAI,EAAE,EAAE,CAAC;wCACL,IAAI,IAAI,GAAG,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;wCAC9D,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;4CACnB,uBAAuB,GAAG,SAAS,CAAC;4CACpC,SAAS,CAAC,qBAAqB,SAAS,KAAK,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;4CACnE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI;gDAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,eAAe;gDAC3C,CAAC,CAAC,IAAI,CAAC;4CACX,iBAAiB,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;4CAClD,MAAM;wCACV,CAAC;oCACL,CAAC;gCACL,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAChB,iCAAiC;wBACjC,IAAI,SAAS,IAAI,CAAC;4BAAE,SAAS,CAAC,uBAAuB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oBACzF,CAAC;gBACL,CAAC;YACL,CAAC;YAED,kDAAkD;YAClD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;YAC1D,IAAI,SAAS,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACtD,SAAS,CAAC,SAAS,SAAS,YAAY,SAAS,UAAU,YAAY,UAAU,KAAK,EAAE,CAAC,CAAC;YAC9F,CAAC;YAED,qDAAqD;YACrD,4EAA4E;YAC5E,yEAAyE;YAEzE,uDAAuD;YAEvD,MAAM,cAAc,GAAG,WAAW,CAAC,gBAAgB,IAAK,WAAmB,CAAC,qBAAqB,IAAK,WAAmB,CAAC,YAAY,IAAI,EAAE,CAAC;YAC7I,MAAM,cAAc,GAAG,cAAc,KAAK,WAAW,CAAC;YACtD,MAAM,OAAO,GAAG,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC;YAEzC,sCAAsC;YACtC,IAAI,OAAO,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;gBACtC,SAAS,CAAC,oBAAoB,oBAAoB,aAAa,cAAc,aAAa,cAAc,EAAE,CAAC,CAAC;YAChH,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,cAAc,GAAG,KAAK,CAAC;gBACvB,iFAAiF;gBACjF,IAAI,CAAC,sBAAsB,IAAI,oBAAoB,IAAI,CAAC,EAAE,CAAC;oBACvD,kEAAkE;oBAClE,IAAI,CAAC;wBACD,MAAM,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;6BAChE,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;wBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACzB,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;4BAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;4BACpD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;4BACxD,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS;gCAAE,SAAS;4BACtC,gCAAgC;4BAChC,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,YAAY,KAAK,WAAW;gCAAE,SAAS;4BACjE,wDAAwD;4BACxD,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;4BAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,KAAK,oBAAoB;mCAC/C,CAAC,KAAK,GAAG,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;4BACtC,IAAI,OAAO,EAAE,CAAC;gCACV,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC;gCAC5B,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gCAC/D,SAAS,CAAC,uBAAuB,oBAAoB,wBAAwB,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACxH,CAAC;wBACL,CAAC;oBACL,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAAC,CAAC;oBACrE,oBAAoB,GAAG,CAAC,CAAC,CAAC;gBAC9B,CAAC;gBACD,oBAAoB,GAAG,CAAC,CAAC;gBACzB,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,WAAW,GAAG,KAAK,CAAC,CAAC,+BAA+B;gBACpD,WAAW,GAAG,cAAc,CAAC;YACjC,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACjB,IAAI,cAAc,EAAE,CAAC;oBACjB,oEAAoE;oBACpE,oBAAoB,GAAG,CAAC,CAAC,CAAC,SAAS;oBACnC,WAAW,GAAG,KAAK,CAAC;oBACpB,IAAI,SAAS,IAAI,EAAE,IAAI,SAAS,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;wBAC1C,SAAS,CAAC,gBAAgB,YAAY,+BAA+B,CAAC,CAAC;oBAC3E,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,0DAA0D;oBAC1D,oBAAoB,EAAE,CAAC;oBACvB,IAAI,oBAAoB,IAAI,CAAC;wBAAE,cAAc,GAAG,IAAI,CAAC;gBACzD,CAAC;gBACD,WAAW,GAAG,cAAc,CAAC;gBAE7B,0FAA0F;gBAC1F,gFAAgF;gBAChF,+EAA+E;gBAC/E,IAAI,oBAAoB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC5C,IAAI,CAAC;wBACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,EAAE;4BAC/D,SAAS,EAAE,aAAa;4BACxB,SAAS,EAAE,CAAC,EAAE,wDAAwD;yBACzE,CAAC,CAAC;wBACH,IAAI,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;4BAC9B,6DAA6D;4BAC7D,SAAS,CAAC,yBAAyB,KAAK,CAAC,MAAM,4BAA4B,YAAY,EAAE,CAAC,CAAC;4BAC3F,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;gCAC9B,SAAS,CAAC,wCAAwC,KAAK,CAAC,MAAM,gBAAgB,YAAY,6BAA6B,CAAC,CAAC;gCACzH,2DAA2D;gCAC3D,IAAI,CAAC;oCACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC;oCAC9C,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,EAAE;wCAChE,SAAS,EAAE,aAAa;wCACxB,UAAU,EAAE,MAAM;wCAClB,SAAS,EAAE,CAAC;qCACf,CAAC,CAAC;oCACH,IAAI,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;wCAChC,0CAA0C;wCAC1C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;wCACrC,SAAS,CAAC,uBAAuB,MAAM,aAAa,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC;wCACzF,qCAAqC;wCACrC,KAAK,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;4CACrD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;4CAC/B,IAAI,KAAK,EAAE,MAAM,KAAK,4BAA4B,EAAE,CAAC;gDACjD,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;gDAC3C,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gDACrG,IAAI,OAAO,GAAG,QAAQ,CAAC;gDACvB,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;oDAC1B,IAAI,CAAC;wDACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wDAChD,IAAI,IAAI,CAAC,WAAW;4DAAE,OAAO,GAAG,GAAG,QAAQ,KAAK,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;6DACjF,IAAI,IAAI,CAAC,UAAU;4DAAE,OAAO,GAAG,GAAG,QAAQ,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;6DACjE,CAAC;4DACF,kDAAkD;4DAClD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4DAC/L,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wDACrH,CAAC;oDACL,CAAC;oDAAC,MAAM,CAAC;wDAAC,OAAO,GAAG,QAAQ,CAAC;oDAAC,CAAC;gDACnC,CAAC;gDACD,MAAM,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC;gDACjC,SAAS,CAAC,6CAA6C,WAAW,SAAS,KAAK,CAAC,IAAI,SAAS,OAAO,GAAG,CAAC,CAAC;gDAC1G,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;oDACvC,WAAW,GAAG,IAAI,CAAC;oDACnB,oBAAoB,GAAG,WAAW,CAAC;oDACnC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oDAC7B,sBAAsB,GAAG,KAAK,CAAC;oDAC/B,+CAA+C;oDAC/C,IAAI,kBAAkB,EAAE,CAAC;wDACrB,SAAS,CAAC,8BAA8B,WAAW,SAAS,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;wDACzF,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;oDAC9P,CAAC;yDAAM,CAAC;wDACJ,oBAAoB,CAAC;4DACjB,eAAe,EAAE,eAAe;4DAChC,OAAO;4DACP,WAAW,EAAE,SAAS,WAAW,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,GAAG;4DAC5F,SAAS,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ;4DACzM,UAAU,EAAE,WAAW;4DACvB,MAAM,EAAE,mBAAmB;yDAC9B,CAAC,CAAC;oDACP,CAAC;gDACL,CAAC;gDACD,MAAM;4CACV,CAAC;wCACL,CAAC;oCACL,CAAC;gCACL,CAAC;gCAAC,OAAO,EAAO,EAAE,CAAC;oCACf,SAAS,CAAC,qCAAqC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gCACnF,CAAC;4BACL,CAAC;4BAED,4EAA4E;4BAC5E,IAAI,YAAY,GAAG,KAAK,CAAC;4BACzB,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gCACxE,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;gCACvB,MAAM,UAAU,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;gCACtC,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gCAElC,IAAI,UAAU,KAAK,4BAA4B,EAAE,CAAC;oCAC9C,YAAY,GAAG,IAAI,CAAC;oCACpB,0DAA0D;oCAC1D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;oCAC1C,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oCAC3F,IAAI,OAAO,GAAG,QAAQ,CAAC;oCAEvB,0CAA0C;oCAC1C,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;wCAC1B,IAAI,CAAC;4CACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;4CAChD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gDACnB,OAAO,GAAG,GAAG,QAAQ,KAAK,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;4CACpE,CAAC;iDAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gDACzB,OAAO,GAAG,GAAG,QAAQ,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;4CAChD,CAAC;iDAAM,CAAC;gDACJ,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gDAC/L,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4CACrH,CAAC;wCACL,CAAC;wCAAC,MAAM,CAAC;4CAAC,OAAO,GAAG,QAAQ,CAAC;wCAAC,CAAC;oCACnC,CAAC;oCAED,MAAM,WAAW,GAAG,SAAS,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC;oCACjF,SAAS,CAAC,gCAAgC,EAAE,SAAS,QAAQ,SAAS,OAAO,GAAG,CAAC,CAAC;oCAElF,IAAI,EAAE,KAAK,oBAAoB,EAAE,CAAC;wCAC9B,WAAW,GAAG,IAAI,CAAC,CAAC,gCAAgC;wCACpD,oBAAoB,GAAG,EAAE,CAAC;wCAC1B,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wCAC7B,sBAAsB,GAAG,KAAK,CAAC;wCAC/B,+CAA+C;wCAC/C,IAAI,kBAAkB,EAAE,CAAC;4CACrB,SAAS,CAAC,8BAA8B,EAAE,SAAS,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;4CAChF,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wCACrP,CAAC;6CAAM,CAAC;4CACJ,oBAAoB,CAAC;gDACjB,eAAe,EAAE,eAAe;gDAChC,OAAO;gDACP,WAAW;gDACX,SAAS,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ;gDACzM,UAAU,EAAE,EAAE;gDACd,MAAM,EAAE,YAAY;6CACvB,CAAC,CAAC;wCACP,CAAC;oCACL,CAAC;oCACD,MAAM;gCACV,CAAC;4BACL,CAAC;4BACD,IAAI,CAAC,YAAY,EAAE,CAAC;gCAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCACzC,SAAS,CAAC,gCAAgC,QAAQ,EAAE,MAAM,SAAS,QAAQ,EAAE,IAAI,gBAAgB,CAAC,CAAC;gCACnG,sEAAsE;gCACtE,qEAAqE;gCACrE,4EAA4E;gCAC5E,cAAc,GAAG,KAAK,CAAC;4BAC3B,CAAC;wBACL,CAAC;oBACL,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBACd,SAAS,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClD,CAAC;gBACL,CAAC;gBAED,8DAA8D;gBAC9D,uEAAuE;YAC3E,CAAC;iBAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,0EAA0E;gBAC1E,IAAI,oBAAoB,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC3C,sDAAsD;oBACtD,IAAI,CAAC;wBACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,EAAE;4BAC/D,SAAS,EAAE,aAAa;4BACxB,SAAS,EAAE,CAAC;yBACf,CAAC,CAAC;wBACH,IAAI,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;4BAC9B,6CAA6C;4BAC7C,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gCACxE,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;gCACvB,MAAM,UAAU,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;gCACtC,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gCAClC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oCAChE,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;oCAC1C,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oCAC3F,IAAI,OAAO,GAAG,aAAa,QAAQ,EAAE,CAAC;oCACtC,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;wCAC1B,IAAI,CAAC;4CACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;4CAChD,IAAI,IAAI,CAAC,WAAW;gDAAE,OAAO,GAAG,aAAa,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;iDAC7E,IAAI,IAAI,CAAC,UAAU;gDAAE,OAAO,GAAG,aAAa,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;wCAC5F,CAAC;wCAAC,MAAM,CAAC,CAAC,CAAC;oCACf,CAAC;oCACD,MAAM,WAAW,GAAG,SAAS,EAAE,IAAI,UAAU,WAAW,CAAC;oCACzD,SAAS,CAAC,8BAA8B,EAAE,WAAW,UAAU,SAAS,QAAQ,EAAE,CAAC,CAAC;oCACpF,kCAAkC;oCAClC,iBAAiB,CAAC,qBAAqB,EAAE,UAAU,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;oCAC5I,IAAI,EAAE,KAAK,oBAAoB,EAAE,CAAC;wCAC9B,WAAW,GAAG,IAAI,CAAC;wCACnB,oBAAoB,GAAG,EAAE,CAAC;wCAC1B,oBAAoB,CAAC;4CACjB,eAAe,EAAE,eAAe;4CAChC,OAAO;4CACP,WAAW;4CACX,SAAS,EAAE,gBAAgB;4CAC3B,UAAU,EAAE,EAAE;4CACd,MAAM,EAAE,kBAAkB;yCAC7B,CAAC,CAAC;oCACP,CAAC;oCACD,MAAM;gCACV,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBACd,SAAS,CAAC,iCAAiC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC5D,CAAC;gBACL,CAAC;gBACD,oBAAoB,GAAG,CAAC,CAAC;gBACzB,WAAW,GAAG,cAAc,CAAC;YACjC,CAAC;YAED,qCAAqC;YACrC,MAAM,UAAU,GAAG,WAAW,CAAC,oBAAoB,CAAC;YACpD,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,UAAU,CAAC,SAAS,GAAG,mBAAmB,EAAE,CAAC;oBAC7C,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC;oBAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,IAAI,EAAS,CAAC;oBAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,mBAAmB,IAAI,EAAE,CAAC;oBACrD,+CAA+C;oBAC/C,IAAI,SAAS,IAAI,CAAC,IAAI,UAAU,CAAC,SAAS,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;wBACpE,SAAS,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3E,CAAC;oBACD,SAAS,CAAC,0BAA0B,UAAU,CAAC,SAAS,YAAY,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;oBAC5F,4CAA4C;oBAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;wBACtB,iBAAiB,CAAC,mBAAmB,UAAU,CAAC,SAAS,QAAQ,OAAO,EAAE,CAAC,CAAC;oBAChF,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,SAAS,CAAC,qCAAqC,OAAO,CAAC,MAAM,YAAY,OAAO,EAAE,CAAC,CAAC;oBACxF,CAAC;oBAED,gEAAgE;oBAChE,MAAM,aAAa,GAAa,UAAU,CAAC,aAAa;2BACjD,UAAU,CAAC,eAAe;2BAC1B,UAAU,CAAC,SAAS;2BACpB,EAAE,CAAC;oBACV,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,SAAS,CAAC,gCAAgC,aAAa,CAAC,MAAM,QAAQ,CAAC,CAAC;wBACxE,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;4BAC/C,IAAI,CAAC;gCACD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oCAC1B,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oCACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oCACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC;oCAC/B,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,GAAG,iBAAiB;wCAC3D,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,eAAe;wCAC/D,CAAC,CAAC,WAAW,CAAC;oCAClB,wEAAwE;oCACxE,0BAA0B,CACtB,YAAY,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAC,IAAI,CAAC,KAAK,EACnE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAClD,CAAC;oCACF,SAAS,CAAC,mCAAmC,QAAQ,KAAK,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC;gCAC3F,CAAC;qCAAM,CAAC;oCACJ,SAAS,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;gCAC/D,CAAC;4BACL,CAAC;4BAAC,OAAO,CAAM,EAAE,CAAC;gCACd,SAAS,CAAC,sCAAsC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;4BACjE,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,gDAAgD,CAAC,CAAC;YAChE,CAAC;YAED,uCAAuC;YACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,sBAAsB,CAAC;YACpD,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,QAAQ,CAAC,SAAS,GAAG,iBAAiB,EAAE,CAAC;oBACzC,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC;oBACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;oBACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;wBACf,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/D,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;wBACzD,SAAS,CAAC,wBAAwB,QAAQ,CAAC,SAAS,UAAU,EAAE,CAAC,QAAQ,UAAU,IAAI,EAAE,CAAC,CAAC;wBAC3F,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;4BACnC,mBAAmB,GAAG,QAAQ,CAAC;4BAC/B,iBAAiB,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,QAAQ,OAAO,EAAE,CAAC,UAAU,IAAI,EAAE,OAAO,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC5G,CAAC;6BAAM,CAAC;4BACJ,SAAS,CAAC,qCAAqC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC;wBACnE,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,4CAA4C,CAAC,CAAC;YAC5D,CAAC;YAED,mEAAmE;YACnE,MAAM,YAAY,GAAG,WAAW,CAAC,sBAAsB,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,YAAY,GAAG,oBAAoB,EAAE,CAAC;gBACtC,oBAAoB,GAAG,YAAY,CAAC;gBACpC,SAAS,CAAC,0CAA0C,YAAY,gBAAgB,CAAC,CAAC;gBAClF,kDAAkD;gBAClD,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,EAAE;wBAC5D,SAAS,EAAE,aAAa;wBACxB,UAAU,EAAE,YAAY;wBACxB,SAAS,EAAE,CAAC;qBACf,CAAC,CAAC;oBACH,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC/B,uEAAuE;wBACvE,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC;wBAC7B,MAAM,MAAM,GAAG,EAAE,EAAE,YAAY,IAAI,EAAE,CAAC;wBACtC,MAAM,UAAU,GAAG,EAAE,EAAE,UAAU,IAAI,EAAE,CAAC;wBACxC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAE7C,SAAS,CAAC,mBAAmB,YAAY,SAAS,MAAM,EAAE,IAAI,WAAW,UAAU,SAAS,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;wBAExH,2EAA2E;wBAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC9B,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACnD,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;4BAC3C,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BACvC,SAAS,CAAC,kDAAkD,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAC,MAAM,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC9G,CAAC;6BAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG;gCACjC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,eAAe;gCAC5C,CAAC,CAAC,MAAM,CAAC;4BACb,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;4BAC9C,iBAAiB,CAAC,aAAa,MAAM,UAAU,SAAS,EAAE,CAAC,CAAC;4BAC5D,SAAS,CAAC,sBAAsB,MAAM,CAAC,MAAM,oBAAoB,YAAY,EAAE,CAAC,CAAC;wBACrF,CAAC;6BAAM,CAAC;4BACJ,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;4BAC5C,SAAS,CAAC,mBAAmB,YAAY,aAAa,CAAC,CAAC;wBAC5D,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBAClB,SAAS,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC3E,6DAA6D;oBAC7D,iBAAiB,CAAC,mCAAmC,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;YAED,IAAI,UAAU,IAAI,CAAC,SAAS,IAAI,YAAY,GAAG,uBAAuB,EAAE,CAAC;gBACrE,SAAS,CAAC,0CAA0C,YAAY,yBAAyB,CAAC,CAAC;gBAC3F,uBAAuB,GAAG,YAAY,CAAC;gBACvC,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;oBAC7C,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,EAAE;wBAChE,SAAS,EAAE,aAAa;wBACxB,UAAU,EAAE,MAAM;wBAClB,SAAS,EAAE,CAAC,EAAE,yEAAyE;qBAC1F,CAAC,CAAC;oBACH,IAAI,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;wBAC/B,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;4BAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;4BACpB,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;4BAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gCACrE,IAAI,WAAW,GAAG,EAAE,CAAC;gCACrB,qCAAqC;gCACrC,MAAM,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC;gCAC9B,IAAI,EAAE,EAAE,CAAC;oCACL,uDAAuD;oCACvD,IAAI,EAAE,CAAC,gBAAgB;wCAAE,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC;yCACtD,IAAI,EAAE,CAAC,OAAO;wCAAE,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;yCACzC,IAAI,EAAE,CAAC,IAAI;wCAAE,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC;yCACnC,IAAI,EAAE,CAAC,OAAO;wCAAE,WAAW,GAAG,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;yCAC/E,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;wCACzB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;4CAC/B,IAAI,CAAC,EAAE,IAAI;gDAAE,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC;wCACvC,CAAC;oCACL,CAAC;oCACD,+CAA+C;oCAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;wCACf,SAAS,CAAC,6CAA6C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oCAC7I,CAAC;gCACL,CAAC;gCACD,sCAAsC;gCACtC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,CAAC;gCAC/B,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;oCACrB,IAAI,OAAO,EAAE,KAAK,QAAQ;wCAAE,WAAW,GAAG,EAAE,CAAC;yCACxC,IAAI,EAAE,CAAC,OAAO;wCAAE,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC;yCACzC,IAAI,EAAE,CAAC,OAAO;wCAAE,WAAW,GAAG,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gCAChH,CAAC;gCACD,yCAAyC;gCACzC,IAAI,CAAC,WAAW,EAAE,CAAC;oCACf,MAAM,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;oCAClD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wCACpB,IAAI,CAAC,EAAE,IAAI;4CAAE,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC;oCACvC,CAAC;gCACL,CAAC;gCACD,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI;oCAAE,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gCACrE,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,SAAS;oCAAE,WAAW,GAAG,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gCAC5H,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oCAC1B,SAAS,CAAC,4BAA4B,KAAK,KAAK,WAAW,CAAC,MAAM,mBAAmB,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC;oCACpG,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,IAAI;wCACvC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,eAAe;wCAClD,CAAC,CAAC,WAAW,CAAC;oCAClB,iBAAiB,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;oCAClD,MAAM;gCACV,CAAC;qCAAM,CAAC;oCACJ,SAAS,CAAC,sBAAsB,KAAK,eAAe,WAAW,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACnH,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,OAAO,EAAO,EAAE,CAAC;oBACf,SAAS,CAAC,6BAA6B,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACL,CAAC;YAED,iFAAiF;YACjF,IAAI,UAAU,IAAI,CAAC,SAAS,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7D,SAAS,CAAC,2BAA2B,oBAAoB,CAAC,MAAM,oBAAoB,QAAQ,EAAE,CAAC,CAAC;gBAChG,iBAAiB,CAAC,8BAA8B,QAAQ,2CAA2C,CAAC,CAAC;gBACrG,oBAAoB,CAAC;oBACjB,eAAe,EAAE,eAAe;oBAChC,OAAO,EAAE,UAAU,QAAQ,EAAE;oBAC7B,WAAW,EAAE,GAAG,oBAAoB,CAAC,MAAM,eAAe;oBAC1D,SAAS,EAAE,aAAa;oBACxB,UAAU,EAAE,YAAY;oBACxB,MAAM,EAAE,oBAAoB;oBAC5B,OAAO,EAAE;wBACL,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE;wBAChC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE;qBACnC;iBACJ,CAAC,CAAC;gBACH,oBAAoB,GAAG,EAAE,CAAC,CAAC,2BAA2B;YAC1D,CAAC;YACD,UAAU,GAAG,SAAS,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAED,gEAAgE;AAEhE,IAAI,eAAe,GAAwB,IAAI,CAAC;AAEhD,SAAS,oBAAoB;IACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC;QACD,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACxD,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpB,gDAAgD;oBAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;oBACpE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC;4BACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;4BAClE,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gCAC/D,SAAS,CAAC,mBAAmB,GAAG,aAAa,OAAO,CAAC,YAAY,QAAQ,WAAW,GAAG,CAAC,CAAC;gCACzF,OAAO,CAAC,kBAAkB;4BAC9B,CAAC;wBACL,CAAC;wBAAC,MAAM,CAAC,CAAC,CAAC;oBACf,CAAC;yBAAM,CAAC;wBACJ,+EAA+E;wBAC/E,IAAI,CAAC;4BACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;4BAC1D,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;gCACjE,SAAS,CAAC,oCAAoC,GAAG,aAAa,QAAQ,CAAC,YAAY,QAAQ,WAAW,GAAG,CAAC,CAAC;gCAC3G,OAAO;4BACX,CAAC;wBACL,CAAC;wBAAC,MAAM,CAAC,CAAC,CAAC;oBACf,CAAC;oBACD,UAAU,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnD,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IAC/C,IAAI,CAAC;QACD,2DAA2D;QAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,+EAA+E;YAC/E,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,kBAAkB,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,QAAQ,cAAc,IAAI,CAAC,SAAS,IAAI,WAAW,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3J,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACtC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEf,kGAAkG;QAClG,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;YACxC,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,YAAY;YAChD,IAAI,KAAK,GAAG,kBAAkB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC/C,SAAS,CAAC,yCAAyC,IAAI,CAAC,UAAU,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,kBAAkB,GAAG,IAAI,YAAY,CAAC,CAAC;gBAChJ,IAAI,CAAC;oBAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;gBAC1C,OAAO;YACX,CAAC;QACL,CAAC;QAED,gCAAgC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,OAAO,CAAC,CAAC;QACrE,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,eAAe,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,4BAA4B;QACxE,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,SAAS,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;gBAC1C,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI;uBACvC,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC;gBACzC,eAAe,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC1C,gBAAgB,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAoB,CAAC;gBAC9D,yEAAyE;gBACzE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBAClD,IAAI,eAAe,KAAK,iBAAiB,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1F,2DAA2D;oBAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;oBACvC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;wBACf,eAAe,GAAG,8BAA8B,CAAC;oBACrD,CAAC;yBAAM,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtB,eAAe,GAAG,sBAAsB,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACJ,eAAe,GAAG,sBAAsB,CAAC;oBAC7C,CAAC;oBACD,SAAS,CAAC,mEAAmE,eAAe,EAAE,CAAC,CAAC;gBACpG,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;QACf,CAAC;QAED,yCAAyC;QACzC,6DAA6D;QAC7D,2DAA2D;QAC3D,6DAA6D;QAE7D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,kEAAkE;QAClE,IAAI,eAAe,KAAK,aAAa,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,QAAQ;gBAChB,CAAC,CAAC,8CAA8C;gBAChD,CAAC,CAAC,8CAA8C,CAAC;YACrD,SAAS,CAAC,4BAA4B,GAAG,YAAY,MAAM,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC;gBACD,uDAAuD;gBACvD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxE,SAAS,CAAC,2BAA2B,SAAS,CAAC,MAAM,mBAAmB,CAAC,CAAC;gBAC1E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;wBAC1B,IAAI,CAAC;4BACD,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;4BAC9D,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;4BACnE,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;4BAC1C,SAAS,CAAC,2BAA2B,GAAG,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBAC3F,CAAC;wBAAC,OAAO,UAAe,EAAE,CAAC;4BACvB,SAAS,CAAC,0CAA0C,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;wBAChG,CAAC;oBACL,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,qCAAqC;oBACrC,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAC1C,SAAS,CAAC,gEAAgE,CAAC,CAAC;gBAChF,CAAC;YACL,CAAC;YAAC,OAAO,MAAW,EAAE,CAAC;gBACnB,SAAS,CAAC,yCAAyC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACvB,4EAA4E;YAC5E,4EAA4E;YAC5E,MAAM,aAAa,GAAG,SAAS,IAAI,eAAe,CAAC;YACnD,SAAS,CAAC,mDAAmD,QAAQ,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,eAAe,UAAU,gBAAgB,GAAG,CAAC,CAAC;YAC/J,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;YAC/G,SAAS,CAAC,mCAAmC,cAAc,EAAE,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,+CAA+C;YAC/C,4EAA4E;YAC5E,MAAM,aAAa,GAAG,SAAS,IAAI,eAAe,CAAC;YACnD,SAAS,CAAC,iDAAiD,QAAQ,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,eAAe,UAAU,gBAAgB,GAAG,CAAC,CAAC;YAC7J,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;YAC/G,SAAS,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,SAAS,CAAC,cAAc,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,UAAU,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;QAE1G,sEAAsE;QACtE,WAAW,GAAG,KAAK,CAAC;QACpB,oBAAoB,GAAG,CAAC,CAAC,CAAC;QAE1B,wBAAwB;QACxB,6DAA6D;QAC7D,kEAAkE;QAClE,mEAAmE;QACnE,uEAAuE;QACvE,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACtC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAS;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAE3B,2CAA2C;IAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QACxB,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;QAC3E,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB;QACtD,aAAa,EAAE,0BAA0B,EAAE,WAAW;QACtD,YAAY,EAAE,WAAW,EAAE,sBAAsB;QACjD,sBAAsB,EAAE,QAAQ,EAAE,uBAAuB;KAC5D,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;IAChC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC3C,OAAO,eAAe,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC/B,2DAA2D;QAC3D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,MAAM,CAAC;QAC3F,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC/C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,iDAAiD;QACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACnC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,mBAAmB;gBACjE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,QAAQ,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,2DAA2D,GAAG,KAAK,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC;oBACzG,OAAO,QAAQ,CAAC;gBACpB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,iBAAiB;YAAE,SAAS;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;gBACnE,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,oEAAoE;AACpE,SAAS,eAAe,CAAC,IAAY;IACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAC/C,8BAA8B;IAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAClG,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACjG,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAC9D,8DAA8D;IAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,mEAAmE;AACnE,SAAS,kBAAkB,CAAC,QAAa;IACrC,4CAA4C;IAC5C,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,aAAa,CAAC;IAC3F,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,IAAI,MAAM,CAAC;QAC1F,OAAO,UAAU,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC9C,OAAO,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAC;QAClE,MAAM,CAAC,GAAG,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,uBAAuB,CAAC;QAC1E,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5C,OAAO,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACrF,CAAC;IACD,uCAAuC;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;AAC3D,CAAC;AAED,qEAAqE;AACrE,SAAS,sBAAsB,CAAC,QAAa,EAAE,YAAoB,EAAE,SAAiB;IAClF,MAAM,KAAK,GAAG,CAAC,SAAS,SAAS,EAAE,EAAE,aAAa,YAAY,GAAG,CAAC,CAAC;IACnE,8CAA8C;IAC9C,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QACjF,IAAI,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,8EAA8E;AAC9E,SAAS,oBAAoB,CAAC,IAAiL;IAC3M,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAAC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAElF,iGAAiG;QACjG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,yBAAyB;QACzD,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5F,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;uBAChE,QAAQ,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC,CAAE,8BAA8B;oBAC3E,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;oBAChD,IAAI,GAAG,GAAG,eAAe,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;wBACpC,mEAAmE;wBACnE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;wBAChC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;wBACxC,IAAI,IAAI,CAAC,SAAS;4BAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBACxD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;4BAAE,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;wBACzE,QAAQ,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAE,iBAAiB;wBAC/D,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBACrE,SAAS,CAAC,oDAAoD,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;wBAC3G,OAAO;oBACX,CAAC;gBACL,CAAC;gBACD,wFAAwF;gBACxF,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,KAAK,WAAW;uBACnE,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC9E,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;oBAChD,IAAI,GAAG,GAAG,eAAe,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;wBACpC,SAAS,CAAC,4BAA4B,IAAI,CAAC,UAAU,uBAAuB,EAAE,EAAE,CAAC,CAAC;wBAClF,OAAO;oBACX,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,QAAa,EAAE,CAAC;YACrB,SAAS,CAAC,oCAAoC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5B,uDAAuD;QACvD,4EAA4E;QAC5E,qFAAqF;QACrF,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;YACnD,OAAO,GAAG;gBACN,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE;gBAChC,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE;gBAC7C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;aAC7B,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAwB;YACjC,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,KAAK,GAAG,IAAI;YACvB,MAAM,EAAE,SAAS;YACjB,kBAAkB,EAAE,CAAC;YACrB,YAAY,EAAE,WAAW;YACzB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;QACrE,iFAAiF;QACjF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAED,4CAA4C;AAE5C;;;;;;;;GAQG;AACH,KAAK,UAAU,qBAAqB,CAAC,QAAiB,EAAE,SAAiB,EAAE,WAAmB,EAAE,EAAE,YAAoB,CAAC,CAAC;IACpH,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/C,MAAM,kBAAkB,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAC7E,SAAS,CAAC,uBAAuB,MAAM,2BAA2B,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,QAAQ,cAAc,kBAAkB,EAAE,CAAC,CAAC;IAEpJ,8EAA8E;IAC9E,IAAI,eAAe,GAAa,EAAE,CAAC;IACnC,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3E,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;mBACjF,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;mBAC7E,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,wBAAwB,MAAM,CAAC,MAAM,WAAW,eAAe,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACtG,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAC9B,SAAS,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,SAAS,CAAC,+BAA+B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,6DAA6D;IAC7D,qEAAqE;IACrE,+CAA+C;IAC/C,2DAA2D;IAC3D,8DAA8D;IAC9D,oEAAoE;IACpE,wEAAwE;IACxE,oEAAoE;IACpE,iDAAiD;IACjD,qEAAqE;IACrE,6DAA6D;IAC7D,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAClB,mDAAmD;QACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,kBAAkB,GAAwB,EAAE,CAAC;QAEjD,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACxH,0DAA0D;YAC1D,IAAI,CAAC;gBACD,SAAS,CAAC,6DAA6D,SAAS,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,+BAA+B,kBAAkB,IAAI,CAAC,CAAC;gBACtJ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,4BAA4B,EAAE;oBAChE,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,CAAC,kBAAkB,CAAC;iBACpC,CAAC,CAAC;gBACH,SAAS,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5F,OAAO,0CAA0C,CAAC;YACtD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,SAAS,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnE,+CAA+C;YACnD,CAAC;QACL,CAAC;QAED,iDAAiD;QACjD,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACxE,kBAAkB,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3D,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5C,kBAAkB,GAAG,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/D,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAClD,kBAAkB,GAAG,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,mBAAmB;QACrF,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,kBAAkB,GAAG,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ;QACxE,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,kBAAkB,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ;QACjE,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvF,kBAAkB,GAAG,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QACjE,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/C,8DAA8D;YAC9D,6DAA6D;YAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,kBAAkB,GAAG,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACpE,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3C,kBAAkB,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,+BAA+B;QAC7E,CAAC;aAAM,CAAC;YACJ,yCAAyC;YACzC,kBAAkB,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3D,CAAC;QAED,MAAM,aAAa,GAAG;YAClB,0EAA0E;YAC1E;gBACI,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE;oBACT,YAAY,EAAE,kBAAkB,IAAI,SAAS;oBAC7C,SAAS,EAAE,kBAAkB;oBAC7B,GAAG,kBAAkB;iBACxB;aACJ;YACD,wBAAwB;YACxB;gBACI,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE;oBACT,aAAa,EAAE,kBAAkB,IAAI,SAAS;oBAC9C,UAAU,EAAE,kBAAkB;oBAC9B,GAAG,kBAAkB;iBACxB;aACJ;YACD,uCAAuC;YACvC;gBACI,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE;oBACT,SAAS,EAAE,kBAAkB;oBAC7B,GAAG,kBAAkB;iBACxB;aACJ;SACJ,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACjC,SAAS,CAAC,mBAAmB,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9G,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;gBAC/E,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7F,OAAO,aAAa,CAAC,iCAAiC,SAAS,GAAG,CAAC;YACvE,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,oCAAoC;IACpC,6DAA6D;IAC7D,MAAM,qBAAqB,GAAG;QAC1B,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC1C,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC1C,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE;QACzC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;QACvC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;QAChE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC9D,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAG,mBAAmB;QACpD,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,cAAc;KACpC,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrC,SAAS,CAAC,gBAAgB,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;YAC7F,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACvF,OAAO,uCAAuC,CAAC,GAAG,CAAC;QACvD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,6EAA6E;IAC7E,6DAA6D;IAC7D,MAAM,aAAa,GAAG,QAAQ;QAC1B,CAAC,CAAC;YACE,iCAAiC;YACjC,oCAAoC;YACpC,mCAAmC;YACnC,4BAA4B;SAC/B;QACD,CAAC,CAAC;YACE,oCAAoC;YACpC,mCAAmC;YACnC,4BAA4B;SAC/B,CAAC;IACN,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAC9B,wCAAwC;QACxC,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACD,SAAS,CAAC,iBAAiB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBAClE,SAAS,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClF,OAAO,UAAU,GAAG,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,SAAS,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,sEAAsE;IACtE,6DAA6D;IAC7D,IAAI,CAAC;QACD,SAAS,CAAC,yDAAyD,CAAC,CAAC;QACrE,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,MAAM,GAAI,QAAgB,CAAC,MAAM,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACT,SAAS,CAAC,0CAA0C,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;YACrD,SAAS,CAAC,uBAAuB,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC;YAC7D,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;gBAChC,SAAS,CAAC,uBAAuB,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5D,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnE,MAAM,WAAW,GAAG,QAAQ;wBACxB,CAAC,CAAC,uMAAuM;wBACzM,CAAC,CAAC,yMAAyM,CAAC;oBAChN,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBAC5D,SAAS,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAC;oBACpE,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpD,OAAO,2BAA2B,WAAW,GAAG,CAAC;oBACrD,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,6CAA6C,CAAC,CAAC;YACzD,4CAA4C;YAC5C,MAAM,EAAE,GAAI,QAAgB,CAAC,WAAW,CAAC;YACzC,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;gBACnD,SAAS,CAAC,sDAAsD,CAAC,CAAC;gBAClE,MAAM,KAAK,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;gBACrC,SAAS,CAAC,uBAAuB,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,yDAAyD,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,SAAS,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,6DAA6D;IAC7D,0DAA0D;IAC1D,6DAA6D;IAC7D,MAAM,kBAAkB,GAAG;QACvB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;QAChE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE;QACtE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;KACjC,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC;YACD,SAAS,CAAC,gBAAgB,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAChG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YAChH,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACvF,OAAO,wCAAwC,CAAC,GAAG,CAAC;QACxD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,mEAAmE;IACnE,6DAA6D;IAC7D,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,WAAW,GAAG;YAChB,oBAAoB;YACpB,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAC5C,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,EAAE;YAC5F,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,EAAE;YAChG,8DAA8D;YAC9D,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAC7C,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAC5C,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAG,cAAc;YACzE,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YACrE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YAChE,+CAA+C;YAC/C,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAC7E,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAE;SAChF,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACD,SAAS,CAAC,eAAe,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtF,SAAS,CAAC,eAAe,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzF,OAAO,SAAS,CAAC,+BAA+B,CAAC;YACrD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC;QACD,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtD,SAAS,CAAC,qCAAqC,aAAa,yBAAyB,CAAC,CAAC;QACvF,YAAY,GAAG,EAAE,MAAM,EAAE,aAAqC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACxF,SAAS,CAAC,0EAA0E,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,SAAS,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,0EAA0E;IAC1E,4DAA4D;IAC5D,oDAAoD;IACpD,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC;QACnB,SAAS,CAAC,6EAA6E,CAAC,CAAC;IAC7F,CAAC;IAED,SAAS,CAAC,iEAAiE,CAAC,CAAC;IAC7E,OAAO,iBAAiB,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,qBAAqB;AAEd,KAAK,UAAU,QAAQ,CAAC,OAAgC;IAC3D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7C,oBAAoB;IACpB,WAAW,GAAG,iBAAiB,EAAE,CAAC;IAClC,6FAA6F;IAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAClD,YAAY,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,gBAAgB,YAAY,GAAG,CAAC,CAAC;IAEpF,cAAc;IACd,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAS,YAAY,CAAC,CAAC;IACpD,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IACvF,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;IAE1D,oFAAoF;IACpF,8EAA8E;IAC9E,SAAS,CAAC,mBAAmB,WAAW,SAAS,OAAO,CAAC,GAAG,iCAAiC,CAAC,CAAC;IAE/F,aAAa;IACb,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnF,SAAS,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACvC,SAAS,CAAC,OAAO,GAAG,mBAAmB,WAAW,EAAE,CAAC;IACrD,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtC,iBAAiB;IACjB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAExC,IAAI,QAAQ,EAAE,CAAC;QACX,qCAAqC;QACrC,8EAA8E;QAC9E,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3E,SAAS,CAAC,iDAAiD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5E,6CAA6C;YAC7C,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YACpH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAC7C,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAC5D,CAAC;YACF,SAAS,CAAC,8CAA8C,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;YACjF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC7B,SAAS,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,4CAA4C;YAC5C,SAAS,CAAC,6CAA6C,CAAC,CAAC;YACzD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACvB,SAAS,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,SAAS,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,YAAY,EAAE,CAAC,CAAE,yCAAyC;QAC1D,qBAAqB,EAAE,CAAC,CAAE,0CAA0C;QACpE,SAAS,CAAC,IAAI,GAAG,iBAAiB,CAAC;QACnC,SAAS,CAAC,OAAO,GAAG,mBAAmB,WAAW,2BAA2B,CAAC;QAE9E,gCAAgC;QAChC,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YAChE,IAAI,CAAC;gBACD,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,+BAA+B,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;QACL,CAAC,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC/D,IAAI,CAAC;gBACD,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,+BAA+B,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,CAAC;QACL,CAAC,CAAC,CACL,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,SAAS,CAAC,IAAI,GAAG,4BAA4B,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAC3E,CAAC;IAED,2BAA2B;IAC3B,gBAAgB,EAAE,CAAC;IAEnB,qDAAqD;IACrD,oBAAoB,EAAE,CAAC;IACvB,0BAA0B;IAC1B,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACxD,QAAQ,GAAG,IAAI,CAAC;QAChB,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,+BAA+B,WAAW,GAAG,CAAC,CAAC;IACxF,CAAC,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,EAAE,GAAG,EAAE;QACvD,QAAQ,GAAG,KAAK,CAAC;QACjB,2CAA2C;QAC3C,SAAS,CAAC,IAAI,GAAG,4BAA4B,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;IACnE,CAAC,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QAChE,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;YACtD,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBACpC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,UAAU;gBAC5B,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC7D,SAAS,EAAE,CAAC,CAAC,EAAE;aAClB,CAAC,CAAC,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE;gBAClD,WAAW,EAAE,kCAAkC;aAClD,CAAC,CAAC;YACH,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAE,IAAY,CAAC,SAAS,CAAC,CAAC;gBACxD,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,iBAAkB,IAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;IACL,CAAC,CAAC,CACL,CAAC;IAEF,UAAU;IACV,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;QACvB,OAAO,EAAE,GAAG,EAAE;YACV,IAAI,GAAG,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YACjC,IAAI,eAAe,EAAE,CAAC;gBAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;QACrD,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,QAAQ,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,SAAgB,UAAU;IACtB,yDAAyD;IACzD,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,IAAI,QAAQ,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,CAAC;IACX,IAAI,GAAG,EAAE,CAAC;QACN,IAAI,CAAC;YAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;IACpC,CAAC;AACL,CAAC"} \ No newline at end of file diff --git a/extension/src/extension.ts b/extension/src/extension.ts index d6714dd..a5204f7 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -113,6 +113,27 @@ function writeChatSnapshot(text: string) { } } +function writeChatSnapshotWithFiles(text: string, files: Array<{name: string, content: string}>) { + try { + const snapshotDir = path.join(bridgePath, 'chat_snapshots'); + if (!fs.existsSync(snapshotDir)) { fs.mkdirSync(snapshotDir, { recursive: true }); } + const id = Date.now().toString(); + const data = { + id, + project_name: projectName, + content: text, + attached_files: files, + timestamp: Date.now() / 1000, + }; + const filePath = path.join(snapshotDir, `${id}.json`); + fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf-8'); + logToFile(`[SNAPSHOT] written ${id}.json (${text.length} chars, ${files.length} files)`); + if (activeSessionId) { writeRegistration(activeSessionId); } + } catch (e: any) { + console.log(`Gravity Bridge: snapshot+files write error: ${e.message}`); + } +} + // ─── Command File Watcher (Discord → Antigravity) ─── @@ -1823,8 +1844,8 @@ function setupMonitor() { if (text.length > 10) { lastResponseCaptureStep = actualIdx; logToFile(`[RT-CAPTURE] step=${actualIdx} (${text.length} chars)`); - const truncated = text.length > 1800 - ? text.substring(0, 1800) + '\n\n_(이하 생략)_' + const truncated = text.length > 3500 + ? text.substring(0, 3500) + '\n\n_(이하 생략)_' : text; writeChatSnapshot(`💬 **AI 응답**\n\n${truncated}`); break; @@ -2116,7 +2137,12 @@ function setupMonitor() { if (notifyStep) { if (notifyStep.stepIndex > lastNotifyStepIndex) { lastNotifyStepIndex = notifyStep.stepIndex; - const content = notifyStep.step?.notifyUser?.notificationContent || ''; + const notifyData = notifyStep.step?.notifyUser || {} as any; + const content = notifyData.notificationContent || ''; + // Log full structure once for schema discovery + if (pollCount <= 3 || notifyStep.stepIndex <= lastNotifyStepIndex + 1) { + logToFile(`[NOTIFY-STEP] keys=[${Object.keys(notifyData).join(',')}]`); + } logToFile(`[NOTIFY-STEP] NEW step=${notifyStep.stepIndex} content=${content.length} chars`); // Filter: relay all non-empty notifications if (content.length > 10) { @@ -2124,6 +2150,37 @@ function setupMonitor() { } else if (content.length > 0) { logToFile(`[NOTIFY-STEP] skipped (too short: ${content.length} chars): ${content}`); } + + // ── PathsToReview: read and relay referenced artifact files ── + const pathsToReview: string[] = notifyData.pathsToReview + || notifyData.paths_to_review + || notifyData.filePaths + || []; + if (pathsToReview.length > 0) { + logToFile(`[NOTIFY-STEP] PathsToReview: ${pathsToReview.length} files`); + for (const filePath of pathsToReview.slice(0, 5)) { + try { + if (fs.existsSync(filePath)) { + const fileContent = fs.readFileSync(filePath, 'utf-8'); + const fileName = path.basename(filePath); + const MAX_ARTIFACT_SIZE = 8000; + const truncatedContent = fileContent.length > MAX_ARTIFACT_SIZE + ? fileContent.substring(0, MAX_ARTIFACT_SIZE) + '\n\n_(이하 생략)_' + : fileContent; + // Write as snapshot with attached_files for bot to send as Discord file + writeChatSnapshotWithFiles( + `📎 **문서: ${fileName}** (${Math.round(fileContent.length/1024)}KB)`, + [{ name: fileName, content: truncatedContent }] + ); + logToFile(`[NOTIFY-STEP] relayed artifact: ${fileName} (${fileContent.length} chars)`); + } else { + logToFile(`[NOTIFY-STEP] artifact not found: ${filePath}`); + } + } catch (e: any) { + logToFile(`[NOTIFY-STEP] artifact read error: ${e.message}`); + } + } + } } } else if (pollCount <= 5) { logToFile(`[NOTIFY-STEP] null (no notify step in session)`); @@ -2251,8 +2308,8 @@ function setupMonitor() { if (!textContent && s?.rawOutput) textContent = typeof s.rawOutput === 'string' ? s.rawOutput : JSON.stringify(s.rawOutput); if (textContent.length > 10) { logToFile(`[RESPONSE-CAPTURE] found ${sType} (${textContent.length} chars) at step ${offset + ri}`); - const truncated = textContent.length > 1800 - ? textContent.substring(0, 1800) + '\n\n_(이하 생략)_' + const truncated = textContent.length > 3500 + ? textContent.substring(0, 3500) + '\n\n_(이하 생략)_' : textContent; writeChatSnapshot(`💬 **AI 응답**\n\n${truncated}`); break; diff --git a/gateway.py b/gateway.py index 26ef147..a1067af 100644 --- a/gateway.py +++ b/gateway.py @@ -157,9 +157,10 @@ class GatewayAPI: data = await request.json() project = data.get("project_name", "") content = data.get("content", "") + attached_files = data.get("attached_files", []) - if not project or not content: - return web.json_response({"ok": False, "error": "project_name and content required"}, status=400) + if not project or (not content and not attached_files): + return web.json_response({"ok": False, "error": "project_name and content/attached_files required"}, status=400) # Write to chat_snapshots dir for bot's scanner snap_dir = self.bot.bridge.transport.bridge_dir / "chat_snapshots" if hasattr(self.bot.bridge.transport, 'bridge_dir') else None @@ -172,12 +173,15 @@ class GatewayAPI: "content": content, "timestamp": time.time(), } + if attached_files: + snap_data["attached_files"] = attached_files (snap_dir / f"{snap_id}.json").write_text( json.dumps(snap_data, ensure_ascii=False, indent=2), encoding="utf-8", ) - logger.info(f"[GATEWAY] chat received: project={project} len={len(content)}") + af_info = f" +{len(attached_files)} files" if attached_files else "" + logger.info(f"[GATEWAY] chat received: project={project} len={len(content)}{af_info}") return web.json_response({"ok": True}) except Exception as e: logger.error(f"[GATEWAY] chat error: {e}") diff --git a/watcher.py b/watcher.py index 7ef2704..71d408e 100644 --- a/watcher.py +++ b/watcher.py @@ -110,8 +110,14 @@ class BrainEventHandler(FileSystemEventHandler): return True def _is_watched_file(self, file_name: str) -> bool: - """Strict filter: only watch primary artifact files.""" - return file_name in Config.WATCHED_FILES + """Filter: watch primary artifact files + any file matching watched extensions.""" + if file_name in Config.WATCHED_FILES: + return True + # Extension-based matching (e.g., any .md file in conversation dir) + ext = Path(file_name).suffix + if ext and ext in Config.WATCHED_EXTENSIONS: + return True + return False def _emit(self, event: BrainEvent): self.loop.call_soon_threadsafe(self.event_queue.put_nowait, event) @@ -142,9 +148,17 @@ class BrainEventHandler(FileSystemEventHandler): if not conv_id: return + # Exclude files in .system_generated subdirectory (AG internal logs) + try: + relative = path.relative_to(Config.BRAIN_PATH / conv_id) + if '.system_generated' in relative.parts: + return + except ValueError: + pass + file_name = path.name - # STRICT filter: only primary artifacts + # Filter: watched files by name or extension if not self._is_watched_file(file_name): return