@sanoma-ai/workflows 0.10.6 → 0.10.11
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/CLOUD-IDENTITY.md +25 -5
- package/KMS-SECRETS.md +75 -11
- package/README.md +18 -11
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -1
- package/dist/collection.d.ts +1 -0
- package/dist/collection.js +25 -8
- package/dist/collection.js.map +1 -1
- package/dist/config.d.ts +3 -2
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/connection.d.ts +2 -0
- package/dist/connection.js +4 -0
- package/dist/connection.js.map +1 -1
- package/dist/credentials.d.ts +1 -1
- package/dist/credentials.js +21 -2
- package/dist/credentials.js.map +1 -1
- package/dist/identity-provisioning.d.ts +11 -1
- package/dist/identity-provisioning.js +59 -0
- package/dist/identity-provisioning.js.map +1 -1
- package/dist/identity-service.js +1 -1
- package/dist/identity-service.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kms-secrets.d.ts +19 -4
- package/dist/kms-secrets.js +70 -11
- package/dist/kms-secrets.js.map +1 -1
- package/dist/runtime-ops.d.ts +31 -1
- package/dist/runtime-ops.js +30 -1
- package/dist/runtime-ops.js.map +1 -1
- package/dist/secret-store.d.ts +21 -2
- package/dist/secret-store.js +18 -3
- package/dist/secret-store.js.map +1 -1
- package/dist/shared.d.ts +1 -0
- package/dist/storage-provisioning.d.ts +25 -0
- package/dist/storage-provisioning.js +221 -0
- package/dist/storage-provisioning.js.map +1 -0
- package/dist/worker.js +9 -2
- package/dist/worker.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +3 -0
- package/src/collection.ts +28 -8
- package/src/config.ts +10 -3
- package/src/connection.ts +5 -0
- package/src/credentials.ts +29 -2
- package/src/identity-provisioning.ts +64 -1
- package/src/identity-service.ts +1 -1
- package/src/index.ts +1 -0
- package/src/kms-secrets.ts +90 -13
- package/src/runtime-ops.ts +37 -0
- package/src/secret-store.ts +34 -3
- package/src/shared.ts +1 -1
- package/src/storage-provisioning.ts +257 -0
- package/src/worker.ts +9 -2
package/CLOUD-IDENTITY.md
CHANGED
|
@@ -51,7 +51,27 @@ The broker login must have no writer-role membership, inherited write grants or
|
|
|
51
51
|
|
|
52
52
|
### Provisioning operations
|
|
53
53
|
|
|
54
|
-
The trusted control-plane config supplies `identityProvisioning
|
|
54
|
+
The trusted control-plane config supplies `identityProvisioning` with its protected enrollment-writer URL and maximum credential validity. Company runtimes and the serving broker do not receive this writer. Install `CLOUD_IDENTITY_SQL` separately with administrative authority, then configure the control plane:
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
import { defineConfig } from "sanoma";
|
|
58
|
+
|
|
59
|
+
export default defineConfig({
|
|
60
|
+
connectors: [], // Add the control plane's configured vendor connectors.
|
|
61
|
+
identityProvisioning: {
|
|
62
|
+
databaseUrl: process.env.SANOMA_IDENTITY_WRITE_DATABASE_URL ?? "",
|
|
63
|
+
maxValidityMs: 24 * 60 * 60 * 1000,
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
The environment name above is an explicit config choice, not an automatic fallback. Supply its value through protected deployment configuration; never place the URL in source, workflow inputs/results or logs. Missing or malformed URLs are refused with a sanitized error. Remote Postgres connections require verified TLS. Each client and worker owns a separate, lazy enrollment pool and closes it on shutdown or startup failure. Config resolution and descriptions perform no database I/O and do not expose the URL. There is no fallback to the company database or broker reader.
|
|
69
|
+
|
|
70
|
+
Before writes, the managed pool checks that its login has schema USAGE and SELECT, INSERT and UPDATE on both enrollment tables. It refuses schema CREATE, table DELETE, TRUNCATE, REFERENCES or TRIGGER, and superuser, create-role, create-database or bypass-RLS authority. Use a dedicated restricted login rather than a database owner; effective inherited permissions also matter.
|
|
71
|
+
|
|
72
|
+
The one-day limit is illustrative; choose a validity and renewal policy for the deployment. `maxValidityMs` is required and enforced against the enrollment database clock. This configuration does not install schemas, create roles, provision IAM, deliver credentials or schedule renewal.
|
|
73
|
+
|
|
74
|
+
Trusted composition that already owns a writer pool may instead supply the low-level `IdentityProvisioning` adapter:
|
|
55
75
|
|
|
56
76
|
```ts
|
|
57
77
|
import { postgresIdentityProvisioning } from "@sanoma-ai/workflows/cloud-identity";
|
|
@@ -59,11 +79,11 @@ import { postgresIdentityProvisioning } from "@sanoma-ai/workflows/cloud-identit
|
|
|
59
79
|
const identityProvisioning = postgresIdentityProvisioning(async () => enrollmentWriterPool, {
|
|
60
80
|
maxValidityMs: 24 * 60 * 60 * 1000,
|
|
61
81
|
});
|
|
62
|
-
// Supply
|
|
63
|
-
//
|
|
82
|
+
// Supply this adapter as defineConfig's identityProvisioning value.
|
|
83
|
+
// Its caller owns pool shutdown, TLS and permission validation.
|
|
64
84
|
```
|
|
65
85
|
|
|
66
|
-
|
|
86
|
+
An explicitly supplied adapter stays caller-owned; Sanoma does not close it or apply the managed pool's connection and permission checks.
|
|
67
87
|
|
|
68
88
|
Workflows declare the built-in `sanoma.identity.enroll`, `.retire` and `.revoke` operations in `uses`. They pass through the existing policy and ledger path; direct calls are refused. All three identify the same fixed mapping: `deployment`, `company`, `environment` and `serviceAccount`. The workflow and policy must authorize the actor against that company and environment before granting access.
|
|
69
89
|
|
|
@@ -244,7 +264,7 @@ Create the login and deliver its authentication separately. Neither serving role
|
|
|
244
264
|
|
|
245
265
|
Audit rows contain fixed issuance metadata: result, deployment, company, environment, service account, generation and expiry. They contain no tokens, bearer hashes, authorization headers or arbitrary request fields. Audit failure prevents token delivery and returns a sanitized error; recovery never switches identities.
|
|
246
266
|
|
|
247
|
-
GET or HEAD `/
|
|
267
|
+
The liveness route uses `/health`: [Cloud Run reserves some paths ending in `z`](https://docs.cloud.google.com/run/docs/known-issues#reserved-url-paths), so `/healthz` may be intercepted before it reaches the service. GET or HEAD `/health` and the launcher's `ready` event mean the process is listening. They do **not** prove current Google issuance, continuing database/audit availability, provider renewal or managed-store readiness. Before declaring a company ready, verify its deployed runtime can write and read a credential under its own key/database identity. The two-company, preview/production, renewal, cold-start, outage and recovery checks remain #532 gates.
|
|
248
268
|
|
|
249
269
|
Trusted programmatic composition may call `startIdentityService(options)` from `@sanoma-ai/workflows/identity-service`, returning `{ url, stop }`. Its default host is loopback; the caller owns shutdown. The serving package does not load company code.
|
|
250
270
|
|
package/KMS-SECRETS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# GCP KMS-protected credential storage
|
|
2
2
|
|
|
3
|
-
`@sanoma-ai/workflows/kms-secrets` implements the
|
|
3
|
+
`@sanoma-ai/workflows/kms-secrets` implements the managed Cloud storage adapter from #470. Encrypted credentials live in **Postgres**, in `sanoma_kms.secrets` in the company database supplied by trusted bootstrap. Supabase can host that Postgres database; no separate key-value database is needed. GCP KMS protects encryption keys, not the credential records. BYOC Supabase Vault is a separate adapter. AWS Secrets Manager remains deferred.
|
|
4
4
|
|
|
5
5
|
## Runtime boundary
|
|
6
6
|
|
|
@@ -10,28 +10,92 @@ The proposed default is one symmetric SOFTWARE CryptoKey per company and environ
|
|
|
10
10
|
|
|
11
11
|
This adapter is not a production Cloud deployment. D1 implementation is tracked in [#492](https://github.com/Sanoma-AI/sanoma/issues/492) and [PR #496](https://github.com/Sanoma-AI/sanoma/pull/496). Isolated live IAM tests have passed; intended-host deployment and rollout checks remain separate. A Cloudflare deployment does not automatically have a Google identity. Workload Identity Federation or another approved refreshable credential route must bind the authenticated workload to its company; tenant code cannot select or impersonate other companies. The adapter provisions no identities, keys, database grants or shared service.
|
|
12
12
|
|
|
13
|
+
Privileged deployment setup installs `KMS_SECRETS_SQL` once in the company database and grants the runtime `USAGE` on `sanoma_kms` and `SELECT/INSERT/UPDATE/DELETE` on `sanoma_kms.secrets`. The store does not install its schema or grant permissions during startup.
|
|
14
|
+
|
|
15
|
+
In deployment configuration, `managedKmsStore` composes the runtime identity broker and KMS transport with the runtime's existing company database:
|
|
16
|
+
|
|
13
17
|
```ts
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
18
|
+
import { defineConfig } from "sanoma";
|
|
19
|
+
import { managedKmsStore } from "sanoma/secrets";
|
|
20
|
+
|
|
21
|
+
// Prepare the database first with sanoma.secretStore.prepare (below).
|
|
22
|
+
// companyDatabaseUrl is the resulting restricted runtime URL.
|
|
23
|
+
|
|
24
|
+
export default defineConfig({
|
|
25
|
+
connectors: [],
|
|
26
|
+
databaseUrl: companyDatabaseUrl,
|
|
27
|
+
secrets: {
|
|
28
|
+
namespace: "production",
|
|
29
|
+
store: managedKmsStore({
|
|
30
|
+
company: companyIdFromTrustedBootstrap,
|
|
31
|
+
keyName: "projects/cloud-project/locations/us-central1/keyRings/production/cryptoKeys/company-id",
|
|
32
|
+
identity: {
|
|
33
|
+
endpoint: "https://identity.example.com/token",
|
|
34
|
+
credential: async () => readProtectedDeploymentCredential(),
|
|
35
|
+
},
|
|
36
|
+
}),
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The company ID, key reference, broker endpoint and credential reader come from trusted deployment bootstrap. `credential` reads the current bearer value from protected host configuration and is called again when the short-lived Google token needs renewal. It must not read that value from the store it unlocks. Optional `decryptKeyNames` allows retained company keys during replacement or backup recovery. The helper is also exported by `@sanoma-ai/workflows/kms-secrets`; `sanoma/secrets` makes it available to company repos that install only `sanoma` and their connectors.
|
|
16
42
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
43
|
+
`managedKmsStore` returns a `SecretStoreFactory`: non-secret `id` and capabilities plus `create({ database })`. The runtime binds a fresh adapter to its own database connection for each access context. Each bound managed adapter opens its SDK client lazily and owns its refreshed-token state; runtime shutdown closes that client. Reusing a configuration does not rebind an earlier instance to another database. Configuration descriptions inspect metadata without querying the broker, KMS or Postgres; startup validates the selected store.
|
|
44
|
+
|
|
45
|
+
Factory construction must perform no I/O or allocate clients needing cleanup, and the returned adapter must preserve its declared ID and capabilities. An adapter that opens clients lazily may return `close()` for the runtime to call; it must never close the supplied database connection. A factory must be bound by the runtime before use; it cannot be passed directly to `SecretAccess` or the store conformance checker. A caller-supplied `SecretStore` remains caller-owned.
|
|
46
|
+
|
|
47
|
+
For standalone use or an explicitly supplied KMS client, use the lower-level `kmsPostgresStore`:
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
import { KeyManagementServiceClient } from "@google-cloud/kms";
|
|
51
|
+
import { kmsPostgresStore } from "@sanoma-ai/workflows/kms-secrets";
|
|
20
52
|
|
|
21
|
-
// Supply the company-scoped refreshable auth client from trusted bootstrap.
|
|
22
|
-
// D1 provides cloudIdentityAuth in the separate /cloud-identity entry once released.
|
|
23
53
|
const kms = new KeyManagementServiceClient({ authClient: companyAuthClient });
|
|
24
54
|
const store = kmsPostgresStore({
|
|
25
55
|
company: companyIdFromTrustedBootstrap,
|
|
26
|
-
keyName:
|
|
56
|
+
keyName: companyKeyName,
|
|
27
57
|
kms,
|
|
28
58
|
database: async () => companyDatabase,
|
|
29
59
|
});
|
|
30
60
|
await store.validate("production");
|
|
31
|
-
// Deployment config: secrets: { store, namespace: "production" }
|
|
32
61
|
```
|
|
33
62
|
|
|
34
|
-
|
|
63
|
+
An explicit `database` returns a `SecretStore`; omitting it returns a factory that uses the runtime's database. In both forms of `kmsPostgresStore`, the caller owns the supplied KMS client, including `kms.close()`. An explicit database connection is also caller-owned. `managedKmsStore` supplies both the runtime binding and SDK lifecycle instead.
|
|
64
|
+
|
|
65
|
+
`SANOMA_SIGNING_KEY` stays independent. This store does not use `SANOMA_SECRETS_KEY`. Workflow code cannot import either backend entry. Secret intake must remain outside durable workflow inputs/outputs. Runtime binding does not establish deployed Cloud readiness; provisioning, bootstrap delivery and live company isolation remain #532 verification work.
|
|
66
|
+
|
|
67
|
+
## Preparing the company database
|
|
68
|
+
|
|
69
|
+
The built-in `sanoma.secretStore.prepare` operation initializes an existing, dedicated company/environment Postgres database. It installs the private KMS schema, creates a restricted runtime login, saves that login's URL in the provisioning runtime's selected secret store, and returns only `{ company, environment, role, store }`. It does not create the database or the GCP key. Use it in a provisioning workflow:
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
import { defineWorkflow, sanoma } from "sanoma";
|
|
73
|
+
import { z } from "zod";
|
|
74
|
+
|
|
75
|
+
export const prepareStorage = defineWorkflow({
|
|
76
|
+
name: "prepare-managed-storage",
|
|
77
|
+
trigger: "manual",
|
|
78
|
+
input: z.object({}),
|
|
79
|
+
uses: [sanoma.secretStore.prepare],
|
|
80
|
+
run: async (ctx) =>
|
|
81
|
+
await ctx.sanoma.secretStore.prepare({
|
|
82
|
+
company: "acme",
|
|
83
|
+
environment: "production",
|
|
84
|
+
database: { $secret: "SANOMA_DATABASE_URL_CLOUD_ACME" },
|
|
85
|
+
store: "CLOUD_ACME_DATABASE_URL",
|
|
86
|
+
}),
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The source secret names a privileged provisioning URL for that database: its login must be able to install the schema, create roles and grant database/schema privileges. Keep it in the selected secret store; neither the URL nor its password belongs in workflow input. The destination must be a different, writable secret name outside the reserved `SANOMA_` prefix. Supply `CLOUD_ACME_DATABASE_URL` to the host through a secret reference; never give the company runtime the source administrator URL. Remote connections require certificate-verified TLS (`sslmode=verify-full`); loopback databases support local development. URL query options that can override connection authority are refused.
|
|
91
|
+
|
|
92
|
+
This is an `access` operation, evaluated under policy and recorded in the ledger; direct calls are refused. Its database work runs inside the trusted driver boundary. The runtime URL is saved before database mutation, so retries after an uncertain outcome retain the same password. A transaction serializes preparation and binds the database immutably to company, environment, role and a credential hash in `sanoma_kms.deployment`. A conflicting binding, destination or pre-existing unowned role is refused. This operation neither adopts existing credentials nor rotates a database password; keep its saved runtime URL for retries and recovery.
|
|
93
|
+
|
|
94
|
+
Role creation sends the password as a bound parameter to a session-private `pg_temp` function running with the provisioning login's privileges (`SECURITY INVOKER`). The trusted database receives the password over verified TLS for remote connections and hashes it with transaction-local `password_encryption=scram-sha-256`. This supports providers such as Neon that reject precomputed SCRAM verifiers. The submitted SQL text excludes the credential; the password still crosses the database boundary, so database parameter/error logging must protect it. Workflow inputs, results, ledger records and durable history contain references and metadata only. This compatibility path does not by itself establish hosted Neon or deployed KMS readiness.
|
|
95
|
+
|
|
96
|
+
Preparation removes public grants from the target database and its `public` schema. The runtime receives `CONNECT`, `CREATE` and `TEMPORARY` on its own database, plus `USAGE`/`CREATE` on `public`, so Sanoma can initialize its DBOS and application schemas. It receives only `USAGE` on `sanoma_kms` and `SELECT`/`INSERT`/`UPDATE`/`DELETE` on `sanoma_kms.secrets`. It cannot administer roles or databases, own the database or KMS schema, or access the private deployment binding. Unexpected role privilege drift is refused on retry. Use a dedicated database; preparation changes its access grants.
|
|
97
|
+
|
|
98
|
+
Success verifies the stored login and its KMS-table permissions. It means **database initialized**, not **managed storage ready**: GCP key/IAM provisioning, refreshable runtime identity, host secret delivery, KMS validation and a deployed credential read/write still need their own checks. A sandbox run uses isolated in-memory bindings and makes no database connections. It cannot establish Postgres or live IAM readiness.
|
|
35
99
|
|
|
36
100
|
## One shared key versus a key per company
|
|
37
101
|
|
package/README.md
CHANGED
|
@@ -251,17 +251,18 @@ The lint refuses `Promise.all` and `Promise.allSettled` in workflows, pointing a
|
|
|
251
251
|
|
|
252
252
|
#### The runtime's own operations
|
|
253
253
|
|
|
254
|
-
What a workflow cannot do itself, the runtime does as operations of the vendor `sanoma`, in every config with their driver: `import { sanoma } from "sanoma"`, list them in `uses` and call `ctx.sanoma.<group>.<op>`. They are decided by the policy (`Sanoma::Action::"sanoma.secret.generate"`), recorded in the ledger, never answer a secret's value,
|
|
254
|
+
What a workflow cannot do itself, the runtime does as operations of the vendor `sanoma`, in every config with their driver: `import { sanoma } from "sanoma"`, list them in `uses` and call `ctx.sanoma.<group>.<op>`. They are decided by the policy (`Sanoma::Action::"sanoma.secret.generate"`), recorded in the ledger, never answer a secret's value, and are no [direct calls](#direct-calls). Secret creation/deletion names cannot use the reserved `SANOMA_…` prefix; `secretStore.prepare` may reference a database URL stored under that prefix as its source.
|
|
255
255
|
|
|
256
|
-
| Operation
|
|
257
|
-
|
|
|
258
|
-
| `sanoma.secret.generate`
|
|
259
|
-
| `sanoma.secret.delete`
|
|
260
|
-
| `sanoma.
|
|
261
|
-
| `sanoma.
|
|
262
|
-
| `sanoma.token.
|
|
256
|
+
| Operation | Input | Output | What it does |
|
|
257
|
+
| ---------------------------- | ------------------------------------------------------------------------------- | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
258
|
+
| `sanoma.secret.generate` | `{ name, kind: "random" \| "ssh-rsa" }` | `{ name, publicKey? }` | Stores a value under `name` (upper case) unless one is stored: `random`, 32 random bytes as a `generate` marker makes; `ssh-rsa`, an RSA key pair as going live's deploy key, its private half (PEM) stored and its public half (`ssh-rsa <base64>`) answered, from what is stored, so a name stored already answers its own. Effect `write` |
|
|
259
|
+
| `sanoma.secret.delete` | `{ name }` | `{}` | Deletes the stored value; none stored is nothing to do. Effect `write` |
|
|
260
|
+
| `sanoma.secretStore.prepare` | `{ company, environment, database: { $secret: "NAME" }, store: "RUNTIME_URL" }` | `{ company, environment, role, store }` | Initializes an existing company database's private KMS schema and restricted runtime login; saves its URL under `store`. Retried with the same stored credential; conflicting ownership is refused. Effect `access`. See [database preparation](KMS-SECRETS.md#preparing-the-company-database) |
|
|
261
|
+
| `sanoma.invite.mint` | `{ host, email, key: secret("NAME") }` | `{ url }` | Seals an invite request for `email` (good for five minutes) under the signing key stored as `NAME`, an instance's `SANOMA_SIGNING_KEY` (`sealInvite` with that key), posts it to `<host>/auth/invite` and answers the one-use link it mints; the ledger records `url` as `"<url>"`. Retried on a status worth retrying. Effect `access` |
|
|
262
|
+
| `sanoma.token.mint` | `{ subject, groups, store: "NAME" }` | `{ id }` | Mints an api token (`SanomaClient.tokens`) acting for `subject` in `groups`, stores it under `store` (refused when `store` holds a value), and answers its id alone; a host takes it as `secret("NAME")`. Not retried. Effect `access` |
|
|
263
|
+
| `sanoma.token.revoke` | `{ id }` | `{}` | Revokes the token: it resolves to nobody from now on. Effect `access` |
|
|
263
264
|
|
|
264
|
-
A sandbox run calls them over its own secrets and tokens, in memory
|
|
265
|
+
A sandbox run calls them over its own secrets and tokens, in memory; `invite.mint` posts nothing and `secretStore.prepare` makes no database connections.
|
|
265
266
|
|
|
266
267
|
#### Step names
|
|
267
268
|
|
|
@@ -303,7 +304,7 @@ export default defineConfig({ connectors: [], secrets });
|
|
|
303
304
|
|
|
304
305
|
Without `store`, the runtime uses its encrypted Postgres adapter. Without `namespace`, it uses `default`. An unbound name resolves to the same path in that namespace, managed by Sanoma. A `{ path, management: "external" }` binding is read-only to Sanoma even when its store can write. An `{ env }` binding reads that exact variable, is read-only, and does not fall back when absent. A `{ bootstrap }` binding explicitly exposes one deployment key to trusted host-secret resolution; it reads the corresponding environment or mounted-file input and never stores the key in Postgres. Bootstrap keys and recovery are described [below](#bootstrap-keys).
|
|
305
306
|
|
|
306
|
-
An external adapter is a `SecretStore` instance supplied as `secrets.store`. It authenticates to one deployment's authorized storage before Sanoma can read values. Prefer a scoped workload identity where the adapter supports it; otherwise deliver its bootstrap credential through the host. Do not make that credential depend on reading the same store it unlocks. The [Supabase Vault adapter](../../connectors/supabase/README.md#supabase-vault-as-the-secret-store) provides this boundary for BYOC. See the [support and release-readiness matrix](https://github.com/Sanoma-AI/sanoma/blob/main/packages/workflows/SECRET-SUPPORT.md) for merged capabilities, connector coverage, publication status and remaining providers/lifecycle work.
|
|
307
|
+
An external adapter is a `SecretStore` instance supplied as `secrets.store`. A database-backed adapter may instead supply a `SecretStoreFactory`, which the runtime binds to its own company database without opening a second pool. For managed Cloud, `managedKmsStore` from `sanoma/secrets` composes broker authentication and the [KMS-backed Postgres store](KMS-SECRETS.md#runtime-boundary), with a lazy SDK client owned and closed by the runtime. Lower-level `kmsPostgresStore` accepts an explicit caller-owned KMS client; omit `database` to bind it to the runtime database. Factory adapters may expose `close()` for their own lazy clients; caller-supplied store instances remain caller-owned. It authenticates to one deployment's authorized storage before Sanoma can read values. Prefer a scoped workload identity where the adapter supports it; otherwise deliver its bootstrap credential through the host. Do not make that credential depend on reading the same store it unlocks. The [Supabase Vault adapter](../../connectors/supabase/README.md#supabase-vault-as-the-secret-store) provides this boundary for BYOC. See the [support and release-readiness matrix](https://github.com/Sanoma-AI/sanoma/blob/main/packages/workflows/SECRET-SUPPORT.md) for merged capabilities, connector coverage, publication status and remaining providers/lifecycle work.
|
|
307
308
|
|
|
308
309
|
Keep deployment composition in config code, outside workflows. For example, given an adapter instance already authenticated as `liveStore`:
|
|
309
310
|
|
|
@@ -424,6 +425,8 @@ For a host deployment, deliver signing material, database authentication and the
|
|
|
424
425
|
|
|
425
426
|
The managed Cloud [runtime identity broker](https://github.com/Sanoma-AI/sanoma/blob/main/packages/workflows/CLOUD-IDENTITY.md) supplies refreshable, deployment-bound Google access tokens; its enrollment, bootstrap and rollout requirements are separate from credential storage and provisioning identity.
|
|
426
427
|
|
|
428
|
+
In the trusted control plane, configure `identityProvisioning: { databaseUrl, maxValidityMs }` with a protected, restricted enrollment-writer URL to use `sanoma.identity.enroll`, `.retire` and `.revoke` under policy. Each client and worker owns its lazy writer pool; company runtimes and the broker do not receive it. See [provisioning operations](CLOUD-IDENTITY.md#provisioning-operations) for setup, rotation and the caller-owned adapter option.
|
|
429
|
+
|
|
427
430
|
Back up ciphertext, its namespace/path and version metadata, and the matching encryption key separately. A database-only backup cannot recover encrypted values. Preserve the signing key across ordinary restarts; replacing it invalidates sessions and pending signed authorization state. Changing a vendor token updates a stored value and its version; it does not rotate the row-encryption key. Replacing the encryption key without re-encrypting every retained value makes those values unreadable. Automated encryption-key rotation, external-store migration and OAuth reauthorization tooling are not included here.
|
|
428
431
|
|
|
429
432
|
### Resources
|
|
@@ -493,7 +496,7 @@ export const outbound = collection({
|
|
|
493
496
|
|
|
494
497
|
A field is `"text"`, `"number"`, `"boolean"`, `"date"` (ISO 8601: a date, or a date and time with its offset) or `"person"` (a person's id), `{ type, optional: true }`, or `{ enum: [...] }` (optional too). A record is typed by them (`RecordOf<typeof outbound.fields>`), and `save` refuses a field that is not declared. The config's `collections` lists them; `sanoma` adds every collection `resources/data.ts` exports when it loads the config, so a company's config lists none.
|
|
495
498
|
|
|
496
|
-
`resources/data.ts` is the data file the runtime imports as well as loads: the launcher imports it, and so does a workflow that names a collection's operations (`import { outbound } from "../resources/data.ts"`, the one file outside `workflows/` or `policies/` the workflow lint lets them import, found by its real path). So it holds collections only, `collection` imported from `sanoma/data` (or `@sanoma-ai/workflows/data`): a resource declared there, or a collection declared in another data file, is a [problem](#data-files). Their operations are of the vendor `data` (`DATA_VENDOR`, which no connector may take): `data.outbound.get` (`{ key }`: the record, or `null`), `.list` (`{ where?, order?, limit? }`: fields equal to a value or within `{ gt, gte, lt, lte }`, sorted by a field, or `-field` for descending, with missing values last, else by key; values compare as their field's type, text byte by byte (Postgres's `COLLATE "C"`, whatever the database's collation), and one of another type counts as missing; 1 to 1000 records, 100 by default), `.save` (`{ record }`: added, or replacing the one with its key) and `.delete` (`{ key }`: `{ deleted }`). `get` and `list` are effect `read`, `save` and `delete` `write`, all idempotent, and the policy's `target` is `data:outbound/<key>` (`data:outbound` for a list). A workflow names them in `uses` and calls them on `ctx`, as any operation:
|
|
499
|
+
`resources/data.ts` is the data file the runtime imports as well as loads: the launcher imports it, and so does a workflow that names a collection's operations (`import { outbound } from "../resources/data.ts"`, the one file outside `workflows/` or `policies/` the workflow lint lets them import, found by its real path). So it holds collections only, `collection` imported from `sanoma/data` (or `@sanoma-ai/workflows/data`): a resource declared there, or a collection declared in another data file, is a [problem](#data-files). Their operations are of the vendor `data` (`DATA_VENDOR`, which no connector may take): `data.outbound.get` (`{ key }`: the record, or `null`), `.list` (`{ where?, order?, limit? }`: fields equal to a value or within `{ gt, gte, lt, lte }`, sorted by a field, or `-field` for descending, with missing values last, else by key; values compare as their field's type, text byte by byte (Postgres's `COLLATE "C"`, whatever the database's collation), and one of another type counts as missing; 1 to 1000 records, 100 by default), `.save` (`{ record, ifAbsent? }`: added, or replacing the one with its key unless `ifAbsent` is true) and `.delete` (`{ key }`: `{ deleted }`). `get` and `list` are effect `read`, `save` and `delete` `write`, all idempotent, and the policy's `target` is `data:outbound/<key>` (`data:outbound` for a list). A workflow names them in `uses` and calls them on `ctx`, as any operation:
|
|
497
500
|
|
|
498
501
|
```ts
|
|
499
502
|
uses: [outbound.get, outbound.save],
|
|
@@ -503,6 +506,10 @@ async run(ctx, { company }) {
|
|
|
503
506
|
},
|
|
504
507
|
```
|
|
505
508
|
|
|
509
|
+
Use `save({ record, ifAbsent: true })` to claim a key atomically before creating external resources. An absent key is inserted. If the stored JSON record and `updatedBy` already match, the call returns the original `Saved` receipt, including its timestamp, so a retry after a lost response can recover. A different record or actor is refused with a non-retryable `DriverError` (`vendorCode: "record_exists"`, status `409`). Object-property order and omitted `undefined` fields do not change JSON equality; the sandbox fake follows the same rule.
|
|
510
|
+
|
|
511
|
+
For a claim belonging to one provisioning run, declare a text field such as `claimRun` and include `claimRun: ctx.runId` in the initial record. Keep that value stable on retries and complete the claim before vendor effects. A separate run then cannot reuse the claim merely by submitting the same company details. This guards initial creation; later updates still need their own ownership checks. Omitting `ifAbsent` keeps ordinary replacement behavior.
|
|
512
|
+
|
|
506
513
|
`get`, `list` and `save` answer `Saved` records, `{ key, record, updatedAt, updatedBy }`, where `updatedBy` is who the call was made as (`CallContext.by`: `run:<id>` inside a run, the person's id for a [direct call](#direct-calls)). The records are JSON rows of one table the runtime creates beside the ledger, `sanoma_data` (`collection`, `key`, `record`, `updated_at`, `updated_by`), in the config's database. A declaration changes with no migration: a record saved under an older one comes back as it is stored, with `issues` (`{ path, message }`) where the fields no longer accept it. A sandbox run keeps the records in memory, in a fake that starts empty: a scenario seeds a record as it seeds a resource, `Given data.outbound "Acme" has` with a table of fields (the key is the quoted name, and what the table leaves out is made up), and removes one with `Given data.outbound "Acme" is gone`. `describeConfig` lists them as `collections`, each `{ name, title?, key, fields, record, ops, declared? }`, `record` being the JSON Schema `save` accepts, with `$id` `sanoma:collection/<name>`, and `declared` where `resources/data.ts` declares it (`{ id, file, name, at }`, as `loadDataFiles` reads it), whose declaration the app's Hosting page opens. `@sanoma-ai/workflows/shared` exports `DATA_VENDOR` and the `Saved` and `ListQuery` types.
|
|
507
514
|
|
|
508
515
|
### Direct calls
|
package/dist/client.js
CHANGED
|
@@ -1108,6 +1108,9 @@ export class SanomaClient {
|
|
|
1108
1108
|
}
|
|
1109
1109
|
async close() {
|
|
1110
1110
|
await Promise.all([
|
|
1111
|
+
this.storedSecrets.close(),
|
|
1112
|
+
this.config.connections.close(),
|
|
1113
|
+
this.config.identityProvisioning.close(),
|
|
1111
1114
|
this.dbos.destroy(),
|
|
1112
1115
|
this.pool.close(),
|
|
1113
1116
|
this.audit.close(),
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GAOvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEtH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAmB,KAAK,IAAI,UAAU,EAA6B,MAAM,oBAAoB,CAAC;AAErG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,OAAO,EACP,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAc,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAe,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAuB,aAAa,EAAqB,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAiB,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAyB,aAAa,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAsB,SAAS,EAA2B,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,cAAc,EAAqC,MAAM,YAAY,CAAC;AAC/E,OAAO,EACL,KAAK,EACL,IAAI,EAEJ,iBAAiB,EACjB,WAAW,EAGX,UAAU,EACV,kBAAkB,EAClB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAoB,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,oBAAoB,EAEpB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,WAAW,EAAoB,WAAW,EAAE,MAAM,aAAa,CAAC;AACvH,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAyB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAA0C,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EAET,cAAc,EACd,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAA+C,MAAM,aAAa,CAAC;AAKnF,4FAA4F;AAC5F,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAC1C,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAEnG,oCAAoC;AACpC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5B,CAAC;SACE,MAAM,EAAE;SACR,KAAK,CAAC,IAAI,CAAC;SACX,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,SAAS;CACV,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,SAAS,GAAgE;IAC7E,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,QAAQ;IACf,8BAA8B,EAAE,QAAQ;IACxC,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,UAAkB,EAAE,SAAmC;IAC/E,2FAA2F;IAC3F,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAkC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChH,OAAO,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AACpG,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,QAAqB,EAA0B,EAAE,CAChF,MAAM,CAAC,IAAI,CAAC,SAAS,CAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9D,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CACxF,CAAC;AAEJ;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAA+D,EAC/D,IAA0B,EAC1B,KAAa,EACb,QAAgB;IAEhB,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,KAAK,IAAI,MAAM,GAAG,CAAC,GAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AA6GD,kGAAkG;AAClG,MAAM,OAAO,YAAY;IACN,IAAI,CAAa;IACjB,MAAM,CAAiB;IACvB,OAAO,CAA8B;IACtD,wGAAwG;IACvF,KAAK,CAAc;IACpC,4GAA4G;IAC3F,IAAI,CAAW;IAChC,sFAAsF;IACrE,aAAa,CAAe;IAC7C,8FAA8F;IACrF,KAAK,CAAQ;IACtB,iHAAiH;IACxG,MAAM,CAAS;IACP,OAAO,CAAgB;IAExC,YACE,IAAgB,EAChB,MAAsB,EACtB,OAAoC,EACpC,OAAsB;QAEtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAoB,EAAE,OAAO,GAAkB,EAAE;QACpE,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnF,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CACT,QAA6C,EAC7C,KAAiB,EACjB,OAAqB;QAErB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CACtC,MAAM,IAAI,CAAC,QAAQ,CACjB,YAAY,CACV,aAAa,EACb,OAAO,EAAE,SAAS,EAClB,qEAAqE,CACtE,CACF,CACF,CAAC;QACF,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,sBAAsB,QAAQ,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;oBAC5G,QAAQ;oBACR,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,0GAA0G;QAC1G,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,4BAA4B,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC;QACzG,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,MAAM,OAAO,GAAG,YAAY,CAC1B,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAC5B,OAAO,CAAC,OAAO,EACf,uEAAuE,CACxE,CAAC;QACF,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,aAAa,CAAE,MAAsB,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,0DAA0D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjH,6FAA6F;QAC7F,2FAA2F;QAC3F,iFAAiF;QACjF,MAAM,UAAU,GAAG;YACjB,OAAO;YACP,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,UAAU,EAAE,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACnF,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACzB,gGAAgG;QAChG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI;aAC3B,OAAO,CACN;YACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YACpC,iBAAiB,EAAE,SAAS,CAAC,EAAE;YAC/B,kBAAkB,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;SAC9E,EACD,IAAI,CACL;aACA,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,YAAY,UAAU,CAAC,4BAA4B,EAAE,CAAC;gBAClF,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,OAAO,KAAK,4CAA4C,QAAQ,CAAC,IAAI,sBAAsB,EAC3F,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAChC,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;QACL,+FAA+F;QAC/F,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,SAAS,CACrB,QAAgB,EAChB,KAAc,EACd,SAAoB,EACpB,KAAyB;QAEzB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,IAAI,OAAO,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YACrD,MAAM,IAAI,iBAAiB,CACzB,GAAG,eAAe,GAAG,QAAQ,EAAE,EAC/B,qDAAqD,CACtD,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QACnE,4GAA4G;QAC5G,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACjF,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,eAAe,GAAG,QAAQ,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5G,OAAO,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,KAAc,EAAE,OAAoB;QAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,iEAAiE,CAAC,CAC/G,CAAC;QACF,MAAM,EAAE,GACN,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,iCAAiC,CAAC,IAAI,UAAU,EAAE,CAAC;QAC5G,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACpD,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,wCAAwC,CAAC;YACjH,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,GAAG,IAAI,+BAA+B,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,uDAAuD,CAAC,CAAC;QACjH,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,EAAE,4BAA4B,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/G,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,UAAU,IAAI;YAC7B,WAAW,EAAE,UAAU,CAAC,EAAE;YAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,QAAQ,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAY,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACnH,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC;QACnC,4FAA4F;QAC5F,IAAI,KAAK,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,KAAK,GACT,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5G,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACtF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAChB,EAAE,GAAG,EAAE,EACP,EAAE,cAAc,EAAE,GAAG,KAAK,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAC/G,CACF,CAAC;QACF,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9G,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClF,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACjF,iFAAiF;YACjF,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAE,CAAC,MAAM,CAAC;QAC5D,CAAC;QACD,MAAM,OAAO,GAAgB;YAC3B,cAAc,EAAE,KAAK;YACrB,KAAK;YACL,IAAI,EAAE,EAAE,CAAC,EAAE;YACX,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,KAAK;YAChB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;SAClC,CAAC;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,WAAW,CAAC,IAQzB;QACC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACvD,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAClE,MAAM,gBAAgB,GAAG,kBAAkB;YACzC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc;YAC5B,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,WAAW;gBACzB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,IAAI,MAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,6FAA6F;YAC7F,MAAM,EAAE,GAAG,IAAI;gBACb,CAAC,CAAC,CAAC,kBAAkB;oBACjB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC5D,CAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAC/E,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAE;gBACrC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,CAAC,OAAmD,EAAgB,EAAE,CAAC,CAAC;gBACrF,CAAC,EAAE,CAAC;gBACJ,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBACxB,EAAE,EAAE,GAAG,KAAK,cAAc;gBAC1B,KAAK;gBACL,GAAG,EAAE,CAAC;gBACN,EAAE;gBACF,KAAK;gBACL,QAAQ,EAAE,aAAa;gBACvB,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,KAAK,EAAE,MAAM;gBACb,QAAQ;gBACR,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7D,GAAG,OAAO;gBACV,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;aAC5B,CAAC,CAAC;YACH,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gFAAgF;gBAChF,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjE,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC3B,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7B,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAE,CAAC,MAAM,CAAC;QACrF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CACxB,KAAa,EACb,IAAY,EACZ,KAAc,EACd,UAA+B;QAE/B,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACvF,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAClD,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SAClF,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,QAAQ,KAAK,sCAAsC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAC1F,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,GAAG,IAAI,gCAAgC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,8BAA8B,EAClG;gBACE,KAAK;gBACL,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,MAAc,EAAE,IAAa;QAChE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtF,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YAC1C,YAAY,EAAE,QAAQ;YACtB,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YACpC,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxG,CAAC;IAED,qHAAqH;IACrH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAoB;QACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAC3B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAC/F,CAAC;IACJ,CAAC;IAED,6HAA6H;IAC7H,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAAwC;QACzE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAC3B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE;YACtC,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,OAAO,CAAC,EAAE;YAClB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;SAC3C,CAAC,CACH,CAAC;IACJ,CAAC;IAED,+HAA+H;IAC/H,WAAW,CAAC,MAAyB;QACnC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAe,EAAE;QAC1D,MAAM,IAAI,GAAG,CAAC,IAAwC,EAAE,EAAE,CACxD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACtB,GAAG,IAAI;YACP,MAAM,EAAE,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC;YACxC,YAAY,EAAE,QAAQ;YACtB,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YACpC,SAAS,EAAE,KAAK;YAChB,8EAA8E;YAC9E,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW;SAClF,CAAC,CAAC;QACL,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,aAAa,CAClB,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7E,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAC9B,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAkB,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtF,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAM,CACV,KAAa,EACb,OAAwB,EACxB,UAAmB,EACnB,OAAO,GAAgC,EAAE;QAEzC,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,SAAS,CACtB,MAAM,EACN,GAAG,CAAC,EAAE,EACN,EAAE,KAAK,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAC5E,QAAQ,CAAC,MAAM,CAChB,CAAC;QACF,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,yFAAyF;QACzF,4DAA4D;QAC5D,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CACZ,KAAa,EACb,UAAkB,EAClB,MAAc,EACd,OAA4D;QAE5D,MAAM,QAAQ,GAAG,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,6BAA6B,CAAC,CAAC;QACxG,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC5B,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,8DAA8D,CAAC,CACzG,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrE,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1F,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,UAA8B;QACzE,4FAA4F;QAC5F,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC3G,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/E,yFAAyF;QACzF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,WAAW,CAAC,WAAW,EAAE,OAAO,KAAK,QAAQ,MAAM,8BAA8B,EAAE;gBAC3F,KAAK;gBACL,MAAM;gBACN,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,WAAW,CACnB,qBAAqB,EACrB,OAAO,KAAK,2BAA2B,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAC7E,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CACjD,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,MAAqB,EACrB,OAAgE,EAChE,cAAc,GAAG,EAAE;QAEnB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9F,uFAAuF;QACvF,qFAAqF;QACrF,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QACzC,MAAM,OAAO,GACX,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAgB,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;YACzG,CAAC,cAAc,GAAG,IAAI;gBACpB,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAgB,KAAK,EAAE,KAAK,EAAE;oBACpD,cAAc,EAAE,cAAc,GAAG,IAAI;oBACrC,iBAAiB,EAAE,IAAI;iBACxB,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,CAAC;QACZ,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC;QAC/F,mEAAmE;QACnE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,OAAO;YAAE,MAAM,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,yCAAyC;QACzC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,EAAE;YAAE,MAAM,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjG,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,SAAS,GAAG,MAAM;QAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAgB,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,KAAiB,EAAE,OAAqB;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAgB,CAAC;IACrE,CAAC;IAED,2HAA2H;IACnH,OAAO,CAAC,IAAY;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,4EAA4E,IAAI,WAAW,CAC5F,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,mEAAmE;IAC3D,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,QAAgB;QACpD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,OAAO,KAAK,gBAAgB,GAAG,CAAC,YAAY,YAAY,QAAQ,EAAE,EAAE;gBACzG,KAAK;gBACL,QAAQ,EAAE,GAAG,CAAC,YAAY;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,oEAAoE;QACpE,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,KAAkB,EAAE,OAAqB;QACxD,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAE,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,GAAkB,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACzC,YAAY,EAAE,eAAe;YAC7B,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YACpC,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,yFAAyF;QACzF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aAC7E,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAI,CAAC;aACpB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;aACrE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACpH,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,oGAAoG;IACpG,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,OAAO,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,KAAkB,EAAE,OAAiD;QACjG,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC5B,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,8DAA8D,CAAC,CACzG,CAAC;QACF,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;QAC3E,qEAAqE;QACrE,MAAM,IAAI,GAAgB,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACxF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,WAAW,CAAC,WAAW,EAAE,OAAO,KAAK,QAAQ,MAAM,2BAA2B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/G,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9F,6FAA6F;QAC7F,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrG,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnD,IAAI,IAAI;gBAAE,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,IAAI,WAAW,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBAC3G,sFAAsF;gBACtF,IAAI,CAAC,CAAC,iBAAiB,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAAE,MAAM,GAAG,CAAC;YACzG,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,WAAW,CAAC,KAAkB,EAAE,OAAmC;QACvE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;QAC9D,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO;QACtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;QAClE,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO;QAC9C,IAAI,IAAiB,CAAC;QACtB,IAAI,GAAW,CAAC;QAChB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,sEAAsE;YACtE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM;gBAAE,OAAO;YAC9D,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACzG,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO;YAC5G,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC3B,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,EAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CACtG,CAAC,GAAY,EAAE,EAAE;YACf,sDAAsD;YACtD,IAAI,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAAE,MAAM,GAAG,CAAC;QAChF,CAAC,CACF,CAAC;IACJ,CAAC;IAED,mHAAmH;IAC3G,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAc,EAAE,IAAY;QAC3D,MAAM,KAAK,GAAG,UAAU,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACzF,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,WAAW,CAAC;YAAE,OAAO;QAC7F,sFAAsF;QACtF,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAChF,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,2FAA2F;YAC3F,IAAI,CACF,GAAG,IAAI,sDAAsD,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAChH,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,8FAA8F;IACtF,KAAK,CAAC,gBAAgB;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACzC,YAAY,EAAE,eAAe;YAC7B,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YACpC,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC3C,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAc,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CACrG,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAc,EAAE,MAAc,EAAE,IAAY;QACnF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChF,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;YACzB,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;YACtE,CAAC,CAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;QAC5D,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,MAAM,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8HAA8H;IACtH,KAAK,CAAC,UAAU;QACtB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC1F,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAAE,OAAO,SAAS,CAAC;YACxF,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8FAA8F;IACtF,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,EAAE;QACxD,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACzC,kBAAkB,EAAE,IAAI;YACxB,YAAY,EAAE,eAAe;YAC7B,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YACpC,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,kHAAkH;IAC1G,KAAK,CAAC,UAAU,CAAC,GAAqF;QAC5G,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAc,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;SACjE,CAAC,CAAC;QACH,MAAM,KAAK,GAAI,GAAG,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,KAAoB,CAAC;QAC/D,MAAM,KAAK,GAAG,SAAS,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAC9E,OAAO;YACL,KAAK;YACL,MAAM;YACN,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,SAAS;YACT,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7C,SAAS;YACT,KAAK;YACL,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAsB,EAAE,CAAC;SACnD,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,KAAa,EAAE,OAAuB;QACtE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7C,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QACzD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAmC,CAAC;YACvE,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,GAAG,IAAI,mBAAmB,OAAO,EAAE,EAAE;gBAC1E,IAAI;gBACJ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACxG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,OAAuB;QACzD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,OAAuB;QAClE,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACnG,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5G,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACpD,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QACpH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,OAAuB;QACrD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,6BAA6B,CAAC;YAC9C,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,OAAO,EAAE;gBAC9C,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;aACtD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/F,CAAC;IAEO,uBAAuB;QAC7B,OAAO,UAAU,CAAC,QAAQ,CAAC;aACxB,MAAM,CACL,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACrC,CAAC,CACH;aACA,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,yFAAyF;IACzF,KAAK,CAAC,WAAW,CAAC,OAAsC;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,eAAe,CAAC,OAAsC;QAC1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACpG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;aAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1G;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;wFACoF;IACpF,KAAK,CAAC,iBAAiB,CAAC,OAAsC;QAC5D,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACtF,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAChD,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAI,KAA0B,CAAC,IAAI,CAAC;QAC7C,CAAC;QACD,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,SAAS;YACT,YAAY,EAAE,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE;YACvC,KAAK,EAAE,CAAC,OAAO;YACf,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED;oGACgG;IAChG,KAAK,CAAC,iBAAiB,CACrB,MAAwB,EACxB,WAAoB,EACpB,OAAkD;QAElD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACpG,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAC1F,MAAM,GAAG,YAAY,CAAC,sBAAsB,EAAE,MAAM,EAAE,+CAA+C,CAAC,CAAC;QACvG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CACjC,2BAA2B,EAC3B;YACE,MAAM;YACN,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,aAAa,EAAE,IAAI,CAAC,uBAAuB,EAAE;SAC9C,EACD,EAAE,KAAK,EAAE,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAC1C,CAAoB,CAAC;QACtB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC;YACvC,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,4CAA4C,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;QACzF,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,KAAK,mBAAmB;YACnC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACjG,IACE,CAAC,QAAQ;YACT,MAAM,CAAC,IAAI,KAAK,mBAAmB;YACnC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,KAAK,MAAM;YAElE,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,CAAC;YAChF,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,IAAI,QAAQ,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACrE,MAAM,OAAO,GACX,MAAM,CAAC,IAAI,KAAK,mBAAmB;YACjC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,QAAS,CAAC,KAAK;gBACjB,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,MAAM,EACN,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EACtE,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACjD,CAAC;QACF,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,OAAO;YACrE,MAAM,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACjD,OAAO;YACL,GAAG,KAAK;YACR,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,IAAI,CAAC,uBAAuB,EAAE;YAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5B,iBAAiB,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI;YAC5C,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC;IAED;oGACgG;IAChG,KAAK,CAAC,iBAAiB,CACrB,MAAwB,EACxB,WAAoB,EACpB,OAAsC;QAEtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;QACpG,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,uBAAuB,EAAE;YACzD,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1F,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,CAAU,EAAE,CAAC;YAChG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,wDAAwD,CAAC,CAAC;QACrG,CAAC;QACD,kFAAkF;QAClF,MAAM,IAAI,CAAC,IAAI,CACb,2BAA2B,EAC3B;YACE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,EACD,EAAE,KAAK,EAAE,EAAE,EAAE,sBAAsB,MAAM,CAAC,SAAS,EAAE,EAAE,CACxD,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC;QACzF,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,KAAK,mBAAmB;YACnC,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACjG,IACE,CAAC,QAAQ;YACT,MAAM,CAAC,IAAI,KAAK,mBAAmB;YACnC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,KAAK,MAAM;YAElE,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,CAAC;YAChF,MAAM,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,IAAI,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,iBAAiB,CAAC;YAC1E,MAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,gBAAgB,KAAK,MAAM,CAAC,gBAAgB,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,KAAK,MAAM,CAAC,iBAAiB;YAChH,MAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,OAAO,GACX,MAAM,CAAC,IAAI,KAAK,mBAAmB;YACjC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,QAAS,CAAC,KAAK;gBACjB,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,MAAM,EACN,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EACtE,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACjD,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5F,MAAM,IAAI,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAC/B,6BAA6B,EAC7B;YACE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;SAC7B,EACD,EAAE,KAAK,EAAE,EAAE,EAAE,wBAAwB,MAAM,CAAC,SAAS,EAAE,EAAE,CAC1D,CAAuB,CAAC;QACzB,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClE,IACE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,KAAK,SAAS;YACzE,CAAC,QAAQ;YACT,OAAO,KAAK,SAAS,EACrB,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC5F,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,QAAQ,EAAE,OAAO,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO;wBAAE,MAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC1G,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,UAAW,EAAE,OAAO,EAAE;wBACxE,eAAe,EAAE,MAAM,CAAC,iBAAiB;wBACzC,EAAE,EAAE,KAAK,CAAC,EAAE;qBACb,CAAC,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpG,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,IAAK,KAA2B,EAAE,IAAI,KAAK,aAAa;oBACjE,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5E,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAChC,4BAA4B,EAC5B;YACE,UAAU,EAAE,GAAG;YACf,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;SACpC,EACD,EAAE,KAAK,EAAE,EAAE,EAAE,uBAAuB,MAAM,CAAC,SAAS,EAAE,EAAE,CACzD,CAAuB,CAAC;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,KAAwB;QACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,GAAG;gBACL,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;oBACd,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,MAAM,EAAE,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ;oBACnE,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,QAAQ;oBACR,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;oBAC9C,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;iBAC/C,CAAC,CAAC;QACP,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,WAAW;QACf,MAAM,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9E,OAAO,IAAI,GAAG,CACZ,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM;YACN,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO;oBACL,GAAG,CAAC;oBACJ,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC7C,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;iBACvE,CAAC;YACJ,CAAC,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,QAAQ,CAAC,IAAY,EAAE,MAA4C;QACzE,MAAM,GAAG,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnD,qFAAqF;QACrF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAC,6BAA6B,KACrF,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,8BAA8B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mBACpE,EAAE,CAAC;QACH,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,OAAO,EAAE;YAC9C,GAAG,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IAED,oGAAoG;IAC5F,EAAE;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,QAAQ,CAAC,SAAoB;QACzC,OAAO,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,0IAA0I;IAClI,KAAK,CAAC,WAAW,CAAC,SAAoB;QAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,yGAAyG;IACjG,KAAK,CAAC,UAAU,CAAC,OAAuB;QAC9C,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,+CAA+C,CAAC,CAAC;QACzG,IAAI,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IAED,qHAAqH;IAC7G,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,IAAa;QAClD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAe,CAAC;QACnF,gGAAgG;QAChG,MAAM,OAAO,GAAI,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAW,CAAC,MAAM,CACjE,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,MAAM;YACP,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACzG,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,OAAO,KAAK,oCAAoC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EACxF,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oGAAoG;IAC5F,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACpG,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mEAAmE;IAC3D,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAAO,GAA6B,EAAE;QAC3E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,yGAAyG;IACjG,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,SAAiB;QACxD,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,IAAI,WAAW,CAAC,aAAa,EAAE,OAAO,KAAK,2BAA2B,SAAS,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9G,IAAI,KAAiC,CAAC;QACtC,IAAI,CAAC;YACH,iDAAiD;YACjD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC;gBACvE,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBACxB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;gBACjE,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,CAWvB;QACC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC;QAC5C,OAAO;YACL,KAAK,EAAE,CAAC,CAAC,UAAU;YACnB,QAAQ,EAAE,CAAC,CAAC,YAAY;YACxB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC;YACtC,SAAS,EAAE,CAAC,CAAC,iBAAiB;gBAC5B,CAAC,CAAC;oBACE,EAAE,EAAE,CAAC,CAAC,iBAAiB;oBACvB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpC,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,EAAE,UAAU,EAAE,CAAC;iBACtD;gBACH,CAAC,CAAC,qFAAqF;oBACrF,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE;wBACxB,CAAC,CAAC,SAAS;YACf,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,SAAS;YACT,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,CAAC,KAAe,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1E,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,OAAO,KAAK,QAAQ,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SACpF,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,KAAK,UAAU,QAAQ,CAAC,EAAM,EAAE,IAA4B;IAC1D,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,MAAM,GAAG,CAAC;QAC5C,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACjH,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,MAAM,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtG,6EAA6E;AAC7E,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAa9F,sDAAsD;AACtD,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAErC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,CAAgB,EAAE,EAAE,CACzD,IAAI,WAAW,CACb,iBAAiB,EACjB,CAAC,CAAC,MAAM,KAAK,WAAW;IACtB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,KAAK,2BAA2B,CAAC,CAAC,eAAe,EAAE;IACvE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,KAAK,gBAAgB,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,SAAS,EAAE,EACvE;IACE,KAAK;IACL,UAAU,EAAE,CAAC,CAAC,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM;IAChB,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IAChE,GAAG,CAAC,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;CACnF,CACF,CAAC;AAEJ,sDAAsD;AACtD,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;AAEnD,iGAAiG;AACjG,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,KAAyB,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AAEjH,iEAAiE;AACjE,MAAM,UAAU,GAAwC;IACtD,OAAO,EAAE,4BAA4B;IACrC,KAAK,EAAE,4BAA4B;IACnC,MAAM,EAAE,yCAAyC;IACjD,MAAM,EAAE,yCAAyC;CAClD,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,CAAgB,EAAE,MAAc,EAAE,EAAE,CACtE,IAAI,WAAW,CAAC,cAAc,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC"}
|
package/dist/collection.d.ts
CHANGED
|
@@ -61,6 +61,7 @@ export interface Collection<N extends string = string, F extends Record<string,
|
|
|
61
61
|
readonly list: Op<typeof DATA_VENDOR, N, "list", ListQuery<RecordOf<F>>, Saved<RecordOf<F>>[]>;
|
|
62
62
|
readonly save: Op<typeof DATA_VENDOR, N, "save", {
|
|
63
63
|
record: RecordOf<F>;
|
|
64
|
+
ifAbsent?: boolean;
|
|
64
65
|
}, Saved<RecordOf<F>>>;
|
|
65
66
|
readonly delete: Op<typeof DATA_VENDOR, N, "delete", {
|
|
66
67
|
key: string;
|