From 70d7cb34a335bd00f60697af81dd3036af8948ea Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Tue, 18 Aug 2026 22:15:19 +0900 Subject: [PATCH] =?UTF-8?q?feat(coach):=20AI=20=EC=BD=94=EC=B9=AD=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EB=B0=8F=20=EB=B2=84=EB=B8=94=20=ED=8C=9D?= =?UTF-8?q?=EC=97=85=20=EB=8C=80=ED=99=94=ED=98=95=20=EC=A1=B0=EC=96=B8=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/api/app/routes/sessions.py | 2 + apps/api/app/services/live_coach.py | 28 + .../engine.public.err.log.2026-08-07T2200.bak | 4 + .../engine.public.err.log.20260809-160042.bak | 4 + .../engine.public.out.log.2026-08-07T2200.bak | 2235 +++++++++++++++++ .../engine.public.out.log.20260809-160042.bak | 150 ++ apps/web/e2e/uc-session-coach-voice.spec.ts | 80 +- apps/web/scripts/check-design-ssot.mjs | 20 +- apps/web/src/components/auth/auth-shell.css | 36 +- .../src/components/avatar/client-avatar.css | 6 +- apps/web/src/components/shell/AppShell.tsx | 75 +- apps/web/src/components/shell/Sidebar.tsx | 2 +- apps/web/src/components/shell/shell.css | 250 +- apps/web/src/components/ui/Icon.tsx | 7 + apps/web/src/components/ui/ui.css | 5 +- apps/web/src/lib/api.gen.ts | 2 + apps/web/src/pages/Session.tsx | 861 ++++++- apps/web/src/pages/avatar-expression-lab.css | 14 +- apps/web/src/pages/avatar-preview.css | 8 +- apps/web/src/pages/learner-home.css | 85 +- apps/web/src/pages/login/login.css | 34 +- apps/web/src/pages/onboarding.css | 8 +- apps/web/src/pages/pending-approval.css | 13 +- apps/web/src/pages/persona-studio.css | 4 +- apps/web/src/pages/professor.css | 4 + .../session-review/calibration-transfer.css | 2 +- .../session-review/deliberate-practice.css | 14 +- .../pages/session-review/session-review.css | 78 +- .../session/alliance-checkpoint-prompt.css | 50 +- apps/web/src/pages/session/session.css | 1672 ++++++------ apps/web/src/pages/settings/settings.css | 6 +- apps/web/src/pages/supervision-research.css | 5 + apps/web/src/styles/global.css | 14 +- apps/web/src/styles/tokens.css | 7 + .../test-results/g7-voice-consent-desktop.png | Bin 0 -> 196649 bytes .../test-results/g7-voice-consent-mobile.png | Bin 0 -> 141387 bytes 36 files changed, 4521 insertions(+), 1264 deletions(-) create mode 100644 apps/api/engine.public.err.log.2026-08-07T2200.bak create mode 100644 apps/api/engine.public.err.log.20260809-160042.bak create mode 100644 apps/api/engine.public.out.log.2026-08-07T2200.bak create mode 100644 apps/api/engine.public.out.log.20260809-160042.bak create mode 100644 apps/web/test-results/g7-voice-consent-desktop.png create mode 100644 apps/web/test-results/g7-voice-consent-mobile.png diff --git a/apps/api/app/routes/sessions.py b/apps/api/app/routes/sessions.py index 1d8da2c..3e23100 100644 --- a/apps/api/app/routes/sessions.py +++ b/apps/api/app/routes/sessions.py @@ -130,6 +130,7 @@ class TurnRequest(BaseModel): class LiveCoachRequest(BaseModel): learner_text: str = Field(..., min_length=1) + question: Optional[str] = None client_reply: Optional[str] = None turn_seq: Optional[int] = Field(default=None, ge=1) @@ -1673,6 +1674,7 @@ async def live_coach_turn( persona_code=sess.persona_code, persona_name=sess.persona.display_name, learner_text=body.learner_text, + question=body.question, client_reply=body.client_reply, recent_turns=sess.recent_turns(k=8, visible_to=LEARNER_VISIBLE_AI_ROLE), evaluation=_latest_turn_evaluation(sess, body.turn_seq), diff --git a/apps/api/app/services/live_coach.py b/apps/api/app/services/live_coach.py index 48520ce..b5faf37 100644 --- a/apps/api/app/services/live_coach.py +++ b/apps/api/app/services/live_coach.py @@ -133,6 +133,7 @@ class LiveCoachInput(BaseModel): persona_code: str persona_name: str learner_text: str + question: Optional[str] = None client_reply: Optional[str] = None recent_turns: list[dict[str, str]] = Field(default_factory=list) evaluation: Optional[dict[str, Any]] = None @@ -546,12 +547,33 @@ def _fallback_suggestion( ) crisis = guardrail.classify_crisis(text) + q = (item.question or "").strip() if crisis.kind != guardrail.CrisisKind.NONE: tone = "warn" focus = "risk" title = "안전 먼저" message = "위험 단서가 나온 턴이다. 방법을 캐묻지 말고 최근성, 강도, 보호요인을 차분히 확인해라." next_line = "그 생각이 최근에 얼마나 자주, 얼마나 강하게 올라오는지 안전을 위해 같이 확인해도 될까요?" + elif q and any(k in q for k in ("저항", "방어", "닫", "안 열", "거부")): + focus = "rapport" + title = "저항 수용과 안전감" + message = "내담자의 방어는 자연스러운 안전 전략입니다. 방어를 깨뜨리려 하지 말고 그 부담감을 먼저 수용해 주세요." + next_line = "지금 이 이야기를 꺼내는 것 자체가 많이 조심스럽고 부담되셨을 것 같아요." + elif q and any(k in q for k in ("공감", "라포", "위로", "마음", "감정")): + focus = "emotion" + title = "공감적 감정 명명" + message = "내담자가 겪고 있는 혼란스러운 마음에 이름을 붙여주고, 타당화하는 반영을 시도하세요." + next_line = "혼자서 그 모든 감정을 감당하느라 많이 지치고 외로우셨을 것 같습니다." + elif q and any(k in q for k in ("탐색", "질문", "원인", "호소", "사건")): + focus = "exploration" + title = "열린 초점 탐색" + message = "구체적인 촉발 사건과 그때의 신체 반응이나 생각을 묻는 열린 질문을 던져보세요." + next_line = "그런 생각이 들었을 때, 몸에서는 어떤 느낌이나 신호가 먼저 느껴졌나요?" + elif q and any(k in q for k in ("다음", "추천", "어떻게", "뭐라", "발화")): + focus = "exploration" + title = "다음 개입 추천" + message = f"현재 [{item.stage}] 단계 흐름에 맞춰 내담자의 감정을 먼저 수용하고 열린 질문으로 이어가세요." + next_line = stage_next_lines.get(str(item.stage), "그 상황에서 가장 크게 느껴졌던 마음은 어떤 것이었나요?") elif any(word in text for word in ("해야", "해봐", "괜찮아", "그냥", "왜 안")): tone = "warn" focus = "rapport" @@ -656,6 +678,11 @@ def _messages(item: LiveCoachInput, grounding: list[LiveCoachGrounding]) -> list ) or "(이번 회기 첫 코칭)" ) + question_block = ( + f"[상담자의 질문/요청]\n{_mask_prompt_text(item.question)}\n(상담자의 질문에 집중하여 조언과 추천 발화를 생성한다)\n\n" + if item.question + else "" + ) user = ( f"[세션] {item.session_id} / turn {item.turn_seq}\n" f"[내담자] {item.persona_name} ({item.persona_code})\n" @@ -663,6 +690,7 @@ def _messages(item: LiveCoachInput, grounding: list[LiveCoachGrounding]) -> list f"[이번 회기 목표 단계] {goals} — 코칭은 목표 단계 작업에 정렬하고, 목표를 이미 이뤘다면 심화를 제안한다.\n" f"[직전 코칭]\n{prior}\n(같은 조언을 반복하지 말고 다음 단계를 제시한다)\n\n" f"[최근 맥락]\n{recent}\n\n" + f"{question_block}" f"[이번 상담자 발화]\n{learner_masked}\n\n" f"[이어진 내담자 응답]\n{client_masked or '(아직 없음)'}\n\n" f"[fast-loop 평가 신호]\n{evaluation}\n\n" diff --git a/apps/api/engine.public.err.log.2026-08-07T2200.bak b/apps/api/engine.public.err.log.2026-08-07T2200.bak new file mode 100644 index 0000000..e3756ee --- /dev/null +++ b/apps/api/engine.public.err.log.2026-08-07T2200.bak @@ -0,0 +1,4 @@ +INFO: Started server process [8752] +INFO: Waiting for application startup. +INFO: Application startup complete. +INFO: Uvicorn running on http://127.0.0.1:9099 (Press CTRL+C to quit) diff --git a/apps/api/engine.public.err.log.20260809-160042.bak b/apps/api/engine.public.err.log.20260809-160042.bak new file mode 100644 index 0000000..1e204ed --- /dev/null +++ b/apps/api/engine.public.err.log.20260809-160042.bak @@ -0,0 +1,4 @@ +INFO: Started server process [69132] +INFO: Waiting for application startup. +INFO: Application startup complete. +INFO: Uvicorn running on http://127.0.0.1:9099 (Press CTRL+C to quit) diff --git a/apps/api/engine.public.out.log.2026-08-07T2200.bak b/apps/api/engine.public.out.log.2026-08-07T2200.bak new file mode 100644 index 0000000..bed851f --- /dev/null +++ b/apps/api/engine.public.out.log.2026-08-07T2200.bak @@ -0,0 +1,2235 @@ +INFO: 127.0.0.1:12361 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12391 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:12417 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:12419 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12447 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:12448 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12447 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:12448 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13919 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13921 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:13919 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13921 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:13921 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:13919 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2324 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2326 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:2324 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2326 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:2326 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:2324 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1936 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1938 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:1936 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1938 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:1938 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:1936 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2515 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2517 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:2515 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2517 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:2517 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:2515 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5042 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5044 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:5044 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:9384 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9386 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:9386 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 503 Service Unavailable +INFO: 127.0.0.1:3640 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3642 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3642 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4486 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4488 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4488 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7583 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7585 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7585 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5229 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5231 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5231 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8403 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8405 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8405 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4233 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4235 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4235 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8820 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8822 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8822 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6315 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6317 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6317 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2609 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2611 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2611 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8155 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8163 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8163 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10088 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1365 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1365 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3192 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11841 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11841 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11848 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11841 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1559 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1559 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4251 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4251 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4367 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4367 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14383 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14383 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6213 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6213 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4052 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4052 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2264 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2264 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3006 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3006 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9079 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9079 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1575 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9201 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1153 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1153 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6911 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6911 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1566 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1566 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13316 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13316 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9071 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9071 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9230 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9230 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7978 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7978 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7900 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7900 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1080 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1080 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7537 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7537 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3557 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2746 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14650 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14650 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12876 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12876 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7659 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7659 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10421 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10421 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14411 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14411 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11510 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11510 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8706 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8706 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14057 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14057 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4515 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1905 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1905 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3444 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6598 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6598 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12030 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12030 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12032 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12030 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8058 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8060 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8060 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12376 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12378 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12378 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9979 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9981 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9981 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10148 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10150 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10150 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9202 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9204 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9204 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7324 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7326 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7326 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5072 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5074 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5074 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14729 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14731 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14731 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1518 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1520 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1520 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3442 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3444 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3444 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3987 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3990 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3990 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2919 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2921 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2921 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3438 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3440 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3440 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5240 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5242 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5242 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5443 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5445 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5445 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14666 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14668 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14668 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14428 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14430 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14430 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14057 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14059 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14059 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12578 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12580 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12580 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4073 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1899 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1899 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4520 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4522 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4522 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11067 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11069 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11069 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11474 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11476 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11476 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1084 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1086 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1086 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8805 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8807 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8807 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14309 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14311 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14311 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7520 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7522 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7522 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8047 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1828 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1828 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6639 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6642 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6642 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11144 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11146 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11146 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8704 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8707 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8707 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3210 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3212 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3212 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1544 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1546 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1546 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7751 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13324 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13324 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6489 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6491 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6491 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5264 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5266 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5266 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5893 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5896 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5896 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3642 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3644 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3644 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8110 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8112 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8112 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7352 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7354 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7354 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4647 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4649 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4649 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8896 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8898 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8898 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1212 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1214 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1214 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12028 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12030 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12030 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3246 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3248 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3248 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10374 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10376 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10376 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14759 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14761 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14761 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6216 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6218 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6218 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7974 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7976 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7976 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8208 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8210 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8210 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13985 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13987 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13987 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3600 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3602 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3602 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4007 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4009 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4009 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5736 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5738 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5738 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14307 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14309 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14309 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4865 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4867 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4867 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1467 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1469 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1469 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11836 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11838 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11838 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7466 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7468 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7468 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5760 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5762 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5762 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1088 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1090 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1090 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11841 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11843 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11843 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8997 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9000 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9000 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8241 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11891 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11891 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7262 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7264 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7264 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9720 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9722 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9722 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6411 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6413 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6413 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8726 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8728 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8728 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6032 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6034 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6034 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14746 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14748 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14748 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11496 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11498 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11498 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12075 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12077 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12077 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2680 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2683 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2683 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7950 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7952 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7952 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6454 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6456 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6456 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7893 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7895 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7895 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3136 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3139 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3139 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6917 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6920 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6920 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3693 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3695 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3693 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3695 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13403 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13405 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13405 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10904 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6047 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6049 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6049 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10346 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10348 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10348 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12700 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12702 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12702 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1790 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2467 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2467 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1143 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1145 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1145 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4508 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4511 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4511 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9680 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9682 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9682 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13649 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13651 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13651 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8363 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8365 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8365 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6085 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6087 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6087 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13347 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13349 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13349 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13214 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13216 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13216 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4028 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4030 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4030 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7369 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7371 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7371 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2335 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2337 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2337 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12482 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12484 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12484 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1043 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1046 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1046 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13701 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13703 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13703 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6626 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6628 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6628 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12391 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12393 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12393 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8099 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8103 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8103 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5113 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5115 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5115 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11140 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11142 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11142 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2514 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2518 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2518 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1344 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1346 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1346 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5748 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5750 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5750 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6032 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6034 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6034 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1471 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1473 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1473 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8579 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8581 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8581 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5425 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5427 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5427 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7374 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7376 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7376 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2528 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7385 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7385 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4265 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14889 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14889 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6957 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3398 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3398 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13661 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3398 - "GET /ready?provider=agy_cli&model=gemini-3.6-flash-high&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3099 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3099 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14775 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14775 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9594 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9594 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6744 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6744 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8033 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8033 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10459 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10459 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4034 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4034 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2622 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2622 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2959 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2959 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2560 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2560 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2893 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2893 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7441 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7441 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7776 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7776 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7782 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7782 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8133 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8133 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8138 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8138 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8455 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8455 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4826 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4826 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5147 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5147 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9325 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9325 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10135 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10135 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14425 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14425 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1328 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1328 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7116 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7116 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4280 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4280 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6659 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4229 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2652 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2652 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7847 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7847 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5856 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5856 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3933 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3933 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6623 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6623 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9254 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9254 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9597 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9597 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1790 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1790 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2364 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2364 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5798 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1068 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9303 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9303 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2677 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2677 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12178 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12178 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1899 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1899 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9737 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9737 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4742 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4742 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7907 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7907 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11042 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11042 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4820 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4820 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5724 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5724 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6099 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6099 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4412 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4412 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10470 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10470 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12548 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12548 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3556 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3556 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4748 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4748 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5377 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5377 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8084 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8084 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3460 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3460 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4921 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4921 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4648 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4648 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5173 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5173 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3242 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3242 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6001 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6001 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8706 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8706 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5641 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5641 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12651 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12651 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5322 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5322 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5435 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5435 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13128 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13128 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1993 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1993 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2699 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2699 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5790 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5790 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11837 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11837 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12339 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12339 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14516 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14516 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9264 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9264 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9213 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9213 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4074 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4074 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1610 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1610 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2377 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2377 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1268 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1268 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7060 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7060 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3810 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3810 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2641 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2641 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6383 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6383 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8277 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8277 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5228 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5228 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12848 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12848 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2206 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2206 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2406 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2406 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3903 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3903 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10818 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10818 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7714 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7714 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10676 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10676 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7320 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7320 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4693 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4693 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8071 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8071 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6734 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6734 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2790 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2790 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8501 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8501 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13246 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13246 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2575 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2575 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4046 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4046 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9734 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9734 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12867 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12867 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10083 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10083 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2295 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2295 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11838 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11838 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4569 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4569 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6535 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6535 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7455 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7455 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4920 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4920 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13424 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13424 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5298 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5298 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2042 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2042 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7451 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7451 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2635 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2635 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7445 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7445 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10522 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10522 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13891 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13891 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1790 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1790 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13320 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13320 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2236 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2236 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4340 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4340 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1752 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1752 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5088 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5088 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12778 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12778 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13841 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13841 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14562 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14562 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10147 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10147 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7266 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7266 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7386 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7386 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1269 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1269 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6127 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6127 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6419 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6419 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4130 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4130 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6518 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6518 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10759 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10759 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1901 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1901 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8836 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8836 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11010 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11010 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5365 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5365 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8191 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8191 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6434 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6434 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6274 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6274 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6363 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10996 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7339 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1411 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1411 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1411 - "POST /v1/stream HTTP/1.1" 200 OK +INFO: 127.0.0.1:3272 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3272 - "POST /v1/stream HTTP/1.1" 200 OK +INFO: 127.0.0.1:5574 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5574 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5574 - "POST /v1/stream HTTP/1.1" 200 OK +INFO: 127.0.0.1:2786 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2786 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5298 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6031 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9437 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2786 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6031 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6928 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6928 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6930 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6928 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "DELETE /session/3055be0f-01ad-44b5-b786-810dfbf794f0 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10380 - "DELETE /session/24d33776-ffea-422c-834a-47cd0d63961a HTTP/1.1" 200 OK +INFO: 127.0.0.1:1429 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1429 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1429 - "DELETE /session/3d495cc7-4269-451a-8b39-d56f982f11fe HTTP/1.1" 200 OK +INFO: 127.0.0.1:1429 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1429 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1429 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1429 - "DELETE /session/af029997-677b-4c5d-8014-0bebb9c39e53 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3498 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4342 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2283 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2285 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2285 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4342 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4342 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4342 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4342 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:8495 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8495 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4966 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10991 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:8705 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8707 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8707 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10991 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10991 - "DELETE /session/63f1a2b8-0545-437d-a0c1-7e80e4ba75db HTTP/1.1" 200 OK +INFO: 127.0.0.1:5775 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5775 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2913 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5775 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2913 - "DELETE /session/db9ba9ee-9ef4-4e14-9828-02b265515d15 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7717 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7717 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7717 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7717 - "DELETE /session/2b6db500-b556-4446-824e-a3e3d8c6b81b HTTP/1.1" 200 OK +INFO: 127.0.0.1:5775 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7327 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:8843 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8845 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8845 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14375 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14377 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14377 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9021 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9024 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9024 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14186 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14188 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14188 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4845 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4848 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4848 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5246 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "DELETE /session/alliance-1c6c3e10-aad7-5fc3-ba68-5e739b5fa629-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "DELETE /session/alliance-c8dee912-4e88-5338-90d7-43a698642c34-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "DELETE /session/alliance-c588278e-73ef-565b-b681-6ed5ee49049d-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:1890 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1892 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1892 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "DELETE /session/alliance-3c5fd531-45c2-5b67-9dd9-e245015398ce-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:12964 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "DELETE /session/alliance-d24fa4b0-f4cc-55a1-a895-b4aced7426fa-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "DELETE /session/alliance-0afd7bf7-7523-5f4b-b54d-dff767b5b49c-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "DELETE /session/alliance-4ed629b7-3015-5d0e-a9ad-9fbfee2b2add-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6328 - "DELETE /session/alliance-ff87c9fa-e5da-5d1c-bcf0-428976a6fe7a-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:13807 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5627 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7824 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1255 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1255 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3639 - "DELETE /session/b74a95f5-aa29-457c-8dcd-db03115c0ca0 HTTP/1.1" 200 OK +INFO: 127.0.0.1:11854 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "DELETE /session/alliance-20e31374-d16a-5011-95d2-b81c73a50a98-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:14538 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14539 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14539 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "DELETE /session/alliance-7e7ae241-9ccc-5da1-be33-1cd9748c7444-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "DELETE /session/alliance-2c292438-a576-5008-b8bf-2d832a0b5a5b-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "DELETE /session/alliance-7e523f68-a251-5c18-88ec-a71e21a3be05-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "DELETE /session/alliance-7f870c65-1c7b-5378-9aa0-5ba901821776-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "DELETE /session/alliance-3773ae37-485e-57f7-a0a8-36b1f17ce407-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:4269 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4269 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "DELETE /session/alliance-2294978e-3874-5ecf-a7ef-df0acf0ea92d-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:4269 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7860 - "DELETE /session/alliance-43fc2fa6-2453-5863-8ba2-21d7692499ab-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:4269 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4269 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4269 - "DELETE /session/4224799d-bd5a-4058-8038-0cef905407bd HTTP/1.1" 200 OK +INFO: 127.0.0.1:9354 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3887 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3890 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3890 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5479 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5479 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5479 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5479 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5479 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5479 - "DELETE /session/6d92bae7-1e7a-4aa5-8cac-6d72fd409ba1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6490 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6490 - "DELETE /session/alliance-8152b939-4a9a-42bc-92c6-4226b679cb1a-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:6491 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6490 - "DELETE /session/alliance-8152b939-4a9a-42bc-92c6-4226b679cb1a-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-da2640ec-3898-5ae2-9e7f-138be3ed8849-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6484 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-99b123f1-1a6d-5599-9752-3f4b2541b544-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-99b123f1-1a6d-5599-9752-3f4b2541b544-independent-observer-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:13556 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-dcfb8833-0f7c-5b57-a4d2-9f2eee45dff0-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4191 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4191 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-8ed466e9-5c54-5b6e-bb97-0d1e4f9cf096-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4191 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4191 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:12656 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12658 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12658 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-f47483d5-3507-517e-a554-761f3f8b2b05-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4191 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4191 - "DELETE /session/45ef2f63-d52c-47e4-97cb-98f3091bf27e HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-f47483d5-3507-517e-a554-761f3f8b2b05-client-report-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6773 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6773 - "DELETE /session/alliance-bb7d04ee-35fb-45d9-a4e0-c6c578aa8ebe-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6774 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6773 - "DELETE /session/alliance-bb7d04ee-35fb-45d9-a4e0-c6c578aa8ebe-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6768 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-db7e4ef7-e85d-565e-b160-e27a5bbc0e07-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-325d03d6-3911-54b1-980e-9196629a8b9e-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4228 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4228 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7874 - "DELETE /session/alliance-20b56cad-f7bc-5b05-9a66-0b2057c55feb-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4228 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4228 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4228 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4228 - "DELETE /session/55389bd3-8ea2-4c9d-a625-a71fbb63d431 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10760 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10760 - "DELETE /session/alliance-adc45a38-1a53-4c59-bb41-72fdd65bdac0-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10759 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10759 - "DELETE /session/alliance-adc45a38-1a53-4c59-bb41-72fdd65bdac0-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10759 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10759 - "DELETE /session/alliance-adc45a38-1a53-4c59-bb41-72fdd65bdac0-client-report-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10754 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1082 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4089 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-19c44830-2313-56f1-9007-7eb39b980043-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4092 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4092 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-bd185646-8bb6-5e59-94aa-b19a2570002d-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-6eb6846e-36e0-54f5-a866-8dd03f69657e-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-d6ce19c0-8575-5920-b1be-ea77ca43b370-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-1549f3b3-f92e-5a08-b7cd-f0f9c8e5c5d2-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 502 Bad Gateway +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-7b6c39fa-b916-557a-9ab5-3cc36f38064b-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-7b6c39fa-b916-557a-9ab5-3cc36f38064b-client-report-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-181edfc0-faf9-5f60-b122-7261f2c487c6-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-181edfc0-faf9-5f60-b122-7261f2c487c6-client-report-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4352 - "DELETE /session/alliance-bfec51b4-b4a7-5a19-9772-24b4bd41004d-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6393 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6395 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6395 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8118 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8121 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8121 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10300 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10304 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10304 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5564 - "DELETE /session/b70894f9-9251-431b-9eac-a645c9f79cfb HTTP/1.1" 200 OK +INFO: 127.0.0.1:9817 - "DELETE /session/8ade39da-dcea-4f92-b47f-b72490e8dcd9 HTTP/1.1" 200 OK +INFO: 127.0.0.1:12920 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12923 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12923 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4431 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4434 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4434 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8920 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8922 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8922 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11021 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9871 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9871 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9871 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9871 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9871 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9871 - "DELETE /session/8854fd64-2e63-45da-a97f-30e7ba8de1f2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7427 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7427 - "DELETE /session/alliance-d85212f3-b9e1-4c73-8809-d34d7b473371-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7426 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7426 - "DELETE /session/alliance-d85212f3-b9e1-4c73-8809-d34d7b473371-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7421 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4382 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4384 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4384 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4396 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4396 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4396 - "DELETE /session/0c0ad4fe-5a3a-4803-a6c3-62b2c4e5117d HTTP/1.1" 200 OK +INFO: 127.0.0.1:13100 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:8089 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13637 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:13637 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:13637 - "DELETE /session/9cea118f-8930-4732-8819-48449dda6322 HTTP/1.1" 200 OK +INFO: 127.0.0.1:8223 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8225 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8225 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10623 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3267 - "DELETE /session/34f47553-e4b5-4f66-be87-7a0828baa05b HTTP/1.1" 200 OK +INFO: 127.0.0.1:9738 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9741 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9741 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6914 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6914 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5450 - "DELETE /session/2ecc4ecd-f453-4236-a01a-0a99b2669b55 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6914 - "DELETE /session/582b5902-7781-494b-9d82-83f21430c750 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6914 - "DELETE /session/49c99f59-0e7c-4342-827e-c32a351a79e3 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6914 - "DELETE /session/a249e1b8-1a99-4c19-85da-036f07655be0 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6914 - "DELETE /session/db66f277-2f93-416b-a8d2-d6cdf516ff32 HTTP/1.1" 200 OK +INFO: 127.0.0.1:5443 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9583 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9585 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9585 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12492 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8479 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8479 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4624 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4626 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4626 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6424 - "DELETE /session/93397b1e-98d9-41e4-a345-33e488e0c2d7 HTTP/1.1" 200 OK +INFO: 127.0.0.1:11014 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11016 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11016 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12860 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12862 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12862 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8332 - "DELETE /session/68c0f95b-b626-4360-8f50-f0718398084e HTTP/1.1" 200 OK +INFO: 127.0.0.1:7880 - "DELETE /session/dc7b8712-7be8-4f63-8d97-2441f494db96 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6314 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6316 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6316 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6916 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8709 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8712 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8712 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14378 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14378 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14378 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14378 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14378 - "DELETE /session/85db5d45-8bf5-41e3-a3e6-39d86f95b277 HTTP/1.1" 200 OK +INFO: 127.0.0.1:2055 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10972 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1932 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1932 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1676 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1678 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1678 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3413 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13048 - "DELETE /session/681c8298-493f-4580-9d95-21b1ca1d27f7 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10706 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13989 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13989 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6459 - "DELETE /session/9dae8749-871c-45dd-bc21-60174ab0a7bd HTTP/1.1" 200 OK +INFO: 127.0.0.1:6099 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6099 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7578 - "DELETE /session/3b352299-4c00-468a-a87c-a7282b8dd054 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6099 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6099 - "DELETE /session/7b9671f1-80a8-4871-ab49-7e7a0ad21eee HTTP/1.1" 200 OK +INFO: 127.0.0.1:10994 - "DELETE /session/78b24e48-6ca6-43c5-86c6-5499e6e7c947 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4603 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6536 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6536 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6536 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6536 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6536 - "DELETE /session/e3e07503-7033-41ea-808b-89bab82d86f1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:9924 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9926 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9926 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6201 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7584 - "DELETE /session/b8d0fdc8-7272-4714-a9d6-1d24187a1604 HTTP/1.1" 200 OK +INFO: 127.0.0.1:14318 - "DELETE /session/79a31eba-43b9-48e9-8cde-8c7f63f2391f HTTP/1.1" 200 OK +INFO: 127.0.0.1:7172 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7174 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7174 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9170 - "DELETE /session/43d79497-4fd8-4000-9c87-8f3572686ec1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3957 - "DELETE /session/e491c900-c5ae-4607-ac7c-4ba2eb3d1c84 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4178 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4178 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2429 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2431 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2431 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4178 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4178 - "DELETE /session/3b94e0ec-10a2-4ab6-916a-e64ccbb76598 HTTP/1.1" 200 OK +INFO: 127.0.0.1:5382 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4738 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4740 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4740 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11959 - "DELETE /session/e94d4620-7ed9-4b3a-8568-f8846b2aa2e2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10302 - "DELETE /session/9154a342-06a7-4e0e-8cf7-373f5be3cf9e HTTP/1.1" 200 OK +INFO: 127.0.0.1:2615 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2617 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2617 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9996 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9996 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9996 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9996 - "DELETE /session/3c834ffd-af5b-4a37-8fd3-ad0690deb165 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1693 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6164 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9975 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9977 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9977 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10449 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5603 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2526 - "DELETE /session/816479fd-cd0b-44a1-8c48-8b0336d15d41 HTTP/1.1" 200 OK +INFO: 127.0.0.1:8194 - "DELETE /session/77e8f8aa-d0b3-4336-92fc-426eec6d5dc4 HTTP/1.1" 200 OK +INFO: 127.0.0.1:11854 - "DELETE /session/7b9b9b17-c2ee-4012-9714-e27f9fba8204 HTTP/1.1" 200 OK +INFO: 127.0.0.1:11854 - "DELETE /session/df11cc84-c244-4032-99c4-14d45d0824f2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6737 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6739 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6739 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9105 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9772 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9772 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5627 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8499 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8501 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8501 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11863 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11865 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11865 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2914 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3596 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9659 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12189 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12191 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12191 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6721 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4723 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4728 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13268 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13270 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13270 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6345 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12947 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12949 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12949 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4006 - "DELETE /session/bad00886-54e8-4c01-8e39-2958151fcd60 HTTP/1.1" 200 OK +INFO: 127.0.0.1:14741 - "DELETE /session/979c2b89-dc54-4b71-89a4-27f524ba1b38 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6534 - "DELETE /session/6a16c2e5-07bd-49b3-957d-d42cc647fd04 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6534 - "DELETE /session/3c53e5a1-ef24-4239-af4a-e251b8eb236b HTTP/1.1" 200 OK +INFO: 127.0.0.1:10129 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2506 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10129 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10129 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10129 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:10129 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9858 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9860 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9860 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3910 - "DELETE /session/0ce75e32-f845-4798-b5b6-527ee4bb26e4 HTTP/1.1" 200 OK +INFO: 127.0.0.1:12337 - "DELETE /session/68871059-df5b-4bef-9dc2-27a634365dc2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:9364 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9366 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9366 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6740 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6742 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6742 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6911 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1437 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1439 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1439 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9115 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9119 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9119 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11367 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11369 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11369 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1526 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1528 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1528 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5616 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5618 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5618 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10256 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4267 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4267 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14890 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14892 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14892 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3802 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8598 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8600 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8600 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11084 - "DELETE /session/c7613596-4a78-4c4e-821c-05d8db498781 HTTP/1.1" 200 OK +INFO: 127.0.0.1:8333 - "DELETE /session/aece92cb-767b-44d8-984a-2f80220fb5e2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:11420 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7388 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7390 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7390 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4511 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4513 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4513 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13540 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13542 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13542 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6924 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12338 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9049 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9052 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9052 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2466 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6347 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6347 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6347 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6347 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6347 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6347 - "DELETE /session/4d98dada-928d-45cc-b389-4043837d0b28 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7610 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7610 - "DELETE /session/alliance-7c6b1b76-139b-4fdf-80c4-4771bb92c793-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7611 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7610 - "DELETE /session/alliance-7c6b1b76-139b-4fdf-80c4-4771bb92c793-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7604 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5791 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5791 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5791 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4119 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4121 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4121 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5791 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5791 - "DELETE /session/811d904f-64eb-4602-81d4-e4f7309feb03 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1139 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1141 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1141 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2973 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2997 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2997 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11023 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11025 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11025 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4599 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4601 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4601 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1086 - "DELETE /session/98c232a8-cc99-490f-805d-647dc076d9ad HTTP/1.1" 200 OK +INFO: 127.0.0.1:10842 - "DELETE /session/24cffcce-725a-41de-b8fe-4efe9581bc81 HTTP/1.1" 200 OK +INFO: 127.0.0.1:2444 - "DELETE /session/c9de90fe-2836-4b58-8dbb-ef34b517aee8 HTTP/1.1" 200 OK +INFO: 127.0.0.1:2444 - "DELETE /session/e716bcdc-ea76-437c-960e-505e53e4a6c3 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3611 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3611 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4848 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4850 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4850 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4224 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2276 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12781 - "DELETE /session/3075f2d4-70d3-4451-927b-5d71aa71e5b9 HTTP/1.1" 200 OK +INFO: 127.0.0.1:9875 - "DELETE /session/db433dad-f5b2-4203-9b6f-63c0fb833627 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4218 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7452 - "DELETE /session/07f3e12f-4466-4ff1-8b04-8a31f0f32c32 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7452 - "DELETE /session/d9e2938a-e534-42e4-849e-ca46865dc59f HTTP/1.1" 200 OK +INFO: 127.0.0.1:2946 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2946 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2946 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2946 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:2946 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2946 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2946 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:2946 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4721 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4724 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4724 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2785 - "DELETE /session/cb504047-7b3c-46b7-914d-4f96ce103841 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6262 - "DELETE /session/06ebd272-20a0-4039-a37f-a4aa17e581e6 HTTP/1.1" 200 OK +INFO: 127.0.0.1:2281 - "DELETE /session/a9268905-958c-485e-bb38-9238dd8b5496 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4005 - "DELETE /session/9473486e-f4e9-4c41-b88c-6c084687f534 HTTP/1.1" 200 OK +INFO: 127.0.0.1:11256 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11258 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11258 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6504 - "DELETE /session/40bda8ff-e71f-4b19-828b-86d3b5a74309 HTTP/1.1" 200 OK +INFO: 127.0.0.1:12850 - "DELETE /session/849ef067-4c8d-4b86-be7c-4bb559394e5d HTTP/1.1" 200 OK +INFO: 127.0.0.1:10609 - "DELETE /session/3e6408e4-37b7-464b-a6e5-81ce7d069451 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10609 - "DELETE /session/d214d3e3-f9bd-4b82-9f3b-9bfc68f1ba7e HTTP/1.1" 200 OK +INFO: 127.0.0.1:4440 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4440 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4440 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4440 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:4440 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4440 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4440 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:4440 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12589 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12591 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12591 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11974 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11976 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11976 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4503 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7922 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7922 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1402 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1404 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1404 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1967 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11044 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3723 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3725 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3725 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3156 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14352 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14354 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14354 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14315 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14317 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14317 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6759 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6762 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6762 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10506 - "DELETE /session/fedd1067-dfb3-407a-9d58-efa0862a39c4 HTTP/1.1" 200 OK +INFO: 127.0.0.1:9372 - "DELETE /session/49a8357e-8090-4d1a-b8f2-bede46a5eb9f HTTP/1.1" 200 OK +INFO: 127.0.0.1:2110 - "DELETE /session/c4b0125b-11ac-406a-b833-f12b000fa2a4 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10938 - "DELETE /session/8802e967-5114-46f3-b4c0-5c8b0820f9c0 HTTP/1.1" 200 OK +INFO: 127.0.0.1:5550 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5552 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5552 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13812 - "DELETE /session/5b917843-82b0-4bce-a00c-da87f5ee730b HTTP/1.1" 200 OK +INFO: 127.0.0.1:8578 - "DELETE /session/c6854c1b-edc3-44bb-93f9-0c5036031034 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6582 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6159 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6159 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7708 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7735 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10985 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12193 - "DELETE /session/3f116ec2-e6d5-4889-a8ac-e8afc89fa4cd HTTP/1.1" 200 OK +INFO: 127.0.0.1:3275 - "DELETE /session/fe64e4d4-10e8-4bd8-96da-f01791609339 HTTP/1.1" 200 OK +INFO: 127.0.0.1:12001 - "DELETE /session/0e33e442-09d5-4649-bbdd-cb82a3ee2125 HTTP/1.1" 200 OK +INFO: 127.0.0.1:12001 - "DELETE /session/a04b080c-6f16-49d2-af54-9297247858b1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:6293 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6293 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6293 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6293 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:6293 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6293 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6293 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:6293 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6547 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6549 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6557 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6557 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4397 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7635 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7638 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7638 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4573 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5144 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5146 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5146 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2422 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2424 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2424 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1958 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1960 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1960 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11426 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11428 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11428 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9396 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9398 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4642 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8707 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8711 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8711 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5379 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3557 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3559 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3559 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4464 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4468 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4468 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11447 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11449 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11449 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6459 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6464 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6464 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6239 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6241 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6241 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8093 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8095 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8095 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10887 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10889 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10889 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1998 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14787 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14787 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9339 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9341 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9341 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6754 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14448 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14451 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14451 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6309 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6311 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6311 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4817 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4819 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4819 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6911 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6423 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6423 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14757 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11112 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10809 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1549 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1551 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1558 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1192 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1192 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1192 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1192 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6188 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6188 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10625 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12464 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12464 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5555 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5557 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5557 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5557 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11838 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11840 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11840 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6914 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6918 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6918 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3791 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11876 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11878 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11878 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4273 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7272 - "DELETE /session/78b8d537-165c-44ee-8b6b-21464ee73e41 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7272 - "DELETE /session/3020452b-3b41-468f-9120-3f375c6e9624 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10312 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10314 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10314 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3145 - "DELETE /session/1bc3c1cf-f3dd-44af-b72b-1956cb1e639c HTTP/1.1" 200 OK +INFO: 127.0.0.1:3145 - "DELETE /session/c43176dc-c278-4a3d-9b8f-da9411d4f263 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1064 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10282 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10282 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3691 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3693 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3693 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11004 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11006 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11006 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2155 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2158 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2158 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6305 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13900 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13922 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6053 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3003 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4441 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4443 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4443 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7407 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6577 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6579 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6579 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14582 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14582 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14582 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14573 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14573 - "DELETE /session/alliance-9eb41a86-b4eb-4762-a492-243e1308daad-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:14582 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14582 - "DELETE /session/alliance-9eb41a86-b4eb-4762-a492-243e1308daad-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:14582 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14582 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14582 - "DELETE /session/93c87560-f428-4834-8150-394a67949bd7 HTTP/1.1" 200 OK +INFO: 127.0.0.1:13797 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:13797 - "DELETE /session/alliance-dd0cb507-73f8-4114-b0cd-84de5415c603-client-report HTTP/1.1" 200 OK +INFO: 127.0.0.1:13798 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:13798 - "DELETE /session/alliance-dd0cb507-73f8-4114-b0cd-84de5415c603-independent-observer HTTP/1.1" 200 OK +INFO: 127.0.0.1:13794 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4877 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4879 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4879 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4615 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2497 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14419 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14417 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14418 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14416 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4943 - "GET /ready HTTP/1.1" 200 OK +INFO: 127.0.0.1:13425 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13427 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13427 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10584 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14332 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14332 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14332 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10518 - "GET /ready?provider=claude_cli HTTP/1.1" 200 OK +INFO: 127.0.0.1:14332 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14332 - "DELETE /session/alliance-56439ece-6bf5-462e-920f-3de35b2992dd-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1215 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14332 - "DELETE /session/alliance-56439ece-6bf5-462e-920f-3de35b2992dd-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:14332 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14332 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14332 - "DELETE /session/137c8b3e-8559-4db5-bcb9-ed0bcf20b5dc HTTP/1.1" 200 OK +INFO: 127.0.0.1:2659 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10518 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:13173 - "GET /ready?provider=claude_cli HTTP/1.1" 200 OK +INFO: 127.0.0.1:1959 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1961 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1961 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13584 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6420 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6420 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6420 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3440 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3440 - "DELETE /session/alliance-776b52e3-dd67-4571-b3a3-4d2e1716ae4d-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:8554 - "GET /ready?provider=claude_cli&force=true HTTP/1.1" 200 OK +INFO: 127.0.0.1:6420 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6420 - "DELETE /session/alliance-776b52e3-dd67-4571-b3a3-4d2e1716ae4d-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3440 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3440 - "DELETE /session/alliance-776b52e3-dd67-4571-b3a3-4d2e1716ae4d-independent-observer-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10105 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10109 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10109 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10960 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1108 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1108 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1108 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1108 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1108 - "DELETE /session/alliance-2e3028ea-497f-4624-afdd-fcbf2bd0ed48-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:11999 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1108 - "DELETE /session/alliance-2e3028ea-497f-4624-afdd-fcbf2bd0ed48-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1108 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9268 - "GET /ready?provider=claude_cli HTTP/1.1" 200 OK +INFO: 127.0.0.1:1108 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1108 - "DELETE /session/72af5f26-bf12-4261-b630-ac1bb14311f8 HTTP/1.1" 200 OK +INFO: 127.0.0.1:9268 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:12798 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:12798 - "DELETE /session/alliance-db42ab13-1b53-4d7b-b57f-d89948b1d45f-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:12799 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:12798 - "DELETE /session/alliance-db42ab13-1b53-4d7b-b57f-d89948b1d45f-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:12795 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4413 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3243 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3243 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1248 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2396 - "GET /ready?provider=claude_cli HTTP/1.1" 200 OK +INFO: 127.0.0.1:2400 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2400 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2396 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2549 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2551 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2551 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9484 - "GET /ready?provider=claude_cli HTTP/1.1" 200 OK +INFO: 127.0.0.1:9484 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:8715 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6539 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10131 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10134 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10134 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9484 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5615 - "GET /ready?provider=claude_cli HTTP/1.1" 200 OK +INFO: 127.0.0.1:9582 - "DELETE /session/4a09b355-3062-4b70-955e-6f6654abe631 HTTP/1.1" 200 OK +INFO: 127.0.0.1:5615 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5615 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3719 - "DELETE /session/281d7e1b-4474-46e8-9f45-b14a25eaddf0 HTTP/1.1" 200 OK +INFO: 127.0.0.1:5377 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9248 - "DELETE /session/1e74395f-81f2-4a1f-9b05-622548477945 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10567 - "DELETE /session/cba2b062-e3cc-4446-9dce-2c77c85fe2ee HTTP/1.1" 200 OK +INFO: 127.0.0.1:14846 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4113 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4113 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5377 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10540 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:10541 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:5377 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3873 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3876 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3876 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1661 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1663 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1663 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6609 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6611 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6611 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9157 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9159 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9159 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2396 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2398 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2398 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4144 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4146 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4146 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6372 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6372 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5412 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5414 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5414 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1884 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10518 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9881 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9883 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9883 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10437 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10439 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10439 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1053 - "DELETE /session/ddc6ed40-d5b5-4b64-96e3-c82a15822bbd HTTP/1.1" 200 OK +INFO: 127.0.0.1:3998 - "DELETE /session/6820f884-82db-46fc-a9e4-8397e425135e HTTP/1.1" 200 OK +INFO: 127.0.0.1:3142 - "DELETE /session/8eb46214-6f28-41bf-b910-83513a8639fa HTTP/1.1" 200 OK +INFO: 127.0.0.1:3142 - "DELETE /session/1442a5b2-5f7d-40b5-b59e-13b3ee9c5489 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4125 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4125 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4125 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4125 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:4125 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4125 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8259 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:8259 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9735 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9737 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9737 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1322 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1324 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1324 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11531 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11836 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11836 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5005 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5007 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5007 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13098 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7615 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7615 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8791 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8793 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8793 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3868 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3870 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3870 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5626 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5629 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5629 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11523 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11525 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11525 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10184 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10186 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10186 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9193 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12064 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12064 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8283 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8285 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8285 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5217 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5219 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5219 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2141 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13500 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2844 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2846 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2846 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13831 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13834 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13834 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14308 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14310 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14310 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13849 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13851 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13851 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5838 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5840 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5840 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12199 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12201 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12201 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12192 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12194 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12194 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11838 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11840 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11840 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14412 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14414 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14414 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6694 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6696 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6696 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7991 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7993 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7993 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10841 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10843 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10843 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10714 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10717 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10717 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3670 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3670 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7896 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9660 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9660 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9127 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9127 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9127 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9127 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:11839 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11843 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11843 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6974 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9127 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1138 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1138 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5661 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5663 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5663 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14426 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5980 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4641 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7315 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14426 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14426 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14426 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:14426 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:8870 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:6489 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6489 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6489 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14864 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14866 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14866 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2423 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2425 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2425 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7548 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7550 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7550 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4021 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4024 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4024 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7745 - "DELETE /session/a27befb7-6ded-438f-850d-01f08ff40830 HTTP/1.1" 200 OK +INFO: 127.0.0.1:7745 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4929 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4931 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4931 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2389 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2391 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2391 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10673 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10675 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10675 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13394 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13396 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13396 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9686 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9688 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9688 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4864 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4866 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4866 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3715 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3717 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3717 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9747 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9749 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9749 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6917 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8556 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8558 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8558 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10560 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10562 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10562 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8903 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:8903 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12377 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11023 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11025 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11025 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6355 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6357 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6357 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10471 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10473 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10473 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4290 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4292 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4292 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4092 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4094 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4094 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12530 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12532 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12532 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12569 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12572 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12572 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2428 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2430 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2430 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7445 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7447 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7447 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12799 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12831 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12831 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9336 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9338 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9338 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8765 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8767 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8767 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6132 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6135 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6135 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11878 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11880 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11880 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6966 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6968 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6968 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7671 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7673 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7673 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2994 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2996 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2996 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3650 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3652 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3652 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4978 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4980 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4980 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2505 - "DELETE /session/d214e15c-eafb-4ade-8ef9-9bb649a40cd2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:2505 - "DELETE /session/acae9b3e-88a2-4d48-bbde-a66a581c472e HTTP/1.1" 200 OK +INFO: 127.0.0.1:5065 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5065 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5065 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5065 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:5065 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5065 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5065 - "GET /v1/capabilities?provider=claude_cli&force=false HTTP/1.1" 200 OK +INFO: 127.0.0.1:5065 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5625 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5628 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5628 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9428 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9431 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9431 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10758 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10760 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10760 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4230 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4232 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4232 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3464 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3466 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3466 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11859 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11862 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11862 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13538 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13540 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13540 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13650 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13727 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1360 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1371 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1373 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1373 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1416 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1416 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1416 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7803 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7805 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7805 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10261 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10263 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10263 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8135 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8137 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8137 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8478 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8480 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8480 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6320 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6322 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6322 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6955 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6957 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6957 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8969 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1919 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1921 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1921 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8183 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8186 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8186 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2185 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2187 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2187 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10247 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10249 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10249 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3522 - "DELETE /session/993549af-0df4-421a-b198-a3024f322e34 HTTP/1.1" 200 OK +INFO: 127.0.0.1:12224 - "DELETE /session/c9e91f06-f3d4-4af9-ab1c-138edb475fba HTTP/1.1" 200 OK +INFO: 127.0.0.1:5139 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5142 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5142 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2627 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2631 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2631 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10678 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10724 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10795 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10796 - "GET /ready?provider=claude_cli HTTP/1.1" 200 OK +INFO: 127.0.0.1:3056 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3058 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3058 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3163 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3163 - "DELETE /session/alliance-ea4fd415-8e09-5898-af50-2bb7cae3b44f-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3163 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3163 - "DELETE /session/alliance-bbbad851-9272-5441-b4ba-80cbf64ac6d1-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-ea4fd415-8e09-5898-af50-2bb7cae3b44f-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-ea4fd415-8e09-5898-af50-2bb7cae3b44f-independent-observer-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-ea4fd415-8e09-5898-af50-2bb7cae3b44f-independent-observer-attempt-3 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3706 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-bbbad851-9272-5441-b4ba-80cbf64ac6d1-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-278f93dd-0035-59a0-8dc9-3cf557df8fc7-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-cf7a843b-aa58-5204-9f30-fea2c45dec4e-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:13039 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13043 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13043 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-92ae15a9-b440-5516-9efe-b80b6d24b77d-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-92ae15a9-b440-5516-9efe-b80b6d24b77d-client-report-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-d8618781-e4d2-5409-895c-4ceaf718ad51-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-e2c8b5fe-4679-59e9-a173-5ccf0367406b-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-e2c8b5fe-4679-59e9-a173-5ccf0367406b-client-report-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3224 - "DELETE /session/alliance-6cfc51db-40f1-5b70-843e-d3ab73057292-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3897 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3900 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3900 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-3c470ddc-e691-5630-a42c-787e47c96b40-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-3c470ddc-e691-5630-a42c-787e47c96b40-independent-observer-attempt-2 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-3c470ddc-e691-5630-a42c-787e47c96b40-independent-observer-attempt-3 HTTP/1.1" 200 OK +INFO: 127.0.0.1:8193 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1700 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1700 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-e22c24db-89bd-5f86-8a60-c374166d44fc-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1700 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1700 - "DELETE /session/2388d49f-4ad6-46cb-9fab-fedd8462022a HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-c59ce820-9fd3-507c-84f9-d1330668ce85-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:3506 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3711 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:3267 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3269 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3269 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-e2d29ed6-d6f7-5c27-85fe-1387e9086984-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1198 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-38008e3c-20bb-5781-ad31-3d28655c145c-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:10626 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11950 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10626 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10626 - "POST /v1/stream HTTP/1.1" 200 OK +INFO: 127.0.0.1:11950 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2436 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2436 - "POST /v1/stream HTTP/1.1" 200 OK +INFO: 127.0.0.1:5398 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-41715196-cbf4-5ea4-9b96-cf231a2c5524-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:11950 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:11950 - "DELETE /session/6f25e1b6-4f9b-4288-95e2-50f28b8352f6 HTTP/1.1" 200 OK +INFO: 127.0.0.1:14323 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14323 - "POST /v1/stream HTTP/1.1" 200 OK +INFO: 127.0.0.1:2592 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2673 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-0f465fd0-fa8b-52cd-b6e8-f842bee76d69-client-report-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1272 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1272 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1556 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4128 - "DELETE /session/alliance-7f2303fa-2d6f-50a2-8834-41b7ab3c47c6-independent-observer-attempt-1 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4868 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4868 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4868 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:4868 - "DELETE /session/ec15f212-e02c-4474-90f0-6fc15680b326 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "DELETE /session/4813a380-602d-445d-98e0-c46a2e6dc0e4 HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:12014 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12021 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12021 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8717 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:8717 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:1190 - "DELETE /session/3f58ce74-f1a6-4dc9-a6bb-fa05a22e12e7 HTTP/1.1" 200 OK +INFO: 127.0.0.1:2888 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3993 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3993 - "DELETE /session/6a21bd41-3a20-40ea-b3c0-672c77c4d53b HTTP/1.1" 200 OK +INFO: 127.0.0.1:2888 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:8717 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:8717 - "DELETE /session/42887b23-f577-40cd-bf08-d882ba2d48e6 HTTP/1.1" 200 OK +INFO: 127.0.0.1:11839 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2888 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:2888 - "DELETE /session/29d3fbb4-c7da-4d47-aff2-92240c06a273 HTTP/1.1" 200 OK +INFO: 127.0.0.1:4133 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7793 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:7870 - "POST /v1/generate HTTP/1.1" 200 OK +INFO: 127.0.0.1:9982 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9984 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9984 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13456 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13458 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13458 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3442 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3444 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3444 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2815 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2817 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2817 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3202 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3204 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3204 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4223 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4225 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4225 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4481 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4483 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4483 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14660 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14662 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14662 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12623 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12625 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12625 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3830 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3832 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3832 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4956 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4958 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4958 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9251 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9253 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9253 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10367 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10369 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10369 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12206 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12208 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12208 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13409 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:13411 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13411 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2985 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2987 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2987 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4085 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4087 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4087 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4473 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4475 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4475 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5601 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5603 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5603 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14076 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14078 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14078 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3334 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3336 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3336 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8557 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8559 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8559 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2662 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2664 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2664 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2805 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4307 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4309 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4309 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK diff --git a/apps/api/engine.public.out.log.20260809-160042.bak b/apps/api/engine.public.out.log.20260809-160042.bak new file mode 100644 index 0000000..9dd27ec --- /dev/null +++ b/apps/api/engine.public.out.log.20260809-160042.bak @@ -0,0 +1,150 @@ +INFO: 127.0.0.1:5961 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1131 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:13224 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1131 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9011 - "GET /ready?force=true HTTP/1.1" 200 OK +INFO: 127.0.0.1:4872 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4872 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9735 - "GET /ready HTTP/1.1" 200 OK +INFO: 127.0.0.1:9737 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9737 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9550 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4478 - "GET /ready HTTP/1.1" 200 OK +INFO: 127.0.0.1:4480 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4480 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4483 - "GET /ready HTTP/1.1" 200 OK +INFO: 127.0.0.1:4480 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4480 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6909 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:6920 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:6920 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4284 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4286 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4286 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11183 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11186 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11186 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9906 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9908 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9908 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4910 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4912 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4912 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11462 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11464 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11464 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3395 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3397 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3397 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7131 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7135 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7135 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4662 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4665 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4665 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8921 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8924 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8924 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7827 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7830 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7830 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11042 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11046 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11046 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11042 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11046 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14342 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:14343 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:14342 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5041 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5043 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5043 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12732 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:12735 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:12735 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2362 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2365 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2365 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4926 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4928 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4928 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4810 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4813 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4813 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2345 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2351 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2351 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2075 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2079 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2079 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3840 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3842 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3842 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4284 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4286 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4286 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10589 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:10591 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10591 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8330 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8334 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8334 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5069 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5071 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5071 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8707 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8709 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8709 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9467 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:9470 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:9470 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11371 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11374 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11374 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11371 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11374 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11382 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11416 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11382 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11850 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:11852 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:11852 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1574 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1576 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1576 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4470 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4472 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4472 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4562 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:4564 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4564 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7321 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7323 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7323 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1317 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:1319 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:1319 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2332 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2334 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2334 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3770 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:3772 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:3772 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7472 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7474 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7474 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7671 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:7673 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:7673 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8837 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:8839 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:8839 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2461 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:2463 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:2463 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:10930 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5805 - "GET /health HTTP/1.1" 200 OK +INFO: 127.0.0.1:5781 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:5714 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4865 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK +INFO: 127.0.0.1:4903 - "GET /ready?provider=claude_cli&reasoning_effort=high HTTP/1.1" 200 OK diff --git a/apps/web/e2e/uc-session-coach-voice.spec.ts b/apps/web/e2e/uc-session-coach-voice.spec.ts index 3d04e35..be7d29f 100644 --- a/apps/web/e2e/uc-session-coach-voice.spec.ts +++ b/apps/web/e2e/uc-session-coach-voice.spec.ts @@ -177,16 +177,43 @@ async function routeCoachVoiceSession(page: Page, options: CoachVoiceOptions = { ); }); - await page.route(`**/api/sessions/${SESSION_ID}/live-coach`, (route) => - route.fulfill( + await page.route(`**/api/sessions/${SESSION_ID}/live-coach`, async (route) => { + if (route.request().method() === "POST") { + await route.fulfill( + jsonRoute({ + status: "ready", + tone: "pos", + focus: "emotion", + title: "공감과 탐색", + message: "내담자의 답답한 마음에 먼저 공감하고 구체적인 장면을 열린 질문으로 물어보세요.", + next_utterance: "학교 생각만 하면 답답하다고 했는데, 어떤 부분이 제일 마음에 걸려요?", + rationale: "감정 타당화 후 구체 촉발 탐색", + quota: { remaining: Math.max(0, coachRemaining - 1), max: coachMax }, + credit_events: [ + { + event_id: "c-001", + session_id: SESSION_ID, + turn_seq: 1, + event_type: "use", + delta: -1, + balance: Math.max(0, coachRemaining - 1), + reason: "live coaching request", + created_at: new Date().toISOString(), + }, + ], + }), + ); + return; + } + await route.fulfill( jsonRoute({ source: "database", quota: { remaining: coachRemaining, max: coachMax }, credit_events: [], events: [], }), - ), - ); + ); + }); } async function openSession(page: Page) { @@ -419,4 +446,49 @@ test.describe("AI 코치·음성 UI — 고지·게이트·피드백 모드", () const label = await mic.getAttribute("aria-label"); expect(label ?? "").not.toBe(""); }); + + // usecase: AI 코칭 버튼 클릭 시 버블 팝업이 노출되고 추천 칩 및 채팅 조언을 얻을 수 있다 + test("AI 코칭 버튼 클릭 시 버블 팝업이 뜨고 채팅 질문과 추천 발화 적용이 동작한다", async ({ page }) => { + await routeCoachVoiceSession(page, { coachRemaining: 3, coachMax: 3 }); + await openSession(page); + + const triggerBtn = page.getByRole("button", { name: /^AI 코칭, 남은 기회/ }); + await expect(triggerBtn).toBeVisible(); + await expect(triggerBtn).toContainText("3"); + + // 1. 버블 팝업 열기 + await triggerBtn.click({ force: true }); + const popup = page.getByRole("dialog", { name: "AI 슈퍼바이저 코칭 버블" }); + await expect(popup).toBeVisible(); + await expect(popup).toContainText("AI 슈퍼바이저 코칭"); + await expect(popup).toContainText("기회 3/3"); + + // 2. 추천 칩 확인 및 클릭 + const recommendChip = popup.getByRole("button", { name: "💡 다음 추천 발화" }); + await expect(recommendChip).toBeVisible(); + await recommendChip.dispatchEvent("click"); + + // 3. 조언 메시지 및 추천 발화 노출 확인 + await expect(popup.locator(".sx-coach-msg--learner")).toContainText("다음 추천 발화와 방향을 알려줘"); + await expect(popup.locator(".sx-coach-msg--coach")).toBeVisible(); + const insertBtn = popup.getByRole("button", { name: "발화창에 넣기" }); + await expect(insertBtn).toBeAttached(); + + // 4. [발화창에 넣기] 클릭 시 하단 발화 입력창에 텍스트 반영 + await insertBtn.dispatchEvent("click"); + const composer = page.getByPlaceholder("학습자 발화를 입력하세요."); + await expect(composer).not.toHaveValue(""); + + // 5. 직접 질문 채팅 입력 및 전송 + const coachInput = popup.getByPlaceholder("코치에게 조언을 구해보세요... (Enter 전송)"); + await coachInput.fill("내담자의 저항을 부드럽게 다루려면 어떻게 하나요?"); + await popup.getByRole("button", { name: "코칭 질문 전송" }).dispatchEvent("click"); + + await expect(popup.locator(".sx-coach-msg--learner").last()).toContainText("내담자의 저항을 부드럽게 다루려면"); + await expect(popup.locator(".sx-coach-msg--coach").last()).toBeVisible(); + + // 6. 팝업 닫기 버튼 클릭 시 닫힘 확인 + await popup.getByRole("button", { name: "코칭 팝업 닫기" }).dispatchEvent("click"); + await expect(popup).toBeHidden(); + }); }); diff --git a/apps/web/scripts/check-design-ssot.mjs b/apps/web/scripts/check-design-ssot.mjs index 3c6c395..fcd603d 100644 --- a/apps/web/scripts/check-design-ssot.mjs +++ b/apps/web/scripts/check-design-ssot.mjs @@ -37,17 +37,17 @@ const designDoc = await read(designDocPath); // 페이지/아트 전용 CSS는 집중 화면의 국소 팔레트를 소유할 수 있다. 다만 전역 // 토큰으로 승격하지 않은 raw color는 이 기준선 이상 늘어나면 실패시켜 예외가 -// 무제한 확산되는 것을 막는다. 공통 ui/shell은 아래 별도 규칙으로 0개를 강제한다. +// 2026-08-18: 전수 토큰화 완료. 모든 페이지와 컴포넌트 CSS에서 raw color가 0개로 정화됨. const rawColorBudgets = { - "src/pages/session/session.css": 216, - "src/pages/session-review/session-review.css": 29, - "src/pages/learner-home.css": 25, - "src/components/auth/auth-shell.css": 20, - "src/pages/login/login.css": 11, - "src/components/avatar/client-avatar.css": 7, - "src/pages/avatar-expression-lab.css": 7, - "src/pages/avatar-preview.css": 5, - "src/pages/pending-approval.css": 3, + "src/pages/session/session.css": 0, + "src/pages/session-review/session-review.css": 0, + "src/pages/learner-home.css": 0, + "src/components/auth/auth-shell.css": 0, + "src/pages/login/login.css": 0, + "src/components/avatar/client-avatar.css": 0, + "src/pages/avatar-expression-lab.css": 0, + "src/pages/avatar-preview.css": 0, + "src/pages/pending-approval.css": 0, }; for (const [relativePath, budget] of Object.entries(rawColorBudgets)) { diff --git a/apps/web/src/components/auth/auth-shell.css b/apps/web/src/components/auth/auth-shell.css index 1f2b08e..3e91d12 100644 --- a/apps/web/src/components/auth/auth-shell.css +++ b/apps/web/src/components/auth/auth-shell.css @@ -41,17 +41,17 @@ --auth-room-veil: linear-gradient( 90deg, - rgba(247, 244, 236, 0.94) 0%, - rgba(243, 238, 227, 0.86) 48%, - rgba(238, 231, 217, 0.72) 74%, - rgba(232, 223, 207, 0.62) 100% + color-mix(in srgb, var(--bg-app) 94%, transparent) 0%, + color-mix(in srgb, var(--bg-app) 86%, transparent) 48%, + color-mix(in srgb, var(--bg-app) 72%, transparent) 74%, + color-mix(in srgb, var(--bg-app) 62%, transparent) 100% ); - --auth-room-shade: linear-gradient(180deg, rgba(255, 253, 248, 0.08), rgba(120, 101, 72, 0.12)); + --auth-room-shade: linear-gradient(180deg, color-mix(in srgb, var(--bg-surface) 8%, transparent), color-mix(in srgb, var(--clay) 12%, transparent)); --auth-hero-text: var(--text-strong); --auth-hero-muted: color-mix(in srgb, var(--text-body) 88%, transparent); - --auth-hero-surface: rgba(255, 254, 251, 0.48); - --auth-hero-border: rgba(101, 86, 62, 0.22); - --auth-hero-chip: rgba(255, 254, 251, 0.62); + --auth-hero-surface: color-mix(in srgb, var(--bg-surface) 48%, transparent); + --auth-hero-border: color-mix(in srgb, var(--border-strong) 42%, transparent); + --auth-hero-chip: color-mix(in srgb, var(--bg-surface) 62%, transparent); background: var(--auth-room-veil), var(--asset-login-room) center / cover no-repeat; @@ -61,17 +61,17 @@ --auth-room-veil: linear-gradient( 90deg, - rgba(7, 16, 14, 0.84) 0%, - rgba(10, 21, 19, 0.72) 48%, - rgba(10, 21, 19, 0.55) 74%, - rgba(10, 21, 19, 0.62) 100% + color-mix(in srgb, var(--bg-app) 84%, transparent) 0%, + color-mix(in srgb, var(--bg-app) 72%, transparent) 48%, + color-mix(in srgb, var(--bg-app) 55%, transparent) 74%, + color-mix(in srgb, var(--bg-app) 62%, transparent) 100% ); - --auth-room-shade: linear-gradient(180deg, rgba(3, 9, 8, 0.18), rgba(3, 9, 8, 0.42)); - --auth-hero-text: #edf4f2; - --auth-hero-muted: rgba(237, 244, 242, 0.72); - --auth-hero-surface: rgba(237, 244, 242, 0.08); - --auth-hero-border: rgba(255, 255, 255, 0.14); - --auth-hero-chip: rgba(255, 255, 255, 0.08); + --auth-room-shade: linear-gradient(180deg, color-mix(in srgb, var(--bg-app) 18%, transparent), color-mix(in srgb, var(--bg-app) 42%, transparent)); + --auth-hero-text: var(--text-strong); + --auth-hero-muted: color-mix(in srgb, var(--text-strong) 72%, transparent); + --auth-hero-surface: color-mix(in srgb, var(--text-strong) 8%, transparent); + --auth-hero-border: color-mix(in srgb, var(--border-subtle) 80%, transparent); + --auth-hero-chip: color-mix(in srgb, var(--text-strong) 8%, transparent); } @media (max-width: 620px) { diff --git a/apps/web/src/components/avatar/client-avatar.css b/apps/web/src/components/avatar/client-avatar.css index 5aeeb96..cfc904e 100644 --- a/apps/web/src/components/avatar/client-avatar.css +++ b/apps/web/src/components/avatar/client-avatar.css @@ -9,10 +9,10 @@ position:relative;width:100%;border-radius:50%; display:flex;align-items:center;justify-content:center;overflow:hidden; background: - radial-gradient(circle at 50% 38%, rgba(251,250,248,.98) 0%, rgba(246,240,236,.9) 42%, rgba(238,244,242,.76) 64%, rgba(145,200,189,.22) 84%, rgba(30,39,36,.18) 100%); + radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--bg-surface) 98%, transparent) 0%, color-mix(in srgb, var(--bg-surface-2) 90%, transparent) 42%, color-mix(in srgb, var(--accent-tint) 76%, transparent) 64%, color-mix(in srgb, var(--accent) 22%, transparent) 84%, color-mix(in srgb, var(--text-strong) 18%, transparent) 100%); box-shadow: - inset 0 0 0 1px rgba(251,250,248,.28), - inset 0 -24px 40px rgba(28,42,42,.13); + inset 0 0 0 1px color-mix(in srgb, var(--bg-surface) 28%, transparent), + inset 0 -24px 40px color-mix(in srgb, var(--text-strong) 13%, transparent); } .vg-avatar__aura{ position:absolute;inset:-12%;border-radius:50%;pointer-events:none; diff --git a/apps/web/src/components/shell/AppShell.tsx b/apps/web/src/components/shell/AppShell.tsx index aa62291..42738a9 100644 --- a/apps/web/src/components/shell/AppShell.tsx +++ b/apps/web/src/components/shell/AppShell.tsx @@ -1,5 +1,5 @@ import { useEffect, useLayoutEffect, useRef, type ReactNode } from "react"; -import { useLocation } from "react-router-dom"; +import { useLocation, useNavigate } from "react-router-dom"; import { Topbar } from "./Topbar"; import { Sidebar } from "./Sidebar"; import { canAccessRole, designRoleOf, useAuth, type Role } from "../../lib/auth"; @@ -78,6 +78,79 @@ export function AppShell({ children, className, contextLabel, hideNav, bleed, wi return () => window.removeEventListener("pageshow", handlePageShow); }, []); + const navigate = useNavigate(); + + // ── 전역 단축키 핸들러 ── + useEffect(() => { + const handleGlobalKeyDown = (e: KeyboardEvent) => { + if (e.repeat) return; + const target = e.target instanceof HTMLElement ? e.target : null; + const isInput = target?.closest("input, textarea, select, [contenteditable='true']"); + + const isAlt = e.altKey && !e.ctrlKey && !e.metaKey; + const isCtrl = (e.ctrlKey || e.metaKey) && !e.altKey; + + // Ctrl+W 또는 Escape: 활성 모달 닫기 + if ((isCtrl && e.key.toLowerCase() === "w") || e.key === "Escape") { + const openModalCloseBtn = document.querySelector( + "[role='dialog'] button:has(svg), [role='dialog'] .sx-panel-close-btn, .vg-dialog__close, [role='dialog'] button[aria-label*='닫기']" + ); + if (openModalCloseBtn) { + e.preventDefault(); + openModalCloseBtn.click(); + return; + } + } + + // Alt+H: 홈으로 이동 + if (isAlt && e.key.toLowerCase() === "h") { + e.preventDefault(); + const homePath = user?.role === "admin" ? "/admin" : user?.role === "teacher" ? "/professor" : "/learn"; + navigate(homePath); + return; + } + + // Alt+N 또는 Ctrl+N 또는 Ctrl+T (입력창 밖): 새 회기 시작 / 페르소나 선택 + if ((isAlt && e.key.toLowerCase() === "n") || (!isInput && isCtrl && (e.key.toLowerCase() === "n" || e.key.toLowerCase() === "t"))) { + e.preventDefault(); + navigate("/learn"); + return; + } + + // Alt+K: 학습 기록으로 이동 + if (isAlt && e.key.toLowerCase() === "k") { + e.preventDefault(); + navigate("/learn/history"); + return; + } + + // Alt+S: 설정 화면으로 이동 + if (isAlt && e.key.toLowerCase() === "s") { + e.preventDefault(); + navigate("/settings"); + return; + } + + // Alt+T: 다크/라이트 테마 전환 + if (isAlt && e.key.toLowerCase() === "t") { + e.preventDefault(); + const themeBtn = document.querySelector(".vg-topbar__theme-btn, [data-testid='theme-toggle']"); + if (themeBtn) { + themeBtn.click(); + } else { + const currentTheme = document.documentElement.getAttribute("data-theme") || "light"; + const nextTheme = currentTheme === "dark" ? "light" : "dark"; + document.documentElement.setAttribute("data-theme", nextTheme); + localStorage.setItem("vignette_theme", nextTheme); + } + return; + } + }; + + window.addEventListener("keydown", handleGlobalKeyDown); + return () => window.removeEventListener("keydown", handleGlobalKeyDown); + }, [navigate, user]); + return (
- {item.label} + {item.label} ))} diff --git a/apps/web/src/components/shell/shell.css b/apps/web/src/components/shell/shell.css index 79e274d..7d1bd93 100644 --- a/apps/web/src/components/shell/shell.css +++ b/apps/web/src/components/shell/shell.css @@ -104,6 +104,10 @@ font-weight: 650; text-decoration: none; white-space: nowrap; + transition: transform var(--dur-fast) var(--ease-spring), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); +} +.vg-topbar__switch-link:active { + transform: scale(0.95); } .vg-topbar__switch-link:hover, .vg-topbar__switch-link.is-active { @@ -125,9 +129,13 @@ color: var(--text-body); cursor: pointer; transition: + transform var(--dur-fast) var(--ease-spring), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); } +.vg-iconbtn:active { + transform: scale(0.92); +} .vg-iconbtn:hover { background: var(--bg-surface-2); color: var(--text-strong); @@ -324,33 +332,46 @@ } @media (max-width: 720px) { html { - scroll-padding-top: calc(var(--topbar-h) + 68px); - scroll-padding-bottom: var(--sp-6); + scroll-padding-top: calc(var(--topbar-h) + var(--sp-2)); + scroll-padding-bottom: calc(var(--bottom-bar-h) + env(safe-area-inset-bottom) + var(--sp-4)); + } + .vg-shell { + height: 100dvh; } .vg-shell__body { - display: grid; - grid-template-columns: minmax(0, 1fr); - grid-template-rows: 58px minmax(0, 1fr); - background-image: none; /* 네비가 상단 가로바로 전환 — 세로 구분선 제거 */ + display: flex; + flex-direction: column; + flex: 1 1 auto; + min-height: 0; + position: relative; + background-image: none; /* 네비가 하단바로 전환 — 세로 구분선 제거 */ } .vg-shell__body--bare { - display: block; + display: flex; } .vg-nav { - position: relative; + position: fixed; + bottom: 0; + left: 0; + right: 0; top: auto; - z-index: 29; - height: 58px; - padding: 7px max(12px, env(safe-area-inset-left)) 7px max(12px, env(safe-area-inset-right)); + z-index: 40; + height: calc(var(--bottom-bar-h) + env(safe-area-inset-bottom)); + padding: 6px max(10px, env(safe-area-inset-left)) max(6px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right)); border-right: 0; - border-top: 0; - border-bottom: 1px solid var(--hair); + border-top: 1px solid var(--hair); + border-bottom: 0; + display: flex; flex-direction: row; align-items: center; - justify-content: flex-start; - gap: 8px; + justify-content: space-around; + gap: 4px; + background: var(--bg-surface); + box-shadow: var(--shadow-island); overflow-x: auto; overflow-y: hidden; + -webkit-backdrop-filter: var(--glass-blur); + backdrop-filter: var(--glass-blur); } .vg-nav__label, .vg-nav__spacer, @@ -358,16 +379,43 @@ display: none; } .vg-nav__item { - min-width: 112px; - height: 44px; + flex: 1 1 0; + min-width: 0; + max-width: 96px; + height: 48px; + min-height: 48px; + padding: 3px 2px; + flex-direction: column; justify-content: center; - padding: 0 14px; - gap: 8px; - white-space: nowrap; + align-items: center; + gap: 2px; + border-radius: var(--radius); + text-align: center; + transition: transform var(--dur-fast) var(--ease-spring), background var(--dur-fast) var(--ease-out); } + .vg-nav__item:active { + transform: scale(0.93); + } + .vg-nav__item .vg-nav__ic { + display: flex; + align-items: center; + justify-content: center; + } + .vg-nav__item .vg-nav__ic svg { + width: 20px; + height: 20px; + } + .vg-nav__item .vg-nav__txt, .vg-nav__item span:not(.vg-nav__ic) { - display: inline; - font-size: 13px; + display: block; + font-size: 11px; + font-weight: 600; + line-height: 1.2; + letter-spacing: -0.01em; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .vg-topbar__role { display: none; @@ -376,50 +424,47 @@ display: none; } .vg-topbar { - padding: 0 4px; - gap: 4px; + height: 50px; + min-height: 50px; + padding: 0 var(--sp-3); + gap: var(--sp-2); } .vg-topbar__brand { - width: 44px; - height: 44px; - flex: 0 0 44px; - justify-content: center; + min-height: 44px; + gap: 8px; + } + .vg-topbar__mark { + width: 24px; + height: 24px; + } + .vg-topbar__wm { + font-size: 16px; } - .vg-topbar__wm, .vg-topbar__user { display: none; } .vg-topbar__actions { - flex: 1 1 auto; + flex: 0 0 auto; gap: 4px; } .vg-topbar__switch { - flex: 1 1 auto; - height: 44px; - padding: 0; - overflow-x: auto; - overflow-y: hidden; - scrollbar-width: none; - } - .vg-topbar__switch::-webkit-scrollbar { - display: none; - } - .vg-topbar__switch-link span { - display: none; + height: 38px; + padding: 2px; } .vg-topbar__switch-link { - width: 44px; - height: 44px; - flex: 0 0 44px; - padding: 0; + min-height: 34px; + padding: 0 8px; + font-size: 11.5px; + } + .vg-topbar__switch-link span { + display: inline; } .vg-iconbtn { - width: 44px; - height: 44px; - flex: 0 0 44px; + width: 40px; + height: 40px; } .vg-main { - padding: var(--sp-5) var(--sp-4) var(--sp-7); + padding: var(--sp-4) var(--sp-4) calc(var(--bottom-bar-h) + env(safe-area-inset-bottom) + var(--sp-6)); } .vg-main--bleed { padding: 0; @@ -584,9 +629,8 @@ body[data-role] .vg-shell--botanical .vg-nav__foot { @media (max-width: 720px) { body[data-role] .vg-shell--botanical .vg-shell__body:not(.vg-shell__body--bare) { - display: grid; - grid-template-columns: minmax(0, 1fr); - grid-template-rows: 58px minmax(0, 1fr); + display: flex; + flex-direction: column; background-image: radial-gradient(circle at 74% 12%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 22rem), radial-gradient(circle at 18% 82%, color-mix(in srgb, var(--botanical-gold) 14%, transparent), transparent 28rem), @@ -596,46 +640,88 @@ body[data-role] .vg-shell--botanical .vg-nav__foot { background-size: 100% 34rem, 100% 38rem, 430px auto; } body[data-role] .vg-shell--botanical .vg-nav { - position: relative; + position: fixed; + bottom: 0; + left: 0; + right: 0; top: auto; - z-index: 29; - height: 58px; - padding: 7px max(12px, env(safe-area-inset-left)) 7px max(12px, env(safe-area-inset-right)); - border-bottom: 1px solid var(--botanical-hair); - background: color-mix(in srgb, var(--bg-surface) 72%, transparent); + z-index: 40; + height: calc(var(--bottom-bar-h) + env(safe-area-inset-bottom)); + padding: 6px max(10px, env(safe-area-inset-left)) max(6px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right)); + border-top: 1px solid var(--botanical-hair); + border-bottom: 0; + border-right: 0; + border-left: 0; + background: color-mix(in srgb, var(--bg-surface) 86%, transparent); + box-shadow: var(--shadow-island); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-around; + gap: 4px; + overflow-x: auto; + overflow-y: hidden; } body[data-role] .vg-shell--botanical .vg-nav__item, body[data-role] .vg-shell--botanical .vg-nav__item.is-active { - min-width: 112px; - height: 44px; - padding: 0 14px; - gap: 8px; + flex: 1 1 0; + min-width: 0; + max-width: 96px; + height: 48px; + min-height: 48px; + padding: 3px 2px; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 2px; + border-radius: var(--radius); + text-align: center; + border: 1px solid transparent; + } + body[data-role] .vg-shell--botanical .vg-nav__item.is-active { + padding-right: 2px; + background: linear-gradient( + 112deg, + color-mix(in srgb, var(--bg-surface) 92%, var(--botanical-gold)), + color-mix(in srgb, var(--bg-surface-2) 80%, transparent) + ); + border-color: color-mix(in srgb, var(--botanical-gold) 34%, var(--border-subtle)); + box-shadow: inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 84%, transparent); + } + body[data-role] .vg-shell--botanical .vg-nav__item.is-active::after { + display: none; + } + body[data-role] .vg-shell--botanical .vg-nav__item .vg-nav__ic svg { + width: 20px; + height: 20px; + } + body[data-role] .vg-shell--botanical .vg-nav__item .vg-nav__txt, + body[data-role] .vg-shell--botanical .vg-nav__item span:not(.vg-nav__ic) { + display: block; + font-size: 11px; + font-weight: 600; + line-height: 1.2; + letter-spacing: -0.01em; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } - /* 학습자는 네 항목이 고정이므로 숨은 가로 탐색보다 한 화면 4등분이 예측 가능하다. - 교수자·관리자처럼 항목 수가 많은 역할은 기존 가로 스크롤 계약을 유지한다. */ body[data-role="learner"] .vg-shell--botanical .vg-nav { - display:grid; - grid-template-columns:repeat(4,minmax(0,1fr)); - gap:4px; - overflow-x:visible; + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 4px; + overflow-x: visible; } body[data-role="learner"] .vg-shell--botanical .vg-nav__item, body[data-role="learner"] .vg-shell--botanical .vg-nav__item.is-active { - width:100%; - min-width:0; - height:44px; - padding:0 2px; - gap:3px; - font-size:12px; - } - body[data-role="learner"] .vg-shell--botanical .vg-nav__item span:not(.vg-nav__ic) { - font-size:12px; - } - body[data-role="learner"] .vg-shell--botanical .vg-nav__ic svg { - width:16px; - height:16px; + width: 100%; + max-width: none; + min-width: 0; + height: 48px; + padding: 3px 2px; } } diff --git a/apps/web/src/components/ui/Icon.tsx b/apps/web/src/components/ui/Icon.tsx index 5bab762..5623dcb 100644 --- a/apps/web/src/components/ui/Icon.tsx +++ b/apps/web/src/components/ui/Icon.tsx @@ -39,6 +39,7 @@ export type IconName = | "school" | "sun" | "moon" + | "copy" | "refresh"; export interface IconProps extends Omit, "name"> { @@ -227,6 +228,12 @@ const PATHS: Record = { ), moon: , + copy: ( + <> + + + + ), }; export function Icon({ diff --git a/apps/web/src/components/ui/ui.css b/apps/web/src/components/ui/ui.css index 8aadf21..4c2d87c 100644 --- a/apps/web/src/components/ui/ui.css +++ b/apps/web/src/components/ui/ui.css @@ -57,13 +57,14 @@ transition: background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), - transform var(--dur-fast) var(--ease-out); + transform var(--dur-fast) var(--ease-spring), + box-shadow var(--dur-fast) var(--ease-out); cursor: pointer; white-space: nowrap; user-select: none; } .vg-btn:active { - transform: translateY(0.5px); + transform: translateY(1px) scale(0.98); } .vg-btn:disabled { opacity: 0.5; diff --git a/apps/web/src/lib/api.gen.ts b/apps/web/src/lib/api.gen.ts index 4a3ed93..e5dfa86 100644 --- a/apps/web/src/lib/api.gen.ts +++ b/apps/web/src/lib/api.gen.ts @@ -6108,6 +6108,8 @@ export interface components { client_reply?: string | null; /** Learner Text */ learner_text: string; + /** Question */ + question?: string | null; /** Turn Seq */ turn_seq?: number | null; }; diff --git a/apps/web/src/pages/Session.tsx b/apps/web/src/pages/Session.tsx index 5132fd0..151d30b 100644 --- a/apps/web/src/pages/Session.tsx +++ b/apps/web/src/pages/Session.tsx @@ -162,6 +162,14 @@ const THEORY_MODE_OPTIONS: { ]; const DEFAULT_COACH_QUOTA: LiveCoachQuota = { remaining: 3, max: 3 }; +interface CoachChatMessage { + id: string; + sender: "learner" | "coach"; + text: string; + suggestion?: LiveCoachSuggestion; + createdAt: number; +} + function preferredTheoryMode(summary: PersonaSummary | null): TheoryMode { const firstSupported = summary?.theory_target.find( (target): target is TheoryMode => @@ -492,7 +500,10 @@ export default function Session() { const goalNudgeShownRef = useRef(false); const [timeUp, setTimeUp] = useState(false); - // ── 패널 컬랩싱(과밀 완화) — 접힌 패널은 상황에 맞춰 넛지/강제 오픈 ── + // ── 패널 컬랩싱(과밀 완화 및 몰입 확장) — 접힌 패널은 상황에 맞춰 넛지/강제 오픈 ── + const [leftPanelCollapsed, setLeftPanelCollapsed] = useState(false); + const [rightPanelCollapsed, setRightPanelCollapsed] = useState(false); + const [shortcutHelpOpen, setShortcutHelpOpen] = useState(false); const [ctxCollapsed, setCtxCollapsed] = useState(true); const [metersCollapsed, setMetersCollapsed] = useState(false); const [safetyCollapsed, setSafetyCollapsed] = useState(true); @@ -525,6 +536,15 @@ export default function Session() { const coachCreditSeenRef = useRef>(new Set()); const coachCreditPulseTimerRef = useRef(null); + // ── AI 코칭 버블 팝업 상태 ── + const [isCoachBubbleOpen, setIsCoachBubbleOpen] = useState(false); + const [coachChatInput, setCoachChatInput] = useState(""); + const [coachChatLoading, setCoachChatLoading] = useState(false); + const [coachChatMessages, setCoachChatMessages] = useState([]); + const coachBubbleAnchorRef = useRef(null); + const coachChatInputRef = useRef(null); + const coachChatScrollRef = useRef(null); + activeVoiceSessionRef.current = liveSessionId; const failPendingVoiceLearnerTurn = useCallback(() => { @@ -610,6 +630,9 @@ export default function Session() { coachCreditSeenRef.current = new Set(); setCoachHistoryOpen(false); setCoachHistoryTurnSeq(null); + setIsCoachBubbleOpen(false); + setCoachChatMessages([]); + setCoachChatInput(""); }, [navigate, routeIsSessionId, routeParam]); useEffect(() => { @@ -1019,6 +1042,158 @@ export default function Session() { void requestLiveCoach(payload); }, [feedbackMode, pendingCoachTurn, requestLiveCoach]); + // ── AI 코칭 버블 팝업 제어 및 질의응답 ── + useEffect(() => { + if (!isCoachBubbleOpen) return; + + const focusTimer = window.setTimeout(() => { + coachChatInputRef.current?.focus(); + }, 60); + + const handlePointerDownOutside = (e: MouseEvent) => { + if ( + coachBubbleAnchorRef.current && + !coachBubbleAnchorRef.current.contains(e.target as Node) + ) { + setIsCoachBubbleOpen(false); + } + }; + + const handleKeyDown = (e: KeyboardEvent) => { + if (e.key === "Escape") { + setIsCoachBubbleOpen(false); + } + }; + + document.addEventListener("mousedown", handlePointerDownOutside); + document.addEventListener("keydown", handleKeyDown); + + return () => { + window.clearTimeout(focusTimer); + document.removeEventListener("mousedown", handlePointerDownOutside); + document.removeEventListener("keydown", handleKeyDown); + }; + }, [isCoachBubbleOpen]); + + useEffect(() => { + if (isCoachBubbleOpen && coachChatScrollRef.current) { + coachChatScrollRef.current.scrollTop = coachChatScrollRef.current.scrollHeight; + } + }, [coachChatMessages, coachChatLoading, isCoachBubbleOpen]); + + const handleSendCoachBubbleQuery = useCallback( + async (queryText: string) => { + if (!liveSessionId || !queryText.trim()) return; + if (coachQuota.remaining <= 0) { + setCoachChatMessages((prev) => [ + ...prev, + { + id: randomUuid(), + sender: "coach", + text: "코칭 기회를 모두 사용했습니다. 좋은 발화로 내담자가 열리거나 회기가 진행되면 충전됩니다.", + createdAt: Date.now(), + }, + ]); + return; + } + + const userMsgId = randomUuid(); + setCoachChatMessages((prev) => [ + ...prev, + { + id: userMsgId, + sender: "learner", + text: queryText, + createdAt: Date.now(), + }, + ]); + setCoachChatLoading(true); + + const lastLearnerUtterance = [...utterances] + .reverse() + .find((u) => u.speaker === "learner" && !u.partial && !u.failed); + const lastClientUtterance = [...utterances] + .reverse() + .find((u) => u.speaker === "client" && !u.partial && !u.failed); + + const learnerTextToSend = + composeText.trim() || + lastLearnerUtterance?.text || + "상담 진행 및 다음 개입 방향 조언 요청"; + const clientReplyToSend = lastClientUtterance?.text ?? null; + const turnSeqToSend = lastLearnerUtterance?.turnSeq; + + try { + const suggestion = await sessionApi.liveCoach(liveSessionId, { + learner_text: learnerTextToSend, + question: queryText, + client_reply: clientReplyToSend, + turn_seq: turnSeqToSend, + }); + + setCoachSuggestion(suggestion); + setCoachPersistenceSource(suggestion.persistence_source ?? null); + if (suggestion.quota) { + setCoachQuota(suggestion.quota); + } + if (suggestion.credit_events?.length) { + applyCoachCreditEvents(suggestion.credit_events, true); + } + pushSignal(suggestion.tone, suggestion.title); + void refreshCoachHistory(liveSessionId, { animateCredits: false, warnOnFailure: true }); + + setCoachChatMessages((prev) => [ + ...prev, + { + id: randomUuid(), + sender: "coach", + text: suggestion.message, + suggestion, + createdAt: Date.now(), + }, + ]); + } catch (err) { + if (err instanceof ApiError && err.status === 409) { + setCoachQuota((current) => ({ ...current, remaining: 0 })); + setCoachChatMessages((prev) => [ + ...prev, + { + id: randomUuid(), + sender: "coach", + text: "코칭 기회를 모두 사용했습니다. 좋은 발화로 내담자가 열리면 다시 1개가 충전됩니다.", + createdAt: Date.now(), + }, + ]); + } else { + setCoachChatMessages((prev) => [ + ...prev, + { + id: randomUuid(), + sender: "coach", + text: "코칭 조언을 불러오지 못했습니다. 잠시 후 다시 시도해 주세요.", + createdAt: Date.now(), + }, + ]); + } + } finally { + setCoachChatLoading(false); + } + }, + [ + applyCoachCreditEvents, + coachQuota.remaining, + composeText, + liveSessionId, + pushSignal, + refreshCoachHistory, + utterances, + ], + ); + + const applySuggestionToComposer = useCallback((text: string) => { + setComposeText(text); + }, []); + useEffect(() => { if (!routeIsSessionId) return; // 이 화면에서 방금 시작한 회기의 URL 전환은 재개(resume)가 아니다 — 서버 스냅샷(0턴) @@ -2155,28 +2330,174 @@ export default function Session() { }); }, [sessionEnded, shutdownVoice, voiceStatus]); - // ── 키보드 단축키: Alt+M=마이크, P=일시정지. 입력 중엔 무시 ── + // ── 키보드 단축키 전수 등록 ── useEffect(() => { - if (!started) return; const onKey = (e: KeyboardEvent) => { if (e.repeat) return; - if (e.altKey && !e.ctrlKey && !e.metaKey && e.key.toLowerCase() === "m") { + + // 1. 전역 모달 닫기: Escape 또는 Ctrl+W (모달이 열려있을 때) + if (e.key === "Escape" || ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === "w")) { + if (shortcutHelpOpen) { + e.preventDefault(); + setShortcutHelpOpen(false); + return; + } + if (coachEvidenceOpen) { + e.preventDefault(); + setCoachEvidenceOpen(false); + return; + } + if (coachHistoryOpen) { + e.preventDefault(); + setCoachHistoryOpen(false); + return; + } + if (endDialogOpen && !ending) { + e.preventDefault(); + setEndDialogOpen(false); + return; + } + } + + // 2. 단축키 도움말: ? (입력창 밖) 또는 Ctrl+/ or Alt+/ + if ( + ((e.ctrlKey || e.metaKey || e.altKey) && e.key === "/") || + (e.key === "?" && !(e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement)) + ) { + e.preventDefault(); + setShortcutHelpOpen((prev) => !prev); + return; + } + + // 시작 전 프리플라이트 단축키 + if (!started) { + if ((e.ctrlKey || e.metaKey || e.altKey) && e.key === "Enter") { + e.preventDefault(); + if (selectedGoals.length > 0 && !starting) { + void handleStart(); + } + return; + } + return; + } + + // 세션 진행 중 단축키 + const isAlt = e.altKey && !e.ctrlKey && !e.metaKey; + const isCtrl = (e.ctrlKey || e.metaKey) && !e.altKey; + const target = e.target instanceof HTMLElement ? e.target : null; + const isInput = target?.closest("input, textarea, select, [contenteditable='true']"); + + // Alt+M: 마이크 토글 + if (isAlt && e.key.toLowerCase() === "m") { e.preventDefault(); void toggleMic(); return; } - const target = e.target instanceof HTMLElement ? e.target : null; - const interactive = target?.closest( - "button, a, input, textarea, select, [contenteditable='true'], [role='button'], [role='link']", - ); - if (interactive) return; - if (e.key === "p" || e.key === "P") { + + // Alt+[ 또는 Ctrl+[: 좌측 패널 토글 + if ((isAlt || isCtrl) && (e.key === "[" || e.code === "BracketLeft")) { + e.preventDefault(); + setLeftPanelCollapsed((prev) => !prev); + return; + } + + // Alt+] 또는 Ctrl+]: 우측 패널 토글 + if ((isAlt || isCtrl) && (e.key === "]" || e.code === "BracketRight")) { + e.preventDefault(); + setRightPanelCollapsed((prev) => !prev); + return; + } + + // Alt+\ 또는 Ctrl+\: 완전 몰입 모드 토글 (양쪽 패널 동시 접기/펼치기) + if ((isAlt || isCtrl) && (e.key === "\\" || e.code === "Backslash")) { + e.preventDefault(); + const bothCollapsed = leftPanelCollapsed && rightPanelCollapsed; + setLeftPanelCollapsed(!bothCollapsed); + setRightPanelCollapsed(!bothCollapsed); + return; + } + + // Alt+1 / Alt+2 / Alt+3: 피드백 모드 전환 + if (isAlt && e.key === "1") { + e.preventDefault(); + setFeedbackMode("immersive"); + return; + } + if (isAlt && e.key === "2") { + e.preventDefault(); + setFeedbackMode("ambient"); + return; + } + if (isAlt && e.key === "3") { + e.preventDefault(); + setFeedbackMode("coached"); + return; + } + + // Alt+Q: 회기 종료 확인 + if (isAlt && (e.key.toLowerCase() === "q" || e.key.toLowerCase() === "w")) { + e.preventDefault(); + if (!sessionEnded) setEndDialogOpen(true); + return; + } + + // Alt+J 또는 Alt+Down: 최신 발화로 점프 + if (isAlt && (e.key.toLowerCase() === "j" || e.key === "ArrowDown")) { + e.preventDefault(); + jumpToLatest(); + return; + } + + // Alt+C: AI 코칭 이력 + if (isAlt && e.key.toLowerCase() === "c") { + e.preventDefault(); + openCoachHistory(null); + return; + } + + // Alt+E: AI 코칭 근거 + if (isAlt && e.key.toLowerCase() === "e") { + e.preventDefault(); + setCoachEvidenceOpen(true); + return; + } + + // Alt+P: 일시정지 토글 + if (isAlt && e.key.toLowerCase() === "p") { + e.preventDefault(); togglePause(); + return; + } + + // 입력창 밖 단축키 + if (!isInput) { + if (e.key === "p" || e.key === "P" || e.key === " ") { + if (e.key === " ") e.preventDefault(); + togglePause(); + return; + } } }; window.addEventListener("keydown", onKey); return () => window.removeEventListener("keydown", onKey); - }, [started, toggleMic, togglePause]); + }, [ + started, + selectedGoals.length, + starting, + handleStart, + toggleMic, + togglePause, + leftPanelCollapsed, + rightPanelCollapsed, + sessionEnded, + jumpToLatest, + openCoachHistory, + shortcutHelpOpen, + coachEvidenceOpen, + coachHistoryOpen, + endDialogOpen, + ending, + ]); useEffect(() => { voiceCaptureMountedRef.current = true; @@ -2544,29 +2865,57 @@ export default function Session() { {started ? ( -
) : null} + {shortcutHelpOpen ? ( +
{ + if (event.target === event.currentTarget) setShortcutHelpOpen(false); + }} + > +
event.stopPropagation()} + > +
+ +
+

키보드 단축키 안내

+

마우스 없이도 상담과 모든 인터랙션을 빠르게 조작할 수 있습니다.

+
+
+ +
+
+

상담 및 음성

+
+
+
Alt+M
+
마이크 켜기/끄기 토글
+
+
+
Alt+P 또는 Space
+
회기 일시정지 / 재개
+
+
+
Enter
+
텍스트 발화 즉시 전송
+
+
+
Alt+J 또는 Alt+
+
실시간 자막 최신 발화로 스크롤
+
+
+
+ +
+

레이아웃 & 패널 접기

+
+
+
Alt+[ 또는 Ctrl+[
+
좌측 (진행 & 컨텍스트) 패널 접기/펼치기
+
+
+
Alt+] 또는 Ctrl+]
+
우측 (AI 코치 & 신호) 패널 접기/펼치기
+
+
+
Alt+\ 또는 Ctrl+\
+
완전 몰입 모드 (양쪽 패널 동시 토글)
+
+
+
Alt+1 / 2 / 3
+
몰입 / 상태 신호 / 코칭 모드 즉시 전환
+
+
+
+ +
+

AI 코치 및 분석

+
+
+
Alt+C
+
AI 코칭 이력 열기
+
+
+
Alt+E
+
방금 발화 코칭 근거 열기
+
+
+
+ +
+

세션 관리 & 내비게이션

+
+
+
Alt+Q 또는 Alt+W
+
회기 종료 확인창 열기
+
+
+
Ctrl+Enter
+
시작 전 화면에서 회기 즉시 시작
+
+
+
? 또는 Ctrl+/
+
단축키 도움말 열기/닫기
+
+
+
Escape 또는 Ctrl+W
+
열려있는 모달/팝업 닫기
+
+
+
+
+ +
+ +
+
+
+ ) : null} + {/* 경과 시간(접근성 — 보조 표기. 화면 우상단 톱바는 셸 소관) */} {timeUp && !sessionEnded ? "회기 시간 만료" : `경과 ${formatElapsed(elapsed)}`} diff --git a/apps/web/src/pages/avatar-expression-lab.css b/apps/web/src/pages/avatar-expression-lab.css index eeff26e..53f861e 100644 --- a/apps/web/src/pages/avatar-expression-lab.css +++ b/apps/web/src/pages/avatar-expression-lab.css @@ -139,7 +139,7 @@ } .axl__card { - --tone: #53616f; + --tone: var(--neutral-500); min-width: 0; min-height: 188px; position: relative; @@ -163,23 +163,23 @@ } .axl__card--positive { - --tone: #2f7d57; + --tone: var(--pos-solid); } .axl__card--negative { - --tone: #a84444; + --tone: var(--crit-solid); } .axl__card--defensive { - --tone: #7a5730; + --tone: var(--clay); } .axl__card--cognitive { - --tone: #386f9d; + --tone: var(--info-solid); } .axl__card--energy { - --tone: #7565a8; + --tone: var(--accent-bright); } .axl__card .vg-avatar { @@ -187,7 +187,7 @@ } .axl__card .vg-avatar__stage { - box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bg-surface) 5%, transparent); } .axl__card-meta { diff --git a/apps/web/src/pages/avatar-preview.css b/apps/web/src/pages/avatar-preview.css index b472d3c..3e5fa0d 100644 --- a/apps/web/src/pages/avatar-preview.css +++ b/apps/web/src/pages/avatar-preview.css @@ -1,10 +1,10 @@ .ap{padding:32px;max-width:1100px;margin:0 auto;color:var(--text-body);} .ap__head h1{font-size:var(--fs-h1);margin:0 0 6px;} .ap__head p{color:var(--text-muted);font-size:var(--fs-sm);margin:0 0 28px;} -.ap__hero{display:flex;gap:32px;flex-wrap:wrap;justify-content:center;padding:24px;border:1px solid var(--border-subtle);border-radius:20px;background:linear-gradient(135deg,rgba(238,244,242,.96),rgba(246,240,236,.92));margin-bottom:32px;} -.ap__hero .vg-avatar__persona{color:#1c2a2a;} -.ap__hero .vg-avatar__state{color:#5a6663;} -.ap__hero .vg-avatar__state b{color:#1c2a2a;} +.ap__hero{display:flex;gap:32px;flex-wrap:wrap;justify-content:center;padding:24px;border:1px solid var(--border-subtle);border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-tint) 96%,transparent),color-mix(in srgb,var(--bg-surface-2) 92%,transparent));margin-bottom:32px;} +.ap__hero .vg-avatar__persona{color:var(--text-strong);} +.ap__hero .vg-avatar__state{color:var(--text-muted);} +.ap__hero .vg-avatar__state b{color:var(--text-strong);} .ap__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;} .ap__cell{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;} .ap__cell figcaption{font-size:var(--fs-xs);color:var(--text-muted);} diff --git a/apps/web/src/pages/learner-home.css b/apps/web/src/pages/learner-home.css index 69aa63d..76d9363 100644 --- a/apps/web/src/pages/learner-home.css +++ b/apps/web/src/pages/learner-home.css @@ -75,48 +75,35 @@ min-width:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); - gap:10px; + gap:12px; } /* 중간 폭 이하 전용 가로 탭 — 데스크톱에서는 숨김(리뷰 화면 sr-tabs와 동일 패턴) */ .lh-tabs{ display:none; - gap:6px; + gap:4px; padding:4px; border:1px solid var(--border-subtle); - border-radius:var(--radius); + border-radius:var(--radius-pill); background:var(--bg-surface-2); + box-shadow:var(--shadow-sm); } .lh-tabs button{ position:relative; flex:1 1 0; min-width:0; - padding:9px 12px; + padding:8px 12px; border:1px solid transparent; - border-radius:calc(var(--radius) - 2px); + border-radius:var(--radius-pill); background:transparent; color:var(--text-body); font-size:var(--fs-sm); - font-weight:700; + font-weight:650; cursor:pointer; - min-height:44px; + min-height:42px; + transition:all var(--dur-fast) var(--ease-spring); } -/* D6(탭 구분 강화): 비활성 탭이 배경과 같아 "여러 개 중 하나"로 안 읽혔다. - 비활성 탭 사이에만 세로 구분선을 넣는다. 활성 탭은 자체 배경/테두리로 - 이미 구분되므로 활성 탭에 붙는 구분선은 숨겨 이중 경계선을 막는다. */ -.lh-tabs button + button::before{ - content:""; - position:absolute; - left:-4px; - top:22%; - bottom:22%; - width:1px; - background:var(--border-strong); - opacity:.55; - pointer-events:none; -} -.lh-tabs button.is-active::before, -.lh-tabs button.is-active + button::before{ - opacity:0; +.lh-tabs button:active{ + transform:scale(0.96); } .lh-tabs button:hover{ color:var(--text-strong); @@ -131,6 +118,7 @@ border-color:var(--border-strong); color:var(--text-strong); box-shadow:var(--shadow-sm); + font-weight:750; } .lh-dashboard-side{ min-width:0; @@ -448,7 +436,7 @@ inset:0 auto 0 0; width:var(--lh-stage-progress,0%); border-radius:inherit; - background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 72%,#f2c36b)); + background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 72%,var(--warn-solid))); } .lh-recap__quote{ min-width:0; @@ -1798,19 +1786,19 @@ [data-theme="dark"] .lh-compact-list li, [data-theme="dark"] .lh-persona, [data-theme="dark"] .lh-persona-progress__row{ - border-color:rgba(203,227,220,.11); - background:rgba(255,255,255,.045); + border-color:color-mix(in srgb, var(--accent) 11%, transparent); + background:color-mix(in srgb, var(--text-strong) 4.5%, transparent); } [data-theme="dark"] .lh-recommend-card{ - border-color:rgba(111,179,164,.22); + border-color:color-mix(in srgb, var(--accent) 22%, transparent); background: - linear-gradient(135deg,rgba(111,179,164,.12),transparent 62%), - rgba(255,255,255,.052); + linear-gradient(135deg,color-mix(in srgb, var(--accent) 12%, transparent),transparent 62%), + color-mix(in srgb, var(--text-strong) 5.2%, transparent); } [data-theme="dark"] .lh-persona.is-selected, [data-theme="dark"] .lh-persona-progress__row.is-selected{ - border-color:rgba(111,179,164,.66); - background:rgba(111,179,164,.13); + border-color:color-mix(in srgb, var(--accent) 66%, transparent); + background:color-mix(in srgb, var(--accent) 13%, transparent); } @keyframes lhSkel{0%{background-position:120% 0}100%{background-position:-80% 0}} /* 중간 폭(1181~1420px): 우측 사이드는 유지하되 리캡+코치 2열은 세로 스택으로. @@ -1939,9 +1927,14 @@ .lh-recap__facts{ grid-template-columns:repeat(2,minmax(0,1fr)); } + .lh-dashboard-status{ + grid-template-columns:repeat(2,minmax(0,1fr)); + gap:10px; + } .lh-metric-card{ min-height:0; - padding:12px; + padding:14px; + border-radius:var(--radius); } .lh-personas{ display:flex; @@ -2175,7 +2168,7 @@ /* ═══ 학습 대시보드 보태니컬 시안 적용 ═══ 카드 광원은 좌상단, 황금 기운은 헤어라인과 가장자리에서만 아주 옅게 사용한다. */ .vg-shell--learner-dashboard .lh-root { - --lh-gold: #b5975d; + --lh-gold: var(--clay-deep); --lh-botanical-hair: color-mix(in srgb, var(--lh-gold) 34%, var(--border-subtle)); --lh-botanical-line: color-mix(in srgb, var(--lh-gold) 17%, var(--border-subtle)); gap: clamp(18px, 2vw, 28px); @@ -2187,7 +2180,7 @@ .vg-shell--learner-dashboard .lh-head__status { border-color: var(--lh-botanical-hair); background: var(--glass-surface-inset); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62); + box-shadow: inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 62%, transparent); backdrop-filter: blur(10px); } .vg-shell--learner-dashboard .lh-dashboard-status { @@ -2261,7 +2254,7 @@ position: absolute; inset: 0; border-radius: inherit; - background: radial-gradient(circle at 100% 0%, rgba(187, 156, 97, 0.06), transparent 22rem); + background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--clay) 6%, transparent), transparent 22rem); pointer-events: none; } .vg-shell--learner-dashboard .lh-work-cluster > * { @@ -2298,7 +2291,7 @@ background:var(--accent); border-color:color-mix(in srgb,var(--accent-deep) 78%,var(--lh-gold)); color:var(--text-on-accent); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28); + box-shadow: inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 28%, transparent); } .vg-shell--learner-dashboard .lh-coach-card__cta:hover:not(:disabled) { background:var(--accent-deep); @@ -2311,12 +2304,12 @@ } [data-theme="dark"] .vg-shell--learner-dashboard .lh-root { - --lh-gold: #bca579; + --lh-gold: var(--clay); --lh-botanical-hair: color-mix(in srgb, var(--lh-gold) 27%, var(--border-subtle)); --lh-botanical-line: color-mix(in srgb, var(--lh-gold) 16%, var(--border-subtle)); } [data-theme="dark"] .vg-shell--learner-dashboard .lh-head__status { - box-shadow: inset 0 1px 0 rgba(255, 245, 222, 0.055); + box-shadow: inset 0 1px 0 color-mix(in srgb, var(--clay-tint) 5.5%, transparent); } [data-theme="dark"] .vg-shell--learner-dashboard .lh-metric-card { --lh-card-art: url("/design-elements/learner-dashboard/card-leaf-sprig.png"); @@ -2336,8 +2329,8 @@ } [data-theme="dark"] .vg-shell--learner-dashboard .lh-work-cluster::before { background: - linear-gradient(105deg, rgba(203, 184, 139, 0.025), transparent 38%), - radial-gradient(circle at 100% 0%, rgba(187, 156, 97, 0.055), transparent 22rem); + linear-gradient(105deg, color-mix(in srgb, var(--clay) 2.5%, transparent), transparent 38%), + radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--clay) 5.5%, transparent), transparent 22rem); } [data-theme="dark"] .vg-shell--learner-dashboard .lh-coach-card::after { background-image: url("/design-elements/learner-dashboard/card-paired-leaves.png"); @@ -2600,11 +2593,11 @@ } [data-theme="dark"] .vg-shell--learner-dashboard .lh-root { - --text-strong: #eee8dc; - --text-body: #c3beb2; - --text-muted: #928f86; - --lh-botanical-hair: rgba(184, 160, 110, 0.31); - --lh-botanical-line: rgba(184, 160, 110, 0.22); + --text-strong: var(--ink-0); + --text-body: var(--ink-2); + --text-muted: var(--ink-3); + --lh-botanical-hair: color-mix(in srgb, var(--clay) 31%, transparent); + --lh-botanical-line: color-mix(in srgb, var(--clay) 22%, transparent); } [data-theme="dark"] .vg-shell--learner-dashboard .lh-recap__avatar { border: 0; diff --git a/apps/web/src/pages/login/login.css b/apps/web/src/pages/login/login.css index 46ed150..2261978 100644 --- a/apps/web/src/pages/login/login.css +++ b/apps/web/src/pages/login/login.css @@ -95,7 +95,7 @@ position: relative; z-index: 0; padding: 0 4px; - background: linear-gradient(90deg, #6b9488, #9fc0b5); + background: linear-gradient(90deg, var(--accent-deep), var(--accent-bright)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; @@ -205,6 +205,11 @@ font-weight: 650; text-align: left; cursor: pointer; + transition: transform var(--dur-fast) var(--ease-spring), background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); +} + +.lg-obtn:active { + transform: translateY(1px) scale(0.98); } .lg-obtn.primary { @@ -286,9 +291,8 @@ margin-top: var(--sp-3); padding: 10px 12px; border-radius: var(--radius); - /* 2026-07-27: 기존 rgba(154,94,20,.28) + #f2b75f 조합은 다크 패널 전제였다. - 라이트 패널 위에서는 탄색 배경에 밝은 앰버 글자가 얹혀 1.19:1까지 떨어져 - 사실상 읽을 수 없었다. 테마별로 스왑되는 warn 의미 토큰으로 교체한다. */ + /* 2026-07-27: 기존 하드코딩 다크 전제 색상 대신 + 라이트/다크 테마별로 스왑되는 warn 의미 토큰으로 교체한다. */ background: var(--warn-tint); border: 1px solid color-mix(in srgb, var(--warn-solid) 34%, transparent); color: var(--warn-text); @@ -335,6 +339,11 @@ color: var(--text-strong); text-align: left; cursor: pointer; + transition: transform var(--dur-fast) var(--ease-spring), background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); +} + +.lg-roleopt:active { + transform: translateY(1px) scale(0.98); } .lg-roleopt.is-sel { @@ -353,11 +362,11 @@ } .lg-roleopt .d.teacher { - background: #5478c4; + background: var(--info-solid); } .lg-roleopt .d.admin { - background: #7d818e; + background: var(--neutral-500); } .lg-roleopt b { @@ -376,14 +385,19 @@ width: 100%; min-height: 46px; margin-top: var(--sp-3); - border: 1px solid rgba(114, 211, 197, 0.58); + border: 1px solid color-mix(in srgb, var(--accent) 58%, transparent); border-radius: var(--radius); - background: rgba(89, 181, 166, 0.15); + background: color-mix(in srgb, var(--accent-tint) 60%, transparent); color: var(--accent-deep); font-family: var(--font-sans); font-size: 14px; font-weight: 750; cursor: pointer; + transition: transform var(--dur-fast) var(--ease-spring), background var(--dur-base) var(--ease-out); +} + +.lg-devbtn:active { + transform: translateY(1px) scale(0.98); } .lg-devbtn:disabled { @@ -394,8 +408,8 @@ .lg-error { margin: var(--sp-3) 0 0; color: var(--crit-text); - background: rgba(122, 38, 38, 0.28); - border: 1px solid rgba(255, 145, 145, 0.18); + background: var(--crit-tint); + border: 1px solid color-mix(in srgb, var(--crit-solid) 30%, transparent); border-radius: var(--radius); padding: 10px 12px; font-size: 13px; diff --git a/apps/web/src/pages/onboarding.css b/apps/web/src/pages/onboarding.css index b8d5981..6cf8ed0 100644 --- a/apps/web/src/pages/onboarding.css +++ b/apps/web/src/pages/onboarding.css @@ -172,8 +172,14 @@ grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; - min-height:28px; + min-height:34px; + padding:4px 6px; + border-radius:var(--radius-sm); cursor:pointer; + transition:background var(--dur-fast) var(--ease-out); +} +.ob-checks label:hover{ + background:color-mix(in srgb,var(--text-strong) 4%,transparent); } .ob-checks input{ width:18px; diff --git a/apps/web/src/pages/pending-approval.css b/apps/web/src/pages/pending-approval.css index 6ff18f1..7b44274 100644 --- a/apps/web/src/pages/pending-approval.css +++ b/apps/web/src/pages/pending-approval.css @@ -12,8 +12,8 @@ padding:clamp(24px,5vw,44px); border:1px solid var(--border-subtle); border-radius:var(--radius); - background:color-mix(in srgb,var(--bg-surface) 92%,white 8%); - box-shadow:0 18px 50px rgba(28,43,40,.10); + background: var(--bg-surface); + box-shadow: var(--shadow-island); } .pa-mark{ width:62px; @@ -63,8 +63,13 @@ width:10px; height:10px; border-radius:50%; - background:#d89a2b; - box-shadow:0 0 0 5px rgba(216,154,43,.14); + background:var(--warn-solid); + box-shadow:0 0 0 5px var(--warn-tint); + animation:paBreathe 2400ms var(--ease-in-out) infinite; +} +@keyframes paBreathe{ + 0%,100%{transform:scale(1);opacity:0.85;} + 50%{transform:scale(1.2);opacity:1;} } .pa-status b{ display:block; diff --git a/apps/web/src/pages/persona-studio.css b/apps/web/src/pages/persona-studio.css index d6e8d46..92ce436 100644 --- a/apps/web/src/pages/persona-studio.css +++ b/apps/web/src/pages/persona-studio.css @@ -907,8 +907,8 @@ .ps-point-list > div{display:grid;grid-template-columns:minmax(0,1fr) 70px 120px;gap:12px;padding:11px 0;border-bottom:1px solid var(--hair);color:var(--text-body);font-size:var(--fs-xs);} .ps-point-list b{font-family:var(--font-num);font-variant-numeric:tabular-nums;} .ps-point-list small{color:var(--text-muted);text-align:right;} -.ps-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden;background:color-mix(in srgb,var(--bg-surface) 78%,transparent);} -.ps-stepper button{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:0;border-right:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);text-align:left;cursor:pointer;} +.ps-stepper button{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:0;border-right:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);} +.ps-stepper button:active{transform:scale(0.96);} .ps-stepper button:last-child{border-right:0;} .ps-stepper button > span:first-child{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border-subtle);border-radius:50%;font-family:var(--font-num);font-size:11px;font-weight:800;} .ps-stepper button > span:last-child{min-width:0;display:grid;gap:2px;} diff --git a/apps/web/src/pages/professor.css b/apps/web/src/pages/professor.css index 5f7bebc..72dec6d 100644 --- a/apps/web/src/pages/professor.css +++ b/apps/web/src/pages/professor.css @@ -1326,6 +1326,10 @@ .pf-session:first-child{border-top:0;} .pf-session--action{ cursor:pointer; + transition:transform var(--dur-fast) var(--ease-spring), background var(--dur-fast) var(--ease-out); +} +.pf-session--action:active{ + transform:scale(0.985); } .pf-session--action:hover{ background:var(--bg-surface-2); diff --git a/apps/web/src/pages/session-review/calibration-transfer.css b/apps/web/src/pages/session-review/calibration-transfer.css index fd403e7..b543f70 100644 --- a/apps/web/src/pages/session-review/calibration-transfer.css +++ b/apps/web/src/pages/session-review/calibration-transfer.css @@ -784,7 +784,7 @@ padding: 0 var(--sp-4); border-radius: var(--radius-sm); background: var(--accent); - color: var(--text-on-accent, #fff); + color: var(--text-on-accent); font-size: var(--fs-sm); font-weight: 720; text-decoration: none; diff --git a/apps/web/src/pages/session-review/deliberate-practice.css b/apps/web/src/pages/session-review/deliberate-practice.css index 711e1fe..b3134a6 100644 --- a/apps/web/src/pages/session-review/deliberate-practice.css +++ b/apps/web/src/pages/session-review/deliberate-practice.css @@ -184,7 +184,7 @@ .dp-runtime-observation__message.is-waiting { border-color: color-mix( in srgb, - var(--botanical-gold, #96743d) 44%, + var(--botanical-gold, var(--clay)) 44%, var(--border-subtle) ); } @@ -197,7 +197,7 @@ .dp-runtime-observation__message.is-error { border-color: color-mix( in srgb, - var(--danger, #a34a46) 42%, + var(--danger, var(--crit-solid)) 42%, var(--border-subtle) ); } @@ -483,7 +483,7 @@ .dp-launch-ticket__cta { padding: 0 var(--sp-4); background: var(--accent); - color: var(--text-on-accent, #fff); + color: var(--text-on-accent); white-space: nowrap; } @@ -523,7 +523,7 @@ } .dp-gate--transfer_pending > span { - border-color: var(--botanical-gold, #96743d); + border-color: var(--botanical-gold, var(--clay)); } .dp-gate--mastered > span { @@ -865,8 +865,8 @@ .dp-form-message--error { border: 1px solid - color-mix(in srgb, var(--danger, #a34a46) 38%, var(--border-subtle)); - color: var(--danger, #8d3834); + color-mix(in srgb, var(--danger, var(--crit-solid)) 38%, var(--border-subtle)); + color: var(--danger, var(--crit-text)); } .dp-form-message--success { @@ -969,7 +969,7 @@ .dp-card--error { border-color: color-mix( in srgb, - var(--danger, #a34a46) 35%, + var(--danger, var(--crit-solid)) 35%, var(--border-subtle) ); } diff --git a/apps/web/src/pages/session-review/session-review.css b/apps/web/src/pages/session-review/session-review.css index 029b0a3..48e013c 100644 --- a/apps/web/src/pages/session-review/session-review.css +++ b/apps/web/src/pages/session-review/session-review.css @@ -300,41 +300,34 @@ /* ── 리뷰 영역 가로 탭 ── */ .sr-tabs { display: flex; - gap: 6px; + gap: 4px; padding: 4px; border: 1px solid var(--border-subtle); - border-radius: var(--radius); + border-radius: var(--radius-pill); background: var(--bg-surface-2); + box-shadow: var(--shadow-sm); } .sr-tabs button { position: relative; flex: 1 1 0; min-width: 0; - padding: 9px 12px; + padding: 8px 14px; border: 1px solid transparent; - border-radius: calc(var(--radius) - 2px); + border-radius: var(--radius-pill); background: transparent; color: var(--text-body); font-size: var(--fs-sm); - font-weight: 700; + font-weight: 650; cursor: pointer; - min-height: 44px; + min-height: 42px; + transition: all var(--dur-fast) var(--ease-spring); } -/* D6: 비활성 탭이 배경과 붙어 보이지 않으므로 탭 사이마다 얇은 구분선을 세워 - "여러 개 중 하나"임을 드러낸다. 가운데 탭이 활성일 때도 구분이 남도록 항상 그리고, - 활성 탭 카드와 겹치지 않게 6px 간격 한가운데(-4px)에 둔다. */ -.sr-tabs button + button::before { - content: ""; - position: absolute; - left: -4px; - top: 24%; - bottom: 24%; - width: 1px; - background: var(--border-strong); - opacity: 0.8; +.sr-tabs button:active { + transform: scale(0.96); } .sr-tabs button:hover { color: var(--text-strong); + background: color-mix(in srgb, var(--text-strong) 5%, transparent); } .sr-tabs button:focus-visible { outline: 2px solid var(--focus-ring); @@ -345,6 +338,7 @@ border-color: var(--border-strong); color: var(--text-strong); box-shadow: var(--shadow-sm); + font-weight: 750; } /* 대기 자리표시자는 사이드 레일에서 컴팩트하게 — 큰 빈 박스 금지 */ @@ -485,6 +479,8 @@ font-weight: 650; letter-spacing: 0; line-height: 1.45; + text-wrap: balance; + word-break: keep-all; } .sr-overview .sr-summary { font-size: var(--fs-sm); @@ -1517,24 +1513,24 @@ [data-theme="dark"] .sr-card, [data-theme="dark"] .sr-overview { background: var(--surface-gradient); - border-color: rgba(203, 227, 220, 0.13); + border-color: color-mix(in srgb, var(--accent) 13%, var(--border-subtle)); box-shadow: - 0 16px 42px rgba(3, 9, 8, 0.24), - inset 0 1px 0 rgba(255, 255, 255, 0.035); + var(--shadow-md), + inset 0 1px 0 color-mix(in srgb, var(--bg-surface) 3.5%, transparent); } [data-theme="dark"] .sr-card--transcript { - background: linear-gradient(180deg, rgba(13, 24, 22, 0.98), rgba(11, 19, 17, 0.98)); + background: linear-gradient(180deg, color-mix(in srgb, var(--bg-app) 98%, transparent), color-mix(in srgb, var(--bg-surface) 98%, transparent)); } [data-theme="dark"] .sr-overview { - border-color: rgba(125, 162, 148, 0.2); - background: linear-gradient(180deg, rgba(32, 50, 45, 0.94), rgba(18, 31, 28, 0.98)); + border-color: color-mix(in srgb, var(--accent) 20%, transparent); + background: linear-gradient(180deg, color-mix(in srgb, var(--bg-surface-2) 94%, transparent), color-mix(in srgb, var(--bg-surface) 98%, transparent)); } [data-theme="dark"] .sr-card--worksheet { - background: linear-gradient(180deg, rgba(25, 39, 44, 0.94), rgba(16, 27, 31, 0.98)); + background: linear-gradient(180deg, color-mix(in srgb, var(--bg-surface-2) 94%, transparent), color-mix(in srgb, var(--bg-surface) 98%, transparent)); } [data-theme="dark"] .sr-card--prepost, [data-theme="dark"] .sr-card--rubric { - background: linear-gradient(180deg, rgba(29, 43, 38, 0.92), rgba(18, 30, 27, 0.96)); + background: linear-gradient(180deg, color-mix(in srgb, var(--bg-surface-2) 92%, transparent), color-mix(in srgb, var(--bg-surface) 96%, transparent)); } [data-theme="dark"] .sr-stat, [data-theme="dark"] .sr-readiness span, @@ -1545,8 +1541,8 @@ [data-theme="dark"] .sr-prepost__field input, [data-theme="dark"] .sr-feedback, [data-theme="dark"] .sr-nextline { - background: rgba(255, 255, 255, 0.055); - border-color: rgba(203, 227, 220, 0.12); + background: color-mix(in srgb, var(--text-strong) 5.5%, transparent); + border-color: color-mix(in srgb, var(--accent) 12%, transparent); } [data-theme="dark"] .sr-tx__head, [data-theme="dark"] .sr-turn + .sr-turn, @@ -1554,35 +1550,35 @@ [data-theme="dark"] .sr-ws-limitations, [data-theme="dark"] .sr-prepost__actions, [data-theme="dark"] .sr-feedback__src { - border-color: rgba(203, 227, 220, 0.1); + border-color: color-mix(in srgb, var(--accent) 10%, transparent); } [data-theme="dark"] .sr-turn__said--client { - color: rgba(234, 240, 241, 0.74); + color: color-mix(in srgb, var(--text-strong) 74%, transparent); } [data-theme="dark"] .sr-note--ai { - background: rgba(92, 151, 190, 0.12); + background: color-mix(in srgb, var(--info-solid) 12%, transparent); } [data-theme="dark"] .sr-note--warn { - background: rgba(212, 162, 74, 0.12); + background: color-mix(in srgb, var(--warn-solid) 12%, transparent); } [data-theme="dark"] .sr-turn--active .sr-turn__said { - background: rgba(125, 162, 148, 0.14); + background: color-mix(in srgb, var(--accent) 14%, transparent); } [data-theme="dark"] .sr-practice-return { - border-color: rgba(125, 162, 148, 0.32); - background: rgba(32, 50, 45, 0.88); + border-color: color-mix(in srgb, var(--accent) 32%, transparent); + background: color-mix(in srgb, var(--bg-surface-2) 88%, transparent); } [data-theme="dark"] .sr-practice-return__facts > div { - border-color: rgba(203, 227, 220, 0.13); - background: rgba(255, 255, 255, 0.055); + border-color: color-mix(in srgb, var(--accent) 13%, transparent); + background: color-mix(in srgb, var(--text-strong) 5.5%, transparent); } [data-theme="dark"] .sr-practice-return.is-error { - border-color: rgba(224, 139, 130, 0.42); - background: rgba(93, 42, 42, 0.3); + border-color: color-mix(in srgb, var(--crit-solid) 42%, transparent); + background: color-mix(in srgb, var(--crit-solid) 30%, transparent); } [data-theme="dark"] .sr-feedback--filled { - border-color: rgba(203, 227, 220, 0.12); - background: linear-gradient(135deg, rgba(12, 24, 21, 0.98), rgba(30, 44, 40, 0.92)); + border-color: color-mix(in srgb, var(--accent) 12%, transparent); + background: linear-gradient(135deg, color-mix(in srgb, var(--bg-app) 98%, transparent), color-mix(in srgb, var(--bg-surface) 92%, transparent)); } @media (max-width: 1180px) { diff --git a/apps/web/src/pages/session/alliance-checkpoint-prompt.css b/apps/web/src/pages/session/alliance-checkpoint-prompt.css index 3d292a1..c2dbbe9 100644 --- a/apps/web/src/pages/session/alliance-checkpoint-prompt.css +++ b/apps/web/src/pages/session/alliance-checkpoint-prompt.css @@ -9,9 +9,9 @@ ===================================================================== */ .sx-alliance-checkpoint { - --checkpoint-ink: var(--text-strong, #132822); - --checkpoint-muted: var(--text-muted, #66736f); - --checkpoint-line: color-mix(in srgb, var(--accent, #2f695b) 18%, transparent); + --checkpoint-ink: var(--text-strong); + --checkpoint-muted: var(--text-muted); + --checkpoint-line: color-mix(in srgb, var(--accent) 18%, transparent); --checkpoint-hair: color-mix(in srgb, var(--checkpoint-ink) 12%, transparent); --checkpoint-title: clamp(1.02rem, 1.5vw, 1.24rem); --checkpoint-pad: clamp(16px, 1.6vw, 24px); @@ -23,7 +23,7 @@ margin: 14px auto 0; padding: 14px 16px; color: var(--checkpoint-ink); - background: color-mix(in srgb, var(--surface, #fff) 94%, var(--accent, #2f695b) 6%); + background: color-mix(in srgb, var(--surface) 94%, var(--accent) 6%); border: 1px solid var(--checkpoint-line); border-radius: 14px; word-break: keep-all; @@ -50,9 +50,9 @@ width: 9px; height: 9px; flex: 0 0 auto; - background: var(--accent, #2f695b); + background: var(--accent); border-radius: 999px; - box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent, #2f695b) 12%, transparent); + box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 12%, transparent); } .sx-alliance-checkpoint.is-loading .sx-alliance-checkpoint__signal { @@ -60,8 +60,8 @@ } .sx-alliance-checkpoint.is-error { - border-color: color-mix(in srgb, var(--crit-solid, #a13c3c) 34%, transparent); - background: color-mix(in srgb, var(--surface, #fff) 94%, var(--crit-tint, #faeae8) 6%); + border-color: color-mix(in srgb, var(--crit-solid) 34%, transparent); + background: color-mix(in srgb, var(--surface) 94%, var(--crit-tint) 6%); } /* ── 확장 카드 공통 ───────────────────────────────────────────────── */ @@ -69,12 +69,12 @@ .sx-alliance-checkpoint.is-expanded { display: block; padding: var(--checkpoint-pad); - border-color: color-mix(in srgb, var(--accent, #2f695b) 28%, transparent); - box-shadow: 0 18px 50px rgb(18 42 35 / 9%); + border-color: color-mix(in srgb, var(--accent) 28%, transparent); + box-shadow: var(--shadow-island); } .sx-alliance-checkpoint.is-pre { - border-top: 3px solid var(--accent, #2f695b); + border-top: 3px solid var(--accent); } .sx-alliance-checkpoint__head { @@ -91,7 +91,7 @@ } .sx-alliance-checkpoint__eyebrow { - color: var(--accent, #2f695b); + color: var(--accent); font-size: 0.68rem; font-weight: 760; letter-spacing: 0.12em; @@ -136,12 +136,12 @@ } .sx-alliance-checkpoint__progress.is-done { - color: var(--accent, #2f695b); - background: color-mix(in srgb, var(--accent, #2f695b) 13%, transparent); + color: var(--accent); + background: color-mix(in srgb, var(--accent) 13%, transparent); } .sx-alliance-checkpoint__progress.is-done b { - color: var(--accent, #2f695b); + color: var(--accent); } /* ── 3축 ─────────────────────────────────────────────────────────── */ @@ -216,25 +216,25 @@ gap: 2px; padding: 7px 4px; cursor: pointer; - background: var(--bg-surface-2, #f4f2ee); + background: var(--bg-surface-2); border: 1px solid var(--checkpoint-hair); border-radius: 10px; transition: background 150ms ease, border-color 150ms ease, color 150ms ease; } .sx-alliance-checkpoint__scale label:hover { - background: color-mix(in srgb, var(--accent, #2f695b) 8%, var(--bg-surface-2, #f4f2ee)); - border-color: color-mix(in srgb, var(--accent, #2f695b) 42%, transparent); + background: color-mix(in srgb, var(--accent) 8%, var(--bg-surface-2)); + border-color: color-mix(in srgb, var(--accent) 42%, transparent); } .sx-alliance-checkpoint__scale label.is-selected { - color: var(--text-on-accent, #fbfaf8); - background: var(--accent, #2f695b); - border-color: var(--accent, #2f695b); + color: var(--text-on-accent); + background: var(--accent); + border-color: var(--accent); } .sx-alliance-checkpoint__scale label.is-selected:hover { - background: var(--accent, #2f695b); + background: var(--accent); } .sx-alliance-checkpoint__scale input { @@ -245,7 +245,7 @@ } .sx-alliance-checkpoint__scale label:focus-within { - outline: 3px solid color-mix(in srgb, var(--accent, #2f695b) 34%, transparent); + outline: 3px solid color-mix(in srgb, var(--accent) 34%, transparent); outline-offset: 2px; } @@ -306,7 +306,7 @@ fieldset[disabled] .sx-alliance-checkpoint__scale label { .sx-alliance-checkpoint__error { margin: 14px 0 0; - color: var(--crit-text, #a13c3c); + color: var(--crit-text); font-size: 0.78rem; } @@ -316,7 +316,7 @@ fieldset[disabled] .sx-alliance-checkpoint__scale label { gap: 7px; width: min(1180px, calc(100% - 32px)); margin: 10px auto 0; - color: var(--text-muted, #66736f); + color: var(--text-muted); font-size: 0.72rem; } diff --git a/apps/web/src/pages/session/session.css b/apps/web/src/pages/session/session.css index 0617c16..64cf4b8 100644 --- a/apps/web/src/pages/session/session.css +++ b/apps/web/src/pages/session/session.css @@ -9,6 +9,7 @@ ===================================================================== */ .sx-page { + --session-max-w: min(100%, 1480px); width: 100%; max-width: none; margin: 0 auto; @@ -16,7 +17,8 @@ height: calc(100dvh - var(--topbar-h)); min-height: 0; padding: var(--sp-5) var(--sp-5) var(--sp-4); - overflow: hidden; + overflow-x: hidden; + overflow-y: auto; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: var(--sp-4); @@ -25,7 +27,7 @@ word-break: keep-all; overflow-wrap: break-word; background: - linear-gradient(135deg, rgba(251, 250, 248, 0.94), rgba(244, 242, 238, 0.9)), + linear-gradient(135deg, color-mix(in srgb, var(--bg-surface) 94%, transparent), color-mix(in srgb, var(--bg-surface-2) 90%, transparent)), var(--asset-warm-elements) center / cover no-repeat; } .sx-page, @@ -51,12 +53,14 @@ height: 100vh; height: 100dvh; grid-template-rows: min-content minmax(0, 1fr) min-content; - padding: 10px 14px 14px; - gap: 10px; + padding: 10px clamp(12px, 1.8vw, 24px) 14px; + gap: 12px; + overflow-x: hidden; + overflow-y: auto; background: radial-gradient(circle at 18% 8%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 28%), radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--clay) 8%, transparent), transparent 24%), - var(--glass-canvas); + var(--bg-app); color: var(--text-strong); } .sx-page--active:has(.sx-timebar) { @@ -84,6 +88,8 @@ .sx-page--active.sx-alliance-gated .sx-alliance-checkpoint { min-height: 0; max-height: 100%; + width: 100%; + max-width: var(--session-max-w, 1480px); margin: 0 auto; overflow-y: auto; overscroll-behavior: contain; @@ -99,8 +105,9 @@ color-scheme: dark; } .sx-page--active .sx-grid { - height: auto; - width: min(100%, 1460px); + height: 100%; + width: 100%; + max-width: var(--session-max-w, 1480px); margin: 0 auto; } .sx-page--active .sx-head { @@ -108,14 +115,15 @@ } .sx-sessionbar { - width: min(100%, 1460px); - min-height: 44px; + width: 100%; + max-width: var(--session-max-w, 1480px); + min-height: 48px; margin: 0 auto; - padding: 6px 8px; + padding: 6px 12px; display: flex; align-items: center; justify-content: space-between; - gap: 10px; + gap: 12px; border: 1px solid var(--glass-border); border-radius: var(--radius); background: var(--glass-specular), var(--glass-surface-strong); @@ -123,10 +131,48 @@ box-shadow: var(--glass-edge-shadow), var(--glass-shadow); backdrop-filter: blur(12px); min-width: 0; + box-sizing: border-box; +} +.sx-sessionbar__left { + display: flex; + align-items: center; + gap: 10px; + min-width: 0; + flex: 1 1 auto; +} +.sx-sessionbar__toggles { + display: flex; + align-items: center; + gap: 6px; + flex: 0 0 auto; +} +.sx-sessionbar__toggle-btn { + min-height: 36px; + padding: 6px 12px; + border: 1px solid var(--glass-inset-border); + border-radius: var(--radius-sm); + background: var(--glass-specular-inset), var(--glass-surface-inset); + color: var(--text-strong); + display: inline-flex; + align-items: center; + gap: 6px; + font: 650 12px/1 var(--font-sans); + white-space: nowrap; + cursor: pointer; + transition: all var(--dur-fast) var(--ease-out); +} +.sx-sessionbar__toggle-btn:hover { + background: var(--accent-tint); + color: var(--accent-deep); + border-color: color-mix(in srgb, var(--accent) 38%, transparent); +} +.sx-sessionbar__toggle-btn.is-collapsed { + opacity: 0.68; + background: transparent; } .sx-sessionbar button { min-height: 44px; /* 터치 타깃 44×44 (WCAG 2.5.5 / 플랫폼 HIG) */ - padding: 7px 10px; + padding: 7px 12px; border: 1px solid var(--glass-inset-border); border-radius: var(--radius-sm); background: var(--glass-specular-inset), var(--glass-surface-inset); @@ -138,9 +184,11 @@ font: 700 12.5px/1 var(--font-sans); white-space: nowrap; cursor: pointer; + transition: all var(--dur-fast) var(--ease-out); } .sx-sessionbar button:hover { background: var(--accent-tint); + color: var(--accent-deep); } .sx-sessionbar__back { flex: none; @@ -195,11 +243,11 @@ border-radius: 50%; flex: none; background: var(--pos-solid); - box-shadow: 0 0 0 4px rgba(69, 165, 127, 0.14); + box-shadow: 0 0 0 4px var(--pos-tint); } .sx-sessionbar__dot.is-ended { background: var(--warn-solid); - box-shadow: 0 0 0 4px rgba(181, 123, 45, 0.16); + box-shadow: 0 0 0 4px var(--warn-tint); } .sx-sessionbar__actions { flex: none; @@ -316,17 +364,110 @@ background: var(--accent-bright); } -/* ── 3-region 그리드 ── */ +/* ── 3-region 가변 그리드 ── */ .sx-grid { display: grid; - grid-template-columns: minmax(248px, 0.76fr) minmax(500px, 2.12fr) minmax(248px, 0.72fr); - gap: 12px; + grid-template-columns: minmax(260px, 0.76fr) minmax(520px, 2.12fr) minmax(260px, 0.72fr); + gap: 14px; align-items: stretch; width: 100%; + max-width: var(--session-max-w, 1480px); + margin: 0 auto; min-width: 0; height: 100%; min-height: 0; - overflow: hidden; + overflow: visible; + transition: grid-template-columns var(--dur-base) var(--ease-spring); +} + +.sx-grid.is-left-collapsed { + grid-template-columns: 48px minmax(520px, 2.12fr) minmax(260px, 0.72fr); +} + +.sx-grid.is-right-collapsed { + grid-template-columns: minmax(260px, 0.76fr) minmax(520px, 2.12fr) 48px; +} + +.sx-grid.is-left-collapsed.is-right-collapsed, +.sx-grid.is-focus-mode { + grid-template-columns: 48px minmax(0, 1fr) 48px; +} + +/* 패널 헤더 정렬 및 닫기 버튼 */ +.sx-panel-head-row { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; +} + +.sx-panel-close-btn { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 4px 8px; + background: transparent; + border: 1px solid transparent; + border-radius: var(--radius-sm); + color: var(--text-muted); + font: 600 11.5px/1 var(--font-sans); + cursor: pointer; + transition: all var(--dur-fast) var(--ease-out); +} + +.sx-panel-close-btn:hover { + background: var(--accent-tint); + color: var(--accent-deep); + border-color: color-mix(in srgb, var(--accent) 24%, transparent); +} + +/* 접힌 슬림 미니 레일 */ +.sx-col-mini-rail { + width: 48px; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + padding: 2px 0; + min-width: 48px; +} + +.sx-mini-rail-btn { + width: 44px; + height: 100%; + min-height: 220px; + border: 1px solid var(--glass-border); + border-radius: var(--radius); + background: var(--glass-specular), var(--glass-surface); + box-shadow: var(--glass-edge-shadow), var(--glass-shadow); + color: var(--text-strong); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 14px; + padding: 18px 4px; + cursor: pointer; + transition: all var(--dur-fast) var(--ease-spring); + backdrop-filter: blur(12px); +} + +.sx-mini-rail-btn:hover { + background: var(--accent-tint); + color: var(--accent-deep); + border-color: var(--accent); + transform: translateY(-2px); + box-shadow: var(--shadow-island); +} + +.sx-mini-rail-txt { + writing-mode: vertical-rl; + text-orientation: mixed; + font-size: 12px; + font-weight: 700; + letter-spacing: 0.06em; + white-space: nowrap; } .sx-mobile-context { @@ -388,13 +529,16 @@ gap: 12px; min-width: 0; min-height: 0; - overflow: hidden; + overflow-y: auto; + overflow-x: visible; + padding: 2px; } .sx-col-center { display: grid; grid-template-rows: minmax(164px, 0.34fr) minmax(0, 1fr); gap: 12px; min-height: 0; + overflow: visible; } .sx-page--active .sx-col-center { grid-template-rows: minmax(250px, 0.44fr) minmax(0, 1fr); @@ -405,7 +549,7 @@ order: 2; flex: 0 0 auto; padding: 14px; - overflow: hidden; + overflow: visible; } .sx-track__head { margin-bottom: 10px; @@ -627,6 +771,7 @@ /* ── CENTER: 어두운 STAGE ── */ .sx-stage { position: relative; + z-index: 1; overflow: hidden; background: var(--bg-stage); border: 1px solid var(--border-subtle); @@ -699,11 +844,11 @@ border-radius: 50%; flex: none; background: var(--clay); - box-shadow: 0 0 0 4px rgba(208, 139, 112, 0.12); + box-shadow: 0 0 0 4px var(--clay-tint); } .sx-stage__state-dot.is-learner { background: var(--accent-bright); - box-shadow: 0 0 0 4px rgba(121, 200, 183, 0.12); + box-shadow: 0 0 0 4px var(--accent-tint); } .sx-stage__state-dot.is-think { background: var(--neutral-sig); @@ -719,6 +864,7 @@ display: flex; align-items: center; justify-content: center; + pointer-events: none; } /* 오브 링 — 상태별 색/모션. box-shadow 로 glow(절제). */ .sx-orb { @@ -810,6 +956,7 @@ } .sx-page--active .sx-stage .vg-avatar { width: clamp(176px, 15vw, 238px) !important; + pointer-events: none; } .sx-page--active .sx-stage .vg-avatar__label { display: none; @@ -914,6 +1061,8 @@ flex-direction: column; min-height: 0; overflow: hidden; + position: relative; + z-index: 10; } .sx-page--active .sx-transcript { background: var(--glass-specular), var(--glass-surface); @@ -1072,7 +1221,7 @@ display: inline-grid; place-items: center; cursor: pointer; - box-shadow: 0 5px 14px rgba(35, 42, 48, 0.1); + box-shadow: var(--shadow-sm); } .sx-utt__coach-mark.is-pos { border-color: color-mix(in srgb, var(--pos-solid) 42%, transparent); @@ -1089,7 +1238,7 @@ } .sx-utt__coach-mark:hover { transform: translateY(-1px); - box-shadow: 0 8px 18px rgba(35, 42, 48, 0.16); + box-shadow: var(--shadow-md); } .sx-utt__coach-mark span { position: absolute; @@ -1228,7 +1377,7 @@ } .sx-page--active button:focus-visible, .sx-page--active textarea:focus-visible { - outline: 2px solid rgba(131, 168, 155, 0.88); + outline: 2px solid var(--accent); outline-offset: 2px; } .sx-turn-error { @@ -1255,6 +1404,446 @@ opacity: 1; } +.sx-compose__actions { + display: flex; + align-items: center; + gap: 8px; + flex: 0 0 auto; +} + +/* ── AI 코칭 트리거 버튼 & 버블 팝업 ── */ +.sx-coach-anchor { + position: relative; + display: inline-flex; +} + +.sx-coach-trigger-btn { + min-height: 44px; + padding: 0 12px; + display: inline-flex; + align-items: center; + gap: 6px; + border-radius: var(--radius-sm); + background: color-mix(in srgb, var(--accent) 12%, var(--bg-surface-2)); + border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--border-strong)); + color: var(--text-strong); + font: 700 13px/1 var(--font-sans); + white-space: nowrap; + cursor: pointer; + transition: all var(--dur-fast) var(--ease-out); +} +.sx-coach-trigger-btn:hover:not(:disabled) { + background: color-mix(in srgb, var(--accent) 22%, var(--bg-surface-2)); + border-color: var(--accent); + color: var(--accent-deep); + transform: translateY(-1px); +} +.sx-coach-trigger-btn.is-active { + background: var(--accent-deep); + border-color: var(--accent-deep); + color: var(--text-on-accent); + box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent); +} +.sx-coach-trigger-btn:disabled { + opacity: 0.55; + cursor: not-allowed; + transform: none; +} + +.sx-coach-trigger-btn__badge { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 19px; + height: 19px; + padding: 0 5px; + border-radius: 999px; + background: var(--accent-deep); + color: var(--text-on-accent); + font-size: 11px; + font-weight: 800; + line-height: 1; + transition: background var(--dur-fast) var(--ease-out); +} +.sx-coach-trigger-btn.is-active .sx-coach-trigger-btn__badge { + background: var(--bg-surface); + color: var(--accent-deep); +} +.sx-coach-trigger-btn__badge.is-empty { + background: var(--neutral-400); + color: #fff; +} + +/* ── AI 코칭 버블 팝업 ── */ +.sx-coach-bubble-popup { + position: absolute; + bottom: calc(100% + 12px); + right: 0; + width: clamp(290px, 85vw, 400px); + max-height: min(400px, 60vh); + background: var(--bg-surface); + border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border-strong)); + border-radius: var(--radius); + box-shadow: + 0 16px 40px rgba(0, 0, 0, 0.28), + 0 4px 12px rgba(0, 0, 0, 0.14), + 0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent); + backdrop-filter: blur(20px); + z-index: 120; + display: flex; + flex-direction: column; + overflow: hidden; + animation: sxCoachBubblePop var(--dur-fast) var(--ease-out); +} + +@media (max-width: 680px) { + .sx-coach-bubble-popup { + position: fixed; + bottom: 84px; + left: 12px; + right: 12px; + width: auto; + max-height: 52vh; + z-index: 150; + } + .sx-coach-bubble-popup::after { + display: none; + } +} + +@keyframes sxCoachBubblePop { + from { + opacity: 0; + transform: translateY(6px) scale(0.98); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } +} + +.sx-coach-bubble-popup::after { + content: ""; + position: absolute; + bottom: -6px; + right: 28px; + width: 12px; + height: 12px; + background: var(--bg-surface); + border-right: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border-strong)); + border-bottom: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border-strong)); + transform: rotate(45deg); + pointer-events: none; +} + +.sx-coach-bubble-popup__head { + padding: 8px 12px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + justify-content: space-between; + background: color-mix(in srgb, var(--accent) 8%, var(--bg-surface)); + flex: 0 0 auto; +} + +.sx-coach-bubble-popup__title { + display: flex; + align-items: center; + gap: 6px; + color: var(--accent-deep); + font-size: 13px; +} +.sx-coach-bubble-popup__title strong { + font-weight: 750; + letter-spacing: -0.01em; +} + +.sx-coach-bubble-popup__head-right { + display: flex; + align-items: center; + gap: 6px; +} + +.sx-coach-bubble-popup__quota { + font-size: 11px; + font-weight: 700; + padding: 2px 7px; + border-radius: 999px; + background: var(--accent-tint); + color: var(--accent-deep); +} +.sx-coach-bubble-popup__quota.is-empty { + background: color-mix(in srgb, var(--neutral-400) 15%, transparent); + color: var(--neutral-400); +} + +.sx-coach-bubble-popup__close { + display: inline-flex; + align-items: center; + justify-content: center; + width: 24px; + height: 24px; + border-radius: var(--radius-sm); + border: none; + background: transparent; + color: var(--text-muted); + cursor: pointer; + transition: all var(--dur-fast) var(--ease-out); +} +.sx-coach-bubble-popup__close:hover { + background: color-mix(in srgb, var(--accent) 15%, transparent); + color: var(--text-strong); +} + +.sx-coach-bubble-popup__body { + flex: 1 1 auto; + min-height: 100px; + max-height: 260px; + overflow-y: auto; + padding: 10px 12px; + display: flex; + flex-direction: column; + gap: 10px; + overscroll-behavior: contain; + scrollbar-width: thin; +} + +.sx-coach-msg { + display: flex; + gap: 8px; + align-items: flex-start; +} +.sx-coach-msg--learner { + align-self: flex-end; + max-width: 85%; + flex-direction: row-reverse; +} +.sx-coach-msg--learner .sx-coach-msg__content { + background: var(--accent-deep); + color: var(--text-on-accent); + border-radius: 12px 12px 2px 12px; + padding: 8px 12px; + font-size: 13px; + line-height: 1.45; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.sx-coach-msg--coach, +.sx-coach-msg--welcome { + align-self: flex-start; + max-width: 95%; +} +.sx-coach-msg--coach .sx-coach-msg__content, +.sx-coach-msg--welcome .sx-coach-msg__content { + background: var(--bg-surface-2); + border: 1px solid var(--border-subtle); + border-radius: 12px 12px 12px 2px; + padding: 10px 12px; + font-size: 13px; + line-height: 1.45; + color: var(--text-strong); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.sx-coach-msg__avatar { + width: 24px; + height: 24px; + border-radius: 999px; + background: var(--accent-tint); + color: var(--accent-deep); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + margin-top: 2px; +} +.sx-coach-msg__avatar.is-pulsing { + animation: sxCoachAvatarPulse 1.2s infinite ease-in-out; +} +@keyframes sxCoachAvatarPulse { + 0%, 100% { opacity: 0.6; transform: scale(0.95); } + 50% { opacity: 1; transform: scale(1.05); } +} + +.sx-coach-bubble-popup__chips { + display: flex; + flex-wrap: wrap; + gap: 6px; + margin-top: 8px; +} +.sx-coach-chip { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 5px 9px; + border-radius: 999px; + background: var(--bg-surface); + border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--border-strong)); + color: var(--text-strong); + font-size: 12px; + font-weight: 650; + cursor: pointer; + transition: all var(--dur-fast) var(--ease-out); + text-align: left; +} +.sx-coach-chip:hover:not(:disabled) { + background: var(--accent-tint); + border-color: var(--accent); + color: var(--accent-deep); + transform: translateY(-1px); +} + +.sx-coach-msg__suggestion { + display: flex; + flex-direction: column; + gap: 6px; +} +.sx-coach-msg__title { + font-size: 13.5px; + font-weight: 750; + color: var(--accent-deep); +} +.sx-coach-msg__desc { + margin: 0; + color: var(--text-strong); +} + +.sx-coach-msg__next-utterance { + margin-top: 4px; + padding: 8px 10px; + border-radius: var(--radius-sm); + background: color-mix(in srgb, var(--accent) 8%, var(--bg-surface)); + border-left: 3px solid var(--accent); + display: flex; + flex-direction: column; + gap: 6px; +} +.sx-coach-msg__next-label { + font-size: 10.5px; + font-weight: 750; + text-transform: uppercase; + color: var(--accent-deep); + letter-spacing: 0.03em; +} +.sx-coach-msg__next-utterance blockquote { + margin: 0; + padding: 0; + font-size: 13px; + font-weight: 600; + color: var(--text-strong); + line-height: 1.4; +} + +.sx-coach-msg__apply-btn { + align-self: flex-start; + display: inline-flex; + align-items: center; + gap: 4px; + padding: 4px 8px; + border-radius: 4px; + background: var(--accent-deep); + color: var(--text-on-accent); + border: none; + font-size: 11.5px; + font-weight: 700; + cursor: pointer; + transition: all var(--dur-fast) var(--ease-out); +} +.sx-coach-msg__apply-btn:hover { + background: var(--accent); + transform: translateY(-1px); +} + +.sx-coach-msg__rationale { + font-size: 11.5px; + color: var(--text-muted); + line-height: 1.35; + margin-top: 2px; +} + +.sx-coach-typing-indicator { + display: inline-flex; + gap: 4px; + align-items: center; + padding: 4px 0; +} +.sx-coach-typing-indicator span { + width: 6px; + height: 6px; + border-radius: 999px; + background: var(--accent); + animation: sxCoachTypingDot 1.2s infinite ease-in-out; +} +.sx-coach-typing-indicator span:nth-child(2) { + animation-delay: 0.2s; +} +.sx-coach-typing-indicator span:nth-child(3) { + animation-delay: 0.4s; +} +@keyframes sxCoachTypingDot { + 0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; } + 40% { transform: scale(1.1); opacity: 1; } +} + +.sx-coach-bubble-popup__footer { + padding: 8px 12px; + border-top: 1px solid var(--border-subtle); + background: var(--bg-surface); + flex: 0 0 auto; +} + +.sx-coach-bubble-popup__exhausted { + font-size: 12px; + color: var(--text-muted); + text-align: center; + padding: 4px 0; +} + +.sx-coach-bubble-popup__composer { + display: flex; + gap: 6px; + align-items: center; +} +.sx-coach-bubble-popup__composer input { + flex: 1; + min-width: 0; + height: 36px; + padding: 0 12px; + border-radius: var(--radius-sm); + border: 1px solid var(--border-strong); + background: var(--bg-surface-2); + color: var(--text-strong); + font-size: 12.5px; + transition: all var(--dur-fast) var(--ease-out); +} +.sx-coach-bubble-popup__composer input:focus { + border-color: var(--accent); + outline: none; + box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent); +} +.sx-coach-bubble-popup__composer button { + width: 36px; + height: 36px; + border-radius: var(--radius-sm); + border: none; + background: var(--accent-deep); + color: var(--text-on-accent); + display: inline-flex; + align-items: center; + justify-content: center; + cursor: pointer; + flex-shrink: 0; + transition: all var(--dur-fast) var(--ease-out); +} +.sx-coach-bubble-popup__composer button:hover:not(:disabled) { + background: var(--accent); +} +.sx-coach-bubble-popup__composer button:disabled { + background: var(--neutral-200); + color: var(--neutral-400); + cursor: not-allowed; +} + /* ── RIGHT: 라이브 신호 ── */ .sx-signal { min-height: 0; @@ -1701,7 +2290,7 @@ display: grid; place-items: center; padding: 20px; - background: rgba(25, 31, 37, 0.42); + background: color-mix(in srgb, var(--bg-app) 42%, transparent); backdrop-filter: blur(8px); } .sx-coach-history__panel { @@ -1712,7 +2301,7 @@ border-radius: 12px; border: 1px solid color-mix(in srgb, var(--accent-deep) 18%, var(--border)); background: var(--paper); - box-shadow: 0 24px 70px rgba(22, 28, 34, 0.28); + box-shadow: var(--shadow-island); overflow: hidden; } .sx-coach-history__head { @@ -1949,11 +2538,11 @@ } .sx-safety--ok { background: var(--accent-tint); - border-color: rgba(121, 200, 183, 0.2); + border-color: color-mix(in srgb, var(--accent) 20%, transparent); } .sx-safety--ok .sx-safety__ico, .sx-safety--ok .sx-safety__text { - color: #a6bcb4; + color: var(--accent-bright); } .sx-safety__head { display: flex; @@ -1969,7 +2558,7 @@ flex: none; padding: 3px 8px; border-radius: 999px; - background: rgba(237, 247, 244, 0.08); + background: color-mix(in srgb, var(--accent-tint) 8%, transparent); color: currentColor; font-size: 11px; font-weight: 750; @@ -2052,8 +2641,10 @@ min-width: 0; } .sx-page--active .sx-controlbar { - width: min(100%, 1460px); + width: 100%; + max-width: var(--session-max-w, 1480px); margin: 0 auto; + box-sizing: border-box; background: var(--glass-specular), var(--glass-surface-strong); border-color: var(--glass-border); box-shadow: var(--glass-edge-shadow), var(--glass-shadow); @@ -2122,7 +2713,10 @@ align-items: center; justify-content: center; color: var(--text-on-accent); - transition: background var(--dur-base) var(--ease-out); + transition: transform var(--dur-fast) var(--ease-spring), background var(--dur-base) var(--ease-out); +} +.sx-mic:active { + transform: scale(0.92); } .sx-mic:hover { background: var(--accent-deep); @@ -2359,7 +2953,7 @@ place-items: center; border-radius: 999px; background: var(--accent-deep); - color: #fff; + color: var(--text-on-accent); font: 800 10.5px/1 var(--font-num); font-variant-numeric: tabular-nums; box-shadow: 0 0 0 2px var(--accent-tint); @@ -2421,7 +3015,7 @@ display: grid; place-items: center; padding: var(--sp-4); - background: rgba(3, 9, 8, 0.58); + background: color-mix(in srgb, var(--bg-app) 58%, transparent); backdrop-filter: blur(8px); } .sx-coach-modal__panel { @@ -2429,11 +3023,11 @@ max-height: min(720px, calc(100vh - 32px)); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; - border: 1px solid rgba(203, 227, 220, 0.16); + border: 1px solid color-mix(in srgb, var(--accent) 16%, transparent); border-radius: var(--radius-lg); - background: color-mix(in srgb, var(--bg-surface) 94%, #17201d); + background: color-mix(in srgb, var(--bg-surface) 94%, var(--bg-app)); color: var(--text-body); - box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42); + box-shadow: var(--shadow-island); overflow: hidden; } .sx-coach-modal__head { @@ -2442,7 +3036,7 @@ gap: var(--sp-3); align-items: start; padding: var(--sp-5) var(--sp-5) var(--sp-3); - border-bottom: 1px solid rgba(203, 227, 220, 0.12); + border-bottom: 1px solid color-mix(in srgb, var(--accent) 12%, transparent); } .sx-coach-modal__avatar { width: 38px; @@ -2450,7 +3044,7 @@ border-radius: 50%; display: inline-grid; place-items: center; - background: #e8edf0; + background: var(--bg-surface-2); color: var(--text-strong); } .sx-coach-modal__avatar span { @@ -2499,7 +3093,7 @@ margin: 0; padding: 10px 12px; border-radius: var(--radius); - background: rgba(255, 255, 255, 0.06); + background: color-mix(in srgb, var(--text-strong) 6%, transparent); color: var(--text-strong); font-size: var(--fs-sm); line-height: 1.55; @@ -2517,7 +3111,7 @@ gap: 3px; padding: 9px 10px; border-radius: var(--radius); - background: rgba(255, 255, 255, 0.05); + background: color-mix(in srgb, var(--text-strong) 5%, transparent); } .sx-coach-source-list span { color: var(--text-strong); @@ -2533,14 +3127,14 @@ display: flex; justify-content: flex-end; padding: var(--sp-3) var(--sp-5) var(--sp-5); - border-top: 1px solid rgba(203, 227, 220, 0.12); + border-top: 1px solid color-mix(in srgb, var(--accent) 12%, transparent); } .sx-coach-modal__actions button { min-height: 40px; padding: 9px 13px; border-radius: var(--radius); - border: 1px solid rgba(203, 227, 220, 0.16); - background: rgba(255, 255, 255, 0.07); + border: 1px solid color-mix(in srgb, var(--accent) 16%, transparent); + background: color-mix(in srgb, var(--text-strong) 7%, transparent); color: var(--text-body); font-family: var(--font-sans); font-size: var(--fs-sm); @@ -2548,10 +3142,76 @@ cursor: pointer; } .sx-coach-modal__actions button:hover { - background: rgba(255, 255, 255, 0.11); + background: color-mix(in srgb, var(--text-strong) 11%, transparent); color: var(--text-strong); } +/* ── 단축키 도움말 모달 ── */ +.sx-shortcut-modal { + max-width: min(100%, 720px); +} +.sx-shortcut-modal__body { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 16px; + max-height: 60vh; + overflow-y: auto; + padding: 4px; +} +@media (max-width: 680px) { + .sx-shortcut-modal__body { + grid-template-columns: 1fr; + } +} +.sx-shortcut-group { + padding: 12px; + border-radius: var(--radius-sm); + background: color-mix(in srgb, var(--text-strong) 4%, transparent); + border: 1px solid var(--border-subtle); +} +.sx-shortcut-group h3 { + margin: 0 0 10px; + font-size: 13px; + font-weight: 700; + color: var(--accent-deep); + letter-spacing: -0.01em; +} +.sx-shortcut-list { + display: grid; + gap: 8px; + margin: 0; +} +.sx-shortcut-list div { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} +.sx-shortcut-list dt { + display: inline-flex; + align-items: center; + gap: 3px; +} +.sx-shortcut-list kbd { + display: inline-block; + padding: 3px 6px; + font-family: var(--font-num, monospace); + font-size: 11px; + font-weight: 700; + line-height: 1; + color: var(--text-strong); + background: var(--bg-surface); + border: 1px solid var(--border-strong); + border-radius: 4px; + box-shadow: 0 1px 1px color-mix(in srgb, var(--text-strong) 12%, transparent); +} +.sx-shortcut-list dd { + margin: 0; + font-size: 12px; + color: var(--text-body); + text-align: right; +} + .sx-end-dialog { position: fixed; inset: 0; @@ -2559,7 +3219,7 @@ display: grid; place-items: center; padding: var(--sp-4); - background: rgba(3, 9, 8, 0.62); + background: color-mix(in srgb, var(--bg-app) 62%, transparent); backdrop-filter: blur(8px); } /* 패널도 다크 stage 잔재였다. 배경만 하드코딩 다크였고 글자는 테마 토큰이라 @@ -2571,7 +3231,7 @@ border: 1px solid var(--glass-border); border-radius: var(--radius-lg); background: var(--glass-specular), var(--bg-app); - box-shadow: 0 26px 70px rgba(0, 0, 0, 0.34); + box-shadow: var(--shadow-island); color: var(--text-body); } .sx-end-dialog__head { @@ -2774,7 +3434,7 @@ display: grid; place-items: center; padding: var(--sp-4); - background: rgba(5, 12, 10, 0.58); + background: color-mix(in srgb, var(--bg-app) 58%, transparent); backdrop-filter: blur(9px); } .sx-voice-consent__panel { @@ -3333,13 +3993,13 @@ font-size: 13px; font-weight: 600; letter-spacing: 0.04em; - color: #f4faf7; - border: 1px solid rgba(203, 227, 220, 0.14); + color: var(--text-strong); + border: 1px solid color-mix(in srgb, var(--accent) 14%, transparent); border-radius: calc(var(--radius-lg) - 2px); background: - linear-gradient(135deg, rgba(238, 244, 242, 0.08), rgba(151, 175, 166, 0.06)); + linear-gradient(135deg, color-mix(in srgb, var(--text-strong) 8%, transparent), color-mix(in srgb, var(--accent) 6%, transparent)); backdrop-filter: blur(0.5px); - text-shadow: 0 1px 2px rgba(7, 16, 14, 0.5); + text-shadow: 0 1px 2px color-mix(in srgb, var(--bg-app) 50%, transparent); } /* ── 반응형 ── */ @@ -4247,10 +4907,10 @@ display: block; max-width: min(220px, calc(100% - 12px)); padding: 3px 6px; - border: 1px solid rgba(151, 175, 166, 0.26); + border: 1px solid color-mix(in srgb, var(--accent) 26%, transparent); border-radius: 999px; - background: rgba(11, 24, 21, 0.9); - color: rgba(228, 250, 244, 0.9); + background: color-mix(in srgb, var(--bg-app) 90%, transparent); + color: color-mix(in srgb, var(--text-strong) 90%, transparent); font-size: 10px; line-height: 1.15; pointer-events: none; @@ -4632,28 +5292,28 @@ background: color-mix(in srgb, var(--crit-solid) 22%, transparent); } @keyframes sx-timebar-pulse { - 0% { box-shadow: 0 0 0 0 rgba(228, 179, 99, 0.45); } - 70% { box-shadow: 0 0 0 7px rgba(228, 179, 99, 0); } - 100% { box-shadow: 0 0 0 0 rgba(228, 179, 99, 0); } + 0% { box-shadow: 0 0 0 0 var(--warn-tint); } + 70% { box-shadow: 0 0 0 7px transparent; } + 100% { box-shadow: 0 0 0 0 transparent; } } /* ── 스테이지 타이머 경고 상태 ── */ .sx-page--active .sx-stage__timer.is-warning { - color: #e8bd7a; + color: var(--warn-solid); font-weight: 780; } /* ── 세션 진행 패널: 남은 시간 경고 + 목표 도달 노트 ── */ .sx-session-progress__grid span.is-warning b { - color: #e8bd7a; + color: var(--warn-solid); } .sx-session-progress__goalnote { margin: 8px 0 0; padding: 8px 10px; border-radius: var(--radius-sm); - border: 1px solid rgba(151, 175, 166, 0.32); - background: rgba(151, 175, 166, 0.1); - color: var(--text-body, rgba(238, 244, 242, 0.78)); + border: 1px solid color-mix(in srgb, var(--accent) 32%, transparent); + background: color-mix(in srgb, var(--accent) 10%, transparent); + color: var(--text-body); font-size: 12px; line-height: 1.5; } @@ -4663,25 +5323,25 @@ margin-left: 6px; padding: 1.5px 6px; border-radius: 999px; - border: 1px solid rgba(151, 175, 166, 0.4); - background: rgba(151, 175, 166, 0.12); - color: var(--accent-bright, #8fc0b4); + border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); + background: color-mix(in srgb, var(--accent) 12%, transparent); + color: var(--accent-bright); font-size: 10px; font-weight: 740; letter-spacing: 0.02em; vertical-align: 1px; } .sx-vstep__goal.is-reached { - border-color: rgba(151, 175, 166, 0.62); - background: rgba(151, 175, 166, 0.24); + border-color: color-mix(in srgb, var(--accent) 62%, transparent); + background: color-mix(in srgb, var(--accent) 24%, transparent); } .sx-ph__goal { margin-left: 4px; padding: 0.5px 5px; border-radius: 999px; - border: 1px solid rgba(151, 175, 166, 0.42); - background: rgba(151, 175, 166, 0.12); - color: var(--accent-bright, #8fc0b4); + border: 1px solid color-mix(in srgb, var(--accent) 42%, transparent); + background: color-mix(in srgb, var(--accent) 12%, transparent); + color: var(--accent-bright); font-size: 9.5px; font-style: normal; font-weight: 740; @@ -4713,7 +5373,7 @@ font-size: 12px; font-weight: 640; cursor: pointer; - box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35); + box-shadow: 0 8px 22px var(--shadow-island); z-index: 30; } .sx-coach-nudge::after { @@ -4771,17 +5431,17 @@ font-size: 10.5px; font-weight: 740; font-variant-numeric: tabular-nums; - color: var(--text-dim, rgba(238, 244, 242, 0.55)); + color: var(--text-dim, color-mix(in srgb, var(--text-strong) 55%, transparent)); min-width: 20px; text-align: right; } .sx-track__note { margin-top: 10px; padding-top: 8px; - border-top: 1px dashed rgba(255, 255, 255, 0.08); + border-top: 1px dashed color-mix(in srgb, var(--text-strong) 8%, transparent); font-size: 11px; line-height: 1.5; - color: var(--text-dim, rgba(238, 244, 242, 0.5)); + color: var(--text-dim, color-mix(in srgb, var(--text-strong) 50%, transparent)); } /* ── 패널 컬랩싱 토글(과밀 완화, 2026-07-14) ── */ @@ -4807,7 +5467,7 @@ flex: 0 0 auto; font-size: 10.5px; font-weight: 680; - color: var(--text-muted, rgba(238, 244, 242, 0.5)); + color: var(--text-muted, color-mix(in srgb, var(--text-strong) 50%, transparent)); white-space: nowrap; } .sx-panel-toggle:hover .sx-panel-toggle__hint { @@ -5080,865 +5740,7 @@ @media (min-width: 1280px) { .sx-page--active { - grid-template-rows: 80px minmax(0, 1fr) 116px; - gap: 12px; - padding: 14px 34px 30px; - background: - radial-gradient(circle at 51% 14%, rgba(255, 255, 255, 0.82), transparent 31%), - radial-gradient(circle at 8% 94%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 25%), - #f8f7f3; - overflow: hidden; - } - [data-theme="dark"] .sx-page--active { - background: - radial-gradient(circle at 51% 14%, rgba(255, 255, 255, 0.035), transparent 31%), - radial-gradient(circle at 8% 94%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 25%), - var(--glass-canvas); - } - - .sx-page--active .sx-sessionbar { - width: min(100%, 1408px); - height: 80px; - margin: 0 auto; - padding: 0 25px; - border-color: rgba(159, 142, 111, 0.2); - border-radius: 12px; - background: rgba(255, 255, 255, 0.62); - box-shadow: 0 12px 34px rgba(72, 62, 44, 0.055); - backdrop-filter: blur(18px); - } - [data-theme="dark"] .sx-page--active .sx-sessionbar { - border-color: var(--glass-border); - background: var(--glass-specular), var(--glass-surface-strong); - box-shadow: var(--glass-edge-shadow), var(--glass-shadow); - } - .sx-page--active .sx-sessionbar button { - min-height: 44px; /* 데스크톱에서도 44px 터치 계약 유지(WCAG 2.5.5) */ - padding: 0 16px; - border-color: rgba(159, 142, 111, 0.23); - border-radius: 14px; - background: rgba(255, 255, 255, 0.42); - color: #202521; - font-size: 15px; - } - [data-theme="dark"] .sx-page--active .sx-sessionbar button { - border-color: var(--glass-inset-border); - background: var(--glass-specular-inset), var(--glass-surface-inset); - color: var(--text-strong); - } - .sx-page--active .sx-sessionbar__meta { - gap: 3px; - } - .sx-page--active .sx-sessionbar__meta b { - color: #161b18; - font-size: 20px; - letter-spacing: -0.035em; - } - .sx-page--active .sx-sessionbar__meta small { - justify-content: center; - color: #6b706b; - font-size: 14px; - } - [data-theme="dark"] .sx-page--active .sx-sessionbar__meta b { - color: var(--text-strong); - } - [data-theme="dark"] .sx-page--active .sx-sessionbar__meta small { - color: var(--text-muted); - } - .sx-page--active .sx-sessionbar__dot { - width: 11px; - height: 11px; - box-shadow: 0 0 0 4px rgba(48, 148, 93, 0.13); - } - - .sx-page--active .sx-grid { - width: min(100%, 1408px); - margin: 0 auto; - grid-template-columns: 326px minmax(500px, 1fr) 357px; - gap: 12px; - } - .sx-page--active .sx-col { - gap: 12px; - } - .sx-page--active .sx-col-left, - .sx-page--active .sx-col-right { - gap: 0; - padding: 20px 22px; - border: 1px solid rgba(159, 142, 111, 0.2); - border-radius: 12px; - background: rgba(255, 255, 255, 0.58); - box-shadow: 0 12px 32px rgba(72, 62, 44, 0.045); - backdrop-filter: blur(16px); - overflow: auto; - scrollbar-width: thin; - } - [data-theme="dark"] .sx-page--active .sx-col-left, - [data-theme="dark"] .sx-page--active .sx-col-right { - border-color: var(--glass-border); - background: var(--glass-specular), var(--glass-surface); - box-shadow: var(--glass-edge-shadow), var(--glass-shadow); - } - .sx-page--active .sx-col-left > .sx-panel, - .sx-page--active .sx-col-right > .sx-panel { - width: 100%; - border: 0; - border-radius: 0; - background: transparent; - box-shadow: none; - backdrop-filter: none; - } - - .sx-page--active .sx-ctx { - order: 1; - flex: 0 0 auto; - padding: 0 0 18px; - overflow: visible; - border-bottom: 1px solid rgba(159, 142, 111, 0.2); - } - .sx-page--active .sx-ctx__head { - min-height: 24px; - margin: 0; - } - .sx-page--active .sx-ctx .sx-panel-toggle__hint { - display: none; - } - .sx-page--active .sx-track { - order: 2; - flex: 1 0 auto; - display: flex; - flex-direction: column; - padding: 18px 0 20px; - overflow: visible; - border-bottom: 1px solid rgba(159, 142, 111, 0.2); - } - .sx-page--active .sx-track > .sx-vstep { - flex: 1 1 0; - min-height: 62px; - } - .sx-page--active .sx-track__head { - margin-bottom: 16px; - } - .sx-page--active .sx-vstep { - grid-template-columns: 18px minmax(0, 1fr); - column-gap: 12px; - } - .sx-page--active .sx-vstep__node { - width: 17px; - height: 17px; - background: #fbfaf7; - border-color: #d9d2c4; - } - .sx-page--active .sx-vstep.is-cur .sx-vstep__node { - border-color: #2f806b; - box-shadow: 0 0 0 4px rgba(47, 128, 107, 0.12); - } - .sx-page--active .sx-vstep.is-cur .sx-vstep__node::after { - inset: 3px; - background: #2f806b; - } - .sx-page--active .sx-vstep__line { - width: 1px; - min-height: 31px; - background: #d8d0c2; - } - .sx-page--active .sx-vstep__body { - padding-bottom: 18px; - } - .sx-page--active .sx-vstep__label { - color: #1e2420; - font-size: 15px; - font-weight: 720; - } - .sx-page--active .sx-vstep__t { - color: #737871; - font-size: 12px; - } - .sx-page--active .sx-vstep.is-cur .sx-vstep__t { - color: #2b8069; - } - .sx-page--active .sx-vstep__desc { - margin-top: 5px; - color: #676b66; - font-size: 13px; - line-height: 1.45; - } - .sx-page--active .sx-vstep__goal { - margin-right: auto; - margin-left: 8px; - border: 0; - background: #e7f0e9; - color: #2a7563; - font-size: 11px; - } - [data-theme="dark"] .sx-page--active .sx-vstep__node { - background: var(--bg-surface); - border-color: var(--border-strong); - } - [data-theme="dark"] .sx-page--active .sx-vstep__label, - [data-theme="dark"] .sx-page--active .sx-vstep.is-cur .sx-vstep__label { - color: var(--text-strong); - } - [data-theme="dark"] .sx-page--active .sx-vstep__desc, - [data-theme="dark"] .sx-page--active .sx-vstep__t { - color: var(--text-muted); - } - - .sx-page--active .sx-session-progress { - order: 3; - flex: 0 0 270px; - padding: 17px 0 0; - overflow: visible; - } - .sx-page--active .sx-session-progress__head { - margin-bottom: 10px; - } - .sx-page--active .sx-session-progress__grid { - gap: 0; - } - .sx-page--active .sx-session-progress__grid span { - grid-template-columns: minmax(0, 1fr) auto; - padding: 11px 0; - border-color: rgba(159, 142, 111, 0.16); - } - .sx-page--active .sx-session-progress__grid small { - grid-column: 1; - grid-row: 1; - display: inline-flex; - align-items: center; - gap: 12px; - color: #686d68; - font-size: 13px; - text-align: left; - } - .sx-page--active .sx-session-progress__grid small svg { - color: #287967; - } - .sx-page--active .sx-session-progress__grid b { - grid-column: 2; - grid-row: 1; - color: #161b18; - font-size: 15px; - } - [data-theme="dark"] .sx-page--active .sx-session-progress__grid small { - color: var(--text-muted); - } - [data-theme="dark"] .sx-page--active .sx-session-progress__grid b { - color: var(--text-strong); - } - - .sx-page--active .sx-col-center { - grid-template-rows: 360px minmax(0, 1fr); - gap: 12px; - } - .sx-page--active .sx-stage, - .sx-page--active .sx-transcript { - border-color: rgba(159, 142, 111, 0.2); - border-radius: 12px; - background: rgba(255, 255, 255, 0.6); - box-shadow: 0 12px 32px rgba(72, 62, 44, 0.045); - backdrop-filter: blur(16px); - } - [data-theme="dark"] .sx-page--active .sx-stage, - [data-theme="dark"] .sx-page--active .sx-transcript { - border-color: var(--glass-border); - background: var(--glass-specular), var(--glass-surface); - box-shadow: var(--glass-edge-shadow), var(--glass-shadow); - } - .sx-page--active .sx-stage { - grid-template-columns: minmax(245px, 0.92fr) minmax(280px, 1.08fr); - grid-template-rows: minmax(0, 1fr) 62px; - column-gap: 28px; - padding: 20px 28px 14px; - } - .sx-page--active .sx-stage::before { - inset: 12px; - border-color: rgba(159, 142, 111, 0.13); - border-radius: 10px; - } - .sx-page--active .sx-stage__top { - display: none; - } - .sx-page--active .sx-orb-wrap { - grid-column: 1; - grid-row: 1; - place-self: end center; - width: 238px; - height: 238px; - z-index: 1; - } - .sx-page--active .sx-orb-wrap::before { - content: ""; - position: absolute; - z-index: -1; - left: -86px; - bottom: -20px; - width: 190px; - height: 248px; - background: url("/session-botanical/leaf-1.webp") center / contain no-repeat; - opacity: 0.72; - transform: rotate(-11deg); - pointer-events: none; - } - .sx-page--active .sx-orb { - inset: -3px; - border-radius: 50% 50% 46% 54% / 46% 48% 52% 54%; - background: radial-gradient(circle at 50% 42%, #f4f6ee 0%, #e6ede2 68%, #dce6db 100%); - box-shadow: inset 0 0 36px rgba(97, 122, 99, 0.08); - } - [data-theme="dark"] .sx-page--active .sx-orb { - background: radial-gradient(circle at 50% 42%, rgba(139, 166, 150, 0.24), rgba(34, 50, 44, 0.54)); - } - .sx-page--active .sx-stage .vg-avatar, - .sx-page--active .sx-stage .vg-avatar__svg { - width: 232px !important; - height: 232px !important; - } - .sx-page--active .sx-stage .vg-avatar__stage { - height: 232px !important; - } - .sx-page--active .sx-stage__client { - grid-column: 2; - grid-row: 1; - align-self: center; - gap: 13px; - } - .sx-page--active .sx-stage__client-kicker { - color: #131915; - font-size: 34px; - font-weight: 820; - letter-spacing: -0.055em; - } - .sx-page--active .sx-stage__client p { - max-width: 33ch; - color: #262b27; - font-size: 16px; - font-weight: 560; - line-height: 1.55; - } - [data-theme="dark"] .sx-page--active .sx-stage__client-kicker, - [data-theme="dark"] .sx-page--active .sx-stage__client p { - color: var(--text-strong); - } - .sx-page--active .sx-stage__now { - grid-column: 1 / -1; - grid-row: 2; - place-self: stretch; - width: auto; - max-width: none; - min-height: 50px; - padding: 0 18px; - border-color: rgba(159, 142, 111, 0.18); - border-radius: 11px; - background: rgba(255, 255, 255, 0.45); - color: #222824; - font-size: 15px; - } - .sx-page--active .sx-stage__now > svg { - flex: none; - color: #987b4c; - } - .sx-page--active .sx-stage__now small { - padding: 4px 10px; - border-radius: 999px; - background: #e5efe7; - color: #29705f; - } - [data-theme="dark"] .sx-page--active .sx-stage__now { - border-color: var(--glass-inset-border); - background: var(--glass-specular-inset), var(--glass-surface-inset); - color: var(--text-strong); - } - - .sx-page--active .sx-transcript { - padding: 19px 18px 13px; - } - .sx-page--active .sx-transcript__head { - margin-bottom: 12px; - } - .sx-page--active .sx-transcript__scroll { - padding: 0; - } - .sx-page--active .sx-transcript__empty { - padding: 13px 2px; - } - .sx-page--active .sx-transcript__empty b { - color: #202622; - font-size: 16px; - } - .sx-page--active .sx-transcript__empty span { - margin-top: 8px; - color: #7a7d79; - font-size: 13px; - } - [data-theme="dark"] .sx-page--active .sx-transcript__empty b { - color: var(--text-strong); - } - [data-theme="dark"] .sx-page--active .sx-transcript__empty span { - color: var(--text-muted); - } - .sx-page--active .sx-compose { + padding: 14px clamp(20px, 2.5vw, 40px) 20px; gap: 14px; - margin-top: 12px; - padding-top: 12px; - border-color: rgba(159, 142, 111, 0.16); - } - .sx-page--active .sx-compose textarea { - min-height: 56px; - padding: 16px 18px; - border-color: rgba(159, 142, 111, 0.24); - border-radius: 12px; - background: rgba(255, 255, 255, 0.54); - color: #262b27; - font-size: 14px; - } - .sx-page--active .sx-compose .vg-btn { - min-width: 134px; - min-height: 56px; - border-radius: 12px; - /* 하드코딩 청록 그라디언트(#3d947d→#267762)는 다크 테마의 - --text-on-accent(#0f1a17)와 3.3:1로 4.5:1 미달 — 테마 토큰으로 교체. */ - background: linear-gradient(145deg, var(--accent), var(--accent-deep)); - box-shadow: 0 8px 18px rgba(43, 119, 97, 0.2); - font-size: 15px; - } - .sx-page--active .sx-compose .vg-btn:disabled { - background: linear-gradient(145deg, #4b9d88, #2d806a); - color: #fff; - opacity: 0.82; - } - - .sx-page--active .sx-col-right { - padding-inline: 20px; - } - .sx-page--active .sx-signal { - order: 1; - flex: 0 0 auto; - padding: 0 0 18px; - overflow: visible; - border-bottom: 1px solid rgba(159, 142, 111, 0.2); - } - .sx-page--active .sx-signal__head { - margin-bottom: 16px; - } - .sx-page--active .sx-coach-card { - grid-template-columns: 58px minmax(0, 1fr); - gap: 11px 13px; - margin: 0; - } - .sx-page--active .sx-coach-avatar { - width: 58px; - height: 58px; - background: #f6f5ef; - border-color: #d7dfd5; - box-shadow: none; - } - .sx-page--active .sx-coach-avatar__lens { - inset: 8px; - background: rgba(255, 255, 255, 0.64); - } - .sx-page--active .sx-coach-avatar__face { - left: 15px; - right: 15px; - top: 21px; - } - .sx-page--active .sx-coach-summary { - gap: 10px; - } - .sx-page--active .sx-coach-bubble__meta { - padding-bottom: 8px; - border-bottom: 1px solid rgba(159, 142, 111, 0.16); - } - .sx-page--active .sx-coach-bubble__meta b { - color: #171d19; - font-size: 17px; - } - .sx-page--active .sx-coach-bubble__meta span { - color: #666b66; - font-size: 12px; - } - .sx-page--active .sx-coach-quota { - min-height: 25px; - padding: 0; - border: 0; - background: transparent; - } - .sx-page--active .sx-coach-quota > span:first-child { - color: #666b66; - font-size: 12px; - } - .sx-page--active .sx-coach-quota b { - color: #1d6f5d; - font-size: 14px; - } - .sx-page--active .sx-coach-quota__dots i { - width: 10px; - height: 10px; - } - .sx-page--active .sx-coach-bubble { - gap: 7px; - padding: 13px 14px; - border: 1px solid #d8e1d9; - border-radius: 9px; - background: rgba(239, 245, 239, 0.72); - color: #2a302b; - box-shadow: none; - } - .sx-page--active .sx-coach-bubble::after { - content: "코칭 포인트"; - order: -1; - color: #296f5e; - font-size: 12px; - font-weight: 760; - } - .sx-page--active .sx-coach-bubble::before { - display: none; - } - .sx-page--active .sx-coach-bubble p { - color: #444a45; - font-size: 13px; - line-height: 1.65; - } - [data-theme="dark"] .sx-page--active .sx-coach-bubble__meta b, - [data-theme="dark"] .sx-page--active .sx-coach-bubble p { - color: var(--text-strong); - } - [data-theme="dark"] .sx-page--active .sx-coach-bubble { - border-color: var(--glass-inset-border); - background: var(--glass-specular-inset), var(--glass-surface-inset); - } - .sx-page--active .sx-signal__status { - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 12px; - margin-top: 16px; - } - .sx-page--active .sx-signal__status span { - min-height: 61px; - grid-template-columns: auto minmax(0, 1fr); - grid-template-rows: auto auto; - place-content: center; - column-gap: 9px; - row-gap: 2px; - padding: 10px 12px; - border-color: rgba(159, 142, 111, 0.22); - border-radius: 11px; - background: rgba(255, 255, 255, 0.42); - text-align: left; - } - .sx-page--active .sx-signal__status span > svg { - grid-column: 1; - grid-row: 1 / span 2; - align-self: center; - color: #1f7c65; - } - .sx-page--active .sx-signal__status b { - grid-column: 2; - grid-row: 1; - color: #565b56; - font-size: 13px; - } - .sx-page--active .sx-signal__status small { - grid-column: 2; - grid-row: 2; - color: #1f7c65; - font-size: 13px; - } - .sx-page--active .sx-signal__one, - .sx-page--active .sx-signal__seq { - margin-top: 11px; - } - .sx-page--active.sx-feedback-ambient .sx-signal__defer, - .sx-page--active.sx-feedback-coached .sx-signal__defer { - display: none; - } - .sx-page--active .sx-meters { - order: 2; - flex: 1 0 auto; - padding: 17px 0 14px; - overflow: visible; - border-bottom: 1px solid rgba(159, 142, 111, 0.2); - } - .sx-page--active .sx-meter { - padding: 10px 0; - } - .sx-page--active .sx-meter__label { - color: #595e59; - font-size: 13px; - } - .sx-page--active .sx-meter__val { - font-size: 13px; - } - .sx-page--active .sx-meters__note { - color: #828681; - font-size: 10.5px; - line-height: 1.55; - } - .sx-page--active .sx-safety { - order: 3; - flex: 0 0 auto; - padding: 14px 0 0; - } - .sx-page--active .sx-safety__head { - min-height: 28px; - } - .sx-page--active .sx-safety__badge { - color: #4c524d; - } - [data-theme="dark"] .sx-page--active .sx-meter__label, - [data-theme="dark"] .sx-page--active .sx-safety__badge { - color: var(--text-body); - } - - .sx-page--active .sx-controlbar { - width: min(100%, 1468px); - height: 116px; - margin: 0 auto; - padding: 18px 26px; - border-color: rgba(159, 142, 111, 0.2); - border-radius: 12px; - background: rgba(255, 255, 255, 0.64); - box-shadow: 0 12px 34px rgba(72, 62, 44, 0.055); - backdrop-filter: blur(18px); - } - [data-theme="dark"] .sx-page--active .sx-controlbar { - border-color: var(--glass-border); - background: var(--glass-specular), var(--glass-surface-strong); - box-shadow: var(--glass-edge-shadow), var(--glass-shadow); - } - .sx-page--active .sx-mic { - width: 70px; - height: 70px; - border-color: rgba(159, 142, 111, 0.24); - background: rgba(255, 255, 255, 0.5); - } - [data-theme="light"] .sx-page--active .sx-mic.is-off { - border-color: #7a857c; - background: #eef1ed; - color: #245f50; - box-shadow: - inset 0 1px 0 rgba(255, 255, 255, 0.92), - 0 5px 15px rgba(45, 67, 57, 0.1); - } - [data-theme="light"] .sx-page--active .sx-mic.is-off:hover { - border-color: #557064; - background: #e3e9e4; - color: #164f42; - } - [data-theme="light"] .sx-page--active .sx-mic.is-on { - border-color: #176b56; - background: #176b56; - color: #f5fff9; - box-shadow: 0 7px 20px rgba(23, 107, 86, 0.24); - } - .sx-page--active .sx-mic-block__l { - color: #181e1a; - font-size: 16px; - } - .sx-page--active .sx-mic-block__h { - color: #767a76; - font-size: 12px; - } - .sx-page--active .sx-cb-sep { - height: 72px; - background: rgba(159, 142, 111, 0.2); - } - .sx-page--active .sx-segmented { - padding: 4px; - border-color: rgba(159, 142, 111, 0.18); - border-radius: 11px; - background: rgba(245, 244, 239, 0.9); - } - .sx-page--active .sx-segmented button { - min-height: 42px; - padding-inline: 16px; - color: #5f645f; - font-size: 13px; - } - .sx-page--active .sx-segmented button.is-on { - border-radius: 8px; - background: rgba(255, 255, 255, 0.96); - color: #237460; - box-shadow: 0 3px 11px rgba(72, 62, 44, 0.1); - } - .sx-page--active .sx-pause, - .sx-page--active .sx-end-button { - min-height: 60px; - border-radius: 12px; - font-size: 14px; - } - .sx-page--active .sx-pause { - min-width: 138px; - border-color: rgba(159, 142, 111, 0.22); - background: rgba(255, 255, 255, 0.48); - color: #232824; - } - .sx-page--active .sx-end-button { - min-width: 150px; - border-color: #eb8c84; - background: rgba(255, 255, 255, 0.42); - color: #d8342b; - } - [data-theme="dark"] .sx-page--active .sx-mic-block__l, - [data-theme="dark"] .sx-page--active .sx-pause { - color: var(--text-strong); - } -} - -/* 1366×640/768 검증 lane: 같은 위계를 유지하되 높이만 광학적으로 압축한다. */ -@media (min-width: 1280px) and (max-height: 820px) { - .sx-page--active { - grid-template-rows: 52px minmax(0, 1fr) 82px; - gap: 8px; - padding: 8px 18px 10px; - } - .sx-page--active .sx-sessionbar { - width: min(100%, 1320px); - height: 52px; - padding-inline: 14px; - } - .sx-page--active .sx-sessionbar button { - min-height: 36px; - padding-inline: 12px; - } - .sx-page--active .sx-sessionbar__meta b { - font-size: 16px; - } - .sx-page--active .sx-grid { - width: min(100%, 1320px); - grid-template-columns: 276px minmax(470px, 1fr) 310px; - gap: 8px; - } - .sx-page--active .sx-col-left, - .sx-page--active .sx-col-right { - padding: 11px 14px; - } - .sx-page--active .sx-ctx { - padding-bottom: 9px; - } - .sx-page--active .sx-track { - padding: 9px 0; - } - .sx-page--active .sx-track__head, - .sx-page--active .sx-session-progress__head, - .sx-page--active .sx-signal__head { - margin-bottom: 7px; - } - .sx-page--active .sx-vstep__body { - padding-bottom: 7px; - } - .sx-page--active .sx-track > .sx-vstep { - min-height: 34px; - } - .sx-page--active .sx-vstep__desc, - .sx-page--active .sx-track__note { - display: none; - } - .sx-page--active .sx-session-progress { - flex-basis: 142px; - padding-top: 8px; - } - .sx-page--active .sx-session-progress__grid span { - padding: 6px 0; - } - .sx-page--active .sx-col-center { - grid-template-rows: minmax(182px, 0.46fr) minmax(0, 1fr); - gap: 8px; - } - .sx-page--active .sx-stage { - grid-template-columns: minmax(176px, 0.8fr) minmax(250px, 1.2fr); - grid-template-rows: minmax(0, 1fr) 43px; - padding: 10px 18px 8px; - } - .sx-page--active .sx-orb-wrap { - width: 158px; - height: 158px; - } - .sx-page--active .sx-orb-wrap::before { - left: -56px; - bottom: -15px; - width: 122px; - height: 165px; - } - .sx-page--active .sx-stage .vg-avatar, - .sx-page--active .sx-stage .vg-avatar__svg { - width: 154px !important; - height: 154px !important; - } - .sx-page--active .sx-stage .vg-avatar__stage { - height: 154px !important; - } - .sx-page--active .sx-stage__client-kicker { - font-size: 25px; - } - .sx-page--active .sx-stage__client p { - font-size: 13px; - } - .sx-page--active .sx-stage__now { - min-height: 38px; - padding-inline: 10px; - font-size: 12px; - } - .sx-page--active .sx-transcript { - padding: 10px 12px 8px; - } - .sx-page--active .sx-compose { - gap: 8px; - margin-top: 7px; - padding-top: 7px; - } - .sx-page--active .sx-compose textarea, - .sx-page--active .sx-compose .vg-btn { - min-height: 40px; - } - .sx-page--active .sx-signal { - padding-bottom: 8px; - } - .sx-page--active .sx-coach-card { - grid-template-columns: 42px minmax(0, 1fr); - gap: 6px 9px; - } - .sx-page--active .sx-coach-avatar { - width: 42px; - height: 42px; - } - .sx-page--active .sx-coach-bubble { - padding: 8px 9px; - } - .sx-page--active .sx-coach-bubble blockquote, - .sx-page--active .sx-signal__seq, - .sx-page--active .sx-meters__note { - display: none; - } - .sx-page--active .sx-signal__status { - gap: 7px; - margin-top: 7px; - } - .sx-page--active .sx-signal__status span { - min-height: 42px; - padding: 5px 7px; - } - .sx-page--active .sx-meters { - padding: 8px 0 6px; - } - .sx-page--active .sx-meter { - padding: 5px 0; - } - .sx-page--active .sx-safety { - padding-top: 7px; - } - .sx-page--active .sx-controlbar { - width: min(100%, 1330px); - height: 82px; - padding: 10px 16px; - } - .sx-page--active .sx-mic { - width: 52px; - height: 52px; - } - .sx-page--active .sx-cb-sep { - height: 52px; - } - .sx-page--active .sx-pause, - .sx-page--active .sx-end-button { - min-height: 48px; } } diff --git a/apps/web/src/pages/settings/settings.css b/apps/web/src/pages/settings/settings.css index 7d9595b..5a4c288 100644 --- a/apps/web/src/pages/settings/settings.css +++ b/apps/web/src/pages/settings/settings.css @@ -47,9 +47,13 @@ padding: 10px 12px; border-radius: var(--radius); cursor: pointer; - transition: background var(--dur-fast) var(--ease-out), + transition: transform var(--dur-fast) var(--ease-spring), + background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); } +.vg-set__nav-item:active { + transform: scale(0.96); +} .vg-set__nav-item:hover { background: var(--bg-surface-2); color: var(--text-strong); diff --git a/apps/web/src/pages/supervision-research.css b/apps/web/src/pages/supervision-research.css index 964ee3e..b134647 100644 --- a/apps/web/src/pages/supervision-research.css +++ b/apps/web/src/pages/supervision-research.css @@ -87,6 +87,11 @@ background: transparent; font: 650 var(--fs-sm) / 1 var(--font-sans); cursor: pointer; + transition: transform var(--dur-fast) var(--ease-spring), color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); +} + +.g6-lenses button:active { + transform: scale(0.96); } .g6-lenses button:hover { diff --git a/apps/web/src/styles/global.css b/apps/web/src/styles/global.css index 3e74f43..d8bfc1a 100644 --- a/apps/web/src/styles/global.css +++ b/apps/web/src/styles/global.css @@ -15,6 +15,9 @@ html, body, #root { height: 100%; + width: 100%; + max-width: 100vw; + overflow-x: hidden; } body { @@ -23,9 +26,10 @@ body { color: var(--text-strong); font-size: var(--fs-body); line-height: 1.6; - letter-spacing: 0; + letter-spacing: -0.01em; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; + overscroll-behavior-y: contain; /* 한국어 조판: 기본값(normal)은 한글을 음절 단위로 끊어 "오전"이 "오/전", "검토 대기"가 "검/토 대기"로 쪼개진다. 어절 단위로 끊고, 끊을 수 없는 긴 토큰(URL·ID)만 강제 줄바꿈한다. 세션 화면이 쓰던 규칙을 전역으로 올렸다. */ @@ -37,9 +41,11 @@ body { a { color: var(--accent-deep); text-decoration: none; + transition: color var(--dur-fast) var(--ease-out); } a:hover { text-decoration: underline; + color: var(--accent); } button { @@ -61,13 +67,13 @@ svg { display: block; } -/* 포커스 — 키보드 사용자만 ring (마우스 클릭엔 없음) */ +/* 포커스 — 키보드 사용자만 고대비 ring (마우스 클릭엔 없음) */ :focus { outline: none; } :focus-visible { - outline: none; - box-shadow: 0 0 0 3px var(--focus-ring); + outline: 3px solid var(--focus-ring); + outline-offset: 2px; border-radius: var(--radius-sm); } diff --git a/apps/web/src/styles/tokens.css b/apps/web/src/styles/tokens.css index 3f2662b..878da17 100644 --- a/apps/web/src/styles/tokens.css +++ b/apps/web/src/styles/tokens.css @@ -149,8 +149,14 @@ --radius-lg: 12px; /* 패널 */ --gutter: 24px; + --bottom-bar-h: 60px; + --radius-xl: 16px; + --radius-pill: 9999px; + --shadow-sm: 0 1px 2px rgba(28, 42, 42, 0.05); --shadow-md: 0 4px 14px rgba(28, 42, 42, 0.07); /* 모달·팝오버만 */ + --shadow-island: 0 8px 24px rgba(28, 42, 42, 0.08), 0 2px 6px rgba(28, 42, 42, 0.04); + --shadow-float: 0 14px 36px rgba(28, 42, 42, 0.12), 0 3px 10px rgba(28, 42, 42, 0.06); /* ── 래스터 디자인 요소 ── */ --asset-warm-elements: url("/design-elements/clinical-paper-ambient.png"); @@ -162,6 +168,7 @@ /* ── 모션 §3.9 ── */ --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1); --ease-in-out: cubic-bezier(0.45, 0.05, 0.55, 0.95); + --ease-spring: cubic-bezier(0.32, 0.72, 0, 1); --dur-fast: 120ms; /* hover·포커스 */ --dur-base: 200ms; /* 버튼·토글·드롭다운 */ --dur-slow: 320ms; /* 패널 전환·모달 */ diff --git a/apps/web/test-results/g7-voice-consent-desktop.png b/apps/web/test-results/g7-voice-consent-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b278a78cab9a08b44fcd38ecd86027dfa206e2 GIT binary patch literal 196649 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�wy^3g-gGX%@f+o+J^v=(;d)&NdT+- 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�JCBMo09#vYY;Kxz&W3Lr}P-d8X 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 literal 0 HcmV?d00001 diff --git a/apps/web/test-results/g7-voice-consent-mobile.png b/apps/web/test-results/g7-voice-consent-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7dc38411f1000cf3ce5b43805b23a8880b8872 GIT binary patch literal 141387 zcmV)WK(4=uP)vrgD}?OhuiCkzGy1}|W2u)Vec zlSC2%34|g@0+a*FSu>JmG#X8MGjCqJxBJ(p>QmKy?t3$myx#r&^SzcYcg{PfPsgfH zeX6>;wPwv@&bb()e3K)JMD_3B$nj6A|0=(Ua3}Hq)%Vwb)@SSAq@@+VZ zZR;LzMQ@m~nwDc>aZ?3zFHqDy%3b*sl>M=NC~Gr6uy5=lh5 zJa_!D70k=ESkJbMaFbjqZYeI4NVFGt)eF|*|IP0me#-iHHNEJV9sZ##=Y`)|JgO26 zqx*tSH}06BZYrCm*UYAsT$km}zx_0+Di4TMmEW~&vU=*X^~Xz@HfN^2w`(k{4lF6s zI(=bsb`qH6QAC)!(Tc`5i0%YsGJ@cvU-o*4F?g%Ge|+Don@bX*Y^ZxEoI3Yb@c*Qa&4Wwk?YSj=e`a4E}rIj=ESa9r0t^k zg1@qyPH2htl+^Qd?s(2T!x&8L0K3?Z8K zn``@GewW`W(YmCnD>aS&F0mCc3WMcKKuKjiOWagQqVhMPAJnogP!fJCm(=`3;}Hs- zL(}jPubOUM>LSt1if4vblow2FHt5M#v|<%kH}{R z2x5Q8#msn6PEwE4*#77&Cd9ryaZV0K6tYkiq(0{v+{=9Kqji%eTu;xJv$ z&0Z1)O{7~emY0HIB`R>lv{t-muBQv*EU9|D1?UR&Sm#lFprq| zzpVV?z0>`D_|6_Nr~W?sb~AhEN^e@O8+t?f8Lm5L?3L6Iy%Ef(mfHvqW8sTz)Vxt= z)chsQz?oQx|37|v_y?MJit8C@hWb}k6=(3-HF*HvxZXfXhFqrOBgT963@~9MIJ^rJ z*>{LDsh<3qjzKa`!MBT93+Y;#*_{2)es{0cm%u&k@G~O>nf5(%nJ?-cU2>{X+ZTRl z+9d~`rAt=swDZ&%)s)n622y0E_co^_K3#p@DAImsnKcu;VdZp>pc8P@r4L@jSTa%& zNu+F4+}VIMYwNmXQv|-+L9f0b4w}~1#_yN@dErN=zpFWknHK88P~6$v|85!>a;^(E zl~T$2tz{AfcHlI8R98NUqV`0X9HGus=u9ZZQO>n&hpB!K`OoqIICZ#ILpm;=mA}SzvmT$G`s}5|^$6cp+&opfyy)Wh=CbU+ecvtrvXs!qw z1sBV;%HxHZE*~^LmuB^ExG!J<7tlqU<6OQc4|{4wtJOEq>K*7GT+rJ;Td-uoF=eY( z=a*|?s7Ta_RLIFhj#$B+&iK|iF*1M2-n|2}`UmIvs)q_KgP-n2Xr1YwY30P1P*ORo z8U`x8*pF$nW*uH!4Z2omITAaqL!|EN&m?ymH#Hw5n!c#r40Vp(#Y~&`JCbNSC~d}j zyZ@MLJdG}KGnW!gjqb4g8Qz^2ywQ$zZGPPb=&XmBKiG;d` zo_^+0*VV;}kLpinvb}x7z^u7Tb~_}=FA{$Q^gwha2|8W-H&mz7YsE!p_^HG%#R`mB zr9n)9>Vn$Je`SiR4xh=|Umte4MxPKYWvhw`H@j#AWP`ae4BI2-gvjkq{&y z1~$J79c7S+|0?u^H9?@5YnEgF1JPatq@}&5bBXN>JQ+yQ76XD}<^?fBVq*$9f>k4q z7yvtgkkLksDC4Y%K*VS&H3D0u7F99pTd4zjQVsc-2K%r)5*KnkTV+9OKpJZ*Ek}AuNmrWhnVI+XMc!P&k;-z>djO$X9JPOj248ny*K>$H5f9scdA+5MVvU!E; z!*;#~Kw3?>PpBx9=Z2T&>CE98M%jcE$eFxgc@#82kz>Du0cp7h@<`sB+Eu?XKop2% zse3+{9FL%}gUa`MZd5Ig^{gQpOma(G$jroAj{6D&!g7Zws#_ECOE%)jTvaMv0zM`B zl0y>+;j%JU$;%jVgr_(|Aj=o+BKd0& zL*EkuM0o8~+|Lkf99co_$??v_w#o6WyX|vqGP5Q|w>pl`zyhRcocGhuJko`aG?pPD zq%oSpWKJvN z(L{z&Qxq}z(0Zp(M(ZO;M2z!@93Ge56`E+VmJEU_i!5{u&`$ zaevnIWHPVdfMVt)b(!$`^gaV5)@?o%q!ddrpJ^76)P}3I$1p9lnh2v;yv_a0GE4BO zjSj)#Q+cc-8&Pz1$U0lNTa&GrUeLS7`|=otTn-h80SiGUwV^S)Q{0p>w~HW5N@FSX z^v_=X;EfBG?Vq5NbdJ5ku#)e>M*$PJE~GuSdG7pWwdBjAt8tjGEvb)VbFDgmoLR+Us&;=wsCPa*sLLo|^6svb{sz4vfRH&NC2$+f&3OiXFl4{H_2zQoE=lhld5ZC-B&*U_m|2&gBslyHvLI z$aZV?3mQHGl5(&ONWwv+uLQ&>J~Dhtm_=NE6t|G{f5M?vLQJ#gEuS3Q76ODjfw9h5 zsa3K_0o~1TJtimH_TGUZ{U-p0tg1AMqa&Nz<0FZ^3SkOj$y8%B#ZI~-N$RgWx-;R$ zQ?_dL_6_z9&KsCLUxlSPYwKt;#a2$&ziWaE2~-g&K(a;Kay-|r000mGNkl$*rLYdjp%wjU?nkQXd^^C8)Y5PjU?RZXjDp&(4SrJy$ z&Z#R=RUFJxiT>w)EWAA0OVZUmm7-7foXS(L-vMs>Y-_@%6I;pWFdSeRuN%8$fVlUn zy2pGTR<8j;B5R-nNOr<&=nx5p5-nmI<%K7T*pq94NG#W!VIq}H0q#SQK2%#kj7Kon z8ApVUFn2+|D-KN}=WObG5-G-O$%#em)e3_xBb)djNwq%3sFi_5WWZmft#J-&&!$mp znXk=QCs0Ey)T7}<;82yAl=)tYIUpz$mU|RSKh%Lgkcrv*mhD-G1%P%%T?N>vXjqtP z4rqLI>*VBUr#;b`n)0w&>KaAaW-0bKE5jH`2_sPNEXe{JhgENKvGvXF8zyq6 z69Q!oc1dBr<5Z*+!&X!)&)-# zm~9Q5^+a353N>L9)J?nC10PBK>xsi8EJ7be231mLk>JuUU-7$8|LiKVnN|c+Y7k}+ znWanG8H=Zzhh4}amlY5wQkNj%2_t356t7Z7`q|)u)Th;|<&g%6x{w1_5eUj7>vO^u z;S*73*}f_>Cyb74@U5P?3wNjVKdl}oJbL|?C?OHRGvc}do`e8(!kNittRx=V2?jks zvSr=CoQ17cPn5Z*YoT{=PS~=Jl^I~T8sOlSyjnJ*g0kbO-t|+joL)1W6eG~c<~2PD z(k$Mi)ze@3Rt%jQn8R3gI%Fd3#RTy(v>*$Fa-;y+P*aw!r>Aeu!d+8=+cvKyW$6$^ zONz3nFqRrVR|f9Ja2diPlTbkQ1QRu8tJvvUg{&rED7Ck#G z`4l4tL?dBK1Q1gzmm~F*a_}rKNAFQRg7q35K#o`2o-Nj(;E|_{*Lz@@61+do<-QW# z>+4rS@40$2motGas0#Kk$#e{+Y1P7#H4sTz{~8Tp=Z2TH#5SGS=`3w)o0lb#Y?q7L z;gI{P)iZkX86P<(KM7Nd+2{}z2a#gxx?S>=UU!10xNSjJ7gz%LPl+^nfVB}?!M203 z4N@srl6gk5r-CrhjuZzWvPmRJRQc$F;X9;HVn&%D4G~>M_LR@42W$Y326qr-y{v?+ zQ{ky#!IjWrh4)fKA}5$8q6q47PEU<)+tkxPXK2x$J-z)szU9RCC#%9M?Sg5=E4{fJ%1^w?-{6$ksa)gC=eP<4v|FPcU08ME=R_+RigtnCSzv=A zQ~N(+J&+-7sjSZ{Fscb1v!BtKT}GlmxqBeyxjRetwDu)|5d%Qg`jE;C*1(i`G-_;> z2nxHQCnPQb_(EnF52vj?X`OHl#uHW1O7?~w$Yq|cUV+Lkk)#lU219*#1y)tiu~ToL zRH>d5UmJ<9k9AWaiJam- z=}(dJK(d4dOPPstetc|O0!FjvEfr^YsGA#PFSjF@C*s?Px*J_IIq$L#{EE8hDCruw z*!17v(BhgoGO-0b6`~4U(!};HvxkQzi!NBU`x0q%HMh*#gqKZeYs55ba)xtHGa=fV` z=Pdd|XQYK{kg@XOPLU-k(wR%~-n0m4!FnJv;&V0EQyEW02wU;MePo-t)i)P`CL}P% zBS{DWoym|2h6-Y&lWzVZvzvsP^2%g)gmG5}l>4nlJuEN8ldbqD!0vY>KJ)sGYRxI1 zEzwW1=1C(JU_~lEV%}Yf3#tShRIge|n8vc^rE|sJkyMkW+bnhgJds!X$gqI03f{Yn zL%Vn)*;zKZc>Cxsept z2!ev%6CtPwg)3XyZc;;t8^Vk?ZOYGymR8#{JMA>)a z*g8`=2%{nho1k<*Yhao8Vuh(!3u{U4sWk3J_ULH2?KPI_B+t%Ku~G*X0=sR3eTiz$j1AKonQ%+gdYPd1vto&`?iaZ*-Jn0|`N zIXde$?+SlH=DdMGWfUsLcj$AD&2fwzoyH2Vl&NIUxw5c2Wz>T1fMIdqyn2v>q{l-Y zWafyLg2qMpDhGq%qx7tz1N8&Q6tOiDWQ@|KME$h-`w1GBk$+UI451KZDn~(_Lg>lB zvuP>nslJJG$W)*&61411g+~(I16ePR$lF4khLvgot@y|p@Q)ahSfG7yN%iAxj=aq5 zMhC-5;>{%3Q}S3vXp(~}jvNfj0vU8qjg=hW2~ncfV!JJ`EOmlZ-H;B5705XT`AcEG^t|wE z8QIlkcwi#1T3r9iEHCcoG>(!7xPSmzyrKrwUp_+k@ zqT(Z+aekTEj63qd`GIjR7jx*AaE=yy#Bfg3n03W~x8D@kHjbK@UUavf~=%L!_{N5}zGLyiR(H_;SG= zY*9iIXD?o5ijkB*iijitf)fVHA+B9~Uc~W4iq``8smvAXt{25n8k0@n>7-96bG*qn zQU&dEMg3eKK}M_f)COknm0Fes!8hrW|81+6Ac<2>;&*i zKvA+@YoW%Hr*311d8iJ26cT+dDo_GPf(4FoJ6oiV1_(uisTm~YU?Lt2WF3Y1;A8-0 z9&kTO*a%<%69ZJqVsKC}+)G&L?6?*n8afiKh(;xa;0~hKIMl;^oKn_xJkDIz@PbE5CX3=G*SLx z*=5;sjjKVK!^6Y3-g(E0J@?vo@4b`09UULL`L^43+hy1N_TF3KB(i$YtZsdFOr^z;nPouhmGAai9pZ{I#LHa<3Y_S|%jtkS8e$t_!lXV0EB&_4)wgr-K4 z$Q8siJB>9Li;TqUj2U35sRMHjwKGNhJ7%fngFWDNR(yo~3J!610s^xiP0dQMMUc)E z6g>&@s{6V2`oj<~wwsZi1j|ST#U3EhM(nfW*;3hl3&fO0#V=ez@6C^H=sRj0hCq8D zDZo%kwFK0`T<+T{i zlAwyR&UO{qo*3{9LP)X9sryR8G8luw8BvL=3bKs<;aEjM@&$ygu{>gY7coPSG~ILn zsjhZV1ClEpnV4FNk6_i1s!#y}kVgQR46A%pz|YXVqd|!}!{mkaViW1(IFPi0qLZl) zq1OQz^PHd5YmkUS8lcn3PJ4J_q#c4enSq~`a~+u)AD^07pxgx^$?tAXJ z^zzFOJm7%WpLxcdS+mo_U%mL^n{T=G``^5Ha%$iU|MJgUwr#Zs)5|Y9|NK<{-}}G^ z{_)eFUbbYZW4%gIw55A$&6?l)qYwP|-~O%r_THzKmD@)C?5{q2(S>i@cg0?vPG{qm zEkVE|_ui~ovr+{<_fKC;|M>SW{9`pxDF+cYr90u*sJm;Re_-yM*;3%$8#iuxB$#*M8^M z-`m^M1Adoh?SEW+@uxrkkN@*`e`n9#cNg`t`st_t?(_ffFQ5C&YfgGqk*dvh&sK=- zf~?2dgFGV1@}HxSY)S<xNN?P$v)~USx#BLkLz-xW{rK`k;aM;4CE)lQe=% zqec`Yd#^?VWdkMsZW&im660Kum}>@iuuDdUpRZLC7)Fqe*=d1~b3gp?6$|FiJK?xv zNjLR5xM?Y>yMZjE9foueD?_Ac`qNl@q8$|86viaBn~F^r+oO|{bCb5$D^3Z$i@*Dw zKmO2%5;T~an)>07e)P|u|6D=}q*!aJJ$2h%cddPP?fMNH6DnDdi|Ma&Yd%d z#2cl%Rma9g-}AoTzWKJ>rE#D5%xBYo1O5H~@aa#>E7O|1_u&W6f7d(5#wV-~KKqG} zpZ1#9K)wgGtE%YP=Qh0Q9q(B4>^i&icYov8|M304r`WPy0}B@}_~Ey{(dj5c<3@kv z6Cc0(-g`w!Jh5u^Uw-s&jz0YGzyI4$4h{~a$EMotFZ}DjfA))CeEE?_yz=q6zG$|Kle7KH>hN}|G*-QY2meWYN! zYq_rSNEmLCGR2C~$v~o9fee8ovJFnC4`ZB4@LI@d!V{dxB1de`jd}e!3WskJVtETuPKrWoQAj3em; zV&)3?sq8)EYBQ@XGB;*dg2^u?3!U zBC*{Z*m5<(>uSLC@Pg7hVrqeoiS*@feC^cI<4Q8h7d=zw4<7e|XRJ&upnz@^15%p8c{{AG!Mh(hJ+$69b{Ihm#)Y8g?5t zZv2<8eEH4iob!o~eE7CI?tJHO{$`Sr?|94kDl=)(f(76E>etfE@BhFDZurG7zW%TO zzIf5X+wQ#M-uoVyoSK5yhWlk;p#KYh_nCHkDxstY9(;J&(#3}!a&TWy&-mn&l$Lt@ z@Iw!I@U~>5)hXhy|HaSW^V{#6Gi#O_ngoXeW6I@Am;U0atHgGF@S%s_^6q!d8l0_i zQp`-+v}x117ruS%x-7QjlTeZjOe*BigAcmp&O844)1N-}$fK&3|JA+s{p6bK7B5<~ zbjecnZ9})qT08oPBj(SWC+Kz4<}FuUdtE(tviC}(oW0=@?B)+;id){69u*^KjGy@U zalm9yliL|SGD|k(_-{c*bqf6otaJU_RlsYtcBMxAv~poNuK;9x(98#wa0)&xB+>TR zZ=vK(9i`0ye!eKvH*;=iEOlLerzR8ff+_n`P*s(=NQ;#R?-MNk3t`HXW8z7Zrb})J7c3*K*K%_IeaM%?&sF#ov5<>B7aI|HQ}s`72+2?K$Ut?K(5*%!(2P0d23*hpbSBSsIib!qC4?oF$5D;#K8o0O>SR(|7WiKs!g3o*027% zYrgUar@Z5sJq}^YB8*Or&-H`SE3yKgSiO4H>Zktb_kO>()sy7K5r-Xm%Wbz`_~y4j z;6e@4GtaL3)&2Kv86N)St+yQYvX>>hY;1fSf<(#Ebl;r0v;XpAAN%HazPn)l{LNdo z?6=Q8U;5$~da4#`TkQNu-SXhW56>GK+GF=Ul?Ear75WNRS+vvIb!$gQM-MyXAZwcH zg}R0-Pd)XoKKMZbT`hechvv*n6Jpk^!GHPO-~a5!8*cdJFaP&{d}Vxm@`#rm`g_0i zn`fNznp*DIEMw(y;Qsqv@TT)*aHW3|fW6?&=Pg~lSapxfY`Ul@Zzx71Yj9oW77|)Z z_mujXH{v>0bc|fB>>} zq}=qGNv z{q{e4|NGwYmNzBgd)BF^{>Qhz^FRLLL&qO;^k0AQPnIoPTo)zQWpo`0`j@RjOz1G* z>vMFztRnMKM-4iwn6XkPPs{L;Ou?wZ{?bdpv1D^XL>mJ|!EGH)2?GAGX6gUqo8L_G z=x;vsp^GlO&`G4GpwB=Z0eTXe(P8PzoP>)UV=nWYd4B2lsZKkptK+hJen!(im)&zi z5=jy}n{HN|A>JQ9yk$7qCOxedFS0awTF}R(ow)>c4KJj;d z_xVqK>VeyCyYGPq-ukY02|1zGqPzcrhra*A%RcqdkG}QXbDvzj>P;8D^T$_SdCpm{ z7e9yX7fHW2Z`pk1HP^iCkVALdbyplEWUM>cZn(PO$*IZjUw--Cd#yNN-~FOi-i(&? zx#F5@(tl->lePG*FMlbSqW}Gm|76?9HZyb6cOu%;f1mr}7t`;*{qSF%bixU#^T)=< z|M)|Hb;sRz%e?FA!0Uhh%ax~{`j;R0!_4CdqvCSLB3Lm=+ozG?a5xEIk=+|!*kVF7 zjRZv9a$@=vZ=wG(+CuY*NFkZ_W-WfWelT zsaEBcGXjQHyG#!t5KlzC2eY!0WzFUz9)ga7+Rg|bj6tk8$Aq-F$A9>fD?ad{51)GS ztA2Xv_m(VL5F*U~cfRc{XPy4qzxw2-U;TzRe)1!K{)W>|j}9G}Skg8F-VPI3)DfK3 zi8+lVbRo2{jF=`QH>}jkPE$=c5zVkKOb&5BAld**HCmLOrOQi=|KU%5BKYW{3*S!a z{Pu|W6qyFvPq0$G4afE)L4{XpSW>$)WpZ`Rmgi~OXU&%9q8^JXrRW-{Yun%7C(BTX z7=frlS{_iz8!bL*e~>%aK3bI*GH@BGmp{B)2FOyMjZaLZ@9%#-8I_crdVlc2Kiy^N(hvQ~pE&jS zY#rHl;<3k$PKX|ibety%X5@!tzY7%WDqUI{8$urEY-B9S|`RX|3B`$5sTFzej*nB@_6t09ux z>&lP1gV!PAOs$BBXB_}j8QDmXM?!Pe3b-ow$B||rDQvV%cT$M9hdJ{^&Tx=MAr<@n zWF}gaSwzl&NY20p`oD<{=x4L3=Aw;yb!p=Ve8Mr`3qik{P8b8;_wA?=QG3-&=)c|aV&{| zEy?l%MT#!x&oPHs6ZzDc0A!Rr=`_j=6al}Bw8-9E@e<3BC@;>p)Bv#-#>vf8wRnR7 zw?Q_933NW)svtRPH}Lc|2N+Ku8)4|(^p(`Z7twNN7MHm zciq+7Tg&U;`ES4W);FFjG1(k>i%^j+<|wnv4xnFrMghKd(6-LlB}N3y=>Ro!bf=Zq zn3|{u9Fby&n!5p}$mQ_cJA#JNyE^r5aCWWKE3jk7v>C?nurXysDw7Uu4|b3pMfY38 zh72k>GC4lG8y~^1FA=YrlZ`hab5MS2HyU8@$0cSD-wGcvs-|+=D%sf%a~CK81@uRh^~FRy;;r#Ia2);GMK zU==#TBym6c`Ol9%`lu6+JDOKt5VVs_H;5y4IcI#TY^+zeyEEE8;&5AggLvGaOq5ZA zrA(^TO@hhFjPS1^+R0f8QK*ji#@D@W>((tF_=~^nv^(!O{{ntg!b3a=Nca#r!iw0v zj$Ongabdv4e<!kiT2*MMOKjG(B{v-i0i?K|uz{C(G zPez)P^M>Z9={r6#`M%$H@7U;A)V-|4u5*>)<9PPUGmk#H;^`LiI(}35D+qp221yyd z>w*i@Gavl$hf_K4eA|V!D&qxNi^-0<36d3VJE5V(Cr;g$Ah2x^>@8%zkT+;=K33!ELwQc`RC7{Ki?U< z3^5wkt$!|&)~CMuH3uJbpje5A9dhskx8J7G-u3sh>(;&T?H8_lZoRzs^Z)!W>A%5& zfxrIqKQlS<@Z*m@x%%nPee#p9JN@)lPfOSnL#psJvn7(=c-x(K{>dNw!8^>O!kV?~&VSE)k2~h*Pki`8S6z4A?|tA;KKYTqI`^!ViBP!hj=L`Y z(!cJybg3(NU)@_P`?)A$ouG}LGHTE~3N?>o_$X*ps%1oyn6H@ek?b8aznEY*NJm1 z;Fusb+3R)D5tByNU>!Sn#WmM`@DJX<+wxtWes;|#KJ)p%{@@2#J+oU);yHz8NfuIU zi=8M{ibB>#&1~gz_NZ*NLCIkVl2mHNXvkMl5JSY6 zi!Qh@Rqjte^5OYILkUd~=~hWH6GMP#(9Dxy*(It#jDu8af2(I?YC^Qx%lACwf1diz z%jzJ2=Tb4d4J|$U@RN_)?LaNk4YvAJ|ET(8pWtgwKKa!ry^7#Qv~9)^z7{!s>+QEs zOiVzi@s(YcEkE*Qhs$4=Em?BK_r9NQ;QeuwSgN7fb5c3$o`3%D{^1|l#&qYNb=DhJ zo|zV^WZo;}5g7tx4eydO{??!VG%XveuDnIWhajWF4m#+8TW?XKfLO}V|NQemyQPjZ z5T93l_0=c6@_+p9?`S!!ot)oe*Im8t)d&H3{ueHo|92n#>xByzV7D3%<-$et(<{a& zCnhJxM@F|NvuK3r|4uTZLQGcP`1siP#2E4jH`h;$l3hl~YVwFrL+nflndJa4qkG3H zV?!98+<3p5@y!@Hn z^g+W%l3C4u5Qq}SP{ySM3Mv_e!H=rJoMEN()pFE;_aUd(a-?oKsRsJgIpyl5LwUb8 z;-Dh$Qp0JN@4oQui3v+H9@L_4HIz}}jffq`&G#Hmk}kIq(4~+q#N;fS-P1SH9+xXe z?0UdayB`!Sa!*z&i`b!oftF?uis*~d{vwPYDT64pO7sS6y?_4Fm#F!9(>doHaoAy` zF>*<~!f2&3-UnDi^r4R}E3?>f4uPQ~#rr%VgX(L^i^Sq7kRn8Dm&lIFY0Msxu6BI? z?8cv`|GH}azyJPouYJ|4kV~Wz!`W@zwE5ld``xZP&pZ3|pZ?fi@4I5fFRs2au`_Ae zUvSKq~w1q#;K5z9ssXVIbNRa|{Om-&(^`jX+BJ)XEz)~h90`ipBxr90zSm#PK=VHzu zU_6o5keUC~ot^T?a#5>MI2zeA;FW>Wc$`iExd3cJ7Kd%eo!8G+EcV3bhrS9T_*82Y|T)e)=c^(hFkBt>w;hZ zjbz&Y;fFq)7|GGGv8~&-o&W2<^~mE-BtRXp|BfSV>zLbmNy=7m_(`z)S6IA^?}YYo zD(OMvL^c0bKlKplQeg}fkPVH(=(-0EIqtlmc87@k^{ek*w&xLWp$XQKi4zci>T=G0 zxQa<5T!nomgy)M63#=>Zf<&XIYnz^Ze8H{?tYixGoWih;UcxrND-n<2^7VmtveYp;pLJeLrrAb;H+5IQtwT`Q5x3_E^ z9_Z^IoHZaq1{wtHOx;n#H6=vz=FJrf0=3ZsH4LR5-r;TArY0v7Ki!*nC{?{0zf<2| z-!L^fe`vnL$50rVkxsf%Ekuz=Qj?6u%o;@_NqQa-8iEmf)TCr*N{fn~RoZ}%3}YTPCy2XwE}MohD-4wTOQv65C?-Iqe3`^I>OC=kxx&3>FwzDvkO5@9j($); zWXi*EG+gRYDQTpBh#?k8+@ziW8j{q)WQ8hTus)B@A;U**rw9V|wMFz{%;iLMEml+R z9~7@m$3@FahlibdwjxRr{yuJ8_sFunju3%Z)BlbgQ!zgH=%ZI&`?GZCukO3|;QjVb zYH4C({J}>bKm3q`)6*+YdCmU&?k!2EYWR~$wh*!9r1oQNdH(6Si*{GtfZ(DHYaSk$ zw})d6*wtw{DjlI(u(qJyrRtf?z~T+DnC!*OcM@vk5h@Z{r(k1&gdKDcFj9+TPln_| zr!8bp4fs3aq852XMWhzqh&YZ&iw0+Jn;6?ZH6fg3lmMtel4E3c-@xovpU;peI`tXJ z0*b*l^@(VuIdkSD#}rm6cKSp$;lcIV+%`QE3~!4>W{v8rRsw^h<|ih%S%{qeX5P>| z?72gIg2khoRu|@P?(Es%2oNuW{6v=dXwIzJ$Qf4T_7nb<5NHF*ySW$`}Nx?uax zT!CUdVs?mkx;2ABbnB{f86TNf$RfE3eh|GskY<1^@rZhVg7us3#W#EeXOhlU=7uyj zTDXZ4t0Gj$74gu%%J!Yaf^$x8HAaFChbvX8UhP|B=~T~eONXBMpBxk&L{M{PrnJJ$#%U+gr5N1`6_ zmdD;bP(qa~lZrR~*AnL7{r5lUfCF5NM(wf6()AvqtykpmkPIP!_)&z1fE;a?&cg^k z-)KG@X2FWTrB<7f3r6(>!J@GfRE87yETCzjY8*hAc>X*g-oU5}IZ~Yk=#i zF0~?Q3=597?9+A_x~Re2bNdJTdwRy&lT)39?(4?(_tXb`4sy0&196cGk2OIA+3rfy zg0?|eS*MU~B@xG}xFV^6Mba-JpEFTlF#(@Czctn-x>D;pt&dn4HJfWS^okvbJ!*<& zbaz5!S^?R}e7P4???KLH$%rH@zZaFBcdG_tMl=(cJY_pPNqs|-BZ){?FZLKll?9?% zG#XoDvTZ}QM&CG`TbrX}By+Y!A#pKsPr)vQ%%L$C?oc0|xCKi^8ubHuLV&LHgBa+- z^~kCajR&r(@Lh=hGvJ|5X*9O(=_RMUmG18c(Sf~zX+2e>yn6+U#A&>!^oEyc32%7> zd7P9d0+xZdE=OtC6b~uSjhx)bo~}J<(N%=_`(R+6Gzy8Z^`cVF0Vb6A(S?%cHOr}3 z_$D0Z8|45TJE&451OY^28=yGB(sHcFFv4aMTiC`Ik&`ORh_XnPwIMqn4Hgz=09K1& z8gNM^N<>>^(^`niv0)mC5L6jdZ=(twY=&f!AO%Y^CFVOlR@GrCTyTjsNTY9itKPXi zg9``dE*+e^Y}U~HzFG4I=G58CNeOaitR!lyVudVMq{W3R#*YH!NNrm}jz?K3F~W2^G;pH(!g7{3f z-UIR$)jW%{69@DB%d1GZ5+~%H;1P&1IhQr$c^n|oNLgws&aH(Hg=BS!1d)}mQQ8_) z1DO@6)HFQEh#|_kA_MW(CybZu+Z11$S0gq8tg8o|1%t>XS0NWTgd6MUjCKnxrOT-v z$4a9;jHgrN#WKBKVH!D^^LgU*ZS=pdZ0CfmKv}qYva$H)bsU@L);c{;Mc7&c2gnre zVL%2*EA(d`Q{`mrS;Af)%I0`PMl;)UM`r9fjZ>-L*2Wh82+w-`qi$Eo`@j-&lx}EA zf7EiPZWRBeh6e$g_;56rVhhD|m^gqol=X>B7)=jOHbXGAc%>EBRP)!TQ>98*&V~~J z%^UQUA!lbQ6RRW#O!FkEU+999Oal%ugf+C|u(x!5%C}mm2fE7@*i0l8i?zzzsN|FX zfPJDXaz(23ER=>aO^S3ZlS>3`5iM7wXce{GV?;T^!$r}Vrdhpub0VA=diIvG;}{QN z*b0kSY#+!^vd9#4I+6K_WS@j2V6e_mT;f!F2gx(%GFproPibtivI-V#r;Y`YL10GM z@bl)~*L-zq$!aXJ*b%6Q(l&sp+3T-fNM~q;m?qPGCoCgmFD{>3r&?W^<^Z0Xn(Ydb zl}!qZSoA6{1n*#@xZ3804=Cnc8XD26vD9`R3HJK3olY>u@~P7@i;AMYURI)K3f`Xf0vD<+&tMewRWJtDIH|9tV zhe=L2C)i=nEyN4=n%8bsM2FU?nheeLixNFh;S|-HCo^%tL**eL zB`Be4wb*Kn$c@3~L#kkVYNFNZ2j>!V-YI|zU0oQDJUeloI%?a@6{-6?N}LkR@)D_` zA|R^2hL9u4V(lDIPXQz|4wBdU$|9Z!J|IPTx=TyAQmH@6aO&levLy=KkqrlCE$Mu< zc}ya&gXwM4&t$FUdFFMSfn>#xmP?e^34&c!#|q|(aAHe2k~K*)Ln|i|#pmt3#~yUS zP(fn+q8RngcHTxi0Tkh5QAl8%%NF6RuXLrUfq?T!q_&C*k>7*W9t5jjs_F;+On)kQWu_-T&eMqjeWD` z6ZDl2iY*0QdK0Vi?`UV{DLfVJEf`7>lQE|G3d1tRw9c$N%H4*g0J1<$zW@Lb07*na zRL${dxtU`=^CPpl&dfU70l>;QYb_uq%U4OVy)e&mQXdlmi#dl=&nTbKXbqA`0@&oL zne}PQmaQ{^DtHX@UMk&&=@8uO*4vPj0J z`y3G>5?ZEo-X$ljpPZ*AC{K7gnTJk!BC*}ffCEn?C|W&ev;&@qWWLprS%lb{prnZ- zVRFGViCnPVYN9hV3Q7E<6;UG>xXjW@C|yzOzKgeteFH<|qnm)1(J&9%K}-tGK+P#@ zBL|9VOq64D)z{nUISLxg7|+PKecPt~{#h!c9oV=icv_UVQ(TsRdsXRqqT6v7EWkVD z&@e$0eS`DTQzKi}b$I`d zz1kFkGR{&?DvH{1_G}^idG!U=&v=&1U6V1C;-DyL^GFe2z)lNb9FIJZBpXj9as&|? zE^2l$;CA?oAew^OZkZ?I$thC9W!cSSkC2J5L3k~39Et`wvlz}h;Byp`X!YQMkE9Ph z#Vpg!&hn&@-`byy$b?^qRQBF$-xl#i7L$$Kvhc?SpxP{tY)?O_iD2GO(7Im4q>M}L zYpV*L$Yp94JQ3_NQpyB85yXt)&?riQkdaD|ri{2`ttA_M;oVp!1+{3P?L2bkS^T8T zcEd+PF9*u_Na81Cr?m7~t1mfu_uZhl;mCgH<7@+ zBr7CG+cvyDIZ1o^XNh-0q?OEVF(yS^OK}>z!5%lkM^Wjt21;_R_T+fgH-NRH<1}k% z>E`uMj&C2HHMF>=e|CCrC31r;rwHx97A7l9NpKToayX#7XwIn^+mjQMlcS?so=*?e z5lLhmkaRD^QUo}Gz$DmQB)4R(Xtx@A_t^weZo-Vy2#>q!D?woqGdQ1ZAEAU$IY=ne z76gVETqefAso04TtBXoel&wV>9I!?3Kua?tm3&Yc(MO8f0Cz+rbA3GGs)Hq*K{sij zykZ>hHG>*#C_yi^gGJ&z5i6kaM9Skjc+iXk;x6;9fcAB(>qvqaT;8)LGEvs8MpSCX zRg<|DPOO&IEB9kZTe0>`p$6lLsPwm*tz_*2?hY2Ok4V%21uQlJGNR;0AiNH?nE0>_ z-=)%OFI&#^#CXI<+b1X;rjZt^q@&0u$;()gasQ^_^0!E|mi2!?hBhav0TxfzN%@jU zSOR+`I8^hWVB0Cr0XHx>fBW#-$+4~da~AXs%=Yzee4%Ed@}dsmTLKUYpDr(R=jua+ z>H?=G$J>*mV_P?+b`34sOQdAhG0vqMT%BSJNW+|f1}0ik{}@YQghk)#8yFuSnbkKC zqxopqE@<^F+U0gkfQOKaJU`|2wN81AKWcx@@)jKd}!EVWi zX7MI6a+T&&fw>9PM}nAqvBJ%)g`Ho}M`i_ULqyG?^IQzEz0ph{cT94hV4-5T{k z6lapqt=@s5B}ueJWA4qutpokXtE!hQ=p1~JCK^dsR;_-}sZ$)w5>DvQ9^J5D!SZ=a z_9Ahrq7{h?$1aR8;J!2+(wyd_!X#X0ubkg5dyGi$*|Dq&#E*p$?Xf_Lr={sFPg?03({U z7N}Mp{H*^QI)fDSl4&eujm54Z?GWkS0BK&x9WbWBWmA}tB~k%i$W)$9MrYNJ3gl3n zvH`I%)c7_G>x!$!Az(r&qCp=7#mo9cZ8tgDy_Jm!M}_ATQ9`bvW>Gx)Q~t-PwQG+N zxICv*RAy}`bX)8yO*Xm2Vii#Kfz$Q7ns?an#Kg1`G!gTOY!a1jJHiB$M?)DRzXIem@S6G)3EWq$fc4zhay^it zcd}L>u-rL|xN~|gn*$N4UQRSiFQ=kY=Huj?PUYijeAnWC7kr!(R+Iqba(U_#Ve23oFuA?Iwm>tQZqw0CD3ptf`ol>x+jY={cn;*ch&3LowW-^!aBg7d#Ck@h5>;tMb>zm5UMDH z)(>wa1@G`Gns(0}9>HHkbxsvsjd`ma5XJ{hj-+x2a?pcEV;LdnBa(4FB9B;p;rs?F zwqIqvDtiOr+Afe{%m6il8@4gf^0I!0w#>3#n=A7P_z1C`iX1c0k<7e#USjAAa~`@^ z&3{Ney-6je#P48bilrZ^D9Lb~Y6uyra)?;U#7cdIPTN>?n?z1TuTe-00ujiMX~Q-u zG>A9Yxyx}w$uRpm|y zOyZmC02G5Mr}7hvxJr{p@&}D@#ao37Amx&63?hQ{Gh12Dzn1b!DltjrQ5lmhQz1t@ zDfMMla4!4)Wx%%3a`^ceJn(SE40#hU#HBn!q zo+3U-`E1S^SS|tCjUgPl;GI~>PB%;$uw8|I&LfM+W=DlZ?qEgMttKEHej?)|^MUFF z_L_-7Hehl+tIUhTM<%iR#=9x&CnwYDu0SHgjMC>m0EY&r?2^wZ(r3rm=kN*LUAHJRDk5QM2*{^q6u>)%URV5 z*8`NjAktOdi@3$=a=OUEc;6=F2Vnx){!X>N)v7YY@uSVL?~ zy{ekl)Rz3O%uer`x~jY{m`?OCox_!gaVWO9!e zZJgO9YCxG7on;h=MI*_2iDE+~yW-(ImI}r57&TZbky)l*$>Kj6B|F#bK9Rq$R!Blu zh_Kg(8m%byIVw&pc%s}cm;%TXBKk?6QZJ!MaKX-jvZW7o;wijwgMmrV{`Db^R5E_$8tF0US&q7HRV7@v0+P_De9IfuC? zmph%Q#AkP=rbf4I=p9(lH)}EP{?}Mq=z0uVN zN?w_kRjVk6RgUW}hsrArbZT`gyRyJ{DmRflQY>vfaj2*p769;0P&|vbA&T1Ric(f0 z#Kgb2KK|?jP%N zdyB+{I~#i&7qbbPbEz?QQT?s;elpw7T*Pe@I**XGid)r6#(b-<>gk&`e@|BpaEHTa z_I5%E8CI$r)uODp(BHXQMT#l%y;HHGxIx}VTyGx+t52TujX34Eo|p2W_!#I6e@*FLk&hMk*4X~neH#XsfgpE@{QCj z2=r3dv-w+VLUG1&8sA-7;sxKRPVVM+7DM?;2>BlTwX4-RJu8k0D+^W1McZXH(HD>f z1RzOBu7eGL%Y9P6taOvR;wdU*VcBsG-=3P!=G6MZ4$Is@&uHQ_5g)Eug7rzBn%Kgo zPZht*ay$|?HiWn@lEbO9zxiy}JlWy5Vl0D%wvL*=DgXIJT`!Smxq4Oh;xAT{MxEu8 zmA&a<0(c^4A1dbdOzVhmP4u<_ja(;H-6R&AlihULhBAvx{t*l{W>9G$Hvb#!XtxCv z8~p&Au@+3No@#PpG8w=e-NQy~9f#eb=BFuSX8xY}vx8fAc>j(bZM-J`#gW@t9U77m zqq39w&h(O*8c+hp*zBJS&PzGlc$QoPF3r@)jE74|J7Y0f_B9KWaY$a}9smFk07*na zRBNuZ9d;*_xuMZP1&9OQ~Za$GZIi2|Wxq?%|s;UVj1 znUdr{hA8{JWJi=k#IbD1V#=@Q0h>DWoXMC$w_4L$9 zlE}gB?Q$KWpZPcHS>Eqtw+l|7tGmNl;0f1!|@DV|C#- zhFEQ!Az3>hzPuY0fJ^E$XDk`#qEyYifonXlu{Q$J6f^0!s-#r!V6^L1Zu zm-XG(Yda0Uz1KJ9+2}p0hWhwon(FG{1QHJ4px#IXOcc+yS~g^a2H|@Klq50;;Xk#V z)q#kN=H*mBh|4I6^0TqwccC1IsWMgHSHcq2U`CwP2(6t6`l)t*f3MeWAvu&K#u+ss zs+no??t5nbIBM8&s`H(D;iv8Dv^(-&c8HbSbX?H&EWN<(UH^!>m4SQ7yX-8;w;&V{ znA8_R6}b+LpVkjnP}#1+c2iB}6hPR!3hSfsthTEt-|Ixd@990#9Bpf3R8KJ#*7~%$ z(ZELdX^d@VaM*0j7k$BCIA5BK@>`>f2>2*Q3WYopMu`L- z#4Ngz9*jVYF>H#^X{uMDGe!B4Q|zO2g6&GFJqIf~VUeO%mN3d9ePQ1h-wwrxWK3+e;d+~v^Y+jZP7_* z8Mx72Qk}1uQD5+axXddul~hWah^Ip0LGJ&`7x={+H&y;sTol|4%awDKtH z!8@Y=@vb^jud0_GmrzyqS8S#ix1OMhO5WuSoyoI=c2&I1-AmmZk$Pm%pMw4>l5O;y zijyafY@3j+f{q+gtW{j;isw&#zhFl0F&8BTYMnfn#AUA14FL+6zI6%pW)437EOH4E zm{hj%W5hYk$BC_q9;o=eoGjGy4%CXv5rk4F5jA|&_|DMWcTESIzW&Aj_6)u1l>~Xz z1ScXsV+JiwVN5yO9jRTW-_B=|VDd@+K`iP_8=iCC{8&Jt157pu; zggBEwaUwTErsUVcLx)%M+*fm@4!a z(=KTK662J`z^9S9BpC}w-S2fJDggo0Mag!(%h7bKRBZQ~i3;oHiHioUZHObTlweASRh948-9wzhm5% zU=Tc&F^fZKhFKgHc*jwGuPeADeXlkKZ*;1R^IK%Gl%UF4{e>L_7gl$)q@4wOB8k(4 z@2gw{6swac5$kaIj&{F(*X%|m8ddJ+wn!4@$^sOyi3FUT%YGK7S%^sle4u2a;a=2dCq5>r21~hOMm?Gty2*tpjtyed5bGo>FNjVW@lHgn< zRB$fus|8|WBdLDfldB%clD9xf4Zsw$>?GrH_&t1H3MrlnS-F({IVxdRsd^fUbz*$N zRS-h8knD7(+EcS;&32FqxVytxFS-UdK|9i)4Q<@unDS@l+gZ;So>!Xbs2;*@`j1-cS+CWXYsCxXT4&p##ZfV99FZ_i+92IpZ};gPD5lxa2)PHG8t_} zu?U>YJQUa~l;ewO_d=iPn5cYN7xuAkja?(_8rNltqpV0S_gGgsDpDGCu=b)g_BXX? zs4;)Y<=|CtNzzRY*u~j^w_JhoOSY0xSDqO94{cM7kVd*OmE&2wr2)Z6AhN$?rtoyb zYs)q0#7+=%CIq{F_ZKfczb@YjG;M^?e?OyZrL>ByAaOX$*DFv z9scGK>4cmvDs=D^U)PNndVkcExUjbB^eKASv>ulz{b}1)9iOybmlkuGNNL*6@j-R@ z`Oc8p?$~&jMI@zX>lxDFn5K@VSkY(Ehmxjl`n&Ku*l!KX)RZ7R2fW24bpplhgOtznZ1GIctVAA|!qJI;=)iqSO(~z6`0a|!?NI?tSEL&xucn3A!F8t^#g&*twVknz8he4nUNY`EEq(c2Bi6(v zHGFN#>^N$Mt14C!h()G*MHQ5~t9VL@v#bqb<9B}76nodImh9@TE7xha(`Y5He_wA; zx*j?mmQ?k*njOh@u6kk`$l1~FLYmOd@JRWG7sV)b7e7NmJAA%@%jg9^jdG@;BvN_t zf?Sg8dMe|f1|Xmv0J8!m75HcdTn0;R27FYuDDM1Sn1F8Dvs7TKf=g;3)AGGD4^g1( zB#Rj#PV2woq2?NHz?8=KO#D~ZO)usXr%mAwL`9Aw_N4q{<>nmjBj#Qg4`4Njq)w;ij8;ax6|mDTz{!E zzFj4(9C#?iG!#qemV9b>u`9{T!l>1vuBelGK%Twa_;os@j7C%-o4bZBp%&dX+ z@SgNt>a!#Dv5KEgSii=*gjYgOPJ0)VUU(PNlU2n$3sXdB5l>mX%OZD_gKIHaCH}Hj zB~d@pE+_Bx^)d5azU#Vqw9BLS>Nk3x?Vh*Ab59Ca$m|b4%bRtbkeVKzJ}MaR$bZ}!mfU&Y_&gvQaiD!<8>-yYvC|Ar^ayYAo7lw0Y+aIU;gi0~?} zn@9kSWEd@yo=T#Wk1T#yNF(SBDIr2636lhysMyco`2WH5Q^_dR<+xR=9we8+OM?QE zuTbKeLS&mPa}Ib@G)9rqC^l7^MKjsEL{d&pwz)o0@NF8%c0xk!c7Ojsl1i0z5I@`D zJu6dFZH~>OTp_KYb2R;W*QZ+x&-8~Ka7l4G_QCHR==m4NC3VF^?eJaQ#fQQHVOD^8 z;BqOMCMvn4A|j@FlWTBET`!i8Y&tV8slZ3m;*xll28rS=+GXu++Vvq$dsoIsIu5Tv=@L^e$z?<~t+teVDI)^1E+ACJWiF=ib|g!(5y$;*Myym0ezVM( z@R7EUX8ipE9|1)(J{y6%y}pZ79{J+gnekCkek|YRG(n2!Gm|~ML2p|0wgXOfI?@p( zJIpprT}VXWcELcL#XhKLa#AbS_WaF1bdFNyk_=%HLe06H=n&6Z@1YC4?Ttkir;qAz z;x6Ryu4S2>)AmGdbIqtE}CayQ3%>n37?iYO$wG!ML z66eLw5=v;kE9Q6Ed#AlC*tHGyv76duj>6Cw-t^wDP8rm9rluRq&{+geLfB1KjfbJ1TEZOTjcUa z7cKR*yhWa^ixbyNl>70Px{V#yw;a-s!xtou7w?j`^8psDxA1J8b~d8zdORm{Qj%n& z!>!}r+=r3(Y1U711^He0uA9d@tB`g^l69cY^(fRn8Nw=vnz$wy;*cGnGUtON)R!Yk zI^`_2sT{kfHJ7QFh05PSuuN?Jj`lm2ze#K*B(X!(p;*3si?h$^hD*Z810(06Zy^h$CA%G14Zbz`oS8i z)LN^?E_(C|i))e!lIsNE4#M8u2>D-cT9fZ+Y5(E)hz$#2ChmRY<&E)n{Wn&78_mE>I+vrNZI&3DDvc$ZJoa$A6xWiaXPBCSal;0&a zVQd0y<&YYU@eu(l2|fzIWzhi@#sL2&uoZvnyCk=SB;-@9#NESlOaO%Jd2*I$m2sRP zJ}D<++)2m~z(4Iu#W>spijoASD%OyvLY~#NC$VljW2=r}tMXe>s*6BL@|4V8;4S}egCk-bE2N3S3`>7#cP9J#29mo?N;fl5@uRd?+481A-SvAW-P_Pi zJAgG*f<3o`XB&_1;9c%T#zSSL*rn%Zx;?`Pao*AC}2YU*fOKaj@i>M-EX z28tLe#j*rDcSmECoc)&lJuI8*bKFD&gnWmgU#F6(7C4h}e55|dHpube8uLQ(XS^Pv z4>7j#L9a4pkighEr2e#U^+9JDwM@G4`=_?2cjlvDYzFcxISe&cjWv_&EdOI~j2c}+ zIq72bcGSJpQ!Ls>n(dgYZ&`;b^-ssC z?OB>d^Q27cD{tO|;;$Hp2tSFNv7C^(ReQ=cB3!HvMAVhOE}ELQQFb0UT z)Nw6mBuW=**SAMqdu;xa6}xE2q)u7+*{|Gu45Lp0^@jpfWSpp=cJpa2Y$P&-7cS-5zHkU-Cygp{x8I zeebkV&4$kSa>$bXMS&?-U=xCqG~YHdtDLa)oG89 zk8Bzn*|K^4V_|Au&#Xm3cVZL4W{NR;y6Ot7TJ?ZjhivkCIE;`N2@{QP8JIP1$?k{L zTc4R(#u%6IIKxrWOstLT#)8@ba+Le1IX!3SK?rPXIO!aT4bc*9W#;=_W5t#wD~8LE z5dRJ{idCUVTp1W9MFcsYvNU6X390bw^L0ly3l+TF=D|vz4FC`=VT^p#x zVr*<(u;$BaM6t!(N>g-{6`hoZUK0YP=mwo44KS7e=4O)qf=FB=Xc5y)ew)f=wOJAR zkZdMo)veEBAA_Z#$0E_UUq!cmLYEf>xe3)lclKEbINDVI}g7KNh)k}tSf z&3Z`Wx&&L5a-2=?K+QKub8YM#Ss!XxNtEB>@$d1io&@*St-5n!Y-HBl<*wB)xuP`m zvJt)Qb(UuIEBUs?UG3WA1A{}$_d1dZ$WF9m?Rr`!VIpA3@b$`s7TF?+Dvyl#uY7Juy-Rn@kU}%IqHZZ#) zr=AEF0_xOklv{u^3xUUN!B!RPLq|%Bm^=!0Dm?1OW1mmBmTo|)cKQW^$cp>P$X$)> zfE!r;4HtD$f2^^H5c+QI2rJikc@J!BRKE!(^6Yz=LEQk9?vT6aTXOYcr>Qjil}+S?69e zc@z4ajUZA(jMtT&2%@L*`n*_VZs=Kc7)Pg8T|T*ld)!CaZ_6d)I8YG?JfVY}_!RPq zBiu`RF0s0UoSvW?kB8@21%KZ^EKrq+$Wlxm&mKm2z(L@jC#f#+($wj*BgVe z9ZD7+oG^8zoSmrdG#ff02}yu#;(O8!?e=(Qa{JWywq5o)wtrym!niLQy2 zYI<8vC@C5Y&qavsu~vKgZu_0UTeJ;zkm|$S7i4|gTzh)ml&s>KSUeI{hBGe9m<2D) z(8+XY*Q@zdVna>c_qj$Cs2ux zfB{RCsy(k=tMylWpLtZ)2uw=WDc#Hutm0XhSbsXP1XWlZiO0edmVF7C5nr?Yigd;iYKu0-o zq~IEBMo_ZN){682bQE^SnoK0sU7?9nL=pghYI@8phI4PKYnCz^!j#VE);h&Cv4Lxx ztpU=&2bm27Br0T_$mkqYk$X(Bq1s2WfU1(B0WQw2K18=^Ko$>Nxox;qEs!t~4szMJ zqp9h6eM!lmh+W~bOk1`ItAaDW0a0(IWP(}9mj z;8#9%IVfh~1af4jq41_E7YwNX~u8NUdU*MWumY5k2G3t}5yn$qGV}qAU{_fpW>* z5ue4XQ>3 zj;X7dWtAab(-p#KV5LP(F@ebyN$0ok-i`+|lMx)V23bmGP3S9(bWuZIudoYXslW$;SU`dI*a>nBj*2tTS)OWoDL?=n5uCW0Y264JBpc``8!qMm zl~k$Fmxj1Wv4v=hpmK-6SNL3xH;yb7R0W(R8Az}SO9GL+ju0F#s~$F5eMOzruwjGh zb?#@iAt8>uYd5GE6`EdhUx^lVs# zQSnaf!Y>&$nr+~U4uqRfhI$_OV;p51ii~{&E=WPp%F)z+=3aKMGl-Cuj zRIVBPt+K^YCitx#QFR5xy32^ro)TUuC>AK0U@BeUS=cbogfmyU5&_ajUgL_;GPFn$ zN5E;PRIUpY86!^&06|wxH+%p=O3N&r_2sVPq zsgf3eycT&R0V%*o*;gJMW{n3N6eo9#1wKL#8$ROs>46tCc-k|_5z~kWp$syg1z{;B z4N^}{>ns?@@C%QckSc-^1b48Q6q*j@hy=vhmgHQ3ZHKs=p zz6q>rwN2!otO3dZVrSP$8J~<_j03XOD-@#11xdFq_&EbFEN=15iFuIydUzQ`Sj@u7 zLE08Lh}2jW8R)z(wxni@iLy-;0j>a6oU#KUON7EL5EYGE{S~uG8W#8?P;vG9sKiIj zjSUqmDQX+RDz7;G$e7L!j2@SZO&*oNVCb7Wi2V z3F=IczoI5sx0qhY^PaF{<4i;mc!gND}739*5>5 z$_dPBvFDtek12ht_<{(>lL!Lx;%|a~&0_>7#(RzZDW_$#HrO8uXQx*D9tUblHlKCgwk7}XER;wil8bVtv(5MOd zR0#*f%raM1Y@>|@rxuOHXMd|qE)P@)GqU!;!JVpHkTkTUhIQH0e;1=fsL(82fS;oJ zj7;}ZF(b1E$k(NQ9@{4MIud&2V<-5tefwyq-Imo(ka6{Aa$<6PYz#dRqbqhUq%IrT zJ_3*fpN-k@M7p~0muTolB|=Cq9jQ0OSBMFK95GW#Fsi*!IS~(R%)kTki1h;_mvqa- zNV4yicW#PfR-Qv5Cov@yQ9U4=^LM zu+q|vW8`+4f{gzhjaTW3J1d^>cukB)YDIm$i4CyE6yI(}6e-v9s*07*na zR6fzJcMB><#;lnn!`wce25yoxUO_Q!y(YJ9-$oj301O7{FVao%j^QKKXu^b4lC)EB z0C$bt->NF*<06bR3GOEkd<3EHMVnSNiwAK4JqAI+>C7qH2d;1=0K@VttAb&65I8Vp zaFS5cRKNfGzpM8U6?p?{95uRe(XI!oI?o~VCPz$c3165#pZV^^#~paEz#bsF5FGh} zNujAudwg=dr_O6tU;o}E-(9+Vmmgks>D)PU+f!4Q{_y*E+ZY51apzrk?7d>|zW#nmHhSOv_uhNoz3ED-Mp{GPy!e|d_F2*2+dn)! z{H^bN`--1jkzRM*b=N-e{_24J4=5$$*x2}YzyIA`cikt9h`L#d2Zgh0}qD4#6yEbnbzU2GgJLrIeCZ{Gxwr{`t?z`^()!oZ?Sw1y6 z`OrfTrW)?I-~OVX+wJy4k39Iq<4@jv^G$2ltl2iQeSCcM_B-!PMeVZ7E)oHB-A{j( zB*NlFi_?3z3~#yQ(o0gsdV6|h98(EbUwieBe*EJ{AA9tkd+)ve`Wv2GzkZ*+_mv>G z(b4fse(?R>cG-1sa3GE6uhLN5ci;Z|?Ux4n$tRw?`nqdczO`V%{4|bNU32yL*yz%w z%b#7h=D~*_Uc2_$XV$Dq;&a}-dBfYbUGn`)4?6I`R(&ie?35%;Zo1{x<;#|}da5nM z!dFEw|m4{=4axTW-JO&I9(_ zZ(wjx^jumeH{Wt|Z(q-xS+j-v=yci-Kl0cUt5&al_SvV`u1#xe&Yaml|K-i8dl$@~ zpETuYQi*BsrY7pWzn$=%OD@@a#a_LAy>@`b#7ycQ3tk?%bg{v*$eg z=wnZ;UcGkhx@Xp|8SI}mHZgJOWtShY@BZnfifDvc*Vry3(sK=cfONX#3w-3&QwAhK z${%?``d~d?oSfk!;oTC8U#Sn2N}f~?j{;%{npFXuqbdQ3NerC8Z)EuSp1!%p?ijHm zrwX;3m$cjv7q9&*?#4n7opqY^Y*=|oRGwd$su zfBB9J--+uQ!=4`4HZqdx|DJcg$Dj~^hSp_lbnK41Zhysb$LC0b;xjQZ_RC-X@?96b zbN>8=^2WRFzAH_^v(9>*;Kroqw~ua5z5LKa4{Y4LX>@c%`u*}BUw-saN5AW$cZm>r z@WBVKxbnvrTySBOC^AW(9OG42{Uoi2-}=q>EnU1M-FD;8Z#evAN9=zZexA z<3GIYhl>_1TDV{#G=U6ZC4xBYzWZ+6-yMvU;_&ocFQ>8bB;6i*;K3x4CMTw-m`_hV z^Yq3I8-MS2-p>?LedT+XT=MiYtM}e(h3LA`kPTzf8wcUo*Eb!NM+vl;DdMG zamSfwoN?`S*KQvjIqJxxF!4Oyea}5ZbB7K&_@J%BTW`DTj(zsoOZ6&i^8oEX)owrW zk3QDdKTykP#_v_-cimfZZy+jUp9&f>G{)@|IhIlbcPr=OZNIQW{nWafsHXGsmYvzjyYzZJ@*U}U91s??Wy*C4?TF&@y90t zl&;Jg7}(Cpv|ykz6U6n01*fsv>ff}@bb;f8BBDtRrNDa})u?r9<%z+pQxhpPyEq4p zMNo!FaFF0!#z!ohFtTg_3(l=^oEiV>Dur7Yr*+qR+~gyofwL({!+c5Pa2-P^5~Qmy zOje9@NtS=_`fE=*{K)TKf9>J>?%&_n7c((~cxC-}A7?fuwvkZQ96%Va=x!`g;2l4Ef%rmmGfB;mejRTebShyYIQ{bt})7 zl0)b`^5{cr);_!KmBUf&ILP9-XyL+#AAKmHr@_I&1V+}Zd1hA9qJblNMY4prb?cU` zTelr>zyXgv_Q;aOi zlI)bPedBBGj-(2UQ&Uq*zfJn3iGx9@-O!B*9pGkeynPk!~o z4?dKTSb98FFHN}wq!ZBi>Gjtie9%D?0ThfAA zy?S+8R|g$@kWw5JEW)U&mM&eIB-Uk@U$)X?S?XHG?XzOVK6~$-Dwja;tQsnUGqUZk>Hc)(xMPn= zH}CiKK2NM#wdbCDfJl(J91uB?w~%O0dayGsuuD3ll07wd&YZ!)epzd&2~v{aDOsu{ zE4=a&^@g-FBqtlBm0$7t2gfA7fAflFD+kw6f_y8BQ}5Q`y6IsJh~zXw3UaDUd@fF! zmau*vogM@qh0vlL^CL^1bhD*zi2P;)L|iEnBwS ze9JBAu1;qvH6WP`haGy@>&|+;^i*O@HgDRL%ni{18#ZkC<~J{X^{ZdAVz0e~-&uLa z%A^|~f8w#V>z>_f#a_oBe?mgXfo^r~m$wW#Ik57#M^k>(dc;X2^y5h%YtvqY?tl4iq?=3&M z@`}h1;OeWd-h0K0)S|1exq9WwmD@)~lW0qwn_Bnmv+I8A*MBQv<{w>g`D1l$Qx6P3 z_4L!p_!3uZ5@fsYy35HYot&!qjf*c{zkXe+)OqKecjS>rB>jB#)z_qw(^J=6d(Fx- z&m0{cOKS#RZ6=uq2WI`+yMJxVmd&eHtx90(l_#7yfBrlf;v@^My!xv1&OPs@TW+2+ zd+xC>Kf1T4_3U%&66#8bZq96$iLIWg#BWWsp&7^mZtK~x+its^ch0$+hPV9S2R~4r zqDCd@?dzZ4uCv?eDGlhADj%anw*K@mp9#Z=iPT*c)?qretONnedQ}}Jp1fq-X;p{o8S6QLZ)e; z+f$vRjy%FVSwUk9l0}{j)s<(SkyhjA`1mE4UiR9PPug>jJ!&g^cxynebU%OY++_Xj zvF9EMSbh8Zm%jR>S0FKgGCeC`&Z`@cH z_^K0*-)ql3NPRP2x1%b4!E)q;tH!&*k7+(H)t4M`A^~A!ILl%wz&BA;#zt{NB;5yN z-VEJm<77P}5*+dfbuew@3V$>jO?pmu6yJ2KfP!X5x%_|{V40pS@s8g1vc309L-ni2 z9$9(Z3F&*^U3W`B36BKxzu+)+LqY;llCnDKgjfCS`k$uzlj42Fv9IWa&YZckcUitm ze{bJoPb8QP+>su6;DP(*&!3;TniEfWWttz!l)2!7w+;5!`Xt#V-}~No)~#Pp(>}+( z{MaPLo_%(0T423>eQDJ_^x#7YI7nk3ee}^yn-Vu1_St7YY0>D&*zLF9zHq^UefQf> zkWP9$@ldZg_PC`>mZYbid+xd2ciUZrs%PZ9apR`j@4EehH=i%#wC_Iqp7_d>TCGa( z$W>Qeb>IO99(mM}2Oo6E<4-&uWKJ;{Ob8`W8wqYCd0Ja)t5z>syhw&&_T0IN+rIsd zJC-h8vhKO(UVik;(^5>hCapB?YjH@_di%u{~=ud zqsx1Gdrx`oDLt(!5lo4OTexr$I-cX**RET8=?{J|HPt2^<{N+U^Yk-uI;Xz&l8KjgrJ_t|@&U)*$44F`D06PW7h>q}Tt_8nC1$rB)bdd=DdtkScC1B0i&=G8yA z?D8al{@bs;C#{%+4?bwO-FE%SHCOMk`|d}x40`uFFIte~V9XJKQJaw*OxN9b!}8_J z7cW|vL}Z$ir@Z>)@Yq#ndD%q`NH}0FL?7C)17<2{cR!SLygis z4?X;FLgMi4@Cs80w^v?T?FL!BY+Wu|IRCA0Jh#8U&n#}?MtzZLMo_9RVkVupIImh0 z1dXlpEx|;3pi8i))RTyVm7HFYaG~S}OboY2B$P7CvInrTwB;s=6nVirpZyPf9tJ_) zIE{idf}<6)6AEI^f+iplL$=*u|2gHi^!mHbJnNljob}o7T>SB`e<)v8f^I`Jn~#TfIH$dQxbKG5OhzKPAd` z9NPu;Do&hnB5vRErnh|aTi;l;Xz`MzOH{bkotGHUw_Wh|0dF4Amx!y9TFB+&$0hqt8r4?E=0 ziOH!~p7_eyvuC~G>~qqa6Ck?nj@y!p@hG{nA=U3XnRG#7a!-ukO8jbZqR}pKU$r$Rm?r zO=2Z6O}E^B+gWFxk$C9ccHJd$v{EC{tD_U6o40J)Hawh2nKzyLMxdmEpuFnZYi7@x zb>^w3f9>LL-hAur`|Y!DvOtrj>FKRbJpTB_iylvoR2lsw)Dj*{Bml4Ac=%z5z3kA# zWN4>C8#`1r;%Tov(`OHOxWP{u;Thlcj{3~4@YCQI5Nuv`^Zk3(1_+0SmiV##6={= zLW~7!!Z=7IPDL&n_p95eM%>5!FoDbB{$woWhNwNgQXnqXM5$tb20`&d7ng z(NIgB0qK8NzT)`zedd#2Sb4Ux`jK*oL2wbaTOwi(J@oL^Pd$~a<-PXY`^hJtkSYnU zv}x0Z#S0gmb=KJ;DDS-U&S#!^=7__Oyzl<|ZoT#93opDVt<1N+<@{vhBtjZ(Qy*}e zUf=k}*Z1H5fWcXV^75xvuTHGf>yzD=mi?v;7hn91vsS+TRj)d^CK2zy_Xj`t;YDwM z$H2hgPk;8)YO*6n?&fkbL*uS zao%}vUb1L$!W2LM#f^_V`skb9cwVYQ>ZNC&eeN}{ezoYU1q&7k&jJ|B)qG~{+Q)Ca zao)Tk9?+O3@oA@?vcm0^=3FZI%B!zD@4PoHUa&B&uAl$n7s<2srt{te2||?0zw(-^ zj;{G>#OdC4=j|&`KVz@G_DVIs^15r2yXo~S&+6|V7~VSk{Y!sv7RS;v1f=HAH?e-P1wgDe>@RMXPkC=()kyj zfBr9TzIl9n%%MI$8G$$7e9I}XIeBP)vfV-=<1f47#|IsB;N--3vRt+&=~>e{6A7d& zUb2`o^A~&QLU`(_XRiO{jSBN?DYIeI#`j$G&IDVqzX9?35yv{#$KkY=E?s=tkAEb= zB1zLEdQOyXdg<3L{?7jU?Yr{y(~>|J3Fy?nEUT`sukQ`7Tlu3aezIZHrj=)$zG%Us zr1m)ESVGZLA(P+v!DYQYJu)j&<@efs_f*O;M;x(b>+ln+o=hO~@Iwz?Ff{*xhaMuf zVv=IM>bjpMZN2L*yCjEZUv2x7#G@tQm{f07AN(Z8TO!U&_Z~`|m&F#a9f#C_;yX6{ z(ouxvLdYrWI=Tyz#0O`o><}NvYguwO)Lf*Oya?dii$gRGABoSztE>oup%6_?CWU3{ z%0KP2TXFaqsV+H>BeP|?W4@rEA&(?@PFLZ6yYBvl-~Xe1cilbJ=|?yH{EL@<_wrAE z7WX5STwPA0AzpsWF_3W?3`O-Rkoln;1akfR&_fS7^pHcOdI^lY_08vR+OnDSm}!ee z>gnk{{D>nL%$p}yda9mh*R2%|kfwgCr?+;skW047(k081GbD+C9+@uENp%%8Sc||k zPfkug{@CM*7~=iCF#)vxzWzk_$U{fG?1&>?b~wCBiY1-K+C}J-WLHk47aelw!HK>} zcN}rVQE73GZ6E8K-oY2kStXcDhlEc*{3v2l<%h#+~!;l+&o7^eMPk-F8$LcVI z$DVu~HU+r^pmyD5S0?Q1QCqlpVe(O?iuLxkPI=91Pkqg6qeX{<;qWg@K<2Q+45sjZ zGXD^^xbMDur~gv*QaQ<_I^{L5-ZDH4RLdGZ{Wmw&X->VlGCAN|9Fsj~?!5QD^PQBv z#=?o-`93cm=a5ByRX0Zj8jf2t|z)`nCH10ADj5n*S>M+ z!3VzPq!T4VTJkysjZqRNMC1{B;F&iYJ%nCnP5`QfjUu>!pGgTRG!tMmwhwY3( zlhTUoSii{{I$)0#>8WpDchxtpx$+)Ss zd+n(gfBWL3@ROomx@_6&&wgFPQ>hxe?Xv6L_x|eM`|q{2l%QOaK}jQ}XVdquzxOvR z!Z6uH@8&RtBqXKbI=YfGtY%yK`v;Z7gNHlOWUo2-)!+Kgx3_HGoVqR%MrXZlB!*1`_5O=+j7;Xh$gTJWPe;wz-F>5aR8r8BNy0(=<=kx#Y1$Fz->^ZY5lKn0+U$8i0?fMu@!Vx@z z`Wc|B>zCDWd8y>|)?}vbxyNo^V7EkOjnN@iCj zyV#tuIUEy!JW%zKnF)8pdgAjQ6V$SGns#`_A zp698(0|USN8~@E|4k_7%52+C?Qxbc=SRQ#zWE_x-O7V*^L>V7dc}%@8@llQVB*MUB z3nE*EUXH5Q-pf5Ney|819DDtZp_BdR-2Fg7;+f#N>Y%vltdb8pZwaD8jCRgPnA-5j zfybW9+91XvA}PxSTrUzKbHA^8_St{B?7NSzUGt__z4n4r&WMdY3fT-SIjZJ$5IRIf zbU;LmDZ-5lf1h%J`7&Ux@^HrOlg2>lW)w1qD3!57c~7&FZVt9?%vqLDN7Kn_3pn+c zqdu|WoXq=LoR*`pIWykheAwY3MIUHZv=b7kcu+f0cmh})<*r(a4V=9?o~R$X?ij|U*w;R)^=~XgzP#JGx0w{nV*QFE0dwqIUC60EdUYut)a{( zNr9{#xdBdg@Z)kbpQLZmXzq>R?nTA1^BSh*)+8e(_4o%;`63fr(30U78?$`Y zeE@PdbH7f=<`Hyb)2qdWf5Y43a(#y4wq>Ai!BlY_W4FLFSn{qhzRb$Eh59 z#rN0$!k#r}U~hyN>4s%wyei4tC40oYGd~*HK4Ii_A;c** zSWBICF_vtm%ek4vX9qom5ybMaeTYtDresda{KuXr^^}PN(Dt%nkBFZ9AbDv*%M#JT zF^)}Z^%2v8kHF%?)~h6iofwnq?+;}jULmO&yuo0FTN9Lt>hXk%9nO%qg~bmh-;;6y}O)iA?Ck`*`AM4GS@{39)cY#=^ALMfiFZS*L_kL zud4T^;~&rI${$cIkoF`o*Sp3M~@WOp{6wNip&l}ZP5y|4=xvYT>45oC3i%S zF_74VSl}`pY*~F;Tf?L=cNBj#LK16O$0!FQ@V}m4^Kjps<)kQyL)9>Az3j16`IG^v zt0PyGN%E@nPA#HX;3E_ext_ACHcIZ`mg`$B1Ka=r z5CBO;K~$jrHSZf-ZJq_5prS}?#Fy&t^(-^5W{S>UTQ4CXueRBJhH#yxGYfh3VV6HU zQL?0vu@e(W0}+AKC0>aep+*og9PqO)7F+HmN4Nk1g54mQs$9<5QaR15!w3j*Sc2n% zG05JegeF*bPLCcaH;37lW1=jVu+&3PL*Dkw_#*$mtWweWzL9e?U*{~ku2fxFBAB?# z*QHm?d!qR+ijtAhLWOqmGDW|Xv$BzyTZNUR+D7yM@8(CRU{}3K5P9CpAu@gFaVCsv z@Y0wj)o%tw?SDM;)xO9Zhx_Zg6grlqI~>~UW6q;sk*~^GI79%8_6?dR8(@(av4`B0 z%Ra`uF9~g|8(wLaK7v((2dbF!1Y)}I?61_=x9nV`5qAVTi0vH*pJNp@sf^s?C4-v8 z+BlGA5QU2|>z|A>Y~I*Dhi%`JBbg89s^;M5@cN%hC_N znUjG1;$pn!y=Eu}x%4F3+wyq@nNE;sx`Rw+wF|{48#2nv6~ss`oA4nam1izLG( z*M;K`$lGI9Jg>x9mmAHm@d4|j#I%C9?vDOT*w){00M96uONadH< z)g(Stu{pH8jx4VuDc*^S-J+}|Gi%XJq5uR**}J$yEUwJvqBEH&2+LW%$EbNAQBldM z40)6hBU+RhZYdu*ym1RDxDSLp6L>kW{SO**38}zb;2<2gw`)QiIo+*r%b= zJnIxRrxmYN%WuV?O;(*CO0W4d30PSAjXh1iYKcU)tq-K!Xwd9;f*UMDR*r83qBPqR z2vqX_IrYtP<}zSgdN zvi(H1pU$y6&W?K5*!o)asZ<44Fd-xo!6vRk{TyK8bYWzkAJ3w93Ar5#8vNE7l zNFU@I0+Q0dx}5ul)XRXUl#e8=Pgp>b+eE~ItTYY&0+tkQ zYfTW4cr$`hie7Y9%vpn#tBR$!B<~tw=;Jj4n{$N8cb!$Tm3c9FwqRzlcJwR>$Z?(p zf#BV;J1uvF!`X*`n% zPArowk0LeauG$g7n!2tsXG}lrf*k zMA|1j+>*J1&=1bMjFyd*kh57m*&G&{~6lPUHKsqox1wI1v z4Fn`uBdBZ=hA8JGbmE7zjM}2}jrk(5KSBIBkhak>?Q1^Ch=^gYbC~^KgglKhWBGQK zhAIIa%s9&@nNhaGYUgsCNjT7mj(NHK99tk{V0qW z$3rglZV2+O$oFWiazIT`+mg)JK`A;?##dK$hJY#{wIS^joM!%EG($H0x_{;qea4QKrtwO$>)yb>s)7#6X}Eco3zz}$h_*EV6P`Ln7roV zLH(U(^YX|>7(#*XN+hNE2J5Vec(G!TtV>EQO^E3i3rp4^m_*azkiJTB31dn?H=0o! zSsz(Uc`#X7qmb<>x2Ox96;UG?y7O&|3^EQ2+FLT)yA0;MuIixHC^hhr=rba$Jw4YX zX8e*{;go^m$)g;TX&NqH;zfzdRAu$(@?o&S72bLR9IU{WNUV>XE>&j*fvgOO`j8V( zg)eh@dIF?dk*1Nrm_X_oo2FOIgI@c$|;pt~Bl27N75j{~-9c*G3n8&Z||7v*JSu24OhZ#sT~Ji?^bfeh-KbIK5r z)=(l+o%RW3yyIXCglTF5BWQWJT|`!6Md@glLl7)Td_&+qfajKK8b6h-W}bwI(;?e! zz^p3av^AL(g6Azeov|1aLlh93BTSIfjM|cE482XtR`80#xh5L%6p=m`5=6aVSmEOT z22X)Llszayl4sp!_{cbHo~8l$%rq9s_HFSwh-7ER2~V%F-9%OgFDe~*8Z!=ZY|%Tz zn@;1fJjvedpre`DNzE>TthT!Nj6ViXWQ=M?1L*lEJzV1~GPzuwYgC!11^7s2n(?jd z)Kt8~^Q52(6(0rmaXXVCz*E3SuAU-M%q^UN0JhXQM0jV6%(ZH<#!}}d=`bk?g2^h> zjMKWvBCMMo6xYB8H&(@4CKOZ01k{tSlj#J?Iqs-13CRJ4TKs|(<3taL7|G|Li7bug zHM3Q1$V*==3{kWbLDZ5G>%guMmAC+iMy+2*s(V?@Wu^dclzhYRd|A$8bh3wh@l@cT z2mt1IwmCa{j(`(Q;=^L49K9s^M=`c(U~Mkh%q!NI%o1n(f|Nt0{B6iYB4@EM&cQwk z**`6VDJx%dHtXIIf}gPh*BkWIFp`}O%Bn^38*K|IkPxQd_=$|_$IW% z6>K`taS%tZAS{WcBrqw=!&E%?#J}T6nO)xNU$n~^VyzIp=`gQUs#ciWf*Q!AfJeAZ z@LXB-0s$#r^CtX6G-S2x9JHve zG({*tJtkl5dNfG^O-LE`2n$fGB`Rc4Xs$8f6s>1y?CppyKc%~73S2`9*}7tpRMPn! z#UgP7qDIP4UcG`7ac)|{9A#_??1M^$lyRcJz5AM5&h3EM?#dgYgt%i?J+j^{D!j42p zLj|4se5|XkQp1wWJ;1I(yNIlxwKpo|-GIA;W&(k46!R8VD&rUNTFRs-JZow_LH@#f zV|=I~9kD8ToP_$0inDkmym5lU&}FMF6xs{1@`!to8B4%NUJzmh512(5VO%Q0dK3;$ z+4MSbK59AN#E*=bL;+x1Bdb@s1Tk8kz%_s<%bGq10I7Nm?xAAW&% z4P0Z()bc%QmU3r*jE3P03FxNBA~j@4)R_vS(wS{v#3F&MP<;ZKW+&?D{g5uQW_14q zUc`2RV_Syc%O@&28gc?wk1sTVD670Pqv)lYmEb#}t5H26L!)9tv6#Fv(~NG2)G8PE zE9YH>JR)a2C}TRAUBVFQ$+XBDU0YN#2b`YBmi04RJ)vD^ysftdbf(0J&NGLme}LC$ zr=L82{5vg`Gzxuv{k2!y_!nsf;~-z0sZFl%it^umr!#)fePP3f&c;n)e2o6T&x`x` zfdMyvUTeX^-op+Sajy9WSeGm3;{+2#>~_+1#h;j^5R#KvR1)@zv8XMm-rzFn3ZOwp&;stn^h+RM&4p% zDOT}oI?Y?GHc?>@)}irc-MCClM>}^6_p2A2d`?Xzv3aPugnrm_4cr7+w3drFz8`lj8WDu#v7W=YWJjB)J~tNiS66B_V)Jm z4GxmVlnZZNxmJiBpHG6*EikFJozQ-A)%Z;}4Zi%i>X2Qlg$sS1YeDf{Q3tJOVG%b` zKdyuK(MD3&{kWbjWpWLVN;GX$bW>4+46NNBjcLl7m=qawm+!pqs=w1U70o~*wb2@F z%=b`OD+Wq~X9l(3#?T(nNp znNk+60MYJ`1@emMXp%ovK4Y$YgU$qJo~)pM5%C#|T2nFmo$j-X&;@GmN6Gq5NGXiK z9-?9i69LyyfpGDXyirZ-Y2|1(d&xQy)ZzdpEfP z0HA1jxJnGweY3RMQ)4aR6FTj!!y7tNQ-ibS@*C^F%D(nI07XxxPy4aQ+s`~R_tY~Y z<-Ve6|4{KVGs1JG8C3OIpHHhkq(gMmnuRfn)2=sVUva;#Whx|Q*~FrrZ7;(RRf=yPix>YcTm8SEPOR2AfrEMxe;#&Q4v z5CBO;K~&`>8dMHU3FK`eml>Ag?G%l*ijC{!)~|VN-BSoNSm=pSaxPtm$69ESTMxqMlC-} z-7*#ldwj_09ECgrr$8$B`G4)qKa)oUvs<`;?72hZgh7mEqnSJccN;ZB4Phe6UnBcp zDosvdULG=hr1jUmri#CuTo*1DdY*JT1l=d0*^Z=_H1jFrBhjc%*=5pbhR~TDuX?JX z1gUaP_ ztn<_pPjuF-t>sZBRUtKEp$QCk$W119u*_p2k94FM2$%#=B?c^GBE;oY=L(Il*Q3g# zl4a0xM1o@-lzoe}(5yd72McT>Q9VD-D;Z;RHTOR?zFk9G#=L@NzxLGBnNv?a?JSN= z_xCp62vA{<*iFqaY+#BGg%LxL7;LIbYrX1E2FLdQ2>+4B1J$e7lJ^izn>~(Pe ztRebOebR$VRvcXQ53YXbj!u1|875#P&6P>E+941cu}G+8-E?HPAl(7TjgJ zrFTj38gNR*r*7%F7kRie;yimHF^YmNHAacxFOwB6Zxp$v*Bw@V%pRP~tjSoM z3HeS;jt|XS;61qsD+Ki{k(VJ{^?d0{aOOpVT+lvOi72W2}*bs>@2YtEFdT{r8g zd?V#|nQb+#o`r>FLb&94%X?xWVRM;O!W5OBT4$dpU-$iUUVGZaO}9`-tYd0^%Ux-P#3H5ZW81bo^VmI0_BwQ6?tJ<`{tV7t znB>|sPux2`GE79~bJ1uES#64L8Zp+n?+n*?Z^GAj0iMs$Fy1gZJ~0Wrt6n}muO7Eet-F=?+;-ix36Tv`zn$2r}~hBM8%BeW)5WDy51 zyTC-M30{Ef1({nB&qCzPvI9PnI2WmxET3R8A~qI?MM4x}Dt~HXqQ8H()3jW+W~gXw zG#Td#{j7*mwQ0=#rhTqbi3}fM28;Kns`>_IO^lE6ZehVkJ_ASOOQMN;?;SkmxNdxe z+D*e9SS(oyxqMHf{@8tHv#G!lieD&epr{9C=*lnNo97-8mGx<0mS#PR>oMQ&9GT4O z#z(HGr{W_jKP5h*#{I_e6*mqZbCT&$tX?`H2dI+I(1Rm@x~pjO19PiSdz*&po|l#UWLzMgK*ggus{Web~nJPbXI$aE&p(#XL6i!#k7R z+EX$YcMyvdv$U0HdI!D1-Q^pxNQN2+$*MFKNnLehc*hkAS5_;Krp{F9c11eWg=^Tt z!V*(f#bF1zvzdpQG^ChJGfB+nY6${sov@?TdCSx2kV{Y?4S%zM!YT5W6A2?;?DLit z#pOthk|vXYY$ZJhq4q0x!c>dT&Yp%rRD+jY<(zB!NwX59%mnLB3kPJBCv?`UtUY{B zUtcG53Val_SrU&^_et2ep&AV7xrXbx%=F6CY)04NX>f)~FjFk#<(mL@*3RFA^1U6Spe!$a`O; z#sC}zK5|7()RrvqQEYyLj*SI_ELUSO(WNPV;lj9iGdbO7#`}8{rB}aIM5We7KzFpz zEj|SlD9Hf1O^B#9mhKmR)G}?`^-gn0j zO-IRGtjC~;MIyDq3HT){_BM+etHpck9NsPAR3}IIYem#OgVoH)K3Clnlo=&g@F_N{ zMDJBCi~NKZkhf_L9cRp!t^r@jCev4SrhRRmNFwYA*UGv)n{{U*693?ck9gbk}6>ad_g-iX}_@WyhnUql)FHaq5c&H8XbAd8Khaz>e^{OY^U~xyphQS`G)k7)#!AmSjI>8>B2{(z)vT? zVP2Q8Wv~AoC9`jOJRn-g*-CSh()9W$|0|Iyu zu;rbx-O=_91^ug@4B=GIV-)p%Q5e3+i;!7Q$v}eD?`-BHNca6$^gQA!1Wf zwsTJkCB__+#JnL7j*}>DW|49%C4nU+El1|=O#0L58gov!d^B-{eY)_Gcd8GluosF# zWrbLtvuKP>g~Vvwbj5ePTQ}!#v`=Pm3?G>a0IVUYxz-=}!Gqf>?hzlZ`UJD^^m+YJ z11!W+1{K34%P!*}GT2}xn_NbrE^}T5j$;pbRIuul#f$mbM){<2YDTQrRUP@Mi4VBa z-uCg4uC+3Yn_@pwz<{nbR8Rs0hUhNiVI3~f@DY-AYHVzLY}>4%h4laAGdQ$xbY$z) z$rZ>P>p`Y3@?BW$k|o6|lzYx8f&5K23lI&U z`I1Z?NnChv`BX*85-U0CNHbv6W!gTq`cq$s(g-Ktnci*S2vTu713qe~t5$^z2AEa5| zLYa-T#7C~teNEjC4Xg+#$K!SBZVgqA)5r*5C}sTs8R1qS&RwfnP>MJSvL)H%B_iVZ zQCqn)->+K1cj3F(;KdBxWT%BL(`npUF2#vbbA`A-pHQhy$rhz@=PJ#$n2e9CKXZEx z8CgMEzDYdi3TCR5rcHcAQS+2imRwW_I@yWkEmO8AMG4$iNh%7!lgk)R4Ft$dXSv5+ zSv=wbLg4eL0 zC`-LawuU8ETeBUJ_)?@U1wN9j1D1c*BcGJ*ywlxM#>5FXq@IB+9h_=WDo`zfS=ZG? zihv4_lAw@=?#@`xz$C;e75C&jGn!WRov~7|Sb4=eR5DOxd#&xB@*5F7Ue97IB!$^H zWDBY!#k15aTuCki4;|PnkIYAw+t;X%cy$EX6)zIo*~6H3+1j#I6OHVkraW@p^=$Ni zzTM0Qr+&ba<&b*}A30|k_;hSBa#<=y;gaeBibfDR2)szbK5AxLQ^&Yrc+2`;KHh#u zpH{22=bn3B{-evk`n9jhmD_K>WBc~)r=EK1=RW)QpZ#B-J^%dk$H&KSzvFg#DW9JH z*(1a2tx1l>inT84EJs9-Z+Hg`V0bTib1-&{3+q2uMfQ?%6uigis=ks4!yJ3vP#nTv zIR(W&Tj{7W#@H8`d@0XDue-yb0_yH>MozRh^IRyiR+Y<)CKgC~_@`$Sv_vF_pTwk0t`rcs!@;iW>Sk8<~2E zoUSdW_n5A7c}hpksYn?8A}qvM5*a$_Nh`nkTHKj^yOhT_Qs&VVgSc`6ck?n?(mA`K z*~A=UT~^3oBFb#sV|{KXAjGcz$uiygo{D%w(bg*2o6k1zkx?VgG)h*OB>qi_R<%6b z-T_V7U4%|>4u?Oeuq+Kr8JGY|CuA+8I&J&#=Kk69Xs4g||L*(GJmbutT=^Z_FVFx0 z5CBO;K~xiwN{bgQI_%Ix-**1nWc%gGC!L(WpMU;&dMTfQ+4DxXZ9zM<^^I60WtuD& zNoJ>r1JSx67JF0jDB9kRa-L;n9CYt~Lla6YQlxCxU@6IaBfRFqYpMoPMCR3YPyr_I zjcRokxFEtN!f(hCDjjHqQzF1gQ6pkQa~lR2>EKNyZpG%kb4yrjV1J_+5II zfl6K-ibnATGIEBG^t!WWV7*T8Pga&kA2GYsWQX+>rW zWr;?mZq{inZSlF;Hs1*N$VMk-I+O=cbA_1BC_Hg|1^JS27N)3Tj#<-Mnoh|ow&s!| z5|T-U>ckfv>9UA3o^sv^la~|YBUP*C#q6iO=p7fO?-KfAN}=Po{D$&V-MMcLM5qP|c+Ji9w-<7XtVt;N&$`7lu9{J*lgB zv!2QkRAg@WS4zM#&ptb+L4f*5=83!KiR#RBW%Fg1wugroz2ySx>x~l=&wuCQ*4&}_ zZ#cKn4H#QD_Q->qesuZb3*OeVT#4OIXm8yTJ8eTY(w5{IujbApuRz3x#H>}5Q#-&% z(d3cn7&4ilEFQYVVJ^$QcTz4AIk`#Kq1p}E3U@8aF2KC8fC7}T@wKj*QG0CL@W7lG zyOFI+D$)PZr+$C`ocZIU+j{$FL2~09chTXlkSt)%(wb@UnX#lAjQvMd$hpc&OzxW3 z_1m%|#{yZRPMEJ1av0^@)r^Le|Mq%k$XtWGtD|RB5IjM!bR?b#Qik-@3Ku(_z!{oC zW0pHtUuVxN%cE%1Ja%%vB#8`wKQ7~KrCzSd@P(emOD7(ADMmGMzI=gZto7E7NZUnTI7cU`eauvO)ZAm3%}*RSDTQi&sv1f7vZ=1J&H=`l}v zPp@-j9&3>WUb#up0ofxim_?)j|MseTgY0y1g%nd+28m+}N2Y+DDdLR%adsxE`Py}` zDMvGi53%C1T8gkNR=d)@Y=YoO={w1>ne#4DUgwHrsf0>E7R3DHyrDViAL+YQZkB9n zbt-U5QU3-$vdPMS4LE(oduuz-B}DFdV{l{FY|DL{>#w~^iV@2D`}g1fnU8-gU0-n4 z>*eC+A78%aQy<^$gMT4#vDx;5yGf$t+2_`O<=@*$Qt*qO`|`h~@8!SsJ63-Cx#yny z%D;!v?df-Ccw7Iz`_4N2sMx@fb!k0|79a4fOH%)DzUn8>{Ou>xmEAt@$Ma4<6NW;J zJxiA?efN7~dkWn?G_Nx``SeFW5+=t@{LGAxsKAD$y-ZYqn;a{EwFVq*5ZPrpXWg!b zOv^-F&=rGkQmaROH;9Xou9=$ZpW90>;xjfr_OJi?uNRzuL6S-jJ@nA8?)lZ1zw+gG zzw6y~$My82DKaoHkbbXUzy4d_{?>2)#&7iY_U)`VZbqx8XKZSU)I}&_!)pz7!oX

TxMsPs3(R0Vt*Am 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≻k#v05s-O9vz*!4=Cp7MO7TS~Wr` zKT_j_gM-rvh7=wlCX2Bpp*}&#Dk3NIONhu^|3~BTqlL)M1)`z>cnuQgO#{>H%>ka~ zi*JJ-qO63nRSqf*9nND_q~thX#)s_>+8H>8BdcpPz>1*+Sb`J{IGR@}=uCnpL_N3K z7SnofgCxuNP&3*d*X4uyenz1Kk3;#a?>ugk_)Xe2 zo=qjq|J}s=n9q)YMkmmfe-4%&I1Mc(J4T-=1qnum!vIg+M+PN{0B1fC8)j+Nn0tEe*}l6x?1@^_v83<^paLc$Xu7R?7g ztj*au%{ji?=>itrXedJOgQB!({f9Irq^F0cLI(5Z`W|*ojs9Oxm*;82(%rq_eSL!$EBctDj6K???3DD?>QW8Z*D#ujK(AB5iY}&V~94{1;>7zU7&La-OG!M z!4-gu#%v+0%P;TA^33?D>Aoj{nqO3Lda80$3Z_vjY6YYvwgykU-|WdT$RQ#k4p2}4 z7HE+GrT7^s#km;_|8HeNQgiVC!vbQYxe|n33R2W{bl$cU1ZS++NhM)aDCIJ^eFIFC zE$WLFAfccz9HIA&hdQ`cW)5!6dO-Z@!S^(qg~e?FJ_eDKSBLtkdO`z4!+(_D-A_Me zIQKHJ)_qO;AIPR89#V~?W|&4gY=z#BJEPNVhGp?`FIzY9CM53e8U;PSy(K;}(cc9W z6kNGoWO15~u4_46lTruu@8jj#Zg%=!@TSJREq;5ib8D$HY-#?JQ1q`3sG%v6-fliW1t4PC44!a}MTKJI0VWONFOEo@W_ zhF>)n%*ZwRd#9(Pn$StG6%RQdUicRmN8?!pew2jhd!%K4H|FwhFR#^lO_bflen28A za*dYtDkX`$>#G=hcQ8C=++I}GxNIs@{x9Kv3+53TuD;%0Z=ctE9=RNLAOsW})kerd zbAP)>r`eW($0*41RgPf-h_hm-p6C?&N5;k%naW2ju_Jo7g&PE~PQkKsO%JCV-~>m zF)=Zun?qiDo$mD|C9gn<8vwgri2pPofTVIbnmUZsBk!F6-_Ev^ecd!m?PdA#=1WQN zX=suiE`@nOLn1e-r<W;$Y*uzDsDaWp116@ag4u+y7#mdfjKoYy?$l6V@H$ni zBv;cr2BT8Q&R};aI5EfNHrRfN#1eS}rg@Way#36q46s2^$;^_(oOpdbANcM<$tDjV z%$N3ksC!fI?=PO$UBa8UA_my2M++jrW_9;_Pb*I>C&H(YwyG&LQs(>Gow*^_J1X&b=>Qn_gd`;&U{$ z)Y`tbL6Ny)u{im=FWzi8niibQ#vPm;O+1lU8;!4&JIO4iNgGKYJSjB7IRYm5uq|m| z_w3;~X;h3(Xaq>93?%Q_E-x>k2$1CEvcIcsDmkTd`;u-w-TvcJsT?4}SfCU5bXJ#N z9EDbYeR++jQCC%eer-~dans-`GT1d%0b5w$SV};3u&->8vCAqeRvgyL(o=$MaBQ$X zwc_M|U{@A>6Lj6RU_PS6_t5}|12NdYw!#Tu4!=BKaoClOz%*Mt8FtapG2zBqD=mIm zfpz%f=PN95&GYdz!G~x^V~Uh@@#~=U$mkR517tKf^vy1zD*2c1-{DS^Q45k@?U<>g zoOFllY2o3J!01K9B1{4t@t`~)HO1Z2lQ4=e>F2*on*#$o=v%!Ov+8pEq{P(Bq@+&Q zi44)uy{s&~uxfHF}JON%Wz|tpezBP5oHK% zXecH(jl+qOX8&L;1?2!!pM}Vi37wZC^SuUqY|l z(F0J&6xbrHF2-c@nN6ng*qoxr!TiO_@D$b;Ae12$6PNUG_h4NFr8N;Y{G3zZKe#;o z>+~c)qc*%JFF)MS#Y{yO68oDtO0tE$1px+c`|vbGNP%f;H^InJ32lYko@uH_j&$^KSHmssL?m&VFL_1sFK$g{b z(`Yw zEZ~kuhiTd)8;{TwyD-PE6kh@YM8eLA5rTIA!S7>&_~Hoqe&>;xfQLich0y~xv_JF- znuwx63Nr%(jeUFwATUv5#?dh_ZdOF^80i^%&{Sq;v11Nz9i5ydOi8+#iAp>}*s#05 za*?ZBC_uGVRt%i%e`<;IoVS*pb&`Y_24_&t%g;_4%2P(CU_AxVCeVbXh{YK01s4CB z{^yTJ=s7>JF~QEN4JM|6%=I(?j|tmnmbPUg|CeC>c=t$BN+JwIL?Z=Mz{>fHwjg={CTv=Y6YI;?j{--~aoU%^435@^-+|1Gv zGC!U%dukltEbFYwtn#W&J*$KTgV9^!aGA}P-4@+4FcZ**3R2+Zm{H@`7v=x7J+Fk{An&tEB#N%-8KP{~b9!02`wu*B1g`J}>ppMV9` z+FKy%>IGQylxiKbi7X8CZ^N1pgUO6P+rHafe(yv{%JbF#2(k+rwJ|Rh=?ip0lY=2G zD$^Gc58#v>ui19%v_x5Y3Q&g*3g&?ub+v!q#^UM%@!!3^AtM+iA&%3WHb`qMIr^8H z{S9x-8VAPvbtD>rYj?2mJG0??(8bmjHT5tu0vuFiadB}#|I$FsAceVkYVaM_w#4ij zlTK$+ov6i^qQzWPQkND?609ErtmESN%5wlUKl&#c9${b_4el)-Hm>K*ZgB12kBsBr z7^VjrwLkTk{YXZ>cEuwP$8(IegX4(Z#mHlYI6Li6W+P0;@&l5SQ`I$E?3NJPFm7_) z&sn_WM}rkO-H&L#!v7i-Ot@_dc(3Y7(8KD6GVLOgNGURaLD~tHag&`#Q zbPLY}CmNO{9D#hm?7eKSz{C_(rTaHxXCHD->^j5nm8cn0FZDdjo`60BXVSumXDuui*Ny+?^(GP9(uV9+7#vDy zX8Q!hXhwFb3&h9f%O4#3GK=3hB{US;a_4!shOtJc*;jU6ltd~Rlt#2LRK(}KeTAjua?BwY)7!0oOkdQDhF*~oY`$5ze*}JO`XOoPK zB6N5VR{ABB7|9x;SBxfRV0_CZ;a%ENl-&DO>#S@YP&f!#?v@p8IMEvoG2iFJ1$JX` zGja3Ykx{}hh7|Cr`f|e{KsN)OC~+`nb9D!}&o24BW^f`(e79xoK5yZNAss>0gjKQm zLJ07CLjCM7w7td44v+<(goJ~G#Z(G6 z83Mn<7lZ|2ci3O9ccIfjBS1Sj!ovKu@=Ad1pSBtN8v}NnJSz?qM^00|Z2#M693nQN zXn<&14LHv4@Ztx-f%(&Q(D1xW-#=Qf8C*J8k~g_u%#drQ*HbRG3rf|)HtHnL}us^#?qOa9{ju7 z09oAgvv(M`HXI&jnw9x8Pq}5m3LSp%Dm=gvF^COAyoA)(B7qCTUowjzo632I<)G8h~HY)3e6!*FT8~@{dIG((8J(cXs$U8JNZpN z`QF@RQUI@+I0O|ml`3C6V%YGG9vEwgFCiE@0&q({hHNw&|KrV6RR>r*ve_*Y!V-ii zm`&dIeqOHV0H>JwtELcp#9zJnHw zA|OjCT|O<~^1hz&3-<4I6jJ`yipr?}P2xA$?KJNVg!nM7vE-2V`%0;pL*H*u2=?Ux z64ITkmC_s|TV!S`4o-IOh8HKPiEo1WL%<+Suh-D8DrPi3&yS67NJZ+Gk{jIeH^-Tu zN>Bk^z#^6;P28si zCMeZ^$57gOa<7eGhKJpig_i5AJ;@a=MQTJY580|Ga5}K4zBIjkb!3gFaz&x&Q;9oB z44`v92wCEp^V%v#4H|1FJb@g13JInZ4gTa}q+QB|!D{&{c}tG6+nUfI+O}{sEi@px z&F+)&%a=Bu{r89hM$6T^V0;A5SK>diS%dTQj%}RvOcR@4&{)FoxTPZ=Qi@bZOdYRd z)hmD-^3@R3)RI%rStov%QT7F4lh8u-wY!03}!FJT~7VGc@kiNh$ACnC( zk{ew^W>_1qB$0CaI6ijvQ}zrqTPlh+)LzsUm&~ZxmD$yZvMN0}vsZ}C6mm3*O&ZDc z5hh4T@vFY+YFYI@Z=EBk)hzsM9gfq%L#S-|N)x$tdV&+J(iYZq`N|=SuG-ps|+x%>SQdv@TG~xwjVT|CSR&%lNOISd! zgn_a5JW`wg&w#P$5r@LBswpf5H}itIk)jtVb_lBP2?m7eI0Ca4+Sby5q}VO}g*I775bo}EZ{pGwNeGq;@0 z8LuEl3LX$YNk5tTev?#~NM=%8+x_yERcob+wa&0|_Iy z8f}xEpkVy=hT; zccnVNIQc=s$gUQQgk@bu)?q!ymf|HBiDZ{=oOF8YYQJ1Xi)Y2~Lo`xW#_`rs($#s! z&fJd6W46e{>FAbDwhubE`~E!-aH+1X!%>p#=&GBQOfyjcf%eftBRq#8hHKO7RZ11; zR>dNN44m<>T)h}NiJk^M$(fmN;B+ZhYu$Edj~9PGyi=I;4wq^Jr_KQuPxFyt)ENud zUt!}DGOi8;1q2kZrA27*3r0-JNPB`;HjE@=e`v%dw^XH(b74e~$1nuBWUTmZ3g8j? z{wXh?nVih|RTZ+=6WAAyi067%zc;hG+x>6BAY}kfqyqeZsRQ_ENlp7 zUE=zL%|$cfsq4BY-R8e>6|MJ^6zlSS@uY@4p^i1Mx;mqpuNlp5?w#d|ynkMgq@&R)p&)DnnA=ZfHW!li0VmOTFTqT z*z5T!J1QSk%Y6RH&lk2{f1oj%&igi5{QWq5%OKVbWz61J)>tBXSAhWk+)z?MT9%^J zy=VNK9vV87?+*bdq&Sh}lhn9@BWX@n7Jex|T>l3KJ zYKPxefX5wLBI?_NF_&DnfQz<_RYXgRLVupU2n#T~!98(cT;59QqG(Iyu5C>Jf~Zz^ zIy}cwKxUGWMn@-@X%uxbQg1+@wyk<1Z_CPN9>HY&c#Ki^)c+PuYEV+(A{z$H;`%e=39Hacl>BtKOgjF@Z?3+=YB0%x< z@wz4kChj}h-lACVe{K+MU4Cl{3?uh4-3zRybsM32=)}kY{^-%5X@3r!G(lVC185FC zX+4gD#=BqQ@-@HIZ;NTd!MXR;TYJ@ML=9`&Ns6VWex>(RHf4+ZLM-V?$tmdH&d?u{ z&kQll99J?5Bhzh+*~XUP1L(2EJb1WF6qCnh{|#D@ZZWal=V4-LlcY#$>PxNl5L>D< z`o9bF`AID6&g7Q@>Y<60WHRFD=swu|g|RNYrplCXs6S*_HDyU1Z8`8daKiKD?yTP~ z>hgf=I-o!$Y(flbE;3~DSqZ7HIp4-yCvYaIpU0N%{$14p;G^{YF>IFYGnXd%&l|ic zmz>_(9UvfZjqbCcL2&pmeoIOJcN~{q&Z0MLFtP3S-C1iQ%9GOKP}MOT@IpN`G=^C1 zS}cU>i(2E}Y17#eV6Xd_lU9n>lFVO` z5R|~Nc%d}d>Yg}Iw>fa~#7FI)BiX{SZZFFJ(Ayy!)j>yZ36ys!)wecsldV@d)zSdr z)mj5T(5{9;)}T(ZNoQ68OY)?q_WZVS_wE3lkuSb`f=h?fo+?an78TUmVmkEcLQJ-J zQk^pu@G=f8>N=;b~l@-Ba(};;4W<0f;lA>lfpGgV|1s$8;2^UMU9cnSa)c)?^{5s+!G|5T!{9Q}`D$9x;h9OPqo;N;g^WP78P>92SMwJCr<^LLPlZ`+sE$iCOj84of;Y80C~{Ptfu zEkFq%IE~@aH`?k}D($MEep(VV5c6^7>=`IbMfR)cD0Fk5K&2G;ExzMH-Ald=k%{Zb zf%v-1dQ>|66K7sVz1`nyLI^URoQh_XaTJa2RupiNk!XxRt!yoKMD4v#R+}P5W$;`6 zG^?wt!G3*fFdd2+uwE)LHHDjNOHToUIEaw!BmOyIF~S({K2~?Qe!T6)GU>M!ELfog z6fN3$!|fnI1|#NsHRFl8+5I8hus&$0Y3Ei(%|tnBkLFJ`Mu=gl+qAoSKfkDL_H}#k zoE7}KHTUA5-mC_kmy-xYvMMeT2 z?X`gXIgpb|);W02VVNk7Hjz8?i8aqa!d{f!v(_%q{dEWmQM;+6KPr_v3#WE&=P)oZ z*SGf;K+W>t55I?v#bBqS{=uk2GCm$&{)gj2?&sr3rUcu~ej;gq-G`goirQL*snOn> z=>1Hqrd5E2P*hx|Zzo5U8kTTV)omwGZ-9^z!Ii5-ZMK>0W)P*9sbUG|aHiwVT}MT} z&~k70`hK@;te=y!k6w~1t5I{Up`)V{oAVt~{MXL9M_~wZXjEciZtOMSVTi%unPumI zrh?|f!PdHBodf?26hAsS4`a zU%#wmI^(O9%e{TPn=e;SE>0j2&(f)j_&{-w zKWL#u3?M~fmxE@V8Jn^Vuo?_Cz@OOY+e;rJdb+unnHql|sr5B=rk?Cw8L>1v=N2UT z83IhdeH&=0^pgnNF{`@uEb949O^_3+BY-k_LXAXaSW~j)JXX6{od#XcC%oqGQ}0US z&5%9#BlFGoKW0sej~;ue-4$h3Kjh`2W5WJ{;KTM0cbO=c^f@7z%SHgB9}XcB8xJ)s zxYL^Jh3CwsY(zi-m*Md(Mta+F*RTx19`?{0{lL5xhiA4t%@O|U=n97|Ynup? zmTU}hu}HP5^lAccaFc*i>xkF^M)E#4p;eMPyl{C@QBu%7GVBQvdQyDy!|Ttlh6_k78YS`C<-!WD;6;@G5g9}NpYCQvl5huBHmv*ej(>+n5cc=Kk(rsTDTRfZUkbv8 zd&j5VzjI6}(r=&wn;e2m*Z0QnFpvp4g2XE00=>{1#;eHNW?&BXk4=~?1_eJBuIP(y z3#pcxD!!-HY}ZU!HbBYA$zl6AIk=vn#K!^C3U*c7^1w^N;q(eEv-Mg*)mXY=VHwAQ z-`6wV$y;k*_s0oxuUAF}u8wwwstg~Mxp}dCY5cMLkM#dx0W?W)ZM~bDJ%0-|XZDzv zQR#T>0TJA#I5uzk{KiDHMQ}eEjS}o7n-4u7fi(PHQ&(W1M4><88i+M2U;YaBsh{Kw z|7dAm>k}s1;l)c~}gXKhAz4i?q zc%LpZlzB&V-hS9N&LDV#CvjBETU!|3dlK;R%#QRZc`QNamjTn0AtpbA+(Ua+e;QUQ zyEY<%G!%Hp^Uu{_kEDzElw)S`QD7xSV3PvhWE2*tb$uFDFo6MJF*a)f_hl0+0pW(#gkhz02bZ z`tN+#zuasw2U-P(W7|x`uX+oCTU>GR%H-tcWXyz>o*qGhc7uJr>`+sGInK#Rxn(34 zgAp&dG9c;P2ZBQ8mG7>qM=DG*650}es5F46$*4X513eT7eXujfMI*{)3#P5GRih|f zkHQhK@>>TT!J0n-a)LCerJ_^msWmmx81=(qqHgc6(KpwYmlf6Y2mmhRp54l-0$%ar z;1&S9^KglaT3e}EPM}yRqe^C)%}h)zTM=D?O7sMOZuy#J8E!*9ov(Gc?~r2Moy~fA zpg@`%?Ru{o{gDg2+C4ufMf+pXm{f%J{Jlez+f9IkgTdwb8pSjFGP1Ti^2cJeGEnsXe&Vj$Zz`Lzi)H8Xx}FZ?+Q$&EE%x<+D;wC# zUtV^3sn@s@lT&Lx6D$4$Li4f4v#$Ux1~lmnzymDSXp=>SOXhMre5Yk)Rg43x_ys5m zkWQ`6u7L;Sm^~xf>DgJhd22z!F3`gW>*fcC1gG0%RD7)mGcAHNNH9J=`S^4Gmw_t<=Jj~l74MkX{l|NyVS4-1 zTb)AK*03^6J#Z1eM7PT-xv?;jT4P8d>-zF2(5|099;GB5P#j&Zx83Xw-NiR$ECPig zkdP3+6NK<@N)-yhZZ!ascW5upTuC04F^g&gIks%r0%0i3h>#bRi`NWcxS+nAhKead!$3(yXB?2H~LgG*~LE!fxf*75) zcmM5e1CzgPZAwYNN{-C{EOdYWc43+T`jsR9$!mTq_v|PZgC;fxPVm3ikk=ZUBg5eA zH5trAtrJ9{!INK}%grtT!CxS~3NS`o0a63bh?+Ud#!71QIM6RSjd)? z8J)0HDM2FQjmip8Je){>n^?S>mT}P4`02JMaT{p8=z-HkBaRSreRAaVxV{pn)$+&}0#B+IUc>e`B@peR~c>s7Q zlKc7p)Myx8!Qb2uDs)n!^br++P1!dN;irZe8juEF^?)>l7~2(a};x5ye`>2a-XDAWBV*9$yFWW``X! zfXrs4xX?1qDA!O?+}hKr1Diu%!{hE+E9}*Jw!A-4^A-@m50dJ*6L)6 zA!e>?+=FTXWGBO3z;Mr4!QI_+v!Y_P*{LHnv^21=ki+9IUqC|e2%FDP5K5W<2v;KbJJ=5*XqF?@cba4af}buf9PGlM z=7Oa*UY&xh65uc2K*!2 z@)}>>Q{XYQ%r2Rb62I@Qn4^`9vq^tDhxG!ji-g(W(NACh);UUrn5Zz5OYDkDJB-w% z-^Y=%vTm2F!M;CM99GEMn`jG{_{-OY^%TJG`yz%wtL8iZGI3 zHs>cNk@S$t{P{37R!%cc$E$t`3i^q31d9g~dEXOd%hRP-j*mw*%r@MP!l@WSSFyO> zV>^p*si?rg!*8sw_r8Wk0`$yp@p~3a28&!uDA6^710W;lb3ygdbsG z(k4d$RCay^awK6!QW7x1L4xAXxck?%wWZg?ggFALIxHWUIP}@_PPK!}5Q&LHh;G}O zON^F^00M#)9V9|*fnVIa%<2V_R1lira@LVq4>9ERHR=Hg|0Hp<7Y$D7dn{O4a}O9h zk$3awd!Z2nC}8x467dLCXw_`qE^$FYPm7QAsp%O-N>_EYPWI0`Z6|R5I_}NY=>FY( zjmFFMe$*m3a$j2;^Ab7d9&tT8J|-@2jW;ffgFTv3$l!M9>x;z?c8ICq+~n_+fLKs7*N$TnvcJB=XS!;z=F{bf#LuXaaRXdVcT$Q3h$5Ye?s|-P}FKx z7Uu6rK0=N%aK488!kPZ@HMme1F#{r^BE%9}lYYLwpk<&kx?=9!QNo2Gu|MShp6tyb zpFluC)M&QjJ4T%7dAxW)iUVOTOfh_@EsiVTy|q*JdRIUuABX3}d3vK_dETEAQwG7)6>75I-d=6opA8)(r^;P=LA+n>3)|`%Dp=Y0*j#n#V`L*`JG;7Ii+9(6hl4OR z9zQLmnd-R4mM(Cg)?r6DaMqLd=z`){>kXnjtjG}jtlXF0;N(C)RHR7=>iXN87fCks5Uix%R@Ya9l>z=Ipory2B~rnK4E#DujJ>8IAreQx9k*X?$&?M{7NZPs z#07FTf2M5-7JU^2M@lL5wI9}9;$`GCo3dT=pSQmdjkEoOa`Q_xbUjJXvo#SWDE_J^w zg+El++xv)c#_?$&Y)}+6_tR(Y(g$u4e_89Fg*VzkGSa@G;xlmpN*-bskDJ+Ok#t>Y zjvO~UT3TB&Z;U)rBo?DYG|8UriB@{)RF;0TJ1hi_s?m4&SBQcaxDZw5dlhB%MM3T$ zJmYo>nQyV2&H@3ER;T1VaDkziSgBQ7U4ykm9j0Rq1F}5=lZ=xL6AZnQS==s0=V>!# zc#<&$dVig9&SZL@UoE=4f7~zD9T;AZWhsICa3g%h%}0#M1O^7?p|GigWPgiy01O)> zNrI!86?2KP{7`Q!eXf==$J-)wG;pIsLr3YQISoe;5iBf)g=Az7WH=?n|ERDzSfMBh zHHW&qJ6T?x9#&l}B1rr5HMY`j$l>JN^!@w~JtMvK$r zmB1=!fv?|N9)6F?6H)|};0icgoXt(eS~mDy7pR^N#}hLnE4tt(LekoLd_)^F46V}o z*B=owG6tThV=LM8Bvgf`spuGq++|J7%-Os?+RjV@3!-O>`EVi~BNJ11XG>G{g~T>+ zs=>k%(r}b_ai94j@aM>!spT!LG@5CH()VDu}wN@1{!2udqhWzT_$UjFF7&SYA!Y593B9pZX`PbLQSrgvW{T-j9ma7JIy-|8 zZ4gN4)J6fSl9+?~5xLsy8%fBdnNr?X$Ol;AUX3lIl+9$sN@p?^4G*kMLTvcEb#yKz zK(ED7aozH85fJFG`x$l|q_KJD<)KEAg~W|3tEfODU~ixA(~l$AO3NvPUQZo?7JXf} zLp#9fHT-T#-@>;k`}1A`^s$bUjp;9 zI2tfxS5B>y5C>VJe&><{$VZ9GcX{g zI6`}QEic6o+I6NUfMwDkYzB)Ds8A_Tv=o^Y^+g>}eC4|u$FmQzrT){yg6{$t{#Mw{Jj8>kA*$uM!N>6bc)G6E ziqw2Flg|G$`WTxQvyM+>{l{gH7m!g+r1KxW>2)wO7R_0{dw(od>&pqub*?nFTrA)8 zZFX%ZVvMOjzcgQ%MZkUAz8abeZ>)+NUVTJ18WHNTv0B8Olv1kuxH?c; zc6ms)WZdl6fsEhRBMp6wd<^s21(1UGrpL$fSr|740HOf4B zP(}Vtc6j5p>xo(f?szu<`bed@#AuRYSNAe#ss?qi?#THV_F+g9&T)m;TCWqr3IiEz zlkcS7&S$e|APzHEJx(nw)k%bk!&M($WGCU2c+Vs*P7W8*0i{(cP(1-5+uuguY#pO~ z8VRf4;SbikQ8E zIHl6>kKik_%>ujUXPj^VeL;-H{$=R9k>A>y-xs3I<`)|)jj5of9$pGBDJ~%?`;ug7 zW!0XO#7*ycJhL}cB9~38TW!TlFsYjpDHAc3!`A_r?4*wxNzyk_c`9(9sRA#l2iF2{Ek*R_VVT2I;Cahk=eRlf!8+ zXc=}`NZwW+@Kqh5H;GDr0;Oa zR63zo!hQ+XKi+_%q(kc@<#BFee?oL+aX+liL!0)brCj z|4ww-6bT+4o2YMTB=drhUARRXg1b8ecXtaA+}+*X-625G;O-VAIKkcB z-CZ~CZnyt)>fFbBpD3z;YBtU8wZ1jxm`rT53R%27X0!W*ZSIUZwZER;4P|xJGry(^ zi-@E!=npF1(cD4dUdJh~Rj@c^4qjq;KWrptwGJ{mlG!+F_MtVkBq(q8I7r1RWbJ1u za5-!>h?Fdps+OgsEH;#@!(x&G7a3V5O+|H;3>=YU4?=+NA0CWn@W{+I_=uQ@xVYTr zfq@ee5cC1lh`G5D)>HeR8*2@qGEVy<51mg=>E}F5V>IXI$1Otle zzd>pOyGA)_X;nyF_r*J@$q5Kwe+#y~sXKfDN8S1{ZpYN!;P|>=vlJ?dh|3jvPZ*z& z;(aoHJOEEVPBCmS8{I$sk)M4LYDz*$efb}9dP)7#P%2hg;lr7n&@nJDaQ{?fB1R!b zI>amdgE+`=VSWCWWiqB(KfaRWr{Zpcm8+-7~9E6kDAM7_qam2u$-UGE4T=Rrp54mqIByrkpI34++mK)jTEGKhS6*T8hCLQ zH!5%IrBt%BvO+fN42wALd4__|4EkN+`{(GKT4jy+YFGqzo%kq=^g|QY4&1iA z%bByrOq<$bbxMA50y|K^zP#misRu)-6pwm)DCtQC>~cm)yb6po{1Fq7)GV#8uB*GH9iDo;zII}{45hmegc2?$x2Laraq z?!rIiCwWfTd=e{MgiqLeS8k6Uh`77Gx=r@<+nss3w>-9g3i(3dL;&|Or@d#;mf8#f zZ#0cFz0{8fC$gM(pd|s61=3YlhuU>?aXEF>7+7Au7GAhqv)h8LMr%V3h*Y+-wqBc& ztyBk?&=gq-Vtw5;dzK4*hSk4eamCYfHbyLGx^m!sP{V)AL-j-4d`)X`T6uULhQN?-3X**3G>MN?C==cJn%CZhr_313bK<| z#WyPGTRN4yQGR3*6s~~Xz>hCWC*NJ{H^UcGZ{mqD&kkEA2*`RJwKv5Mz+K3+hWGdYjks0PB0D)F08|E;2v?P6FaLt8 zr$iH_rO!lH`?ZeCBkc-iBb2&d@)F{La?*slV6rg@=MWA`(**ulw1qcZYuY5*~tg zx@=WFPU3$L{3#*HFRWwN7k`R}>=OE`{w4owBuh^Kj!;3Qtz-u4xPkkeE2r{42-`;` zG9^>AHoUqiV`j{x@rY8?0J?OC@p6Tb|E-A;cbwpMIykmI%LKtaxw73ZIy|3?dSrB| zSek5rKcwnf?Gj|~5v`J6Zsm%{Z}Z*QU@q@yu>p7aob2)&h1152A;8UU_VN z5>oZX`Ye4S{sF1|AG_U47%Gq8go}q?>Hw=7YNrAEhM7cv4mpAqJigqyHrhXZ9KJ?4 zDxW%+Um-dpF>P~5zGg!SH6r2+<>T&?vZfwYqpf4nSh&VK^mt|ge2vp*{#e82VMav$ z`A|{`WYv50r{mGn@kb6WR_%<21R*tb1=KkiUtoSVoGfhM+Nk0nDymVzgF(@OXj?*H z)xf>;nHOhaUJckXua+8zwsi%+rNckhWH+<&)UhaaJNJs{9e0_N5ArX;E9j^8rM5}y zU<0#9h3{w~a``14%~Az?4V_Iok!sab320L$K(RG~$20Z-Db>p**sgv3QF4k#fy>KtN$;=mO>`uzK;aLU zR_WtvY`O;LM(K2SM&feiDmQvUpq}&CM~Us4Sz9?W$bAxE6E3uH3c-tl5YGlzd0S+W zM#9Ix#?|qW(X`Q0Y{*Zx#=~GHQNOTziz=R&i-0!m`01r_#!uAnDpTe*G`m)5li`9A zX{pwI_6o$^Vw2gpb}Sh08H?at@V4^=IW~S z_!=?ETc2{g?x0p%8!3gIQ~fbw7sgt9p)TFjmN+SeusDz(geJBns*&O35YxGW!%J_C zp7c9#916rpfosqA6;jMVoJq}5W(=Qx%bjXOHqwzVG=0$0f+BeQ2dgD06rM|Di0Ia- zHHGrO7YfGqPdUdOJ>5onDq3BftgWhX-5*8j;S)~W)2ZkNcaI+QA5^ma>(^6a5x)zX z41I(HxU?c#GVxtRkXXaDO3zztYjQ9nmyI~(RgLwUS+biQ>lWMnO7wp#qX1xeC$ITTN7i$E( zpLTV=ej~~+D?7=LR(QYP@L1cmFlW?nd%!pGtyIs5?^rNcOSc|E6Yu|qwf~54G1`F(^`fa8XG?V6QASNAd~;j_BL^Q zeWnjeK&$UgLD>mjvh=~u#iZhTYMu$(Mo37Y7%JU}8C-hcEyD;;N3x4IJ{_Ib4s2fL z*3dKw7bWn(>F3Jz%}URHU*p=+ZZRE+q>!ntt((f~`ttSW{-KBA{pC3dACs&dF!Z>) zI+71DR8|`JzBkk*-fnIA&aKVu#RmAi?lE;f-B0sI9WV_VrsMGqEWPx(Ji2eth0xhSV$3(Ft7*^3W)fug`J(9RgEz$!R1m?MF(cn zuZ;Q~z0lwI+)g$g1@D|aa#@XnVw<>b*v$7~u&IvJqeJtXnVg{0_AWpHoF!(X^a<#E zwZ)2mlcXE80j{$2{QQjY9KfQ_CzKQ9t2tcvaW19|jt{QCF;-u7xpX2^x*^Bo$<56v z0uEU)(Q!xft+YRLBrKNb_VymKa@%@0djC=Iqq({MmuP5*)z(g5!0VA9RTTd3F2T>e z4Td!jcFx+y5-K9E{nJ>%o0~gZYimZjYHAufey5i+lPUhxgp5(e^?+tJUso<8nF`bO zTsiaX?fwy&v)uaK;w2l7j1)$>aQ3t=dKz^+S8ae@GcXA7({!EReRg>yUuC2%cj_wEzm{Ysei^7{O7Xd&2l&dpd|(VmdjY!>Ifw(bdzZme0)D4N0Y~6n%e9bQD!{u+ zb!O(NN-TfqOjB5{KUB#am4Y^JfWDCvEYZqb-(Ka`2iBgAMm5#@du%{ZjfnV=xqS9b zU8?@!A29@iyL$;DAyV=>v4Hy%g?w7z{&{+R=HaPLp#jysA`kL#uR=e)Uab0TTQGI} zRWHQ>u$Dfov|;x%>7et$wgfU3ihMt7w{0>zpYUTj{>Q~RDmgqn)RAvazF=gN8ahpj z3k~VN4CP;@wmv_0r#_gRuktL20t!0w^IMBUb^oK)4(H1OP;#)C5~t)8?}Q9GBvat4 z?0lKk^T26!s(MnoJ|zG7Y7-#6^2zml+96Sj7ks~W__&+otI=T**hCn3|FxEfPK&Pf z^M`URlJv~EH(_YuRSB2iK&i~JN6-c|(l-HrT?`m9)U@4Lhfju&GafW$|HfSmk9Pk9 zS~O)fmG@MSt$}9zzDSu13HfY<8)O7nxCGzGj*hxn$0`=;2^_CRt8!c8&mT0;zD;gtDAP@7cMuklUgfkuDKS~ zF`b)m*;mzrg@!IJ%+~{Mma0D&db0(+UgEKe@J%>Oi_ORrBh9V}$X;f7ih`X{PV$i(_X-_l(vsikKf-Z4{>Jn@}_yF1F>` z?kLEO9acNMO|Ex{O0!xv;4KzTOcw7`deqTvn?i{oM;6!G_p@|B|9Qe%^!mxSzEPnK zY0N|T6&eX)paV%~hs=nVwbU`aG9!XFxPp$NUm30Kw6bcU8-%+j-+VUc5G2&}Z6py> z2#5+GdJN~y9}g?%S_|mWl2h0S&o-VQdS4J~c>uFYHvyW`5+Rz%-iMiTO1t0@Cj(1% zJqA{aLK2j?d^`W5@jQoI%M}*~yJ*Z(d?f%i$7~chT+FoAZyFOXB_TzNk7r&SB#e7c zE+hmSZhcEh3ZS;dWnDW;d4+Y37Vmq>AcwbJVd{gEUbjZ8D}P6XdVvMRPZu!z%mlEw zq1g~$_^al68W|mxOSJJD{8SVb>xHbgDWygaobBgx5Ad>B*Q=VdTaDU8@_a>s^?DDn z7d0$^{Xr6;mWFS9F6M>NQfW||?njo>whSZ(}6%fk?JGU%S}(SiPbq46%j^01}nQ>RRsh(CNMIT;%! zJ~uil?F~sq1^aC}+Zm)Pn$S?+2$)gK%`A@HyrF%<0I3IfFBA;6BQYItBO)OoWm%6H z13|GJ)L=4hL2}+~Mlv=s3I?@uGb(r9WgY|~mhaPoKPXQFW7Soa0gcrP1w3~7g0%oj z`V7v-c9|-$DA9q0gq(?2YI{5vlEt2UCKzSj*@cAg_V!FjvzW{txC9!eDgsdS8ThzL z^8d}S`&&weXO`=fNRi+J+ABOe9eYgHm7g`tns5sLE4tdL6Qv=ipd<;p*E+{YxdbYU z&{J}1eu44v0oeHc{|@k=o}N8k=#B1c4ry1`pfF_z&vF0xT;{;;4ZXfXOCHW?x>oR2 z*5BRL*WdlOUo>~*+{r3Q#r8@m3{&$@h-Nl-1}LJW%!0!9_I64+oN8tF{P9=DB-R#P zb6vq87rAoreA5!w(*gRWTaiyOu@FF&0Hm~CR$ZA*WL(A$$~AVUvb37K8-i!f1N{8n zxpcaG9PjZoG&Im=r{{l^(PykL60UW8ZwIuHhbOymH)XAEbQhAkia)03X;gk8)6z5Y zrcNIonaYlX&a&1=%isurRmMOJVOTJL7EO$gC%C9C1O6xLgR*?38A%icY|Os$r+!^~sc@ZW*oSg?uK*46^vZ_8f1aaZ;Hqr#eD%n!6m}08Ktd{_mh9+-0u@a!_IB z2;e4|E0H5B=`H`?f#-r{1GQS*Ohz)@#>V#({1Y)`(%g!cbc)fSUSU;a*K{C&BQHM* zq$F*BnTv7<8lV{zsmkSipPAdJD*}%4XCi#q5_p}m?gtmJRCv6ADu7rd766=rfrCM5 z%xQgjd3t(^Nv}m~q?2=kUn;DFeuziaLDSbNSvW!P=AolJMj%{FbUoStbakw(Y+=Bd zZz%rj_U`C^+~L?FL$X>^&{x7}ttB#zCquQSvR#E-@!Z^817_1<#n81v2m_ndc`H%V zA7a_~j`=cXn`8QQXc zMRM~46i_%mqL<{-aMwT)P3RkWmf+>_0G!aUvYrS(-$2sw^nPUL8=71UGh{$pcJ@Zn zNTSqjpPtXd`CbtY>J@J=6oRRyg&QUcOIA+{@5WX9pI=0*w5-l6yJk^ddH;ko_f`l{ zTDi6(l+lI@!@}0~V(owITm^EtrL>d%825UhSK>HfVHVvtl)x%n~kvQv!c@Nlt#uu2gOsh==1nvlzR878Z^u$X|Cpvic} zc`ogZD%c8wB2*=mZn@&j_MtZFpUUml{B+sO*-8_1HW*nlAxA>S{KLHtM14HX+;A}uPn-&1B)=7 zM^;9>CM#9|7d~X*%gaOXg}Sct?$K$REJJQeq%N^ zO->w2z~e2769e_d3l34?&x|@COZ4224cD&zj zKcc8Z_3s~?0NBg^?^Gth;KZn1gR*hc(;Q6Xe>cK2sbh? zf@{`xx$RG?^RMHvP-@-c+$_&ygo*m6>qsgx?dI#}GfFK3>I$*k)%TEb9nCj{0jyHY z)RclvG%&Nr2 zG~C>lJ?qcYj3F#eWZLkmV{;Z$LQ?dMjNkD1RdK-H(sELe4v=(5%$iwfcxKktN&+0i zSs?Yq%$@-cl3#oKNRwu(rIm@u-b8(7gWEk8^+?}_-{BpuB_>?R%?M&_pSB0_#deex z+q7-o_I6R)8hC#D2g$oh^ll|hhEB%yd3PBs_GB)AV^BMg3R3MUOy=;MdK(wSDhL|? z0F%3IeSTWLUf|#`RMx;w?anjw;Nt3(72Tdyz+rKHT5&m2XEYFkV25exXMlj=6 z`jkt%wx|3}T3B2X4?ZuG7OgNa#H3RTAq?hCm4?#|*}enbGN86eO%{||!exV` z>c$M+SkEp}b;ws=7Ab9z+o-ogd{4mdo+PQDh(Hp9_zgo}RU6QXHHyGhGFVJe=(f0< zT?d8im?Qi}pn}ZX2m&ZX1afK8)hKFte<6Q+|4jh<&5$9#a9l@3XQKk61)Zo>^cf@> zNn7*6s?zSG?x2!MM61?hH`3uSTwI|hDF82?mY0{1e?I>{i_dGw?IBwew6GVJHX)v! zk`qhe#Z4rfFVoxgjk&(i$EM$Fn5bCbBve?K!$v1R8@~x!(8VFXwf@@?3k*b z+h~cXF0j~jeVl@EvEkvrgxg%7X94yp{UT4}S<)CSp@&?0&D9q7k>Lr(J6Jx#F{-zw z{L}61A(7eHWf8IHPMH(;ndPx}@dlOoXWI4nmluSWXQ0>=y`%{wMx@!e9>W)E8mJCt z^vzAlSr)D}vsyuLjy<1xWo<3rC}B>Aqeipg`9z;RAb%Pyq9l0I`t($^MWcK^9u*Zx zO#SqY*%i)(eMbt&E4$tsTyf&#i?8xoygQ~jE`1JxEDWQ9g82pvGHS@^^_#;rcC)ew z!o-o$we1W8ccT?+W;UDS>)jXdX7D>6PCg@q6=O%hmMvE2ONViONn`g=s>0y1*fuNE zFwjbK`lG@ez}C@1(9RyvX5=yK zMYzMpG<(1E5)lQXJuL#)%Ic?RB*lX9X(SRR^y`-!6MLbc1=4w3Vx7g*Ju(s^K8pL( zuo4jy6KP1u9r6L98Zl%$Jd(MiIg{l&sHhJb5f0%j&q*ZXHzD6g-9#=YM-#E&SSlmO z07bfBbI zUM`08SuSc=g2Iq=#8#*!X9PI)N|j+TB|Z|eL0$oC=o43ae?|+0i!Y>K^B&^LqWtf} z_w>V^YfA&mG7T^Lz7G`aCh3y$P$qjVrF!pKk%PLHrb8vIHbO^#%T&ojOep z!5c>5-O9g@^jrMTpCa}w%Sp`dP>oE}^rk4Ym>6k7BR)FIrVeif%9_03w( zRS1K|CdV+HaBIC8uDvxa*JOVe?iWUu-2eh^;~#`PzWs3|B2U9LsX`KDEDmZKf0Shj z1ZSK>6>|9!vlGF6>a^{kZBT8e#!~C?w~anbveGKD&P1HTo&$N2TiGx&Uv z&V)ezzi8c!XWeG%m=VGZs6%UNAzz@I-PyN(>RgjdQy8{SZEli~lKS3i7*t^o7lwD^ zbf22ZSH=$zu!`a()^{Aog)qqCh=U z({j7LC`o-~<=%FPXee;;C+9*m9Ix^XnF!3^pOyQ6kc6mT0KAkC55WTGP{K%wBVVCX zvypz9TLA*KbK}9z(GbNJx7lwghv)_#PRvUF;x9~i@sX;k`b{d}!3O-nLKL3YgT=)` zLElLzdY)Q$b|i3VP<-IF%&!zpF`;={T2|H13qs(XXvnEO_d=;=>)1kqM`^6A6hSB# zhnp?2hK|rs28O0iuEq>Vl1C@^Hfx<*o$d$L!WF%!elA|2&X50@Pjih?`qr9>=7CCG zWAT5NbnGOz&RDJm5{rW4u@igIhED+by_?wU=>@EXL`5OWk6r#&RaKP(em-l=^u9o+ z(5MR8cp*YGY-)zrz8~^m!xtTq%EH&CYsQa)yV-o9J z@(l4%A&7>5)}%l|KnR1AdS$Zv?`~i9R8^hN8Uxia=`I%2UU4dEYb42h%MF-8ikU$j z&xuolA@UN3;q9;0kL~T>-~7O*B@$p-TD-20CM$I6LX%_ZBOzP7yh^4>53O-X$3

SR5Ef1;FRW6)d>n9@(a%38M(XHzVKk+_Oc&l^(XSTqAjcf|(nNjXSE1aWup zuyhkrbggneUsDRhM_~r8r{}~lV|pmH6kTEa>xOSY(qk^Lk`K{=Ng=B9b`+iuVyA7rHa#Y_L6==c3C(lpGTI^{0^PQlNWDY=}!b!Ke<#CR3NY7IO_ zkYuh1_?(vb)<9r)whXvIVlYFyNgIpywj&0@*4;cE{t={R>he(f~*2=hKo;K^i}+nQpk#pP^lm zw^uc$Ib&intpo}{RI^ORL&$EpU0(h6>zK6t zdq-aJ`9>GEx<_c;sL8g~aYB(OnrZV?q;0_c1Xlt6h^(YiUSjYZ@L<1MvKnuL&?=Fu zpTn{ABhuLrnI3}Aw609WYEBj{0$Em|KM&y$=34sLd_e%kIa*}9IBXh`2 z)Ekv#L~OHIKoEMa#{DpN;Sq;7x~G@)eYn*(KWw_?Jv>ZX=Y3MbKqvg;)!;2khpjix z_IBXwjS}lQUp!9qw{5ZxA!$lh;Xz3{8$c2e=>u154+FK)a@6^=MwJ^`@;r(Bmom4T zl(?t(;FZ4pK+O;F|M@bMY?i2bx7)|z)zIh{0;>)C&;dGgGuE9Xis1O{tK0-VH~6uF zKnx83gY{jsU<4?_#CvkRcw8U3&ceLrHW1#xIwKwKizzx<2Xlp}vpw36%o5HX3JNN; zo*42l>H%-aI69O9#kxMyloHX5Z>-rNtbkSHg}7oH84#*n9@o_>#|GX;m>L2^WRq4r z3}21SN|JQ4@T4;e-+qNM`tjdCBvO=4{jPG{#(<>#PV25&X@vW+x;hUUM)hfQT{9z# zLmPiph4S_?`I~)?oyn(Z+5|Z&TRj=ur=kpQK_2K2C`PHYj@(SSF6&iU=J-Ws4B~S% zYSE?&1tIH}DY({eC%ngZ#?@T9z*N*pFmJ5FGF-7T1pa^1~O-oY|OwfM8~C8yTna&uAL9Z^U{We$jLG+nNf zyr454*M2Ds*3}CCiSV0rJK5&cI)qq04>d7>FX7)W_@igY7fFaI<5u_^#r9_XQ9J9| z3Df*Kk~s&bw|>}N#)L2NiJp(F%2T7GBaLrvSNfh#JFG}^LB_35i($LFkJD>~=EL@;|k{SpZ$EK(cdrhVAANcXO-{2 zyCR`{PwuRYe1r9?RZDaHcco@VJ?r0qIAKz%1_Tro$n_;_z1>Kp;AlJ}dIn*0N*8GE ztJGN_Hs1Usf5rk9hCozl2*2L(qDU$+hs_4d1XY{iG{|~1sWc(yIsUBl=}AU|2^ty_ zD>VrT0X~z<;+wdJEIb@F6BDr5u(PxzMyiAn&4jty?r{ALCo#+B(c~0nTGR>7CaoK` zRIl#48@l===75FCrG*Xs)P~Xrlbv&4&ah&I-UaG^Uio#scYbyzBqiI#thk*?!$3wD zt-Ft^G)toEtPr?9)0lqpq;)fm5>YKhi!RZu7iLitH1s-hn8A$l$i-gAD@Mhs)#Fy_; zDQr7TR`B3B9Aw9r6c*LUkD5hIe->6NbV(3-lk?M|_s1}j7*B5xhf5;N>oKbd~$b**Yk%53_2`QP^XU#_ak0OtGgI z@PXxrqLV}MIsy^`>4G*WG+n1`k~h_nV{cp&gqQ%`bqRyKlkf=OX7Ry{jD&LjO8JgN z81TfS7~f{5m%}9zlWv_|h|y7jQ@@4g^pt`*>uTK&(i^W~oa0dXb%Rb*9fq_oF0;QPv21<%}T}u+;N>AVaBVmV(oGB2_jIhHr;sKka8(n2?&O|(Bw!YEZ zr;+EKhLOg})%C&E;}aMQ{@GnNTKj)90_M}l^@q;FzAY5wSt33%@-5FR*amqrL;|Lu z%F!~U7VE#zW=-{+w@KQ1df-Npo|C_pL1!QYRAo+v~NWl^Dh%x5O_ zs+z7Y!Ha@=IUK@wN6>bUNSLTK4DVZkapQx?lLQ$cN)(G(5#1)Ng9R5FPOZ`nH5;18 zq`|oY48FoK9_K5NuStc-l)I5A?11Ns&81c=R=A20XrRF{*%M_;88OQQW>YFwbZm5N zTvSIp&_u%HBj}Wfc-(*63%=SGT!6a&*3{G#H{yjDPWoXN4$J34c353x@vJpEAj6+- zbp_z49%Pns;h*3GsC+b)u$jm|z`|{Q5D9I_Eke@uco|TsS2wu;DkQ*R<2~GtZ|-_0 z`*sZu{wDYMbBD!dQ1%U0lxS`qOS62dVV{WL#qw42E4 zQ^{*-Vd3Ess{+-Sk@1AKf>|Mju6^|MkoOO*tqrYFrJEEn26FqLl?A}@tUUV8yn&{9i>5Ch7Quro?tg6P;o|&yzPTP2bf(BgJ?j9_B zz#)c4Y&@BGe87Py1UF^{7@Xj-wMkBXjW?Jj} z3Wt7KhKUSt69^{xyC;wzoB0@`zry;+qts`P!}03{HBD*h$`&hh&8)4(PW_DLTo7@p zI7^94A1yvG!dlx}($~J?pMCl2=IB~cT@FP20JfEg)%0&m6m0YX1d8%-9)8Bw zLpI;gV3fE_6*ZFtY=!I zm2f$}x_UFDb#(`sjMywy^R+c!>EyHMN_7H}_5I~ubNBDR_A1|43~IO%wQ8|im8#3C zu)O)H+UAYI^9t(`?pJy?{Wn(KdhbRKH4wPoGypGO+n=Y!I#86+IIjyLBjg254ozkvbvi3vPL3Ly<7xR zjG|FiY8&P%J}mQS_ZfcTIgCQ&hLj`DwsX*7Wpq!sm!~EwE+M?jB6Mxl6d0?L6KeW| zBH~J~Ys0I_lXSOeROze1MH%2&60vzB@V)_>p27a8AXL007Q0bZBBI>Z7#Ckdv!ioM zoabJVHArat;i!6@+8x5CmU%@CQ?e530SSdl5fQM^>GCnDKi zSXh|%N5Rr%Zm2?Hp^}za%*%_1y0jAvL7#TrAz{az?r;0T1)W}VT@Jt?1My}m8;<8x z%%Del`5*4tQvZ1bD=a?F=zZ~K$Ya+;J^Cq%>vnE(2zDDW^R%7G>`~(O;gW@m)ah3E zC6^n>JGvfA$)_a;V}Bng=<%2qdRQdjOZLo<)xwxc>SI{ONXYiQ`ZUg#G9tr>&K1ig z68z2i?gV6dW{KCbRF_n51D6ufLI`#YFHt=19CbLGBgFcB$EF;9{912c*Ofo|dUAW> zMBlQLP5uLmc=sED3N#V0n$(%bY@+@x%B}5_!a55H(2YImAxK zGRgy)S8?P)%q zEB3!$STb!!xu>WP0F@okdGcdB`0e(?MqR*P;;|ccSJ+#L;86e6&BPPqft4IUjVO@>3R9)xu7KH$7bO5%w zN_q)7JngHW$*(_oAR5;qsWp4>Q>A<5-q#d={I?rWYi|7f1YHz zedq~7^tK=ULiVQs1#*C}TW{_sy+xiyVr^(<1%!+gF)@EzIys+91o`B7p(sxTpn2S3 zwEU5h>l2p1A^D3%&s(Nw(s24%YbD&%gKarT6M##$wyT`xHc(ki_25#1l*{MhE7zM< z?7?(Pc=3xEfUY+2YC2cWuM{hunQPCBAh4L7Mh)Y?UjOx_?a429y{5p5OL4Ywcr#gz zbs`lcX32jA7-7h}istzvJi4|gL=n3R%m}@lu~BjF;Ft{}4S$`^R{%GqZUuAikA{)L zc@1-f@cxR6DhT$UHkB!VDlXnfq1=bs=Cib zg5oRwAW=9KinhDZVMy-^$ca-)D=RLeU4V5ptD8dsI9mCFkX*2@DAbmz>6Z(nzPb3? z|B)D$%@m6dj5;O_9ikv8TfmHFgR z;o`fXJT#IP$H3qOr-LjKShY?zB<4JQ!%8{>laX&~nP34R2QjX^{X^oB=7|j)dmS)! z$pku6X~o&|>J#Ai%mcyYHIIx~qlF&e;o|;O8QwoMcTf=k9FEN{ig<`ptdr&BeG?l{ z6mDtsQdWS%arfefRHNS>f0K}&)m;U3T<37k~Bb+c+Y9R&K zwW0+WWQSWg?6P#w78fhyW`I;V21W-o1=nckH3!J10#IlIR{-CvQQ{;bJ!>*7S5yd) zCqgr?aUxnO4v0-e~bZ3-yZ&T=kq>Y<>_OvQju_E*_7LPA)}NZZy>1Sa3*D9UX~v zGIn-y6P4B?25HXAnMvdt!+!5?3)UQfD${A`=f~#6#KvaNzlvtfUgV5up~<^%x*O~N zHMgx3E|)G;UD!uW{8^$Nne6#CJ^>gs*BSB#O4S+}A@1-fc=-5O{`)gwGukso+5K6v zm9kDI{O`wl?|!Wt9H_ z_y3O%>sa;Lb|NC+Je)WPK&Mw@S7c;wiqUBz2BTi9@9_k$Z9wM>X}p5q>s^l<@-EJQO1_g*d;;!m)hE|_*?qZrfn@2T-@oB6 zAHJMFn@dXrbtHWggoK>7!`FLMzVE(FdadksC+tQ7z@BJybPNgs6z8(8uVG*@?V-6@ zslFDUe%*X9IAN*;1VlZ;$%TcsOMaxu1@e{|Bn)x#D-+&Kigwg0+`Fnsw)2@qD$Fa z-VLc5*TIz)3R+fWtE{Tx8Oz;WBt#<4tk}8b`Q_PF>x{&N*@V5J*su^p6mO@Ii3z_? zK_UbK<{va^wn3|cHix$2a6n~;RD_hU^ytXM`&A!uMn%xqVhxs z@azQK>=F4i`-}rg;JPV687ZlQYG4WvfRlT~l$4>rsFTjm-S0p+Z}CXy*NCyd1-{3g zMl4|i%@npE#nAI+b_?{$N+h_ds?Phht#|k9f&s{o5ah}LPf6Fi{Q{{iyH`e5QedG= zOOazQZ;B$(s6s`#IXpFm41>VlkrAJso{^%iq;=fafq^V&An5Y!;qDYch)st;;#bQI zadx$s>9F%9VH?;d2>s!$R8Nu@GU`b+@Z<4WJOi9bpKnWoOM=atOH0^0bH(yZbaY+m z&U0&HZ6}MB5=36}O$J>6161AlVZHlHidx@@6!hTnUITADaLjfM2KEsQ6#`!^%-fcp zaRcg$eR_G$k6xHxEHo>O#b;B;fj)l=BXYN@&k%guK{oJvHd9uftv#R9~es(c)1 zdHGv`#y=h zN&b%u*yt0XOk7%=XKn&ZmJX5U;OC#XQx3SB6*fVv;X$r4u2sJnBcUudW{gX}UKzJ8Nr4?`X-*DvL42oc2LRz7mpZGczK?6qXS{ zl_tWgU!CHl;!#~KYjzf|lF2KIZAQYC)sSQNHE>4v_Vyl%e@X=5e5X32G!yVSBxpXB zl^mb0$y-@Y!Qqk#$EU+}l(`o2kh{`@&-A%D60-Ul?cDUEDCzw)65Lkqs&vHeAi z3pB!@renG!LL*HNltQQKA-^6ZGH9w3arMccte!hnrKR{FE2+#-pG^ZeypPwJ07Gv_ z4;LFdyAI#yT16)^D6$5_W3n{M?(RVQD#o~2#oK8?c($MBE>DiS-rg^43W9sb#~}~5 zhdK^b-iB(fuIyGaiU+a-KHsoRsY!?l%*@RMUWTD8sHh}~e7RSb%LV;j5l0*%Sh!?dySWnX@0z@Nq(CZxF%cA(a~wTCdj zO{%r5xEu z_uEr45xP`$fRs)EEOKDx zA9`;x#8!=1vx^$iA4E2b@!^q)9<}zpx+!}=M98UD6bN*5E+;Hj>NPoRZI*Bf6tUMS zVrlQx_9`|CGcMh4cVxJsHdlwFZa`6 z`tt|v431r&C64zb9v&tpCbkDRIkzY^{ZFROl^ZwDr#v2)!?zlr$0eOkeW01n^xJTE zbZY97;HJ+b)>0Kvi4|4#A;Hw~-FlvSnOK9~!0Bz@iTxYb5)$LZDE;mv#bZwfYDZ1}n_2cJ#uM5)^Es0=_m?Ri0 zB`s{|CoLVVQ@c^0iEphToW8mkL+#n$(@8ZRM>>SGW8CAOKp}3}J8y+atNm#?Vh=Jz467FGAE-po>;CtrUmz{;z;C*aph97FAJ;4rjvz@34-bb8 z0?VuVdT2y7gmexu=&WiPg)S5u*A96HhA$x^@~5S|w-gF1&Y6wFe4l#y*ZmrcZo4Py z1}oEsCRBnL_@TnJl3^^Hg_XD_&HxWQ-7aZ!~1?Y#`X(dWQg<9fkueDJ_8X2pC0IaIj5fReB&RAEv=;K! z%%omhUXl5cX`epuly|}@K_cJ<%}u4Ue@FK4P@x&orS$rlJ@T`Z9B9%aA(zi#SK_wY zl~?6)QFPu`xNi1xSv#W6V-7>UG;D{?-IPCCqB1;9`W0`UCh!0Gayep(o0fPqna*ZC zFL`L656tL){c?$m0?xM;);`+=-@Y-JhT^I)BKLc}{ToVO10SdBr#C~IE^GBuL#vQw z@j;@uR398_UT!$mm}BLQLKCizii|RD4X4wn1{}3hX`FOi??6)hnC6!L#P-3tGDshccff38~g_;H`ZjN%{!rGo>9RJ%%B z7y9q>_5PA!{dpGMhJzNlxDDix1up~a)VSg^vnSS#{<1f1zTWA;qkg=-I85jj*sKEs z1zQ*(2=o8$qUx6@;V$BvybWLNy6uNl`yCYCB$W=`6;ElXLD!8f(v!Xw!$X9l{Z^| z==B}tS%VC^kB_bNH#Y;p0!?A@4RlF0()Dxn zdwP0`nKF~J8M2-Pc+G8HU6UMV2((H?4yVbeI{iCWR#w0Q0|8}Q`ipkY3{6o+G?YBPfMZ2y%Z-Dr$vfuiaQi&f#U8Kpg5#0Uff-ZQ;K`B;!uLS zG(hkIf#4d>{$~E?^31t7H|OfzlX-VCJCk{{)_T_ZJ$>`+ILX7-?6@=9>(r9ukC}i0 zrn=gMnCC#C=CUI4eVht!3p&1$d(JtGxem}4_x@0D_4Hsfud1QX>c?|^|8Zz#Pfbl_ z3A<|KN&P*$s9X)Cq@cUseHoXiGt&gUzg-0iynwsR+J+MvahjRw;Ogqy{Yytv3XR5m zs;au!_*X+iBf@fQ-_l=4m{+CoUt0CO47>Dk=bX=R)X-~jek---XZ+dIJ=P<75dlRc z&swXCi$9^;eG5`CNXcJ6k&j}*tDcw&TIdiLy$(xDvjye|J+gB7bDmXAHqeU)(PGJH zd|YMiL1fQW@53W630TC+2tourMxOgWgr^oWgbAVC~1{#xBL=hC` zEdst%a-O7C#Slx&jUOo$u2lD%U%Ek?QrCS0Xb^}|WGL{eq#)FXo4ZP;8CP9>O5;jy zHY_e|+#7YW1q9-c2J@ik#RUk0=Z)POBU3d_2e~qnY`NcRKW(t}Hp0m8?-L>9l2zWPRTR@fF z1SfR3jun-FU@Y*MJXn0JT5JU}VWO%&^6`)DkkoTeU(qE0;ZR{jP^cFJ!?loV> zOcxY7Iq*a!_6cCm#F(Fe)v+Foog?C_@@6YLyB#pH-hC&6y=P^+)6&-VJp_c5L|rBM z1$XEAD|&+5Gy0CBCK6atl-$?k@LQ%{h_KiTcl-gxn|CGTxL6AW22c;cbDCuI_2|*v zJ>9M@6N;CYmtCeNo>!PHjrJKuvu;cX+b3dVC+5?+D#-rM24*d4>0C|;3IZK+g@YOe zg=!m%TZ&$Uh5Ex>i>z1bfrHEkH=Wn~@tM~Qy2JnS>gsIcwRE5PJ0-VgMY|8^%U+xf zwrD!>*iU_1+hHO{9hWXPUa7p@j`LNCm}h1(e=BRhKboU`wjOU0(dBIS_3i_ET-k>R zUI;=C0p87|s>UoE1%?tvGX)JB^8ZVHzEH6?`d*Psku#&O0`VAGv+-Gi8@k>Kqwb?|q7+q_aCv-&p*i>K(B-CG&1e zFQoa$4{UsgIDFFXG>aBj6&YYm(svvxBO)e>gT)7bxjVZ*Pd1kG^4x1?NbAb0l3HDo z&9AqpAGfmJh9LF@Ev0u^e$7PxBGvgtX>}*3=R1#68+R8C4Qp!_h*7X#==k6YLyK*P z3Tgg!XlU5?98AN`dz-~N3cv$HEQjz(IPQ~Kj1S@7FV3d*pa$C7fBZM4rvvwj(?Uxe zA6wLr-y}0u3Z#rI7b)wg<%Ae_czv44cYFT_K!!(f(E?PM=z8x}DPiH}-7-S1z0d&z zeX8T1eSQ1RX?1l2fC_Q|PST{M;&rq8jI^(N2q&(IIJ{X89~6>c4N!-3D`+GToIQ~v zl@8+F2B3NPw|G;E<_Jz^qv_W9+^l%nSo2s5Cy7|hBauOJf!7}P6Ld=rHe2&dr zOsZ6hzq&V^d`Ss7Vk?jzu&W_&@|s~D4xD=iXjkTHfvD>p^WK|d;25%MdE1VV-V_vX zq-(%Th#)6_ff0=N5(_ah`juZ+=W~K$t$TI@kx=pg09ou@th3%oqLCH*#cbOwpDAVR zSQm=(=noZ-j|g(2Uo|ZtARv}j^bU9;^+Lc2Ojw01Jkz0sJ&dGsTO!&1I~_tlGaBo^`&<&MW#~q5u;}oijTs8?u<@ZzOAV3w z5oU$=XZ4z9=7Ob(N{=OJ-s6B+q~&FV{r7ceYb_Or&2S&*`EGw)5DCL45vRb+>v59! z^zXgCn7XxOe7S<*%QKuoHw38|+%_*L)x1%uehlB2gGj-fc1?PS0{7dxK{X)8Z~!0!(+Jox zDrgLI;5*lF;c-NgvvT48YKv0nn~Zv8GSgiFE_>1#y15{L+43vsZ?L%cVGkdnn(tE< zY-d6P5HwQ4n7s7Ej}pG@R_dj>S+2BhKVl!Mx!@}^|BXYYH1~4=hZK9 zyi;GNfFUZy$&3$rt8-(*frOWJddeWTYB#QDT15CUvgXW>pKbQsq-AA2HLs*03s4e9 zuCL=rAuuQ1^PMsk6jX1wc!KOff;xF_GMXpPv#D^4C9Lc(a~ZBw-v!-X-vpqqcX&F^ zNWpbNS;3*%>9MOgPgCSX6Q1}GQ1e-C8#9}CSI|=X>PZf)7kUnN=k86bTieq26)~Q4 zC`Rk#JkD-&85Kj5pLIkmqsR-Md#tW?9&_54>RQ4Gp*?Sda@Vg=8;xRr_n`rpksBD> z0~8~A$4sOH)^aWwROKM>f-0Zc*$EeqVeDM+Z?a0rgWVrS8KYmGR8z!@c~#4Ag~PfB4xir5zB0 z=%vlA*pV~~Eqcno1`az1U{w6_x}><@;8?{)x72g~Xh1;`&mU9%zlP`k6Tt^Mk$x`6 z)2mw=T3n12$&dH+w8Xqpp?tx_K=;dZ)^9 z8UW9PmsL^(gQ>yy?Oa@tK>28UG>0wP4Y{%y2uzMsi}3PuonEVtUy}XouqwLq!lP>^ zq!D|?$oSUh96-Sv4_YJVtBn7)xgNdDPFn^_pJ^#6e04&X)zOi9_9Q@MGaL|gsG;zBcL6r&ZBY70D{2R`<1uFNzF7?_Yem!lwv(Miwbf zD{M7H3}>SyrlQ(I956*g&zBlQ@t$Kptwo}@VL7THg&OyHq-7ueQH=P(Kw#imzDh~> zw-vPajE?5Ce1C?66ASh*nCi}-hzpr0E(iJw)?X@W{FGPe$B|1EzHCAJx>;Jj-wBZOBASly?S&b6)>?D0rb5x?w?l_de8=U z*KFLRgVFfQosC2bsy z_{CuL-3y{$xjr4s+-RVYquF_tbLA`&a88LZIeqdL$l0n9UJ{QclraG5P3XygUWWf) zE+Hn%22;~o1OF*}oIj`u)LirD*~^PpD|vtXIk zg5eS91553|kesecP}@EApO1yYW?W;feuZxRFb$B|?!w&{w4&HKk;eB|DwjDAmJ_l;LN zRPpK!8;KRgkBBa_!OfT2kGBeMpZEo@j}$^02?+2M;w=4$I_y=y1{7)kyTuB5L+(w| z`NiBzB^WjliHm)0H{S0N^LiA&KQMS;F4cHvJX>Ae2Dn2>89TJn9$vL_ z=Y};|qKlWij_Q@Kf!$#xsi_b23)4{rkZP?&qtye%-pIQ%QX`3*b+YufUzZ5c;;*p- z@X~i2$!$E@)_yo0x`*U%IywT=6rt>XxLy~8xEUV@bA?Y&4Fn9r5S?;Sx=BXygJ-0E zF^TvFm4C**eBWg$)4KADX|2FY*#bT>`mRp9ByGYmnc4CT7mM!bNYD&_EPpz(;Ua|4p4Oc2gj($$TqA&DnnO% zwH^hs>GVOnHOCqjka0Saz40^JuVJH9Wa3go+T;)2d^rPqQ8gqx%#x4PQH>+M1b5}$ zn{tC!d3OPhS_i6N8@N9k=wdL>m3nzSEb}ZR*?mA<%qzc5*?>SWW-7_+eJnDTv-?on z4WEi1W;&|hw?#xBz+>K{ny0Dc^O4gvZ8hkiBMM#daIszRcH5+Z zDVXas7>z+0vhaZwDM|rtO(gJh8}*2~r{)g4Tq!9W(5Hb*fI*Bq2VsI)!`CYeuGypp z?wm+(29HuRTqxz9lO1P0PmQaxJ z6Jm!w!@$vbJF)?HfEs4-pm;G$8ePr$#Xd?H?NgJqB@#$-NzC%W2#pA?l)tk-P$f$< z>;!o{JY~qXwt&)d6<{)=lG0X_ae#+e073md8%Vlp=G#kVmyhLmq3l^C6!!6Q<8rcHT#iFjuqtNhNd)}rZwbeDr!)Z% z)K7VTsjF)SHOew~ryiy6+=mq(k7!B5(xvo%*EsvE^>=l=S*WyxBTDa3a0KWP5~PA4 zuDKa)rlexoMRcSVJg3~Ldw8Eb&l{cf{>eit)Woa1P?{*SMcK`)rZTbmc(LXsUm@oG2O-X znHEd4A+mzbfw8J?uqR-3>rN33V`p_pv6huyYp9>-tRMydB{xz~g>&h8uHFf}+2xS1 z%x21#9=G6QzGI?M^k)TqzGa_fk*!uZQ*>9;sKs2^GFTPl_QE`(y_bPOg>qFVf%}}- zW+9Ad_3v-`BB!8}N=tcvC_3MsR=qzX$Mi^3305}23+E5I4=1=k73#W}t8F%k^~R6P z=JlQY(VBpSNj@4Z+j+R2JT3UWl-%`ja!7~Izl7)dG3X+XA>ff$OZpna*<{!wc(5Yx zVde3zVZF$srvu5~t2n<1HK5uAd&p16jFa`t1kF(%(Nr@jLC0Lr82C-anUs|+pT}UQ zr7%0)>}*>MWL z8uCK2Oyl_J2PJNsiKLZdI+`#Jxz|hznVZd{=wq;~MJ|XS0g#UEsA`^hrM@4nP1on% zq||hl!cu<%?#+ArtJ^v*mi&^iSM{@V**nF}7^?|%nFj~+HCu81pf0MrvjOf)&|bTM~QQ982+RMaDLa*YNa3HI?i~f~wlaCd)S_wXW?gkSbF{ zzWFVN`z;3Hyq9c*Xjh5Wa_-xOyttC|@i2w#e1YwoHpIMt&k_8titn`0Ntj31W_V+$ zmZ=%XOV#@Uv^Gk3`O2Wv{wrmn*D28_il1rPtq|omC5VT4>6z&0=xFKueL*Va+v}LL_#2yGW2Tf6OGE!&p~2fR$b{N^oAiKg zt*ojVrs~K~T2Ug|+Py!s-IdqTDk9=={BvGY-P!uRgA&)Lk0@7Tt6YPX+^K@|{cgoi z*QG)XuLyIR?I6dnRjI7HHCbfla(=7j)7e(*CLL1dWI-)%=O$3ko0t^J%JJr<5uV=_ zwF4D1Kc%1sxZef=x^9$FgT^uAlZC%S+I-d zPYXUs&xA=TX86Cjq-L2lLf_TXml16PeDH*ke!GF^;3yL;nkDR1fIn#xha7$+=9#Zc2=Rj|5jO*YjEe4@_tb# zG&-L4^0@0d%sJ5i?$ql3eH3)bN`o-7aE^u_&-d5lHSpu- zGk^hn)sy1x?w*G7?x!THMi4~DJh&bI1FATU)jv<2s-&El!v&2ObdMCMACqY@61#wK zU2f;aInuE9ym)xaGaru=Oy^NmyqSp~LutBlQy*pcx=1cr{DA`w8^gVm@wBrSAk?;_ z-r&w`2F1F047gfaX3oer${u9%G1Bl)O_Yz=a}_8&9qbfmL7OhgdobeKpNtu>)u_42 z!wtB&SZpw^;ueqR&wtKJ>>O<8mCxl}Ch>}fYWnU~J1WRV|4?1NnXa5uf4N)VGGA1b zU2TfK{vL~+e|42~0M6v2u?;C$Du;br{i+J87k0@W)mQM(?&$zOWeFYs+rpvn#s*cD zS5F#m2pgCe6&Ld_j6{@pc~*#C%vF1<5SF-E%uBBSvA+8^Z<0k#@w;neA>+W+5_u5^ zJ+;Lz(_B2;`U$v?XLVWLE-#hOsEwZ2s~<)ZZ@DboHEWJKSXaN99n}2NBjkm?a%6Y~ zy}nRz_1Pqr{UmmOu;W%jfC_n)tQs+=jq0-^Cwb63vp z7BGgSQiPj2+eH)1qkoQaxtQ?7eIVyXV7AmrmxF-4yl~`Jw-DiF_UmEj!ptzD<|O$l z%jmSL>3WNZ+psh6dVfCyfQPjlKNxJp%x|YMlh4jhuZwTkQc)2(~bAZwJb9BO_V-#*W@wQb^bE}6GuDJ)% zYsV7uR2o+e@!1(YcWhU6bq!^8>kGcL^4{en^OUyp>QNe@g^}78=BtKQtsx&a0bPl|0m~EsAX<0sPhOEm6>?e8$jHZg(lK3flsj-om}Dz4AFVng0SvUneAaZWS9)Ut-0uE;C2W64v< zzr(H4^tL$g1F9VC%@Ty_zZ!F%y(9y)8XT4{ky85Ab(Nu11H(y`nBv2RhTBIeI4e6% zos9upZP|h|S7V=8eqzsabY3Ix>ti$jIN@ov>@CGeE(GyF8(M9`fAEzi*{yg83M#9O zuMf?4wXf^zS#aQL3B4ZNi)!Iv$4Rvmv@F~eaBa%Ic6li&3hLN#O~|bZq$z6&7^Ti> z9n8ba;pVI2&lD$ozHS~UnX(Ej6XHh+p;4qMV1!% zI{w>W_tt;b6p^4C;ALoqNg9vy&-~ literal 0 HcmV?d00001