@amaster.ai/pi-video-gen 0.1.18 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # pi-video-gen
2
2
 
3
- Pi extension for agentic video generation. Ships the single-clip primitive (`video_generate`), the multi-shot render pipeline (`video_render`), local lossless clip composing and mixed-media promo timelines with overlays, TTS, soft or burned subtitles, source-video audio, and BGM (`video_compose`), the read-only `video_capabilities` query, a `/video-gen` command, and the `video-gen` skill that orchestrates the full shot-book workflow together with [pi-image-gen](../pi-image-gen) (all image work).
3
+ Pi extension for video creation. `video_generate` calls a video model directly for one clip; `video_compose` assembles existing media by lossless concat, FFmpeg timeline or a trusted Remotion project; `video_render` executes a prepared batch script with generated and existing shots, persistent remote-task recovery and optional assembly. The `video-gen` skill explains how to choose per shot. `video_capabilities` and `/video-gen` provide model information and direct commands.
4
4
 
5
5
  ## Providers
6
6
 
@@ -95,9 +95,9 @@ Global settings (`~/.pi/agent/settings.json`):
95
95
 
96
96
  | Tool | What it does |
97
97
  |---|---|
98
- | `video_compose` | **Local video assembly, no paid video models.** C0 (`compose-input.json`) concatenates compatible clips. Timeline media, overlays, transitions, subtitles, source audio, and BGM render locally. Narration is an explicit network feature: setting `voice` to `edge-tts:<voice-name>` sends narration text to Microsoft Edge TTS. |
98
+ | `video_compose` | **Local video assembly, no paid video models.** `compose-input.json` concatenates compatible clips; `timeline-input.json` renders FFmpeg media, overlays, transitions and subtitles; `remotion-input.json` renders a trusted editable Remotion project. Narration with `edge-tts:<voice-name>` sends text to Microsoft Edge TTS. |
99
99
  | `video_generate` | One short clip from a structured prompt plus optional first/last frames or current-account trusted `referenceAssets`. Paid, minutes per clip. Interrupted after receiving a task id? Resume with the returned `jobId`; an ambiguous submit is parked and never resubmitted automatically. |
100
- | `video_render` | Multi-shot film from `<jobDir>/render-input.json`: every shot requires a local first frame or at least one trusted asset; snapshots + hashes local frames, submits one paid task per shot (resume-aware, finished shots never re-bill), downloads clips, ffmpeg-concats into `final_video.mp4`. |
100
+ | `video_render` | Executes `<jobDir>/render-input.json`: each shot uses either `videoPath` or a generated prompt with a first frame/trusted asset. Only generated shots need a model and API key. The default assembly concatenates; optional `assembly` selects FFmpeg timeline or Remotion. Paid handles, local snapshots, final SHA-256 and QC hashes support safe recovery. |
101
101
  | `video_capabilities` | Read-only: active model's capability table, trusted asset modalities, and registered models. Call before composing prompts or shot books. |
102
102
 
103
103
  ## Structured prompts
@@ -134,19 +134,17 @@ Both paid tools take structured prompt fields, never a pre-joined string. The pl
134
134
  | `/video-gen reload` | Reload settings |
135
135
  | `/video-gen doctor` | Environment check (key, ffmpeg+ffprobe, libx264, CJK fonts, `image_generate`, output dir, trust) |
136
136
 
137
- ## The shot-book workflow (multi-shot films)
137
+ ## Choosing the path
138
138
 
139
- Driven by the `video-gen` skill in conversation:
139
+ Choose the source for each shot: reuse existing video, call `video_generate` directly for a missing model clip, or draw precise text/UI/chart animation in Remotion. Use `video_render` when a prepared batch needs automation and reliable recovery. A shot book, character portraits and first/last frames are optional creative aids. See [the skill](skills/video-gen/SKILL.md), [render script examples](skills/video-gen/references/video-render-workflow.md) and [Remotion handoff](skills/video-gen/references/remotion-handoff.md).
140
140
 
