@cube-dev/platform-client 0.2.0 → 0.3.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/CHANGELOG.md CHANGED
@@ -9,7 +9,123 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  <!-- Curate public-facing entries here before the next release. -->
11
11
 
12
+ ## [0.3.0] - 2026-07-30
13
+
14
+ > Supersedes `0.2.1`, which never reached npm because its publish job failed.
15
+ > Upgrading from `0.2.0` picks up both releases, so the `0.2.1` entries are
16
+ > repeated below under _Also included from the unpublished 0.2.1_.
17
+
18
+ ### Added
19
+
20
+ #### Build API — a new `/build/api/v1` surface
21
+
22
+ - `POST /build/api/v1/deployments/` (`DeploymentsBuildPublicController.createDeployment`) — creates a deployment. New schemas: `CreateDeploymentInput`, `CreateDeploymentInputCloudProvider` (`cubecloud` | `aws` | `gcp`), `CreateDeploymentInputCreationMethod` (`upload` | `cubecloud` | `github` | `ssh`), `CreateDeploymentInputDeployMode` (`git` | `cli`), `CspsConfigInput`.
23
+ - Data-model file authoring: `GET` / `PUT` / `DELETE /build/api/v1/deployments/{deploymentId}/data-model/files` (`DataModelPublicController.listFiles` / `updateFiles` / `removeFiles`) and `POST .../data-model/files/rename` (`renameFiles`). Writes are restricted to dev-mode branches. New schemas: `DataModelFileContent`, `DataModelFilePath`, `DataModelFileRename`, `UpdateDataModelFilesInput`, `RemoveDataModelFilesInput`, `RenameDataModelFilesInput`, `DataModelWriteResponse`.
24
+ - Chunked data-model uploads: `POST .../data-model/upload/start`, `POST .../data-model/upload/file`, `POST .../data-model/upload/finish`, and `GET .../data-model/file-hashes` (`UploadsPublicController.*`). New schemas: `StartUploadResponse`, `UploadFileBody`, `FinishUploadBody`, `FinishUploadResponse`, `UploadTransaction`, `FileHash`, `SourceTreeResponse`.
25
+ - Dev mode and branch operations: `POST` / `DELETE .../dev-mode` (`startDevMode` / `stopDevMode`), `GET` / `POST .../branches` (`listBranches` / `createBranch`), `POST .../commit`, `POST .../pull`, `POST .../merge`, `POST .../merge-to-default`. The dev-mode endpoints return the real dev branch. New schemas: `StartDevModeRequest`, `DevBranchResponse`, `BranchResponse`, `BranchesListResponse`, `CommitChangesRequest`, `PullRequest`, `PullResponse`, `MergeIntoParentBranchRequest`, `MergeToDefaultBranchRequest`, `MergeResponse`.
26
+ - `POST /build/api/v1/deployments/{deploymentId}/github/connect` (`GitHubDeploymentPublicController.connect`) — connects a deployment to a GitHub repository. New schema: `ConnectGitHubRequest`.
27
+
28
+ #### Deployment management
29
+
30
+ - `PUT /api/v1/deployments/{deploymentId}` (`DeploymentsPublicController.updateDeployment`) and `DELETE /api/v1/deployments/{deploymentId}` (`deleteDeployment`). New schemas: `UpdateDeploymentInput`, `UpdateDeploymentInputCreationMethod`, `UpdateDeploymentInputDeployMode`, `DeploymentDeleteResponse`.
31
+ - `GET /api/v1/deployments/{deploymentId}/build-status` (`buildStatus`) — current build/deploy state for a branch. New schema: `BuildStatusResponse`.
32
+ - `GET /api/v1/deployments/{deploymentId}/logs` (`logs`) — container logs, filterable by source and container. New schemas: `DeploymentLogsResponse`, `DeploymentLogLine`, `DeploymentLogsQuerySource` (`production` | `dev`), `DeploymentLogsQueryContainer` (`INIT` | `MAIN` | `cubejs-server` | `vector` | `api-proxy`).
33
+ - `GET /api/v1/deployments/{deploymentId}/pods` (`pods`). New schemas: `DeploymentPodsResponse`, `DeploymentPod`.
34
+ - `GET` / `PUT /api/v1/deployments/{deploymentId}/env-vars` (`EnvVariablesPublicController.getEnvVariables` / `setEnvVariables`). New schemas: `EnvVariablesListResponse`, `EnvVariableItem`, `SetEnvVariablesInput`.
35
+ - `POST /api/v1/deployments/{deploymentId}/creation-step/advance` and `.../creation-step/reset` (`advanceCreationStep` / `resetCreationStep`) for driving the deployment setup wizard. New schema: `AdvanceCreationStepInput`.
36
+ - `GET /api/v1/regions/` (`RegionsPublicController.listRegions`) — regions available to the tenant. New schemas: `RegionsListResponse`, `RegionResponse`.
37
+
38
+ #### Users, attributes and tenant settings
39
+
40
+ - Console user administration: `POST` / `PUT` / `DELETE /api/v1/users/{id}` and `POST /api/v1/users/` (`UsersAdminPublicController.createUser` / `updateUser` / `deleteUser`). New schemas: `UserCreateInput`, `UserUpdateInput`.
41
+ - `POST /api/v1/users/bulk` (`bulkUserAction`) — activate, deactivate or delete many users in one call, with per-user failure reporting. New schemas: `BulkUserActionInput`, `BulkUserActionInputAction` (`DEACTIVATE` | `ACTIVATE` | `DELETE`), `BulkUserActionPayload`, `BulkUserActionResponseAction`, `BulkUserActionFailure`.
42
+ - Tenant-level user attributes: `GET` / `POST /api/v1/user-attributes/` and `PUT /api/v1/user-attributes/{id}` (`UserAttributesPublicController.*`). New schemas: `UserAttribute`, `UserAttributesListResponse`, `UserAttributeCreateInput`, `UserAttributeUpdateInput`, `UserAttributeType` / `UserAttributeCreateInputType` / `GetUserAttributesQueryType` (`string` | `number` | `boolean` | `string_array` | `number_array`).
43
+ - Per-user attribute values: `GET /api/v1/user-attribute-values/{userId}` and `POST /api/v1/user-attribute-values/` (`UserAttributeValuesPublicController.getUserAttributeValues` / `upsertUserAttributeValue`). New schemas: `UserAttributeValue`, `UserAttributeValueType`, `UserAttributeValueCreateInput`.
44
+ - `GET` / `PUT /api/v1/tenant/settings` (`TenantSettingsPublicController.getTenantSettings` / `updateTenantSettings`) — audit log, maintenance window, support access, OIDC and AI/BI interface toggles. New schemas: `TenantSettings`, `TenantSettingsInput`.
45
+
46
+ #### OAuth, OIDC and GitHub integrations
47
+
48
+ - OAuth integration management: `GET` / `POST /api/v1/oauth-integrations/` and `GET` / `PUT` / `DELETE /api/v1/oauth-integrations/{id}` (`OAuthIntegrationsPublicController.*`). New schemas: `OAuthIntegration`, `CreateOAuthIntegrationInput`, `UpdateOAuthIntegrationInput`.
49
+ - Per-user OAuth tokens: `GET /api/v1/user-oauth-tokens/`, `GET` / `DELETE /api/v1/user-oauth-tokens/{integrationId}`, and `POST /api/v1/user-oauth-tokens/{integrationId}/initiate` (`UserOAuthTokensPublicController.*`). New schema: `UserOAuthToken`.
50
+ - OIDC token configuration: `GET` / `POST /api/v1/oidc-token-configs/` and `GET` / `PUT` / `DELETE /api/v1/oidc-token-configs/{id}` (`OidcTokenConfigsPublicController.*`). New schemas: `OidcTokenConfig`, `CreateOidcTokenConfigInput`, `UpdateOidcTokenConfigInput`.
51
+ - GitHub app discovery: `GET /api/v1/github/status`, `GET /api/v1/github/installations`, `GET /api/v1/github/installations/{installationId}/repositories`, and `GET /api/v1/github/repositories/{owner}/{repo}/branches` (`GitHubPublicController.*`). New schemas: `GitHubConnectStatusResponse`, `GitHubInstallationsListResponse`, `GitHubInstallationResponse`, `GitHubReposListResponse`, `GitHubRepoResponse`, `GitHubBranchesListResponse`, `GitHubBranchResponse`.
52
+
53
+ #### Embed tenants, groups and dashboard embedding
54
+
55
+ - `GET /api/v1/embed-tenants/` (`EmbedTenantAdminPublicController.listEmbedTenants`) and `GET /api/v1/embed-tenants/{embedTenantName}/users` (`listEmbedUsers`). New schemas: `EmbedTenantsPublicResponse`, `EmbedTenant`, `EmbedUsersPublicResponse`, `EmbedUser`.
56
+ - Embed group management: `POST /api/v1/embed-tenants/{embedTenantName}/groups` (`createGroup`), `GET` / `PATCH /api/v1/embed-tenants/{embedTenantName}/groups/{id}` (`getGroup` / `updateGroup`), and membership via `GET` / `POST` / `DELETE .../groups/{id}/users` (`getGroupMembers` / `addGroupMembers` / `removeGroupMembers`). New schemas: `CreateEmbedGroupInput`, `UpdateEmbedGroupInput`, `EmbedGroupMemberInput`, `EmbedGroupMembersInput`, `EmbedGroupMembersMutationResponse`.
57
+ - `GET` / `PUT /api/v1/deployments/{deploymentId}/workbooks/{workbookId}/embed-access` (`DashboardEmbedAccessPublicController.getEmbedAccess` / `updateEmbedAccess`) — grant or revoke dashboard access per embed tenant, or for all embed users. New schemas: `EmbedAccessResponse`, `EmbedAccessTenantEntry`, `EmbedAccessAllEmbedUsers`, `UpdateEmbedAccessInput`, and the `read` | `none` action enums `EmbedAccessTenantEntryAction`, `EmbedAccessAllEmbedUsersAction`, `UpdateEmbedAccessInputAction`.
58
+ - `PATCH /api/v1/embed/dashboard/{publicId}` (`EmbedPublicController.updateDashboardEmbedding`) — enable or disable signed embedding for a dashboard. New schemas: `UpdateDashboardEmbeddingInput`, `DashboardEmbeddingResponse`.
59
+ - `POST /api/v1/embed/dashboard/{publicId}/python-run` (`EmbedPublicController.postDashboardPythonRun`) — runs a Python report on an embed surface with dashboard filters applied. New schemas: `EmbedPythonFilteredRunInput`, `PythonAnalysisFilteredRun`.
60
+ - The embed session request (`GenerateSession`) accepts a `settings` object. New schema: `EmbedSessionSettings` (`showDashboardChat`).
61
+
62
+ #### Workspace, workbooks and reports
63
+
64
+ - `POST /api/v1/deployments/{deploymentId}/workspace/bulk-delete` and `.../workspace/bulk-move` (`WorkspacePublicController.bulkDeleteWorkspaceObjects` / `bulkMoveWorkspaceObjects`) — delete or move folders, workbooks and reports in one call, with per-item failure reporting. New schemas: `BulkDeleteWorkspaceObjectsInput`, `BulkDeleteWorkspaceObjectsPayload`, `BulkMoveWorkspaceObjectsInput`, `BulkMoveWorkspaceObjectsResponse`, `WorkspaceItemRef`, `WorkspaceItemRefInput`, `WorkspaceBulkFailure`, `BulkActionError`, and the `FOLDER` | `WORKBOOK` | `REPORT` enums `WorkspaceItemRefType`, `WorkspaceItemRefInputType`, `WorkspaceBulkFailureType`.
65
+ - `PUT /api/v1/deployments/{deploymentId}/workbooks/by-slug/{slug}` (`WorkbooksPublicController.upsertWorkbookBySlug`) and `PUT /api/v1/deployments/{deploymentId}/reports/by-public-id/{publicId}` (`ReportsPublicController.upsertReportByPublicId`) — create-or-update by stable external identifier.
66
+ - `Folder`, `Workbook` and `Report` responses now include `folderPath`, the ancestor chain of the containing folder. New schema: `WorkspaceFolderPathEntry`.
67
+ - `ReportSnapshot` now includes `periodComparisons` for period-over-period measures. New schemas: `PeriodComparison` (`measure`, `timeDimension`, `offset`, `outputs`), `PeriodComparisonOffset` (`amount`, `unit`).
68
+ - `UpdateReportInput` now accepts `publicId`.
69
+ - `PublishDashboardInput` now accepts `allowEmbed`.
70
+
71
+ #### Dashboard apps
72
+
73
+ - `DashboardConfig` and `DashboardConfigInput` now carry `kind` and `app`, so a dashboard can be an app of authored files rather than a widget document. New schemas: `DashboardAppSource`, `DashboardAppSourceInput`, `DashboardAppManifest`, `DashboardAppManifestInput`, and the `CLASSIC` | `APP` enums `DashboardConfigKind`, `DashboardConfigInputKind`.
74
+
75
+ #### App configuration
76
+
77
+ - `AppConfigResponse` now includes `sheetsUi`. New schema: `SheetsUiSettings` (`showAppliedFilters`).
78
+ - `EmbedSettings` now includes `showDashboardChat`.
79
+ - `AIEngineerSettings` now includes `agentsConfigCredentials`.
80
+
81
+ #### Also included from the unpublished 0.2.1
82
+
83
+ - `POST /api/v1/deployments/{deploymentId}/dbt-sync` operation (`DbtSyncPublicController.startDbtSync`) — starts a dbt sync for a deployment, optionally on a specific branch. New schemas: `StartDbtSyncInput` (`branchName`), `DbtSyncResponse` (`branchName`, `syncJobId`, `workflowId`).
84
+ - `PUT /api/v1/deployments/{deploymentId}/reports/{reportId}/connect-workbook` operation (`ReportsPublicController.connectReportToWorkbook`) — links a report to the caller's own spreadsheet by recording its placement, and returns the updated `Report`. Requires only read access to the report. New schema: `ConnectReportToWorkbookInput` (`externalWorkbookId`, `resultLocation`, `endResultCell`).
85
+ - New `SecretsManage` and `DownloadData` RBAC actions, available across all policy action enums (`RoleWithAccess.actions`, the inherited/resource user & group policy actions, and the update-policy request bodies).
86
+ - `AIEngineerSettings` now includes `chatThreadPolicies`. New schemas: `ChatThreadPolicy` (`actions`, `effect`, `resourceType`, `resources`), `ChatThreadPolicyEffect` (`allow` | `deny`), `ChatThreadPolicyResourceType`.
87
+ - `GET /api/v1/deployments/{deploymentId}/reports` accepts a new `search` query filter.
88
+ - `Report` now includes `canEdit`, `canManage`, and `externalWorkbookPlacements` — a report can be placed in multiple spreadsheets. New schema: `ReportPlacement` (`workbookId`, `resultLocation`, `endResultCell`).
89
+ - `ReportSnapshot` now includes `fillMissingRows`. New schema: `FillMissingRows` (`member`, `excludedDimensions`).
90
+ - `CreatorMode` now includes `showGeneratedSql` and `showSemanticSql` toggles.
91
+ - `Dashboard` now includes `restrictDataDownload` and `useBoardDashboards`.
92
+ - `UpdatePublishedAiWidgetThreadInput` accepts an optional `checksum`.
93
+
94
+ ### Changed
95
+
96
+ - **BREAKING:** the `deleteEmbedTenant` operation moved from `DELETE /api/v1/embed-tenants/{embedTenantName}/` to `DELETE /api/v1/embed-tenants/{embedTenantName}` — the trailing slash is gone, so the typed path key changed.
97
+ - `deleteEmbedTenant` and `deleteGroup` now document their `204` responses, and the embed-tenant path parameters carry descriptions.
98
+ - `DashboardConfigInput.widgets` is now optional. (from the unpublished `0.2.1`)
99
+
100
+ ### Removed
101
+
102
+ - **BREAKING:** removed the `GET /api/v1/ai-engineer/active-region` operation (`AIEngineerPublicController.getMyActiveAgentRegion`) and the `ActiveAgentRegion` schema. Use `GET /api/v1/regions/` to discover regions.
103
+
104
+ ## [0.2.1] - 2026-07-20
105
+
106
+ > **Never published to npm.** The publish job for this version failed, so `0.2.1`
107
+ > does not exist on the registry. Everything below shipped in `0.3.0`, which
108
+ > repeats these entries in its own section.
109
+
110
+ ### Added
111
+
112
+ - `POST /api/v1/deployments/{deploymentId}/dbt-sync` operation (`DbtSyncPublicController.startDbtSync`) — starts a dbt sync for a deployment, optionally on a specific branch. New schemas: `StartDbtSyncInput` (`branchName`), `DbtSyncResponse` (`branchName`, `syncJobId`, `workflowId`).
113
+ - `PUT /api/v1/deployments/{deploymentId}/reports/{reportId}/connect-workbook` operation (`ReportsPublicController.connectReportToWorkbook`) — links a report to the caller's own spreadsheet by recording its placement, and returns the updated `Report`. Requires only read access to the report. New schema: `ConnectReportToWorkbookInput` (`externalWorkbookId`, `resultLocation`, `endResultCell`).
114
+ - New `SecretsManage` and `DownloadData` RBAC actions, available across all policy action enums (`RoleWithAccess.actions`, the inherited/resource user & group policy actions, and the update-policy request bodies).
115
+ - `AIEngineerSettings` now includes `chatThreadPolicies`. New schemas: `ChatThreadPolicy` (`actions`, `effect`, `resourceType`, `resources`), `ChatThreadPolicyEffect` (`allow` | `deny`), `ChatThreadPolicyResourceType`.
116
+ - `GET /api/v1/deployments/{deploymentId}/reports` accepts a new `search` query filter.
117
+ - `Report` now includes `canEdit`, `canManage`, and `externalWorkbookPlacements` — a report can be placed in multiple spreadsheets. New schema: `ReportPlacement` (`workbookId`, `resultLocation`, `endResultCell`).
118
+ - `ReportSnapshot` now includes `fillMissingRows`. New schema: `FillMissingRows` (`member`, `excludedDimensions`).
119
+ - `CreatorMode` now includes `showGeneratedSql` and `showSemanticSql` toggles.
120
+ - `Dashboard` now includes `restrictDataDownload` and `useBoardDashboards`.
121
+ - `UpdatePublishedAiWidgetThreadInput` accepts an optional `checksum`.
122
+
123
+ ### Changed
124
+
125
+ - `DashboardConfigInput.widgets` is now optional.
126
+
12
127
  ## [0.2.0] - 2026-07-02
