@civitai/blocks-react 0.17.0 → 0.19.0

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
  # `@civitai/blocks-react`
2
2
 
3
- React hooks and iframe transport for [Civitai App Blocks](https://github.com/civitai/civitai-app-starters/blob/main/docs/build-your-first-app-block.md).
3
+ React hooks and iframe transport for [Civitai Apps](https://github.com/civitai/civitai-app-starters/blob/main/docs/build-your-first-app-block.md).
4
4
 
5
5
  Pairs with [`@civitai/app-sdk`](https://www.npmjs.com/package/@civitai/app-sdk)'s
6
6
  `/blocks` subpath, which carries the framework-agnostic manifest, scope, and
@@ -180,6 +180,26 @@ const { purchased, newBalance } = await openPurchaseModal(suggestedAmount);
180
180
  if (purchased) { /* retry the generation */ }
181
181
  ```
182
182
 
183
+ ### `useBuzzBalance()`
184
+
185
+ The signed-in viewer's per-pool Buzz balance (`{ blue, green, yellow }` — the
186
+ domain-clamped pools a block may read; never the platform-internal `red`/`purple`).
187
+ Host-mediated over `GET_BUZZ_BALANCE` → `BUZZ_BALANCE_RESULT`; same trust model as
188
+ `useBuzzWorkflow`/`useBuzzPurchase` (the host resolves the viewer from the block
189
+ token — the block never touches the balance API). Fetches on mount; `refetch` for
190
+ on-demand refreshes.
191
+
192
+ ```tsx
193
+ const { balance, loading, error, refetch } = useBuzzBalance();
194
+ // `balance` is null until the first successful fetch. refetch() after a
195
+ // generation debits it. An anon viewer / missing scope / host failure → `error`.
196
+ if (!loading && balance) console.log(`Yellow: ${balance.yellow}`);
197
+ ```
198
+
199
+ > Per-account Buzz: `useBuzzWorkflow().submit(body)` also takes an optional
200
+ > `body.accountType` (`'blue' | 'green' | 'yellow'`) — a *preference* for which
201
+ > pool funds the generation; the host clamps it server-side.
202
+
183
203
  ### `useAppStorage()`
184
204
 
185
205
  Per-(block instance, viewer) KV datastore, host-mediated. 64 KB per value,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The viewer's per-pool Buzz balance, in the domain-clamped set an App Block
2
+ * The viewer's per-pool Buzz balance, in the domain-clamped set a Civitai App
3
3
  * can read (mirrors `@civitai/app-sdk/blocks`' `BuzzAccountType`). Never
4
4
  * includes the platform-internal pools (`red`/`purple`).
5
5
  */
@@ -0,0 +1,97 @@
1
+ import type { SharedStorageValue } from '@civitai/app-sdk/blocks';
2
+ /**
3
+ * The value a viewer contributes to the SHARED store: a required `title` plus
4
+ * an optional long-form `body`. Re-exported from the app-sdk contract so block
5
+ * authors get one canonical shape.
6
+ */
7
+ export type SharedAppendValue = SharedStorageValue;
8
+ /**
9
+ * Public shape of one SHARED entry returned by `list()`. `createdAt`/`updatedAt`
10
+ * are real `Date`s once the wire's ISO strings are rehydrated (mirrors
11
+ * `AppStorageKeyEntry.updatedAt`). `count` is the live vote total;
12
+ * `authorUserId` is the contributing viewer.
13
+ */
14
+ export interface SharedListItem {
15
+ key: string;
16
+ authorUserId: number;
17
+ value: SharedAppendValue;
18
+ count: number;
19
+ createdAt: Date;
20
+ updatedAt: Date;
21
+ }
22
+ export interface SharedListResult {
23
+ items: SharedListItem[];
24
+ /** Opaque cursor — pass back as `cursor` to page forward. Absent on the last page. */
25
+ nextCursor?: string;
26
+ }
27
+ export interface UseSharedStorage {
28
+ /**
29
+ * Cursor-paginated listing of the app's SHARED entries (newest-first). Each
30
+ * item carries its `value`, `authorUserId`, and current vote `count`.
31
+ */
32
+ list(opts?: {
33
+ prefix?: string;
34
+ limit?: number;
35
+ cursor?: string;
36
+ }): Promise<SharedListResult>;
37
+ /** Current vote total for a single entry (`0` when the key isn't present). */
38
+ getCount(key: string): Promise<number>;
39
+ /**
40
+ * Vote totals for many entries in one round-trip. Returns a map of key →
41
+ * count; keys that aren't present resolve to `0`.
42
+ */
43
+ getCounts(keys: string[]): Promise<Record<string, number>>;
44
+ /**
45
+ * Append a new entry on behalf of the viewer. Resolves with the host-minted
46
+ * `key`. Rejects with the host's `error` string on validation/host failure
47
+ * (or when the viewer is anonymous).
48
+ */
49
+ append(value: SharedAppendValue): Promise<{
50
+ key: string;
51
+ }>;
52
+ /**
53
+ * Cast (or re-affirm) this viewer's up-vote on an entry — idempotent, one
54
+ * vote per viewer. Resolves with the entry's vote total AFTER the vote.
55
+ */
56
+ vote(key: string): Promise<number>;
57
+ /**
58
+ * Remove this viewer's up-vote from an entry — idempotent. Resolves with the
59
+ * entry's vote total AFTER the removal.
60
+ */
61
+ unvote(key: string): Promise<number>;
62
+ /**
63
+ * Withdraw the viewer's own entry. Resolves `{ deleted: true }` when a row
64
+ * was removed, `{ deleted: false }` when it was already gone (idempotent).
65
+ */
66
+ withdraw(key: string): Promise<{
67
+ ok: boolean;
68
+ deleted: boolean;
69
+ }>;
70
+ }
71
+ /**
72
+ * App-scoped, append-only, community-votable SHARED datastore. Sibling of
73
+ * {@link useAppStorage} (the per-viewer KV store) — same postMessage bridge,
74
+ * same request/await/correlate-by-requestId mechanism — but the scope is the
75
+ * APP (every viewer sees the same list) and entries are structured
76
+ * `{ title, body? }` records that any viewer can vote on.
77
+ *
78
+ * Calls flow through the host's postMessage bridge; the block never sees the
79
+ * datastore credentials and never sends its block token (the host injects both
80
+ * the token and the viewer identity). Anonymous viewers get a read path (`list`
81
+ * / `getCount(s)`) and a hard reject on mutations (`append`/`vote`/`unvote`/
82
+ * `withdraw`).
83
+ *
84
+ * The hook is stable across renders — it returns the same object identity once
85
+ * the transport singleton is created, so it's safe in `useEffect`/`useMemo`
86
+ * dependency arrays.
87
+ *
88
+ * @example
89
+ * const shared = useSharedStorage();
90
+ * const { key } = await shared.append({ title: 'Add dark mode', body: '…' });
91
+ * const { items } = await shared.list({ limit: 20 }); // newest-first
92
+ * const count = await shared.vote(key); // idempotent up-vote
93
+ * await shared.unvote(key);
94
+ * await shared.withdraw(key); // remove my own entry
95
+ */
96
+ export declare function useSharedStorage(): UseSharedStorage;
97
+ //# sourceMappingURL=useSharedStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useSharedStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAwFnD"}
@@ -0,0 +1,96 @@
1
+ import { useMemo } from 'react';
2
+ import { getTransport } from '../internal/singleton.js';
3
+ import { sendTypedRequest } from '../internal/transport.js';
4
+ /**
5
+ * App-scoped, append-only, community-votable SHARED datastore. Sibling of
6
+ * {@link useAppStorage} (the per-viewer KV store) — same postMessage bridge,
7
+ * same request/await/correlate-by-requestId mechanism — but the scope is the
8
+ * APP (every viewer sees the same list) and entries are structured
9
+ * `{ title, body? }` records that any viewer can vote on.
10
+ *
11
+ * Calls flow through the host's postMessage bridge; the block never sees the
12
+ * datastore credentials and never sends its block token (the host injects both
13
+ * the token and the viewer identity). Anonymous viewers get a read path (`list`
14
+ * / `getCount(s)`) and a hard reject on mutations (`append`/`vote`/`unvote`/
15
+ * `withdraw`).
16
+ *
17
+ * The hook is stable across renders — it returns the same object identity once
18
+ * the transport singleton is created, so it's safe in `useEffect`/`useMemo`
19
+ * dependency arrays.
20
+ *
21
+ * @example
22
+ * const shared = useSharedStorage();
23
+ * const { key } = await shared.append({ title: 'Add dark mode', body: '…' });
24
+ * const { items } = await shared.list({ limit: 20 }); // newest-first
25
+ * const count = await shared.vote(key); // idempotent up-vote
26
+ * await shared.unvote(key);
27
+ * await shared.withdraw(key); // remove my own entry
28
+ */
29
+ export function useSharedStorage() {
30
+ return useMemo(() => {
31
+ const transport = getTransport();
32
+ return {
33
+ async list(opts) {
34
+ const result = await sendTypedRequest(transport, {
35
+ type: 'SHARED_LIST',
36
+ payload: {
37
+ prefix: opts?.prefix,
38
+ limit: opts?.limit,
39
+ cursor: opts?.cursor,
40
+ },
41
+ }, 'SHARED_LIST_RESULT');
42
+ if (result.error)
43
+ throw new Error(result.error);
44
+ return {
45
+ items: result.items.map((item) => ({
46
+ key: item.key,
47
+ authorUserId: item.authorUserId,
48
+ value: item.value,
49
+ count: item.count,
50
+ createdAt: new Date(item.createdAt),
51
+ updatedAt: new Date(item.updatedAt),
52
+ })),
53
+ nextCursor: result.nextCursor,
54
+ };
55
+ },
56
+ async getCount(key) {
57
+ const result = await sendTypedRequest(transport, { type: 'SHARED_GET_COUNT', payload: { key } }, 'SHARED_GET_COUNT_RESULT');
58
+ if (result.error)
59
+ throw new Error(result.error);
60
+ return result.count;
61
+ },
62
+ async getCounts(keys) {
63
+ const result = await sendTypedRequest(transport, { type: 'SHARED_GET_COUNTS', payload: { keys } }, 'SHARED_GET_COUNTS_RESULT');
64
+ if (result.error)
65
+ throw new Error(result.error);
66
+ return result.counts;
67
+ },
68
+ async append(value) {
69
+ const result = await sendTypedRequest(transport, { type: 'SHARED_APPEND', payload: { value } }, 'SHARED_APPEND_RESULT');
70
+ if (result.error)
71
+ throw new Error(result.error);
72
+ return { key: result.key };
73
+ },
74
+ async vote(key) {
75
+ const result = await sendTypedRequest(transport, { type: 'SHARED_VOTE', payload: { key } }, 'SHARED_VOTE_RESULT');
76
+ if (result.error)
77
+ throw new Error(result.error);
78
+ return result.count;
79
+ },
80
+ async unvote(key) {
81
+ const result = await sendTypedRequest(transport, { type: 'SHARED_UNVOTE', payload: { key } }, 'SHARED_UNVOTE_RESULT');
82
+ if (result.error)
83
+ throw new Error(result.error);
84
+ return result.count;
85
+ },
86
+ async withdraw(key) {
87
+ const result = await sendTypedRequest(transport, { type: 'SHARED_WITHDRAW', payload: { key } }, 'SHARED_WITHDRAW_RESULT');
88
+ if (!result.ok || result.error) {
89
+ throw new Error(result.error ?? 'shared withdraw failed');
90
+ }
91
+ return { ok: true, deleted: result.deleted };
92
+ },
93
+ };
94
+ }, []);
95
+ }
96
+ //# sourceMappingURL=useSharedStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSharedStorage.js","sourceRoot":"","sources":["../../src/hooks/useSharedStorage.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `@civitai/blocks-react` — React hooks + iframe transport for Civitai App Blocks.
2
+ * `@civitai/blocks-react` — React hooks + iframe transport for Civitai Apps.
3
3
  *
4
4
  * Pair with `@civitai/app-sdk/blocks` (framework-agnostic contract). Hooks
5
5
  * land in a follow-up commit; this commit ships the transport layer so the
@@ -33,4 +33,6 @@ export { SfwGate } from './hooks/SfwGate.js';
33
33
  export type { SfwGateProps } from './hooks/SfwGate.js';
34
34
  export { useAppStorage } from './hooks/useAppStorage.js';
35
35
  export type { AppStorageKeyEntry, AppStorageListResult, AppStorageQuota, UseAppStorage, } from './hooks/useAppStorage.js';
36
+ export { useSharedStorage } from './hooks/useSharedStorage.js';
37
+ export type { SharedAppendValue, SharedListItem, SharedListResult, UseSharedStorage, } from './hooks/useSharedStorage.js';
36
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `@civitai/blocks-react` — React hooks + iframe transport for Civitai App Blocks.
2
+ * `@civitai/blocks-react` — React hooks + iframe transport for Civitai Apps.
3
3
  *
4
4
  * Pair with `@civitai/app-sdk/blocks` (framework-agnostic contract). Hooks
5
5
  * land in a follow-up commit; this commit ships the transport layer so the
@@ -27,4 +27,5 @@ export { useBlockAnalytics } from './hooks/useBlockAnalytics.js';
27
27
  export { useDomainMaturity } from './hooks/useDomainMaturity.js';
28
28
  export { SfwGate } from './hooks/SfwGate.js';
29
29
  export { useAppStorage } from './hooks/useAppStorage.js';
30
+ export { useSharedStorage } from './hooks/useSharedStorage.js';
30
31
  //# 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;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO3D,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO3D,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -37,7 +37,7 @@
37
37
  * called). Only the postMessage bridge round-trips are exercised. Never import
38
38
  * this from production code.
39
39
  */
40
- import { type BlockContext, type BlockResourceInfo, type BlockResourcePickerType, type ColorDomain, type Theme, type ViewerInfo, type WorkflowBody } from '@civitai/app-sdk/blocks';
40
+ import { type BlockContext, type BlockResourceInfo, type BlockResourcePickerType, type BuzzAccountType, type ColorDomain, type SharedStorageValue, type Theme, type ViewerInfo, type WorkflowBody } from '@civitai/app-sdk/blocks';
41
41
  /**
42
42
  * How submits resolve. `'none'` = everything succeeds; `'all'` /
43
43
  * `'insufficient'` = every submit returns an insufficient-Buzz `failed`
@@ -118,6 +118,16 @@ export interface MockBuzzScenario {
118
118
  */
119
119
  insufficient?: boolean;
120
120
  }
121
+ /**
122
+ * Per-pool Buzz wallet the mock host reports on `GET_BUZZ_BALANCE`. Mirrors the
123
+ * SDK `BuzzBalance` / block-side `isValidBuzzBalanceResult` shape (each a finite
124
+ * number; never the platform-internal `red`/`purple` pools).
125
+ */
126
+ export interface MockBuzzBalance {
127
+ blue: number;
128
+ green: number;
129
+ yellow: number;
130
+ }
121
131
  /**
122
132
  * STORAGE scenario controls — drive the in-memory KV backend that answers the
123
133
  * `APP_STORAGE_*` protocol, so the W4 KV apps (e.g. Prompt Library) can test
@@ -149,6 +159,33 @@ export interface MockStorageScenario {
149
159
  */
150
160
  failNext?: number;
151
161
  }
162
+ /**
163
+ * A seed entry for the in-memory SHARED store. `value` is the contributed
164
+ * `{ title, body? }` record; `authorUserId` defaults to the viewer's id;
165
+ * `voters` seeds the set of user-ids who've up-voted it (so `count` and the
166
+ * per-user one-vote invariant start populated). Newest seeds list first.
167
+ */
168
+ export interface MockSharedSeed {
169
+ value: SharedStorageValue;
170
+ authorUserId?: number;
171
+ voters?: number[];
172
+ }
173
+ /**
174
+ * SHARED-storage scenario controls — drive the in-memory, app-scoped, votable
175
+ * backend that answers the `SHARED_*` protocol, so App-Blocks SHARED apps can
176
+ * develop/test against `createMockHost` directly. Sibling of
177
+ * {@link MockStorageScenario}.
178
+ */
179
+ export interface MockSharedScenario {
180
+ /** Initial entries the store is seeded with (listed newest-first, in order). */
181
+ seed?: MockSharedSeed[];
182
+ /**
183
+ * Force the next N SHARED mutations (`append`/`vote`/`unvote`/`withdraw`) to
184
+ * fail with a generic `SHARED_UNAVAILABLE` error (counts down) — exercises the
185
+ * error UX.
186
+ */
187
+ failNext?: number;
188
+ }
152
189
  /**
153
190
  * Drives `createMockHost`. Every field is optional with a sensible default so
154
191
  * `createMockHost()` works out of the box. Each block configures SCENARIOS
@@ -198,6 +235,38 @@ export interface MockHostOptions {
198
235
  * {@link MockBuzzScenario}.
199
236
  */
200
237
  buzz?: MockBuzzScenario;
238
+ /**
239
+ * The viewer's per-pool Buzz WALLET ({ blue, green, yellow }) reported to a
240
+ * block via the host-mediated `GET_BUZZ_BALANCE` → `BUZZ_BALANCE_RESULT`
241
+ * bridge (what the `useBuzzBalance` hook reads). Distinct from the
242
+ * {@link MockBuzzScenario.balance} spendable-wallet knob, which only drives
243
+ * the insufficient-Buzz / top-up SUBMIT path — this is the displayable
244
+ * per-pool balance. Absent → {@link DEFAULT_BUZZ_BALANCE} (a plausible
245
+ * non-zero wallet, so a block shows a balance out of the box).
246
+ */
247
+ buzzBalance?: MockBuzzBalance;
248
+ /**
249
+ * Force `GET_BUZZ_BALANCE` to FAIL instead of returning a wallet — exercises
250
+ * the block's balance-read error UI (what `useBuzzBalance().error` surfaces).
251
+ * `true` → a default `'balance unavailable'` message; a string → that exact
252
+ * message; an `Error` → its `.message`. The reply mirrors the real
253
+ * (`createLiveHost`) error shape exactly: `BUZZ_BALANCE_RESULT` with
254
+ * `{ requestId, error }` and NO `balance`. Absent → the balance read
255
+ * succeeds (back-compat). Live-tunable via {@link MockHost.setScenario}.
256
+ */
257
+ buzzBalanceError?: boolean | string | Error;
258
+ /**
259
+ * Buzz pools a `SUBMIT_WORKFLOW` must REJECT when named in `body.accountType`
260
+ * — simulates the real backend's content-rating clamp. The real host throws a
261
+ * `BAD_REQUEST` at the currency-resolution boundary (before any spend) when a
262
+ * block picks a pool the app's maturity policy disallows; the mock mirrors
263
+ * that: a submit whose `accountType` is in this set resolves to a `failed`
264
+ * snapshot carrying {@link disallowedAccountError}'s message (checked BEFORE
265
+ * the insufficient-Buzz / generic-failure paths, matching the real ordering).
266
+ * Absent/empty → any pool is accepted (back-compat). Live-tunable via
267
+ * {@link MockHost.setScenario}.
268
+ */
269
+ disallowedAccountTypes?: BuzzAccountType[];
201
270
  /**
202
271
  * STORAGE scenario: in-memory KV backend (seed / quota / failNext). See
203
272
  * {@link MockStorageScenario}. When omitted, the store starts EMPTY with the
@@ -205,6 +274,13 @@ export interface MockHostOptions {
205
274
  * serves storage now).
206
275
  */
207
276
  storage?: MockStorageScenario;
277
+ /**
278
+ * SHARED scenario: in-memory, app-scoped, votable backend (seed / failNext).
279
+ * See {@link MockSharedScenario}. When omitted, the shared store starts EMPTY
280
+ * — the `SHARED_*` protocol is answered either way (the mock host always
281
+ * serves shared storage now).
282
+ */
283
+ shared?: MockSharedScenario;
208
284
  /** Host theme delivered in `BLOCK_INIT` + context. Default `'dark'`. */
209
285
  theme?: Theme;
210
286
  /**
@@ -261,7 +337,7 @@ export interface MockHostOptions {
261
337
  * `context`, `theme`, and `appId` are fixed at install time — change them by
262
338
  * re-installing.)
263
339
  */
264
- export type MockHostScenarioPatch = Pick<MockHostOptions, 'failMode' | 'cost' | 'pollsUntilDone' | 'cannedPicks' | 'generation' | 'buzz' | 'storage'>;
340
+ export type MockHostScenarioPatch = Pick<MockHostOptions, 'failMode' | 'cost' | 'pollsUntilDone' | 'cannedPicks' | 'generation' | 'buzz' | 'storage' | 'shared' | 'buzzBalanceError' | 'disallowedAccountTypes'>;
265
341
  /** Runtime Buzz-balance handle exposed on {@link MockHost.buzz}. */
266
342
  export interface MockBuzzHandle {
267
343
  /** Current simulated balance, or `undefined` when balance isn't simulated. */
@@ -288,6 +364,14 @@ export interface MockHost {
288
364
  /** Runtime Buzz-balance control for a harness UI. */
289
365
  buzz: MockBuzzHandle;
290
366
  }
367
+ /**
368
+ * The error a `SUBMIT_WORKFLOW` fails with when its `body.accountType` names a
369
+ * pool the app's content rating disallows — byte-for-byte the message the real
370
+ * backend throws (civitai/civitai `blocks.router` `resolveBlockCurrenciesForAccount`,
371
+ * `TRPCError` `BAD_REQUEST`) so a block's error UI can assert the same copy
372
+ * locally. Exported for tests + block-side assertions.
373
+ */
374
+ export declare function disallowedAccountError(accountType: BuzzAccountType): string;
291
375
  /**
292
376
  * Reads the URL query toggles the gen-matrix dev harness uses, so a starter's
293
377
  * dev harness keeps working with `?viewer/?consent/?fail/?theme/?pick/?pickCkpt`.
@@ -305,6 +389,15 @@ export declare function readMockHostUrlOptions(win?: (Window & typeof globalThis
305
389
  * `uninstall()` teardown (restores `window.parent`, clears timers). Safe to use
306
390
  * from a node/jsdom/happy-dom test OR a browser dev harness.
307
391
  *
392
+ * FIDELITY CAVEAT — `spentAccountType`: on a successful gen the mock stamps the
393
+ * PICKED pool (`body.accountType`), which equals the real backend's primary
394
+ * realized debit only in the common FULL-COVERAGE case. The mock's
395
+ * single-total-balance model cannot simulate split/fallback debits, so when a
396
+ * real gen would split across pools the stamped pool may DIFFER from the
397
+ * backend; and the mock ALWAYS stamps on success, so it cannot model the
398
+ * no-debit / field-OMITTED case (e.g. a credits-only gen, or picking an empty
399
+ * pool). Treat the mock stamp as an approximation, not a guarantee.
400
+ *
308
401
  * @example
309
402
  * const host = createMockHost({ generation: { failNext: 1, latencyMs: 1500 }, buzz: { balance: 5 } });
310
403
  * const uninstall = host.install();
@@ -1 +1 @@
1
- {"version":3,"file":"mockHost.d.ts","sourceRoot":"","sources":["../../src/internal/mockHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockHost.d.ts","sourceRoot":"","sources":["../../src/internal/mockHost.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,58 @@ const DEFAULT_LORA_PICK = {
69
69
  const DEFAULT_VIEWER = { id: 2, username: 'dev-viewer', status: 'active' };
70
70
  const INSUFFICIENT_BUZZ_ERROR = 'Insufficient Buzz to run this generation.';
71
71
  const GENERIC_GEN_ERROR = 'Generation failed (simulated).';
72
+ /** Default message for a simulated balance-read failure ({@link MockHostOptions.buzzBalanceError}). */
73
+ const DEFAULT_BUZZ_BALANCE_ERROR = 'balance unavailable';
74
+ /**
75
+ * The error a `SUBMIT_WORKFLOW` fails with when its `body.accountType` names a
76
+ * pool the app's content rating disallows — byte-for-byte the message the real
77
+ * backend throws (civitai/civitai `blocks.router` `resolveBlockCurrenciesForAccount`,
78
+ * `TRPCError` `BAD_REQUEST`) so a block's error UI can assert the same copy
79
+ * locally. Exported for tests + block-side assertions.
80
+ */
81
+ export function disallowedAccountError(accountType) {
82
+ return `buzz account '${accountType}' is not spendable for this app's content rating`;
83
+ }
84
+ /**
85
+ * Normalize a {@link MockHostOptions.buzzBalanceError} value to an error string
86
+ * (or `undefined` when genuinely unset — `false`/`undefined`).
87
+ *
88
+ * An intentionally-EMPTY string (or an `Error` with an empty `.message`) is
89
+ * coerced to {@link DEFAULT_BUZZ_BALANCE_ERROR} rather than treated as "unset":
90
+ * once a caller opts into the error mode, the balance read must FAIL — a blank
91
+ * message would otherwise silently re-enable the successful read and diverge
92
+ * from the `Error`-with-empty-message branch. Only `false`/`undefined` disable.
93
+ */
94
+ function normalizeBalanceError(e) {
95
+ if (e === undefined || e === false)
96
+ return undefined;
97
+ if (e === true)
98
+ return DEFAULT_BUZZ_BALANCE_ERROR;
99
+ if (typeof e === 'string')
100
+ return e || DEFAULT_BUZZ_BALANCE_ERROR;
101
+ return e.message || DEFAULT_BUZZ_BALANCE_ERROR;
102
+ }
103
+ /**
104
+ * Default per-pool wallet reported on `GET_BUZZ_BALANCE` when
105
+ * {@link MockHostOptions.buzzBalance} is omitted — a plausible non-zero balance
106
+ * (some free/earned blue, some purchased yellow) so a block renders a real
107
+ * balance out of the box.
108
+ */
109
+ const DEFAULT_BUZZ_BALANCE = { blue: 1000, green: 0, yellow: 5000 };
110
+ /**
111
+ * The pool that "funded" a mock generation — the largest wallet pool, mirroring
112
+ * the backend's primary-funder (largest-debit) stamp on
113
+ * `BlockWorkflowSnapshot.spentAccountType`. Ties resolve to the conservative
114
+ * free `blue` pool.
115
+ */
116
+ function primaryFunder(balance) {
117
+ const { blue, green, yellow } = balance;
118
+ if (yellow > blue && yellow >= green)
119
+ return 'yellow';
120
+ if (green > blue && green > yellow)
121
+ return 'green';
122
+ return 'blue';
123
+ }
72
124
  /** Byte size of a JSON value as the mock store would persist it. */
73
125
  function jsonByteSize(value) {
74
126
  try {
@@ -197,6 +249,15 @@ export function readMockHostUrlOptions(win = globalThis
197
249
  * `uninstall()` teardown (restores `window.parent`, clears timers). Safe to use
198
250
  * from a node/jsdom/happy-dom test OR a browser dev harness.
199
251
  *
252
+ * FIDELITY CAVEAT — `spentAccountType`: on a successful gen the mock stamps the
253
+ * PICKED pool (`body.accountType`), which equals the real backend's primary
254
+ * realized debit only in the common FULL-COVERAGE case. The mock's
255
+ * single-total-balance model cannot simulate split/fallback debits, so when a
256
+ * real gen would split across pools the stamped pool may DIFFER from the
257
+ * backend; and the mock ALWAYS stamps on success, so it cannot model the
258
+ * no-debit / field-OMITTED case (e.g. a credits-only gen, or picking an empty
259
+ * pool). Treat the mock stamp as an approximation, not a guarantee.
260
+ *
200
261
  * @example
201
262
  * const host = createMockHost({ generation: { failNext: 1, latencyMs: 1500 }, buzz: { balance: 5 } });
202
263
  * const uninstall = host.install();
@@ -214,6 +275,9 @@ export function createMockHost(options = {}) {
214
275
  const win = maybeWin;
215
276
  const viewer = options.viewer === undefined ? DEFAULT_VIEWER : options.viewer;
216
277
  const buzzBudget = options.buzzBudget ?? 200;
278
+ // Per-pool wallet reported on GET_BUZZ_BALANCE (install-time, threaded like
279
+ // `viewer`). Defaulted so `useBuzzBalance()` resolves out of the box.
280
+ const buzzBalance = options.buzzBalance ?? DEFAULT_BUZZ_BALANCE;
217
281
  const theme = options.theme ?? 'dark';
218
282
  const blockInstanceId = options.blockInstanceId ?? 'page_mock';
219
283
  const blockId = options.blockId ?? 'mock-block';
@@ -228,6 +292,10 @@ export function createMockHost(options = {}) {
228
292
  // Legacy `cost` feeds costPerGen unless the scenario set its own.
229
293
  let legacyCost = options.cost ?? 8;
230
294
  let cannedPicks = options.cannedPicks ?? { Checkpoint: DEFAULT_CHECKPOINT_PICK, LORA: DEFAULT_LORA_PICK };
295
+ // Simulated balance-read failure (undefined = read succeeds).
296
+ let buzzBalanceError = normalizeBalanceError(options.buzzBalanceError);
297
+ // Pools a submit must reject (content-rating clamp). Normalized to a Set.
298
+ let disallowedAccounts = new Set(options.disallowedAccountTypes ?? []);
231
299
  // ---- Storage scenario (in-memory KV backend) ----
232
300
  const storageScenario = { ...(options.storage ?? {}) };
233
301
  const store = new Map();
@@ -245,6 +313,38 @@ export function createMockHost(options = {}) {
245
313
  total += jsonByteSize(row.value) + k.length;
246
314
  return total;
247
315
  };
316
+ // ---- SHARED scenario (in-memory, app-scoped, votable backend) ----
317
+ // The "current mock user" whose identity the host injects — every SHARED
318
+ // vote/append is attributed to it. A single-user mock, so the per-user
319
+ // one-vote set is naturally satisfied (voting twice keeps count at 1).
320
+ const mockUserId = viewer?.id ?? 0;
321
+ const sharedScenario = { ...(options.shared ?? {}) };
322
+ const sharedStore = new Map();
323
+ let sharedSeq = 0;
324
+ let sharedFailNext = sharedScenario.failNext ?? 0;
325
+ const sharedNow = new Date().toISOString();
326
+ // Seed newest-LAST so the last-listed seed has the highest seq (newest-first).
327
+ for (const s of sharedScenario.seed ?? []) {
328
+ sharedSeq += 1;
329
+ const key = `shared_${sharedSeq}`;
330
+ sharedStore.set(key, {
331
+ key,
332
+ seq: sharedSeq,
333
+ authorUserId: s.authorUserId ?? mockUserId,
334
+ value: s.value,
335
+ voters: new Set(s.voters ?? []),
336
+ createdAt: sharedNow,
337
+ updatedAt: sharedNow,
338
+ });
339
+ }
340
+ const sharedItemWire = (row) => ({
341
+ key: row.key,
342
+ authorUserId: row.authorUserId,
343
+ value: row.value,
344
+ count: row.voters.size,
345
+ createdAt: row.createdAt,
346
+ updatedAt: row.updatedAt,
347
+ });
248
348
  // Resolve a per-gen cost from the scenario (or legacy `cost`).
249
349
  const costFor = (body) => {
250
350
  const spec = gen.costPerGen ?? legacyCost;
@@ -315,6 +415,17 @@ export function createMockHost(options = {}) {
315
415
  status: 'succeeded',
316
416
  cost: { total: cost },
317
417
  imageUrls: imagesFor(workflowId, body),
418
+ // Pick-aware APPROXIMATION of the real backend's
419
+ // BlockWorkflowSnapshot.spentAccountType. The real backend stamps the
420
+ // LARGEST realized debit (`primaryDebitedAccountType`), and its currency
421
+ // resolution is preferred-first + fallback/SPLIT — so when the picked
422
+ // pool can't cover the cost the realized primary debit is a DIFFERENT
423
+ // (fallback) pool than the pick. The mock's single-total-balance model
424
+ // can't simulate splits, so it stamps the PICKED pool: that equals the
425
+ // primary debit only in the common FULL-COVERAGE case, and always stamps
426
+ // on success (it can't model the no-debit / field-OMITTED case). When no
427
+ // pool was submitted, fall back to the largest-wallet heuristic.
428
+ spentAccountType: body.accountType ?? primaryFunder(buzzBalance),
318
429
  };
319
430
  };
320
431
  const parentMock = {
@@ -366,6 +477,25 @@ export function createMockHost(options = {}) {
366
477
  submitCount += 1;
367
478
  const body = typed.payload?.body ?? {};
368
479
  const cost = costFor(body);
480
+ // Disallowed-account path (content-rating clamp): the real backend
481
+ // rejects a picked pool outside the app's maturity policy at the
482
+ // currency-resolution boundary — BEFORE any Buzz spend — so this is
483
+ // checked first. Surfaces as a `failed` snapshot (mirrors how a
484
+ // submit tRPC BAD_REQUEST becomes an errorSnapshot in createLiveHost).
485
+ if (body.accountType && disallowedAccounts.has(body.accountType)) {
486
+ dispatchToBlock({
487
+ type: 'WORKFLOW_SUBMITTED',
488
+ payload: {
489
+ requestId,
490
+ snapshot: {
491
+ workflowId: `wf_fail_${submitCount}`,
492
+ status: 'failed',
493
+ error: disallowedAccountError(body.accountType),
494
+ },
495
+ },
496
+ });
497
+ return;
498
+ }
369
499
  // Insufficient-Buzz path: legacy failMode, the buzz scenario's
370
500
  // force flag, OR a simulated balance that can't cover this gen.
371
501
  const balanceSimulated = typeof buzz.balance === 'number';
@@ -478,6 +608,30 @@ export function createMockHost(options = {}) {
478
608
  });
479
609
  return;
480
610
  }
611
+ case 'GET_BUZZ_BALANCE': {
612
+ // Reply with the synthetic per-pool wallet (what useBuzzBalance
613
+ // reads). Mirrors createLiveHost's BUZZ_BALANCE_RESULT reply shape
614
+ // exactly. Drop a request with no requestId — the block correlates
615
+ // the reply by it, so a reply without one is unroutable (matches
616
+ // the sibling request cases + createLiveHost).
617
+ if (typeof requestId !== 'string')
618
+ return;
619
+ // Simulated read failure: reply with the error shape
620
+ // (`{ requestId, error }`, no `balance`) — byte-for-byte
621
+ // createLiveHost's failure reply — so the block's error UI fires.
622
+ if (buzzBalanceError !== undefined) {
623
+ dispatchToBlock({
624
+ type: 'BUZZ_BALANCE_RESULT',
625
+ payload: { requestId, error: buzzBalanceError },
626
+ });
627
+ return;
628
+ }
629
+ dispatchToBlock({
630
+ type: 'BUZZ_BALANCE_RESULT',
631
+ payload: { requestId, balance: { ...buzzBalance } },
632
+ });
633
+ return;
634
+ }
481
635
  case 'OPEN_CHECKPOINT_PICKER': {
482
636
  const selected = cannedPicks.Checkpoint;
483
637
  dispatchToBlock({
@@ -508,7 +662,7 @@ export function createMockHost(options = {}) {
508
662
  });
509
663
  return;
510
664
  }
511
- // ---- App Blocks KV datastore (W4) — in-memory backend ----
665
+ // ---- Civitai Apps KV datastore (W4) — in-memory backend ----
512
666
  case 'APP_STORAGE_GET': {
513
667
  const key = typed.payload?.key ?? '';
514
668
  const row = store.get(key);
@@ -613,6 +767,158 @@ export function createMockHost(options = {}) {
613
767
  });
614
768
  return;
615
769
  }
770
+ // ---- Civitai Apps SHARED datastore — in-memory votable backend ----
771
+ case 'SHARED_LIST': {
772
+ const prefix = typed.payload?.prefix ?? '';
773
+ const limit = typed.payload?.limit ?? 100;
774
+ const cursor = typed.payload?.cursor;
775
+ // Newest-first: highest seq first.
776
+ const all = [...sharedStore.values()]
777
+ .filter((r) => r.key.startsWith(prefix))
778
+ .sort((a, b) => b.seq - a.seq);
779
+ // Cursor = base64 of the last returned key (matches the hook's
780
+ // opaque-nextCursor contract).
781
+ const afterKey = cursor ? safeAtob(cursor) : undefined;
782
+ const startIdx = afterKey ? all.findIndex((r) => r.key === afterKey) + 1 : 0;
783
+ const slice = (startIdx <= 0 && afterKey ? [] : all.slice(startIdx)).slice(0, limit);
784
+ const items = slice.map(sharedItemWire);
785
+ const last = slice[slice.length - 1]?.key;
786
+ const hasMore = last !== undefined && all.findIndex((r) => r.key === last) < all.length - 1;
787
+ dispatchToBlock({
788
+ type: 'SHARED_LIST_RESULT',
789
+ payload: {
790
+ requestId,
791
+ items,
792
+ ...(hasMore && last ? { nextCursor: safeBtoa(last) } : {}),
793
+ },
794
+ });
795
+ return;
796
+ }
797
+ case 'SHARED_GET_COUNT': {
798
+ const key = typed.payload?.key ?? '';
799
+ const row = sharedStore.get(key);
800
+ dispatchToBlock({
801
+ type: 'SHARED_GET_COUNT_RESULT',
802
+ payload: { requestId, count: row ? row.voters.size : 0 },
803
+ });
804
+ return;
805
+ }
806
+ case 'SHARED_GET_COUNTS': {
807
+ const keys = typed.payload?.keys ?? [];
808
+ const counts = {};
809
+ for (const k of keys)
810
+ counts[k] = sharedStore.get(k)?.voters.size ?? 0;
811
+ dispatchToBlock({
812
+ type: 'SHARED_GET_COUNTS_RESULT',
813
+ payload: { requestId, counts },
814
+ });
815
+ return;
816
+ }
817
+ case 'SHARED_APPEND': {
818
+ if (sharedFailNext > 0) {
819
+ sharedFailNext -= 1;
820
+ dispatchToBlock({
821
+ type: 'SHARED_APPEND_RESULT',
822
+ payload: { requestId, key: '', error: 'SHARED_UNAVAILABLE' },
823
+ });
824
+ return;
825
+ }
826
+ const value = typed.payload?.value;
827
+ if (!value || typeof value.title !== 'string' || value.title.length === 0) {
828
+ dispatchToBlock({
829
+ type: 'SHARED_APPEND_RESULT',
830
+ payload: { requestId, key: '', error: 'INVALID_VALUE' },
831
+ });
832
+ return;
833
+ }
834
+ sharedSeq += 1;
835
+ const key = `shared_${sharedSeq}`;
836
+ const now = new Date().toISOString();
837
+ sharedStore.set(key, {
838
+ key,
839
+ seq: sharedSeq,
840
+ authorUserId: mockUserId,
841
+ value: { title: value.title, ...(value.body !== undefined ? { body: value.body } : {}) },
842
+ voters: new Set(),
843
+ createdAt: now,
844
+ updatedAt: now,
845
+ });
846
+ dispatchToBlock({
847
+ type: 'SHARED_APPEND_RESULT',
848
+ payload: { requestId, key },
849
+ });
850
+ return;
851
+ }
852
+ case 'SHARED_VOTE': {
853
+ const key = typed.payload?.key ?? '';
854
+ if (sharedFailNext > 0) {
855
+ sharedFailNext -= 1;
856
+ dispatchToBlock({
857
+ type: 'SHARED_VOTE_RESULT',
858
+ payload: { requestId, count: 0, error: 'SHARED_UNAVAILABLE' },
859
+ });
860
+ return;
861
+ }
862
+ const row = sharedStore.get(key);
863
+ if (!row) {
864
+ dispatchToBlock({
865
+ type: 'SHARED_VOTE_RESULT',
866
+ payload: { requestId, count: 0, error: 'NOT_FOUND' },
867
+ });
868
+ return;
869
+ }
870
+ // Set membership → one vote per user (voting twice is a no-op).
871
+ row.voters.add(mockUserId);
872
+ row.updatedAt = new Date().toISOString();
873
+ dispatchToBlock({
874
+ type: 'SHARED_VOTE_RESULT',
875
+ payload: { requestId, count: row.voters.size },
876
+ });
877
+ return;
878
+ }
879
+ case 'SHARED_UNVOTE': {
880
+ const key = typed.payload?.key ?? '';
881
+ if (sharedFailNext > 0) {
882
+ sharedFailNext -= 1;
883
+ dispatchToBlock({
884
+ type: 'SHARED_UNVOTE_RESULT',
885
+ payload: { requestId, count: 0, error: 'SHARED_UNAVAILABLE' },
886
+ });
887
+ return;
888
+ }
889
+ const row = sharedStore.get(key);
890
+ if (!row) {
891
+ dispatchToBlock({
892
+ type: 'SHARED_UNVOTE_RESULT',
893
+ payload: { requestId, count: 0, error: 'NOT_FOUND' },
894
+ });
895
+ return;
896
+ }
897
+ row.voters.delete(mockUserId);
898
+ row.updatedAt = new Date().toISOString();
899
+ dispatchToBlock({
900
+ type: 'SHARED_UNVOTE_RESULT',
901
+ payload: { requestId, count: row.voters.size },
902
+ });
903
+ return;
904
+ }
905
+ case 'SHARED_WITHDRAW': {
906
+ const key = typed.payload?.key ?? '';
907
+ if (sharedFailNext > 0) {
908
+ sharedFailNext -= 1;
909
+ dispatchToBlock({
910
+ type: 'SHARED_WITHDRAW_RESULT',
911
+ payload: { requestId, ok: false, deleted: false, error: 'SHARED_UNAVAILABLE' },
912
+ });
913
+ return;
914
+ }
915
+ const had = sharedStore.delete(key);
916
+ dispatchToBlock({
917
+ type: 'SHARED_WITHDRAW_RESULT',
918
+ payload: { requestId, ok: true, deleted: had },
919
+ });
920
+ return;
921
+ }
616
922
  default:
617
923
  return;
618
924
  }
@@ -685,12 +991,22 @@ export function createMockHost(options = {}) {
685
991
  gen = { ...gen, ...patch.generation };
686
992
  if (patch.buzz !== undefined)
687
993
  buzz = { ...buzz, ...patch.buzz };
994
+ if (patch.buzzBalanceError !== undefined)
995
+ buzzBalanceError = normalizeBalanceError(patch.buzzBalanceError);
996
+ if (patch.disallowedAccountTypes !== undefined)
997
+ disallowedAccounts = new Set(patch.disallowedAccountTypes);
688
998
  if (patch.storage !== undefined) {
689
999
  // Only the live-tunable storage knob (`failNext`) is applied mid-session;
690
1000
  // seed/quota are install-time (re-install to change the backing store).
691
1001
  if (patch.storage.failNext !== undefined)
692
1002
  storageFailNext = patch.storage.failNext;
693
1003
  }
1004
+ if (patch.shared !== undefined) {
1005
+ // Only `failNext` is live-tunable; `seed` is install-time (re-install to
1006
+ // change the backing store).
1007
+ if (patch.shared.failNext !== undefined)
1008
+ sharedFailNext = patch.shared.failNext;
1009
+ }
694
1010
  }
695
1011
  const buzzHandle = {
696
1012
  getBalance: () => buzz.balance,
@@ -1 +1 @@
1
- {"version":3,"file":"mockHost.js","sourceRoot":"","sources":["../../src/internal/mockHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockHost.js","sourceRoot":"","sources":["../../src/internal/mockHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,GAYX,MAAM,yBAAyB,CAAC;AAEjC,gFAAgF;AAChF,MAAM,UAAU,GACd,aAAa,CAAC,EAAE;IAChB,aAAa,CAAC,IAAI;IAClB,aAAa,CAAC,CAAC;IACf,aAAa,CAAC,CAAC;IACf,aAAa,CAAC,GAAG,CAAC;AAEpB,MAAM,SAAS,GAAG,wCAAwC,CAAC;AAC3D,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAE3C,8EAA8E;AAC9E,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,gBAAgB;AACtE,MAAM,+BAA+B,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,kBAAkB;AACrE,MAAM,0BAA0B,GAAG,SAAS,CAAC;AA+V7C,MAAM,uBAAuB,GAAe;IAC1C,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,cAAc;IACzB,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,iBAAiB,GAAe;IACpC,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,MAAM;CAClB,CAAC;AAEF,MAAM,cAAc,GAAe,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAEvF,MAAM,uBAAuB,GAAG,2CAA2C,CAAC;AAC5E,MAAM,iBAAiB,GAAG,gCAAgC,CAAC;AAE3D,uGAAuG;AACvG,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAA4B;IACjE,OAAO,iBAAiB,WAAW,kDAAkD,CAAC;AACxF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAAC,CAAuC;IACpE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACrD,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,0BAA0B,CAAC;IAClD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,IAAI,0BAA0B,CAAC;IAClE,OAAO,CAAC,CAAC,OAAO,IAAI,0BAA0B,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,oBAAoB,GAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAErF;;;;;GAKG;AACH,SAAS,aAAa,CAAC,OAAwB;IAC7C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACxC,IAAI,MAAM,GAAG,IAAI,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,QAAQ,CAAC;IACtD,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,MAAM;QAAE,OAAO,OAAO,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oEAAoE;AACpE,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAiD,UAAsD;KACpG,MAAM;IAET,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,GAAG,GAA6B,EAAE,CAAC;IAEzC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM;QAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;IACvD,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS;QAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;IAEnE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpF,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO;QAAE,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC;SACpD,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,MAAM;QAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;IAE5D,4EAA4E;IAC5E,kDAAkD;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK;QAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ;QAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEzE,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;QACrB,MAAM,WAAW,GAAgE,EAAE,CAAC;QACpF,IAAI,IAAI,KAAK,QAAQ;YAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;aAC1C,IAAI,IAAI,KAAK,MAAM;YACtB,WAAW,CAAC,IAAI,GAAG;gBACjB,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,wBAAwB;gBACnC,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,MAAM;aAClB,CAAC;aACC,IAAI,IAAI;YAAE,WAAW,CAAC,IAAI,GAAG,iBAAiB,CAAC;QACpD,IAAI,QAAQ,KAAK,QAAQ;YAAE,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;aACpD,IAAI,QAAQ;YAAE,WAAW,CAAC,UAAU,GAAG,uBAAuB,CAAC;QACpE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAqB,EAAE,CAAC;IAElC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE,CAAC;QAChF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,qCAAqC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACrE,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC/D,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5D,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC3D,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAElD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YAC3D,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,GAAG,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAAC,UAA2B,EAAE;IAC1D,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,IAAK,UAAsD,CAAC,MAAM,CAAC;IACnF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IACD,+EAA+E;IAC/E,MAAM,GAAG,GAA+B,QAAQ,CAAC;IAEjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;IAC7C,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,WAAW,GAAoB,OAAO,CAAC,WAAW,IAAI,oBAAoB,CAAC;IACjF,MAAM,KAAK,GAAU,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;IAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,WAAW,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IAEzC,iFAAiF;IACjF,4EAA4E;IAC5E,iDAAiD;IACjD,IAAI,QAAQ,GAAqB,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC5D,IAAI,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IACjD,IAAI,GAAG,GAA2B,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;IACpE,IAAI,IAAI,GAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;IACzD,kEAAkE;IAClE,IAAI,UAAU,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IACnC,IAAI,WAAW,GACb,OAAO,CAAC,WAAW,IAAI,EAAE,UAAU,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1F,8DAA8D;IAC9D,IAAI,gBAAgB,GAAuB,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3F,0EAA0E;IAC1E,IAAI,kBAAkB,GAAG,IAAI,GAAG,CAAkB,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAExF,oDAAoD;IACpD,MAAM,eAAe,GAAwB,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiD,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,eAAe,GAAG,eAAe,CAAC,QAAQ,IAAI,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,IAAI,2BAA2B,CAAC;IAC7E,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,IAAI,+BAA+B,CAAC;IACvF,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,IAAI,0BAA0B,CAAC;IAE1E,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK;YAAE,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,qEAAqE;IACrE,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,MAAM,UAAU,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,cAAc,GAAuB,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;IAUzE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IACjD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,cAAc,GAAG,cAAc,CAAC,QAAQ,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,+EAA+E;IAC/E,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAC1C,SAAS,IAAI,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,UAAU,SAAS,EAAE,CAAC;QAClC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;YACnB,GAAG;YACH,GAAG,EAAE,SAAS;YACd,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,UAAU;YAC1C,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC/B,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,cAAc,GAAG,CAAC,GAAc,EAAE,EAAE,CAAC,CAAC;QAC1C,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;QACtB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC,CAAC;IAEH,+DAA+D;IAC/D,MAAM,OAAO,GAAG,CAAC,IAAkB,EAAU,EAAE;QAC7C,MAAM,IAAI,GAAyB,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC;QAChE,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAW,EAAE;QAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAE,IAAkB,EAAY,EAAE;QACrE,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QACxF,IAAI,GAAG,CAAC,KAAK;YAAE,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtF,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,OAAO;YACL,8DAA8D,kBAAkB,CAC9E,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACrB,EAAE;SACJ,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,QAAQ,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAEpC,SAAS,OAAO;QACd,IAAI,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC/B,SAAS,GAAG,IAAI,CAAC;QAEjB,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzC,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,IAAI,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC9C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,+EAA+E;QAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+D,CAAC;QACzF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAC;QAExD,MAAM,eAAe,GAAG,CAAC,IAAa,EAAE,EAAE;YACxC,GAAG,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAc,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjB,EAAE,EAAE,CAAC;YACP,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,GAAiB,EAAE;YACnC,WAAW,IAAI,CAAC,CAAC;YACjB,OAAO;gBACL,GAAG,EAAE,GAAG,SAAS,IAAI,WAAW,EAAE;gBAClC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9C,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE;gBAC3D,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAE,EAAE;YAC/C,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,EAAE,EAAE,IAAI,IAAI,UAAU,CAAC;YACpC,MAAM,IAAI,GAAG,EAAE,EAAE,IAAI,IAAK,EAAmB,CAAC;YAC9C,OAAO;gBACL,UAAU;gBACV,MAAM,EAAE,WAAoB;gBAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;gBACrB,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC;gBACtC,iDAAiD;gBACjD,sEAAsE;gBACtE,yEAAyE;gBACzE,sEAAsE;gBACtE,sEAAsE;gBACtE,uEAAuE;gBACvE,uEAAuE;gBACvE,yEAAyE;gBACzE,yEAAyE;gBACzE,iEAAiE;gBACjE,gBAAgB,EAAE,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC;aACjE,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,WAAW,EAAE,CAAC,GAAY,EAAE,EAAE;gBAC5B,IACE,OAAO,GAAG,KAAK,QAAQ;oBACvB,GAAG,KAAK,IAAI;oBACZ,OAAQ,GAA0B,CAAC,IAAI,KAAK,QAAQ,EACpD,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,GAcb,CAAC;gBAEF,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEnE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;gBAE3C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,eAAe;wBAClB,eAAe,CAAC;4BACd,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;yBACrE,CAAC,CAAC;wBACH,OAAO;oBAET,KAAK,iBAAiB,CAAC,CAAC,CAAC;wBACvB,wDAAwD;wBACxD,kEAAkE;wBAClE,iDAAiD;wBACjD,cAAc,GAAG,IAAI,CAAC;wBACtB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE;4BACZ,eAAe,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC9E,CAAC,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,iBAAiB;wBACpB,sDAAsD;wBACtD,OAAO;oBAET,KAAK,mBAAmB,CAAC,CAAC,CAAC;wBACzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,IAAK,EAAmB,CAAC;wBACzD,eAAe,CAAC;4BACd,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE;gCACP,SAAS;gCACT,QAAQ,EAAE;oCACR,UAAU,EAAE,aAAa;oCACzB,MAAM,EAAE,SAAS;oCACjB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;iCAC/B;6BACF;yBACF,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;wBACvB,WAAW,IAAI,CAAC,CAAC;wBACjB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,IAAK,EAAmB,CAAC;wBACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;wBAE3B,mEAAmE;wBACnE,iEAAiE;wBACjE,oEAAoE;wBACpE,gEAAgE;wBAChE,uEAAuE;wBACvE,IAAI,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;4BACjE,eAAe,CAAC;gCACd,IAAI,EAAE,oBAAoB;gCAC1B,OAAO,EAAE;oCACP,SAAS;oCACT,QAAQ,EAAE;wCACR,UAAU,EAAE,WAAW,WAAW,EAAE;wCACpC,MAAM,EAAE,QAAQ;wCAChB,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC;qCAChD;iCACF;6BACF,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBAED,+DAA+D;wBAC/D,gEAAgE;wBAChE,MAAM,gBAAgB,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;wBAC1D,MAAM,YAAY,GAChB,QAAQ,KAAK,KAAK;4BAClB,QAAQ,KAAK,cAAc;4BAC3B,IAAI,CAAC,YAAY,KAAK,IAAI;4BAC1B,CAAC,gBAAgB,IAAK,IAAI,CAAC,OAAkB,GAAG,IAAI,CAAC,CAAC;wBAExD,oEAAoE;wBACpE,oCAAoC;wBACpC,IAAI,WAAW,GAAG,KAAK,CAAC;wBACxB,IAAI,CAAC,YAAY,EAAE,CAAC;4BAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC5B,GAAG,CAAC,QAAQ,GAAI,GAAG,CAAC,QAAmB,GAAG,CAAC,CAAC;gCAC5C,WAAW,GAAG,IAAI,CAAC;4BACrB,CAAC;iCAAM,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gCAC5E,WAAW,GAAG,IAAI,CAAC;4BACrB,CAAC;iCAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,WAAW,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gCACxD,WAAW,GAAG,IAAI,CAAC;4BACrB,CAAC;wBACH,CAAC;wBAED,IAAI,YAAY,EAAE,CAAC;4BACjB,eAAe,CAAC;gCACd,IAAI,EAAE,oBAAoB;gCAC1B,OAAO,EAAE;oCACP,SAAS;oCACT,QAAQ,EAAE;wCACR,UAAU,EAAE,WAAW,WAAW,EAAE;wCACpC,MAAM,EAAE,QAAQ;wCAChB,KAAK,EAAE,uBAAuB;qCAC/B;iCACF;6BACF,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,IAAI,WAAW,EAAE,CAAC;4BAChB,eAAe,CAAC;gCACd,IAAI,EAAE,oBAAoB;gCAC1B,OAAO,EAAE;oCACP,SAAS;oCACT,QAAQ,EAAE;wCACR,UAAU,EAAE,WAAW,WAAW,EAAE;wCACpC,MAAM,EAAE,QAAQ;wCAChB,KAAK,EAAE,iBAAiB;qCACzB;iCACF;6BACF,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBAED,kEAAkE;wBAClE,IAAI,gBAAgB;4BAAE,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,OAAkB,GAAG,IAAI,CAAC;wBACrE,MAAM,UAAU,GAAG,MAAM,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;wBACrD,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;wBACpD,eAAe,CAAC;4BACd,IAAI,EAAE,oBAAoB;4BAC1B,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;yBACpE,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;wBACnD,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACrC,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;wBACnC,IAAI,EAAE;4BAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;wBACzB,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;4BAC5B,iEAAiE;4BACjE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;4BAC3B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gCACd,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAChB,eAAe,CAAC;oCACd,IAAI,EAAE,iBAAiB;oCACvB,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE;iCAChE,CAAC,CACH,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,eAAe,CAAC;oCACd,IAAI,EAAE,iBAAiB;oCACvB,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE;iCAChE,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,eAAe,CAAC;gCACd,IAAI,EAAE,iBAAiB;gCACvB,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,YAAqB,EAAE,EAAE;6BAChF,CAAC,CAAC;wBACL,CAAC;wBACD,OAAO;oBACT,CAAC;oBAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;wBACvB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;wBACnD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBAC7B,eAAe,CAAC;4BACd,IAAI,EAAE,mBAAmB;4BACzB,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;yBACrE,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;wBAC1B,kEAAkE;wBAClE,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;wBACjF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;4BAAE,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;wBAChE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC1B,eAAe,CAAC;4BACd,IAAI,EAAE,sBAAsB;4BAC5B,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE;yBACpD,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;wBACxB,gEAAgE;wBAChE,mEAAmE;wBACnE,mEAAmE;wBACnE,iEAAiE;wBACjE,+CAA+C;wBAC/C,IAAI,OAAO,SAAS,KAAK,QAAQ;4BAAE,OAAO;wBAC1C,qDAAqD;wBACrD,yDAAyD;wBACzD,kEAAkE;wBAClE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;4BACnC,eAAe,CAAC;gCACd,IAAI,EAAE,qBAAqB;gCAC3B,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE;6BAChD,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,eAAe,CAAC;4BACd,IAAI,EAAE,qBAAqB;4BAC3B,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,WAAW,EAAE,EAAE;yBACpD,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;wBAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC;wBACxC,eAAe,CAAC;4BACd,IAAI,EAAE,0BAA0B;4BAChC,OAAO,EAAE;gCACP,SAAS;gCACT,GAAG,CAAC,QAAQ;oCACV,CAAC,CAAC;wCACE,QAAQ,EAAE;4CACR,SAAS,EAAE,QAAQ,CAAC,SAAS;4CAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;4CACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;4CAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;4CACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;yCAC9B;qCACF;oCACH,CAAC,CAAC,EAAE,CAAC;6BACR;yBACF,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,sBAAsB,CAAC,CAAC,CAAC;wBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC;wBAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACxD,eAAe,CAAC;4BACd,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;yBAC1D,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,+DAA+D;oBAC/D,KAAK,iBAAiB,CAAC,CAAC,CAAC;wBACvB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;wBACrC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC3B,eAAe,CAAC;4BACd,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;yBACtD,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;wBACvB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;wBACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;wBACnC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;4BACxB,eAAe,IAAI,CAAC,CAAC;4BACrB,eAAe,CAAC;gCACd,IAAI,EAAE,wBAAwB;gCAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE;6BAChE,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;wBACtC,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;4BAC9B,eAAe,CAAC;gCACd,IAAI,EAAE,wBAAwB;gCAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE;6BAC9D,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,kDAAkD;wBAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/E,MAAM,SAAS,GAAG,SAAS,EAAE,GAAG,aAAa,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;wBACvE,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;4BAC3B,eAAe,CAAC;gCACd,IAAI,EAAE,wBAAwB;gCAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE;6BAC9D,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;wBAC/D,eAAe,CAAC;4BACd,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;yBAC5C,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;wBAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;wBACrC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;4BACxB,eAAe,IAAI,CAAC,CAAC;4BACrB,eAAe,CAAC;gCACd,IAAI,EAAE,2BAA2B;gCACjC,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE;6BAChF,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC9B,eAAe,CAAC;4BACd,IAAI,EAAE,2BAA2B;4BACjC,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;yBAC/C,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;wBACxB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;wBAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC;wBAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;wBACrC,+DAA+D;wBAC/D,qCAAqC;wBACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;6BACjC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;6BACrC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpD,MAAM,QAAQ,GAAG,QAAQ;4BACvB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC;4BAC1C,CAAC,CAAC,CAAC,CAAC;wBACN,MAAM,KAAK,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;wBAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;wBAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC1C,MAAM,OAAO,GACX,IAAI,KAAK,SAAS;4BAClB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC9D,eAAe,CAAC;4BACd,IAAI,EAAE,yBAAyB;4BAC/B,OAAO,EAAE;gCACP,SAAS;gCACT,IAAI;gCACJ,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC3D;yBACF,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;wBACzB,eAAe,CAAC;4BACd,IAAI,EAAE,0BAA0B;4BAChC,OAAO,EAAE;gCACP,SAAS;gCACT,SAAS,EAAE,SAAS,EAAE;gCACtB,QAAQ,EAAE,KAAK,CAAC,IAAI;gCACpB,UAAU,EAAE,UAAU;gCACtB,SAAS;6BACV;yBACF,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,sEAAsE;oBACtE,KAAK,aAAa,CAAC,CAAC,CAAC;wBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;wBAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC;wBAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;wBACrC,mCAAmC;wBACnC,MAAM,GAAG,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;6BAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;6BACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;wBACjC,+DAA+D;wBAC/D,+BAA+B;wBAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7E,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;wBACrF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;wBAC1C,MAAM,OAAO,GACX,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC9E,eAAe,CAAC;4BACd,IAAI,EAAE,oBAAoB;4BAC1B,OAAO,EAAE;gCACP,SAAS;gCACT,KAAK;gCACL,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC3D;yBACF,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;wBACxB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;wBACrC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACjC,eAAe,CAAC;4BACd,IAAI,EAAE,yBAAyB;4BAC/B,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;yBACzD,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;wBACzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;wBACvC,MAAM,MAAM,GAA2B,EAAE,CAAC;wBAC1C,KAAK,MAAM,CAAC,IAAI,IAAI;4BAAE,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;wBACvE,eAAe,CAAC;4BACd,IAAI,EAAE,0BAA0B;4BAChC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;yBAC/B,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;4BACvB,cAAc,IAAI,CAAC,CAAC;4BACpB,eAAe,CAAC;gCACd,IAAI,EAAE,sBAAsB;gCAC5B,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;6BAC7D,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,KAAuC,CAAC;wBACrE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC1E,eAAe,CAAC;gCACd,IAAI,EAAE,sBAAsB;gCAC5B,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;6BACxD,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,SAAS,IAAI,CAAC,CAAC;wBACf,MAAM,GAAG,GAAG,UAAU,SAAS,EAAE,CAAC;wBAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACrC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;4BACnB,GAAG;4BACH,GAAG,EAAE,SAAS;4BACd,YAAY,EAAE,UAAU;4BACxB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;4BACxF,MAAM,EAAE,IAAI,GAAG,EAAU;4BACzB,SAAS,EAAE,GAAG;4BACd,SAAS,EAAE,GAAG;yBACf,CAAC,CAAC;wBACH,eAAe,CAAC;4BACd,IAAI,EAAE,sBAAsB;4BAC5B,OAAO,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;yBAC5B,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,aAAa,CAAC,CAAC,CAAC;wBACnB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;wBACrC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;4BACvB,cAAc,IAAI,CAAC,CAAC;4BACpB,eAAe,CAAC;gCACd,IAAI,EAAE,oBAAoB;gCAC1B,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE;6BAC9D,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACjC,IAAI,CAAC,GAAG,EAAE,CAAC;4BACT,eAAe,CAAC;gCACd,IAAI,EAAE,oBAAoB;gCAC1B,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;6BACrD,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,gEAAgE;wBAChE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAC3B,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACzC,eAAe,CAAC;4BACd,IAAI,EAAE,oBAAoB;4BAC1B,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;yBAC/C,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;wBACrC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;4BACvB,cAAc,IAAI,CAAC,CAAC;4BACpB,eAAe,CAAC;gCACd,IAAI,EAAE,sBAAsB;gCAC5B,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE;6BAC9D,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACjC,IAAI,CAAC,GAAG,EAAE,CAAC;4BACT,eAAe,CAAC;gCACd,IAAI,EAAE,sBAAsB;gCAC5B,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;6BACrD,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBAC9B,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACzC,eAAe,CAAC;4BACd,IAAI,EAAE,sBAAsB;4BAC5B,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;yBAC/C,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;wBACvB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;wBACrC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;4BACvB,cAAc,IAAI,CAAC,CAAC;4BACpB,eAAe,CAAC;gCACd,IAAI,EAAE,wBAAwB;gCAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE;6BAC/E,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBACD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACpC,eAAe,CAAC;4BACd,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;yBAC/C,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED;wBACE,OAAO;gBACX,CAAC;YACH,CAAC;SACF,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;YACnC,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,WAAW,GAAiB,OAAO,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAiB,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,CAAC;QAExD,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,mEAAmE;QACnE,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACpC,CAAC,CAAC,OAAO,CAAC,gBAAgB;YAC1B,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAC1B,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;oBAC7B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;wBAC5B,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK;4BACxB,CAAC,CAAC,UAAU;4BACZ,CAAC,CAAC,UAAU;wBACd,CAAC,CAAC,SAAS,CAAC;QAEtB,MAAM,WAAW,GAAqB;YACpC,eAAe;YACf,OAAO;YACP,KAAK;YACL,KAAK,EAAE,SAAS,EAAE;YAClB,OAAO;YACP,QAAQ,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;YACrD,MAAM;YACN,KAAK;YACL,UAAU,EAAE,QAAQ;YACpB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC;QAEF,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAE9E,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,QAAQ,GAAG,GAAG,EAAE;YACd,IAAI,IAAI;gBAAE,OAAO;YACjB,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;gBACnC,KAAK,EAAE,cAAc;gBACrB,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,WAAW,CAAC,KAA4B;QAC/C,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC5D,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;YAAE,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC9E,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QACtD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrE,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;YAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAChE,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS;YACtC,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,sBAAsB,KAAK,SAAS;YAC5C,kBAAkB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,0EAA0E;YAC1E,wEAAwE;YACxE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;gBAAE,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrF,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,yEAAyE;YACzE,6BAA6B;YAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAAE,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QAClF,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAmB;QACjC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO;QAC9B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,CAAC;KACF,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpD,CAAC;AAED,uEAAuE;AACvE,SAAS,QAAQ,CAAC,CAAS;IACzB,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC;AACD,SAAS,QAAQ,CAAC,CAAS;IACzB,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC"}
package/dist/testing.d.ts CHANGED
@@ -16,7 +16,7 @@ import { type ReactNode } from 'react';
16
16
  import { __resetTransport } from './internal/singleton.js';
17
17
  import { type MockHostOptions } from './internal/mockHost.js';
18
18
  export { __resetTransport as resetTransport };
19
- export { createMockHost, readMockHostUrlOptions, type MockHost, type MockHostOptions, type MockHostFailMode, type MockHostScenarioPatch, type MockGenerationScenario, type MockBuzzScenario, type MockBuzzHandle, type MockStorageScenario, type CostSpec, type ImageSpec, type CannedPick, } from './internal/mockHost.js';
19
+ export { createMockHost, readMockHostUrlOptions, disallowedAccountError, type MockHost, type MockHostOptions, type MockHostFailMode, type MockHostScenarioPatch, type MockGenerationScenario, type MockBuzzScenario, type MockBuzzBalance, type MockBuzzHandle, type MockStorageScenario, type MockSharedScenario, type MockSharedSeed, type CostSpec, type ImageSpec, type CannedPick, } from './internal/mockHost.js';
20
20
  export { createLiveHost, decodeBlockTokenPayload, type LiveHostOptions, } from './internal/liveHost.js';
21
21
  export { buildCatalogUrl, fetchCatalog, modelToCard, responseToPage, edgeThumb, cardToCheckpoint, cardToResource, filterCardsByFamily, CATALOG_API_BASE, CATALOG_API_BASE_BLOCKS, DEFAULT_LIMIT, type CatalogQuery, type CatalogCard, type CatalogPage, type CatalogResult, type CatalogModelType, } from './internal/catalog.js';
22
22
  export { openPickerOverlay, type PickerOverlayHandle, type PickerSelection, type OpenPickerOptions, } from './internal/pickerOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,CAAC;AAE9C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAE7E;AAOD;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,sDAAsD;IACtD,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,eAAsB,EACtB,OAAc,EACd,GAAG,OAAO,EACX,EAAE,YAAY,2CAkEd;AAED,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,gBAAU,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,CAAC;AAE9C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAE7E;AAOD;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,sDAAsD;IACtD,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,eAAsB,EACtB,OAAc,EACd,GAAG,OAAO,EACX,EAAE,YAAY,2CAkEd;AAED,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,gBAAU,CAAC"}
package/dist/testing.js CHANGED
@@ -17,7 +17,7 @@ import { useEffect, useRef, useState } from 'react';
17
17
  import { __resetTransport } from './internal/singleton.js';
18
18
  import { createMockHost, readMockHostUrlOptions, } from './internal/mockHost.js';
19
19
  export { __resetTransport as resetTransport };
20
- export { createMockHost, readMockHostUrlOptions, } from './internal/mockHost.js';
20
+ export { createMockHost, readMockHostUrlOptions, disallowedAccountError, } from './internal/mockHost.js';
21
21
  export { createLiveHost, decodeBlockTokenPayload, } from './internal/liveHost.js';
22
22
  export { buildCatalogUrl, fetchCatalog, modelToCard, responseToPage, edgeThumb, cardToCheckpoint, cardToResource, filterCardsByFamily, CATALOG_API_BASE, CATALOG_API_BASE_BLOCKS, DEFAULT_LIMIT, } from './internal/catalog.js';
23
23
  export { openPickerOverlay, } from './internal/pickerOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `@civitai/blocks-react/ui` — opinionated UI components for App Block authoring.
2
+ * `@civitai/blocks-react/ui` — opinionated UI components for Civitai App authoring.
3
3
  *
4
4
  * Two surfaces:
5
5
  *
package/dist/ui/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `@civitai/blocks-react/ui` — opinionated UI components for App Block authoring.
2
+ * `@civitai/blocks-react/ui` — opinionated UI components for Civitai App authoring.
3
3
  *
4
4
  * Two surfaces:
5
5
  *
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@civitai/blocks-react",
3
- "version": "0.17.0",
4
- "description": "React hooks and iframe transport for Civitai App Blocks. Pairs with @civitai/app-sdk/blocks.",
3
+ "version": "0.19.0",
4
+ "description": "React hooks and iframe transport for Civitai Apps. Pairs with @civitai/app-sdk/blocks.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
@@ -43,7 +43,7 @@
43
43
  "react-dom": "^19.0.0",
44
44
  "typescript": "^5.9.2",
45
45
  "vitest": "^4.1.7",
46
- "@civitai/app-sdk": "^0.14.0"
46
+ "@civitai/app-sdk": "^0.15.0"
47
47
  },
48
48
  "publishConfig": {
49
49
  "access": "public"