141
- 1. **Shot book** — the agent authors a shot book (characters + shots with
142
- first/last-frame descriptions, visuals+action, effects, audio, continuity)
143
- and you review it in chat. Default small: 1 scene, 3–5 shots.
144
- 2. **Sources** — the agent uses current-account trusted portrait assets when
145
- Seedance will receive recognizable real people; otherwise it generates
146
- character portraits and per-shot frames via `image_generate`, tracking local
147
- returned paths in `assets.json`.
148
- 3. **Render** — after explicit confirmation, ONE `video_render` call pays for
149
- and stitches everything.
141
+ `video_compose` accepts `<jobDir>/remotion-input.json` with absolute `projectDir`, `compositionId`, optional `entryPoint`, `assets`, `inputProps` and `browserExecutable`. The project must be in a trusted working directory and have local Remotion dependencies plus Chrome/Chromium installed. Original `public/` files are copied with their relative paths; injected assets are available through `inputProps.videoGenAssets` and `staticFile()`. `video_render` uses the same contract under `assembly.type: "remotion"`; it preflights the project with placeholders before any model submit. The plugin does not install Remotion or download a browser during a render.
142
+
143
+ For Remotion batch rendering, the composition must expose `props.videoGenShotTimesSec` with one in-film sample time (seconds) per shot ID. It may be set through `defaultProps` or computed by `calculateMetadata` from the actual assets. The placeholder preflight checks that every shot has a valid time before paid submission; the final QC uses the values returned by the rendered composition. Default concat and FFmpeg timeline QC use actual clip or resolved segment durations instead.
144
+
145
+ Keep Remotion source files and imports outside the video output directory; that directory is excluded from the frozen project fingerprint so other jobs cannot invalidate paid work. The entry point is rejected if it is inside the output directory, and the output directory cannot be inside the project's `public/` tree.
146
+
147
+ Remotion is installed by the local project rather than distributed with this package. Review [Remotion's license FAQ](https://www.remotion.dev/docs/license/faq) for the project's usage and organization before deploying an automated rendering service.
150
148
 
151
149
  ## Jobs on disk
152
150
 
@@ -154,11 +152,14 @@ Driven by the `video-gen` skill in conversation:
154
152
  <cwd>/.video-gen/<jobId>/
155
153
  ├── render-input.json # immutable spec (revisions = new job dir)
156
154
  ├── assets.json # semantic assets ↔ image_generate's real returned paths
157
- ├── manifest.json # state + per-shot remote handles + frame SHA-256 (atomic, single writer)
158
- ├── shots/<shotId>/first_frame.png|last_frame.png|video.mp4 # frames optional for asset-only shots
159
- └── final_video.mp4
155
+ ├── manifest.json # state + per-shot remote handles/local hashes + final SHA-256
156
+ ├── shots/<shotId>/first_frame.png|last_frame.png|video.mp4
157
+ ├── qc/shot_<shotId>.png # one frame per source shot with content hashes
158
+ ├── qc/final_part_<n>.png # samples from the assembled MP4
159
+ ├── assembly/ # separate child job for timeline or Remotion mode
160
+ └── final_video.mp4 # default concat mode; assembly modes return assembly/final_video.mp4
160
161
  ```
161
162
 
162
- Crash or cancel mid-render? Rerun the same spec path — the input fingerprint (spec + frame hashes + model/provider) is verified, then persisted handles resume via `inspect` without re-billing. NOTE: cancelling stops local polling only; the remote task may keep running and billable (Ark cancellation support is unverified). If submit completion is ambiguous, rerun is blocked until `/video-gen recover <jobId>` explicitly resets or adopts the affected shot. Single-clip ambiguous submits are also persisted and blocked; check the provider console before starting another generation. Single-job resume independently recomputes the request fingerprint from its frozen `input.json`; an inspect 404 keeps the remote handle and parks the job as ambiguous instead of declaring it safe to resubmit.
163
+ Crash or cancel mid-render? Rerun the same spec path — generated-shot handles resume via `inspect` without re-billing, and local shots are checked against frozen content hashes. Completed jobs verify their final MP4 and QC hashes instead of recomposing. All-local jobs omit the model/provider from their fingerprint and need no API key. A legacy `done` render manifest without a saved final SHA-256 cannot verify its old film; create a new compose job from the saved clips. Cancelling stops local polling only; remote tasks may keep running and billable. If submit completion is ambiguous, use `/video-gen recover <jobId>` after checking the provider console.
163
164
 
164
165
  **Upgrading from the pre-structured format**: render jobs whose `render-input.json` still uses the old `videoPrompt` string can no longer be parsed or resumed (the structured `prompt` object replaced it deliberately, with no compatibility layer). If an in-flight paid task is stranded by the upgrade, download its clip manually from the provider console — task URLs expire (Ark: 24h). Single-clip jobs are unaffected: their frozen `input.json` is read, not re-parsed.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,iCAAiC,CAAC;AAsRzC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAulClE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,iCAAiC,CAAC;AAwRzC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA0nClE"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import { truncateHead, } from '@earendil-works/pi-coding-agent';
8
8
  import { Type } from 'typebox';
9
9
  import { runCompose } from './compose.js';
10
10
  import { DEFAULT_VIDEO_MODEL_ID, listModelRegistry, loadVideoGenSettings, resolveModel, resolveOutputDir, } from './config.js';
11
- import { AmbiguousSubmitError, errorMessageForUser, missingKeyError, providerLabel, RemoteTaskFailedError, RemoteTaskNotFoundError, redactUrl, toLogSummary, } from './errors.js';
11
+ import { AmbiguousSubmitError, errorMessageForUser, missingKeyError, providerLabel, RemoteTaskFailedError, RemoteTaskNotFoundError, redactUrl, toLogSummary, VideoGenError, } from './errors.js';
12
12
  import { resolveFfmpeg, resolveFfprobe, resolveGplFfmpeg } from './ffmpeg.js';
13
13
  import { readApprovedFrame } from './frame-input.js';
14
14
  import { ActiveJobs, assertSafeId, ensureSingleJobDir, loadRenderJob, loadSingleJob, newJobId, readJsonFile, resolveJobDirInsideOutput, saveRenderJob, saveSingleJob, singleJobDir, writeJsonAtomic, } from './jobs/store.js';
@@ -21,7 +21,8 @@ import { newapiAdapter } from './providers/newapi.js';
21
21
  import { openrouterAdapter } from './providers/openrouter.js';
22
22
  import { normalizeReferenceAssets, referenceAssetPreflightError, requestFingerprint, } from './providers/request.js';
23
23
  import { CancelledError, pollTask, RateLimiter } from './providers/task.js';
24
- import { runRender } from './render.js';
24
+ import { runRemotion } from './remotion.js';
25
+ import { parseRenderSpec, runRender } from './render.js';
25
26
  import { hasCjkFont } from './text-layer.js';
26
27
  import { runTimeline } from './timeline-render.js';
27
28
  /** Registered provider wire adapters. */
@@ -538,6 +539,26 @@ export default function piVideoGenExtension(pi) {
538
539
  });
539
540
  return okResult(`Promo video ready: ${result.finalVideoPath} (${result.segments} segments, ${result.durationSec.toFixed(1)}s). QC frames: ${result.qcFrames.join(', ')}. Job: ${result.jobId}.`, result);
540
541
  }
542
+ if (name === 'remotion-input.json') {
543
+ const ffmpeg = resolveFfmpeg(settings.ffmpegPath);
544
+ if (!ffmpeg.runnable)
545
+ return errResult('ffmpeg is required for Remotion media validation. Run /video-gen doctor.');
546
+ const result = await runRemotion({
547
+ specPath: p.composeSpecPath,
548
+ cwd: ctx.cwd,
549
+ settings,
550
+ activeJobs,
551
+ trusted: isProjectTrusted(ctx),
552
+ ffmpegPath: ffmpeg.path,
553
+ signal,
554
+ });
555
+ pi.appendEntry('video-gen:last-job', {
556
+ jobId: result.jobId,
557
+ kind: 'remotion',
558
+ finalVideoPath: result.finalVideoPath,
559
+ });
560
+ return okResult(`Remotion video ready: ${result.finalVideoPath}. Editable project: ${result.projectDir}. Job: ${result.jobId}.`, result);
561
+ }
541
562
  // C0: lossless concat of existing clips.
542
563
  const result = await runCompose({
543
564
  composeSpecPath: p.composeSpecPath,
@@ -562,15 +583,20 @@ export default function piVideoGenExtension(pi) {
562
583
  /** Shared multi-shot render flow for the tool's execute() and `/video-gen render`. */
563
584
  const runRenderTool = async (p, ctx, signal, onUpdate) => {
564
585
  try {
565
- const resolved = resolveModel(settings);
566
- if (!resolved) {
586
+ const specRaw = await readFile(resolve(ctx.cwd, p.renderSpecPath), 'utf-8').catch(() => {
587
+ throw new VideoGenError('Render spec not readable. Expected <jobDir>/render-input.json.', 'render: spec unreadable');
588
+ });
589
+ const spec = parseRenderSpec(specRaw);
590
+ const needsModel = spec.shots.some((shot) => !shot.videoPath);
591
+ const resolved = needsModel ? (resolveModel(settings) ?? undefined) : undefined;
592
+ if (needsModel && !resolved) {
567
593
  return errResult(`Cannot resolve model "${settings.defaultModel ?? DEFAULT_VIDEO_MODEL_ID}". Run /video-gen models, or fix pi-video-gen.defaultModel.`);
568
594
  }
569
- const adapter = ADAPTERS[resolved.provider.style];
570
- if (!adapter) {
595
+ const adapter = resolved ? ADAPTERS[resolved.provider.style] : undefined;
596
+ if (needsModel && !adapter) {
571
597
  return errResult(`Provider adapter "${resolved.provider.style}" is unavailable in this build. Run /video-gen models or reinstall pi-video-gen.`);
572
598
  }
573
- if (!resolved.provider.apiKey) {
599
+ if (resolved && !resolved.provider.apiKey) {
574
600
  return errResult(missingKeyError(resolved.provider.style, ENV_VAR_BY_STYLE[resolved.provider.style], resolved.provider.apiKeyPath).message);
575
601
  }
576
602
  const ffmpeg = resolveFfmpeg(settings.ffmpegPath);
@@ -587,6 +613,7 @@ export default function piVideoGenExtension(pi) {
587
613
  activeJobs,
588
614
  rateLimiter,
589
615
  ffmpegPath: ffmpeg.path,
616
+ trusted: isProjectTrusted(ctx),
590
617
  signal,
591
618
  onUpdate: (msg) => onUpdate?.(okResult(msg)),
592
619
  });
@@ -596,7 +623,7 @@ export default function piVideoGenExtension(pi) {
596
623
  kind: 'render',
597
624
  finalVideoPath: result.finalVideoPath,
598
625
  });
599
- return okResult(`Final video ready: ${result.finalVideoPath} (${result.shotsDone} shots). Job: ${result.jobId}.${degradedNote}`, result);
626
+ return okResult(`Final video ready: ${result.finalVideoPath} (${result.shotsDone} shots). QC: ${result.qcReportPath ?? 'not recorded'}; frames: ${result.qcFrames.join(', ') || 'not recorded'}.${result.editableProjectDir ? ` Editable project: ${result.editableProjectDir}.` : ''} Job: ${result.jobId}.${degradedNote}`, result);
600
627
  }
601
628
  catch (error) {
602
629
  console.error(`[pi-video-gen] video_render failed: ${toLogSummary(error)}`);
@@ -628,7 +655,7 @@ export default function piVideoGenExtension(pi) {
628
655
  pi.registerTool({
629
656
  name: 'video_generate',
630
657
  label: 'Generate Video Clip',
631
- description: 'Generate a single short video clip (one shot) from a structured prompt, optionally anchored by first/last frames or provider-managed trusted assets. Paid, slow (minutes per clip). For multi-shot videos, use the video-gen skill workflow instead of calling this repeatedly.',
658
+ description: 'Generate one video-model clip directly from a structured prompt and optional frames or trusted assets. Paid and slow. Repeat directly when hands-on control is useful; use video_render only for a prepared batch with recovery.',
632
659
  parameters: buildGenerateParams(schemaCaps),
633
660
  promptSnippet: 'Generate one short video clip (paid, minutes) from a structured prompt via the active video model',
634
661
  promptGuidelines: [
@@ -654,16 +681,16 @@ export default function piVideoGenExtension(pi) {
654
681
  pi.registerTool({
655
682
  name: 'video_compose',
656
683
  label: 'Compose Video Clips',
657
- description: 'Local video assembly, no paid models. Two specs: <jobDir>/compose-input.json (C0: lossless concat of 2+ existing mp4 clips, ffprobe stream precheck) or <jobDir>/timeline-input.json (C1+: promo from mixed images/video clips + overlays + TTS + transitions + soft or burned subtitles, rendered locally).',
684
+ description: 'Compose existing media locally: lossless concat (compose-input.json), FFmpeg timeline (timeline-input.json), or a trusted Remotion project (remotion-input.json). No video-model calls; timeline narration may use network TTS.',
658
685
  parameters: Type.Object({
659
686
  composeSpecPath: Type.String({
660
- description: 'Path to <jobDir>/compose-input.json (C0) or <jobDir>/timeline-input.json (promo timeline). The parent directory must live under the video-gen output dir and acts as the job. Rerunning the same path resumes identical input; revisions require a NEW job directory.',
687
+ description: 'Path to <jobDir>/compose-input.json, timeline-input.json, or remotion-input.json. The parent directory is the immutable job under the video-gen output directory.',
661
688
  }),
662
689
  }),
663
- promptSnippet: 'Assemble video locally — lossless clip concat (C0) or a mixed image/video promo timeline with TTS and soft/burned subtitles, no paid models',
690
+ promptSnippet: 'Compose existing assets locally by concat, FFmpeg timeline, or a trusted Remotion project; no paid video model',
664
691
  promptGuidelines: [
665
692
  'Read the video-gen skill and follow its concat or timeline workflow before writing the spec. Local composition skips video_capabilities and paid-model gates.',
666
- 'Two modes: <jobDir>/compose-input.json (C0: concat 2+ compatible mp4 clips) or <jobDir>/timeline-input.json (promo: mixed images/video + overlays + TTS + xfade + soft/burned subtitles). Rendering is local; optional narration sends text to Microsoft Edge TTS.',
693
+ 'Choose compose-input.json for lossless concat, timeline-input.json for FFmpeg overlays and narration, or remotion-input.json for precise graphics and an editable React project. Remotion requires a trusted local project and installed Remotion/Chrome; optional narration sends text to Microsoft Edge TTS.',
667
694
  'For C0: every ordered stream across all clips must match (codec/resolution/fps/timebase/pix_fmt/sample-rate/audio layout) — mismatches are reported via ffprobe, never silently transcoded. Do NOT use for AI video generation (use video_generate/video_render).',
668
695
  'For timeline: each segment contains exactly one image or video. Video uses numeric durationSec with optional trimStartSec, fit, and sourceAudio; image may use auto duration and motion.',
669
696
  'Reuse existing images/screenshots/clips first and generate only missing visuals with image_generate. Put Chinese titles in overlay and use subtitles.mode "burn" when narration subtitles must appear directly in the frames.',
@@ -679,7 +706,7 @@ export default function piVideoGenExtension(pi) {
679
706
  pi.registerTool({
680
707
  name: 'video_render',
681
708
  label: 'Render Multi-Shot Video',
682
- description: 'Render a multi-shot video from <jobDir>/render-input.json: each shot requires a local first frame or at least one provider-managed trusted asset. Submits one paid task per shot (resuming persisted handles on rerun), downloads clips, and concatenates them into final_video.mp4.',
709
+ description: 'Execute a prepared render-input.json with generated and existing video shots. Only generated shots call a paid model; resume persisted tasks and assemble by concat, FFmpeg timeline, or Remotion.',
683
710
  parameters: Type.Object({
684
711
  renderSpecPath: Type.String({
685
712
  description: 'Path to <jobDir>/render-input.json. The parent directory must live under the video-gen output dir and acts as the (immutable) job. Rerunning the same path resumes; revisions require a NEW job directory.',
@@ -688,9 +715,10 @@ export default function piVideoGenExtension(pi) {
688
715
  description: 'Explicit user-approved downgrades for capability mismatches.',
689
716
  })),
690
717
  }),
691
- promptSnippet: 'Render a prepared multi-shot video spec (paid, long-running) into a final mp4',
718
+ promptSnippet: 'Execute a prepared multi-shot script with existing or paid generated clips and resumable assembly',
692
719
  promptGuidelines: [
693
- 'Read the video-gen skill and follow its multi-shot workflow. Call ONLY after the user explicitly confirmed rendering: exact local frames/trusted assets ready, shot count, durations, provider/account context, and cost magnitude stated.',
720
+ 'Read the video-gen skill. Use video_render for a prepared batch needing automation or recovery. Paid approval applies only to generated shots; all-local scripts need no model key or paid confirmation.',
721
+ 'Each shot chooses videoPath for existing media or prompt plus firstFramePath/referenceAssets for generation. Optional assembly selects timeline or Remotion; Remotion is preflighted before the first model submit.',
694
722
  'For each shot, either generate required local frames via image_generate and record their returned paths, or pass current-account provider assets in referenceAssets. Recognizable real-person references sent to Seedance must use preset-avatar or authorized-person assets.',
695
723
  'render-input.json carries structured prompts: film-level style/characters/consistency/negative, per-shot prompt.{scene,visuals,action,effects,audio,visibleCharacters} — the plugin assembles the labeled prompt text; never pre-join a prompt string.',
696
724
  'The spec is immutable per job directory: rerunning the same path resumes identical input; revisions go in a NEW job directory.',
@@ -800,7 +828,7 @@ export default function piVideoGenExtension(pi) {
800
828
  if (sub === 'compose') {
801
829
  const specPath = (args ?? '').trim().slice('compose'.length).trim();
802
830
  if (!specPath) {
803
- ctx.ui.notify('Usage: /video-gen compose <jobDir/compose-input.json|timeline-input.json>', 'error');
831
+ ctx.ui.notify('Usage: /video-gen compose <jobDir/compose-input.json|timeline-input.json|remotion-input.json>', 'error');
804
832
  return;
805
833
  }
806
834
  const result = await runComposeTool({ composeSpecPath: specPath }, ctx, ctx.signal);
@@ -953,7 +981,7 @@ export default function piVideoGenExtension(pi) {
953
981
  ctx.ui.notify(result.content[0].text, 'info');
954
982
  return;
955
983
  }
956
- ctx.ui.notify('pi-video-gen commands:\n /video-gen generate --visuals ".." --action ".." [--style ".." --scene ".."] Generate a single clip\n /video-gen render <spec> Render a multi-shot video\n /video-gen compose <spec> Concat clips or render an image/TTS timeline\n /video-gen recover <jobId> Resolve ambiguous shots (reset/adopt)\n /video-gen models List registered models\n /video-gen reload Reload settings\n /video-gen doctor Check environment (ffmpeg, CJK fonts, keys, image_generate, output dir)', 'info');
984
+ ctx.ui.notify('pi-video-gen commands:\n /video-gen generate --visuals ".." --action ".." [--style ".." --scene ".."] Generate one model clip\n /video-gen render <spec> Run a mixed-shot script with recovery\n /video-gen compose <spec> Concat, FFmpeg timeline, or Remotion project\n /video-gen recover <jobId> Resolve ambiguous shots (reset/adopt)\n /video-gen models List registered models\n /video-gen reload Reload settings\n /video-gen doctor Check environment (ffmpeg, CJK fonts, keys, image_generate, output dir)', 'info');
957
985
  },
958
986
  });
959
987
  function runDoctor(ctx) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAGL,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,yBAAyB,EAEzB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAcnD,yCAAyC;AACzC,MAAM,QAAQ,GAAyD;IACrE,GAAG,EAAE,UAAU;IACf,SAAS,EAAE,gBAAgB;IAC3B,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,iBAAiB;CAC9B,CAAC;AAEF,MAAM,gBAAgB,GAAkC;IACtD,GAAG,EAAE,aAAa;IAClB,SAAS,EAAE,mBAAmB;IAC9B,KAAK,EAAE,eAAe;IACtB,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,gBAAgB;IACxB,UAAU,EAAE,oBAAoB;CACjC,CAAC;AAQF,SAAS,QAAQ,CAAC,IAAY,EAAE,UAAmC,EAAE;IACnE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,UAAmC,EAAE;IACpE,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,qCAAqC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACpG,CAAC;AAED,SAAS,YAAY,CAAC,OAAgC;IACpD,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;YACpE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,EAAE,GAAG,qEAAqE,CAAC;IACjF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,sBAAsB,GAAG,8BAA8B,EAAE,CAAC;QAC5E,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,4EAA4E;QAC5E,0EAA0E;QAC1E,4DAA4D;QAC5D,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO;gBACL,KAAK,EAAE,mCAAmC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,0CAA0C,IAAI,CAAC,CAAC,CAAC,GAAG;aAC5G,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACzF,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,sBAAsB,IAAI,8BAA8B,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,qFAAqF;AACrF,SAAS,mBAAmB,CAAC,IAAmC;IAC9D,OAAO,IAAI,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,IAAI,CAAC,QAAQ,CACnB,IAAI,CAAC,MAAM,CACT;YACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC;gBACV,WAAW,EACT,6EAA6E;aAChF,CAAC,CACH;YACD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;gBACnB,WAAW,EACT,0GAA0G;aAC7G,CAAC;YACF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;YACjE,OAAO,EAAE,IAAI,CAAC,QAAQ,CACpB,IAAI,CAAC,MAAM,CAAC;gBACV,WAAW,EACT,4GAA4G;aAC/G,CAAC,CACH;YACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC;gBACV,WAAW,EACT,8GAA8G;aACjH,CAAC,CACH;YACD,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;gBACxB,WAAW,EAAE,uEAAuE;aACrF,CAAC,CACH;SACF,EACD;YACE,WAAW,EACT,mPAAmP;SACtP,CACF,CACF;QACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EACT,yIAAyI;SAC5I,CAAC,CACH;QACD,UAAU,EAAE,IAAI,CAAC,QAAQ,CACvB,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,MAAM,CAAC;YACV,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;YACjB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;SAClE,CAAC,EACF;YACE,WAAW,EACT,qFAAqF;SACxF,CACF,CACF;QACD,WAAW,EAAE,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EACT,8HAA8H;SACjI,CAAC,CACH;QACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CACrB,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EAAE,gEAAgE;SAC9E,CAAC,CACH;QACD,UAAU,EAAE,IAAI,CAAC,QAAQ,CACvB,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EACT,6JAA6J;SAChK,CAAC,CACH;QACD,GAAG,CAAC,IAAI,EAAE,sBAAsB;YAC9B,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI,CAAC,QAAQ,CACtB,IAAI,CAAC,MAAM,CAAC;oBACV,WAAW,EACT,4GAA4G;iBAC/G,CAAC,CACH;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,IAAI,EAAE,wBAAwB,EAAE,MAAM;YACxC,CAAC,CAAC;gBACE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAC5B,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,MAAM,CAAC;oBACV,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC;oBACnD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;wBACnB,WAAW,EACT,6FAA6F;qBAChG,CAAC;iBACH,CAAC,EACF;oBACE,WAAW,EACT,2IAA2I;iBAC9I,CACF,CACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,WAAW,EAAE,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,OAAO,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,WAAW,EAAE,IAAI;gBACf,CAAC,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB;gBACrG,CAAC,CAAC,6CAA6C;SAClD,CAAC,CACH;QACD,WAAW,EAAE,IAAI;YACf,CAAC,CAAC,IAAI,CAAC,QAAQ,CACX,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC,CACrF;YACH,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC,CAAC;QAClF,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC;YACV,WAAW,EACT,2GAA2G;SAC9G,CAAC,CACH;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAAgB;IAC1D,IAAI,QAAQ,GAAqB,EAAE,CAAC;IACpC,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAEpC,MAAM,cAAc,GAAG,CAAC,GAAqB,EAAE,EAAE;QAC/C,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,WAAW,GAAG,IAAI,WAAW,CAC3B,QAAQ,CAAC,SAAS,EAAE,oBAAoB,EACxC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CACtC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAElG;;;;OAIG;IACH,MAAM,aAAa,GAAG,KAAK,EACzB,MAAc,EACd,UAAkB,EAClB,KAAa,EACb,GAAW,EAC6B,EAAE;QAC1C,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,GAAG,IAAI,QAAQ,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;wBAAS,CAAC;oBACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;gBACD,GAAG,GAAG,SAAS,CAAC;gBAChB,MAAM;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBACjE,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC,CAAC;IAeF,kFAAkF;IAClF,MAAM,WAAW,GAAG,KAAK,EACvB,UAA8B,EAC9B,GAAqB,EACrB,MAAoB,EACpB,QAAwC,EACnB,EAAE;QACvB,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CACd,yBAAyB,QAAQ,CAAC,YAAY,IAAI,sBAAsB,0IAA0I,CACnN,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CACd,qBAAqB,QAAQ,CAAC,QAAQ,CAAC,KAAK,kFAAkF,CAC/H,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,SAAS,CACd,eAAe,CACb,QAAQ,CAAC,QAAQ,CAAC,KAAK,EACvB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EACzC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAC7B,CAAC,OAAO,CACV,CAAC;QACJ,CAAC;QACD,sEAAsE;QACtE,wDAAwD;QACxD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,eAAe,GAAqB,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,eAAe,GAAG,wBAAwB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,WAAW,GACf,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC;gBAChD,kBAAkB,CAChB,UAAU,EACV,UAAU,CAAC,MAAM,EACjB,EAAE,aAAa,EAAE,CAAC,CAAC,UAAU,EAAE,EAC/B,QAAQ,CACT,CAAC;YACJ,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9C,OAAO,SAAS,CACd,qBAAqB,QAAQ,CAAC,KAAK,CAAC,EAAE,sGAAsG,CAC7I,CAAC;QACJ,CAAC;QACD,IACE,UAAU,CAAC,WAAW,IAAI,IAAI;YAC9B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;gBACxC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC1C,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC7C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9C,OAAO,SAAS,CACd,kDAAkD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,UAAU,CAAC,WAAW,GAAG,CACtJ,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CACd,uBAAuB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,CAAC,WAAW,IAAI,CAC3H,CAAC;QACJ,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjF,OAAO,SAAS,CAAC,mEAAmE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,UAAU,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAClF,OAAO,SAAS,CACd,8BAA8B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,CAAC,WAAW,IAAI,CACvH,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,4BAA4B,CAAC;YAClD,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACtC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC1B,YAAY,EAAE,IAAI;YAClB,eAAe;YACf,oBAAoB,EAClB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC;SACzF,CAAC,CAAC;QACH,IAAI,cAAc;YAAE,OAAO,SAAS,CAAC,cAAc,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtD,oFAAoF;QACpF,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,QAAQ,EAAE,KAAK,KAAK,WAAW,EAAE,CAAC;gBACpC,OAAO,SAAS,CACd,QAAQ,UAAU,CAAC,KAAK,iKAAiK,EACzL,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAC5B,CAAC;YACJ,CAAC;YACD,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,QAAQ,EAAE,KAAK,KAAK,MAAM,IAAI,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvF,OAAO,QAAQ,CACb,gCAAgC,QAAQ,CAAC,SAAS,aAAa,QAAQ,CAAC,KAAK,GAAG,EAChF;oBACE,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B,CACF,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACjC,OAAO,SAAS,CACd,OAAO,UAAU,CAAC,KAAK,8GAA8G,CACtI,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACtB,OAAO,SAAS,CACd,mCAAmC,UAAU,CAAC,KAAK,qFAAqF,CACzI,CAAC;YACJ,CAAC;YACD,IACE,CAAC,QAAQ,CAAC,kBAAkB;gBAC5B,QAAQ,CAAC,MAAM,CAAC,kBAAkB,KAAK,QAAQ,CAAC,kBAAkB,EAClE,CAAC;gBACD,OAAO,SAAS,CACd,OAAO,UAAU,CAAC,KAAK,8HAA8H,EACrJ,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAC5B,CAAC;YACJ,CAAC;YACD,iEAAiE;YACjE,wEAAwE;YACxE,oEAAoE;YACpE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9E,OAAO,SAAS,CACd,OAAO,UAAU,CAAC,KAAK,yHAAyH,UAAU,CAAC,KAAK,sDAAsD,CACvN,CAAC;YACJ,CAAC;YACD,wEAAwE;YACxE,yDAAyD;YACzD,IACE,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ;gBACtC,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBAClD,QAAQ,CAAC,eAAe,KAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO,EACtD,CAAC;gBACD,OAAO,SAAS,CACd,OAAO,UAAU,CAAC,KAAK,4BAA4B,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,QAAQ,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,kBAAkB,uCAAuC,QAAQ,CAAC,QAAQ,QAAQ,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,oEAAoE,CAC9a,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7F,MAAM,WAAW,GAAG,YAAY,CAE9B,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YAC9B,IACE,CAAC,WAAW;gBACZ,WAAW,CAAC,KAAK,KAAK,QAAQ,CAAC,OAAO;gBACtC,WAAW,CAAC,SAAS,KAAK,QAAQ,CAAC,KAAK;gBACxC,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ;gBACtC,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,WAAkC,CAAC;oBACvE,QAAQ,CAAC,kBAAkB,EAC7B,CAAC;gBACD,OAAO,SAAS,CACd,OAAO,UAAU,CAAC,KAAK,kHAAkH,EACzI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAC5B,CAAC;YACJ,CAAC;YACD,sEAAsE;YACtE,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;oBACpE,IAAI,MAA0B,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC/C,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,GAAG,SAAS,CAAC;oBACrB,CAAC;oBACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACxB,OAAO,SAAS,CACd,kBAAkB,GAAG,sFAAsF,CAC5G,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5F,CAAC;oBAAS,CAAC;gBACT,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACpD,0EAA0E;QAC1E,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,MAAM,GAAwB;YAClC,sEAAsE;YACtE,8CAA8C;YAC9C,MAAM,EAAE,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,MAAO,CAAC;YACtD,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YAClE,mBAAmB,EAAE,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChF,eAAe;YACf,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,kBAAkB;YACxE,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,kBAAkB;YACxE,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB;YAC5C,aAAa,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC;QACF,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,qEAAqE;YACrE,8DAA8D;YAC9D,MAAM,WAAW,GAA2B,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxF,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;oBAClC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;gBACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBACtF,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;oBAClC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChD,CAAC;gBACD,IAAI,MAAM,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;oBACvC,MAAM,UAAU,GAAa,EAAE,CAAC;oBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC3D,MAAM,IAAI,GAAG,MAAM,aAAa,CAC9B,MAAM,EACN,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAE,EAC9B,OAAO,CAAC,EAAE,EACV,GAAG,CAAC,GAAG,CACR,CAAC;wBACF,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;wBAClC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBACD,MAAM,CAAC,mBAAmB,GAAG,UAAU,CAAC;gBAC1C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CACd,qIAAqI,CACtI,CAAC;YACJ,CAAC;YAED,eAAe,CAAC,GAAG,MAAM,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YACjF,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1E,qEAAqE;YACrE,yEAAyE;YACzE,aAAa,CAAC,SAAS,EAAE;gBACvB,KAAK;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,QAAQ,CAAC,QAAQ;gBAC1B,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACtC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;gBAC1C,kBAAkB,EAAE,mBAAmB;gBACvC,WAAW,EAAE,yDAAyD;gBACtE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CACjC,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,QAAQ,EACjB,MAAM,EACN,KAAK,EACL,MAAM,CACP,CAAC;YACF,aAAa,CAAC,SAAS,EAAE;gBACvB,KAAK;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,MAAM;gBACN,kBAAkB,EAAE,mBAAmB;gBACvC,OAAO,EAAE,QAAQ,CAAC,QAAQ;gBAC1B,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK;gBACtC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;gBAC1C,WAAW;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;YACH,OAAO,MAAM,SAAS,CACpB,aAAa,CAAC,SAAS,EAAE,KAAK,CAAE,EAChC,QAAQ,CAAC,QAAQ,EACjB,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,CACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,mEAAmE;IACnE,MAAM,SAAS,GAAG,KAAK,EACrB,QAA2B,EAC3B,QAA0B,EAC1B,OAA6B,EAC7B,SAAiB,EACjB,MAAoB,EACpB,QAAwC,EACnB,EAAE;QACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAA0B,CAAC;QACnD,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC;YACH,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,MAAM,CAAC,MAAM,sBAAsB,CAAC,CAAC,CAAC;YAClE,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC;gBAC/B,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;gBAC7D,MAAM;gBACN,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBACzB,IAAI,OAAO,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;wBACvB,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,GAAG,MAAM,YAAY,CAAC;YACxC,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;YAChE,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CACnC,QAAQ,EACR,MAAM,EACN,SAAS,CAAC,QAAQ,EAClB,SAAS,EACT,KAAK,EACL,MAAM,CACP,CAAC;YAEF,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE;gBACnC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,CAAC,IAAI;aACrB,CAAC,CAAC;YACH,OAAO,QAAQ,CACb,qBAAqB,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,QAAQ,CAAC,KAAK,GAAG,EACxG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAC1F,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,cAAc,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACvD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CACpC,QAAQ,EACR,MAAM,EACN,KAAK,EACL,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5B,CAAC;wBACF,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;4BACxB,MAAM,IAAI,GAAG;gCACX,GAAG,QAAQ;gCACX,KAAK,EAAE,QAAiB;gCACxB,KAAK,EAAE,oBAAoB;6BAC5B,CAAC;4BACF,OAAO,IAAI,CAAC,MAAM,CAAC;4BACnB,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;4BAC/B,OAAO,SAAS,CAAC,eAAe,MAAM,CAAC,MAAM,iBAAiB,EAAE;gCAC9D,KAAK,EAAE,QAAQ,CAAC,KAAK;gCACrB,MAAM,EAAE,MAAM,CAAC,MAAM;6BACtB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBACD,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACpE,OAAO,SAAS,CACd,0CAA0C,MAAM,CAAC,MAAM,+JAA+J,QAAQ,CAAC,KAAK,iCAAiC,EACrQ,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CACjD,CAAC;YACJ,CAAC;YACD,OAAO,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAE,SAAiB,EAAE,KAAa,EAAc,EAAE;QAC3F,OAAO,CAAC,KAAK,CAAC,mCAAmC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,KAAK,YAAY,qBAAqB,CAAC;YACxD,MAAM,SAAS,GACb,KAAK,YAAY,oBAAoB,IAAI,KAAK,YAAY,uBAAuB,CAAC;YACpF,MAAM,IAAI,GAAsB;gBAC9B,GAAG,QAAQ;gBACX,KAAK,EAAE,SAAS;oBACd,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ;wBAC5B,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,QAAQ;gBACd,KAAK,EAAE,KAAK,YAAY,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;aAC5F,CAAC;YACF,IAAI,QAAQ;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC;YACjC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,SAAS,CACd,KAAK,YAAY,uBAAuB;YACtC,CAAC,CAAC,OAAO,KAAK,iNAAiN;YAC/N,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAC9B,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC,CAAC;IAEF,gFAAgF;IAChF,MAAM,cAAc,GAAG,KAAK,EAC1B,CAA8B,EAC9B,GAAqB,EACrB,MAAoB,EACpB,QAAwC,EACnB,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAC1D,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACnC,wEAAwE;gBACxE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;oBAC/B,gBAAgB,EAAE,CAAC,CAAC,eAAe;oBACnC,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,QAAQ;oBACR,UAAU;oBACV,MAAM;oBACN,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAC7C,CAAC,CAAC;gBACH,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE;oBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,UAAU;oBAChB,cAAc,EAAE,MAAM,CAAC,cAAc;iBACtC,CAAC,CAAC;gBACH,OAAO,QAAQ,CACb,sBAAsB,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,GAAG,EAC/K,MAA4C,CAC7C,CAAC;YACJ,CAAC;YACD,yCAAyC;YACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;gBAC9B,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,QAAQ;gBACR,UAAU;gBACV,MAAM;gBACN,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC7C,CAAC,CAAC;YACH,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE;gBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,SAAS;gBACf,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,CAAC,CAAC;YACH,OAAO,QAAQ,CACb,sBAAsB,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,SAAS,0BAA0B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,MAAM,CAAC,KAAK,GAAG,EACrJ,MAA4C,CAC7C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;IAEF,sFAAsF;IACtF,MAAM,aAAa,GAAG,KAAK,EACzB,CAAuE,EACvE,GAAqB,EACrB,MAAoB,EACpB,QAAwC,EACnB,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,SAAS,CACd,yBAAyB,QAAQ,CAAC,YAAY,IAAI,sBAAsB,6DAA6D,CACtI,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,SAAS,CACd,qBAAqB,QAAQ,CAAC,QAAQ,CAAC,KAAK,kFAAkF,CAC/H,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC9B,OAAO,SAAS,CACd,eAAe,CACb,QAAQ,CAAC,QAAQ,CAAC,KAAK,EACvB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EACzC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAC7B,CAAC,OAAO,CACV,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,SAAS,CACd,yCAAyC,MAAM,CAAC,MAAM,2FAA2F,CAClJ,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;gBAC7B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;gBACtC,QAAQ;gBACR,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,WAAW;gBACX,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,MAAM;gBACN,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC7C,CAAC,CAAC;YACH,MAAM,YAAY,GAChB,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,EAAE,CAAC,WAAW,CAAC,oBAAoB,EAAE;gBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,CAAC,CAAC;YACH,OAAO,QAAQ,CACb,sBAAsB,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,SAAS,iBAAiB,MAAM,CAAC,KAAK,IAAI,YAAY,EAAE,EAC/G,MAA4C,CAC7C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAW,EAAE;QACpC,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG;YACZ,iBAAiB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qDAAqD,EAAE;SACpH,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;YACtC,KAAK,CAAC,IAAI,CACR,aAAa,QAAQ,CAAC,QAAQ,CAAC,KAAK,SAAS,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,EAC9F,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACvI,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,2BAA2B,CAAC,CAAC,kBAAkB,EAAE,EAC5J,6BAA6B,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,IAAI,CAAC,EAAE,CACjN,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CACvG,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;QAChD,MAAM,UAAU,GACd,IAAI,IAAI,MAAM,EAAE,QAAQ,CAAC,KAAK,KAAK,KAAK;YACtC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE;YAClD,CAAC,CAAC,IAAI,CAAC;QAEX,EAAE,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EACT,iRAAiR;YACnR,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC;YAC3C,aAAa,EACX,mGAAmG;YACrG,gBAAgB,EAAE;gBAChB,6OAA6O;gBAC7O,qPAAqP;gBACrP,yMAAyM;gBACzM,0GAA0G;gBAC1G,yQAAyQ;gBACzQ,uJAAuJ;gBACvJ,oJAAoJ;gBACpJ,mIAAmI;aACpI;YACD,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;gBACtD,IAAI,CAAC;oBACH,OAAO,MAAM,WAAW,CAAC,MAA4B,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAChF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC9E,OAAO,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EACT,8SAA8S;YAChT,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACtB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC;oBAC3B,WAAW,EACT,uQAAuQ;iBAC1Q,CAAC;aACH,CAAC;YACF,aAAa,EACX,6IAA6I;YAC/I,gBAAgB,EAAE;gBAChB,+JAA+J;gBAC/J,oQAAoQ;gBACpQ,mQAAmQ;gBACnQ,0LAA0L;gBAC1L,+NAA+N;gBAC/N,mLAAmL;gBACnL,yKAAyK;gBACzK,kIAAkI;gBAClI,qIAAqI;aACtI;YACD,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;gBACtD,OAAO,cAAc,CAAC,MAAqC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtF,CAAC;SACF,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,yBAAyB;YAChC,WAAW,EACT,sRAAsR;YACxR,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACtB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC;oBAC1B,WAAW,EACT,4MAA4M;iBAC/M,CAAC;gBACF,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAC9B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,kBAAkB,CAAU,CAAC,EAAE;oBACpD,WAAW,EAAE,8DAA8D;iBAC5E,CAAC,CACH;aACF,CAAC;YACF,aAAa,EACX,+EAA+E;YACjF,gBAAgB,EAAE;gBAChB,4OAA4O;gBAC5O,+QAA+Q;gBAC/Q,wPAAwP;gBACxP,gIAAgI;gBAChI,wHAAwH;aACzH;YACD,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;gBACtD,OAAO,aAAa,CAClB,MAAkE,EAClE,GAAG,EACH,MAAM,EACN,QAAQ,CACT,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,CAAC;YACd,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,0BAA0B;YACjC,WAAW,EACT,6RAA6R;YAC/R,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,aAAa,EAAE,4DAA4D;YAC3E,KAAK,CAAC,OAAO;gBACX,OAAO,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACtC,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAe,EAAE,GAAqB,EAAE,EAAE;QACtE,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,aAAa,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE;QAC9B,WAAW,EACT,qLAAqL;QACvL,OAAO,EAAE,KAAK,EAAE,IAAwB,EAAE,GAAqB,EAAE,EAAE;YACjE,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChF,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,mUAAmU,EACjX,OAAO,CACR,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC;oBACpB,OAAO;oBACP,OAAO;oBACP,SAAS;oBACT,QAAQ;oBACR,SAAS;oBACT,OAAO;oBACP,aAAa;oBACb,UAAU;oBACV,aAAa;oBACb,YAAY;oBACZ,cAAc;oBACd,cAAc;oBACd,cAAc;oBACd,UAAU;oBACV,OAAO;iBACR,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACvF,OAAO;gBACT,CAAC;gBACD,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9E,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChE,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,yDAAyD,CAAC,CAAC,QAAQ,KAAK,EACxE,OAAO,CACR,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,eAAe,GAAqB,EAAE,CAAC;gBAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI;oBAC7B,CAAC,cAAc,EAAE,OAAO,CAAC;oBACzB,CAAC,cAAc,EAAE,OAAO,CAAC;oBACzB,CAAC,cAAc,EAAE,OAAO,CAAC;iBACjB,EAAE,CAAC;oBACX,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS;wBAAE,SAAS;oBACpC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC;yBAC5B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;yBACtB,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACrB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,sCAAsC,EAAE,OAAO,CAAC,CAAC;wBACxE,OAAO;oBACT,CAAC;oBACD,eAAe,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B;oBACE,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,MAAM,EAAE;wBACN,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;wBACxB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;wBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;qBACf;oBACD,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC;oBAC5B,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC;oBAC1B,eAAe;oBACf,WAAW;oBACX,WAAW,EAAE,CAAC,CAAC,KAAK;iBACrB,EACD,GAAG,EACH,GAAG,CAAC,MAAM,CACX,CAAC;gBACF,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,cAAc,CAAC,GAAG,CAAC,CAAC;gBACpB,aAAa,EAAE,CAAC;gBAChB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,2EAA2E,EAC3E,OAAO,CACR,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpF,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,qDAAqD,EAAE,OAAO,CAAC,CAAC;oBAC9E,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClF,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,+CAA+C;gBAC/C,iEAAiE;gBACjE,kEAAkE;gBAClE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,uHAAuH,EACvH,OAAO,CACR,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC;oBACH,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;oBACrD,OAAO;gBACT,CAAC;gBACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,QAA0C,CAAC;gBAC/C,IAAI,CAAC;oBACH,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnD,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,gCAAgC,KAAK,yCAAyC,EAC9E,OAAO,CACR,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,MAAc,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,yBAAyB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;oBAC/D,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;oBACnD,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gCAAgC,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBAED,0DAA0D;gBAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,WAAW,CACrC,CAAC;oBACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,0BAA0B,EAAE,MAAM,CAAC,CAAC;wBAC9D,OAAO;oBACT,CAAC;oBACD,MAAM,KAAK,GAAG;wBACZ,OAAO,KAAK,KAAK,OAAO,CAAC,MAAM,sDAAsD;qBACtF,CAAC;oBACF,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBAC/B,KAAK,CAAC,IAAI,CACR,KAAK,MAAM,2CAA2C,EACtD,0BAA0B,KAAK,IAAI,MAAM,qDAAqD,EAC9F,0BAA0B,KAAK,IAAI,MAAM,iDAAiD,CAC3F,CAAC;oBACJ,CAAC;oBACD,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;oBACxC,OAAO;gBACT,CAAC;gBAED,iEAAiE;gBACjE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,6BAA6B,KAAK,gCAAgC,EAClE,OAAO,CACR,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC;oBACH,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,MAAM,IAAI,EAAE,OAAO,CAAC,CAAC;oBACvD,OAAO;gBACT,CAAC;gBACD,IAAI,OAAiC,CAAC;gBACtC,IAAI,CAAC;oBACH,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACrC,+EAA+E;oBAC/E,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;oBACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gCAAgC,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;wBAClE,OAAO;oBACT,CAAC;oBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,MAAM,YAAY,KAAK,GAAG,EAAE,OAAO,CAAC,CAAC;wBAC/D,OAAO;oBACT,CAAC;oBACD,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;wBAC/B,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,SAAS,MAAM,8BAA8B,IAAI,CAAC,KAAK,wBAAwB,EAC/E,MAAM,CACP,CAAC;wBACF,OAAO;oBACT,CAAC;oBAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;wBACvB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;wBACrE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBAChC,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,SAAS,MAAM,yFAAyF,EACxG,MAAM,CACP,CAAC;wBACF,OAAO;oBACT,CAAC;oBACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;wBACvB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBACzB,IAAI,CAAC,MAAM,EAAE,CAAC;4BACZ,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,6BAA6B,KAAK,IAAI,MAAM,iBAAiB,EAAE,OAAO,CAAC,CAAC;4BACtF,OAAO;wBACT,CAAC;wBACD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;4BACvB,KAAK,EAAE,WAAW;4BAClB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,MAAM,EAAE;gCACN,MAAM;gCACN,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gCACrC,kBAAkB,EAAE,cAAc;6BACnC;4BACD,kBAAkB,EAAE,cAAc;yBACnC,CAAC;wBACF,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;wBAChC,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,SAAS,MAAM,4BAA4B,MAAM,sFAAsF,EACvI,MAAM,CACP,CAAC;wBACF,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,MAAM,yBAAyB,EAAE,OAAO,CAAC,CAAC;gBACrF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;gBACrD,CAAC;wBAAS,CAAC;oBACT,OAAO,EAAE,EAAE,CAAC;gBACd,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC9B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC/C,OAAO;YACT,CAAC;YAED,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,kiBAAkiB,EACliB,MAAM,CACP,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,SAAS,SAAS,CAAC,GAAqB;QACtC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CACT,mBAAmB,QAAQ,CAAC,YAAY,IAAI,sBAAsB,mDAAmD,CACtH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CACT,QAAQ,CAAC,QAAQ,CAAC,MAAM;gBACtB,CAAC,CAAC,KAAK,KAAK,qBAAqB;gBACjC,CAAC,CAAC,KAAK,KAAK,0FAA0F,CACzG,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,QAAQ;YACb,CAAC,CAAC,2BAA2B,MAAM,CAAC,MAAM,GAAG;YAC7C,CAAC,CAAC,wCAAwC,MAAM,CAAC,MAAM,yHAAyH,CACnL,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,QAAQ;YACd,CAAC,CAAC,4BAA4B,OAAO,CAAC,MAAM,GAAG;YAC/C,CAAC,CAAC,0CAA0C,OAAO,CAAC,MAAM,+CAA+C,CAC5G,CAAC;QACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,QAAQ;YACjB,CAAC,CAAC,wCAAwC,UAAU,CAAC,MAAM,GAAG;YAC9D,CAAC,CAAC,2HAA2H,CAChI,CAAC;QAEF,8DAA8D;QAC9D,MAAM,CAAC,IAAI,CACT,UAAU,EAAE;YACV,CAAC,CAAC,8CAA8C;YAChD,CAAC,CAAC,uHAAuH,CAC5H,CAAC;QAEF,iEAAiE;QACjE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,EAAE,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClD,MAAM,CAAC,IAAI,CACT,UAAU,IAAI,OAAO;gBACnB,CAAC,CAAC,uDAAuD;gBACzD,CAAC,CAAC,qBAAqB,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,WAAW,4FAA4F,CAC1K,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC;gBACH,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAClF,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,kBAAkB;QAClB,MAAM,CAAC,IAAI,CACT,gBAAgB,CAAC,GAAG,CAAC;YACnB,CAAC,CAAC,gFAAgF;YAClF,CAAC,CAAC,qEAAqE,CAC1E,CAAC;QAEF,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,9 @@ export type RenderShotState = {
10
10
  /** Orchestrator-computed identity for checking a persisted handle on resume. */
11
11
  requestFingerprint?: string | undefined;
12
12
  videoPath?: string | undefined;
13
+ source?: 'local' | undefined;
14
+ videoHash?: string | undefined;
15
+ localSourceHash?: string | undefined;
13
16
  error?: string | undefined;
14
17
  };
15
18
  export type RenderJobManifest = {
@@ -22,6 +25,10 @@ export type RenderJobManifest = {
22
25
  frameHashes: Record<string, string>;
23
26
  shots: Record<string, RenderShotState>;
24
27
  finalVideoPath?: string | undefined;
28
+ finalVideoHash?: string | undefined;
29
+ assemblyProjectHash?: string | undefined;
30
+ assemblyAssetHashes?: Record<string, string> | undefined;
31
+ qcHashes?: Record<string, string> | undefined;
25
32
  error?: string | undefined;
26
33
  updatedAt: string;
27
34
  };
@@ -89,6 +96,11 @@ export type TimelineSegmentState = {
89
96
  narrationDurationSec?: number | undefined;
90
97
  narrationDegraded?: boolean | undefined;
91
98
  resolvedDurationSec?: number | undefined;
99
+ sentenceTimings?: {
100
+ text: string;
101
+ startSec: number;
102
+ endSec: number;
103
+ }[] | undefined;
92
104
  };
93
105
  export type TimelineJobManifest = {
94
106
  jobId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/jobs/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/jobs/store.ts"],"names":[],"mappings":"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"}
@@ -214,6 +214,8 @@ function validateRenderManifest(raw, path) {
214
214
  if (hashesInvalid) {
215
215
  throw new VideoGenError(`${safeBasename(path)} has an invalid frame hash. Refusing to resume — the frozen frames cannot be verified.`, 'store: frameHashes invalid');
216
216
  }
217
+ if (m.qcHashes !== undefined && !hasSha256Values(m.qcHashes))
218
+ throw new VideoGenError('Render QC hashes are invalid.', 'store: render qc hashes invalid');
217
219
  // Per-shot validation: a shot marked 'submitted' WITHOUT its remote handle
218
220
  // would be re-submitted on resume — a paid duplicate. Refuse truncated
219
221
  // entries outright; the operator fixes or discards the manifest.
@@ -231,7 +233,13 @@ function validateRenderManifest(raw, path) {
231
233
  typeof shot !== 'object' ||
232
234
  !VALID_STATES.has(shot.state) ||
233
235
  (shot.attempt !== undefined && (!Number.isSafeInteger(shot.attempt) || shot.attempt < 1)) ||
234
- (HANDLE_REQUIRED.has(shot.state) && typeof shot.handle?.taskId !== 'string') ||
236
+ (HANDLE_REQUIRED.has(shot.state) &&
237
+ shot.source !== 'local' &&
238
+ typeof shot.handle?.taskId !== 'string') ||
239
+ (shot.source === 'local' &&
240
+ (shot.state !== 'done' ||
241
+ !/^[0-9a-f]{64}$/.test(shot.videoHash ?? '') ||
242
+ !/^[0-9a-f]{64}$/.test(shot.localSourceHash ?? ''))) ||
235
243
  (shot.handle !== undefined &&
236
244
  (typeof shot.requestFingerprint !== 'string' ||
237
245
  (shot.requestFingerprint !== 'manual-adopt' &&
@@ -240,6 +248,8 @@ function validateRenderManifest(raw, path) {
240
248
  throw new VideoGenError(`${safeBasename(path)} has a broken entry for shot "${shotId}" (invalid state, attempt, or task handle). Refusing to resume — fix or discard the manifest.`, 'store: manifest shot invalid');
241
249
  }
242
250
  }
251
+ if (m.assemblyAssetHashes !== undefined && !hasSha256Values(m.assemblyAssetHashes))
252
+ throw new VideoGenError('Render assembly asset hashes are invalid.', 'store: render assembly hashes invalid');
243
253
  return m;
244
254
  }
245
255
  function isRecord(value) {
@@ -269,7 +279,18 @@ export function loadTimelineJob(jobDir) {
269
279
  (typeof segment.resolvedDurationSec === 'number' &&
270
280
  Number.isFinite(segment.resolvedDurationSec) &&
271
281
  segment.resolvedDurationSec >= 0)) &&
272
- (segment.narrationDegraded === undefined || typeof segment.narrationDegraded === 'boolean'));
282
+ (segment.narrationDegraded === undefined ||
283
+ typeof segment.narrationDegraded === 'boolean') &&
284
+ (segment.sentenceTimings === undefined ||
285
+ (Array.isArray(segment.sentenceTimings) &&
286
+ segment.sentenceTimings.every((cue) => isRecord(cue) &&
287
+ typeof cue.text === 'string' &&
288
+ typeof cue.startSec === 'number' &&
289
+ Number.isFinite(cue.startSec) &&
290
+ cue.startSec >= 0 &&
291
+ typeof cue.endSec === 'number' &&
292
+ Number.isFinite(cue.endSec) &&
293
+ cue.endSec > cue.startSec))));
273
294
  if (typeof manifest.jobId !== 'string' ||
274
295
  typeof manifest.state !== 'string' ||
275
296
  !validStates.has(manifest.state) ||