@memberjunction/realtime-runtime 6.2.0-edge.4 → 6.2.0-edge.5

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.
Files changed (31) hide show
  1. package/dist/hosts/IRealtimeMediaHost.d.ts +25 -30
  2. package/dist/hosts/IRealtimeMediaHost.d.ts.map +1 -1
  3. package/dist/index.d.ts +5 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +4 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/session/RealtimeSessionRuntime.d.ts +285 -65
  8. package/dist/session/RealtimeSessionRuntime.d.ts.map +1 -1
  9. package/dist/session/RealtimeSessionRuntime.js +690 -165
  10. package/dist/session/RealtimeSessionRuntime.js.map +1 -1
  11. package/dist/session/RecordingShardDrain.d.ts +59 -0
  12. package/dist/session/RecordingShardDrain.d.ts.map +1 -0
  13. package/dist/session/RecordingShardDrain.js +135 -0
  14. package/dist/session/RecordingShardDrain.js.map +1 -0
  15. package/dist/session/RecordingShardQueue.d.ts +54 -37
  16. package/dist/session/RecordingShardQueue.d.ts.map +1 -1
  17. package/dist/session/RecordingShardQueue.js +87 -83
  18. package/dist/session/RecordingShardQueue.js.map +1 -1
  19. package/dist/session/RecordingShardStore.d.ts +57 -0
  20. package/dist/session/RecordingShardStore.d.ts.map +1 -0
  21. package/dist/session/RecordingShardStore.js +184 -0
  22. package/dist/session/RecordingShardStore.js.map +1 -0
  23. package/dist/session/RecordingShardWindow.d.ts +42 -0
  24. package/dist/session/RecordingShardWindow.d.ts.map +1 -0
  25. package/dist/session/RecordingShardWindow.js +88 -0
  26. package/dist/session/RecordingShardWindow.js.map +1 -0
  27. package/dist/session/RecordingTransport.d.ts +66 -0
  28. package/dist/session/RecordingTransport.d.ts.map +1 -0
  29. package/dist/session/RecordingTransport.js +61 -0
  30. package/dist/session/RecordingTransport.js.map +1 -0
  31. package/package.json +10 -9