128
+
13
129
  ### Added
14
130
 
15
131
  - `POST /api/v1/deployments/{deploymentId}/workbooks/{workbookId}/dashboard/ai-widget-thread` operation (`WorkbooksPublicController.updatePublishedDashboardAiWidgetThread`) — attaches an AI widget thread to a published dashboard and returns the updated `Dashboard`. New schema: `UpdatePublishedAiWidgetThreadInput` (`threadId`, `widgetId`).
@@ -11,11 +11,11 @@ export type CubeCloudApiProviderProps = CubePlatformApiProviderProps;
11
11
  /** @deprecated Renamed to {@link useCubePlatformApi}. */
12
12
  export declare const useCubeCloudApi: typeof useCubePlatformApi;
13
13
  /** @deprecated Renamed to {@link useCubePlatformApiQuery}. */
14
- export declare const useCubeCloudApiQuery: <Method extends HttpMethod, Path extends PathsWithMethod<paths, Method>, Init extends import("openapi-fetch").MaybeOptionalInit<paths[Path], Method>, Response extends Required<import("openapi-fetch").FetchResponse<paths[Path][Method] & Record<string, any>, Init, import("openapi-typescript-helpers").MediaType>>, Options extends Omit<import("@tanstack/react-query").UseQueryOptions<Response["data"], any, Options["select"] extends infer T ? T extends Options["select"] ? T extends (data: Response["data"]) => infer R ? R : Response["data"] : never : never, any>, "queryKey" | "queryFn">>(method: Method, url: Path, ...[init, options, queryClient]: import("openapi-typescript-helpers").RequiredKeysOf<Init> extends never ? [(Init & {
14
+ export declare const useCubeCloudApiQuery: <Method extends HttpMethod, Path extends PathsWithMethod<paths, Method>, Init extends import("openapi-fetch").MaybeOptionalInit<paths[Path], Method>, Response extends Required<import("openapi-fetch").FetchResponse<paths[Path][Method] & Record<string, any>, Init, import("openapi-typescript-helpers").MediaType>>, Options extends Omit<import("@tanstack/react-query").UseQueryOptions<Response['data'], any, Options["select"] extends infer T ? T extends Options["select"] ? T extends (data: Response["data"]) => infer R ? R : Response["data"] : never : never, any>, 'queryKey' | 'queryFn'>>(method: Method, url: Path, ...[init, options, queryClient]: import("openapi-typescript-helpers").RequiredKeysOf<Init> extends never ? [(Init & {
15
15
  [key: string]: unknown;
16
16
  })?, Options?, import("@tanstack/query-core").QueryClient?] : [Init & {
17
17
  [key: string]: unknown;
18
- }, Options?, import("@tanstack/query-core").QueryClient?]) => import("@tanstack/react-query").UseQueryResult<Options["select"] extends infer T_1 ? T_1 extends Options["select"] ? T_1 extends (data: Response["data"]) => infer R ? R : Response["data"] : never : never, any>;
18
+ }, Options?, import("@tanstack/query-core").QueryClient?]) => import("@tanstack/react-query").UseQueryResult<Options["select"] extends infer T ? T extends Options["select"] ? T extends (data: Response["data"]) => infer R ? R : Response["data"] : never : never, any>;
19
19
  /** @deprecated Renamed to {@link useCubePlatformApiSuspenseQuery}. */
20
20
  export declare const useCubeCloudApiSuspenseQuery: import("openapi-react-query").UseSuspenseQueryMethod<paths, `${string}/${string}`>;
21
21
  /** @deprecated Renamed to {@link useCubePlatformApiMutation}. */
@@ -1 +1 @@
1
- {"version":3,"file":"deprecated.d.ts","sourceRoot":"","sources":["../../src/react-query/deprecated.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAIlB,2BAA2B,EAE5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,gCAA0B,CAAC;AAC5D,mEAAmE;AACnE,MAAM,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAErE,yDAAyD;AACzD,eAAO,MAAM,eAAe,2BAAqB,CAAC;AAClD,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB;;;;+QAA0B,CAAC;AAC5D,sEAAsE;AACtE,eAAO,MAAM,4BAA4B,oFAAkC,CAAC;AAC5E,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,+EAA6B,CAAC;AAClE,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,oCAA8B,CAAC;AACpE,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,kFAAiC,CAAC;AAE1E,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,UAAU,EACzB,IAAI,SAAS,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,IACzC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE1C,wEAAwE;AACxE,MAAM,MAAM,8BAA8B,CAAC,KAAK,EAAE,MAAM,IAAI,iCAAiC,CAC3F,KAAK,EACL,MAAM,CACP,CAAC"}
1
+ {"version":3,"file":"deprecated.d.ts","sourceRoot":"","sources":["../../src/react-query/deprecated.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAIlB,2BAA2B,EAE5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,gCAA0B,CAAC;AAC5D,mEAAmE;AACnE,MAAM,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAErE,yDAAyD;AACzD,eAAO,MAAM,eAAe,2BAAqB,CAAC;AAClD,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB;;;;yQAA0B,CAAC;AAC5D,sEAAsE;AACtE,eAAO,MAAM,4BAA4B,oFAAkC,CAAC;AAC5E,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,+EAA6B,CAAC;AAClE,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,oCAA8B,CAAC;AACpE,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,kFAAiC,CAAC;AAE1E,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,UAAU,EACzB,IAAI,SAAS,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,IACzC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE1C,wEAAwE;AACxE,MAAM,MAAM,8BAA8B,CAAC,KAAK,EAAE,MAAM,IAAI,iCAAiC,CAC3F,KAAK,EACL,MAAM,CACP,CAAC"}