@@ -136,23 +136,20 @@ export interface IRealtimeFrameSampler {
136
136
  /**
137
137
  * The recording capability a host may optionally provide.
138
138
  *
139
- * Mirrors the browser recorder's existing surface so the runtime's call sites are unchanged by the
140
- * extraction. Every method is best-effort by contract: a recorder that fails mid-session must
141
- * degrade to "no recording" rather than failing the call, because audio capture is never worth
142
- * dropping a live conversation over.
139
+ * The host captures the call (mic + agent mix) at **48 kHz** and runs ONE continuous Opus encoder
140
+ * for the whole call: mono, 32 kbps, 20 ms frames (960 samples). The runtime pulls the encoded
141
+ * packets every few seconds, cuts them into indexed `MJOPUS1` shards, keeps each one in a durable
142
+ * local store until the server acknowledges it, and sends a terminal request when the call ends.
143
+ * The host never builds a container (no WAV, no Ogg) and never base64-encodes anything: the server
144
+ * assembles the final `recording.wav` from the shards.
145
+ *
146
+ * Every method is best-effort by contract: a recorder that fails mid-session must degrade to
147
+ * "no recording" rather than failing the call, because audio capture is never worth dropping a live
148
+ * conversation over.
143
149
  */
144
150
  export interface IRealtimeSessionRecorder {
145
- /** `false` when capture could not start (unsupported platform, no permission). */
151
+ /** `false` when capture could not start (unsupported platform, no permission, no encoder). */
146
152
  readonly IsRecording: boolean;
147
- /** Capture sample rate, used to label the header-less PCM16 crash-recovery shards. */
148
- readonly SampleRate: number;
149
- /**
150
- * Container MIME type of the FINAL consolidated recording.
151
- *
152
- * Read it BEFORE {@link StopAndEncode} — implementations are permitted to clear it on stop,
153
- * which is why the runtime captures it first.
154
- */
155
- readonly MimeType: string;
156
153
  /**
157
154
  * Begins capture of the microphone, mixing in the agent's audio when it is already available.
158
155
  *
@@ -168,26 +165,24 @@ export interface IRealtimeSessionRecorder {
168
165
  * old track would otherwise record silence. A recorder without it keeps its original binding.
169
166
  */
170
167
  ReplaceMicrophone?(micStream: MediaStream): void;
171
- /** Milliseconds into the recording, used to stamp per-turn cue offsets into a seekable file. */
168
+ /**
169
+ * Milliseconds into the recording, derived from the samples captured so far on the 48 kHz
170
+ * sample clock (never wall clock), used to stamp per-turn cue offsets into the assembled file.
171
+ */
172
172
  NowOffsetMs(): number;
173
- /** Waveform peaks computed during capture; survives {@link StopAndEncode}. */
174
- GetPeaks(): number[];
175
173
  /**
176
- * Returns audio captured since the previous snapshot, **already base64-encoded**, or `null`
177
- * when nothing new is pending.
178
- *
179
- * Encoding lives behind this seam deliberately: browsers reach for `Blob` + `FileReader`,
180
- * React Native reads a file off disk, and a test harness may hold bytes in memory. The runtime
181
- * only forwards the string to the server, so it should never learn which of those it is.
182
- *
183
- * Shards are header-less raw little-endian PCM16 — recovery is concatenate-in-order then
184
- * WAV-wrap. The canonical seekable file is the consolidated {@link StopAndEncode} upload.
174
+ * Returns the 20 ms Opus packets encoded since the previous call, in capture order, and forgets
175
+ * them; an empty array when none are ready. Synchronous and cheap: it hands over what the
176
+ * encoder already produced and never encodes on the caller's thread — the runtime calls it from
177
+ * `pagehide`, where there is no time to wait for an encoder.
185
178
  */
186
- SnapshotNewSegmentBase64(): Promise<string | null>;
179
+ TakeEncodedPackets(): Uint8Array[];
187
180
  /**
188
- * Stops capture and returns the consolidated recording **already base64-encoded**, or `null`
189
- * when nothing was captured. Idempotent.
181
+ * Stops capture, flushes the encoder (its last packets become available to
182
+ * {@link TakeEncodedPackets}), and resolves the total number of samples captured at 48 kHz. That
183
+ * count may be less than `packets × 960` when the encoder padded its last frame; the runtime
184
+ * trims the final shard to it. Idempotent: a second call resolves the same count.
190
185
  */
191
- StopAndEncode(): Promise<string | null>;
186
+ Stop(): Promise<number>;
192
187
  }
193
188
  //# sourceMappingURL=IRealtimeMediaHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IRealtimeMediaHost.d.ts","sourceRoot":"","sources":["../../src/hosts/IRealtimeMediaHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAElJ;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;;;;;;;OAUG;IACH,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1C;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE3C;;;;;;;;OAQG;IACH,0BAA0B,CAAC,IAAI,qBAAqB,CAAC;IAErD;;;;;;OAMG;IACH,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEvF;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,CAAC;IAE9F;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,IAAI,wBAAwB,GAAG,IAAI,CAAC;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC;IAEjB,gGAAgG;IAChG,IAAI,IAAI,IAAI,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACrC,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,sFAAsF;IACtF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;IAEtE,8FAA8F;IAC9F,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAE9C;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAEjD,gGAAgG;IAChG,WAAW,IAAI,MAAM,CAAC;IAEtB,8EAA8E;IAC9E,QAAQ,IAAI,MAAM,EAAE,CAAC;IAErB;;;;;;;;;;OAUG;IACH,wBAAwB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnD;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3C"}
1
+ {"version":3,"file":"IRealtimeMediaHost.d.ts","sourceRoot":"","sources":["../../src/hosts/IRealtimeMediaHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAElJ;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;;;;;;;OAUG;IACH,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1C;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE3C;;;;;;;;OAQG;IACH,0BAA0B,CAAC,IAAI,qBAAqB,CAAC;IAErD;;;;;;OAMG;IACH,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEvF;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,CAAC;IAE9F;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,IAAI,wBAAwB,GAAG,IAAI,CAAC;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC;IAEjB,gGAAgG;IAChG,IAAI,IAAI,IAAI,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,wBAAwB;IACrC,8FAA8F;IAC9F,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;IAEtE,8FAA8F;IAC9F,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAE9C;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAEjD;;;OAGG;IACH,WAAW,IAAI,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,kBAAkB,IAAI,UAAU,EAAE,CAAC;IAEnC;;;;;OAKG;IACH,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3B"}
package/dist/index.d.ts CHANGED
@@ -28,7 +28,7 @@
28
28
  * @module @memberjunction/realtime-runtime
29
29
  */
30
30
  export { RealtimeSessionRuntime } from './session/RealtimeSessionRuntime.js';
31
- export { REALTIME_RECORDING_CONSENT_KEY, type RealtimeConnectionState, type RealtimeCaption, type RealtimeDelegationProgress, type RealtimeDelegationResult, type RealtimeClientToolHandler, type RealtimeChannelFocusEvent, type RealtimeDelegationNarration, type RealtimeThoughtNarration, type StartRealtimeClientSessionResult, type RealtimeSessionRunOptions, } from './session/RealtimeSessionRuntime.js';
31
+ export { REALTIME_RECORDING_CONSENT_KEY, RECORDING_TERMINAL_ACK_TIMEOUT_MS, RECORDER_STOP_TIMEOUT_MS, type RealtimeConnectionState, type RealtimeCaption, type RealtimeDelegationProgress, type RealtimeDelegationResult, type RealtimeClientToolHandler, type RealtimeChannelFocusEvent, type RealtimeDelegationNarration, type RealtimeThoughtNarration, type StartRealtimeClientSessionResult, type RealtimeSessionRunOptions, type RecordingTerminalOptions, } from './session/RealtimeSessionRuntime.js';
32
32
  export { ResolveAvatarNotice, type RealtimeAvatarNotice } from './session/avatar-notice.js';
33
33
  export { DefaultRealtimeSessionLauncher, type IRealtimeSessionLauncher, type RealtimeSessionLaunchRequest, type RealtimeSessionLaunchContext, } from './session/session-launcher.js';
34
34
  export { RealtimeSessionEventHub, type IRealtimeSessionEventSource, type RealtimeSessionEventHubOptions, type RealtimeSessionStreamEvent, type RealtimeSessionVerificationSnapshot, } from './session/session-event-hub.js';
@@ -52,4 +52,8 @@ export { VisualPerceptionPump, type VisualFrameReason, type VisualFrameSink, typ
52
52
  export { ChannelPerceptionCoalescer, DEFAULT_CHANNEL_PERCEPTION_OPTIONS, type ChannelPerceptionHost, type ChannelPerceptionOptions, } from './channels/channel-perception.js';
53
53
  export { ParseDelegationResultJson, type ParsedDelegationArtifact, type ParsedDelegationResult, FormatToolName, } from './session/delegation-result-parser.js';
54
54
  export { BuildNarrationInstructions, DefaultNarrationInstructions, type NarrationBuildOptions, } from './narration/narration-template.js';
55
+ export { type RecordingShard } from './session/RecordingShardWindow.js';
56
+ export { CreateRecordingShardStore, NullRecordingShardStore, RECORDING_SHARD_RETENTION_MS, type IRecordingShardStore, type PendingRecordingShard, } from './session/RecordingShardStore.js';
57
+ export { FetchRecordingTransport, RecordingBaseURLFromGraphQLURL, type FetchRecordingTransportConfig, type IRecordingTransport, type RecordingTerminalInput, type RecordingUploadOptions, type RecordingUploadOutcome, } from './session/RecordingTransport.js';
58
+ export { CreateRecordingTransportForProvider, DeleteStoredRecordingShard, DrainStoredRecordingShardsOnce, MAX_DRAINED_SHARDS_PER_LOAD, RECORDING_LOGOUT_SEND_TIMEOUT_MS, ReleaseRecordingShardsAtLogout, ReleaseUserRecordingShards, type RecordingShardDrainPass, type RecordingShardRelease, } from './session/RecordingShardDrain.js';
55
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -30,7 +30,7 @@
30
30
  // The session runtime itself — the orchestration a host subclasses or composes.
31
31
  export { RealtimeSessionRuntime } from './session/RealtimeSessionRuntime.js';
32
32
  // Session-facing types a host or UI binds to.
33
- export { REALTIME_RECORDING_CONSENT_KEY, } from './session/RealtimeSessionRuntime.js';
33
+ export { REALTIME_RECORDING_CONSENT_KEY, RECORDING_TERMINAL_ACK_TIMEOUT_MS, RECORDER_STOP_TIMEOUT_MS, } from './session/RealtimeSessionRuntime.js';
34
34
  // Why a connected call shows no avatar its agent asked for (`RealtimeSessionRuntime.AvatarNotice$`).
35
35
  export { ResolveAvatarNotice } from './session/avatar-notice.js';
36
36
  // How a session is minted — the seam an app implements to replace the stock mint.
@@ -60,4 +60,7 @@ export { ChannelPerceptionCoalescer, DEFAULT_CHANNEL_PERCEPTION_OPTIONS, } from
60
60
  // Delegation result parsing + narration instruction assembly.
61
61
  export { ParseDelegationResultJson, FormatToolName, } from './session/delegation-result-parser.js';
62
62
  export { BuildNarrationInstructions, DefaultNarrationInstructions, } from './narration/narration-template.js';
63
+ export { CreateRecordingShardStore, NullRecordingShardStore, RECORDING_SHARD_RETENTION_MS, } from './session/RecordingShardStore.js';
64
+ export { FetchRecordingTransport, RecordingBaseURLFromGraphQLURL, } from './session/RecordingTransport.js';
65
+ export { CreateRecordingTransportForProvider, DeleteStoredRecordingShard, DrainStoredRecordingShardsOnce, MAX_DRAINED_SHARDS_PER_LOAD, RECORDING_LOGOUT_SEND_TIMEOUT_MS, ReleaseRecordingShardsAtLogout, ReleaseUserRecordingShards, } from './session/RecordingShardDrain.js';
63
66
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,gFAAgF;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,8CAA8C;AAC9C,OAAO,EACH,8BAA8B,GAWjC,MAAM,kCAAkC,CAAC;AAE1C,qGAAqG;AACrG,OAAO,EAAE,mBAAmB,EAA6B,MAAM,yBAAyB,CAAC;AAEzF,kFAAkF;AAClF,OAAO,EACH,8BAA8B,GAIjC,MAAM,4BAA4B,CAAC;AAEpC,4GAA4G;AAC5G,OAAO,EACH,uBAAuB,GAK1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAmC,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACH,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,GAM9B,MAAM,6BAA6B,CAAC;AACrC,gHAAgH;AAChH,OAAO,EAAE,wBAAwB,EAAgC,MAAM,+BAA+B,CAAC;AAQvG,8GAA8G;AAC9G,OAAO,EACH,kCAAkC,EAClC,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,GAEhC,MAAM,wCAAwC,CAAC;AAEhD,2FAA2F;AAC3F,OAAO,EACH,sBAAsB,GAGzB,MAAM,oCAAoC,CAAC;AAS5C,iFAAiF;AACjF,OAAO,EACH,yBAAyB,GAM5B,MAAM,yCAAyC,CAAC;AACjD,oFAAoF;AACpF,OAAO,EACH,iCAAiC,EACjC,2BAA2B,GAE9B,MAAM,sCAAsC,CAAC;AAa9C,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC7H,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAsD,MAAM,sCAAsC,CAAC;AACxJ,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAmB,MAAM,gCAAgC,CAAC;AACzH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAA4B,MAAM,iCAAiC,CAAC;AACpG,OAAO,EACH,oBAAoB,GAIvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,0BAA0B,EAC1B,kCAAkC,GAGrC,MAAM,+BAA+B,CAAC;AAEvC,8DAA8D;AAC9D,OAAO,EACH,yBAAyB,EAGzB,cAAc,GACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,0BAA0B,EAC1B,4BAA4B,GAE/B,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,gFAAgF;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,8CAA8C;AAC9C,OAAO,EACH,8BAA8B,EAC9B,iCAAiC,EACjC,wBAAwB,GAY3B,MAAM,kCAAkC,CAAC;AAE1C,qGAAqG;AACrG,OAAO,EAAE,mBAAmB,EAA6B,MAAM,yBAAyB,CAAC;AAEzF,kFAAkF;AAClF,OAAO,EACH,8BAA8B,GAIjC,MAAM,4BAA4B,CAAC;AAEpC,4GAA4G;AAC5G,OAAO,EACH,uBAAuB,GAK1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAmC,MAAM,oBAAoB,CAAC;AACpH,OAAO,EACH,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,GAM9B,MAAM,6BAA6B,CAAC;AACrC,gHAAgH;AAChH,OAAO,EAAE,wBAAwB,EAAgC,MAAM,+BAA+B,CAAC;AAQvG,8GAA8G;AAC9G,OAAO,EACH,kCAAkC,EAClC,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,GAEhC,MAAM,wCAAwC,CAAC;AAEhD,2FAA2F;AAC3F,OAAO,EACH,sBAAsB,GAGzB,MAAM,oCAAoC,CAAC;AAS5C,iFAAiF;AACjF,OAAO,EACH,yBAAyB,GAM5B,MAAM,yCAAyC,CAAC;AACjD,oFAAoF;AACpF,OAAO,EACH,iCAAiC,EACjC,2BAA2B,GAE9B,MAAM,sCAAsC,CAAC;AAa9C,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC7H,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAsD,MAAM,sCAAsC,CAAC;AACxJ,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAmB,MAAM,gCAAgC,CAAC;AACzH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAA4B,MAAM,iCAAiC,CAAC;AACpG,OAAO,EACH,oBAAoB,GAIvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,0BAA0B,EAC1B,kCAAkC,GAGrC,MAAM,+BAA+B,CAAC;AAEvC,8DAA8D;AAC9D,OAAO,EACH,yBAAyB,EAGzB,cAAc,GACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,0BAA0B,EAC1B,4BAA4B,GAE/B,MAAM,gCAAgC,CAAC;AAKxC,OAAO,EACH,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,GAG/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,uBAAuB,EACvB,8BAA8B,GAMjC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,mCAAmC,EACnC,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,GAG7B,MAAM,+BAA+B,CAAC"}