@aperture-browser/api-schema 0.0.0-init.0 → 0.0.0-nightly.100.78b4e7ef6edc

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/api.gen.ts"],"sourcesContent":["// Generated by packages/api-schema/scripts/generate.ts from api/openapi.yaml. Do not edit.\n// @ts-nocheck\nimport * as Data from \"effect/Data\"\nimport * as Effect from \"effect/Effect\"\nimport type { SchemaError } from \"effect/Schema\"\nimport * as Schema from \"effect/Schema\"\nimport type * as HttpClient from \"effect/unstable/http/HttpClient\"\nimport * as HttpClientError from \"effect/unstable/http/HttpClientError\"\nimport * as HttpClientRequest from \"effect/unstable/http/HttpClientRequest\"\nimport * as HttpClientResponse from \"effect/unstable/http/HttpClientResponse\"\n// non-recursive definitions\nexport type Health = { readonly \"status\": \"ok\", readonly \"color\": \"blue\" | \"green\", readonly \"role\": \"active\" | \"inactive\", readonly \"version\": string, readonly \"activeColor\": \"blue\" | \"green\" }\nexport const Health = Schema.Struct({ \"status\": Schema.Literal(\"ok\").annotate({ \"description\": \"Process health. A successful response currently reports `ok`.\" }), \"color\": Schema.Literals([\"blue\", \"green\"]).annotate({ \"description\": \"Deployment color of the process that handled the request.\" }), \"role\": Schema.Literals([\"active\", \"inactive\"]).annotate({ \"description\": \"Whether this deployment color currently serves active traffic.\" }), \"version\": Schema.String.annotate({ \"description\": \"Build or release version embedded in the running binary.\", \"examples\": [\"1.4.0\"] }), \"activeColor\": Schema.Literals([\"blue\", \"green\"]).annotate({ \"description\": \"Deployment color currently selected as active.\" }) }).annotate({ \"description\": \"Local deployment health and blue-green role information.\", \"examples\": [{ \"status\": \"ok\", \"color\": \"blue\", \"role\": \"active\", \"version\": \"1.4.0\", \"activeColor\": \"blue\" }], \"identifier\": \"Health\" })\nexport type UUIDv7 = string\nexport const UUIDv7 = Schema.String.annotate({ \"description\": \"Time-ordered UUID version 7 generated by Aperture.\", \"examples\": [\"019f6cf0-0000-7000-8000-000000000001\"], \"format\": \"uuid\", \"identifier\": \"UUIDv7\" })\nexport type PrincipalType = \"api_token\" | \"user\" | \"system\"\nexport const PrincipalType = Schema.Literals([\"api_token\", \"user\", \"system\"]).annotate({ \"description\": \"Stable category of the authenticated or audited actor.\", \"examples\": [\"api_token\"], \"identifier\": \"PrincipalType\" })\nexport type AuthorityType = \"system_admin\" | \"tenant\"\nexport const AuthorityType = Schema.Literals([\"system_admin\", \"tenant\"]).annotate({ \"description\": \"Authorization boundary. `system_admin` principals may administer the deployment and select tenants. `tenant` principals act within one effective tenant.\\n\", \"examples\": [\"tenant\"], \"identifier\": \"AuthorityType\" })\nexport type Scope = \"system:admin\" | \"sessions:read\" | \"sessions:write\" | \"snapshots:read\" | \"snapshots:write\" | \"tenant:write\" | \"tenants:write\"\nexport const Scope = Schema.Literals([\"system:admin\", \"sessions:read\", \"sessions:write\", \"snapshots:read\", \"snapshots:write\", \"tenant:write\", \"tenants:write\"]).annotate({ \"description\": \"Permission granted to a principal. `system:admin` implies every scope. Tenant credentials and memberships cannot receive `system:admin` or `tenants:write`.\\n\", \"examples\": [\"sessions:write\"], \"identifier\": \"Scope\" })\nexport type ResourceMode = \"all\" | \"allowlist\"\nexport const ResourceMode = Schema.Literals([\"all\", \"allowlist\"]).annotate({ \"description\": \"Whether a tenant API token can access every tenant resource or only explicit grants.\", \"default\": \"all\", \"examples\": [\"allowlist\"], \"identifier\": \"ResourceMode\" })\nexport type ResourceType = \"session\" | \"snapshot\"\nexport const ResourceType = Schema.Literals([\"session\", \"snapshot\"]).annotate({ \"description\": \"Tenant resource category accepted by API token allowlists.\", \"examples\": [\"session\"], \"identifier\": \"ResourceType\" })\nexport type ErrorDetail = { readonly \"code\": string, readonly \"message\": string }\nexport const ErrorDetail = Schema.Struct({ \"code\": Schema.String.annotate({ \"description\": \"Stable code enumerated by each operation response.\", \"examples\": [\"insufficient_scope\"] }), \"message\": Schema.String.annotate({ \"description\": \"Human-readable explanation. It may include resource or validation context.\", \"examples\": [\"insufficient scope\"] }) }).annotate({ \"description\": \"Stable machine-readable error code with a human-readable explanation.\", \"identifier\": \"ErrorDetail\" })\nexport type BrowserChannel = { readonly \"name\": string }\nexport const BrowserChannel = Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Configured browser channel name.\", \"examples\": [\"chromium\"] }) }).annotate({ \"description\": \"Browser runtime selectable when creating a session.\", \"identifier\": \"BrowserChannel\" })\nexport type PageMeta = { readonly \"limit\": number, readonly \"nextCursor\"?: string, readonly \"hasMore\": boolean }\nexport const PageMeta = Schema.Struct({ \"limit\": Schema.Number.annotate({ \"description\": \"Effective page size after applying the default and maximum.\", \"examples\": [50] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })).check(Schema.isLessThanOrEqualTo(100).annotate({ \"expected\": \"a value less than or equal to 100\" })), \"nextCursor\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Opaque cursor for the next page. Omitted when there is no next page.\", \"examples\": [\"eyJjcmVhdGVkQXQiOiIyMDI2LTA3LTE3VDEyOjAwOjAwWiIsImlkIjoiMDE5ZjZjZjAtMDAwMC03MDAwLTgwMDAtMDAwMDAwMDAwMDAwIn0\"] })), \"hasMore\": Schema.Boolean.annotate({ \"description\": \"Whether another page is available.\", \"examples\": [true] }) }).annotate({ \"description\": \"Cursor pagination metadata for a newest-first result page.\", \"identifier\": \"PageMeta\" })\nexport type TenantInput = { readonly \"displayName\": string }\nexport const TenantInput = Schema.Struct({ \"displayName\": Schema.String.annotate({ \"description\": \"Human-readable tenant name. Leading and trailing whitespace is removed and whitespace-only values are rejected.\", \"examples\": [\"Example engineering\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })) }).annotate({ \"description\": \"Tenant fields accepted by create and update operations.\", \"identifier\": \"TenantInput\" })\nexport type UserInput = { readonly \"email\"?: string | null, readonly \"displayName\": string, readonly \"isSystemAdmin\": boolean }\nexport const UserInput = Schema.Struct({ \"email\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional normalized login and contact email.\", \"format\": \"email\" })), \"displayName\": Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"isSystemAdmin\": Schema.Boolean.annotate({ \"description\": \"Grants deployment-wide administration independently of tenant memberships.\" }) }).annotate({ \"identifier\": \"UserInput\" })\nexport type UserInvitation = { readonly \"token\": string, readonly \"expiresAt\": string }\nexport const UserInvitation = Schema.Struct({ \"token\": Schema.String.annotate({ \"description\": \"Raw setup token. Store and transmit it as a secret.\" }), \"expiresAt\": Schema.String.annotate({ \"format\": \"date-time\" }) }).annotate({ \"description\": \"One-time account setup secret returned only when created.\", \"identifier\": \"UserInvitation\" })\nexport type TenantScope = \"sessions:read\" | \"sessions:write\" | \"snapshots:read\" | \"snapshots:write\" | \"tenant:write\"\nexport const TenantScope = Schema.Literals([\"sessions:read\", \"sessions:write\", \"snapshots:read\", \"snapshots:write\", \"tenant:write\"]).annotate({ \"description\": \"Scope allowed on a tenant-bound API token.\", \"examples\": [\"sessions:write\"], \"identifier\": \"TenantScope\" })\nexport type SessionStatus = \"creating\" | \"running\" | \"suspended\" | \"deleted\" | \"expired\" | \"failed\"\nexport const SessionStatus = Schema.Literals([\"creating\", \"running\", \"suspended\", \"deleted\", \"expired\", \"failed\"]).annotate({ \"description\": \"Session lifecycle state:\\n\\n- `creating`: browser startup is in progress; the CDP endpoint does not answer yet.\\n- `running`: browser and routing are available and the CDP endpoint answers.\\n- `suspended`: browser is intentionally stopped while retained state remains available.\\n- `deleted`: session is soft-deleted and may be reopened while retained.\\n- `expired`: retention elapsed and the session can no longer be used.\\n- `failed`: startup or reopen failed; retained state may still be reopenable.\\n\", \"examples\": [\"running\"], \"identifier\": \"SessionStatus\" })\nexport type IceServer = { readonly \"urls\": ReadonlyArray<string>, readonly \"username\"?: string, readonly \"credential\"?: string }\nexport const IceServer = Schema.Struct({ \"urls\": Schema.Array(Schema.String).annotate({ \"description\": \"STUN or TURN server URLs.\", \"examples\": [[\"turn:turn.example.com:3478?transport=udp\"]] }), \"username\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"TURN username. Omitted when the server does not require authentication.\", \"examples\": [\"aperture-session\"] })), \"credential\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"TURN credential. Treat it as a secret and do not persist it in logs.\", \"examples\": [\"REDACTED\"] })) }).annotate({ \"description\": \"ICE server configuration supplied to WebRTC consumers.\", \"identifier\": \"IceServer\" })\nexport type StringMap = { readonly [x: string]: string }\nexport const StringMap = Schema.Record(Schema.String, Schema.String).annotate({ \"description\": \"Arbitrary string key-value metadata. Tag-writing operations additionally reject blank keys and blank values.\", \"examples\": [{ \"environment\": \"production\", \"region\": \"eu-west-1\" }], \"identifier\": \"StringMap\" })\nexport type SessionCollaborationCapabilities = { readonly \"editorToken\": string, readonly \"viewerToken\": string }\nexport const SessionCollaborationCapabilities = Schema.Struct({ \"editorToken\": Schema.String.annotate({ \"examples\": [\"ape_019f6cf0000070008000000000000010_REDACTED\"] }), \"viewerToken\": Schema.String.annotate({ \"examples\": [\"apv_019f6cf0000070008000000000000010_REDACTED\"] }) }).annotate({ \"description\": \"Owner-visible role-scoped secrets used to build collaboration links.\", \"identifier\": \"SessionCollaborationCapabilities\" })\nexport type SessionProxy = { readonly \"upstream\": \"direct\" | \"proxy\" | \"tunnel\", readonly \"url\"?: string, readonly \"tunnel\"?: { readonly \"url\"?: string }, readonly \"bypass\"?: string }\nexport const SessionProxy = Schema.Struct({ \"upstream\": Schema.Literals([\"direct\", \"proxy\", \"tunnel\"]).annotate({ \"description\": \"Upstream strategy for new connections.\", \"examples\": [\"tunnel\"] }), \"url\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Generic upstream proxy URL. Omitted unless `upstream` is `proxy`. The password is masked, so this value cannot be replayed as a write.\", \"examples\": [\"socks5://user:pass@proxy.example.com:1080\"] })), \"tunnel\": Schema.optionalKey(Schema.Struct({ \"url\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Compound tunnel URL.\", \"examples\": [\"wss+yamux+socks5://tunnel.example.com/t/019f6cf0-0000-7000-8000-000000000010\"] })) }).annotate({ \"description\": \"Tunnel endpoint. Omitted unless `upstream` is `tunnel`. The secret is never returned.\" })), \"bypass\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Extra `--proxy-bypass-list` entries.\", \"examples\": [\"*.internal.example.com\"] })) }).annotate({ \"description\": \"Stored session egress proxy assignment. Secrets are write-only — tunnel auth never appears here, and an upstream proxy URL comes back with its password masked.\", \"identifier\": \"SessionProxy\" })\nexport type BrowserConfig = { readonly \"channel\": string, readonly \"args\"?: ReadonlyArray<string> }\nexport const BrowserConfig = Schema.Struct({ \"channel\": Schema.String.annotate({ \"description\": \"Channel returned by `GET /api/browser/channels`.\", \"examples\": [\"chromium\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"args\": Schema.optionalKey(Schema.Array(Schema.String).annotate({ \"description\": \"Additional Chromium command-line arguments. Aperture rejects arguments that conflict with supervisor-owned behavior or deployment policy.\", \"examples\": [[\"--lang=en-US\"]] })) }).annotate({ \"description\": \"Browser runtime configuration used to create or reopen the session.\", \"identifier\": \"BrowserConfig\" })\nexport type BrowserStorageEntry = { readonly \"name\": string, readonly \"value\": string }\nexport const BrowserStorageEntry = Schema.Struct({ \"name\": Schema.String, \"value\": Schema.String.annotate({ \"description\": \"Browser storage value. Never log this field.\" }) }).annotate({ \"identifier\": \"BrowserStorageEntry\" })\nexport type InitialBrowserScrollPosition = { readonly \"x\": number, readonly \"y\": number }\nexport const InitialBrowserScrollPosition = Schema.Struct({ \"x\": Schema.Number.check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })), \"y\": Schema.Number.check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })) }).annotate({ \"identifier\": \"InitialBrowserScrollPosition\" })\nexport type InitialBrowserElementPathStep = { readonly \"tag\": string, readonly \"index\": number }\nexport const InitialBrowserElementPathStep = Schema.Struct({ \"tag\": Schema.String.check(Schema.isPattern(new RegExp(\"^[a-z][a-z0-9-]*$\")).annotate({ \"expected\": \"a string matching the RegExp ^[a-z][a-z0-9-]*$\" })), \"index\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })) }).annotate({ \"identifier\": \"InitialBrowserElementPathStep\" })\nexport type InitialBrowserControlSelection = { readonly \"start\": number, readonly \"end\": number, readonly \"direction\": \"forward\" | \"backward\" | \"none\" }\nexport const InitialBrowserControlSelection = Schema.Struct({ \"start\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })), \"end\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })), \"direction\": Schema.Literals([\"forward\", \"backward\", \"none\"]) }).annotate({ \"identifier\": \"InitialBrowserControlSelection\" })\nexport type BrowserCookieSameSite = \"Strict\" | \"Lax\" | \"None\"\nexport const BrowserCookieSameSite = Schema.Literals([\"Strict\", \"Lax\", \"None\"]).annotate({ \"identifier\": \"BrowserCookieSameSite\" })\nexport type InitialBrowserCookiePartitionKey = { readonly \"topLevelSite\": string, readonly \"hasCrossSiteAncestor\"?: boolean }\nexport const InitialBrowserCookiePartitionKey = Schema.Struct({ \"topLevelSite\": Schema.String.annotate({ \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/[^/]+$\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/[^/]+$\" })), \"hasCrossSiteAncestor\": Schema.optionalKey(Schema.Boolean) }).annotate({ \"identifier\": \"InitialBrowserCookiePartitionKey\" })\nexport type InitialIndexedDBKeyPath = { readonly \"kind\": \"none\" | \"string\" | \"array\", readonly \"value\"?: ReadonlyArray<string> }\nexport const InitialIndexedDBKeyPath = Schema.Struct({ \"kind\": Schema.Literals([\"none\", \"string\", \"array\"]), \"value\": Schema.optionalKey(Schema.Array(Schema.String)) }).annotate({ \"description\": \"Object-store key path. String paths contain one value; array paths contain at least one.\", \"identifier\": \"InitialIndexedDBKeyPath\" })\nexport type InitialIndexedDBIndexKeyPath = { readonly \"kind\": \"string\" | \"array\", readonly \"value\": ReadonlyArray<string> }\nexport const InitialIndexedDBIndexKeyPath = Schema.Struct({ \"kind\": Schema.Literals([\"string\", \"array\"]), \"value\": Schema.Array(Schema.String).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })) }).annotate({ \"description\": \"Index key path. String paths contain one value; array paths contain at least one.\", \"identifier\": \"InitialIndexedDBIndexKeyPath\" })\nexport type InitialIndexedDBRecord = { readonly \"key\": string, readonly \"value\": string }\nexport const InitialIndexedDBRecord = Schema.Struct({ \"key\": Schema.String.annotate({ \"description\": \"JSON-encoded structured-clone key.\" }), \"value\": Schema.String.annotate({ \"description\": \"JSON-encoded structured-clone value.\" }) }).annotate({ \"identifier\": \"InitialIndexedDBRecord\" })\nexport type InitialOPFSFile = { readonly \"path\": string, readonly \"body\": string }\nexport const InitialOPFSFile = Schema.Struct({ \"path\": Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"body\": Schema.String.annotate({ \"contentEncoding\": \"base64\" }) }).annotate({ \"identifier\": \"InitialOPFSFile\" })\nexport type ProxyTunnelConfig = { readonly \"url\"?: string, readonly \"auth\"?: string }\nexport const ProxyTunnelConfig = Schema.Struct({ \"url\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Compound tunnel URL (`ws+yamux+socks5://` or `wss+yamux+socks5://`).\", \"examples\": [\"wss+yamux+socks5://tunnel.example.com/t/019f6cf0-0000-7000-8000-000000000010\"] })), \"auth\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Per-assignment bearer secret for the tunnel handshake. Write-only; never returned.\", \"examples\": [\"REDACTED\"] })) }).annotate({ \"description\": \"Tunnel endpoint for the `tunnel` upstream. Minted by the tunnel operator.\", \"identifier\": \"ProxyTunnelConfig\" })\nexport type CursorVisibility = { readonly \"visible\": boolean }\nexport const CursorVisibility = Schema.Struct({ \"visible\": Schema.Boolean.annotate({ \"description\": \"Whether to include the remote cursor in live streams and recordings.\" }) }).annotate({ \"description\": \"Whether the remote browser cursor is composited into session media.\", \"identifier\": \"CursorVisibility\" })\nexport type Recording = { readonly \"recordingId\": string, readonly \"mode\": \"tab\" | \"viewer\", readonly \"targetId\": string, readonly \"captureGeneration\": number, readonly \"status\": \"starting\" | \"running\" | \"stopped\" | \"failed\", readonly \"stopReason\"?: string, readonly \"relativePath\": string, readonly \"startedAt\": string, readonly \"stoppedAt\"?: string, readonly \"sizeBytes\"?: number, readonly \"fps\": number, readonly \"bitrateKbps\": number, readonly \"codec\": \"vp8\" | \"h264-va\" }\nexport const Recording = Schema.Struct({ \"recordingId\": Schema.String.annotate({ \"description\": \"Stable recording identifier retained across target changes.\", \"format\": \"uuid\" }), \"mode\": Schema.Literals([\"tab\", \"viewer\"]).annotate({ \"description\": \"Tab recordings stay on their specified top-level target; viewer recordings follow a live session client's selected top-level target and cannot be explicitly retargeted.\" }), \"targetId\": Schema.String.annotate({ \"description\": \"Identifier of the top-level target currently recorded.\" }), \"captureGeneration\": Schema.Number.annotate({ \"description\": \"Assignment generation for the current top-level target.\", \"format\": \"int64\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })), \"status\": Schema.Literals([\"starting\", \"running\", \"stopped\", \"failed\"]), \"stopReason\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Lifecycle reason recorded after the recording stops or fails.\" })), \"relativePath\": Schema.String.annotate({ \"description\": \"Path below the session root; absolute host paths are never exposed.\", \"examples\": [\"recordings/recording-550e8400-e29b-41d4-a716-446655440000.webm\"] }), \"startedAt\": Schema.String.annotate({ \"format\": \"date-time\" }), \"stoppedAt\": Schema.optionalKey(Schema.String.annotate({ \"format\": \"date-time\" })), \"sizeBytes\": Schema.optionalKey(Schema.Number.annotate({ \"format\": \"int64\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"fps\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"bitrateKbps\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"codec\": Schema.Literals([\"vp8\", \"h264-va\"]) }).annotate({ \"description\": \"One logical recording of a top-level target.\", \"identifier\": \"Recording\" })\nexport type CreateSessionRecordingInput = { readonly \"targetId\": string, readonly \"fps\"?: number, readonly \"bitrateKbps\"?: number, readonly \"codec\"?: \"vp8\" | \"h264-va\" }\nexport const CreateSessionRecordingInput = Schema.Struct({ \"targetId\": Schema.String.annotate({ \"description\": \"Identifier of the ready top-level target to record.\" }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"fps\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Requested frames per second. Omit or use a non-positive value for the instance default.\", \"examples\": [60] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" }))), \"bitrateKbps\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Requested video bitrate in kilobits per second. Omit or use a non-positive value for the instance default.\", \"examples\": [6000] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" }))), \"codec\": Schema.optionalKey(Schema.Literals([\"vp8\", \"h264-va\"]).annotate({ \"description\": \"Video codec. Omit for the instance default.\", \"examples\": [\"vp8\"] })) }).annotate({ \"description\": \"Top-level target and optional recording settings.\", \"identifier\": \"CreateSessionRecordingInput\" })\nexport type RetargetSessionRecordingInput = { readonly \"targetId\": string }\nexport const RetargetSessionRecordingInput = Schema.Struct({ \"targetId\": Schema.String.annotate({ \"description\": \"Identifier of the ready destination top-level target.\" }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })) }).annotate({ \"description\": \"Destination for a running tab recording.\", \"identifier\": \"RetargetSessionRecordingInput\" })\nexport type SessionFile = { readonly \"name\": string, readonly \"relativePath\": string, readonly \"size\": number, readonly \"modifiedAt\": string, readonly \"mimeType\": string }\nexport const SessionFile = Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"File name without directory components.\", \"examples\": [\"screencast-20260801T120000Z.webm\"] }), \"relativePath\": Schema.String.annotate({ \"description\": \"Path below the session root. The first component is `downloads` or `recordings`.\", \"examples\": [\"recordings/screencast-20260801T120000Z.webm\"] }), \"size\": Schema.Number.annotate({ \"description\": \"File size in bytes.\", \"examples\": [1048576], \"format\": \"int64\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })), \"modifiedAt\": Schema.String.annotate({ \"description\": \"Last file modification time.\", \"examples\": [\"2026-08-01T12:05:00Z\"], \"format\": \"date-time\" }), \"mimeType\": Schema.String.annotate({ \"description\": \"Detected media type.\", \"examples\": [\"video/webm\"] }) }).annotate({ \"description\": \"Regular file retained with a browser session.\", \"identifier\": \"SessionFile\" })\nexport type SessionFileDownloadURLInput = { readonly \"relativePath\": string, readonly \"ttlSeconds\"?: number }\nexport const SessionFileDownloadURLInput = Schema.Struct({ \"relativePath\": Schema.String.annotate({ \"description\": \"Path from a `SessionFile` result.\", \"examples\": [\"recordings/screencast-20260801T120000Z.webm\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"ttlSeconds\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Requested lifetime in seconds. Omit it to use `signed_file_url_ttl`; values above `signed_file_url_max_ttl` are rejected.\", \"examples\": [900] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" }))) }).annotate({ \"description\": \"Session file path and requested signed URL lifetime.\", \"identifier\": \"SessionFileDownloadURLInput\" })\nexport type SessionFileDownloadURL = { readonly \"url\": string, readonly \"expiresAt\": string }\nexport const SessionFileDownloadURL = Schema.Struct({ \"url\": Schema.String.annotate({ \"description\": \"URL containing a path-bound `apf_` token.\", \"examples\": [\"https://aperture.example.com/sessions/019f6cf0-0000-7000-8000-000000000010/files/recordings/screencast-20260801T120000Z.webm?token=apf_REDACTED\"], \"format\": \"uri\" }), \"expiresAt\": Schema.String.annotate({ \"description\": \"Time after which the URL is rejected.\", \"examples\": [\"2026-08-01T12:20:00Z\"], \"format\": \"date-time\" }) }).annotate({ \"description\": \"Signed attachment URL for one session file.\", \"identifier\": \"SessionFileDownloadURL\" })\nexport type UpdateSnapshotInput = { readonly \"description\"?: string | null }\nexport const UpdateSnapshotInput = Schema.Struct({ \"description\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"New description. Send `null` to clear it; an empty string is stored as an empty description.\", \"examples\": [\"Updated signed-in state\"] })) }).annotate({ \"description\": \"Replacement snapshot description.\", \"identifier\": \"UpdateSnapshotInput\" })\nexport type Tenant = { readonly \"id\": UUIDv7, readonly \"displayName\": string, readonly \"createdAt\": string, readonly \"deletedAt\"?: string | null }\nexport const Tenant = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Tenant identifier.\" }), \"displayName\": Schema.String.annotate({ \"description\": \"Human-readable tenant name.\", \"examples\": [\"Example engineering\"] }), \"createdAt\": Schema.String.annotate({ \"description\": \"Time the tenant was created.\", \"examples\": [\"2026-07-17T12:00:00Z\"], \"format\": \"date-time\" }), \"deletedAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Soft-deactivation time, or `null` for an active tenant.\", \"examples\": [null], \"format\": \"date-time\" })) }).annotate({ \"description\": \"Tenant account. Deletion is a reversible soft deactivation.\", \"identifier\": \"Tenant\" })\nexport type User = { readonly \"id\": UUIDv7, readonly \"email\"?: string | null, readonly \"displayName\": string, readonly \"isSystemAdmin\": boolean, readonly \"createdAt\": string, readonly \"updatedAt\": string, readonly \"disabledAt\"?: string | null, readonly \"passwordSetupStatus\"?: \"available\" | \"configured\" | \"email_required\" | \"user_disabled\" | \"login_disabled\" }\nexport const User = Schema.Struct({ \"id\": UUIDv7, \"email\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"format\": \"email\" })), \"displayName\": Schema.String, \"isSystemAdmin\": Schema.Boolean, \"createdAt\": Schema.String.annotate({ \"format\": \"date-time\" }), \"updatedAt\": Schema.String.annotate({ \"format\": \"date-time\" }), \"disabledAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"format\": \"date-time\" })), \"passwordSetupStatus\": Schema.optionalKey(Schema.Literals([\"available\", \"configured\", \"email_required\", \"user_disabled\", \"login_disabled\"]).annotate({ \"description\": \"Password setup state included by the get-user operation.\" })) }).annotate({ \"identifier\": \"User\" })\nexport type SessionBulkInput = { readonly \"ids\": ReadonlyArray<UUIDv7> }\nexport const SessionBulkInput = Schema.Struct({ \"ids\": Schema.Array(UUIDv7).annotate({ \"description\": \"Up to 100 unique UUIDv7 values. An empty array is valid.\", \"examples\": [[\"019f6cf0-0000-7000-8000-000000000010\", \"019f6cf0-0000-7000-8000-000000000011\"]] }).check(Schema.isMaxLength(100).annotate({ \"expected\": \"a value with a length of at most 100\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })) }).annotate({ \"description\": \"Ordered session IDs for a tenant-scoped bulk lookup. Missing, foreign, and deleted IDs are omitted from the result.\", \"identifier\": \"SessionBulkInput\" })\nexport type Event = { readonly \"id\": UUIDv7, readonly \"tenantId\": UUIDv7, readonly \"resourceType\": string, readonly \"resourceId\": string, readonly \"type\": string, readonly \"message\": string, readonly \"data\": { readonly [x: string]: Schema.Json }, readonly \"createdAt\": string }\nexport const Event = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Event identifier.\" }), \"tenantId\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Tenant that owns the event.\" }), \"resourceType\": Schema.String.annotate({ \"description\": \"Resource category associated with the event. Currently session events are the primary source; new categories may be added.\", \"examples\": [\"session\"] }), \"resourceId\": Schema.String.annotate({ \"description\": \"Identifier of the associated resource. Its format depends on `resourceType`.\", \"examples\": [\"019f6cf0-0000-7000-8000-000000000010\"] }), \"type\": Schema.String.annotate({ \"description\": \"Extensible event type used for programmatic handling.\", \"examples\": [\"session.token_rotated\"] }), \"message\": Schema.String.annotate({ \"description\": \"Human-readable event summary.\", \"examples\": [\"session token rotated\"] }), \"data\": Schema.Record(Schema.String, Schema.Json.annotate({ \"expected\": \"JSON value\" })).annotate({ \"description\": \"Event-specific JSON payload, such as error details or upload metadata.\", \"examples\": [{ \"reason\": \"manual rotation\" }] }), \"createdAt\": Schema.String.annotate({ \"description\": \"Time the event was recorded.\", \"examples\": [\"2026-07-17T12:30:00Z\"], \"format\": \"date-time\" }) }).annotate({ \"description\": \"Immutable tenant-scoped audit or lifecycle event.\", \"identifier\": \"Event\" })\nexport type AuditEvent = { readonly \"id\": UUIDv7, readonly \"actorType\": PrincipalType, readonly \"actorId\"?: string | null, readonly \"tenantId\"?: UUIDv7 | null, readonly \"action\": string, readonly \"resourceType\": string, readonly \"resourceId\"?: string | null, readonly \"data\": { readonly [x: string]: Schema.Json }, readonly \"createdAt\": string }\nexport const AuditEvent = Schema.Struct({ \"id\": UUIDv7, \"actorType\": PrincipalType, \"actorId\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), \"tenantId\": Schema.optionalKey(Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" })), \"action\": Schema.String.annotate({ \"examples\": [\"tenant_membership.upserted\"] }), \"resourceType\": Schema.String.annotate({ \"examples\": [\"tenant_membership\"] }), \"resourceId\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), \"data\": Schema.Record(Schema.String, Schema.Json.annotate({ \"expected\": \"JSON value\" })), \"createdAt\": Schema.String.annotate({ \"format\": \"date-time\" }) }).annotate({ \"identifier\": \"AuditEvent\" })\nexport type ResourceGrant = { readonly \"resourceType\": ResourceType, readonly \"resourceId\": UUIDv7 }\nexport const ResourceGrant = Schema.Struct({ \"resourceType\": ResourceType, \"resourceId\": UUIDv7 }).annotate({ \"description\": \"Access to one existing tenant session or snapshot by its stable UUIDv7 identifier.\", \"identifier\": \"ResourceGrant\" })\nexport type Error = { readonly \"error\": ErrorDetail }\nexport const Error = Schema.Struct({ \"error\": ErrorDetail }).annotate({ \"description\": \"Standard error envelope returned by REST API operations.\", \"identifier\": \"Error\" })\nexport type BrowserChannels = { readonly \"channels\": ReadonlyArray<BrowserChannel> }\nexport const BrowserChannels = Schema.Struct({ \"channels\": Schema.Array(BrowserChannel) }).annotate({ \"description\": \"Browser channels enabled on this deployment.\", \"examples\": [{ \"channels\": [{ \"name\": \"chromium\" }] }], \"identifier\": \"BrowserChannels\" })\nexport type TenantMembership = { readonly \"tenantId\": UUIDv7, readonly \"userId\": UUIDv7, readonly \"scopes\": ReadonlyArray<TenantScope>, readonly \"createdAt\": string, readonly \"updatedAt\": string }\nexport const TenantMembership = Schema.Struct({ \"tenantId\": UUIDv7, \"userId\": UUIDv7, \"scopes\": Schema.Array(TenantScope).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"createdAt\": Schema.String.annotate({ \"format\": \"date-time\" }), \"updatedAt\": Schema.String.annotate({ \"format\": \"date-time\" }) }).annotate({ \"identifier\": \"TenantMembership\" })\nexport type TenantMembershipInput = { readonly \"scopes\": ReadonlyArray<TenantScope> }\nexport const TenantMembershipInput = Schema.Struct({ \"scopes\": Schema.Array(TenantScope).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })) }).annotate({ \"identifier\": \"TenantMembershipInput\" })\nexport type SessionMedia = { readonly \"mode\": \"auto\" | \"cdp\", readonly \"webrtcProducer\": boolean, readonly \"iceServers\"?: ReadonlyArray<IceServer> }\nexport const SessionMedia = Schema.Struct({ \"mode\": Schema.Literals([\"auto\", \"cdp\"]).annotate({ \"description\": \"Configured media mode. `auto` enables deployment-selected media support; `cdp` exposes Chrome DevTools access only.\", \"examples\": [\"auto\"] }), \"webrtcProducer\": Schema.Boolean.annotate({ \"description\": \"Whether the compositor WebRTC producer is available for this session.\", \"examples\": [true] }), \"iceServers\": Schema.optionalKey(Schema.Array(IceServer).annotate({ \"description\": \"ICE configuration for WebRTC setup. Omitted when WebRTC is unavailable or does not need configured ICE servers.\" })) }).annotate({ \"description\": \"Media capabilities currently available for the session.\", \"identifier\": \"SessionMedia\" })\nexport type InitialCacheStorageEntry = { readonly \"url\": string, readonly \"requestHeaders\": StringMap, readonly \"responseHeaders\": StringMap, readonly \"responseStatus\": number, readonly \"responseStatusText\": string, readonly \"responseBody\": string }\nexport const InitialCacheStorageEntry = Schema.Struct({ \"url\": Schema.String.annotate({ \"format\": \"uri\" }), \"requestHeaders\": StringMap, \"responseHeaders\": StringMap, \"responseStatus\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(100).annotate({ \"expected\": \"a value greater than or equal to 100\" })).check(Schema.isLessThanOrEqualTo(599).annotate({ \"expected\": \"a value less than or equal to 599\" })), \"responseStatusText\": Schema.String, \"responseBody\": Schema.String.annotate({ \"contentEncoding\": \"base64\" }) }).annotate({ \"identifier\": \"InitialCacheStorageEntry\" })\nexport type ReplaceTagsInput = { readonly \"tags\": StringMap }\nexport const ReplaceTagsInput = Schema.Struct({ \"tags\": Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Complete tag map. Keys and values must contain non-whitespace characters.\" }) }).annotate({ \"description\": \"Complete replacement tag set. The map may be empty to clear all tags.\", \"examples\": [{ \"tags\": { \"environment\": \"production\", \"region\": \"eu-west-1\" } }], \"identifier\": \"ReplaceTagsInput\" })\nexport type PromoteSessionInput = { readonly \"name\": string, readonly \"description\"?: string | null, readonly \"force\"?: boolean, readonly \"tags\"?: StringMap }\nexport const PromoteSessionInput = Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Tenant-unique snapshot name. Leading and trailing whitespace is removed.\", \"examples\": [\"signed-in-base\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"description\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional snapshot description. `null` creates the snapshot without a description.\", \"examples\": [\"Signed-in storefront state for checkout tests\"] })), \"force\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Deleted snapshot names are reused automatically. Set `true` to replace an active snapshot, which is renamed to its tombstone name and retained for the configured snapshot retention period.\", \"default\": false })), \"tags\": Schema.optionalKey(Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Initial complete tag map for the new snapshot.\" })) }).annotate({ \"description\": \"Snapshot metadata created from a stopped, retained session.\", \"examples\": [{ \"name\": \"signed-in-base\", \"description\": \"Signed-in storefront state for checkout tests\", \"force\": false, \"tags\": { \"application\": \"storefront\", \"environment\": \"staging\" } }], \"identifier\": \"PromoteSessionInput\" })\nexport type Snapshot = { readonly \"id\": UUIDv7, readonly \"name\": string, readonly \"tenantId\": UUIDv7, readonly \"description\"?: string | null, readonly \"parentSnapshotId\"?: UUIDv7, readonly \"promotedFromSessionId\"?: UUIDv7, readonly \"createdAt\": string, readonly \"deletedAt\"?: string | null, readonly \"expiresAt\"?: string, readonly \"tags\"?: StringMap }\nexport const Snapshot = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Snapshot identifier.\" }), \"name\": Schema.String.annotate({ \"description\": \"Human-selected tenant-unique snapshot name.\", \"examples\": [\"signed-in-base\"] }), \"tenantId\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Tenant that owns the snapshot.\" }), \"description\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Operator-provided description, or `null` when none is set.\", \"examples\": [\"Signed-in storefront state for checkout tests\"] })), \"parentSnapshotId\": Schema.optionalKey(Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Base snapshot from which the source session was created. Omitted for snapshots without a parent.\" })), \"promotedFromSessionId\": Schema.optionalKey(Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Session whose retained overlay produced this snapshot. Omitted when lineage is unavailable.\" })), \"createdAt\": Schema.String.annotate({ \"description\": \"Time the snapshot was created.\", \"examples\": [\"2026-07-17T12:45:00Z\"], \"format\": \"date-time\" }), \"deletedAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Soft-deletion time, or `null` for an active snapshot.\", \"examples\": [null], \"format\": \"date-time\" })), \"expiresAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Purge eligibility time for a deleted snapshot. Omitted for active snapshots.\", \"examples\": [\"2026-08-16T12:45:00Z\"], \"format\": \"date-time\" })), \"tags\": Schema.optionalKey(Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Snapshot metadata tags. Omitted when no tags are set.\" })) }).annotate({ \"description\": \"Reusable retained browser filesystem state. Deletion is soft until the retention deadline.\", \"identifier\": \"Snapshot\" })\nexport type InitialTargetStorageOrigin = { readonly \"origin\": string, readonly \"entries\": ReadonlyArray<BrowserStorageEntry> }\nexport const InitialTargetStorageOrigin = Schema.Struct({ \"origin\": Schema.String.annotate({ \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/[^/]+$\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/[^/]+$\" })), \"entries\": Schema.Array(BrowserStorageEntry) }).annotate({ \"identifier\": \"InitialTargetStorageOrigin\" })\nexport type InitialBrowserElementLocator = { readonly \"tag\": string, readonly \"id\"?: string, readonly \"name\"?: string, readonly \"inputType\"?: string, readonly \"autocomplete\"?: string, readonly \"ariaLabel\"?: string, readonly \"placeholder\"?: string, readonly \"path\": ReadonlyArray<InitialBrowserElementPathStep> }\nexport const InitialBrowserElementLocator = Schema.Struct({ \"tag\": Schema.String.check(Schema.isPattern(new RegExp(\"^[a-z][a-z0-9-]*$\")).annotate({ \"expected\": \"a string matching the RegExp ^[a-z][a-z0-9-]*$\" })), \"id\": Schema.optionalKey(Schema.String), \"name\": Schema.optionalKey(Schema.String), \"inputType\": Schema.optionalKey(Schema.String), \"autocomplete\": Schema.optionalKey(Schema.String), \"ariaLabel\": Schema.optionalKey(Schema.String), \"placeholder\": Schema.optionalKey(Schema.String), \"path\": Schema.Array(InitialBrowserElementPathStep).check(Schema.isMaxLength(256).annotate({ \"expected\": \"a value with a length of at most 256\" })) }).annotate({ \"description\": \"Semantic element identity with a structural fallback. It is not a CSS selector.\", \"identifier\": \"InitialBrowserElementLocator\" })\nexport type InitialBrowserCookie = { readonly \"name\": string, readonly \"value\": string, readonly \"domain\": string, readonly \"hostOnly\"?: boolean, readonly \"path\": string, readonly \"expires\"?: number, readonly \"httpOnly\"?: boolean, readonly \"secure\"?: boolean, readonly \"sameSite\"?: BrowserCookieSameSite, readonly \"partitionKey\"?: InitialBrowserCookiePartitionKey }\nexport const InitialBrowserCookie = Schema.Struct({ \"name\": Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"value\": Schema.String.annotate({ \"description\": \"Cookie value. Never log this field.\" }), \"domain\": Schema.String.annotate({ \"examples\": [\".example.com\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"hostOnly\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Scope the cookie to exactly `domain`, without subdomains. `domain` must then be a plain hostname.\", \"default\": false })), \"path\": Schema.String.annotate({ \"examples\": [\"/\"] }).check(Schema.isPattern(new RegExp(\"^\\\\/\")).annotate({ \"expected\": \"a string matching the RegExp ^\\\\/\" })), \"expires\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Unix timestamp in seconds. Omit for a session cookie.\" }).check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })).check(Schema.isGreaterThan(0).annotate({ \"expected\": \"a value greater than 0\" }))), \"httpOnly\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })), \"secure\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })), \"sameSite\": Schema.optionalKey(BrowserCookieSameSite), \"partitionKey\": Schema.optionalKey(InitialBrowserCookiePartitionKey) }).annotate({ \"description\": \"Cookie imported into the new browser profile.\", \"identifier\": \"InitialBrowserCookie\" })\nexport type InitialIndexedDBIndex = { readonly \"name\": string, readonly \"keyPath\": InitialIndexedDBIndexKeyPath, readonly \"unique\": boolean, readonly \"multiEntry\": boolean }\nexport const InitialIndexedDBIndex = Schema.Struct({ \"name\": Schema.String, \"keyPath\": InitialIndexedDBIndexKeyPath, \"unique\": Schema.Boolean, \"multiEntry\": Schema.Boolean }).annotate({ \"identifier\": \"InitialIndexedDBIndex\" })\nexport type ProxyConfig = { readonly \"upstream\"?: \"direct\" | \"proxy\" | \"tunnel\", readonly \"url\"?: string, readonly \"tunnel\"?: ProxyTunnelConfig, readonly \"bypass\"?: string }\nexport const ProxyConfig = Schema.Struct({ \"upstream\": Schema.optionalKey(Schema.Literals([\"direct\", \"proxy\", \"tunnel\"]).annotate({ \"description\": \"Upstream strategy for new connections. Defaults to `direct`.\", \"examples\": [\"tunnel\"] })), \"url\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Generic upstream proxy URL (`http`, `https`, `socks`, `socks5`, `socks5h`). Required when `upstream` is `proxy`. Credentials go in the userinfo (`socks5://user:pass@host:1080`) and are sent as Basic `Proxy-Authorization` for `http`/`https` or RFC 1929 username/password for the socks schemes. An omitted port defaults to 1080 (socks), 80 (http) or 443 (https).\", \"examples\": [\"socks5://user:pass@proxy.example.com:1080\"] })), \"tunnel\": Schema.optionalKey(ProxyTunnelConfig), \"bypass\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Extra `--proxy-bypass-list` entries. Loopback is always bypassed.\", \"examples\": [\"*.internal.example.com\"] })) }).annotate({ \"description\": \"Session egress proxy assignment. Omitted for direct egress.\", \"identifier\": \"ProxyConfig\" })\nexport type UpdateProxyAssignment = { readonly \"upstream\"?: \"direct\" | \"proxy\" | \"tunnel\", readonly \"url\"?: string, readonly \"tunnel\"?: ProxyTunnelConfig, readonly \"bypass\"?: string, readonly \"drain\"?: boolean }\nexport const UpdateProxyAssignment = Schema.Struct({ \"upstream\": Schema.optionalKey(Schema.Literals([\"direct\", \"proxy\", \"tunnel\"]).annotate({ \"description\": \"Upstream strategy for new connections. Defaults to `direct`.\", \"examples\": [\"tunnel\"] })), \"url\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Generic upstream proxy URL (`http`, `https`, `socks`, `socks5`, `socks5h`). Required when `upstream` is `proxy`. Credentials go in the userinfo (`socks5://user:pass@host:1080`) and are sent as Basic `Proxy-Authorization` for `http`/`https` or RFC 1929 username/password for the socks schemes. An omitted port defaults to 1080 (socks), 80 (http) or 443 (https).\", \"examples\": [\"socks5://user:pass@proxy.example.com:1080\"] })), \"tunnel\": Schema.optionalKey(ProxyTunnelConfig), \"bypass\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Extra `--proxy-bypass-list` entries. Loopback is always bypassed.\", \"examples\": [\"*.internal.example.com\"] })), \"drain\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Reset live tunnel streams instead of letting them drain. New connections use the new assignment either way.\", \"examples\": [false] })) }).annotate({ \"description\": \"Replacement session egress proxy assignment.\", \"identifier\": \"UpdateProxyAssignment\" })\nexport type TenantPage = { readonly \"data\": ReadonlyArray<Tenant>, readonly \"meta\": PageMeta }\nexport const TenantPage = Schema.Struct({ \"data\": Schema.Array(Tenant), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated tenants.\", \"identifier\": \"TenantPage\" })\nexport type UserPage = { readonly \"data\": ReadonlyArray<User>, readonly \"meta\": PageMeta }\nexport const UserPage = Schema.Struct({ \"data\": Schema.Array(User), \"meta\": PageMeta }).annotate({ \"identifier\": \"UserPage\" })\nexport type EventPage = { readonly \"data\": ReadonlyArray<Event>, readonly \"meta\": PageMeta }\nexport const EventPage = Schema.Struct({ \"data\": Schema.Array(Event), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated tenant events.\", \"identifier\": \"EventPage\" })\nexport type AuditEventPage = { readonly \"data\": ReadonlyArray<AuditEvent>, readonly \"meta\": PageMeta }\nexport const AuditEventPage = Schema.Struct({ \"data\": Schema.Array(AuditEvent), \"meta\": PageMeta }).annotate({ \"identifier\": \"AuditEventPage\" })\nexport type Principal = { readonly \"type\": PrincipalType, readonly \"id\": string, readonly \"authMethod\": \"api_token\" | \"oidc\" | \"passkey\" | \"password\", readonly \"tokenId\": UUIDv7 | null, readonly \"userId\"?: UUIDv7 | null, readonly \"name\": string, readonly \"authorityType\": AuthorityType, readonly \"tenantId\"?: UUIDv7 | null, readonly \"scopes\": ReadonlyArray<Scope>, readonly \"resourceMode\": ResourceMode, readonly \"resourceGrants\": ReadonlyArray<ResourceGrant> }\nexport const Principal = Schema.Struct({ \"type\": PrincipalType, \"id\": Schema.String.annotate({ \"description\": \"Stable identifier of the authenticated subject.\" }), \"authMethod\": Schema.Literals([\"api_token\", \"oidc\", \"passkey\", \"password\"]).annotate({ \"description\": \"Authentication mechanism used for this request.\" }), \"tokenId\": Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"Identifier of the API token used for authentication, or `null` for account-backed sessions.\" }), \"userId\": Schema.optionalKey(Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"User identifier for account-backed authentication, or `null` for API tokens.\" })), \"name\": Schema.String.annotate({ \"description\": \"Display name of the authenticated credential or user.\", \"examples\": [\"deployment automation\"] }), \"authorityType\": AuthorityType, \"tenantId\": Schema.optionalKey(Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"Effective tenant for tenant authority, or `null` when no tenant is selected.\" })), \"scopes\": Schema.Array(Scope).annotate({ \"description\": \"Scopes granted to the authenticated principal.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"resourceMode\": ResourceMode, \"resourceGrants\": Schema.Array(ResourceGrant).annotate({ \"description\": \"Explicit grants when `resourceMode` is `allowlist`; empty when it is `all`.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })) }).annotate({ \"description\": \"Authenticated subject identity and authorization context.\", \"identifier\": \"Principal\" })\nexport type Token = { readonly \"id\": UUIDv7, readonly \"authorityType\": AuthorityType, readonly \"tenantId\"?: UUIDv7 | null, readonly \"name\": string, readonly \"scopes\": ReadonlyArray<Scope>, readonly \"createdAt\": string, readonly \"createdByType\": PrincipalType, readonly \"createdById\": UUIDv7 | null, readonly \"parentTokenId\": UUIDv7 | null, readonly \"resourceMode\": ResourceMode, readonly \"resourceGrants\": ReadonlyArray<ResourceGrant>, readonly \"expiresAt\"?: string | null, readonly \"revokedAt\"?: string | null }\nexport const Token = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Token identifier. This is not the bearer secret.\" }), \"authorityType\": AuthorityType, \"tenantId\": Schema.optionalKey(Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"Bound tenant for a tenant token, or `null` for a system administrator token.\" })), \"name\": Schema.String.annotate({ \"description\": \"Operator-assigned token name, unique within its authority and tenant context.\", \"examples\": [\"ci automation\"] }), \"scopes\": Schema.Array(Scope).annotate({ \"description\": \"Unique scopes granted to the token.\" }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"createdAt\": Schema.String.annotate({ \"description\": \"Time the token was created.\", \"examples\": [\"2026-07-17T12:00:00Z\"], \"format\": \"date-time\" }), \"createdByType\": Schema.suspend((): Schema.Codec<PrincipalType> => PrincipalType).annotate({ \"description\": \"Principal category that created the token.\" }), \"createdById\": Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"User or API token identifier that created the token, or `null` for trusted local system actions.\" }), \"parentTokenId\": Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"API token used to delegate this token, or `null` when a user or trusted local system created it.\" }), \"resourceMode\": ResourceMode, \"resourceGrants\": Schema.Array(ResourceGrant).annotate({ \"description\": \"Explicit session and snapshot grants when `resourceMode` is `allowlist`.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"expiresAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Authentication expiry time, or `null` when the token does not expire automatically.\", \"examples\": [\"2026-08-17T12:00:00Z\"], \"format\": \"date-time\" })), \"revokedAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Revocation time, or `null` while the token is active.\", \"examples\": [null], \"format\": \"date-time\" })) }).annotate({ \"description\": \"API token metadata. The raw bearer secret is never included in this schema.\", \"identifier\": \"Token\" })\nexport type CreateAdminTokenInput = { readonly \"name\": string, readonly \"authorityType\": \"system_admin\", readonly \"scopes\": ReadonlyArray<Scope>, readonly \"expiresAt\"?: string | null, readonly \"resourceMode\"?: \"all\", readonly \"resourceGrants\"?: ReadonlyArray<ResourceGrant> } | { readonly \"name\": string, readonly \"authorityType\": \"tenant\", readonly \"tenantId\": UUIDv7, readonly \"scopes\": ReadonlyArray<TenantScope>, readonly \"expiresAt\"?: string | null, readonly \"resourceMode\"?: ResourceMode, readonly \"resourceGrants\"?: ReadonlyArray<ResourceGrant> }\nexport const CreateAdminTokenInput = Schema.Union([Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Operator-assigned name. Leading and trailing whitespace is removed.\", \"examples\": [\"platform admin\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"authorityType\": Schema.Literal(\"system_admin\"), \"scopes\": Schema.Array(Scope).annotate({ \"description\": \"Must include `system:admin`.\", \"examples\": [[\"system:admin\"]] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"expiresAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional RFC3339 timestamp. Omit or send `null` for no automatic expiry.\", \"examples\": [\"2026-08-17T12:00:00Z\"], \"format\": \"date-time\" })), \"resourceMode\": Schema.optionalKey(Schema.Literal(\"all\").annotate({ \"description\": \"System administrator tokens cannot use resource allowlists.\", \"default\": \"all\" })), \"resourceGrants\": Schema.optionalKey(Schema.Array(ResourceGrant).annotate({ \"description\": \"Must be empty for a system administrator token.\" }).check(Schema.isMaxLength(0).annotate({ \"expected\": \"a value with a length of at most 0\" }))) }), Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Operator-assigned name. Leading and trailing whitespace is removed.\", \"examples\": [\"tenant automation\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"authorityType\": Schema.Literal(\"tenant\"), \"tenantId\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Active tenant to bind permanently to the token.\" }), \"scopes\": Schema.Array(TenantScope).annotate({ \"description\": \"Tenant-compatible scopes. `system:admin` and `tenants:write` are rejected.\", \"examples\": [[\"sessions:read\", \"sessions:write\"]] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"expiresAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional RFC3339 timestamp. Omit or send `null` for no automatic expiry.\", \"examples\": [\"2026-08-17T12:00:00Z\"], \"format\": \"date-time\" })), \"resourceMode\": Schema.optionalKey(ResourceMode), \"resourceGrants\": Schema.optionalKey(Schema.Array(ResourceGrant).annotate({ \"description\": \"Existing tenant resources granted when `resourceMode` is `allowlist`; must be empty for `all`.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" }))) })], { mode: \"oneOf\" }).annotate({ \"description\": \"Token definition accepted by the system administrator token endpoint.\", \"identifier\": \"CreateAdminTokenInput\" })\nexport type CreateTenantTokenInput = { readonly \"name\": string, readonly \"scopes\": ReadonlyArray<TenantScope>, readonly \"expiresAt\"?: string | null, readonly \"resourceMode\"?: ResourceMode, readonly \"resourceGrants\"?: ReadonlyArray<ResourceGrant> }\nexport const CreateTenantTokenInput = Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Operator-assigned name. Leading and trailing whitespace is removed.\", \"examples\": [\"browser worker\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"scopes\": Schema.Array(TenantScope).annotate({ \"description\": \"Tenant-compatible scopes. `system:admin` and `tenants:write` are rejected.\", \"examples\": [[\"sessions:read\", \"sessions:write\"]] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"expiresAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional RFC3339 timestamp. Omit or send `null` for no automatic expiry.\", \"examples\": [\"2026-08-17T12:00:00Z\"], \"format\": \"date-time\" })), \"resourceMode\": Schema.optionalKey(ResourceMode), \"resourceGrants\": Schema.optionalKey(Schema.Array(ResourceGrant).annotate({ \"description\": \"Existing tenant resources granted when `resourceMode` is `allowlist`; must be empty for `all`.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" }))) }).annotate({ \"description\": \"Token definition automatically bound to the authenticated tenant.\", \"identifier\": \"CreateTenantTokenInput\" })\nexport type Session = { readonly \"id\": UUIDv7, readonly \"tenantId\": UUIDv7, readonly \"baseSnapshotName\"?: string, readonly \"label\"?: string, readonly \"status\": SessionStatus, readonly \"browserChannel\"?: string, readonly \"media\": SessionMedia, readonly \"createdAt\": string, readonly \"startedAt\"?: string, readonly \"stoppedAt\"?: string, readonly \"deletedAt\"?: string | null, readonly \"expiresAt\": string, readonly \"lastConnectedAt\"?: string, readonly \"suspendedAt\"?: string, readonly \"tags\"?: StringMap, readonly \"cdpUrl\"?: string, readonly \"sessionToken\"?: string, readonly \"collaboration\"?: SessionCollaborationCapabilities, readonly \"proxy\"?: SessionProxy }\nexport const Session = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Session identifier.\" }), \"tenantId\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Tenant that owns the session.\" }), \"baseSnapshotName\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Snapshot name used as the session base. Omitted for a blank session.\", \"examples\": [\"signed-in-base\"] })), \"label\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Optional operator-facing session label.\", \"examples\": [\"checkout smoke test\"] })), \"status\": SessionStatus, \"browserChannel\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Browser channel used to create and reopen the session.\", \"examples\": [\"chromium\"] })), \"media\": SessionMedia, \"createdAt\": Schema.String.annotate({ \"description\": \"Time the session record was created.\", \"examples\": [\"2026-07-17T12:00:00Z\"], \"format\": \"date-time\" }), \"startedAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Most recent successful browser start time. Omitted before startup succeeds.\", \"examples\": [\"2026-07-17T12:00:03Z\"], \"format\": \"date-time\" })), \"stoppedAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Most recent browser stop time. Omitted while no stop has occurred.\", \"examples\": [\"2026-07-17T13:00:00Z\"], \"format\": \"date-time\" })), \"deletedAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Soft-deletion time, or `null` for a session that has not been deleted.\", \"examples\": [null], \"format\": \"date-time\" })), \"expiresAt\": Schema.String.annotate({ \"description\": \"Retention deadline after which the session and its overlay may be purged. This is not token expiry.\", \"examples\": [\"2026-07-24T12:00:00Z\"], \"format\": \"date-time\" }), \"lastConnectedAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Most recent routed client activity time. Omitted until a client connects.\", \"examples\": [\"2026-07-17T12:30:00Z\"], \"format\": \"date-time\" })), \"suspendedAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Most recent suspension time. Omitted unless the session is suspended.\", \"examples\": [\"2026-07-17T13:00:00Z\"], \"format\": \"date-time\" })), \"tags\": Schema.optionalKey(Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Session metadata tags. Omitted when no tags are set.\" })), \"cdpUrl\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Authenticated Chrome DevTools endpoint. Omitted when the session is not currently routable. Use it with `sessionToken`.\", \"examples\": [\"https://aperture.example.com/cdp/019f6cf0-0000-7000-8000-000000000010\"], \"format\": \"uri\" })), \"sessionToken\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Session access secret returned when live access credentials are available. Rotation invalidates the previous token immediately.\", \"examples\": [\"aps_019f6cf0000070008000000000000010_REDACTED\"] })), \"collaboration\": Schema.optionalKey(SessionCollaborationCapabilities), \"proxy\": Schema.optionalKey(SessionProxy) }).annotate({ \"description\": \"Browser session state, retention metadata, tags, and currently available access credentials.\", \"identifier\": \"Session\" })\nexport type InitialCacheStorageCache = { readonly \"name\": string, readonly \"entries\": ReadonlyArray<InitialCacheStorageEntry> }\nexport const InitialCacheStorageCache = Schema.Struct({ \"name\": Schema.String, \"entries\": Schema.Array(InitialCacheStorageEntry) }).annotate({ \"identifier\": \"InitialCacheStorageCache\" })\nexport type SnapshotMutation = { readonly \"snapshot\": Snapshot }\nexport const SnapshotMutation = Schema.Struct({ \"snapshot\": Snapshot }).annotate({ \"description\": \"Snapshot returned after a mutation.\", \"identifier\": \"SnapshotMutation\" })\nexport type SnapshotPage = { readonly \"data\": ReadonlyArray<Snapshot>, readonly \"meta\": PageMeta }\nexport const SnapshotPage = Schema.Struct({ \"data\": Schema.Array(Snapshot), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated snapshots.\", \"identifier\": \"SnapshotPage\" })\nexport type InitialBrowserControlState = { readonly \"locator\": InitialBrowserElementLocator, readonly \"value\": string, readonly \"checked\"?: boolean, readonly \"selectedIndices\"?: ReadonlyArray<number>, readonly \"selection\"?: InitialBrowserControlSelection }\nexport const InitialBrowserControlState = Schema.Struct({ \"locator\": InitialBrowserElementLocator, \"value\": Schema.String, \"checked\": Schema.optionalKey(Schema.Boolean), \"selectedIndices\": Schema.optionalKey(Schema.Array(Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })))), \"selection\": Schema.optionalKey(InitialBrowserControlSelection) }).annotate({ \"identifier\": \"InitialBrowserControlState\" })\nexport type InitialBrowserContentEditableState = { readonly \"locator\": InitialBrowserElementLocator, readonly \"html\": string }\nexport const InitialBrowserContentEditableState = Schema.Struct({ \"locator\": InitialBrowserElementLocator, \"html\": Schema.String }).annotate({ \"identifier\": \"InitialBrowserContentEditableState\" })\nexport type InitialBrowserElementScrollPosition = { readonly \"locator\": InitialBrowserElementLocator, readonly \"x\": number, readonly \"y\": number }\nexport const InitialBrowserElementScrollPosition = Schema.Struct({ \"locator\": InitialBrowserElementLocator, \"x\": Schema.Number.check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })), \"y\": Schema.Number.check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })) }).annotate({ \"identifier\": \"InitialBrowserElementScrollPosition\" })\nexport type InitialBrowserSelectionEndpoint = { readonly \"locator\": InitialBrowserElementLocator, readonly \"nodePath\": ReadonlyArray<number>, readonly \"offset\": number }\nexport const InitialBrowserSelectionEndpoint = Schema.Struct({ \"locator\": InitialBrowserElementLocator, \"nodePath\": Schema.Array(Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))).check(Schema.isMaxLength(256).annotate({ \"expected\": \"a value with a length of at most 256\" })), \"offset\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })) }).annotate({ \"identifier\": \"InitialBrowserSelectionEndpoint\" })\nexport type InitialIndexedDBObjectStore = { readonly \"name\": string, readonly \"keyPath\": InitialIndexedDBKeyPath, readonly \"autoIncrement\": boolean, readonly \"indexes\": ReadonlyArray<InitialIndexedDBIndex>, readonly \"records\": ReadonlyArray<InitialIndexedDBRecord> }\nexport const InitialIndexedDBObjectStore = Schema.Struct({ \"name\": Schema.String, \"keyPath\": InitialIndexedDBKeyPath, \"autoIncrement\": Schema.Boolean, \"indexes\": Schema.Array(InitialIndexedDBIndex), \"records\": Schema.Array(InitialIndexedDBRecord) }).annotate({ \"identifier\": \"InitialIndexedDBObjectStore\" })\nexport type AuthMe = { readonly \"principal\": Principal, readonly \"selectedTenant\": Tenant | null, readonly \"availableTenants\": ReadonlyArray<Tenant> }\nexport const AuthMe = Schema.Struct({ \"principal\": Principal, \"selectedTenant\": Schema.Union([Tenant, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"Effective tenant, or `null` when the principal has not selected one.\" }), \"availableTenants\": Schema.Array(Tenant).annotate({ \"description\": \"Active tenant memberships available to an account-backed principal. API-token principals return an empty array.\" }) }).annotate({ \"description\": \"Current principal and its effective tenant selection.\", \"identifier\": \"AuthMe\" })\nexport type TokenPage = { readonly \"data\": ReadonlyArray<Token>, readonly \"meta\": PageMeta }\nexport const TokenPage = Schema.Struct({ \"data\": Schema.Array(Token), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated API token metadata without bearer secrets.\", \"identifier\": \"TokenPage\" })\nexport type CreateTokenResponse = { readonly \"token\": Token, readonly \"rawToken\": string }\nexport const CreateTokenResponse = Schema.Struct({ \"token\": Token, \"rawToken\": Schema.String.annotate({ \"description\": \"One-time Aperture API bearer token. Store it immediately; later reads return only token metadata.\", \"examples\": [\"apt_019f6cf0000070008000000000000002_REDACTED\"] }) }).annotate({ \"description\": \"Created token metadata and its one-time bearer secret.\", \"identifier\": \"CreateTokenResponse\" })\nexport type SessionPage = { readonly \"data\": ReadonlyArray<Session>, readonly \"meta\": PageMeta }\nexport const SessionPage = Schema.Struct({ \"data\": Schema.Array(Session), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated browser sessions.\", \"identifier\": \"SessionPage\" })\nexport type CreateSessionResult = { readonly \"session\": Session, readonly \"cdpUrl\": string, readonly \"sessionToken\": string }\nexport const CreateSessionResult = Schema.Struct({ \"session\": Session, \"cdpUrl\": Schema.String.annotate({ \"description\": \"Authenticated Chrome DevTools endpoint for the new session.\", \"examples\": [\"https://aperture.example.com/cdp/019f6cf0-0000-7000-8000-000000000010\"], \"format\": \"uri\" }), \"sessionToken\": Schema.String.annotate({ \"description\": \"Initial session access secret. Store it immediately.\", \"examples\": [\"aps_019f6cf0000070008000000000000010_REDACTED\"] }) }).annotate({ \"description\": \"Newly created session and its one-time initial access credentials.\", \"identifier\": \"CreateSessionResult\" })\nexport type SessionBulkResponse = { readonly \"sessions\": ReadonlyArray<Session> }\nexport const SessionBulkResponse = Schema.Struct({ \"sessions\": Schema.Array(Session) }).annotate({ \"description\": \"Sessions found for the requested IDs, preserving request order.\", \"identifier\": \"SessionBulkResponse\" })\nexport type SessionMutation = { readonly \"session\": Session, readonly \"cdpUrl\"?: string, readonly \"sessionToken\"?: string }\nexport const SessionMutation = Schema.Struct({ \"session\": Session, \"cdpUrl\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Current Chrome DevTools endpoint. Omitted by operations that do not expose live access.\", \"examples\": [\"https://aperture.example.com/cdp/019f6cf0-0000-7000-8000-000000000010\"], \"format\": \"uri\" })), \"sessionToken\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Current raw session access secret. Omitted by operations that do not expose or replace credentials.\", \"examples\": [\"aps_019f6cf0000070008000000000000010_REDACTED\"] })) }).annotate({ \"description\": \"Updated session and operation-specific live access credentials when available.\", \"identifier\": \"SessionMutation\" })\nexport type InitialBrowserDocumentSelection = { readonly \"anchor\": InitialBrowserSelectionEndpoint, readonly \"focus\": InitialBrowserSelectionEndpoint }\nexport const InitialBrowserDocumentSelection = Schema.Struct({ \"anchor\": InitialBrowserSelectionEndpoint, \"focus\": InitialBrowserSelectionEndpoint }).annotate({ \"identifier\": \"InitialBrowserDocumentSelection\" })\nexport type InitialIndexedDBDatabase = { readonly \"name\": string, readonly \"version\": number, readonly \"objectStores\": ReadonlyArray<InitialIndexedDBObjectStore> }\nexport const InitialIndexedDBDatabase = Schema.Struct({ \"name\": Schema.String, \"version\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"objectStores\": Schema.Array(InitialIndexedDBObjectStore) }).annotate({ \"identifier\": \"InitialIndexedDBDatabase\" })\nexport type InitialBrowserDocumentState = { readonly \"version\": 1, readonly \"windowName\"?: string, readonly \"historyState\"?: string, readonly \"controls\": ReadonlyArray<InitialBrowserControlState>, readonly \"contentEditables\": ReadonlyArray<InitialBrowserContentEditableState>, readonly \"scrollPositions\": ReadonlyArray<InitialBrowserElementScrollPosition>, readonly \"focus\"?: InitialBrowserElementLocator, readonly \"selection\"?: InitialBrowserDocumentSelection }\nexport const InitialBrowserDocumentState = Schema.Struct({ \"version\": Schema.Literal(1), \"windowName\": Schema.optionalKey(Schema.String), \"historyState\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"JSON-encoded structured-clone history state.\" })), \"controls\": Schema.Array(InitialBrowserControlState).check(Schema.isMaxLength(10000).annotate({ \"expected\": \"a value with a length of at most 10000\" })), \"contentEditables\": Schema.Array(InitialBrowserContentEditableState).check(Schema.isMaxLength(10000).annotate({ \"expected\": \"a value with a length of at most 10000\" })), \"scrollPositions\": Schema.Array(InitialBrowserElementScrollPosition).check(Schema.isMaxLength(10000).annotate({ \"expected\": \"a value with a length of at most 10000\" })), \"focus\": Schema.optionalKey(InitialBrowserElementLocator), \"selection\": Schema.optionalKey(InitialBrowserDocumentSelection) }).annotate({ \"description\": \"Sensitive top-document state replayed during initial navigation.\", \"identifier\": \"InitialBrowserDocumentState\" })\nexport type InitialStorageOrigin = { readonly \"origin\": string, readonly \"ancestorOrigins\"?: ReadonlyArray<string>, readonly \"localStorage\": ReadonlyArray<BrowserStorageEntry>, readonly \"indexedDB\"?: ReadonlyArray<InitialIndexedDBDatabase>, readonly \"cacheStorage\"?: ReadonlyArray<InitialCacheStorageCache>, readonly \"opfs\"?: ReadonlyArray<InitialOPFSFile> }\nexport const InitialStorageOrigin = Schema.Struct({ \"origin\": Schema.String.annotate({ \"examples\": [\"https://example.com\"], \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/[^/]+$\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/[^/]+$\" })), \"ancestorOrigins\": Schema.optionalKey(Schema.Array(Schema.String.annotate({ \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/[^/]+$\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/[^/]+$\" }))).annotate({ \"description\": \"Top-down HTTP origin chain for partitioned storage. Omitted for a top-level origin.\" }).check(Schema.isMaxLength(32).annotate({ \"expected\": \"a value with a length of at most 32\" }))), \"localStorage\": Schema.Array(BrowserStorageEntry), \"indexedDB\": Schema.optionalKey(Schema.Array(InitialIndexedDBDatabase)), \"cacheStorage\": Schema.optionalKey(Schema.Array(InitialCacheStorageCache)), \"opfs\": Schema.optionalKey(Schema.Array(InitialOPFSFile)) }).annotate({ \"description\": \"Profile-scoped browser storage imported for one exact HTTP origin and ancestor partition.\", \"identifier\": \"InitialStorageOrigin\" })\nexport type InitialBrowserTarget = { readonly \"url\": string, readonly \"sessionStorage\"?: ReadonlyArray<InitialTargetStorageOrigin>, readonly \"scroll\"?: InitialBrowserScrollPosition, readonly \"documentState\"?: InitialBrowserDocumentState, readonly \"openerTargetIndex\"?: number, readonly \"active\"?: boolean }\nexport const InitialBrowserTarget = Schema.Struct({ \"url\": Schema.String.annotate({ \"description\": \"Absolute HTTP or HTTPS URL without embedded credentials.\", \"examples\": [\"https://example.com/account\"], \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/\" })), \"sessionStorage\": Schema.optionalKey(Schema.Array(InitialTargetStorageOrigin).annotate({ \"description\": \"Per-origin session storage installed in target frames before page scripts execute.\" })), \"scroll\": Schema.optionalKey(InitialBrowserScrollPosition), \"documentState\": Schema.optionalKey(InitialBrowserDocumentState), \"openerTargetIndex\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Index of another initial target that opened this target.\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"active\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Select this target for the first connected session client. At most one target may be active.\", \"default\": false })) }).annotate({ \"description\": \"HTTP page and target-scoped state opened during session creation.\", \"identifier\": \"InitialBrowserTarget\" })\nexport type InitialBrowserStorageState = { readonly \"cookies\": ReadonlyArray<InitialBrowserCookie>, readonly \"origins\": ReadonlyArray<InitialStorageOrigin> }\nexport const InitialBrowserStorageState = Schema.Struct({ \"cookies\": Schema.Array(InitialBrowserCookie).check(Schema.isMaxLength(10000).annotate({ \"expected\": \"a value with a length of at most 10000\" })), \"origins\": Schema.Array(InitialStorageOrigin).check(Schema.isMaxLength(100).annotate({ \"expected\": \"a value with a length of at most 100\" })) }).annotate({ \"description\": \"Profile-scoped browser storage imported before initial browser targets are opened.\", \"identifier\": \"InitialBrowserStorageState\" })\nexport type CreateSessionInput = { readonly \"baseSnapshotName\"?: string | null, readonly \"label\"?: string | null, readonly \"browser\": BrowserConfig, readonly \"initialTargets\"?: ReadonlyArray<InitialBrowserTarget>, readonly \"storageState\"?: InitialBrowserStorageState, readonly \"tags\"?: StringMap, readonly \"proxy\"?: ProxyConfig }\nexport const CreateSessionInput = Schema.Struct({ \"baseSnapshotName\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Active snapshot used as the browser filesystem base. Omit, send `null`, or send an empty value for a blank session.\", \"examples\": [\"signed-in-base\"] })), \"label\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional operator-facing label for the session.\", \"examples\": [\"checkout smoke test\"] })), \"browser\": BrowserConfig, \"initialTargets\": Schema.optionalKey(Schema.Array(InitialBrowserTarget).annotate({ \"description\": \"Browser targets that replace the browser's startup page after storage import. Result order follows input order; opener dependencies may be created first.\" }).check(Schema.isMaxLength(50).annotate({ \"expected\": \"a value with a length of at most 50\" }))), \"storageState\": Schema.optionalKey(InitialBrowserStorageState), \"tags\": Schema.optionalKey(Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Initial session tags.\" })), \"proxy\": Schema.optionalKey(ProxyConfig) }).annotate({ \"description\": \"Configuration for a new retained browser session.\", \"examples\": [{ \"baseSnapshotName\": \"signed-in-base\", \"label\": \"checkout smoke test\", \"browser\": { \"channel\": \"chromium\", \"args\": [\"--lang=en-US\"] }, \"initialTargets\": [{ \"url\": \"https://example.com/account\" }], \"storageState\": { \"cookies\": [], \"origins\": [{ \"origin\": \"https://example.com\", \"localStorage\": [{ \"name\": \"access-token\", \"value\": \"REDACTED\" }] }] }, \"tags\": { \"environment\": \"staging\", \"suite\": \"checkout\" } }], \"identifier\": \"CreateSessionInput\" })\n// schemas\nexport type GetHealth200 = Health\nexport const GetHealth200 = Health\nexport type GetCurrentPrincipalParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetCurrentPrincipalParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetCurrentPrincipal200 = AuthMe\nexport const GetCurrentPrincipal200 = AuthMe\nexport type GetCurrentPrincipaldefault = Error\nexport const GetCurrentPrincipaldefault = Error\nexport type ListBrowserChannels200 = BrowserChannels\nexport const ListBrowserChannels200 = BrowserChannels\nexport type ListBrowserChannelsdefault = Error\nexport const ListBrowserChannelsdefault = Error\nexport type ListTenantsParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"deleted\"?: \"active\" | \"deleted\" | \"all\", readonly \"includeDeleted\"?: boolean }\nexport const ListTenantsParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"deleted\": Schema.optionalKey(Schema.Literals([\"active\", \"deleted\", \"all\"]).annotate({ \"default\": \"active\" })), \"includeDeleted\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })) })\nexport type ListTenants200 = TenantPage\nexport const ListTenants200 = TenantPage\nexport type ListTenantsdefault = Error\nexport const ListTenantsdefault = Error\nexport type CreateTenantRequestJson = TenantInput\nexport const CreateTenantRequestJson = TenantInput\nexport type CreateTenant201 = Tenant\nexport const CreateTenant201 = Tenant\nexport type CreateTenantdefault = Error\nexport const CreateTenantdefault = Error\nexport type DeleteTenant200 = Tenant\nexport const DeleteTenant200 = Tenant\nexport type DeleteTenantdefault = Error\nexport const DeleteTenantdefault = Error\nexport type UpdateTenantRequestJson = TenantInput\nexport const UpdateTenantRequestJson = TenantInput\nexport type UpdateTenant200 = Tenant\nexport const UpdateTenant200 = Tenant\nexport type UpdateTenantdefault = Error\nexport const UpdateTenantdefault = Error\nexport type RestoreTenant200 = Tenant\nexport const RestoreTenant200 = Tenant\nexport type RestoreTenantdefault = Error\nexport const RestoreTenantdefault = Error\nexport type ListUsersParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"query\"?: string, readonly \"disabled\"?: \"active\" | \"disabled\" | \"all\" }\nexport const ListUsersParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"query\": Schema.optionalKey(Schema.String), \"disabled\": Schema.optionalKey(Schema.Literals([\"active\", \"disabled\", \"all\"]).annotate({ \"default\": \"active\" })) })\nexport type ListUsers200 = UserPage\nexport const ListUsers200 = UserPage\nexport type ListUsersdefault = Error\nexport const ListUsersdefault = Error\nexport type CreateUserRequestJson = UserInput\nexport const CreateUserRequestJson = UserInput\nexport type CreateUser201 = User\nexport const CreateUser201 = User\nexport type CreateUserdefault = Error\nexport const CreateUserdefault = Error\nexport type GetUser200 = User\nexport const GetUser200 = User\nexport type GetUserdefault = Error\nexport const GetUserdefault = Error\nexport type DisableUser200 = User\nexport const DisableUser200 = User\nexport type DisableUserdefault = Error\nexport const DisableUserdefault = Error\nexport type UpdateUserRequestJson = UserInput\nexport const UpdateUserRequestJson = UserInput\nexport type UpdateUser200 = User\nexport const UpdateUser200 = User\nexport type UpdateUserdefault = Error\nexport const UpdateUserdefault = Error\nexport type RestoreUser200 = User\nexport const RestoreUser200 = User\nexport type RestoreUserdefault = Error\nexport const RestoreUserdefault = Error\nexport type CreateUserInvitation201 = UserInvitation\nexport const CreateUserInvitation201 = UserInvitation\nexport type CreateUserInvitationdefault = Error\nexport const CreateUserInvitationdefault = Error\nexport type ListUserMemberships200 = ReadonlyArray<TenantMembership>\nexport const ListUserMemberships200 = Schema.Array(TenantMembership)\nexport type ListUserMembershipsdefault = Error\nexport const ListUserMembershipsdefault = Error\nexport type ListTenantMemberships200 = ReadonlyArray<TenantMembership>\nexport const ListTenantMemberships200 = Schema.Array(TenantMembership)\nexport type ListTenantMembershipsdefault = Error\nexport const ListTenantMembershipsdefault = Error\nexport type UpsertTenantMembershipRequestJson = TenantMembershipInput\nexport const UpsertTenantMembershipRequestJson = TenantMembershipInput\nexport type UpsertTenantMembership200 = TenantMembership\nexport const UpsertTenantMembership200 = TenantMembership\nexport type UpsertTenantMembershipdefault = Error\nexport const UpsertTenantMembershipdefault = Error\nexport type DeleteTenantMembershipdefault = Error\nexport const DeleteTenantMembershipdefault = Error\nexport type ListAuditEventsParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"tenantId\"?: UUIDv7, readonly \"actorType\"?: PrincipalType, readonly \"actorId\"?: string, readonly \"action\"?: string, readonly \"resourceType\"?: string, readonly \"resourceId\"?: string }\nexport const ListAuditEventsParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"tenantId\": Schema.optionalKey(UUIDv7), \"actorType\": Schema.optionalKey(PrincipalType), \"actorId\": Schema.optionalKey(Schema.String), \"action\": Schema.optionalKey(Schema.String), \"resourceType\": Schema.optionalKey(Schema.String), \"resourceId\": Schema.optionalKey(Schema.String) })\nexport type ListAuditEvents200 = AuditEventPage\nexport const ListAuditEvents200 = AuditEventPage\nexport type ListAuditEventsdefault = Error\nexport const ListAuditEventsdefault = Error\nexport type ListAdminTokensParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"authorityType\"?: AuthorityType, readonly \"tenantId\"?: UUIDv7, readonly \"name\"?: string, readonly \"scope\"?: Scope, readonly \"revoked\"?: \"active\" | \"revoked\" | \"all\" }\nexport const ListAdminTokensParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"authorityType\": Schema.optionalKey(AuthorityType), \"tenantId\": Schema.optionalKey(UUIDv7), \"name\": Schema.optionalKey(Schema.String), \"scope\": Schema.optionalKey(Scope), \"revoked\": Schema.optionalKey(Schema.Literals([\"active\", \"revoked\", \"all\"]).annotate({ \"default\": \"all\" })) })\nexport type ListAdminTokens200 = TokenPage\nexport const ListAdminTokens200 = TokenPage\nexport type ListAdminTokensdefault = Error\nexport const ListAdminTokensdefault = Error\nexport type CreateAdminTokenRequestJson = CreateAdminTokenInput\nexport const CreateAdminTokenRequestJson = CreateAdminTokenInput\nexport type CreateAdminToken201 = CreateTokenResponse\nexport const CreateAdminToken201 = CreateTokenResponse\nexport type CreateAdminTokendefault = Error\nexport const CreateAdminTokendefault = Error\nexport type RevokeAdminTokendefault = Error\nexport const RevokeAdminTokendefault = Error\nexport type GetTenant200 = Tenant\nexport const GetTenant200 = Tenant\nexport type GetTenantdefault = Error\nexport const GetTenantdefault = Error\nexport type UpdateSelectedTenantRequestJson = TenantInput\nexport const UpdateSelectedTenantRequestJson = TenantInput\nexport type UpdateSelectedTenant200 = Tenant\nexport const UpdateSelectedTenant200 = Tenant\nexport type UpdateSelectedTenantdefault = Error\nexport const UpdateSelectedTenantdefault = Error\nexport type ListTenantTokensParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"name\"?: string, readonly \"scope\"?: Scope, readonly \"revoked\"?: \"active\" | \"revoked\" | \"all\" }\nexport const ListTenantTokensParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"name\": Schema.optionalKey(Schema.String), \"scope\": Schema.optionalKey(Scope), \"revoked\": Schema.optionalKey(Schema.Literals([\"active\", \"revoked\", \"all\"]).annotate({ \"default\": \"all\" })) })\nexport type ListTenantTokens200 = TokenPage\nexport const ListTenantTokens200 = TokenPage\nexport type ListTenantTokensdefault = Error\nexport const ListTenantTokensdefault = Error\nexport type CreateTenantTokenRequestJson = CreateTenantTokenInput\nexport const CreateTenantTokenRequestJson = CreateTenantTokenInput\nexport type CreateTenantToken201 = CreateTokenResponse\nexport const CreateTenantToken201 = CreateTokenResponse\nexport type CreateTenantTokendefault = Error\nexport const CreateTenantTokendefault = Error\nexport type RevokeTenantTokendefault = Error\nexport const RevokeTenantTokendefault = Error\nexport type ListSessionsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"includeDeleted\"?: boolean, readonly \"status\"?: SessionStatus, readonly \"tagKey\"?: ReadonlyArray<string>, readonly \"tagValue\"?: ReadonlyArray<string>, readonly \"tagOperator\"?: ReadonlyArray<\"eq\" | \"neq\" | \"in\" | \"not_in\"> }\nexport const ListSessionsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"includeDeleted\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })), \"status\": Schema.optionalKey(SessionStatus), \"tagKey\": Schema.optionalKey(Schema.Array(Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })))), \"tagValue\": Schema.optionalKey(Schema.Array(Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })))), \"tagOperator\": Schema.optionalKey(Schema.Array(Schema.Literals([\"eq\", \"neq\", \"in\", \"not_in\"]))) })\nexport type ListSessions200 = SessionPage\nexport const ListSessions200 = SessionPage\nexport type ListSessionsdefault = Error\nexport const ListSessionsdefault = Error\nexport type CreateSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"waitForReady\"?: boolean }\nexport const CreateSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"waitForReady\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": true })) })\nexport type CreateSessionRequestJson = CreateSessionInput\nexport const CreateSessionRequestJson = CreateSessionInput\nexport type CreateSession201 = CreateSessionResult\nexport const CreateSession201 = CreateSessionResult\nexport type CreateSessiondefault = Error\nexport const CreateSessiondefault = Error\nexport type GetSessionsBulkParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionsBulkParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSessionsBulkRequestJson = SessionBulkInput\nexport const GetSessionsBulkRequestJson = SessionBulkInput\nexport type GetSessionsBulk200 = SessionBulkResponse\nexport const GetSessionsBulk200 = SessionBulkResponse\nexport type GetSessionsBulkdefault = Error\nexport const GetSessionsBulkdefault = Error\nexport type GetSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSession200 = Session\nexport const GetSession200 = Session\nexport type GetSessiondefault = Error\nexport const GetSessiondefault = Error\nexport type DeleteSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const DeleteSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type DeleteSession200 = SessionMutation\nexport const DeleteSession200 = SessionMutation\nexport type DeleteSessiondefault = Error\nexport const DeleteSessiondefault = Error\nexport type ReplaceSessionTagsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ReplaceSessionTagsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ReplaceSessionTagsRequestJson = ReplaceTagsInput\nexport const ReplaceSessionTagsRequestJson = ReplaceTagsInput\nexport type ReplaceSessionTags200 = SessionMutation\nexport const ReplaceSessionTags200 = SessionMutation\nexport type ReplaceSessionTagsdefault = Error\nexport const ReplaceSessionTagsdefault = Error\nexport type UpdateSessionProxyParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const UpdateSessionProxyParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type UpdateSessionProxyRequestJson = UpdateProxyAssignment\nexport const UpdateSessionProxyRequestJson = UpdateProxyAssignment\nexport type UpdateSessionProxy200 = SessionMutation\nexport const UpdateSessionProxy200 = SessionMutation\nexport type UpdateSessionProxydefault = Error\nexport const UpdateSessionProxydefault = Error\nexport type SuspendSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const SuspendSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type SuspendSession200 = SessionMutation\nexport const SuspendSession200 = SessionMutation\nexport type SuspendSessiondefault = Error\nexport const SuspendSessiondefault = Error\nexport type ReopenSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ReopenSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ReopenSession200 = SessionMutation\nexport const ReopenSession200 = SessionMutation\nexport type ReopenSessiondefault = Error\nexport const ReopenSessiondefault = Error\nexport type RotateSessionTokenParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const RotateSessionTokenParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type RotateSessionToken200 = SessionMutation\nexport const RotateSessionToken200 = SessionMutation\nexport type RotateSessionTokendefault = Error\nexport const RotateSessionTokendefault = Error\nexport type RotateCollaborationCapabilityParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const RotateCollaborationCapabilityParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type RotateCollaborationCapability200 = SessionMutation\nexport const RotateCollaborationCapability200 = SessionMutation\nexport type RotateCollaborationCapabilitydefault = Error\nexport const RotateCollaborationCapabilitydefault = Error\nexport type GetSessionCursorParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionCursorParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSessionCursor200 = CursorVisibility\nexport const GetSessionCursor200 = CursorVisibility\nexport type GetSessionCursordefault = Error\nexport const GetSessionCursordefault = Error\nexport type SetSessionCursorParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const SetSessionCursorParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type SetSessionCursorRequestJson = CursorVisibility\nexport const SetSessionCursorRequestJson = CursorVisibility\nexport type SetSessionCursor200 = CursorVisibility\nexport const SetSessionCursor200 = CursorVisibility\nexport type SetSessionCursordefault = Error\nexport const SetSessionCursordefault = Error\nexport type ListSessionRecordingsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ListSessionRecordingsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ListSessionRecordings200 = ReadonlyArray<Recording>\nexport const ListSessionRecordings200 = Schema.Array(Recording)\nexport type ListSessionRecordingsdefault = Error\nexport const ListSessionRecordingsdefault = Error\nexport type CreateSessionRecordingParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const CreateSessionRecordingParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type CreateSessionRecordingRequestJson = CreateSessionRecordingInput\nexport const CreateSessionRecordingRequestJson = CreateSessionRecordingInput\nexport type CreateSessionRecording201 = Recording\nexport const CreateSessionRecording201 = Recording\nexport type CreateSessionRecordingdefault = Error\nexport const CreateSessionRecordingdefault = Error\nexport type GetSessionRecordingParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionRecordingParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSessionRecording200 = Recording\nexport const GetSessionRecording200 = Recording\nexport type GetSessionRecordingdefault = Error\nexport const GetSessionRecordingdefault = Error\nexport type RetargetSessionRecordingParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const RetargetSessionRecordingParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type RetargetSessionRecordingRequestJson = RetargetSessionRecordingInput\nexport const RetargetSessionRecordingRequestJson = RetargetSessionRecordingInput\nexport type RetargetSessionRecording200 = Recording\nexport const RetargetSessionRecording200 = Recording\nexport type RetargetSessionRecordingdefault = Error\nexport const RetargetSessionRecordingdefault = Error\nexport type StopSessionRecordingParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const StopSessionRecordingParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type StopSessionRecording200 = SessionFile\nexport const StopSessionRecording200 = SessionFile\nexport type StopSessionRecordingdefault = Error\nexport const StopSessionRecordingdefault = Error\nexport type CreateSessionFileDownloadURLParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const CreateSessionFileDownloadURLParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type CreateSessionFileDownloadURLRequestJson = SessionFileDownloadURLInput\nexport const CreateSessionFileDownloadURLRequestJson = SessionFileDownloadURLInput\nexport type CreateSessionFileDownloadURL200 = SessionFileDownloadURL\nexport const CreateSessionFileDownloadURL200 = SessionFileDownloadURL\nexport type CreateSessionFileDownloadURLdefault = Error\nexport const CreateSessionFileDownloadURLdefault = Error\nexport type PromoteSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const PromoteSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type PromoteSessionRequestJson = PromoteSessionInput\nexport const PromoteSessionRequestJson = PromoteSessionInput\nexport type PromoteSession200 = SnapshotMutation\nexport const PromoteSession200 = SnapshotMutation\nexport type PromoteSessiondefault = Error\nexport const PromoteSessiondefault = Error\nexport type ListSnapshotsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"name\"?: string, readonly \"deleted\"?: \"active\" | \"deleted\" | \"all\", readonly \"includeDeleted\"?: boolean, readonly \"tagKey\"?: ReadonlyArray<string>, readonly \"tagValue\"?: ReadonlyArray<string>, readonly \"tagOperator\"?: ReadonlyArray<\"eq\" | \"neq\" | \"in\" | \"not_in\"> }\nexport const ListSnapshotsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"name\": Schema.optionalKey(Schema.String), \"deleted\": Schema.optionalKey(Schema.Literals([\"active\", \"deleted\", \"all\"]).annotate({ \"default\": \"active\" })), \"includeDeleted\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })), \"tagKey\": Schema.optionalKey(Schema.Array(Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })))), \"tagValue\": Schema.optionalKey(Schema.Array(Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })))), \"tagOperator\": Schema.optionalKey(Schema.Array(Schema.Literals([\"eq\", \"neq\", \"in\", \"not_in\"]))) })\nexport type ListSnapshots200 = SnapshotPage\nexport const ListSnapshots200 = SnapshotPage\nexport type ListSnapshotsdefault = Error\nexport const ListSnapshotsdefault = Error\nexport type DeleteSnapshotParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const DeleteSnapshotParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type DeleteSnapshot200 = SnapshotMutation\nexport const DeleteSnapshot200 = SnapshotMutation\nexport type DeleteSnapshotdefault = Error\nexport const DeleteSnapshotdefault = Error\nexport type UpdateSnapshotParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const UpdateSnapshotParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type UpdateSnapshotRequestJson = UpdateSnapshotInput\nexport const UpdateSnapshotRequestJson = UpdateSnapshotInput\nexport type UpdateSnapshot200 = SnapshotMutation\nexport const UpdateSnapshot200 = SnapshotMutation\nexport type UpdateSnapshotdefault = Error\nexport const UpdateSnapshotdefault = Error\nexport type ReplaceSnapshotTagsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ReplaceSnapshotTagsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ReplaceSnapshotTagsRequestJson = ReplaceTagsInput\nexport const ReplaceSnapshotTagsRequestJson = ReplaceTagsInput\nexport type ReplaceSnapshotTags200 = SnapshotMutation\nexport const ReplaceSnapshotTags200 = SnapshotMutation\nexport type ReplaceSnapshotTagsdefault = Error\nexport const ReplaceSnapshotTagsdefault = Error\nexport type RestoreSnapshotParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const RestoreSnapshotParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type RestoreSnapshot200 = SnapshotMutation\nexport const RestoreSnapshot200 = SnapshotMutation\nexport type RestoreSnapshotdefault = Error\nexport const RestoreSnapshotdefault = Error\nexport type ListEventsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"resourceType\"?: string, readonly \"resourceId\"?: string }\nexport const ListEventsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"resourceType\": Schema.optionalKey(Schema.String), \"resourceId\": Schema.optionalKey(Schema.String) })\nexport type ListEvents200 = EventPage\nexport const ListEvents200 = EventPage\nexport type ListEventsdefault = Error\nexport const ListEventsdefault = Error\n\nexport interface OperationConfig {\n /**\n * Whether or not the response should be included in the value returned from\n * an operation.\n *\n * If set to `true`, a tuple of `[A, HttpClientResponse]` will be returned,\n * where `A` is the success type of the operation.\n *\n * If set to `false`, only the success type of the operation will be returned.\n */\n readonly includeResponse?: boolean | undefined\n}\n\n/**\n * A utility type which optionally includes the response in the return result\n * of an operation based upon the value of the `includeResponse` configuration\n * option.\n */\nexport type WithOptionalResponse<A, Config extends OperationConfig> = Config extends {\n readonly includeResponse: true\n} ? [A, HttpClientResponse.HttpClientResponse] : A\n\nexport const make = (\n httpClient: HttpClient.HttpClient,\n options: {\n readonly transformClient?: ((client: HttpClient.HttpClient) => Effect.Effect<HttpClient.HttpClient>) | undefined\n } = {}\n): ApertureApi => {\n const unexpectedStatus = (response: HttpClientResponse.HttpClientResponse) =>\n Effect.flatMap(\n Effect.orElseSucceed(response.json, () => \"Unexpected status code\"),\n (description) =>\n Effect.fail(\n new HttpClientError.HttpClientError({\n reason: new HttpClientError.StatusCodeError({\n request: response.request,\n response,\n description: typeof description === \"string\" ? description : JSON.stringify(description),\n }),\n }),\n ),\n )\n const withResponse = <Config extends OperationConfig>(config: Config | undefined) => (\n f: (response: HttpClientResponse.HttpClientResponse) => Effect.Effect<any, any>,\n ): (request: HttpClientRequest.HttpClientRequest) => Effect.Effect<any, any> => {\n const withOptionalResponse = (\n config?.includeResponse\n ? (response: HttpClientResponse.HttpClientResponse) => Effect.map(f(response), (a) => [a, response])\n : (response: HttpClientResponse.HttpClientResponse) => f(response)\n ) as any\n return options?.transformClient\n ? (request) =>\n Effect.flatMap(\n Effect.flatMap(options.transformClient!(httpClient), (client) => client.execute(request)),\n withOptionalResponse\n )\n : (request) => Effect.flatMap(httpClient.execute(request), withOptionalResponse)\n }\n const __encodePathParam = encodeURIComponent\n const __makePathRequest = (\n method: (url: string) => HttpClientRequest.HttpClientRequest,\n parameters: ReadonlyArray<string>,\n getPath: () => string,\n ) => Effect.suspend(() => {\n const fail = (description: string, cause?: unknown) => Effect.fail(\n new HttpClientError.HttpClientError({\n reason: new HttpClientError.InvalidUrlError({\n request: method(\"\"),\n cause,\n description,\n }),\n }),\n )\n if (parameters.some((value) => value === \"\" || /^(?:\\.|%2e){1,2}$/i.test(value))) {\n return fail(\"Path parameters must be non-empty and cannot be dot segments\")\n }\n let path: string\n try {\n path = getPath()\n } catch (cause) {\n return fail(\"Failed to encode path parameter\", cause)\n }\n if (path.split(\"/\").some((segment) => /^(?:\\.|%2e){1,2}$/i.test(segment))) {\n return fail(\"Request paths cannot contain dot segments\")\n }\n return Effect.succeed(method(path))\n })\n const decodeSuccess =\n <Schema extends Schema.Constraint>(schema: Schema) =>\n (response: HttpClientResponse.HttpClientResponse) =>\n HttpClientResponse.schemaBodyJson(schema)(response)\n const decodeError =\n <const Tag extends string, Schema extends Schema.Constraint>(tag: Tag, schema: Schema) =>\n (response: HttpClientResponse.HttpClientResponse) =>\n Effect.flatMap(\n HttpClientResponse.schemaBodyJson(schema)(response),\n (cause) => Effect.fail(ApertureApiError(tag, cause, response)),\n )\n return {\n httpClient,\n \"getHealth\": (options) => HttpClientRequest.get(\"/api/health\").pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetHealth200),\n orElse: unexpectedStatus\n }))\n ),\n \"getCurrentPrincipal\": (options) => HttpClientRequest.get(\"/api/auth/me\").pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetCurrentPrincipal200),\n orElse: unexpectedStatus\n }))\n ),\n \"listBrowserChannels\": (options) => HttpClientRequest.get(\"/api/browser/channels\").pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListBrowserChannels200),\n orElse: unexpectedStatus\n }))\n ),\n \"listTenants\": (options) => HttpClientRequest.get(\"/api/admin/tenants\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"deleted\": options?.params?.[\"deleted\"] as any, \"includeDeleted\": options?.params?.[\"includeDeleted\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListTenants200),\n orElse: unexpectedStatus\n }))\n ),\n \"createTenant\": (options) => HttpClientRequest.post(\"/api/admin/tenants\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateTenant201),\n orElse: unexpectedStatus\n }))\n ),\n \"deleteTenant\": (tenantId, options) => __makePathRequest(HttpClientRequest.delete, [tenantId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DeleteTenant200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"updateTenant\": (tenantId, options) => __makePathRequest(HttpClientRequest.patch, [tenantId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateTenant200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"restoreTenant\": (tenantId, options) => __makePathRequest(HttpClientRequest.post, [tenantId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"/restore\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RestoreTenant200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listUsers\": (options) => HttpClientRequest.get(\"/api/admin/users\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"query\": options?.params?.[\"query\"] as any, \"disabled\": options?.params?.[\"disabled\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListUsers200),\n orElse: unexpectedStatus\n }))\n ),\n \"createUser\": (options) => HttpClientRequest.post(\"/api/admin/users\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateUser201),\n orElse: unexpectedStatus\n }))\n ),\n \"getUser\": (userId, options) => __makePathRequest(HttpClientRequest.get, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetUser200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"disableUser\": (userId, options) => __makePathRequest(HttpClientRequest.delete, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DisableUser200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"updateUser\": (userId, options) => __makePathRequest(HttpClientRequest.patch, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateUser200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"restoreUser\": (userId, options) => __makePathRequest(HttpClientRequest.post, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"/restore\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RestoreUser200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"createUserInvitation\": (userId, options) => __makePathRequest(HttpClientRequest.post, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"/invitation\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateUserInvitation201),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listUserMemberships\": (userId, options) => __makePathRequest(HttpClientRequest.get, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"/memberships\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListUserMemberships200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listTenantMemberships\": (tenantId, options) => __makePathRequest(HttpClientRequest.get, [tenantId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"/memberships\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListTenantMemberships200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"upsertTenantMembership\": (tenantId, userId, options) => __makePathRequest(HttpClientRequest.put, [tenantId, userId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"/memberships/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpsertTenantMembership200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"deleteTenantMembership\": (tenantId, userId, options) => __makePathRequest(HttpClientRequest.delete, [tenantId, userId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"/memberships/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DeleteTenantMembershipdefault),\n \"204\": () => Effect.void,\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listAuditEvents\": (options) => HttpClientRequest.get(\"/api/admin/audit-events\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"tenantId\": options?.params?.[\"tenantId\"] as any, \"actorType\": options?.params?.[\"actorType\"] as any, \"actorId\": options?.params?.[\"actorId\"] as any, \"action\": options?.params?.[\"action\"] as any, \"resourceType\": options?.params?.[\"resourceType\"] as any, \"resourceId\": options?.params?.[\"resourceId\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListAuditEvents200),\n orElse: unexpectedStatus\n }))\n ),\n \"listAdminTokens\": (options) => HttpClientRequest.get(\"/api/admin/tokens\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"authorityType\": options?.params?.[\"authorityType\"] as any, \"tenantId\": options?.params?.[\"tenantId\"] as any, \"name\": options?.params?.[\"name\"] as any, \"scope\": options?.params?.[\"scope\"] as any, \"revoked\": options?.params?.[\"revoked\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListAdminTokens200),\n orElse: unexpectedStatus\n }))\n ),\n \"createAdminToken\": (options) => HttpClientRequest.post(\"/api/admin/tokens\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateAdminToken201),\n orElse: unexpectedStatus\n }))\n ),\n \"revokeAdminToken\": (tokenId, options) => __makePathRequest(HttpClientRequest.post, [tokenId], () => \"/api/admin/tokens/\" + __encodePathParam(tokenId) + \"/revoke\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RevokeAdminTokendefault),\n \"204\": () => Effect.void,\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"getTenant\": (options) => HttpClientRequest.get(\"/api/tenant\").pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetTenant200),\n orElse: unexpectedStatus\n }))\n ),\n \"updateSelectedTenant\": (options) => HttpClientRequest.patch(\"/api/tenant\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateSelectedTenant200),\n orElse: unexpectedStatus\n }))\n ),\n \"listTenantTokens\": (options) => HttpClientRequest.get(\"/api/tenant/tokens\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"name\": options?.params?.[\"name\"] as any, \"scope\": options?.params?.[\"scope\"] as any, \"revoked\": options?.params?.[\"revoked\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListTenantTokens200),\n orElse: unexpectedStatus\n }))\n ),\n \"createTenantToken\": (options) => HttpClientRequest.post(\"/api/tenant/tokens\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateTenantToken201),\n orElse: unexpectedStatus\n }))\n ),\n \"revokeTenantToken\": (tokenId, options) => __makePathRequest(HttpClientRequest.post, [tokenId], () => \"/api/tenant/tokens/\" + __encodePathParam(tokenId) + \"/revoke\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RevokeTenantTokendefault),\n \"204\": () => Effect.void,\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listSessions\": (options) => HttpClientRequest.get(\"/api/sessions\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"includeDeleted\": options?.params?.[\"includeDeleted\"] as any, \"status\": options?.params?.[\"status\"] as any, \"tagKey\": options?.params?.[\"tagKey\"] as any, \"tagValue\": options?.params?.[\"tagValue\"] as any, \"tagOperator\": options?.params?.[\"tagOperator\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListSessions200),\n orElse: unexpectedStatus\n }))\n ),\n \"createSession\": (options) => HttpClientRequest.post(\"/api/sessions\").pipe(\n HttpClientRequest.setUrlParams({ \"waitForReady\": options.params?.[\"waitForReady\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateSession201),\n orElse: unexpectedStatus\n }))\n ),\n \"getSessionsBulk\": (options) => HttpClientRequest.post(\"/api/sessions/bulk\").pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSessionsBulk200),\n orElse: unexpectedStatus\n }))\n ),\n \"getSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.get, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"deleteSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.delete, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DeleteSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"replaceSessionTags\": (sessionId, options) => __makePathRequest(HttpClientRequest.put, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/tags\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ReplaceSessionTags200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"updateSessionProxy\": (sessionId, options) => __makePathRequest(HttpClientRequest.put, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/proxy\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateSessionProxy200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"suspendSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/suspend\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(SuspendSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"reopenSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/reopen\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ReopenSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"rotateSessionToken\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/session-token/rotate\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RotateSessionToken200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"rotateCollaborationCapability\": (sessionId, role, options) => __makePathRequest(HttpClientRequest.post, [sessionId, role], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/collaboration-capabilities/\" + __encodePathParam(role) + \"/rotate\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RotateCollaborationCapability200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"getSessionCursor\": (sessionId, options) => __makePathRequest(HttpClientRequest.get, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/cursor\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSessionCursor200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"setSessionCursor\": (sessionId, options) => __makePathRequest(HttpClientRequest.put, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/cursor\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(SetSessionCursor200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listSessionRecordings\": (sessionId, options) => __makePathRequest(HttpClientRequest.get, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListSessionRecordings200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"createSessionRecording\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateSessionRecording201),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"getSessionRecording\": (sessionId, recordingId, options) => __makePathRequest(HttpClientRequest.get, [sessionId, recordingId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings/\" + __encodePathParam(recordingId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSessionRecording200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"retargetSessionRecording\": (sessionId, recordingId, options) => __makePathRequest(HttpClientRequest.post, [sessionId, recordingId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings/\" + __encodePathParam(recordingId) + \"/retarget\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RetargetSessionRecording200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"stopSessionRecording\": (sessionId, recordingId, options) => __makePathRequest(HttpClientRequest.post, [sessionId, recordingId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings/\" + __encodePathParam(recordingId) + \"/stop\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(StopSessionRecording200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"createSessionFileDownloadURL\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/files/download-url\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateSessionFileDownloadURL200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"promoteSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/promote\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(PromoteSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listSnapshots\": (options) => HttpClientRequest.get(\"/api/snapshots\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"name\": options?.params?.[\"name\"] as any, \"deleted\": options?.params?.[\"deleted\"] as any, \"includeDeleted\": options?.params?.[\"includeDeleted\"] as any, \"tagKey\": options?.params?.[\"tagKey\"] as any, \"tagValue\": options?.params?.[\"tagValue\"] as any, \"tagOperator\": options?.params?.[\"tagOperator\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListSnapshots200),\n orElse: unexpectedStatus\n }))\n ),\n \"deleteSnapshot\": (name, options) => __makePathRequest(HttpClientRequest.delete, [name], () => \"/api/snapshots/\" + __encodePathParam(name) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DeleteSnapshot200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"updateSnapshot\": (name, options) => __makePathRequest(HttpClientRequest.patch, [name], () => \"/api/snapshots/\" + __encodePathParam(name) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateSnapshot200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"replaceSnapshotTags\": (name, options) => __makePathRequest(HttpClientRequest.put, [name], () => \"/api/snapshots/\" + __encodePathParam(name) + \"/tags\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ReplaceSnapshotTags200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"restoreSnapshot\": (name, options) => __makePathRequest(HttpClientRequest.post, [name], () => \"/api/snapshots/\" + __encodePathParam(name) + \"/restore\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RestoreSnapshot200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listEvents\": (options) => HttpClientRequest.get(\"/api/events\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"resourceType\": options?.params?.[\"resourceType\"] as any, \"resourceId\": options?.params?.[\"resourceId\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListEvents200),\n orElse: unexpectedStatus\n }))\n )\n }\n}\n\nexport interface ApertureApi {\n readonly httpClient: HttpClient.HttpClient\n /**\n* Local process health and blue-green deployment state, including inactive colors.\n*/\nreadonly \"getHealth\": <Config extends OperationConfig>(options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetHealth200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Token metadata and effective tenant selection. A system administrator without an explicit selection receives the first active tenant.\n*/\nreadonly \"getCurrentPrincipal\": <Config extends OperationConfig>(options: { readonly params?: typeof GetCurrentPrincipalParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetCurrentPrincipal200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Browser channels accepted by session creation.\n*/\nreadonly \"listBrowserChannels\": <Config extends OperationConfig>(options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListBrowserChannels200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first tenant list.\n*/\nreadonly \"listTenants\": <Config extends OperationConfig>(options: { readonly params?: typeof ListTenantsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListTenants200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates a tenant with a generated UUIDv7 identifier.\n*/\nreadonly \"createTenant\": <Config extends OperationConfig>(options: { readonly payload: typeof CreateTenantRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateTenant201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Deactivates a tenant and revokes its tenant tokens. Idempotent.\n*/\nreadonly \"deleteTenant\": <Config extends OperationConfig>(tenantId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DeleteTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces the display name of an active tenant.\n*/\nreadonly \"updateTenant\": <Config extends OperationConfig>(tenantId: string, options: { readonly payload: typeof UpdateTenantRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Restores a tenant. Revoked tokens remain revoked.\n*/\nreadonly \"restoreTenant\": <Config extends OperationConfig>(tenantId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RestoreTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* List users\n*/\nreadonly \"listUsers\": <Config extends OperationConfig>(options: { readonly params?: typeof ListUsersParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListUsers200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Create a user\n*/\nreadonly \"createUser\": <Config extends OperationConfig>(options: { readonly payload: typeof CreateUserRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateUser201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Get a user\n*/\nreadonly \"getUser\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetUser200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Disable a user\n*/\nreadonly \"disableUser\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DisableUser200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Update a user\n*/\nreadonly \"updateUser\": <Config extends OperationConfig>(userId: string, options: { readonly payload: typeof UpdateUserRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateUser200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Restore a user\n*/\nreadonly \"restoreUser\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RestoreUser200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates a setup or reset link for an active user with an email address. Replaces any outstanding password link. The raw token is returned only once and expires after seven days.\n*/\nreadonly \"createUserInvitation\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof CreateUserInvitation201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* List a user's tenant memberships\n*/\nreadonly \"listUserMemberships\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListUserMemberships200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* List tenant memberships\n*/\nreadonly \"listTenantMemberships\": <Config extends OperationConfig>(tenantId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListTenantMemberships200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Create or update a tenant membership\n*/\nreadonly \"upsertTenantMembership\": <Config extends OperationConfig>(tenantId: string, userId: string, options: { readonly payload: typeof UpsertTenantMembershipRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpsertTenantMembership200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Delete a tenant membership\n*/\nreadonly \"deleteTenantMembership\": <Config extends OperationConfig>(tenantId: string, userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DeleteTenantMembershipdefault.Type | void, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* List security audit events\n*/\nreadonly \"listAuditEvents\": <Config extends OperationConfig>(options: { readonly params?: typeof ListAuditEventsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListAuditEvents200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first token metadata. Raw tokens are never included.\n*/\nreadonly \"listAdminTokens\": <Config extends OperationConfig>(options: { readonly params?: typeof ListAdminTokensParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListAdminTokens200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates an administrator or tenant token within the caller's authority. Only tenant tokens may use a resource allowlist. A child created by an expiring or resource-restricted API token cannot exceed its parent's expiry, scopes, or resource grants. The raw token is returned once.\n*/\nreadonly \"createAdminToken\": <Config extends OperationConfig>(options: { readonly payload: typeof CreateAdminTokenRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateAdminToken201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Revokes an API token. Idempotent.\n*/\nreadonly \"revokeAdminToken\": <Config extends OperationConfig>(tokenId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RevokeAdminTokendefault.Type | void, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Tenant bound to the authenticated tenant token.\n*/\nreadonly \"getTenant\": <Config extends OperationConfig>(options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces the bound tenant's display name.\n*/\nreadonly \"updateSelectedTenant\": <Config extends OperationConfig>(options: { readonly payload: typeof UpdateSelectedTenantRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateSelectedTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Token metadata for the caller's tenant. Raw tokens are never included.\n*/\nreadonly \"listTenantTokens\": <Config extends OperationConfig>(options: { readonly params?: typeof ListTenantTokensParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListTenantTokens200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates a token bound to the caller's tenant. Child scopes and resource grants cannot exceed the caller's authority, and a child created by an expiring API token cannot outlive its parent. The raw token is returned once.\n*/\nreadonly \"createTenantToken\": <Config extends OperationConfig>(options: { readonly payload: typeof CreateTenantTokenRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateTenantToken201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Revokes a tenant-owned token. Missing and foreign IDs both return not found. Idempotent.\n*/\nreadonly \"revokeTenantToken\": <Config extends OperationConfig>(tokenId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RevokeTenantTokendefault.Type | void, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first sessions. A resource-restricted token receives only granted sessions; filtering occurs before pagination. Credentials are included only while available and must be treated as secrets.\n*/\nreadonly \"listSessions\": <Config extends OperationConfig>(options: { readonly params?: typeof ListSessionsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListSessions200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Starts a browser with a retained overlay, then optionally imports browser storage and replaces the startup page with initial browser targets. Imported storage overlays the base snapshot. Set `waitForReady=false` to receive the session and its credentials in the `creating` state while startup continues. A resource-restricted token may start a blank session or use a granted base snapshot. The new session is not added to its resource allowlist, but the returned session token remains usable. Failed startup may leave a reopenable `failed` session.\n*/\nreadonly \"createSession\": <Config extends OperationConfig>(options: { readonly params?: typeof CreateSessionParams.Encoded | undefined; readonly payload: typeof CreateSessionRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateSession201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Returns up to 100 sessions in request order. Missing, foreign, deleted, and ungranted sessions are omitted before results are returned.\n*/\nreadonly \"getSessionsBulk\": <Config extends OperationConfig>(options: { readonly params?: typeof GetSessionsBulkParams.Encoded | undefined; readonly payload: typeof GetSessionsBulkRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof GetSessionsBulk200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Session metadata and current credentials when available.\n*/\nreadonly \"getSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof GetSessionParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Stops and marks the session `deleted`. The retained overlay remains reopenable until `expiresAt`.\n*/\nreadonly \"deleteSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof DeleteSessionParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DeleteSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces all session tags. Send an empty map to clear them.\n*/\nreadonly \"replaceSessionTags\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof ReplaceSessionTagsParams.Encoded | undefined; readonly payload: typeof ReplaceSessionTagsRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof ReplaceSessionTags200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces the session egress proxy assignment. The change applies to new connections; existing connections finish on the previous assignment unless `drain` resets live tunnel streams. Secrets are write-only — tunnel auth is never returned and upstream proxy passwords come back masked.\n*/\nreadonly \"updateSessionProxy\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof UpdateSessionProxyParams.Encoded | undefined; readonly payload: typeof UpdateSessionProxyRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateSessionProxy200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Stops a `running` session, retains its overlay, and resets retention.\n*/\nreadonly \"suspendSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof SuspendSessionParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof SuspendSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Restarts a retained `deleted` or `failed` session and returns fresh credentials.\n*/\nreadonly \"reopenSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof ReopenSessionParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ReopenSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces the access token of a `running` session and invalidates the old token.\n*/\nreadonly \"rotateSessionToken\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof RotateSessionTokenParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RotateSessionToken200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces one role-scoped sharing secret without invalidating the other role or owner credentials.\n*/\nreadonly \"rotateCollaborationCapability\": <Config extends OperationConfig>(sessionId: string, role: string, options: { readonly params?: typeof RotateCollaborationCapabilityParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RotateCollaborationCapability200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Returns whether the remote browser cursor is composited into the live stream and recordings.\n*/\nreadonly \"getSessionCursor\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof GetSessionCursorParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetSessionCursor200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Enables or disables compositing the remote browser cursor into the live stream and recordings.\n*/\nreadonly \"setSessionCursor\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof SetSessionCursorParams.Encoded | undefined; readonly payload: typeof SetSessionCursorRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof SetSessionCursor200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Lists logical recordings without exposing host filesystem paths.\n*/\nreadonly \"listSessionRecordings\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof ListSessionRecordingsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListSessionRecordings200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Starts a tab recording of one ready top-level target.\n*/\nreadonly \"createSessionRecording\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof CreateSessionRecordingParams.Encoded | undefined; readonly payload: typeof CreateSessionRecordingRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateSessionRecording201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Returns one logical recording and its current top-level target without exposing host filesystem paths.\n*/\nreadonly \"getSessionRecording\": <Config extends OperationConfig>(sessionId: string, recordingId: string, options: { readonly params?: typeof GetSessionRecordingParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetSessionRecording200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Moves a running tab recording to another ready top-level target while preserving its recording ID, timeline, and settings. Sending its current target is idempotent. Viewer, stopped, and failed recordings conflict.\n*/\nreadonly \"retargetSessionRecording\": <Config extends OperationConfig>(sessionId: string, recordingId: string, options: { readonly params?: typeof RetargetSessionRecordingParams.Encoded | undefined; readonly payload: typeof RetargetSessionRecordingRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof RetargetSessionRecording200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Stops the selected recording without transferring its media data and returns the resulting session file.\n*/\nreadonly \"stopSessionRecording\": <Config extends OperationConfig>(sessionId: string, recordingId: string, options: { readonly params?: typeof StopSessionRecordingParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof StopSessionRecording200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates a signed URL for one retained session file. Anyone with the URL can download the file until it expires.\n*/\nreadonly \"createSessionFileDownloadURL\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof CreateSessionFileDownloadURLParams.Encoded | undefined; readonly payload: typeof CreateSessionFileDownloadURLRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateSessionFileDownloadURL200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Promotes a retained `deleted`, `failed`, or `suspended` session. Deleted snapshot names are reused automatically. `force=true` replaces an active snapshot with the requested name. Reusing or replacing a name requires its grant for resource-restricted tokens; the resulting snapshot is not added to the token's allowlist.\n*/\nreadonly \"promoteSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof PromoteSessionParams.Encoded | undefined; readonly payload: typeof PromoteSessionRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof PromoteSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first snapshots. A resource-restricted token receives only granted snapshots; filtering occurs before pagination. Tag predicates use logical AND.\n*/\nreadonly \"listSnapshots\": <Config extends OperationConfig>(options: { readonly params?: typeof ListSnapshotsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListSnapshots200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Soft-deletes a snapshot. Existing sessions are unaffected; new sessions cannot use it. Idempotent.\n*/\nreadonly \"deleteSnapshot\": <Config extends OperationConfig>(name: string, options: { readonly params?: typeof DeleteSnapshotParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DeleteSnapshot200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces or clears a retained snapshot description.\n*/\nreadonly \"updateSnapshot\": <Config extends OperationConfig>(name: string, options: { readonly params?: typeof UpdateSnapshotParams.Encoded | undefined; readonly payload: typeof UpdateSnapshotRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateSnapshot200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces all tags on a retained snapshot. Send an empty map to clear them.\n*/\nreadonly \"replaceSnapshotTags\": <Config extends OperationConfig>(name: string, options: { readonly params?: typeof ReplaceSnapshotTagsParams.Encoded | undefined; readonly payload: typeof ReplaceSnapshotTagsRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof ReplaceSnapshotTags200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Clears snapshot deletion and expiry markers.\n*/\nreadonly \"restoreSnapshot\": <Config extends OperationConfig>(name: string, options: { readonly params?: typeof RestoreSnapshotParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RestoreSnapshot200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first tenant events. A resource-restricted token receives only events for granted sessions and snapshots; filtering occurs before pagination. `resourceType` and `resourceId` are exact-match filters.\n*/\nreadonly \"listEvents\": <Config extends OperationConfig>(options: { readonly params?: typeof ListEventsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListEvents200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n}\n\nexport interface ApertureApiError<Tag extends string, E> {\n readonly _tag: Tag\n readonly request: HttpClientRequest.HttpClientRequest\n readonly response: HttpClientResponse.HttpClientResponse\n readonly cause: E\n}\n\nclass ApertureApiErrorImpl extends Data.Error<{\n _tag: string\n cause: any\n request: HttpClientRequest.HttpClientRequest\n response: HttpClientResponse.HttpClientResponse\n}> {}\n\nexport const ApertureApiError = <Tag extends string, E>(\n tag: Tag,\n cause: E,\n response: HttpClientResponse.HttpClientResponse,\n): ApertureApiError<Tag, E> =>\n new ApertureApiErrorImpl({\n _tag: tag,\n cause,\n response,\n request: response.request,\n }) as any\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/api.gen.ts"],"sourcesContent":["// Generated by packages/api-schema/scripts/generate.ts from api/openapi.yaml. Do not edit.\n// @ts-nocheck\nimport * as Data from \"effect/Data\"\nimport * as Effect from \"effect/Effect\"\nimport type { SchemaError } from \"effect/Schema\"\nimport * as Redacted from \"effect/Redacted\"\nimport * as Schema from \"effect/Schema\"\nimport * as Stream from \"effect/Stream\"\nimport * as HttpClient from \"effect/http/HttpClient\"\nimport * as HttpClientError from \"effect/http/HttpClientError\"\nimport * as HttpClientRequest from \"effect/http/HttpClientRequest\"\nimport * as HttpClientResponse from \"effect/http/HttpClientResponse\"\n// non-recursive definitions\nexport type Health = { readonly \"status\": \"ok\", readonly \"color\": \"blue\" | \"green\", readonly \"role\": \"active\" | \"inactive\", readonly \"version\": string, readonly \"activeColor\": \"blue\" | \"green\" }\nexport const Health = Schema.Struct({ \"status\": Schema.Literal(\"ok\").annotate({ \"description\": \"Process health. A successful response currently reports `ok`.\" }), \"color\": Schema.Literals([\"blue\", \"green\"]).annotate({ \"description\": \"Deployment color of the process that handled the request.\" }), \"role\": Schema.Literals([\"active\", \"inactive\"]).annotate({ \"description\": \"Whether this deployment color currently serves active traffic.\" }), \"version\": Schema.String.annotate({ \"description\": \"Build or release version embedded in the running binary.\", \"examples\": [\"1.4.0\"] }), \"activeColor\": Schema.Literals([\"blue\", \"green\"]).annotate({ \"description\": \"Deployment color currently selected as active.\" }) }).annotate({ \"description\": \"Local deployment health and blue-green role information.\", \"examples\": [{ \"status\": \"ok\", \"color\": \"blue\", \"role\": \"active\", \"version\": \"1.4.0\", \"activeColor\": \"blue\" }], \"identifier\": \"Health\" })\nexport type UUIDv7 = string\nexport const UUIDv7 = Schema.String.annotate({ \"description\": \"Time-ordered UUID version 7 generated by Aperture.\", \"examples\": [\"019f6cf0-0000-7000-8000-000000000001\"], \"format\": \"uuid\", \"identifier\": \"UUIDv7\" })\nexport type PrincipalType = \"api_token\" | \"user\" | \"system\"\nexport const PrincipalType = Schema.Literals([\"api_token\", \"user\", \"system\"]).annotate({ \"description\": \"Stable category of the authenticated or audited actor.\", \"examples\": [\"api_token\"], \"identifier\": \"PrincipalType\" })\nexport type AuthorityType = \"system_admin\" | \"tenant\"\nexport const AuthorityType = Schema.Literals([\"system_admin\", \"tenant\"]).annotate({ \"description\": \"Authorization boundary. `system_admin` principals may administer the deployment and select tenants. `tenant` principals act within one effective tenant.\\n\", \"examples\": [\"tenant\"], \"identifier\": \"AuthorityType\" })\nexport type Scope = \"system:admin\" | \"sessions:read\" | \"sessions:write\" | \"snapshots:read\" | \"snapshots:write\" | \"tenant:write\" | \"tenants:write\"\nexport const Scope = Schema.Literals([\"system:admin\", \"sessions:read\", \"sessions:write\", \"snapshots:read\", \"snapshots:write\", \"tenant:write\", \"tenants:write\"]).annotate({ \"description\": \"Permission granted to a principal. `system:admin` implies every scope. Tenant credentials and memberships cannot receive `system:admin` or `tenants:write`.\\n\", \"examples\": [\"sessions:write\"], \"identifier\": \"Scope\" })\nexport type ResourceMode = \"all\" | \"allowlist\"\nexport const ResourceMode = Schema.Literals([\"all\", \"allowlist\"]).annotate({ \"description\": \"Whether a tenant API token can access every tenant resource or only explicit grants.\", \"default\": \"all\", \"examples\": [\"allowlist\"], \"identifier\": \"ResourceMode\" })\nexport type ResourceType = \"session\" | \"snapshot\"\nexport const ResourceType = Schema.Literals([\"session\", \"snapshot\"]).annotate({ \"description\": \"Tenant resource category accepted by API token allowlists.\", \"examples\": [\"session\"], \"identifier\": \"ResourceType\" })\nexport type ErrorDetail = { readonly \"code\": string, readonly \"message\": string }\nexport const ErrorDetail = Schema.Struct({ \"code\": Schema.String.annotate({ \"description\": \"Stable code enumerated by each operation response.\", \"examples\": [\"insufficient_scope\"] }), \"message\": Schema.String.annotate({ \"description\": \"Human-readable explanation. It may include resource or validation context.\", \"examples\": [\"insufficient scope\"] }) }).annotate({ \"description\": \"Stable machine-readable error code with a human-readable explanation.\", \"identifier\": \"ErrorDetail\" })\nexport type BrowserChannel = { readonly \"name\": string }\nexport const BrowserChannel = Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Configured browser channel name.\", \"examples\": [\"chromium\"] }) }).annotate({ \"description\": \"Browser runtime selectable when creating a session.\", \"identifier\": \"BrowserChannel\" })\nexport type PageMeta = { readonly \"limit\": number, readonly \"nextCursor\"?: string, readonly \"hasMore\": boolean }\nexport const PageMeta = Schema.Struct({ \"limit\": Schema.Number.annotate({ \"description\": \"Effective page size after applying the default and maximum.\", \"examples\": [50] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })).check(Schema.isLessThanOrEqualTo(100).annotate({ \"expected\": \"a value less than or equal to 100\" })), \"nextCursor\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Opaque cursor for the next page. Omitted when there is no next page.\", \"examples\": [\"eyJjcmVhdGVkQXQiOiIyMDI2LTA3LTE3VDEyOjAwOjAwWiIsImlkIjoiMDE5ZjZjZjAtMDAwMC03MDAwLTgwMDAtMDAwMDAwMDAwMDAwIn0\"] })), \"hasMore\": Schema.Boolean.annotate({ \"description\": \"Whether another page is available.\", \"examples\": [true] }) }).annotate({ \"description\": \"Cursor pagination metadata for a newest-first result page.\", \"identifier\": \"PageMeta\" })\nexport type TenantInput = { readonly \"displayName\": string }\nexport const TenantInput = Schema.Struct({ \"displayName\": Schema.String.annotate({ \"description\": \"Human-readable tenant name. Leading and trailing whitespace is removed and whitespace-only values are rejected.\", \"examples\": [\"Example engineering\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })) }).annotate({ \"description\": \"Tenant fields accepted by create and update operations.\", \"identifier\": \"TenantInput\" })\nexport type UserInput = { readonly \"email\"?: string | null, readonly \"displayName\": string, readonly \"isSystemAdmin\": boolean }\nexport const UserInput = Schema.Struct({ \"email\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional normalized login and contact email.\", \"format\": \"email\" })), \"displayName\": Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"isSystemAdmin\": Schema.Boolean.annotate({ \"description\": \"Grants deployment-wide administration independently of tenant memberships.\" }) }).annotate({ \"identifier\": \"UserInput\" })\nexport type UserInvitation = { readonly \"token\": string, readonly \"expiresAt\": string }\nexport const UserInvitation = Schema.Struct({ \"token\": Schema.String.annotate({ \"description\": \"Raw setup token. Store and transmit it as a secret.\" }), \"expiresAt\": Schema.String.annotate({ \"format\": \"date-time\" }) }).annotate({ \"description\": \"One-time account setup secret returned only when created.\", \"identifier\": \"UserInvitation\" })\nexport type TenantScope = \"sessions:read\" | \"sessions:write\" | \"snapshots:read\" | \"snapshots:write\" | \"tenant:write\"\nexport const TenantScope = Schema.Literals([\"sessions:read\", \"sessions:write\", \"snapshots:read\", \"snapshots:write\", \"tenant:write\"]).annotate({ \"description\": \"Scope allowed on a tenant-bound API token.\", \"examples\": [\"sessions:write\"], \"identifier\": \"TenantScope\" })\nexport type SensitiveString = Redacted.Redacted<string>\nexport const SensitiveString = Schema.RedactedFromValue(Schema.String).annotate({ \"identifier\": \"SensitiveString\" })\nexport type SessionStatus = \"creating\" | \"running\" | \"suspended\" | \"deleted\" | \"expired\" | \"failed\"\nexport const SessionStatus = Schema.Literals([\"creating\", \"running\", \"suspended\", \"deleted\", \"expired\", \"failed\"]).annotate({ \"description\": \"Session lifecycle state:\\n\\n- `creating`: browser startup is in progress; the CDP endpoint does not answer yet.\\n- `running`: browser and routing are available and the CDP endpoint answers.\\n- `suspended`: browser is intentionally stopped while retained state remains available.\\n- `deleted`: session is soft-deleted and may be reopened while retained.\\n- `expired`: retention elapsed and the session can no longer be used.\\n- `failed`: startup or reopen failed; retained state may still be reopenable.\\n\", \"examples\": [\"running\"], \"identifier\": \"SessionStatus\" })\nexport type StringMap = { readonly [x: string]: string }\nexport const StringMap = Schema.Record(Schema.String, Schema.String).annotate({ \"description\": \"Arbitrary string key-value metadata. Tag-writing operations additionally reject blank keys and blank values.\", \"examples\": [{ \"environment\": \"production\", \"region\": \"eu-west-1\" }], \"identifier\": \"StringMap\" })\nexport type SessionProxyUpstream = { readonly \"url\": string }\nexport const SessionProxyUpstream = Schema.Struct({ \"url\": Schema.String.annotate({ \"examples\": [\"socks5://user:xxxxx@proxy.example.com:1080\"] }) }).annotate({ \"description\": \"A named upstream as stored. The secret is never returned and proxy URL passwords are masked.\", \"identifier\": \"SessionProxyUpstream\" })\nexport type ProxyRule = { readonly \"match\": string, readonly \"via\": string }\nexport const ProxyRule = Schema.Struct({ \"match\": Schema.String.annotate({ \"description\": \"`host` or `host:port`, where the host is exact, `*.suffix` for subdomains, or `*` for any host. `*` never matches `localhost`, which only a rule naming it routes. Loopback IPs never reach the proxy, so local services are matched as `localhost`.\", \"examples\": [\"*.example.test\"] }), \"via\": Schema.String.annotate({ \"description\": \"`direct` dials from the session host, `refuse` fails the connection, `local` uses the attached local tunnel and fails while none is attached. Anything else names an upstream, or is an inline proxy URL without a secret.\", \"examples\": [\"operator\"] }) }).annotate({ \"description\": \"Routes the browser connections its match covers.\", \"identifier\": \"ProxyRule\" })\nexport type BrowserConfig = { readonly \"channel\": string, readonly \"args\"?: ReadonlyArray<string> }\nexport const BrowserConfig = Schema.Struct({ \"channel\": Schema.String.annotate({ \"description\": \"Channel returned by `GET /api/browser/channels`.\", \"examples\": [\"chromium\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"args\": Schema.optionalKey(Schema.Array(Schema.String).annotate({ \"description\": \"Additional Chromium command-line arguments. Aperture rejects arguments that conflict with supervisor-owned behavior or deployment policy.\", \"examples\": [[\"--lang=en-US\"]] })) }).annotate({ \"description\": \"Browser runtime configuration used to create or reopen the session.\", \"identifier\": \"BrowserConfig\" })\nexport type InitialBrowserScrollPosition = { readonly \"x\": number, readonly \"y\": number }\nexport const InitialBrowserScrollPosition = Schema.Struct({ \"x\": Schema.Number.check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })), \"y\": Schema.Number.check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })) }).annotate({ \"identifier\": \"InitialBrowserScrollPosition\" })\nexport type InitialBrowserElementPathStep = { readonly \"tag\": string, readonly \"index\": number }\nexport const InitialBrowserElementPathStep = Schema.Struct({ \"tag\": Schema.String.check(Schema.isPattern(new RegExp(\"^[a-z][a-z0-9-]*$\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp ^[a-z][a-z0-9-]*$\" })), \"index\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })) }).annotate({ \"identifier\": \"InitialBrowserElementPathStep\" })\nexport type InitialBrowserControlSelection = { readonly \"start\": number, readonly \"end\": number, readonly \"direction\": \"forward\" | \"backward\" | \"none\" }\nexport const InitialBrowserControlSelection = Schema.Struct({ \"start\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })), \"end\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })), \"direction\": Schema.Literals([\"forward\", \"backward\", \"none\"]) }).annotate({ \"identifier\": \"InitialBrowserControlSelection\" })\nexport type BrowserCookieSameSite = \"Strict\" | \"Lax\" | \"None\"\nexport const BrowserCookieSameSite = Schema.Literals([\"Strict\", \"Lax\", \"None\"]).annotate({ \"identifier\": \"BrowserCookieSameSite\" })\nexport type InitialBrowserCookiePartitionKey = { readonly \"topLevelSite\": string, readonly \"hasCrossSiteAncestor\"?: boolean }\nexport const InitialBrowserCookiePartitionKey = Schema.Struct({ \"topLevelSite\": Schema.String.annotate({ \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/[^/]+$\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/[^/]+$\" })), \"hasCrossSiteAncestor\": Schema.optionalKey(Schema.Boolean) }).annotate({ \"identifier\": \"InitialBrowserCookiePartitionKey\" })\nexport type InitialIndexedDBKeyPath = { readonly \"kind\": \"none\" | \"string\" | \"array\", readonly \"value\"?: ReadonlyArray<string> }\nexport const InitialIndexedDBKeyPath = Schema.Struct({ \"kind\": Schema.Literals([\"none\", \"string\", \"array\"]), \"value\": Schema.optionalKey(Schema.Array(Schema.String)) }).annotate({ \"description\": \"Object-store key path. String paths contain one value; array paths contain at least one.\", \"identifier\": \"InitialIndexedDBKeyPath\" })\nexport type InitialIndexedDBIndexKeyPath = { readonly \"kind\": \"string\" | \"array\", readonly \"value\": ReadonlyArray<string> }\nexport const InitialIndexedDBIndexKeyPath = Schema.Struct({ \"kind\": Schema.Literals([\"string\", \"array\"]), \"value\": Schema.Array(Schema.String).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })) }).annotate({ \"description\": \"Index key path. String paths contain one value; array paths contain at least one.\", \"identifier\": \"InitialIndexedDBIndexKeyPath\" })\nexport type CursorVisibility = { readonly \"visible\": boolean }\nexport const CursorVisibility = Schema.Struct({ \"visible\": Schema.Boolean.annotate({ \"description\": \"Whether to include the remote cursor in live streams and recordings.\" }) }).annotate({ \"description\": \"Whether the remote browser cursor is composited into session media.\", \"identifier\": \"CursorVisibility\" })\nexport type ExportSessionStorageStateInput = { readonly \"origins\": \"open-tabs\" | ReadonlyArray<string> }\nexport const ExportSessionStorageStateInput = Schema.Struct({ \"origins\": Schema.Union([Schema.Literal(\"open-tabs\"), Schema.Array(Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isMaxCodePoints(2048).annotate({ \"expected\": \"a string with at most 2048 code points\" }))).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isMaxLength(100).annotate({ \"expected\": \"a value with a length of at most 100\" }))], { mode: \"oneOf\" }).annotate({ \"description\": \"Exact origins and/or * patterns, or open-tabs to select current pages and frames.\" }) }).annotate({ \"examples\": [{ \"origins\": [\"*\"] }, { \"origins\": [\"https://example.com\", \"https://*.example.org\"] }, { \"origins\": \"open-tabs\" }], \"identifier\": \"ExportSessionStorageStateInput\" })\nexport type RecordingEditError = { readonly \"code\": \"ffmpeg_unavailable\" | \"open_failed\" | \"nothing_kept\" | \"analysis_failed\" | \"plan_failed\" | \"render_failed\" | \"timeout\" | \"cancelled\" | \"timeline_failed\", readonly \"message\": string }\nexport const RecordingEditError = Schema.Struct({ \"code\": Schema.Literals([\"ffmpeg_unavailable\", \"open_failed\", \"nothing_kept\", \"analysis_failed\", \"plan_failed\", \"render_failed\", \"timeout\", \"cancelled\", \"timeline_failed\"]), \"message\": Schema.String }).annotate({ \"description\": \"Why a recording has no edit although one was due or a timeline could not be written. The raw video is published regardless.\", \"identifier\": \"RecordingEditError\" })\nexport type CreateSessionRecordingInput = { readonly \"targetId\": string, readonly \"fps\"?: number, readonly \"bitrateKbps\"?: number, readonly \"codec\"?: \"vp8\" | \"h264-va\", readonly \"capture\"?: \"continuous\" | \"bursts\", readonly \"presentation\"?: boolean, readonly \"idle\"?: \"cut\" | \"speed\", readonly \"ripple\"?: boolean, readonly \"burst\"?: { readonly \"leadMs\"?: number, readonly \"tailMs\"?: number, readonly \"settleMs\"?: number, readonly \"maxTailMs\"?: number } }\nexport const CreateSessionRecordingInput = Schema.Struct({ \"targetId\": Schema.String.annotate({ \"description\": \"Identifier of the ready top-level target to record.\" }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"fps\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Requested frames per second. Omit or use a non-positive value for the instance default.\", \"examples\": [60] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" }))), \"bitrateKbps\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Requested video bitrate in kilobits per second. Omit or use a non-positive value for the instance default.\", \"examples\": [6000] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" }))), \"codec\": Schema.optionalKey(Schema.Literals([\"vp8\", \"h264-va\"]).annotate({ \"description\": \"Video codec. Omit for the instance default.\", \"examples\": [\"vp8\"] })), \"capture\": Schema.optionalKey(Schema.Literals([\"continuous\", \"bursts\"]).annotate({ \"description\": \"With `bursts`, the edited video keeps only the stretches around browser tool calls, from `burst.leadMs` before a call to `burst.tailMs` after it, longer until the screen has stood still for `burst.settleMs` but at most `burst.maxTailMs`, and the recording follows the tab the automation acts on. The raw video is always the whole capture. Defaults to `continuous`. Cannot be combined with `idle`. Needs `recording_ffmpeg_executable` on the instance.\" })), \"presentation\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Run browser automation at presentation pace while the recording runs. Needs nothing of the instance.\" })), \"idle\": Schema.optionalKey(Schema.Literals([\"cut\", \"speed\"]).annotate({ \"description\": \"Remove (`cut`) or fast-forward (`speed`) the stretches of a continuous recording in which neither the picture nor the automation changes, in the edited video. Needs `recording_ffmpeg_executable` on the instance.\" })), \"ripple\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Mark clicks with a ripple in the edited video. Needs `recording_ffmpeg_executable` on the instance.\" })), \"burst\": Schema.optionalKey(Schema.Struct({ \"leadMs\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Kept before a tool call. Defaults to 500.\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })).check(Schema.isLessThanOrEqualTo(60000).annotate({ \"expected\": \"a value less than or equal to 60000\" }))), \"tailMs\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Kept after a tool call. Defaults to 800.\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })).check(Schema.isLessThanOrEqualTo(60000).annotate({ \"expected\": \"a value less than or equal to 60000\" }))), \"settleMs\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"How long the screen must stand still to count as settled. Defaults to 400.\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })).check(Schema.isLessThanOrEqualTo(60000).annotate({ \"expected\": \"a value less than or equal to 60000\" }))), \"maxTailMs\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Longest wait for the screen to settle after a call. Defaults to 3000.\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })).check(Schema.isLessThanOrEqualTo(60000).annotate({ \"expected\": \"a value less than or equal to 60000\" }))) }).annotate({ \"description\": \"Burst sizes in milliseconds for `capture` `bursts`; rejected without it. Omitted or zero fields take the defaults. `tailMs` must not exceed `maxTailMs` (default 3000).\" })) }).annotate({ \"description\": \"Top-level target and optional recording settings.\", \"identifier\": \"CreateSessionRecordingInput\" })\nexport type RetargetSessionRecordingInput = { readonly \"targetId\": string }\nexport const RetargetSessionRecordingInput = Schema.Struct({ \"targetId\": Schema.String.annotate({ \"description\": \"Identifier of the ready destination top-level target.\" }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })) }).annotate({ \"description\": \"Destination for a running tab recording.\", \"identifier\": \"RetargetSessionRecordingInput\" })\nexport type SessionFile = { readonly \"type\": \"file\", readonly \"name\": string, readonly \"relativePath\": string, readonly \"size\": number, readonly \"modifiedAt\": string, readonly \"mimeType\": string, readonly \"sandboxPath\"?: string }\nexport const SessionFile = Schema.Struct({ \"type\": Schema.Literal(\"file\"), \"name\": Schema.String.annotate({ \"description\": \"File name without directory components.\", \"examples\": [\"screencast-20260801T120000Z.webm\"] }), \"relativePath\": Schema.String.annotate({ \"description\": \"Path below the session files root. Browser downloads are under `downloads/`, recordings under `recordings/`, uploads under `uploads/`, and Playwright MCP output under `outputs/`. Pass it to `browser_file_upload` or to create a signed download URL.\", \"examples\": [\"recordings/screencast-20260801T120000Z.webm\"] }), \"size\": Schema.Number.annotate({ \"description\": \"File size in bytes.\", \"examples\": [1048576], \"format\": \"int64\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })), \"modifiedAt\": Schema.String.annotate({ \"description\": \"Last file modification time.\", \"examples\": [\"2026-08-01T12:05:00Z\"], \"format\": \"date-time\" }), \"mimeType\": Schema.String.annotate({ \"description\": \"Detected media type.\", \"examples\": [\"video/webm\"] }), \"sandboxPath\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Path of the file inside the session's browser sandbox, under the fixed `/session/files` root, for CDP `DOM.setFileInputFiles`. It is readable by the browser while the session runs. Absent for files of sessions created before session files moved under one root that are still in their old location.\", \"examples\": [\"/session/files/recordings/screencast-20260801T120000Z.webm\"] })) }).annotate({ \"description\": \"Regular file retained with a browser session.\", \"identifier\": \"SessionFile\" })\nexport type SessionDirectory = { readonly \"type\": \"directory\", readonly \"name\": string, readonly \"relativePath\": string, readonly \"modifiedAt\": string }\nexport const SessionDirectory = Schema.Struct({ \"type\": Schema.Literal(\"directory\"), \"name\": Schema.String.annotate({ \"description\": \"Directory name without parent components.\", \"examples\": [\"invoices\"] }), \"relativePath\": Schema.String.annotate({ \"description\": \"Path below the session files root.\", \"examples\": [\"uploads/invoices\"] }), \"modifiedAt\": Schema.String.annotate({ \"format\": \"date-time\" }) }).annotate({ \"description\": \"Directory below the session files root.\", \"identifier\": \"SessionDirectory\" })\nexport type __ClientMultipartFile = globalThis.File | globalThis.Blob\nexport const __ClientMultipartFile = Schema.instanceOf(globalThis.Blob, { expected: \"File | Blob\" })\nexport type MoveSessionFileInput = { readonly \"from\": string, readonly \"to\": string }\nexport const MoveSessionFileInput = Schema.Struct({ \"from\": Schema.String.annotate({ \"description\": \"Current path from a `SessionFileEntry` result.\", \"examples\": [\"downloads/invoice.pdf\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"to\": Schema.String.annotate({ \"description\": \"New path below the session files root. Missing directories are created.\", \"examples\": [\"uploads/invoices/2026-08.pdf\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })) }).annotate({ \"description\": \"Current and new path of a session file.\", \"identifier\": \"MoveSessionFileInput\" })\nexport type CreateSessionDirectoryInput = { readonly \"relativePath\": string }\nexport const CreateSessionDirectoryInput = Schema.Struct({ \"relativePath\": Schema.String.annotate({ \"description\": \"Path below the session files root. Missing parents are created.\", \"examples\": [\"uploads/invoices\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })) }).annotate({ \"description\": \"Directory to create.\", \"identifier\": \"CreateSessionDirectoryInput\" })\nexport type SessionFileDownloadURLInput = { readonly \"relativePath\": string, readonly \"ttlSeconds\"?: number, readonly \"disposition\"?: \"attachment\" | \"inline\" }\nexport const SessionFileDownloadURLInput = Schema.Struct({ \"relativePath\": Schema.String.annotate({ \"description\": \"Path from a `SessionFile` result.\", \"examples\": [\"recordings/screencast-20260801T120000Z.webm\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"ttlSeconds\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Requested lifetime in seconds. Omit it to use `signed_file_url_ttl`; values above `signed_file_url_max_ttl` are rejected.\", \"examples\": [900] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" }))), \"disposition\": Schema.optionalKey(Schema.Literals([\"attachment\", \"inline\"]).annotate({ \"description\": \"How the URL presents the file. `inline` lets browsers display it, for example as an `<img>` source. Either way it is served with its detected `Content-Type`, `X-Content-Type-Options: nosniff`, and byte-range support. Content that can run scripts, such as HTML or SVG, also gets `Content-Security-Policy: sandbox`; images, audio, video, PDFs, and plain text do not, so browser viewers keep working.\", \"default\": \"attachment\" })) }).annotate({ \"description\": \"Session file path and requested signed URL lifetime.\", \"identifier\": \"SessionFileDownloadURLInput\" })\nexport type SessionFileDownloadURL = { readonly \"url\": string, readonly \"expiresAt\": string }\nexport const SessionFileDownloadURL = Schema.Struct({ \"url\": Schema.String.annotate({ \"description\": \"URL containing a path-bound `apf_` token.\", \"examples\": [\"https://aperture.example.com/sessions/019f6cf0-0000-7000-8000-000000000010/files/recordings/screencast-20260801T120000Z.webm?token=apf_REDACTED\"], \"format\": \"uri\" }), \"expiresAt\": Schema.String.annotate({ \"description\": \"Time after which the URL is rejected.\", \"examples\": [\"2026-08-01T12:20:00Z\"], \"format\": \"date-time\" }) }).annotate({ \"description\": \"Signed URL for one session file.\", \"identifier\": \"SessionFileDownloadURL\" })\nexport type UpdateSnapshotInput = { readonly \"description\"?: string | null }\nexport const UpdateSnapshotInput = Schema.Struct({ \"description\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"New description. Send `null` to clear it; an empty string is stored as an empty description.\", \"examples\": [\"Updated signed-in state\"] })) }).annotate({ \"description\": \"Replacement snapshot description.\", \"identifier\": \"UpdateSnapshotInput\" })\nexport type LiveSessionErrorBody = { readonly \"error\": string }\nexport const LiveSessionErrorBody = Schema.Struct({ \"error\": Schema.String.annotate({ \"examples\": [\"file exceeds upload limit\"] }) }).annotate({ \"description\": \"Error raised inside a running session. It carries a message but no stable code.\", \"identifier\": \"LiveSessionErrorBody\" })\nexport type SetViewportInput = { readonly \"targetId\": string, readonly \"width\": number, readonly \"height\": number, readonly \"deviceScaleFactor\"?: number }\nexport const SetViewportInput = Schema.Struct({ \"targetId\": Schema.String.annotate({ \"description\": \"Identifier of the top-level target to resize.\" }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"width\": Schema.Number.annotate({ \"description\": \"Logical width in CSS pixels. Widths below 500 are raised to 500.\", \"examples\": [1280] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })).check(Schema.isLessThanOrEqualTo(16384).annotate({ \"expected\": \"a value less than or equal to 16384\" })), \"height\": Schema.Number.annotate({ \"description\": \"Logical height in CSS pixels.\", \"examples\": [720] }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })).check(Schema.isLessThanOrEqualTo(16384).annotate({ \"expected\": \"a value less than or equal to 16384\" })), \"deviceScaleFactor\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Device pixel ratio, rounded to 1/120. Omit or use a non-positive value for 1. The scaled content size may not exceed 16384 pixels.\", \"examples\": [1] }).check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" }))) }).annotate({ \"description\": \"Requested logical viewport of one top-level target.\", \"identifier\": \"SetViewportInput\" })\nexport type Viewport = { readonly \"width\": number, readonly \"height\": number, readonly \"contentWidth\": number, readonly \"contentHeight\": number, readonly \"canvasWidth\": number, readonly \"canvasHeight\": number, readonly \"deviceScaleFactor\": number }\nexport const Viewport = Schema.Struct({ \"width\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"height\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"contentWidth\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"contentHeight\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"canvasWidth\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"canvasHeight\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"deviceScaleFactor\": Schema.Number.annotate({ \"description\": \"Effective device pixel ratio.\" }).check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })) }).annotate({ \"description\": \"Logical size, DPR-scaled content rectangle, and 64x64-bucketed media canvas of a target.\", \"identifier\": \"Viewport\" })\nexport type Tenant = { readonly \"id\": UUIDv7, readonly \"displayName\": string, readonly \"createdAt\": string, readonly \"deletedAt\"?: string | null }\nexport const Tenant = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Tenant identifier.\" }), \"displayName\": Schema.String.annotate({ \"description\": \"Human-readable tenant name.\", \"examples\": [\"Example engineering\"] }), \"createdAt\": Schema.String.annotate({ \"description\": \"Time the tenant was created.\", \"examples\": [\"2026-07-17T12:00:00Z\"], \"format\": \"date-time\" }), \"deletedAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Soft-deactivation time, or `null` for an active tenant.\", \"examples\": [null], \"format\": \"date-time\" })) }).annotate({ \"description\": \"Tenant account. Deletion is a reversible soft deactivation.\", \"identifier\": \"Tenant\" })\nexport type User = { readonly \"id\": UUIDv7, readonly \"email\"?: string | null, readonly \"displayName\": string, readonly \"isSystemAdmin\": boolean, readonly \"createdAt\": string, readonly \"updatedAt\": string, readonly \"disabledAt\"?: string | null, readonly \"passwordSetupStatus\"?: \"available\" | \"configured\" | \"email_required\" | \"user_disabled\" | \"login_disabled\" }\nexport const User = Schema.Struct({ \"id\": UUIDv7, \"email\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"format\": \"email\" })), \"displayName\": Schema.String, \"isSystemAdmin\": Schema.Boolean, \"createdAt\": Schema.String.annotate({ \"format\": \"date-time\" }), \"updatedAt\": Schema.String.annotate({ \"format\": \"date-time\" }), \"disabledAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"format\": \"date-time\" })), \"passwordSetupStatus\": Schema.optionalKey(Schema.Literals([\"available\", \"configured\", \"email_required\", \"user_disabled\", \"login_disabled\"]).annotate({ \"description\": \"Password setup state included by the get-user operation.\" })) }).annotate({ \"identifier\": \"User\" })\nexport type SessionBulkInput = { readonly \"ids\": ReadonlyArray<UUIDv7> }\nexport const SessionBulkInput = Schema.Struct({ \"ids\": Schema.Array(UUIDv7).annotate({ \"description\": \"Up to 100 unique UUIDv7 values. An empty array is valid.\", \"examples\": [[\"019f6cf0-0000-7000-8000-000000000010\", \"019f6cf0-0000-7000-8000-000000000011\"]] }).check(Schema.isMaxLength(100).annotate({ \"expected\": \"a value with a length of at most 100\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })) }).annotate({ \"description\": \"Ordered session IDs for a tenant-scoped bulk lookup. Missing, foreign, and deleted IDs are omitted from the result.\", \"identifier\": \"SessionBulkInput\" })\nexport type Event = { readonly \"id\": UUIDv7, readonly \"tenantId\": UUIDv7, readonly \"resourceType\": string, readonly \"resourceId\": string, readonly \"type\": string, readonly \"message\": string, readonly \"data\": { readonly [x: string]: Schema.Json }, readonly \"createdAt\": string }\nexport const Event = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Event identifier.\" }), \"tenantId\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Tenant that owns the event.\" }), \"resourceType\": Schema.String.annotate({ \"description\": \"Resource category associated with the event. Currently session events are the primary source; new categories may be added.\", \"examples\": [\"session\"] }), \"resourceId\": Schema.String.annotate({ \"description\": \"Identifier of the associated resource. Its format depends on `resourceType`.\", \"examples\": [\"019f6cf0-0000-7000-8000-000000000010\"] }), \"type\": Schema.String.annotate({ \"description\": \"Extensible event type used for programmatic handling.\", \"examples\": [\"session.token_rotated\"] }), \"message\": Schema.String.annotate({ \"description\": \"Human-readable event summary.\", \"examples\": [\"session token rotated\"] }), \"data\": Schema.Record(Schema.String, Schema.Json.annotate({ \"expected\": \"JSON value\" })).annotate({ \"description\": \"Event-specific JSON payload, such as error details or upload metadata.\", \"examples\": [{ \"reason\": \"manual rotation\" }] }), \"createdAt\": Schema.String.annotate({ \"description\": \"Time the event was recorded.\", \"examples\": [\"2026-07-17T12:30:00Z\"], \"format\": \"date-time\" }) }).annotate({ \"description\": \"Immutable tenant-scoped audit or lifecycle event.\", \"identifier\": \"Event\" })\nexport type AuditEvent = { readonly \"id\": UUIDv7, readonly \"actorType\": PrincipalType, readonly \"actorId\"?: string | null, readonly \"tenantId\"?: UUIDv7 | null, readonly \"action\": string, readonly \"resourceType\": string, readonly \"resourceId\"?: string | null, readonly \"data\": { readonly [x: string]: Schema.Json }, readonly \"createdAt\": string }\nexport const AuditEvent = Schema.Struct({ \"id\": UUIDv7, \"actorType\": PrincipalType, \"actorId\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), \"tenantId\": Schema.optionalKey(Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" })), \"action\": Schema.String.annotate({ \"examples\": [\"tenant_membership.upserted\"] }), \"resourceType\": Schema.String.annotate({ \"examples\": [\"tenant_membership\"] }), \"resourceId\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null])), \"data\": Schema.Record(Schema.String, Schema.Json.annotate({ \"expected\": \"JSON value\" })), \"createdAt\": Schema.String.annotate({ \"format\": \"date-time\" }) }).annotate({ \"identifier\": \"AuditEvent\" })\nexport type ResourceGrant = { readonly \"resourceType\": ResourceType, readonly \"resourceId\": UUIDv7 }\nexport const ResourceGrant = Schema.Struct({ \"resourceType\": ResourceType, \"resourceId\": UUIDv7 }).annotate({ \"description\": \"Access to one existing tenant session or snapshot by its stable UUIDv7 identifier.\", \"identifier\": \"ResourceGrant\" })\nexport type Error = { readonly \"error\": ErrorDetail }\nexport const Error = Schema.Struct({ \"error\": ErrorDetail }).annotate({ \"description\": \"Standard error envelope returned by REST API operations.\", \"identifier\": \"Error\" })\nexport type BrowserChannels = { readonly \"channels\": ReadonlyArray<BrowserChannel> }\nexport const BrowserChannels = Schema.Struct({ \"channels\": Schema.Array(BrowserChannel) }).annotate({ \"description\": \"Browser channels enabled on this deployment.\", \"examples\": [{ \"channels\": [{ \"name\": \"chromium\" }] }], \"identifier\": \"BrowserChannels\" })\nexport type TenantMembership = { readonly \"tenantId\": UUIDv7, readonly \"userId\": UUIDv7, readonly \"scopes\": ReadonlyArray<TenantScope>, readonly \"createdAt\": string, readonly \"updatedAt\": string }\nexport const TenantMembership = Schema.Struct({ \"tenantId\": UUIDv7, \"userId\": UUIDv7, \"scopes\": Schema.Array(TenantScope).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"createdAt\": Schema.String.annotate({ \"format\": \"date-time\" }), \"updatedAt\": Schema.String.annotate({ \"format\": \"date-time\" }) }).annotate({ \"identifier\": \"TenantMembership\" })\nexport type TenantMembershipInput = { readonly \"scopes\": ReadonlyArray<TenantScope> }\nexport const TenantMembershipInput = Schema.Struct({ \"scopes\": Schema.Array(TenantScope).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })) }).annotate({ \"identifier\": \"TenantMembershipInput\" })\nexport type IceServer = { readonly \"urls\": ReadonlyArray<string>, readonly \"username\"?: string, readonly \"credential\"?: SensitiveString }\nexport const IceServer = Schema.Struct({ \"urls\": Schema.Array(Schema.String).annotate({ \"description\": \"STUN or TURN server URLs.\", \"examples\": [[\"turn:turn.example.com:3478?transport=udp\"]] }), \"username\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"TURN username. Omitted when the server does not require authentication.\", \"examples\": [\"aperture-session\"] })), \"credential\": Schema.optionalKey(Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"TURN credential. Treat it as a secret and do not persist it in logs.\", \"examples\": [\"REDACTED\"] })) }).annotate({ \"description\": \"ICE server configuration supplied to WebRTC consumers.\", \"identifier\": \"IceServer\" })\nexport type SessionCollaborationCapabilities = { readonly \"editorToken\": SensitiveString, readonly \"viewerToken\": SensitiveString }\nexport const SessionCollaborationCapabilities = Schema.Struct({ \"editorToken\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"examples\": [\"ape_019f6cf0000070008000000000000010_REDACTED\"] }), \"viewerToken\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"examples\": [\"apv_019f6cf0000070008000000000000010_REDACTED\"] }) }).annotate({ \"description\": \"Owner-visible role-scoped secrets used to build collaboration links.\", \"identifier\": \"SessionCollaborationCapabilities\" })\nexport type SessionThumbnail = { readonly \"url\": SensitiveString, readonly \"targetUrlTemplate\": SensitiveString, readonly \"expiresAt\": string }\nexport const SessionThumbnail = Schema.Struct({ \"url\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"Thumbnail of the tab most recently shown to a live-session client.\", \"format\": \"uri\" }), \"targetUrlTemplate\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"Tab thumbnail URL with a literal `{targetId}` placeholder for a top-level target ID.\" }), \"expiresAt\": Schema.String.annotate({ \"format\": \"date-time\" }) }).annotate({ \"description\": \"Signed thumbnail URLs for image elements. They need no other credentials and expire after the\\nconfigured signed URL lifetime; every session response returns fresh ones. Present while the\\nsession is running, or while suspended when thumbnails were saved.\\n\", \"identifier\": \"SessionThumbnail\" })\nexport type BrowserStorageEntry = { readonly \"name\": string, readonly \"value\": SensitiveString }\nexport const BrowserStorageEntry = Schema.Struct({ \"name\": Schema.String, \"value\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"Browser storage value. Never log this field.\" }) }).annotate({ \"identifier\": \"BrowserStorageEntry\" })\nexport type InitialIndexedDBRecord = { readonly \"key\": SensitiveString, readonly \"value\": SensitiveString }\nexport const InitialIndexedDBRecord = Schema.Struct({ \"key\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"JSON-encoded structured-clone key.\" }), \"value\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"JSON-encoded structured-clone value.\" }) }).annotate({ \"identifier\": \"InitialIndexedDBRecord\" })\nexport type InitialOPFSFile = { readonly \"path\": string, readonly \"body\": SensitiveString }\nexport const InitialOPFSFile = Schema.Struct({ \"path\": Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"body\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"contentEncoding\": \"base64\" }) }).annotate({ \"identifier\": \"InitialOPFSFile\" })\nexport type ProxyUpstream = { readonly \"url\": string, readonly \"auth\"?: SensitiveString }\nexport const ProxyUpstream = Schema.Struct({ \"url\": Schema.String.annotate({ \"description\": \"A generic proxy URL (`http`, `https`, `socks`, `socks5`, `socks5h`) or a compound tunnel URL (`ws+yamux+socks5://`, `wss+yamux+socks5://`). Proxy credentials go in the userinfo (`socks5://user:pass@host:1080`) and are sent as Basic `Proxy-Authorization` for `http`/`https` or RFC 1929 username/password for the socks schemes. An omitted port defaults to 1080 (socks), 80 (http) or 443 (https).\", \"examples\": [\"wss+yamux+socks5://tunnel.example.com/t/019f6cf0-0000-7000-8000-000000000010\"] }), \"auth\": Schema.optionalKey(Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"Bearer secret for a tunnel URL's handshake. Required for a tunnel URL and invalid for a proxy URL. Write-only; never returned.\", \"examples\": [\"REDACTED\"] })) }).annotate({ \"description\": \"A named upstream that proxy rules route through.\", \"identifier\": \"ProxyUpstream\" })\nexport type ProxyTunnelConfig = { readonly \"url\"?: string, readonly \"auth\"?: SensitiveString }\nexport const ProxyTunnelConfig = Schema.Struct({ \"url\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Compound tunnel URL (`ws+yamux+socks5://` or `wss+yamux+socks5://`).\", \"examples\": [\"wss+yamux+socks5://tunnel.example.com/t/019f6cf0-0000-7000-8000-000000000010\"] })), \"auth\": Schema.optionalKey(Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"Bearer secret for the tunnel handshake. Write-only; never returned.\", \"examples\": [\"REDACTED\"] })) }).annotate({ \"description\": \"Legacy tunnel endpoint for `upstream` `tunnel`; both fields are required with it. Use a tunnel URL in `upstreams`.\", \"identifier\": \"ProxyTunnelConfig\" })\nexport type InitialCacheStorageEntry = { readonly \"url\": string, readonly \"requestHeaders\": StringMap, readonly \"responseHeaders\": StringMap, readonly \"responseStatus\": number, readonly \"responseStatusText\": string, readonly \"responseBody\": SensitiveString }\nexport const InitialCacheStorageEntry = Schema.Struct({ \"url\": Schema.String.annotate({ \"format\": \"uri\" }), \"requestHeaders\": StringMap, \"responseHeaders\": StringMap, \"responseStatus\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(100).annotate({ \"expected\": \"a value greater than or equal to 100\" })).check(Schema.isLessThanOrEqualTo(599).annotate({ \"expected\": \"a value less than or equal to 599\" })), \"responseStatusText\": Schema.String, \"responseBody\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"contentEncoding\": \"base64\" }) }).annotate({ \"identifier\": \"InitialCacheStorageEntry\" })\nexport type ReplaceTagsInput = { readonly \"tags\": StringMap }\nexport const ReplaceTagsInput = Schema.Struct({ \"tags\": Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Complete tag map. Keys and values must contain non-whitespace characters.\" }) }).annotate({ \"description\": \"Complete replacement tag set. The map may be empty to clear all tags.\", \"examples\": [{ \"tags\": { \"environment\": \"production\", \"region\": \"eu-west-1\" } }], \"identifier\": \"ReplaceTagsInput\" })\nexport type PromoteSessionInput = { readonly \"name\": string, readonly \"description\"?: string | null, readonly \"force\"?: boolean, readonly \"tags\"?: StringMap }\nexport const PromoteSessionInput = Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Tenant-unique snapshot name. Leading and trailing whitespace is removed.\", \"examples\": [\"signed-in-base\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"description\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional snapshot description. `null` creates the snapshot without a description.\", \"examples\": [\"Signed-in storefront state for checkout tests\"] })), \"force\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Deleted snapshot names are reused automatically. Set `true` to replace an active snapshot, which is renamed to its tombstone name and retained for the configured snapshot retention period.\", \"default\": false })), \"tags\": Schema.optionalKey(Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Initial complete tag map for the new snapshot.\" })) }).annotate({ \"description\": \"Snapshot metadata created from a stopped, retained session.\", \"examples\": [{ \"name\": \"signed-in-base\", \"description\": \"Signed-in storefront state for checkout tests\", \"force\": false, \"tags\": { \"application\": \"storefront\", \"environment\": \"staging\" } }], \"identifier\": \"PromoteSessionInput\" })\nexport type Snapshot = { readonly \"id\": UUIDv7, readonly \"name\": string, readonly \"tenantId\": UUIDv7, readonly \"description\"?: string | null, readonly \"parentSnapshotId\"?: UUIDv7, readonly \"promotedFromSessionId\"?: UUIDv7, readonly \"createdAt\": string, readonly \"deletedAt\"?: string | null, readonly \"expiresAt\"?: string, readonly \"tags\"?: StringMap }\nexport const Snapshot = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Snapshot identifier.\" }), \"name\": Schema.String.annotate({ \"description\": \"Human-selected tenant-unique snapshot name.\", \"examples\": [\"signed-in-base\"] }), \"tenantId\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Tenant that owns the snapshot.\" }), \"description\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Operator-provided description, or `null` when none is set.\", \"examples\": [\"Signed-in storefront state for checkout tests\"] })), \"parentSnapshotId\": Schema.optionalKey(Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Base snapshot from which the source session was created. Omitted for snapshots without a parent.\" })), \"promotedFromSessionId\": Schema.optionalKey(Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Session whose retained overlay produced this snapshot. Omitted when lineage is unavailable.\" })), \"createdAt\": Schema.String.annotate({ \"description\": \"Time the snapshot was created.\", \"examples\": [\"2026-07-17T12:45:00Z\"], \"format\": \"date-time\" }), \"deletedAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Soft-deletion time, or `null` for an active snapshot.\", \"examples\": [null], \"format\": \"date-time\" })), \"expiresAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Purge eligibility time for a deleted snapshot. Omitted for active snapshots.\", \"examples\": [\"2026-08-16T12:45:00Z\"], \"format\": \"date-time\" })), \"tags\": Schema.optionalKey(Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Snapshot metadata tags. Omitted when no tags are set.\" })) }).annotate({ \"description\": \"Reusable retained browser filesystem state. Deletion is soft until the retention deadline.\", \"identifier\": \"Snapshot\" })\nexport type SessionProxy = { readonly \"upstreams\": { readonly [x: string]: SessionProxyUpstream }, readonly \"rules\": ReadonlyArray<ProxyRule>, readonly \"upstream\": \"direct\" | \"proxy\" | \"tunnel\", readonly \"url\"?: string, readonly \"tunnel\"?: { readonly \"url\"?: string }, readonly \"bypass\"?: string }\nexport const SessionProxy = Schema.Struct({ \"upstreams\": Schema.Record(Schema.String, SessionProxyUpstream), \"rules\": Schema.Array(ProxyRule), \"upstream\": Schema.Literals([\"direct\", \"proxy\", \"tunnel\"]).annotate({ \"description\": \"Legacy single-upstream view of `rules`; read `upstreams` and `rules` instead. Exact when the rules are optional leading `direct` rules followed by one final `*` rule via an upstream proxy or tunnel, with no other upstreams, and `direct` when there are no rules. Otherwise it approximates the route of the last `*` rule (`local` reads as `tunnel`, `refuse` as `direct`), or `direct` without one, and `url`, `tunnel` and `bypass` are omitted.\", \"examples\": [\"tunnel\"] }), \"url\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Legacy upstream proxy URL with its password masked. Only present when `upstream` is exactly `proxy`.\", \"examples\": [\"socks5://user:xxxxx@proxy.example.com:1080\"] })), \"tunnel\": Schema.optionalKey(Schema.Struct({ \"url\": Schema.optionalKey(Schema.String.annotate({ \"examples\": [\"wss+yamux+socks5://tunnel.example.com/t/019f6cf0-0000-7000-8000-000000000010\"] })) }).annotate({ \"description\": \"Legacy tunnel endpoint. Only present when `upstream` is exactly `tunnel`. The secret is never returned.\" })), \"bypass\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Legacy `;`-separated matches of the leading `direct` rules. Only present with an exact `proxy` or `tunnel` value.\", \"examples\": [\"*.internal.example.com\"] })) }).annotate({ \"description\": \"Stored session egress proxy configuration. Secrets are write-only, so this value cannot be replayed as a write.\", \"identifier\": \"SessionProxy\" })\nexport type InitialBrowserElementLocator = { readonly \"tag\": string, readonly \"id\"?: string, readonly \"name\"?: string, readonly \"inputType\"?: string, readonly \"autocomplete\"?: string, readonly \"ariaLabel\"?: string, readonly \"placeholder\"?: string, readonly \"path\": ReadonlyArray<InitialBrowserElementPathStep> }\nexport const InitialBrowserElementLocator = Schema.Struct({ \"tag\": Schema.String.check(Schema.isPattern(new RegExp(\"^[a-z][a-z0-9-]*$\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp ^[a-z][a-z0-9-]*$\" })), \"id\": Schema.optionalKey(Schema.String), \"name\": Schema.optionalKey(Schema.String), \"inputType\": Schema.optionalKey(Schema.String), \"autocomplete\": Schema.optionalKey(Schema.String), \"ariaLabel\": Schema.optionalKey(Schema.String), \"placeholder\": Schema.optionalKey(Schema.String), \"path\": Schema.Array(InitialBrowserElementPathStep).check(Schema.isMaxLength(256).annotate({ \"expected\": \"a value with a length of at most 256\" })) }).annotate({ \"description\": \"Semantic element identity with a structural fallback. It is not a CSS selector.\", \"identifier\": \"InitialBrowserElementLocator\" })\nexport type InitialBrowserCookie = { readonly \"name\": string, readonly \"value\": SensitiveString, readonly \"domain\": string, readonly \"hostOnly\"?: boolean, readonly \"path\": string, readonly \"expires\"?: number, readonly \"httpOnly\"?: boolean, readonly \"secure\"?: boolean, readonly \"sameSite\"?: BrowserCookieSameSite, readonly \"partitionKey\"?: InitialBrowserCookiePartitionKey }\nexport const InitialBrowserCookie = Schema.Struct({ \"name\": Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"value\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"Cookie value. Never log this field.\" }), \"domain\": Schema.String.annotate({ \"examples\": [\".example.com\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"hostOnly\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Scope the cookie to exactly `domain`, without subdomains. `domain` must then be a plain hostname.\", \"default\": false })), \"path\": Schema.String.annotate({ \"examples\": [\"/\"] }).check(Schema.isPattern(new RegExp(\"^\\\\/\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp ^\\\\/\" })), \"expires\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Unix timestamp in seconds. Omit for a session cookie.\" }).check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })).check(Schema.isGreaterThan(0).annotate({ \"expected\": \"a value greater than 0\" }))), \"httpOnly\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })), \"secure\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })), \"sameSite\": Schema.optionalKey(BrowserCookieSameSite), \"partitionKey\": Schema.optionalKey(InitialBrowserCookiePartitionKey) }).annotate({ \"description\": \"Cookie imported into the new browser profile.\", \"identifier\": \"InitialBrowserCookie\" })\nexport type InitialIndexedDBIndex = { readonly \"name\": string, readonly \"keyPath\": InitialIndexedDBIndexKeyPath, readonly \"unique\": boolean, readonly \"multiEntry\": boolean }\nexport const InitialIndexedDBIndex = Schema.Struct({ \"name\": Schema.String, \"keyPath\": InitialIndexedDBIndexKeyPath, \"unique\": Schema.Boolean, \"multiEntry\": Schema.Boolean }).annotate({ \"identifier\": \"InitialIndexedDBIndex\" })\nexport type Recording = { readonly \"recordingId\": string, readonly \"mode\": \"tab\" | \"viewer\", readonly \"targetId\": string, readonly \"captureGeneration\": number, readonly \"status\": \"starting\" | \"running\" | \"stopped\" | \"failed\", readonly \"stopReason\"?: string, readonly \"relativePath\": string, readonly \"startedAt\": string, readonly \"stoppedAt\"?: string, readonly \"sizeBytes\"?: number, readonly \"fps\": number, readonly \"bitrateKbps\": number, readonly \"codec\": \"vp8\" | \"h264-va\", readonly \"editing\": boolean, readonly \"editedRelativePath\"?: string, readonly \"timelineRelativePath\"?: string, readonly \"editError\"?: RecordingEditError }\nexport const Recording = Schema.Struct({ \"recordingId\": Schema.String.annotate({ \"description\": \"Stable recording identifier retained across target changes.\", \"format\": \"uuid\" }), \"mode\": Schema.Literals([\"tab\", \"viewer\"]).annotate({ \"description\": \"Tab recordings stay on their specified top-level target; viewer recordings follow a live session client's selected top-level target and cannot be explicitly retargeted.\" }), \"targetId\": Schema.String.annotate({ \"description\": \"Identifier of the top-level target currently recorded.\" }), \"captureGeneration\": Schema.Number.annotate({ \"description\": \"Assignment generation for the current top-level target.\", \"format\": \"int64\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })), \"status\": Schema.Literals([\"starting\", \"running\", \"stopped\", \"failed\"]), \"stopReason\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Lifecycle reason recorded after the recording stops or fails.\" })), \"relativePath\": Schema.String.annotate({ \"description\": \"Session file path below the session files root; host paths are never exposed.\", \"examples\": [\"recordings/recording-550e8400-e29b-41d4-a716-446655440000.webm\"] }), \"startedAt\": Schema.String.annotate({ \"format\": \"date-time\" }), \"stoppedAt\": Schema.optionalKey(Schema.String.annotate({ \"format\": \"date-time\" })), \"sizeBytes\": Schema.optionalKey(Schema.Number.annotate({ \"format\": \"int64\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"fps\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"bitrateKbps\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"codec\": Schema.Literals([\"vp8\", \"h264-va\"]), \"editing\": Schema.Boolean.annotate({ \"description\": \"Whether the edit a requested stop makes is still running. The raw video is already published; `editedRelativePath`, `timelineRelativePath` and `editError` are filled once this is false.\" }), \"editedRelativePath\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"The edited H.264 video, published next to the raw one as `<name>.edited.mp4`, once a stop made it.\" })), \"timelineRelativePath\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"What the recording's automation did and when, in the raw and edited video's time, published as `<name>.timeline.json`.\" })), \"editError\": Schema.optionalKey(RecordingEditError) }).annotate({ \"description\": \"One logical recording of a top-level target.\", \"identifier\": \"Recording\" })\nexport type SessionFileEntry = SessionFile | SessionDirectory\nexport const SessionFileEntry = Schema.Union([SessionFile, SessionDirectory], { mode: \"oneOf\" }).annotate({ \"description\": \"A session file or directory, told apart by `type`.\", \"identifier\": \"SessionFileEntry\" })\nexport type TargetViewport = { readonly \"targetId\": string, readonly \"generation\": number, readonly \"viewport\": Viewport }\nexport const TargetViewport = Schema.Struct({ \"targetId\": Schema.String, \"generation\": Schema.Number.annotate({ \"description\": \"Assignment generation of the target's media output.\", \"format\": \"int64\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })), \"viewport\": Viewport }).annotate({ \"description\": \"Viewport applied to a top-level target.\", \"identifier\": \"TargetViewport\" })\nexport type TenantPage = { readonly \"data\": ReadonlyArray<Tenant>, readonly \"meta\": PageMeta }\nexport const TenantPage = Schema.Struct({ \"data\": Schema.Array(Tenant), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated tenants.\", \"identifier\": \"TenantPage\" })\nexport type UserPage = { readonly \"data\": ReadonlyArray<User>, readonly \"meta\": PageMeta }\nexport const UserPage = Schema.Struct({ \"data\": Schema.Array(User), \"meta\": PageMeta }).annotate({ \"identifier\": \"UserPage\" })\nexport type EventPage = { readonly \"data\": ReadonlyArray<Event>, readonly \"meta\": PageMeta }\nexport const EventPage = Schema.Struct({ \"data\": Schema.Array(Event), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated tenant events.\", \"identifier\": \"EventPage\" })\nexport type AuditEventPage = { readonly \"data\": ReadonlyArray<AuditEvent>, readonly \"meta\": PageMeta }\nexport const AuditEventPage = Schema.Struct({ \"data\": Schema.Array(AuditEvent), \"meta\": PageMeta }).annotate({ \"identifier\": \"AuditEventPage\" })\nexport type Principal = { readonly \"type\": PrincipalType, readonly \"id\": string, readonly \"authMethod\": \"api_token\" | \"oidc\" | \"passkey\" | \"password\", readonly \"tokenId\": UUIDv7 | null, readonly \"userId\"?: UUIDv7 | null, readonly \"name\": string, readonly \"authorityType\": AuthorityType, readonly \"tenantId\"?: UUIDv7 | null, readonly \"scopes\": ReadonlyArray<Scope>, readonly \"resourceMode\": ResourceMode, readonly \"resourceGrants\": ReadonlyArray<ResourceGrant> }\nexport const Principal = Schema.Struct({ \"type\": PrincipalType, \"id\": Schema.String.annotate({ \"description\": \"Stable identifier of the authenticated subject.\" }), \"authMethod\": Schema.Literals([\"api_token\", \"oidc\", \"passkey\", \"password\"]).annotate({ \"description\": \"Authentication mechanism used for this request.\" }), \"tokenId\": Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"Identifier of the API token used for authentication, or `null` for account-backed sessions.\" }), \"userId\": Schema.optionalKey(Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"User identifier for account-backed authentication, or `null` for API tokens.\" })), \"name\": Schema.String.annotate({ \"description\": \"Display name of the authenticated credential or user.\", \"examples\": [\"deployment automation\"] }), \"authorityType\": AuthorityType, \"tenantId\": Schema.optionalKey(Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"Effective tenant for tenant authority, or `null` when no tenant is selected.\" })), \"scopes\": Schema.Array(Scope).annotate({ \"description\": \"Scopes granted to the authenticated principal.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"resourceMode\": ResourceMode, \"resourceGrants\": Schema.Array(ResourceGrant).annotate({ \"description\": \"Explicit grants when `resourceMode` is `allowlist`; empty when it is `all`.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })) }).annotate({ \"description\": \"Authenticated subject identity and authorization context.\", \"identifier\": \"Principal\" })\nexport type Token = { readonly \"id\": UUIDv7, readonly \"authorityType\": AuthorityType, readonly \"tenantId\"?: UUIDv7 | null, readonly \"name\": string, readonly \"scopes\": ReadonlyArray<Scope>, readonly \"createdAt\": string, readonly \"createdByType\": PrincipalType, readonly \"createdById\": UUIDv7 | null, readonly \"parentTokenId\": UUIDv7 | null, readonly \"resourceMode\": ResourceMode, readonly \"resourceGrants\": ReadonlyArray<ResourceGrant>, readonly \"expiresAt\"?: string | null, readonly \"revokedAt\"?: string | null }\nexport const Token = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Token identifier. This is not the bearer secret.\" }), \"authorityType\": AuthorityType, \"tenantId\": Schema.optionalKey(Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"Bound tenant for a tenant token, or `null` for a system administrator token.\" })), \"name\": Schema.String.annotate({ \"description\": \"Operator-assigned token name, unique within its authority and tenant context.\", \"examples\": [\"ci automation\"] }), \"scopes\": Schema.Array(Scope).annotate({ \"description\": \"Unique scopes granted to the token.\" }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"createdAt\": Schema.String.annotate({ \"description\": \"Time the token was created.\", \"examples\": [\"2026-07-17T12:00:00Z\"], \"format\": \"date-time\" }), \"createdByType\": Schema.suspend((): Schema.Codec<PrincipalType> => PrincipalType).annotate({ \"description\": \"Principal category that created the token.\" }), \"createdById\": Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"User or API token identifier that created the token, or `null` for trusted local system actions.\" }), \"parentTokenId\": Schema.Union([UUIDv7, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"API token used to delegate this token, or `null` when a user or trusted local system created it.\" }), \"resourceMode\": ResourceMode, \"resourceGrants\": Schema.Array(ResourceGrant).annotate({ \"description\": \"Explicit session and snapshot grants when `resourceMode` is `allowlist`.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"expiresAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Authentication expiry time, or `null` when the token does not expire automatically.\", \"examples\": [\"2026-08-17T12:00:00Z\"], \"format\": \"date-time\" })), \"revokedAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Revocation time, or `null` while the token is active.\", \"examples\": [null], \"format\": \"date-time\" })) }).annotate({ \"description\": \"API token metadata. The raw bearer secret is never included in this schema.\", \"identifier\": \"Token\" })\nexport type CreateAdminTokenInput = { readonly \"name\": string, readonly \"authorityType\": \"system_admin\", readonly \"scopes\": ReadonlyArray<Scope>, readonly \"expiresAt\"?: string | null, readonly \"resourceMode\"?: \"all\", readonly \"resourceGrants\"?: ReadonlyArray<ResourceGrant> } | { readonly \"name\": string, readonly \"authorityType\": \"tenant\", readonly \"tenantId\": UUIDv7, readonly \"scopes\": ReadonlyArray<TenantScope>, readonly \"expiresAt\"?: string | null, readonly \"resourceMode\"?: ResourceMode, readonly \"resourceGrants\"?: ReadonlyArray<ResourceGrant> }\nexport const CreateAdminTokenInput = Schema.Union([Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Operator-assigned name. Leading and trailing whitespace is removed.\", \"examples\": [\"platform admin\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"authorityType\": Schema.Literal(\"system_admin\"), \"scopes\": Schema.Array(Scope).annotate({ \"description\": \"Must include `system:admin`.\", \"examples\": [[\"system:admin\"]] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"expiresAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional RFC3339 timestamp. Omit or send `null` for no automatic expiry.\", \"examples\": [\"2026-08-17T12:00:00Z\"], \"format\": \"date-time\" })), \"resourceMode\": Schema.optionalKey(Schema.Literal(\"all\").annotate({ \"description\": \"System administrator tokens cannot use resource allowlists.\", \"default\": \"all\" })), \"resourceGrants\": Schema.optionalKey(Schema.Array(ResourceGrant).annotate({ \"description\": \"Must be empty for a system administrator token.\" }).check(Schema.isMaxLength(0).annotate({ \"expected\": \"a value with a length of at most 0\" }))) }), Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Operator-assigned name. Leading and trailing whitespace is removed.\", \"examples\": [\"tenant automation\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"authorityType\": Schema.Literal(\"tenant\"), \"tenantId\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Active tenant to bind permanently to the token.\" }), \"scopes\": Schema.Array(TenantScope).annotate({ \"description\": \"Tenant-compatible scopes. `system:admin` and `tenants:write` are rejected.\", \"examples\": [[\"sessions:read\", \"sessions:write\"]] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"expiresAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional RFC3339 timestamp. Omit or send `null` for no automatic expiry.\", \"examples\": [\"2026-08-17T12:00:00Z\"], \"format\": \"date-time\" })), \"resourceMode\": Schema.optionalKey(ResourceMode), \"resourceGrants\": Schema.optionalKey(Schema.Array(ResourceGrant).annotate({ \"description\": \"Existing tenant resources granted when `resourceMode` is `allowlist`; must be empty for `all`.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" }))) })], { mode: \"oneOf\" }).annotate({ \"description\": \"Token definition accepted by the system administrator token endpoint.\", \"identifier\": \"CreateAdminTokenInput\" })\nexport type CreateTenantTokenInput = { readonly \"name\": string, readonly \"scopes\": ReadonlyArray<TenantScope>, readonly \"expiresAt\"?: string | null, readonly \"resourceMode\"?: ResourceMode, readonly \"resourceGrants\"?: ReadonlyArray<ResourceGrant> }\nexport const CreateTenantTokenInput = Schema.Struct({ \"name\": Schema.String.annotate({ \"description\": \"Operator-assigned name. Leading and trailing whitespace is removed.\", \"examples\": [\"browser worker\"] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isPattern(new RegExp(\".*\\\\S.*\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp .*\\\\S.*\" })), \"scopes\": Schema.Array(TenantScope).annotate({ \"description\": \"Tenant-compatible scopes. `system:admin` and `tenants:write` are rejected.\", \"examples\": [[\"sessions:read\", \"sessions:write\"]] }).check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" })), \"expiresAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional RFC3339 timestamp. Omit or send `null` for no automatic expiry.\", \"examples\": [\"2026-08-17T12:00:00Z\"], \"format\": \"date-time\" })), \"resourceMode\": Schema.optionalKey(ResourceMode), \"resourceGrants\": Schema.optionalKey(Schema.Array(ResourceGrant).annotate({ \"description\": \"Existing tenant resources granted when `resourceMode` is `allowlist`; must be empty for `all`.\" }).check(Schema.isUnique().annotate({ \"expected\": \"an array with unique items\" }))) }).annotate({ \"description\": \"Token definition automatically bound to the authenticated tenant.\", \"identifier\": \"CreateTenantTokenInput\" })\nexport type LiveSessionFailure = Error | LiveSessionErrorBody\nexport const LiveSessionFailure = Schema.Union([Error, LiveSessionErrorBody], { mode: \"oneOf\" }).annotate({ \"description\": \"Failure of a live-session route.\", \"identifier\": \"LiveSessionFailure\" })\nexport type SessionMedia = { readonly \"mode\": \"auto\" | \"cdp\", readonly \"webrtcProducer\": boolean, readonly \"iceServers\"?: ReadonlyArray<IceServer> }\nexport const SessionMedia = Schema.Struct({ \"mode\": Schema.Literals([\"auto\", \"cdp\"]).annotate({ \"description\": \"Configured media mode. `auto` enables deployment-selected media support; `cdp` exposes Chrome DevTools access only.\", \"examples\": [\"auto\"] }), \"webrtcProducer\": Schema.Boolean.annotate({ \"description\": \"Whether the compositor WebRTC producer is available for this session.\", \"examples\": [true] }), \"iceServers\": Schema.optionalKey(Schema.Array(IceServer).annotate({ \"description\": \"ICE configuration for WebRTC setup. Omitted when WebRTC is unavailable or does not need configured ICE servers.\" })) }).annotate({ \"description\": \"Media capabilities currently available for the session.\", \"identifier\": \"SessionMedia\" })\nexport type InitialTargetStorageOrigin = { readonly \"origin\": string, readonly \"entries\": ReadonlyArray<BrowserStorageEntry> }\nexport const InitialTargetStorageOrigin = Schema.Struct({ \"origin\": Schema.String.annotate({ \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/[^/]+$\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/[^/]+$\" })), \"entries\": Schema.Array(BrowserStorageEntry) }).annotate({ \"identifier\": \"InitialTargetStorageOrigin\" })\nexport type ProxyConfig = { readonly \"upstreams\"?: { readonly [x: string]: ProxyUpstream }, readonly \"rules\"?: ReadonlyArray<ProxyRule>, readonly \"upstream\"?: \"direct\" | \"proxy\" | \"tunnel\", readonly \"url\"?: string, readonly \"tunnel\"?: ProxyTunnelConfig, readonly \"bypass\"?: string }\nexport const ProxyConfig = Schema.Struct({ \"upstreams\": Schema.optionalKey(Schema.Record(Schema.String, ProxyUpstream).annotate({ \"description\": \"Upstreams by name. Names use lowercase letters, digits and dashes; `direct`, `refuse` and `local` are reserved.\" })), \"rules\": Schema.optionalKey(Schema.Array(ProxyRule).check(Schema.isMaxLength(256).annotate({ \"expected\": \"a value with a length of at most 256\" }))), \"upstream\": Schema.optionalKey(Schema.Literals([\"direct\", \"proxy\", \"tunnel\"]).annotate({ \"description\": \"Legacy single-upstream shape; use `upstreams` and `rules`. Cannot be combined with them. `proxy` becomes a final `*` rule via `url`, `tunnel` a `tunnel` upstream and a final `*` rule via it, each preceded by `direct` rules for the `bypass` entries. `direct` or omitted means no rules.\", \"examples\": [\"tunnel\"] })), \"url\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Legacy upstream proxy URL, required with `upstream` `proxy`. Use `upstreams` and `rules`.\", \"examples\": [\"socks5://user:pass@proxy.example.com:1080\"] })), \"tunnel\": Schema.optionalKey(ProxyTunnelConfig), \"bypass\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Legacy hosts to send direct, separated by `;` or `,`. Each entry must be a valid rule `match`; a leading `.` means any subdomain. CIDR ranges, `<local>` and scheme prefixes are rejected. Use `upstreams` and `rules`.\", \"examples\": [\"*.internal.example.com\"] })) }).annotate({ \"description\": \"Session egress proxy configuration. Rules are checked in order and the first match routes the connection; unmatched connections go direct, and unmatched `localhost` stays on the session host. Omitted for direct egress.\", \"identifier\": \"ProxyConfig\" })\nexport type UpdateProxyConfig = { readonly \"upstreams\"?: { readonly [x: string]: ProxyUpstream }, readonly \"rules\"?: ReadonlyArray<ProxyRule>, readonly \"upstream\"?: \"direct\" | \"proxy\" | \"tunnel\", readonly \"url\"?: string, readonly \"tunnel\"?: ProxyTunnelConfig, readonly \"bypass\"?: string, readonly \"drain\"?: boolean }\nexport const UpdateProxyConfig = Schema.Struct({ \"upstreams\": Schema.optionalKey(Schema.Record(Schema.String, ProxyUpstream)), \"rules\": Schema.optionalKey(Schema.Array(ProxyRule).check(Schema.isMaxLength(256).annotate({ \"expected\": \"a value with a length of at most 256\" }))), \"upstream\": Schema.optionalKey(Schema.Literals([\"direct\", \"proxy\", \"tunnel\"]).annotate({ \"description\": \"Legacy single-upstream shape; use `upstreams` and `rules`.\" })), \"url\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Legacy upstream proxy URL; use `upstreams` and `rules`.\" })), \"tunnel\": Schema.optionalKey(ProxyTunnelConfig), \"bypass\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Legacy hosts to send direct; use `upstreams` and `rules`.\" })), \"drain\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Reset live tunnel streams instead of letting them drain. New connections use the new rules either way.\", \"examples\": [false] })) }).annotate({ \"description\": \"Replacement session egress proxy configuration. Fields other than `drain` are as in `ProxyConfig`.\", \"identifier\": \"UpdateProxyConfig\" })\nexport type InitialCacheStorageCache = { readonly \"name\": string, readonly \"entries\": ReadonlyArray<InitialCacheStorageEntry> }\nexport const InitialCacheStorageCache = Schema.Struct({ \"name\": Schema.String, \"entries\": Schema.Array(InitialCacheStorageEntry) }).annotate({ \"identifier\": \"InitialCacheStorageCache\" })\nexport type SnapshotMutation = { readonly \"snapshot\": Snapshot }\nexport const SnapshotMutation = Schema.Struct({ \"snapshot\": Snapshot }).annotate({ \"description\": \"Snapshot returned after a mutation.\", \"identifier\": \"SnapshotMutation\" })\nexport type SnapshotPage = { readonly \"data\": ReadonlyArray<Snapshot>, readonly \"meta\": PageMeta }\nexport const SnapshotPage = Schema.Struct({ \"data\": Schema.Array(Snapshot), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated snapshots.\", \"identifier\": \"SnapshotPage\" })\nexport type InitialBrowserControlState = { readonly \"locator\": InitialBrowserElementLocator, readonly \"value\": SensitiveString, readonly \"checked\"?: boolean, readonly \"selectedIndices\"?: ReadonlyArray<number>, readonly \"selection\"?: InitialBrowserControlSelection }\nexport const InitialBrowserControlState = Schema.Struct({ \"locator\": InitialBrowserElementLocator, \"value\": SensitiveString, \"checked\": Schema.optionalKey(Schema.Boolean), \"selectedIndices\": Schema.optionalKey(Schema.Array(Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })))), \"selection\": Schema.optionalKey(InitialBrowserControlSelection) }).annotate({ \"identifier\": \"InitialBrowserControlState\" })\nexport type InitialBrowserContentEditableState = { readonly \"locator\": InitialBrowserElementLocator, readonly \"html\": SensitiveString }\nexport const InitialBrowserContentEditableState = Schema.Struct({ \"locator\": InitialBrowserElementLocator, \"html\": SensitiveString }).annotate({ \"identifier\": \"InitialBrowserContentEditableState\" })\nexport type InitialBrowserElementScrollPosition = { readonly \"locator\": InitialBrowserElementLocator, readonly \"x\": number, readonly \"y\": number }\nexport const InitialBrowserElementScrollPosition = Schema.Struct({ \"locator\": InitialBrowserElementLocator, \"x\": Schema.Number.check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })), \"y\": Schema.Number.check(Schema.isFinite().annotate({ \"expected\": \"a finite number\" })) }).annotate({ \"identifier\": \"InitialBrowserElementScrollPosition\" })\nexport type InitialBrowserSelectionEndpoint = { readonly \"locator\": InitialBrowserElementLocator, readonly \"nodePath\": ReadonlyArray<number>, readonly \"offset\": number }\nexport const InitialBrowserSelectionEndpoint = Schema.Struct({ \"locator\": InitialBrowserElementLocator, \"nodePath\": Schema.Array(Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))).check(Schema.isMaxLength(256).annotate({ \"expected\": \"a value with a length of at most 256\" })), \"offset\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" })) }).annotate({ \"identifier\": \"InitialBrowserSelectionEndpoint\" })\nexport type InitialIndexedDBObjectStore = { readonly \"name\": string, readonly \"keyPath\": InitialIndexedDBKeyPath, readonly \"autoIncrement\": boolean, readonly \"indexes\": ReadonlyArray<InitialIndexedDBIndex>, readonly \"records\": ReadonlyArray<InitialIndexedDBRecord> }\nexport const InitialIndexedDBObjectStore = Schema.Struct({ \"name\": Schema.String, \"keyPath\": InitialIndexedDBKeyPath, \"autoIncrement\": Schema.Boolean, \"indexes\": Schema.Array(InitialIndexedDBIndex), \"records\": Schema.Array(InitialIndexedDBRecord) }).annotate({ \"identifier\": \"InitialIndexedDBObjectStore\" })\nexport type AuthMe = { readonly \"principal\": Principal, readonly \"selectedTenant\": Tenant | null, readonly \"availableTenants\": ReadonlyArray<Tenant> }\nexport const AuthMe = Schema.Struct({ \"principal\": Principal, \"selectedTenant\": Schema.Union([Tenant, Schema.Null], { mode: \"oneOf\" }).annotate({ \"description\": \"Effective tenant, or `null` when the principal has not selected one.\" }), \"availableTenants\": Schema.Array(Tenant).annotate({ \"description\": \"Active tenant memberships available to an account-backed principal. API-token principals return an empty array.\" }) }).annotate({ \"description\": \"Current principal and its effective tenant selection.\", \"identifier\": \"AuthMe\" })\nexport type TokenPage = { readonly \"data\": ReadonlyArray<Token>, readonly \"meta\": PageMeta }\nexport const TokenPage = Schema.Struct({ \"data\": Schema.Array(Token), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated API token metadata without bearer secrets.\", \"identifier\": \"TokenPage\" })\nexport type CreateTokenResponse = { readonly \"token\": Token, readonly \"rawToken\": SensitiveString }\nexport const CreateTokenResponse = Schema.Struct({ \"token\": Token, \"rawToken\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"One-time Aperture API bearer token. Store it immediately; later reads return only token metadata.\", \"examples\": [\"apt_019f6cf0000070008000000000000002_REDACTED\"] }) }).annotate({ \"description\": \"Created token metadata and its one-time bearer secret.\", \"identifier\": \"CreateTokenResponse\" })\nexport type Session = { readonly \"id\": UUIDv7, readonly \"tenantId\": UUIDv7, readonly \"baseSnapshotName\"?: string, readonly \"label\"?: string, readonly \"status\": SessionStatus, readonly \"browserChannel\"?: string, readonly \"media\": SessionMedia, readonly \"createdAt\": string, readonly \"startedAt\"?: string, readonly \"stoppedAt\"?: string, readonly \"deletedAt\"?: string | null, readonly \"expiresAt\": string, readonly \"lastConnectedAt\"?: string, readonly \"suspendedAt\"?: string, readonly \"tags\"?: StringMap, readonly \"cdpUrl\"?: string, readonly \"sessionToken\"?: SensitiveString, readonly \"collaboration\"?: SessionCollaborationCapabilities, readonly \"thumbnail\"?: SessionThumbnail, readonly \"proxy\"?: SessionProxy }\nexport const Session = Schema.Struct({ \"id\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Session identifier.\" }), \"tenantId\": Schema.suspend((): Schema.Codec<UUIDv7> => UUIDv7).annotate({ \"description\": \"Tenant that owns the session.\" }), \"baseSnapshotName\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Snapshot name used as the session base. Omitted for a blank session.\", \"examples\": [\"signed-in-base\"] })), \"label\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Optional operator-facing session label.\", \"examples\": [\"checkout smoke test\"] })), \"status\": SessionStatus, \"browserChannel\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Browser channel used to create and reopen the session.\", \"examples\": [\"chromium\"] })), \"media\": SessionMedia, \"createdAt\": Schema.String.annotate({ \"description\": \"Time the session record was created.\", \"examples\": [\"2026-07-17T12:00:00Z\"], \"format\": \"date-time\" }), \"startedAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Most recent successful browser start time. Omitted before startup succeeds.\", \"examples\": [\"2026-07-17T12:00:03Z\"], \"format\": \"date-time\" })), \"stoppedAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Most recent browser stop time. Omitted while no stop has occurred.\", \"examples\": [\"2026-07-17T13:00:00Z\"], \"format\": \"date-time\" })), \"deletedAt\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Soft-deletion time, or `null` for a session that has not been deleted.\", \"examples\": [null], \"format\": \"date-time\" })), \"expiresAt\": Schema.String.annotate({ \"description\": \"Retention deadline after which the session and its overlay may be purged. This is not token expiry.\", \"examples\": [\"2026-07-24T12:00:00Z\"], \"format\": \"date-time\" }), \"lastConnectedAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Most recent routed client activity time. Omitted until a client connects.\", \"examples\": [\"2026-07-17T12:30:00Z\"], \"format\": \"date-time\" })), \"suspendedAt\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Most recent suspension time. Omitted unless the session is suspended.\", \"examples\": [\"2026-07-17T13:00:00Z\"], \"format\": \"date-time\" })), \"tags\": Schema.optionalKey(Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Session metadata tags. Omitted when no tags are set.\" })), \"cdpUrl\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Authenticated Chrome DevTools endpoint. Omitted when the session is not currently routable. Use it with `sessionToken`.\", \"examples\": [\"https://aperture.example.com/cdp/019f6cf0-0000-7000-8000-000000000010\"], \"format\": \"uri\" })), \"sessionToken\": Schema.optionalKey(Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"Session access secret returned when live access credentials are available. Rotation invalidates the previous token immediately.\", \"examples\": [\"aps_019f6cf0000070008000000000000010_REDACTED\"] })), \"collaboration\": Schema.optionalKey(SessionCollaborationCapabilities), \"thumbnail\": Schema.optionalKey(SessionThumbnail), \"proxy\": Schema.optionalKey(SessionProxy) }).annotate({ \"description\": \"Browser session state, retention metadata, tags, and currently available access credentials.\", \"identifier\": \"Session\" })\nexport type InitialBrowserDocumentSelection = { readonly \"anchor\": InitialBrowserSelectionEndpoint, readonly \"focus\": InitialBrowserSelectionEndpoint }\nexport const InitialBrowserDocumentSelection = Schema.Struct({ \"anchor\": InitialBrowserSelectionEndpoint, \"focus\": InitialBrowserSelectionEndpoint }).annotate({ \"identifier\": \"InitialBrowserDocumentSelection\" })\nexport type InitialIndexedDBDatabase = { readonly \"name\": string, readonly \"version\": number, readonly \"objectStores\": ReadonlyArray<InitialIndexedDBObjectStore> }\nexport const InitialIndexedDBDatabase = Schema.Struct({ \"name\": Schema.String, \"version\": Schema.Number.check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(1).annotate({ \"expected\": \"a value greater than or equal to 1\" })), \"objectStores\": Schema.Array(InitialIndexedDBObjectStore) }).annotate({ \"identifier\": \"InitialIndexedDBDatabase\" })\nexport type SessionPage = { readonly \"data\": ReadonlyArray<Session>, readonly \"meta\": PageMeta }\nexport const SessionPage = Schema.Struct({ \"data\": Schema.Array(Session), \"meta\": PageMeta }).annotate({ \"description\": \"Cursor-paginated browser sessions.\", \"identifier\": \"SessionPage\" })\nexport type CreateSessionResult = { readonly \"session\": Session, readonly \"cdpUrl\": string, readonly \"sessionToken\": SensitiveString }\nexport const CreateSessionResult = Schema.Struct({ \"session\": Session, \"cdpUrl\": Schema.String.annotate({ \"description\": \"Authenticated Chrome DevTools endpoint for the new session.\", \"examples\": [\"https://aperture.example.com/cdp/019f6cf0-0000-7000-8000-000000000010\"], \"format\": \"uri\" }), \"sessionToken\": Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"Initial session access secret. Store it immediately.\", \"examples\": [\"aps_019f6cf0000070008000000000000010_REDACTED\"] }) }).annotate({ \"description\": \"Newly created session and its one-time initial access credentials.\", \"identifier\": \"CreateSessionResult\" })\nexport type SessionBulkResponse = { readonly \"sessions\": ReadonlyArray<Session> }\nexport const SessionBulkResponse = Schema.Struct({ \"sessions\": Schema.Array(Session) }).annotate({ \"description\": \"Sessions found for the requested IDs, preserving request order.\", \"identifier\": \"SessionBulkResponse\" })\nexport type SessionMutation = { readonly \"session\": Session, readonly \"cdpUrl\"?: string, readonly \"sessionToken\"?: SensitiveString }\nexport const SessionMutation = Schema.Struct({ \"session\": Session, \"cdpUrl\": Schema.optionalKey(Schema.String.annotate({ \"description\": \"Current Chrome DevTools endpoint. Omitted by operations that do not expose live access.\", \"examples\": [\"https://aperture.example.com/cdp/019f6cf0-0000-7000-8000-000000000010\"], \"format\": \"uri\" })), \"sessionToken\": Schema.optionalKey(Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"Current raw session access secret. Omitted by operations that do not expose or replace credentials.\", \"examples\": [\"aps_019f6cf0000070008000000000000010_REDACTED\"] })) }).annotate({ \"description\": \"Updated session and operation-specific live access credentials when available.\", \"identifier\": \"SessionMutation\" })\nexport type InitialBrowserDocumentState = { readonly \"version\": 1, readonly \"windowName\"?: SensitiveString, readonly \"historyState\"?: SensitiveString, readonly \"controls\": ReadonlyArray<InitialBrowserControlState>, readonly \"contentEditables\": ReadonlyArray<InitialBrowserContentEditableState>, readonly \"scrollPositions\": ReadonlyArray<InitialBrowserElementScrollPosition>, readonly \"focus\"?: InitialBrowserElementLocator, readonly \"selection\"?: InitialBrowserDocumentSelection }\nexport const InitialBrowserDocumentState = Schema.Struct({ \"version\": Schema.Literal(1), \"windowName\": Schema.optionalKey(SensitiveString), \"historyState\": Schema.optionalKey(Schema.suspend((): Schema.Codec<SensitiveString, string> => SensitiveString).annotate({ \"description\": \"JSON-encoded structured-clone history state.\" })), \"controls\": Schema.Array(InitialBrowserControlState).check(Schema.isMaxLength(10000).annotate({ \"expected\": \"a value with a length of at most 10000\" })), \"contentEditables\": Schema.Array(InitialBrowserContentEditableState).check(Schema.isMaxLength(10000).annotate({ \"expected\": \"a value with a length of at most 10000\" })), \"scrollPositions\": Schema.Array(InitialBrowserElementScrollPosition).check(Schema.isMaxLength(10000).annotate({ \"expected\": \"a value with a length of at most 10000\" })), \"focus\": Schema.optionalKey(InitialBrowserElementLocator), \"selection\": Schema.optionalKey(InitialBrowserDocumentSelection) }).annotate({ \"description\": \"Sensitive top-document state replayed during initial navigation.\", \"identifier\": \"InitialBrowserDocumentState\" })\nexport type InitialStorageOrigin = { readonly \"origin\": string, readonly \"ancestorOrigins\"?: ReadonlyArray<string>, readonly \"localStorage\": ReadonlyArray<BrowserStorageEntry>, readonly \"indexedDB\"?: ReadonlyArray<InitialIndexedDBDatabase>, readonly \"cacheStorage\"?: ReadonlyArray<InitialCacheStorageCache>, readonly \"opfs\"?: ReadonlyArray<InitialOPFSFile> }\nexport const InitialStorageOrigin = Schema.Struct({ \"origin\": Schema.String.annotate({ \"examples\": [\"https://example.com\"], \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/[^/]+$\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/[^/]+$\" })), \"ancestorOrigins\": Schema.optionalKey(Schema.Array(Schema.String.annotate({ \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/[^/]+$\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/[^/]+$\" }))).annotate({ \"description\": \"Top-down HTTP origin chain for partitioned storage. Omitted for a top-level origin.\" }).check(Schema.isMaxLength(32).annotate({ \"expected\": \"a value with a length of at most 32\" }))), \"localStorage\": Schema.Array(BrowserStorageEntry), \"indexedDB\": Schema.optionalKey(Schema.Array(InitialIndexedDBDatabase)), \"cacheStorage\": Schema.optionalKey(Schema.Array(InitialCacheStorageCache)), \"opfs\": Schema.optionalKey(Schema.Array(InitialOPFSFile)) }).annotate({ \"description\": \"Profile-scoped browser storage imported for one exact HTTP origin and ancestor partition.\", \"identifier\": \"InitialStorageOrigin\" })\nexport type InitialBrowserTarget = { readonly \"url\": string, readonly \"sessionStorage\"?: ReadonlyArray<InitialTargetStorageOrigin>, readonly \"scroll\"?: InitialBrowserScrollPosition, readonly \"documentState\"?: InitialBrowserDocumentState, readonly \"openerTargetIndex\"?: number, readonly \"active\"?: boolean }\nexport const InitialBrowserTarget = Schema.Struct({ \"url\": Schema.String.annotate({ \"description\": \"Absolute HTTP or HTTPS URL without embedded credentials.\", \"examples\": [\"https://example.com/account\"], \"format\": \"uri\" }).check(Schema.isPattern(new RegExp(\"^https?:\\\\/\\\\/\", \"u\")).annotate({ \"expected\": \"a string matching the RegExp ^https?:\\\\/\\\\/\" })), \"sessionStorage\": Schema.optionalKey(Schema.Array(InitialTargetStorageOrigin).annotate({ \"description\": \"Per-origin session storage installed in target frames before page scripts execute.\" })), \"scroll\": Schema.optionalKey(InitialBrowserScrollPosition), \"documentState\": Schema.optionalKey(InitialBrowserDocumentState), \"openerTargetIndex\": Schema.optionalKey(Schema.Number.annotate({ \"description\": \"Index of another initial target that opened this target.\" }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"active\": Schema.optionalKey(Schema.Boolean.annotate({ \"description\": \"Select this target for the first connected session client. At most one target may be active.\", \"default\": false })) }).annotate({ \"description\": \"HTTP page and target-scoped state opened during session creation.\", \"identifier\": \"InitialBrowserTarget\" })\nexport type InitialBrowserStorageState = { readonly \"cookies\": ReadonlyArray<InitialBrowserCookie>, readonly \"origins\": ReadonlyArray<InitialStorageOrigin> }\nexport const InitialBrowserStorageState = Schema.Struct({ \"cookies\": Schema.Array(InitialBrowserCookie).check(Schema.isMaxLength(10000).annotate({ \"expected\": \"a value with a length of at most 10000\" })), \"origins\": Schema.Array(InitialStorageOrigin).check(Schema.isMaxLength(100).annotate({ \"expected\": \"a value with a length of at most 100\" })) }).annotate({ \"description\": \"Profile-scoped browser storage imported before initial browser targets are opened.\", \"identifier\": \"InitialBrowserStorageState\" })\nexport type CreateSessionInput = { readonly \"baseSnapshotName\"?: string | null, readonly \"label\"?: string | null, readonly \"browser\": BrowserConfig, readonly \"initialTargets\"?: ReadonlyArray<InitialBrowserTarget>, readonly \"storageState\"?: InitialBrowserStorageState, readonly \"tags\"?: StringMap, readonly \"proxy\"?: ProxyConfig }\nexport const CreateSessionInput = Schema.Struct({ \"baseSnapshotName\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Active snapshot used as the browser filesystem base. Omit, send `null`, or send an empty value for a blank session.\", \"examples\": [\"signed-in-base\"] })), \"label\": Schema.optionalKey(Schema.Union([Schema.String, Schema.Null]).annotate({ \"description\": \"Optional operator-facing label for the session.\", \"examples\": [\"checkout smoke test\"] })), \"browser\": BrowserConfig, \"initialTargets\": Schema.optionalKey(Schema.Array(InitialBrowserTarget).annotate({ \"description\": \"Browser targets that replace the browser's startup page after storage import. Result order follows input order; opener dependencies may be created first.\" }).check(Schema.isMaxLength(50).annotate({ \"expected\": \"a value with a length of at most 50\" }))), \"storageState\": Schema.optionalKey(InitialBrowserStorageState), \"tags\": Schema.optionalKey(Schema.suspend((): Schema.Codec<StringMap> => StringMap).annotate({ \"description\": \"Initial session tags.\" })), \"proxy\": Schema.optionalKey(ProxyConfig) }).annotate({ \"description\": \"Configuration for a new retained browser session.\", \"examples\": [{ \"baseSnapshotName\": \"signed-in-base\", \"label\": \"checkout smoke test\", \"browser\": { \"channel\": \"chromium\", \"args\": [\"--lang=en-US\"] }, \"initialTargets\": [{ \"url\": \"https://example.com/account\" }], \"storageState\": { \"cookies\": [], \"origins\": [{ \"origin\": \"https://example.com\", \"localStorage\": [{ \"name\": \"access-token\", \"value\": \"REDACTED\" }] }] }, \"tags\": { \"environment\": \"staging\", \"suite\": \"checkout\" } }], \"identifier\": \"CreateSessionInput\" })\n// schemas\nexport type GetHealth200 = Health\nexport const GetHealth200 = Health\nexport type GetCurrentPrincipalParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetCurrentPrincipalParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetCurrentPrincipal200 = AuthMe\nexport const GetCurrentPrincipal200 = AuthMe\nexport type GetCurrentPrincipaldefault = Error\nexport const GetCurrentPrincipaldefault = Error\nexport type ListBrowserChannels200 = BrowserChannels\nexport const ListBrowserChannels200 = BrowserChannels\nexport type ListBrowserChannelsdefault = Error\nexport const ListBrowserChannelsdefault = Error\nexport type ListTenantsParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"deleted\"?: \"active\" | \"deleted\" | \"all\", readonly \"includeDeleted\"?: boolean, readonly \"query\"?: string }\nexport const ListTenantsParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"deleted\": Schema.optionalKey(Schema.Literals([\"active\", \"deleted\", \"all\"]).annotate({ \"default\": \"active\" })), \"includeDeleted\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })), \"query\": Schema.optionalKey(Schema.String) })\nexport type ListTenants200 = TenantPage\nexport const ListTenants200 = TenantPage\nexport type ListTenantsdefault = Error\nexport const ListTenantsdefault = Error\nexport type CreateTenantRequestJson = TenantInput\nexport const CreateTenantRequestJson = TenantInput\nexport type CreateTenant201 = Tenant\nexport const CreateTenant201 = Tenant\nexport type CreateTenantdefault = Error\nexport const CreateTenantdefault = Error\nexport type DeleteTenant200 = Tenant\nexport const DeleteTenant200 = Tenant\nexport type DeleteTenantdefault = Error\nexport const DeleteTenantdefault = Error\nexport type UpdateTenantRequestJson = TenantInput\nexport const UpdateTenantRequestJson = TenantInput\nexport type UpdateTenant200 = Tenant\nexport const UpdateTenant200 = Tenant\nexport type UpdateTenantdefault = Error\nexport const UpdateTenantdefault = Error\nexport type RestoreTenant200 = Tenant\nexport const RestoreTenant200 = Tenant\nexport type RestoreTenantdefault = Error\nexport const RestoreTenantdefault = Error\nexport type ListUsersParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"query\"?: string, readonly \"disabled\"?: \"active\" | \"disabled\" | \"all\" }\nexport const ListUsersParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"query\": Schema.optionalKey(Schema.String), \"disabled\": Schema.optionalKey(Schema.Literals([\"active\", \"disabled\", \"all\"]).annotate({ \"default\": \"active\" })) })\nexport type ListUsers200 = UserPage\nexport const ListUsers200 = UserPage\nexport type ListUsersdefault = Error\nexport const ListUsersdefault = Error\nexport type CreateUserRequestJson = UserInput\nexport const CreateUserRequestJson = UserInput\nexport type CreateUser201 = User\nexport const CreateUser201 = User\nexport type CreateUserdefault = Error\nexport const CreateUserdefault = Error\nexport type GetUser200 = User\nexport const GetUser200 = User\nexport type GetUserdefault = Error\nexport const GetUserdefault = Error\nexport type DisableUser200 = User\nexport const DisableUser200 = User\nexport type DisableUserdefault = Error\nexport const DisableUserdefault = Error\nexport type UpdateUserRequestJson = UserInput\nexport const UpdateUserRequestJson = UserInput\nexport type UpdateUser200 = User\nexport const UpdateUser200 = User\nexport type UpdateUserdefault = Error\nexport const UpdateUserdefault = Error\nexport type RestoreUser200 = User\nexport const RestoreUser200 = User\nexport type RestoreUserdefault = Error\nexport const RestoreUserdefault = Error\nexport type CreateUserInvitation201 = UserInvitation\nexport const CreateUserInvitation201 = UserInvitation\nexport type CreateUserInvitationdefault = Error\nexport const CreateUserInvitationdefault = Error\nexport type ListUserMemberships200 = ReadonlyArray<TenantMembership>\nexport const ListUserMemberships200 = Schema.Array(TenantMembership)\nexport type ListUserMembershipsdefault = Error\nexport const ListUserMembershipsdefault = Error\nexport type ListTenantMemberships200 = ReadonlyArray<TenantMembership>\nexport const ListTenantMemberships200 = Schema.Array(TenantMembership)\nexport type ListTenantMembershipsdefault = Error\nexport const ListTenantMembershipsdefault = Error\nexport type UpsertTenantMembershipRequestJson = TenantMembershipInput\nexport const UpsertTenantMembershipRequestJson = TenantMembershipInput\nexport type UpsertTenantMembership200 = TenantMembership\nexport const UpsertTenantMembership200 = TenantMembership\nexport type UpsertTenantMembershipdefault = Error\nexport const UpsertTenantMembershipdefault = Error\nexport type DeleteTenantMembershipdefault = Error\nexport const DeleteTenantMembershipdefault = Error\nexport type ListAuditEventsParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"tenantId\"?: UUIDv7, readonly \"actorType\"?: PrincipalType, readonly \"actorId\"?: string, readonly \"action\"?: string, readonly \"resourceType\"?: string, readonly \"resourceId\"?: string }\nexport const ListAuditEventsParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"tenantId\": Schema.optionalKey(UUIDv7), \"actorType\": Schema.optionalKey(PrincipalType), \"actorId\": Schema.optionalKey(Schema.String), \"action\": Schema.optionalKey(Schema.String), \"resourceType\": Schema.optionalKey(Schema.String), \"resourceId\": Schema.optionalKey(Schema.String) })\nexport type ListAuditEvents200 = AuditEventPage\nexport const ListAuditEvents200 = AuditEventPage\nexport type ListAuditEventsdefault = Error\nexport const ListAuditEventsdefault = Error\nexport type ListAdminTokensParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"authorityType\"?: AuthorityType, readonly \"tenantId\"?: UUIDv7, readonly \"name\"?: string, readonly \"scope\"?: Scope, readonly \"revoked\"?: \"active\" | \"revoked\" | \"all\" }\nexport const ListAdminTokensParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"authorityType\": Schema.optionalKey(AuthorityType), \"tenantId\": Schema.optionalKey(UUIDv7), \"name\": Schema.optionalKey(Schema.String), \"scope\": Schema.optionalKey(Scope), \"revoked\": Schema.optionalKey(Schema.Literals([\"active\", \"revoked\", \"all\"]).annotate({ \"default\": \"all\" })) })\nexport type ListAdminTokens200 = TokenPage\nexport const ListAdminTokens200 = TokenPage\nexport type ListAdminTokensdefault = Error\nexport const ListAdminTokensdefault = Error\nexport type CreateAdminTokenRequestJson = CreateAdminTokenInput\nexport const CreateAdminTokenRequestJson = CreateAdminTokenInput\nexport type CreateAdminToken201 = CreateTokenResponse\nexport const CreateAdminToken201 = CreateTokenResponse\nexport type CreateAdminTokendefault = Error\nexport const CreateAdminTokendefault = Error\nexport type RevokeAdminTokendefault = Error\nexport const RevokeAdminTokendefault = Error\nexport type GetTenant200 = Tenant\nexport const GetTenant200 = Tenant\nexport type GetTenantdefault = Error\nexport const GetTenantdefault = Error\nexport type UpdateSelectedTenantRequestJson = TenantInput\nexport const UpdateSelectedTenantRequestJson = TenantInput\nexport type UpdateSelectedTenant200 = Tenant\nexport const UpdateSelectedTenant200 = Tenant\nexport type UpdateSelectedTenantdefault = Error\nexport const UpdateSelectedTenantdefault = Error\nexport type ListTenantTokensParams = { readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"name\"?: string, readonly \"scope\"?: Scope, readonly \"revoked\"?: \"active\" | \"revoked\" | \"all\" }\nexport const ListTenantTokensParams = Schema.Struct({ \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"name\": Schema.optionalKey(Schema.String), \"scope\": Schema.optionalKey(Scope), \"revoked\": Schema.optionalKey(Schema.Literals([\"active\", \"revoked\", \"all\"]).annotate({ \"default\": \"all\" })) })\nexport type ListTenantTokens200 = TokenPage\nexport const ListTenantTokens200 = TokenPage\nexport type ListTenantTokensdefault = Error\nexport const ListTenantTokensdefault = Error\nexport type CreateTenantTokenRequestJson = CreateTenantTokenInput\nexport const CreateTenantTokenRequestJson = CreateTenantTokenInput\nexport type CreateTenantToken201 = CreateTokenResponse\nexport const CreateTenantToken201 = CreateTokenResponse\nexport type CreateTenantTokendefault = Error\nexport const CreateTenantTokendefault = Error\nexport type RevokeTenantTokendefault = Error\nexport const RevokeTenantTokendefault = Error\nexport type ListSessionsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"includeDeleted\"?: boolean, readonly \"status\"?: SessionStatus, readonly \"query\"?: string, readonly \"tagKey\"?: ReadonlyArray<string>, readonly \"tagValue\"?: ReadonlyArray<string>, readonly \"tagOperator\"?: ReadonlyArray<\"eq\" | \"neq\" | \"in\" | \"not_in\"> }\nexport const ListSessionsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"includeDeleted\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })), \"status\": Schema.optionalKey(SessionStatus), \"query\": Schema.optionalKey(Schema.String), \"tagKey\": Schema.optionalKey(Schema.Array(Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })))), \"tagValue\": Schema.optionalKey(Schema.Array(Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })))), \"tagOperator\": Schema.optionalKey(Schema.Array(Schema.Literals([\"eq\", \"neq\", \"in\", \"not_in\"]))) })\nexport type ListSessions200 = SessionPage\nexport const ListSessions200 = SessionPage\nexport type ListSessionsdefault = Error\nexport const ListSessionsdefault = Error\nexport type CreateSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"waitForReady\"?: boolean }\nexport const CreateSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"waitForReady\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": true })) })\nexport type CreateSessionRequestJson = CreateSessionInput\nexport const CreateSessionRequestJson = CreateSessionInput\nexport type CreateSession201 = CreateSessionResult\nexport const CreateSession201 = CreateSessionResult\nexport type CreateSessiondefault = Error\nexport const CreateSessiondefault = Error\nexport type GetSessionsBulkParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionsBulkParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSessionsBulkRequestJson = SessionBulkInput\nexport const GetSessionsBulkRequestJson = SessionBulkInput\nexport type GetSessionsBulk200 = SessionBulkResponse\nexport const GetSessionsBulk200 = SessionBulkResponse\nexport type GetSessionsBulkdefault = Error\nexport const GetSessionsBulkdefault = Error\nexport type GetSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSession200 = Session\nexport const GetSession200 = Session\nexport type GetSessiondefault = Error\nexport const GetSessiondefault = Error\nexport type DeleteSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const DeleteSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type DeleteSession200 = SessionMutation\nexport const DeleteSession200 = SessionMutation\nexport type DeleteSessiondefault = Error\nexport const DeleteSessiondefault = Error\nexport type ReplaceSessionTagsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ReplaceSessionTagsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ReplaceSessionTagsRequestJson = ReplaceTagsInput\nexport const ReplaceSessionTagsRequestJson = ReplaceTagsInput\nexport type ReplaceSessionTags200 = SessionMutation\nexport const ReplaceSessionTags200 = SessionMutation\nexport type ReplaceSessionTagsdefault = Error\nexport const ReplaceSessionTagsdefault = Error\nexport type UpdateSessionProxyParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const UpdateSessionProxyParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type UpdateSessionProxyRequestJson = UpdateProxyConfig\nexport const UpdateSessionProxyRequestJson = UpdateProxyConfig\nexport type UpdateSessionProxy200 = SessionMutation\nexport const UpdateSessionProxy200 = SessionMutation\nexport type UpdateSessionProxydefault = Error\nexport const UpdateSessionProxydefault = Error\nexport type SuspendSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const SuspendSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type SuspendSession200 = SessionMutation\nexport const SuspendSession200 = SessionMutation\nexport type SuspendSessiondefault = Error\nexport const SuspendSessiondefault = Error\nexport type ReopenSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ReopenSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ReopenSession200 = SessionMutation\nexport const ReopenSession200 = SessionMutation\nexport type ReopenSessiondefault = Error\nexport const ReopenSessiondefault = Error\nexport type RotateSessionTokenParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const RotateSessionTokenParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type RotateSessionToken200 = SessionMutation\nexport const RotateSessionToken200 = SessionMutation\nexport type RotateSessionTokendefault = Error\nexport const RotateSessionTokendefault = Error\nexport type RotateCollaborationCapabilityParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const RotateCollaborationCapabilityParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type RotateCollaborationCapability200 = SessionMutation\nexport const RotateCollaborationCapability200 = SessionMutation\nexport type RotateCollaborationCapabilitydefault = Error\nexport const RotateCollaborationCapabilitydefault = Error\nexport type GetSessionCursorParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionCursorParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSessionCursor200 = CursorVisibility\nexport const GetSessionCursor200 = CursorVisibility\nexport type GetSessionCursordefault = Error\nexport const GetSessionCursordefault = Error\nexport type SetSessionCursorParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const SetSessionCursorParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type SetSessionCursorRequestJson = CursorVisibility\nexport const SetSessionCursorRequestJson = CursorVisibility\nexport type SetSessionCursor200 = CursorVisibility\nexport const SetSessionCursor200 = CursorVisibility\nexport type SetSessionCursordefault = Error\nexport const SetSessionCursordefault = Error\nexport type GetSessionThumbnailParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionThumbnailParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSessionThumbnaildefault = Error\nexport const GetSessionThumbnaildefault = Error\nexport type GetSessionTargetThumbnailParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionTargetThumbnailParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSessionTargetThumbnaildefault = Error\nexport const GetSessionTargetThumbnaildefault = Error\nexport type ExportSessionStorageStateParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ExportSessionStorageStateParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ExportSessionStorageStateRequestJson = ExportSessionStorageStateInput\nexport const ExportSessionStorageStateRequestJson = ExportSessionStorageStateInput\nexport type ExportSessionStorageState200 = InitialBrowserStorageState\nexport const ExportSessionStorageState200 = InitialBrowserStorageState\nexport type ExportSessionStorageStatedefault = Error\nexport const ExportSessionStorageStatedefault = Error\nexport type ListSessionRecordingsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ListSessionRecordingsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ListSessionRecordings200 = ReadonlyArray<Recording>\nexport const ListSessionRecordings200 = Schema.Array(Recording)\nexport type ListSessionRecordingsdefault = Error\nexport const ListSessionRecordingsdefault = Error\nexport type CreateSessionRecordingParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const CreateSessionRecordingParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type CreateSessionRecordingRequestJson = CreateSessionRecordingInput\nexport const CreateSessionRecordingRequestJson = CreateSessionRecordingInput\nexport type CreateSessionRecording201 = Recording\nexport const CreateSessionRecording201 = Recording\nexport type CreateSessionRecordingdefault = Error\nexport const CreateSessionRecordingdefault = Error\nexport type GetSessionRecordingParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const GetSessionRecordingParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type GetSessionRecording200 = Recording\nexport const GetSessionRecording200 = Recording\nexport type GetSessionRecordingdefault = Error\nexport const GetSessionRecordingdefault = Error\nexport type RetargetSessionRecordingParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const RetargetSessionRecordingParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type RetargetSessionRecordingRequestJson = RetargetSessionRecordingInput\nexport const RetargetSessionRecordingRequestJson = RetargetSessionRecordingInput\nexport type RetargetSessionRecording200 = Recording\nexport const RetargetSessionRecording200 = Recording\nexport type RetargetSessionRecordingdefault = Error\nexport const RetargetSessionRecordingdefault = Error\nexport type StopSessionRecordingParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const StopSessionRecordingParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type StopSessionRecording200 = Recording\nexport const StopSessionRecording200 = Recording\nexport type StopSessionRecordingdefault = Error\nexport const StopSessionRecordingdefault = Error\nexport type ListSessionFilesParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ListSessionFilesParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ListSessionFiles200 = ReadonlyArray<SessionFileEntry>\nexport const ListSessionFiles200 = Schema.Array(SessionFileEntry)\nexport type ListSessionFilesdefault = Error\nexport const ListSessionFilesdefault = Error\nexport type UploadSessionFilesParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"directory\"?: string }\nexport const UploadSessionFilesParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"directory\": Schema.optionalKey(Schema.String.annotate({ \"default\": \"uploads\" })) })\nexport type UploadSessionFilesRequestFormData = { readonly \"files\"?: ReadonlyArray<__ClientMultipartFile> }\nexport const UploadSessionFilesRequestFormData = Schema.Struct({ \"files\": Schema.optionalKey(Schema.Array(__ClientMultipartFile)) })\nexport type UploadSessionFiles201 = { readonly \"files\": ReadonlyArray<SessionFile> }\nexport const UploadSessionFiles201 = Schema.Struct({ \"files\": Schema.Array(SessionFile) }).annotate({ \"description\": \"Files stored by this request, in request order.\" })\nexport type UploadSessionFilesdefault = Error\nexport const UploadSessionFilesdefault = Error\nexport type DeleteSessionFileParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"relativePath\": string, readonly \"recursive\"?: boolean }\nexport const DeleteSessionFileParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"relativePath\": Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })), \"recursive\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })) })\nexport type DeleteSessionFiledefault = Error\nexport const DeleteSessionFiledefault = Error\nexport type MoveSessionFileParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const MoveSessionFileParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type MoveSessionFileRequestJson = MoveSessionFileInput\nexport const MoveSessionFileRequestJson = MoveSessionFileInput\nexport type MoveSessionFile200 = SessionFileEntry\nexport const MoveSessionFile200 = SessionFileEntry\nexport type MoveSessionFiledefault = Error\nexport const MoveSessionFiledefault = Error\nexport type CreateSessionDirectoryParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const CreateSessionDirectoryParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type CreateSessionDirectoryRequestJson = CreateSessionDirectoryInput\nexport const CreateSessionDirectoryRequestJson = CreateSessionDirectoryInput\nexport type CreateSessionDirectory201 = SessionDirectory\nexport const CreateSessionDirectory201 = SessionDirectory\nexport type CreateSessionDirectorydefault = Error\nexport const CreateSessionDirectorydefault = Error\nexport type CreateSessionFileDownloadURLParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const CreateSessionFileDownloadURLParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type CreateSessionFileDownloadURLRequestJson = SessionFileDownloadURLInput\nexport const CreateSessionFileDownloadURLRequestJson = SessionFileDownloadURLInput\nexport type CreateSessionFileDownloadURL200 = SessionFileDownloadURL\nexport const CreateSessionFileDownloadURL200 = SessionFileDownloadURL\nexport type CreateSessionFileDownloadURLdefault = Error\nexport const CreateSessionFileDownloadURLdefault = Error\nexport type PromoteSessionParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const PromoteSessionParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type PromoteSessionRequestJson = PromoteSessionInput\nexport const PromoteSessionRequestJson = PromoteSessionInput\nexport type PromoteSession200 = SnapshotMutation\nexport const PromoteSession200 = SnapshotMutation\nexport type PromoteSessiondefault = Error\nexport const PromoteSessiondefault = Error\nexport type ListSnapshotsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"name\"?: string, readonly \"deleted\"?: \"active\" | \"deleted\" | \"all\", readonly \"includeDeleted\"?: boolean, readonly \"tagKey\"?: ReadonlyArray<string>, readonly \"tagValue\"?: ReadonlyArray<string>, readonly \"tagOperator\"?: ReadonlyArray<\"eq\" | \"neq\" | \"in\" | \"not_in\"> }\nexport const ListSnapshotsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"name\": Schema.optionalKey(Schema.String), \"deleted\": Schema.optionalKey(Schema.Literals([\"active\", \"deleted\", \"all\"]).annotate({ \"default\": \"active\" })), \"includeDeleted\": Schema.optionalKey(Schema.Boolean.annotate({ \"default\": false })), \"tagKey\": Schema.optionalKey(Schema.Array(Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })))), \"tagValue\": Schema.optionalKey(Schema.Array(Schema.String.check(Schema.isMinLength(1).annotate({ \"expected\": \"a value with a length of at least 1\" })))), \"tagOperator\": Schema.optionalKey(Schema.Array(Schema.Literals([\"eq\", \"neq\", \"in\", \"not_in\"]))) })\nexport type ListSnapshots200 = SnapshotPage\nexport const ListSnapshots200 = SnapshotPage\nexport type ListSnapshotsdefault = Error\nexport const ListSnapshotsdefault = Error\nexport type DeleteSnapshotParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const DeleteSnapshotParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type DeleteSnapshot200 = SnapshotMutation\nexport const DeleteSnapshot200 = SnapshotMutation\nexport type DeleteSnapshotdefault = Error\nexport const DeleteSnapshotdefault = Error\nexport type UpdateSnapshotParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const UpdateSnapshotParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type UpdateSnapshotRequestJson = UpdateSnapshotInput\nexport const UpdateSnapshotRequestJson = UpdateSnapshotInput\nexport type UpdateSnapshot200 = SnapshotMutation\nexport const UpdateSnapshot200 = SnapshotMutation\nexport type UpdateSnapshotdefault = Error\nexport const UpdateSnapshotdefault = Error\nexport type ReplaceSnapshotTagsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const ReplaceSnapshotTagsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type ReplaceSnapshotTagsRequestJson = ReplaceTagsInput\nexport const ReplaceSnapshotTagsRequestJson = ReplaceTagsInput\nexport type ReplaceSnapshotTags200 = SnapshotMutation\nexport const ReplaceSnapshotTags200 = SnapshotMutation\nexport type ReplaceSnapshotTagsdefault = Error\nexport const ReplaceSnapshotTagsdefault = Error\nexport type RestoreSnapshotParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const RestoreSnapshotParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type RestoreSnapshot200 = SnapshotMutation\nexport const RestoreSnapshot200 = SnapshotMutation\nexport type RestoreSnapshotdefault = Error\nexport const RestoreSnapshotdefault = Error\nexport type ListEventsParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7, readonly \"limit\"?: number, readonly \"cursor\"?: string, readonly \"resourceType\"?: string, readonly \"resourceId\"?: string }\nexport const ListEventsParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7), \"limit\": Schema.optionalKey(Schema.Number.annotate({ \"default\": 50 }).check(Schema.isInt().annotate({ \"expected\": \"an integer\" })).check(Schema.isGreaterThanOrEqualTo(0).annotate({ \"expected\": \"a value greater than or equal to 0\" }))), \"cursor\": Schema.optionalKey(Schema.String), \"resourceType\": Schema.optionalKey(Schema.String), \"resourceId\": Schema.optionalKey(Schema.String) })\nexport type ListEvents200 = EventPage\nexport const ListEvents200 = EventPage\nexport type ListEventsdefault = Error\nexport const ListEventsdefault = Error\nexport type UploadLiveSessionFilesParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const UploadLiveSessionFilesParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type UploadLiveSessionFilesRequestFormData = { readonly \"files\"?: ReadonlyArray<__ClientMultipartFile> }\nexport const UploadLiveSessionFilesRequestFormData = Schema.Struct({ \"files\": Schema.optionalKey(Schema.Array(__ClientMultipartFile)) })\nexport type UploadLiveSessionFiles201 = { readonly \"files\": ReadonlyArray<SessionFile> }\nexport const UploadLiveSessionFiles201 = Schema.Struct({ \"files\": Schema.Array(SessionFile) }).annotate({ \"description\": \"Files stored by this request, in request order.\" })\nexport type UploadLiveSessionFilesdefault = LiveSessionFailure\nexport const UploadLiveSessionFilesdefault = LiveSessionFailure\nexport type SetSessionViewportParams = { readonly \"X-Aperture-Tenant-Id\"?: UUIDv7 }\nexport const SetSessionViewportParams = Schema.Struct({ \"X-Aperture-Tenant-Id\": Schema.optionalKey(UUIDv7) })\nexport type SetSessionViewportRequestJson = SetViewportInput\nexport const SetSessionViewportRequestJson = SetViewportInput\nexport type SetSessionViewport200 = TargetViewport\nexport const SetSessionViewport200 = TargetViewport\nexport type SetSessionViewportdefault = LiveSessionFailure\nexport const SetSessionViewportdefault = LiveSessionFailure\n\nexport interface OperationConfig {\n /**\n * Whether or not the response should be included in the value returned from\n * an operation.\n *\n * If set to `true`, a tuple of `[A, HttpClientResponse]` will be returned,\n * where `A` is the success type of the operation.\n *\n * If set to `false`, only the success type of the operation will be returned.\n */\n readonly includeResponse?: boolean | undefined\n}\n\n/**\n * A utility type which optionally includes the response in the return result\n * of an operation based upon the value of the `includeResponse` configuration\n * option.\n */\nexport type WithOptionalResponse<A, Config extends OperationConfig> = Config extends {\n readonly includeResponse: true\n} ? [A, HttpClientResponse.HttpClientResponse] : A\n\nexport const make = (\n httpClient: HttpClient.HttpClient,\n options: {\n readonly transformClient?: ((client: HttpClient.HttpClient) => Effect.Effect<HttpClient.HttpClient>) | undefined\n } = {}\n): ApertureApi => {\n const unexpectedStatus = (response: HttpClientResponse.HttpClientResponse) =>\n Effect.flatMap(\n Effect.orElseSucceed(response.json, () => \"Unexpected status code\"),\n (description) =>\n Effect.fail(\n new HttpClientError.HttpClientError({\n reason: new HttpClientError.StatusCodeError({\n request: response.request,\n response,\n description: typeof description === \"string\" ? description : JSON.stringify(description),\n }),\n }),\n ),\n )\n const withResponse = <Config extends OperationConfig>(config: Config | undefined) => (\n f: (response: HttpClientResponse.HttpClientResponse) => Effect.Effect<any, any>,\n ): (request: HttpClientRequest.HttpClientRequest) => Effect.Effect<any, any> => {\n const withOptionalResponse = (\n config?.includeResponse\n ? (response: HttpClientResponse.HttpClientResponse) => Effect.map(f(response), (a) => [a, response])\n : (response: HttpClientResponse.HttpClientResponse) => f(response)\n ) as any\n return options?.transformClient\n ? (request) =>\n Effect.flatMap(\n Effect.flatMap(options.transformClient!(httpClient), (client) => client.execute(request)),\n withOptionalResponse\n )\n : (request) => Effect.flatMap(httpClient.execute(request), withOptionalResponse)\n }\n const __encodePathParam = encodeURIComponent\n const __makePathRequest = (\n method: (url: string) => HttpClientRequest.HttpClientRequest,\n parameters: ReadonlyArray<string>,\n getPath: () => string,\n ) => Effect.suspend(() => {\n const fail = (description: string, cause?: unknown) => Effect.fail(\n new HttpClientError.HttpClientError({\n reason: new HttpClientError.InvalidUrlError({\n request: method(\"\"),\n cause,\n description,\n }),\n }),\n )\n if (parameters.some((value) => value === \"\" || /^(?:\\.|%2e){1,2}$/i.test(value))) {\n return fail(\"Path parameters must be non-empty and cannot be dot segments\")\n }\n let path: string\n try {\n path = getPath()\n } catch (cause) {\n return fail(\"Failed to encode path parameter\", cause)\n }\n if (path.split(\"/\").some((segment) => /^(?:\\.|%2e){1,2}$/i.test(segment))) {\n return fail(\"Request paths cannot contain dot segments\")\n }\n return Effect.succeed(method(path))\n })\n const executeStreamRequest = (request: HttpClientRequest.HttpClientRequest) =>\n Effect.suspend(() =>\n options.transformClient\n ? Effect.flatMap(options.transformClient(httpClient), (client) => HttpClient.filterStatusOk(client).execute(request))\n : HttpClient.filterStatusOk(httpClient).execute(request)\n )\n const decodeBinary = (response: HttpClientResponse.HttpClientResponse) =>\n Effect.map(response.arrayBuffer, (buffer) => new Uint8Array(buffer))\n const binaryRequest = (request: HttpClientRequest.HttpClientRequest): Stream.Stream<Uint8Array, HttpClientError.HttpClientError> =>\n executeStreamRequest(request).pipe(\n Effect.map((response) => response.stream),\n Stream.unwrap\n )\n const decodeSuccess =\n <Schema extends Schema.Constraint>(schema: Schema) =>\n (response: HttpClientResponse.HttpClientResponse) =>\n HttpClientResponse.schemaBodyJson(schema)(response)\n const decodeError =\n <const Tag extends string, Schema extends Schema.Constraint>(tag: Tag, schema: Schema) =>\n (response: HttpClientResponse.HttpClientResponse) =>\n Effect.flatMap(\n HttpClientResponse.schemaBodyJson(schema)(response),\n (cause) => Effect.fail(ApertureApiError(tag, cause, response)),\n )\n return {\n httpClient,\n \"getHealth\": (options) => HttpClientRequest.get(\"/api/health\").pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetHealth200),\n orElse: unexpectedStatus\n }))\n ),\n \"getCurrentPrincipal\": (options) => HttpClientRequest.get(\"/api/auth/me\").pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetCurrentPrincipal200),\n orElse: unexpectedStatus\n }))\n ),\n \"listBrowserChannels\": (options) => HttpClientRequest.get(\"/api/browser/channels\").pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListBrowserChannels200),\n orElse: unexpectedStatus\n }))\n ),\n \"listTenants\": (options) => HttpClientRequest.get(\"/api/admin/tenants\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"deleted\": options?.params?.[\"deleted\"] as any, \"includeDeleted\": options?.params?.[\"includeDeleted\"] as any, \"query\": options?.params?.[\"query\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListTenants200),\n orElse: unexpectedStatus\n }))\n ),\n \"createTenant\": (options) => HttpClientRequest.post(\"/api/admin/tenants\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateTenant201),\n orElse: unexpectedStatus\n }))\n ),\n \"deleteTenant\": (tenantId, options) => __makePathRequest(HttpClientRequest.delete, [tenantId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DeleteTenant200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"updateTenant\": (tenantId, options) => __makePathRequest(HttpClientRequest.patch, [tenantId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateTenant200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"restoreTenant\": (tenantId, options) => __makePathRequest(HttpClientRequest.post, [tenantId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"/restore\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RestoreTenant200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listUsers\": (options) => HttpClientRequest.get(\"/api/admin/users\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"query\": options?.params?.[\"query\"] as any, \"disabled\": options?.params?.[\"disabled\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListUsers200),\n orElse: unexpectedStatus\n }))\n ),\n \"createUser\": (options) => HttpClientRequest.post(\"/api/admin/users\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateUser201),\n orElse: unexpectedStatus\n }))\n ),\n \"getUser\": (userId, options) => __makePathRequest(HttpClientRequest.get, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetUser200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"disableUser\": (userId, options) => __makePathRequest(HttpClientRequest.delete, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DisableUser200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"updateUser\": (userId, options) => __makePathRequest(HttpClientRequest.patch, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateUser200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"restoreUser\": (userId, options) => __makePathRequest(HttpClientRequest.post, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"/restore\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RestoreUser200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"createUserInvitation\": (userId, options) => __makePathRequest(HttpClientRequest.post, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"/invitation\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateUserInvitation201),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listUserMemberships\": (userId, options) => __makePathRequest(HttpClientRequest.get, [userId], () => \"/api/admin/users/\" + __encodePathParam(userId) + \"/memberships\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListUserMemberships200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listTenantMemberships\": (tenantId, options) => __makePathRequest(HttpClientRequest.get, [tenantId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"/memberships\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListTenantMemberships200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"upsertTenantMembership\": (tenantId, userId, options) => __makePathRequest(HttpClientRequest.put, [tenantId, userId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"/memberships/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpsertTenantMembership200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"deleteTenantMembership\": (tenantId, userId, options) => __makePathRequest(HttpClientRequest.delete, [tenantId, userId], () => \"/api/admin/tenants/\" + __encodePathParam(tenantId) + \"/memberships/\" + __encodePathParam(userId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DeleteTenantMembershipdefault),\n \"204\": () => Effect.void,\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listAuditEvents\": (options) => HttpClientRequest.get(\"/api/admin/audit-events\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"tenantId\": options?.params?.[\"tenantId\"] as any, \"actorType\": options?.params?.[\"actorType\"] as any, \"actorId\": options?.params?.[\"actorId\"] as any, \"action\": options?.params?.[\"action\"] as any, \"resourceType\": options?.params?.[\"resourceType\"] as any, \"resourceId\": options?.params?.[\"resourceId\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListAuditEvents200),\n orElse: unexpectedStatus\n }))\n ),\n \"listAdminTokens\": (options) => HttpClientRequest.get(\"/api/admin/tokens\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"authorityType\": options?.params?.[\"authorityType\"] as any, \"tenantId\": options?.params?.[\"tenantId\"] as any, \"name\": options?.params?.[\"name\"] as any, \"scope\": options?.params?.[\"scope\"] as any, \"revoked\": options?.params?.[\"revoked\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListAdminTokens200),\n orElse: unexpectedStatus\n }))\n ),\n \"createAdminToken\": (options) => HttpClientRequest.post(\"/api/admin/tokens\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateAdminToken201),\n orElse: unexpectedStatus\n }))\n ),\n \"revokeAdminToken\": (tokenId, options) => __makePathRequest(HttpClientRequest.post, [tokenId], () => \"/api/admin/tokens/\" + __encodePathParam(tokenId) + \"/revoke\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RevokeAdminTokendefault),\n \"204\": () => Effect.void,\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"getTenant\": (options) => HttpClientRequest.get(\"/api/tenant\").pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetTenant200),\n orElse: unexpectedStatus\n }))\n ),\n \"updateSelectedTenant\": (options) => HttpClientRequest.patch(\"/api/tenant\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateSelectedTenant200),\n orElse: unexpectedStatus\n }))\n ),\n \"listTenantTokens\": (options) => HttpClientRequest.get(\"/api/tenant/tokens\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"name\": options?.params?.[\"name\"] as any, \"scope\": options?.params?.[\"scope\"] as any, \"revoked\": options?.params?.[\"revoked\"] as any }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListTenantTokens200),\n orElse: unexpectedStatus\n }))\n ),\n \"createTenantToken\": (options) => HttpClientRequest.post(\"/api/tenant/tokens\").pipe(\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateTenantToken201),\n orElse: unexpectedStatus\n }))\n ),\n \"revokeTenantToken\": (tokenId, options) => __makePathRequest(HttpClientRequest.post, [tokenId], () => \"/api/tenant/tokens/\" + __encodePathParam(tokenId) + \"/revoke\").pipe(\n Effect.flatMap((request) => request.pipe(\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RevokeTenantTokendefault),\n \"204\": () => Effect.void,\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listSessions\": (options) => HttpClientRequest.get(\"/api/sessions\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"includeDeleted\": options?.params?.[\"includeDeleted\"] as any, \"status\": options?.params?.[\"status\"] as any, \"query\": options?.params?.[\"query\"] as any, \"tagKey\": options?.params?.[\"tagKey\"] as any, \"tagValue\": options?.params?.[\"tagValue\"] as any, \"tagOperator\": options?.params?.[\"tagOperator\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListSessions200),\n orElse: unexpectedStatus\n }))\n ),\n \"createSession\": (options) => HttpClientRequest.post(\"/api/sessions\").pipe(\n HttpClientRequest.setUrlParams({ \"waitForReady\": options.params?.[\"waitForReady\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateSession201),\n orElse: unexpectedStatus\n }))\n ),\n \"getSessionsBulk\": (options) => HttpClientRequest.post(\"/api/sessions/bulk\").pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSessionsBulk200),\n orElse: unexpectedStatus\n }))\n ),\n \"getSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.get, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"deleteSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.delete, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DeleteSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"replaceSessionTags\": (sessionId, options) => __makePathRequest(HttpClientRequest.put, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/tags\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ReplaceSessionTags200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"updateSessionProxy\": (sessionId, options) => __makePathRequest(HttpClientRequest.put, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/proxy\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateSessionProxy200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"suspendSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/suspend\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(SuspendSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"reopenSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/reopen\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ReopenSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"rotateSessionToken\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/session-token/rotate\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RotateSessionToken200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"rotateCollaborationCapability\": (sessionId, role, options) => __makePathRequest(HttpClientRequest.post, [sessionId, role], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/collaboration-capabilities/\" + __encodePathParam(role) + \"/rotate\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RotateCollaborationCapability200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"getSessionCursor\": (sessionId, options) => __makePathRequest(HttpClientRequest.get, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/cursor\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSessionCursor200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"setSessionCursor\": (sessionId, options) => __makePathRequest(HttpClientRequest.put, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/cursor\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(SetSessionCursor200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"getSessionThumbnail\": (sessionId, options) => __makePathRequest(HttpClientRequest.get, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/thumbnail\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSessionThumbnaildefault),\n \"200\": decodeBinary,\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"getSessionThumbnailStream\": (sessionId, options) => Stream.unwrap(__makePathRequest(HttpClientRequest.get, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/thumbnail\").pipe(\n Effect.map((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n binaryRequest\n ))\n )),\n \"getSessionTargetThumbnail\": (sessionId, targetId, options) => __makePathRequest(HttpClientRequest.get, [sessionId, targetId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/targets/\" + __encodePathParam(targetId) + \"/thumbnail\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSessionTargetThumbnaildefault),\n \"200\": decodeBinary,\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"getSessionTargetThumbnailStream\": (sessionId, targetId, options) => Stream.unwrap(__makePathRequest(HttpClientRequest.get, [sessionId, targetId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/targets/\" + __encodePathParam(targetId) + \"/thumbnail\").pipe(\n Effect.map((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n binaryRequest\n ))\n )),\n \"exportSessionStorageState\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/storage-state\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ExportSessionStorageState200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listSessionRecordings\": (sessionId, options) => __makePathRequest(HttpClientRequest.get, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListSessionRecordings200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"createSessionRecording\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateSessionRecording201),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"getSessionRecording\": (sessionId, recordingId, options) => __makePathRequest(HttpClientRequest.get, [sessionId, recordingId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings/\" + __encodePathParam(recordingId) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(GetSessionRecording200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"retargetSessionRecording\": (sessionId, recordingId, options) => __makePathRequest(HttpClientRequest.post, [sessionId, recordingId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings/\" + __encodePathParam(recordingId) + \"/retarget\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RetargetSessionRecording200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"stopSessionRecording\": (sessionId, recordingId, options) => __makePathRequest(HttpClientRequest.post, [sessionId, recordingId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/recordings/\" + __encodePathParam(recordingId) + \"/stop\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(StopSessionRecording200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listSessionFiles\": (sessionId, options) => __makePathRequest(HttpClientRequest.get, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/files\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListSessionFiles200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"uploadSessionFiles\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/files\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setUrlParams({ \"directory\": options.params?.[\"directory\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyFormDataRecord(options.payload as any),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UploadSessionFiles201),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"deleteSessionFile\": (sessionId, options) => __makePathRequest(HttpClientRequest.delete, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/files\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setUrlParams({ \"relativePath\": options.params[\"relativePath\"] as any, \"recursive\": options.params[\"recursive\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DeleteSessionFiledefault),\n \"204\": () => Effect.void,\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"moveSessionFile\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/files/move\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(MoveSessionFile200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"createSessionDirectory\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/files/directories\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateSessionDirectory201),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"createSessionFileDownloadURL\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/files/download-url\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(CreateSessionFileDownloadURL200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"promoteSession\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/api/sessions/\" + __encodePathParam(sessionId) + \"/promote\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(PromoteSession200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listSnapshots\": (options) => HttpClientRequest.get(\"/api/snapshots\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"name\": options?.params?.[\"name\"] as any, \"deleted\": options?.params?.[\"deleted\"] as any, \"includeDeleted\": options?.params?.[\"includeDeleted\"] as any, \"tagKey\": options?.params?.[\"tagKey\"] as any, \"tagValue\": options?.params?.[\"tagValue\"] as any, \"tagOperator\": options?.params?.[\"tagOperator\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListSnapshots200),\n orElse: unexpectedStatus\n }))\n ),\n \"deleteSnapshot\": (name, options) => __makePathRequest(HttpClientRequest.delete, [name], () => \"/api/snapshots/\" + __encodePathParam(name) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(DeleteSnapshot200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"updateSnapshot\": (name, options) => __makePathRequest(HttpClientRequest.patch, [name], () => \"/api/snapshots/\" + __encodePathParam(name) + \"\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UpdateSnapshot200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"replaceSnapshotTags\": (name, options) => __makePathRequest(HttpClientRequest.put, [name], () => \"/api/snapshots/\" + __encodePathParam(name) + \"/tags\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ReplaceSnapshotTags200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"restoreSnapshot\": (name, options) => __makePathRequest(HttpClientRequest.post, [name], () => \"/api/snapshots/\" + __encodePathParam(name) + \"/restore\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(RestoreSnapshot200),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"listEvents\": (options) => HttpClientRequest.get(\"/api/events\").pipe(\n HttpClientRequest.setUrlParams({ \"limit\": options?.params?.[\"limit\"] as any, \"cursor\": options?.params?.[\"cursor\"] as any, \"resourceType\": options?.params?.[\"resourceType\"] as any, \"resourceId\": options?.params?.[\"resourceId\"] as any }),\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options?.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n withResponse(options?.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(ListEvents200),\n orElse: unexpectedStatus\n }))\n ),\n \"uploadLiveSessionFiles\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/sessions/\" + __encodePathParam(sessionId) + \"/uploads\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyFormDataRecord(options.payload as any),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(UploadLiveSessionFiles201),\n orElse: unexpectedStatus\n }))\n ))\n ),\n \"setSessionViewport\": (sessionId, options) => __makePathRequest(HttpClientRequest.post, [sessionId], () => \"/sessions/\" + __encodePathParam(sessionId) + \"/browser/viewport\").pipe(\n Effect.flatMap((request) => request.pipe(\n HttpClientRequest.setHeaders({ \"X-Aperture-Tenant-Id\": options.params?.[\"X-Aperture-Tenant-Id\"] ?? undefined }),\n HttpClientRequest.bodyJsonUnsafe(options.payload),\n withResponse(options.config)(HttpClientResponse.matchStatus({\n \"2xx\": decodeSuccess(SetSessionViewport200),\n orElse: unexpectedStatus\n }))\n ))\n )\n }\n}\n\nexport interface ApertureApi {\n readonly httpClient: HttpClient.HttpClient\n /**\n* Local process health and blue-green deployment state, including inactive colors.\n*/\nreadonly \"getHealth\": <Config extends OperationConfig>(options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetHealth200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Token metadata and effective tenant selection. A system administrator without an explicit selection receives the first active tenant.\n*/\nreadonly \"getCurrentPrincipal\": <Config extends OperationConfig>(options: { readonly params?: typeof GetCurrentPrincipalParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetCurrentPrincipal200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Browser channels accepted by session creation.\n*/\nreadonly \"listBrowserChannels\": <Config extends OperationConfig>(options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListBrowserChannels200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first tenant list.\n*/\nreadonly \"listTenants\": <Config extends OperationConfig>(options: { readonly params?: typeof ListTenantsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListTenants200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates a tenant with a generated UUIDv7 identifier.\n*/\nreadonly \"createTenant\": <Config extends OperationConfig>(options: { readonly payload: typeof CreateTenantRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateTenant201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Deactivates a tenant and revokes its tenant tokens. Idempotent.\n*/\nreadonly \"deleteTenant\": <Config extends OperationConfig>(tenantId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DeleteTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces the display name of an active tenant.\n*/\nreadonly \"updateTenant\": <Config extends OperationConfig>(tenantId: string, options: { readonly payload: typeof UpdateTenantRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Restores a tenant. Revoked tokens remain revoked.\n*/\nreadonly \"restoreTenant\": <Config extends OperationConfig>(tenantId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RestoreTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* List users\n*/\nreadonly \"listUsers\": <Config extends OperationConfig>(options: { readonly params?: typeof ListUsersParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListUsers200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Create a user\n*/\nreadonly \"createUser\": <Config extends OperationConfig>(options: { readonly payload: typeof CreateUserRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateUser201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Get a user\n*/\nreadonly \"getUser\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetUser200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Disable a user\n*/\nreadonly \"disableUser\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DisableUser200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Update a user\n*/\nreadonly \"updateUser\": <Config extends OperationConfig>(userId: string, options: { readonly payload: typeof UpdateUserRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateUser200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Restore a user\n*/\nreadonly \"restoreUser\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RestoreUser200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates a setup or reset link for an active user with an email address. Replaces any outstanding password link. The raw token is returned only once and expires after seven days.\n*/\nreadonly \"createUserInvitation\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof CreateUserInvitation201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* List a user's tenant memberships\n*/\nreadonly \"listUserMemberships\": <Config extends OperationConfig>(userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListUserMemberships200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* List tenant memberships\n*/\nreadonly \"listTenantMemberships\": <Config extends OperationConfig>(tenantId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListTenantMemberships200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Create or update a tenant membership\n*/\nreadonly \"upsertTenantMembership\": <Config extends OperationConfig>(tenantId: string, userId: string, options: { readonly payload: typeof UpsertTenantMembershipRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpsertTenantMembership200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Delete a tenant membership\n*/\nreadonly \"deleteTenantMembership\": <Config extends OperationConfig>(tenantId: string, userId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DeleteTenantMembershipdefault.Type | void, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* List security audit events\n*/\nreadonly \"listAuditEvents\": <Config extends OperationConfig>(options: { readonly params?: typeof ListAuditEventsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListAuditEvents200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first token metadata. Raw tokens are never included.\n*/\nreadonly \"listAdminTokens\": <Config extends OperationConfig>(options: { readonly params?: typeof ListAdminTokensParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListAdminTokens200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates an administrator or tenant token within the caller's authority. Names must be unique among active tokens in the same scope; revoked and expired tokens release their name. Only tenant tokens may use a resource allowlist. A child created by an expiring or resource-restricted API token cannot exceed its parent's expiry, scopes, or resource grants. The raw token is returned once.\n*/\nreadonly \"createAdminToken\": <Config extends OperationConfig>(options: { readonly payload: typeof CreateAdminTokenRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateAdminToken201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Revokes an API token. Idempotent.\n*/\nreadonly \"revokeAdminToken\": <Config extends OperationConfig>(tokenId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RevokeAdminTokendefault.Type | void, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Tenant bound to the authenticated tenant token.\n*/\nreadonly \"getTenant\": <Config extends OperationConfig>(options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces the bound tenant's display name.\n*/\nreadonly \"updateSelectedTenant\": <Config extends OperationConfig>(options: { readonly payload: typeof UpdateSelectedTenantRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateSelectedTenant200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Token metadata for the caller's tenant. Raw tokens are never included.\n*/\nreadonly \"listTenantTokens\": <Config extends OperationConfig>(options: { readonly params?: typeof ListTenantTokensParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListTenantTokens200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates a token bound to the caller's tenant. Names must be unique among the tenant's active tokens; revoked and expired tokens release their name. Child scopes and resource grants cannot exceed the caller's authority, and a child created by an expiring API token cannot outlive its parent. The raw token is returned once.\n*/\nreadonly \"createTenantToken\": <Config extends OperationConfig>(options: { readonly payload: typeof CreateTenantTokenRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateTenantToken201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Revokes a tenant-owned token. Missing and foreign IDs both return not found. Idempotent.\n*/\nreadonly \"revokeTenantToken\": <Config extends OperationConfig>(tokenId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RevokeTenantTokendefault.Type | void, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first sessions. A resource-restricted token receives only granted sessions; filtering occurs before pagination. Credentials are included only while available and must be treated as secrets.\n*/\nreadonly \"listSessions\": <Config extends OperationConfig>(options: { readonly params?: typeof ListSessionsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListSessions200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Starts a browser with a retained overlay, then optionally imports browser storage and replaces the startup page with initial browser targets. Imported storage overlays the base snapshot. Set `waitForReady=false` to receive the session and its credentials in the `creating` state while startup continues. A resource-restricted token may start a blank session or use a granted base snapshot. The new session is not added to its resource allowlist, but the returned session token remains usable. Failed startup may leave a reopenable `failed` session.\n*/\nreadonly \"createSession\": <Config extends OperationConfig>(options: { readonly params?: typeof CreateSessionParams.Encoded | undefined; readonly payload: typeof CreateSessionRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateSession201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Returns up to 100 sessions in request order. Missing, foreign, deleted, and ungranted sessions are omitted before results are returned.\n*/\nreadonly \"getSessionsBulk\": <Config extends OperationConfig>(options: { readonly params?: typeof GetSessionsBulkParams.Encoded | undefined; readonly payload: typeof GetSessionsBulkRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof GetSessionsBulk200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Session metadata and current credentials when available.\n*/\nreadonly \"getSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof GetSessionParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Stops and marks the session `deleted`. The retained overlay remains reopenable until `expiresAt`.\n*/\nreadonly \"deleteSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof DeleteSessionParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DeleteSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces all session tags. Send an empty map to clear them.\n*/\nreadonly \"replaceSessionTags\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof ReplaceSessionTagsParams.Encoded | undefined; readonly payload: typeof ReplaceSessionTagsRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof ReplaceSessionTags200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces the session egress proxy configuration. The change applies to new connections; existing connections keep their route unless `drain` resets live tunnel streams. Secrets are write-only — tunnel auth is never returned and proxy URL passwords come back masked.\n*/\nreadonly \"updateSessionProxy\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof UpdateSessionProxyParams.Encoded | undefined; readonly payload: typeof UpdateSessionProxyRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateSessionProxy200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Stops a `running` session, retains its overlay, and resets retention.\n*/\nreadonly \"suspendSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof SuspendSessionParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof SuspendSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Restarts a retained `deleted` or `failed` session and returns fresh credentials.\n*/\nreadonly \"reopenSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof ReopenSessionParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ReopenSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces the access token of a `running` session and invalidates the old token.\n*/\nreadonly \"rotateSessionToken\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof RotateSessionTokenParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RotateSessionToken200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces one role-scoped sharing secret without invalidating the other role or owner credentials.\n*/\nreadonly \"rotateCollaborationCapability\": <Config extends OperationConfig>(sessionId: string, role: string, options: { readonly params?: typeof RotateCollaborationCapabilityParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RotateCollaborationCapability200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Returns whether the remote browser cursor is composited into the live stream and recordings.\n*/\nreadonly \"getSessionCursor\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof GetSessionCursorParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetSessionCursor200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Enables or disables compositing the remote browser cursor into the live stream and recordings.\n*/\nreadonly \"setSessionCursor\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof SetSessionCursorParams.Encoded | undefined; readonly payload: typeof SetSessionCursorRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof SetSessionCursor200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Returns a JPEG, at most 640 pixels wide, of the tab most recently shown to a live-session client,\n* or of the first tab when no client has connected. Running sessions capture it live; repeated\n* requests within two seconds share one capture. Suspended sessions serve the thumbnails saved when\n* they suspended, unless `thumbnails_persist_on_suspend` is disabled. The request never wakes the\n* session. Use `Last-Modified` with `If-Modified-Since` to avoid transferring an unchanged image.\n*/\nreadonly \"getSessionThumbnail\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof GetSessionThumbnailParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetSessionThumbnaildefault.Type | Uint8Array, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Returns a JPEG, at most 640 pixels wide, of the tab most recently shown to a live-session client,\n* or of the first tab when no client has connected. Running sessions capture it live; repeated\n* requests within two seconds share one capture. Suspended sessions serve the thumbnails saved when\n* they suspended, unless `thumbnails_persist_on_suspend` is disabled. The request never wakes the\n* session. Use `Last-Modified` with `If-Modified-Since` to avoid transferring an unchanged image.\n*/\nreadonly \"getSessionThumbnailStream\": (sessionId: string, options: { readonly params?: typeof GetSessionThumbnailParams.Encoded | undefined } | undefined) => Stream.Stream<Uint8Array, HttpClientError.HttpClientError>\n /**\n* Returns a JPEG thumbnail of one top-level tab, like the session thumbnail. Every tab renders in its\n* own compositor window, so background tabs are captured live too. A suspended session serves the\n* tabs it had when it suspended; tab IDs change when the browser restarts.\n*/\nreadonly \"getSessionTargetThumbnail\": <Config extends OperationConfig>(sessionId: string, targetId: string, options: { readonly params?: typeof GetSessionTargetThumbnailParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetSessionTargetThumbnaildefault.Type | Uint8Array, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Returns a JPEG thumbnail of one top-level tab, like the session thumbnail. Every tab renders in its\n* own compositor window, so background tabs are captured live too. A suspended session serves the\n* tabs it had when it suspended; tab IDs change when the browser restarts.\n*/\nreadonly \"getSessionTargetThumbnailStream\": (sessionId: string, targetId: string, options: { readonly params?: typeof GetSessionTargetThumbnailParams.Encoded | undefined } | undefined) => Stream.Stream<Uint8Array, HttpClientError.HttpClientError>\n /**\n* Returns storage accepted by session creation's storageState field. Select exact HTTP origins,\n* origin patterns containing * (which matches zero or more characters), [\"*\"] for every stored\n* HTTP origin, or \"open-tabs\" for the origins and partitions of current pages and frames.\n* Patterns match the complete origin, including scheme and non-default port; paths are not allowed.\n* Cookies are filtered by domain, secure flag, and selected partition; every path is included.\n* Full export includes all cookies with representable HTTP partition keys.\n* Closed sites are discovered through Chromium's site-data and quota inventories.\n* Temporary isolated pages read storage without fetching the selected sites. They are closed after\n* export. A live export is not an atomic snapshot: pages may change data during collection.\n* Profile-wide selection rejects partitioned HTTP site data whose top-level scheme cannot\n* be recovered from Chromium's inventory; open-tabs can export an accessible HTTP partition.\n* Named storage buckets, opaque partitions, and values the import format cannot represent fail\n* with storage_export_unsupported, whose message names the reason. Session storage belongs to\n* initialTargets and is not included here.\n* The response is limited to 64 MiB and the import format's 100 origins and 10,000 cookies.\n*/\nreadonly \"exportSessionStorageState\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof ExportSessionStorageStateParams.Encoded | undefined; readonly payload: typeof ExportSessionStorageStateRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof ExportSessionStorageState200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Lists logical recordings without exposing host filesystem paths.\n*/\nreadonly \"listSessionRecordings\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof ListSessionRecordingsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListSessionRecordings200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Starts a tab recording of one ready top-level target. A codec the host cannot run is rejected with `recording_codec_unavailable`. The edit settings are checked before the session is woken and rejected with `validation_failed` when they contradict each other (`idle` with `capture` `bursts`, `burst` without `capture` `bursts`, `tailMs` above `maxTailMs`), and `capture` `bursts`, `idle` and `ripple` are rejected the same way on an instance without `recording_ffmpeg_executable`; `presentation` alone needs nothing.\n*/\nreadonly \"createSessionRecording\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof CreateSessionRecordingParams.Encoded | undefined; readonly payload: typeof CreateSessionRecordingRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateSessionRecording201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Returns one logical recording and its current top-level target without exposing host filesystem paths.\n*/\nreadonly \"getSessionRecording\": <Config extends OperationConfig>(sessionId: string, recordingId: string, options: { readonly params?: typeof GetSessionRecordingParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetSessionRecording200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Moves a running tab recording to another ready top-level target while preserving its recording ID, timeline, and settings. Sending its current target is idempotent. Viewer, stopped, and failed recordings conflict.\n*/\nreadonly \"retargetSessionRecording\": <Config extends OperationConfig>(sessionId: string, recordingId: string, options: { readonly params?: typeof RetargetSessionRecordingParams.Encoded | undefined; readonly payload: typeof RetargetSessionRecordingRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof RetargetSessionRecording200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Stops the selected recording and returns it at once, without transferring its media data. The raw video is published at `relativePath` before the call returns. The recording is `stopped` with `editing` true while its edit runs, which takes about as long as the recording and at most 30 minutes; poll `GET` until `editing` is false, when `editedRelativePath`, `timelineRelativePath` or `editError` are filled. Stopping again meanwhile returns the current state. Cancelling the recording, or suspending, deleting or closing the session, ends the edit with `editError.code` `cancelled`.\n*/\nreadonly \"stopSessionRecording\": <Config extends OperationConfig>(sessionId: string, recordingId: string, options: { readonly params?: typeof StopSessionRecordingParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof StopSessionRecording200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Lists the files and directories below the session files root, including browser downloads, recordings, uploads, and Playwright MCP output. Directories are entries of their own, so empty ones appear too; build a tree from `relativePath`. Works for any retained session, running or not, until it expires. The list is complete rather than paginated.\n*/\nreadonly \"listSessionFiles\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof ListSessionFilesParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListSessionFiles200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Stores every multipart part that has a filename in `directory` below the session files root, creating the directory when needed. Works for any retained session, running or not. Names are sanitized, and a numeric suffix is added instead of overwriting an existing file. A rejected request stores none of its files.\n* \n* A single file may not exceed `session_upload_max_file_bytes`, all session storage may not exceed `session_storage_quota_bytes`, a request may carry at most 100 files, a directory may hold at most 1000 files, and the session files root at most 10000 files and directories. At most 3 uploads per session stream at once; more fail with `session_upload_concurrency_exceeded`. The request body may be as large as those limits allow.\n*/\nreadonly \"uploadSessionFiles\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof UploadSessionFilesParams.Encoded | undefined; readonly payload: typeof UploadSessionFilesRequestFormData.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UploadSessionFiles201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Deletes one session file, or a directory below the session files root. A directory with entries is deleted only with `recursive=true`. `downloads`, `recordings`, `uploads`, and `outputs` cannot be deleted. Anything still being written, such as an in-progress download, upload, or recording, is rejected.\n*/\nreadonly \"deleteSessionFile\": <Config extends OperationConfig>(sessionId: string, options: { readonly params: typeof DeleteSessionFileParams.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof DeleteSessionFiledefault.Type | void, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Moves one session file, or a directory below the session files root, to another path below the root, creating missing parent directories. It never replaces an existing entry and cannot move a directory into itself. `downloads`, `recordings`, `uploads`, and `outputs` cannot be moved. Anything still being written is rejected.\n*/\nreadonly \"moveSessionFile\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof MoveSessionFileParams.Encoded | undefined; readonly payload: typeof MoveSessionFileRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof MoveSessionFile200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates a directory below the session files root, with any missing parents. Fails when a file or directory already exists at the path.\n*/\nreadonly \"createSessionDirectory\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof CreateSessionDirectoryParams.Encoded | undefined; readonly payload: typeof CreateSessionDirectoryRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateSessionDirectory201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Creates a signed URL for one retained session file. Anyone with the URL can download the file until it expires.\n*/\nreadonly \"createSessionFileDownloadURL\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof CreateSessionFileDownloadURLParams.Encoded | undefined; readonly payload: typeof CreateSessionFileDownloadURLRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateSessionFileDownloadURL200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Promotes a retained `deleted`, `failed`, or `suspended` session. Deleted snapshot names are reused automatically. `force=true` replaces an active snapshot with the requested name. Reusing or replacing a name requires its grant for resource-restricted tokens; the resulting snapshot is not added to the token's allowlist.\n*/\nreadonly \"promoteSession\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof PromoteSessionParams.Encoded | undefined; readonly payload: typeof PromoteSessionRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof PromoteSession200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first snapshots. A resource-restricted token receives only granted snapshots; filtering occurs before pagination. Tag predicates use logical AND.\n*/\nreadonly \"listSnapshots\": <Config extends OperationConfig>(options: { readonly params?: typeof ListSnapshotsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListSnapshots200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Soft-deletes a snapshot. Existing sessions are unaffected; new sessions cannot use it. Idempotent.\n*/\nreadonly \"deleteSnapshot\": <Config extends OperationConfig>(name: string, options: { readonly params?: typeof DeleteSnapshotParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof DeleteSnapshot200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces or clears a retained snapshot description.\n*/\nreadonly \"updateSnapshot\": <Config extends OperationConfig>(name: string, options: { readonly params?: typeof UpdateSnapshotParams.Encoded | undefined; readonly payload: typeof UpdateSnapshotRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateSnapshot200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Replaces all tags on a retained snapshot. Send an empty map to clear them.\n*/\nreadonly \"replaceSnapshotTags\": <Config extends OperationConfig>(name: string, options: { readonly params?: typeof ReplaceSnapshotTagsParams.Encoded | undefined; readonly payload: typeof ReplaceSnapshotTagsRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof ReplaceSnapshotTags200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Clears snapshot deletion and expiry markers.\n*/\nreadonly \"restoreSnapshot\": <Config extends OperationConfig>(name: string, options: { readonly params?: typeof RestoreSnapshotParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof RestoreSnapshot200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Newest-first tenant events. A resource-restricted token receives only events for granted sessions and snapshots; filtering occurs before pagination. `resourceType` and `resourceId` are exact-match filters.\n*/\nreadonly \"listEvents\": <Config extends OperationConfig>(options: { readonly params?: typeof ListEventsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof ListEvents200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Stores every multipart part that has a filename below `uploads/` in the session files, where `browser_file_upload` can pick it up. Names are sanitized, and a numeric suffix is added instead of overwriting an existing file. Other parts are ignored.\n* \n* A single file may not exceed `session_upload_max_file_bytes` (100 MiB by default), all session storage may not exceed `session_storage_quota_bytes` (1 GiB by default), a request may carry at most 100 files, `uploads` may hold at most 1000 files, and the session files root at most 10000 files and directories. At most 3 uploads per session stream at once through this route; more fail with `429`. A rejected request stores none of its files.\n* \n* `POST /api/sessions/{sessionId}/files` does the same for any retained session and any directory.\n*/\nreadonly \"uploadLiveSessionFiles\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof UploadLiveSessionFilesParams.Encoded | undefined; readonly payload: typeof UploadLiveSessionFilesRequestFormData.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UploadLiveSessionFiles201.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n /**\n* Resizes one top-level target and waits until the browser and media pipeline apply it. Concurrent requests for the same target coalesce, so every waiter receives the final applied viewport.\n*/\nreadonly \"setSessionViewport\": <Config extends OperationConfig>(sessionId: string, options: { readonly params?: typeof SetSessionViewportParams.Encoded | undefined; readonly payload: typeof SetSessionViewportRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof SetSessionViewport200.Type, Config>, HttpClientError.HttpClientError | SchemaError>\n}\n\nexport interface ApertureApiError<Tag extends string, E> {\n readonly _tag: Tag\n readonly request: HttpClientRequest.HttpClientRequest\n readonly response: HttpClientResponse.HttpClientResponse\n readonly cause: E\n}\n\nclass ApertureApiErrorImpl extends Data.Error<{\n _tag: string\n cause: any\n request: HttpClientRequest.HttpClientRequest\n response: HttpClientResponse.HttpClientResponse\n}> {}\n\nexport const ApertureApiError = <Tag extends string, E>(\n tag: Tag,\n cause: E,\n response: HttpClientResponse.HttpClientResponse,\n): ApertureApiError<Tag, E> =>\n new ApertureApiErrorImpl({\n _tag: tag,\n cause,\n response,\n request: response.request,\n }) as any\n"],"mappings":";;;;;;;;;;AAcA,MAAa,SAAS,OAAO,OAAO;CAAE,UAAU,OAAO,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,eAAe,gEAAgE,CAAC;CAAG,SAAS,OAAO,SAAS,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,4DAA4D,CAAC;CAAG,QAAQ,OAAO,SAAS,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,iEAAiE,CAAC;CAAG,WAAW,OAAO,OAAO,SAAS;EAAE,eAAe;EAA4D,YAAY,CAAC,OAAO;CAAE,CAAC;CAAG,eAAe,OAAO,SAAS,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,iDAAiD,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA4D,YAAY,CAAC;EAAE,UAAU;EAAM,SAAS;EAAQ,QAAQ;EAAU,WAAW;EAAS,eAAe;CAAO,CAAC;CAAG,cAAc;AAAS,CAAC;AAEl6B,MAAa,SAAS,OAAO,OAAO,SAAS;CAAE,eAAe;CAAsD,YAAY,CAAC,sCAAsC;CAAG,UAAU;CAAQ,cAAc;AAAS,CAAC;AAEpN,MAAa,gBAAgB,OAAO,SAAS;CAAC;CAAa;CAAQ;AAAQ,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA0D,YAAY,CAAC,WAAW;CAAG,cAAc;AAAgB,CAAC;AAE5N,MAAa,gBAAgB,OAAO,SAAS,CAAC,gBAAgB,QAAQ,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA8J,YAAY,CAAC,QAAQ;CAAG,cAAc;AAAgB,CAAC;AAExT,MAAa,QAAQ,OAAO,SAAS;CAAC;CAAgB;CAAiB;CAAkB;CAAkB;CAAmB;CAAgB;AAAe,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAiK,YAAY,CAAC,gBAAgB;CAAG,cAAc;AAAQ,CAAC;AAElZ,MAAa,eAAe,OAAO,SAAS,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAwF,WAAW;CAAO,YAAY,CAAC,WAAW;CAAG,cAAc;AAAe,CAAC;AAE/P,MAAa,eAAe,OAAO,SAAS,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA8D,YAAY,CAAC,SAAS;CAAG,cAAc;AAAe,CAAC;AAEpN,MAAa,cAAc,OAAO,OAAO;CAAE,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAAsD,YAAY,CAAC,oBAAoB;CAAE,CAAC;CAAG,WAAW,OAAO,OAAO,SAAS;EAAE,eAAe;EAA8E,YAAY,CAAC,oBAAoB;CAAE,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAyE,cAAc;AAAc,CAAC;AAEle,MAAa,iBAAiB,OAAO,OAAO,EAAE,QAAQ,OAAO,OAAO,SAAS;CAAE,eAAe;CAAoC,YAAY,CAAC,UAAU;AAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAuD,cAAc;AAAiB,CAAC;AAElR,MAAa,WAAW,OAAO,OAAO;CAAE,SAAS,OAAO,OAAO,SAAS;EAAE,eAAe;EAA+D,YAAY,CAAC,EAAE;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,oBAAoB,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,oCAAoC,CAAC,CAAC;CAAG,cAAc,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAwE,YAAY,CAAC,6GAA6G;CAAE,CAAC,CAAC;CAAG,WAAW,OAAO,QAAQ,SAAS;EAAE,eAAe;EAAsC,YAAY,CAAC,IAAI;CAAE,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA8D,cAAc;AAAW,CAAC;AAE76B,MAAa,cAAc,OAAO,OAAO,EAAE,eAAe,OAAO,OAAO,SAAS;CAAE,eAAe;CAAmH,YAAY,CAAC,qBAAqB;AAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA2D,cAAc;AAAc,CAAC;AAEnkB,MAAa,YAAY,OAAO,OAAO;CAAE,SAAS,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAgD,UAAU;CAAQ,CAAC,CAAC;CAAG,eAAe,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC;CAAG,iBAAiB,OAAO,QAAQ,SAAS,EAAE,eAAe,6EAA6E,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,YAAY,CAAC;AAEpnB,MAAa,iBAAiB,OAAO,OAAO;CAAE,SAAS,OAAO,OAAO,SAAS,EAAE,eAAe,sDAAsD,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA6D,cAAc;AAAiB,CAAC;AAElV,MAAa,cAAc,OAAO,SAAS;CAAC;CAAiB;CAAkB;CAAkB;CAAmB;AAAc,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA8C,YAAY,CAAC,gBAAgB;CAAG,cAAc;AAAc,CAAC;AAE1Q,MAAa,kBAAkB,OAAO,kBAAkB,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,cAAc,kBAAkB,CAAC;AAEnH,MAAa,gBAAgB,OAAO,SAAS;CAAC;CAAY;CAAW;CAAa;CAAW;CAAW;AAAQ,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA4f,YAAY,CAAC,SAAS;CAAG,cAAc;AAAgB,CAAC;AAEjsB,MAAa,YAAY,OAAO,OAAO,OAAO,QAAQ,OAAO,MAAM,CAAC,CAAC,SAAS;CAAE,eAAe;CAAgH,YAAY,CAAC;EAAE,eAAe;EAAc,UAAU;CAAY,CAAC;CAAG,cAAc;AAAY,CAAC;AAEhT,MAAa,uBAAuB,OAAO,OAAO,EAAE,OAAO,OAAO,OAAO,SAAS,EAAE,YAAY,CAAC,4CAA4C,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAgG,cAAc;AAAuB,CAAC;AAErT,MAAa,YAAY,OAAO,OAAO;CAAE,SAAS,OAAO,OAAO,SAAS;EAAE,eAAe;EAAwP,YAAY,CAAC,gBAAgB;CAAE,CAAC;CAAG,OAAO,OAAO,OAAO,SAAS;EAAE,eAAe;EAA8N,YAAY,CAAC,UAAU;CAAE,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAoD,cAAc;AAAY,CAAC;AAE1wB,MAAa,gBAAgB,OAAO,OAAO;CAAE,WAAW,OAAO,OAAO,SAAS;EAAE,eAAe;EAAoD,YAAY,CAAC,UAAU;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC;CAAG,QAAQ,OAAO,YAAY,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS;EAAE,eAAe;EAA6I,YAAY,CAAC,CAAC,cAAc,CAAC;CAAE,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAuE,cAAc;AAAgB,CAAC;AAEvwB,MAAa,+BAA+B,OAAO,OAAO;CAAE,KAAK,OAAO,OAAO,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,kBAAkB,CAAC,CAAC;CAAG,KAAK,OAAO,OAAO,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,kBAAkB,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,+BAA+B,CAAC;AAEzS,MAAa,gCAAgC,OAAO,OAAO;CAAE,OAAO,OAAO,OAAO,MAAM,OAAO,0BAAU,IAAI,OAAO,qBAAqB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,iDAAiD,CAAC,CAAC;CAAG,SAAS,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,gCAAgC,CAAC;AAEpd,MAAa,iCAAiC,OAAO,OAAO;CAAE,SAAS,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,aAAa,OAAO,SAAS;EAAC;EAAW;EAAY;CAAM,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,iCAAiC,CAAC;AAEhjB,MAAa,wBAAwB,OAAO,SAAS;CAAC;CAAU;CAAO;AAAM,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,wBAAwB,CAAC;AAElI,MAAa,mCAAmC,OAAO,OAAO;CAAE,gBAAgB,OAAO,OAAO,SAAS,EAAE,UAAU,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,wBAAwB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,oDAAoD,CAAC,CAAC;CAAG,wBAAwB,OAAO,YAAY,OAAO,OAAO;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,mCAAmC,CAAC;AAEvY,MAAa,0BAA0B,OAAO,OAAO;CAAE,QAAQ,OAAO,SAAS;EAAC;EAAQ;EAAU;CAAO,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,MAAM,OAAO,MAAM,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA4F,cAAc;AAA0B,CAAC;AAExU,MAAa,+BAA+B,OAAO,OAAO;CAAE,QAAQ,OAAO,SAAS,CAAC,UAAU,OAAO,CAAC;CAAG,SAAS,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAqF,cAAc;AAA+B,CAAC;AAE5Y,MAAa,mBAAmB,OAAO,OAAO,EAAE,WAAW,OAAO,QAAQ,SAAS,EAAE,eAAe,uEAAuE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAuE,cAAc;AAAmB,CAAC;AAEpT,MAAa,iCAAiC,OAAO,OAAO,EAAE,WAAW,OAAO,MAAM,CAAC,OAAO,QAAQ,WAAW,GAAG,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,gBAAgB,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,oFAAoF,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,YAAY;EAAC,EAAE,WAAW,CAAC,GAAG,EAAE;EAAG,EAAE,WAAW,CAAC,uBAAuB,uBAAuB,EAAE;EAAG,EAAE,WAAW,YAAY;CAAC;CAAG,cAAc;AAAiC,CAAC;AAEt1B,MAAa,qBAAqB,OAAO,OAAO;CAAE,QAAQ,OAAO,SAAS;EAAC;EAAsB;EAAe;EAAgB;EAAmB;EAAe;EAAiB;EAAW;EAAa;CAAiB,CAAC;CAAG,WAAW,OAAO;AAAO,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA+H,cAAc;AAAqB,CAAC;AAEzb,MAAa,8BAA8B,OAAO,OAAO;CAAE,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,sDAAsD,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,OAAO,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2F,YAAY,CAAC,EAAE;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC;CAAG,eAAe,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA8G,YAAY,CAAC,GAAI;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAA+C,YAAY,CAAC,KAAK;CAAE,CAAC,CAAC;CAAG,WAAW,OAAO,YAAY,OAAO,SAAS,CAAC,cAAc,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,ocAAoc,CAAC,CAAC;CAAG,gBAAgB,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,eAAe,uGAAuG,CAAC,CAAC;CAAG,QAAQ,OAAO,YAAY,OAAO,SAAS,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,sNAAsN,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,eAAe,sGAAsG,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,OAAO;EAAE,UAAU,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,4CAA4C,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,oBAAoB,GAAK,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC;EAAG,UAAU,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,2CAA2C,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,oBAAoB,GAAK,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC;EAAG,YAAY,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,6EAA6E,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,oBAAoB,GAAK,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC;EAAG,aAAa,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,wEAAwE,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,oBAAoB,GAAK,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC;CAAE,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,0KAA0K,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAqD,cAAc;AAA8B,CAAC;AAE7iI,MAAa,gCAAgC,OAAO,OAAO,EAAE,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,wDAAwD,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA4C,cAAc;AAAgC,CAAC;AAEjY,MAAa,cAAc,OAAO,OAAO;CAAE,QAAQ,OAAO,QAAQ,MAAM;CAAG,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2C,YAAY,CAAC,kCAAkC;CAAE,CAAC;CAAG,gBAAgB,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2P,YAAY,CAAC,6CAA6C;CAAE,CAAC;CAAG,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAAuB,YAAY,CAAC,OAAO;EAAG,UAAU;CAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,cAAc,OAAO,OAAO,SAAS;EAAE,eAAe;EAAgC,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC;CAAG,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAwB,YAAY,CAAC,YAAY;CAAE,CAAC;CAAG,eAAe,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA6S,YAAY,CAAC,4DAA4D;CAAE,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAiD,cAAc;AAAc,CAAC;AAExpD,MAAa,mBAAmB,OAAO,OAAO;CAAE,QAAQ,OAAO,QAAQ,WAAW;CAAG,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAA6C,YAAY,CAAC,UAAU;CAAE,CAAC;CAAG,gBAAgB,OAAO,OAAO,SAAS;EAAE,eAAe;EAAsC,YAAY,CAAC,kBAAkB;CAAE,CAAC;CAAG,cAAc,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA2C,cAAc;AAAmB,CAAC;AAE5f,MAAa,wBAAwB,OAAO,WAAW,WAAW,MAAM,EAAE,UAAU,cAAc,CAAC;AAEnG,MAAa,uBAAuB,OAAO,OAAO;CAAE,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAAkD,YAAY,CAAC,uBAAuB;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,MAAM,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2E,YAAY,CAAC,8BAA8B;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA2C,cAAc;AAAuB,CAAC;AAEjpB,MAAa,8BAA8B,OAAO,OAAO,EAAE,gBAAgB,OAAO,OAAO,SAAS;CAAE,eAAe;CAAmE,YAAY,CAAC,kBAAkB;AAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAwB,cAAc;AAA8B,CAAC;AAEzZ,MAAa,8BAA8B,OAAO,OAAO;CAAE,gBAAgB,OAAO,OAAO,SAAS;EAAE,eAAe;EAAqC,YAAY,CAAC,6CAA6C;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,cAAc,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA6H,YAAY,CAAC,GAAG;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,eAAe,OAAO,YAAY,OAAO,SAAS,CAAC,cAAc,QAAQ,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAiZ,WAAW;CAAa,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAwD,cAAc;AAA8B,CAAC;AAE30C,MAAa,yBAAyB,OAAO,OAAO;CAAE,OAAO,OAAO,OAAO,SAAS;EAAE,eAAe;EAA6C,YAAY,CAAC,iJAAiJ;EAAG,UAAU;CAAM,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS;EAAE,eAAe;EAAyC,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAoC,cAAc;AAAyB,CAAC;AAE7kB,MAAa,sBAAsB,OAAO,OAAO,EAAE,eAAe,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAgG,YAAY,CAAC,yBAAyB;AAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAqC,cAAc;AAAsB,CAAC;AAE7Y,MAAa,uBAAuB,OAAO,OAAO,EAAE,SAAS,OAAO,OAAO,SAAS,EAAE,YAAY,CAAC,2BAA2B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAmF,cAAc;AAAuB,CAAC;AAEzR,MAAa,mBAAmB,OAAO,OAAO;CAAE,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,gDAAgD,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,SAAS,OAAO,OAAO,SAAS;EAAE,eAAe;EAAoE,YAAY,CAAC,IAAI;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,oBAAoB,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,UAAU,OAAO,OAAO,SAAS;EAAE,eAAe;EAAiC,YAAY,CAAC,GAAG;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,oBAAoB,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,qBAAqB,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAsI,YAAY,CAAC,CAAC;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,kBAAkB,CAAC,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAuD,cAAc;AAAmB,CAAC;AAEz6C,MAAa,WAAW,OAAO,OAAO;CAAE,SAAS,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,UAAU,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,gBAAgB,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,iBAAiB,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,eAAe,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,gBAAgB,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,qBAAqB,OAAO,OAAO,SAAS,EAAE,eAAe,gCAAgC,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,kBAAkB,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA4F,cAAc;AAAW,CAAC;AAEr+C,MAAa,SAAS,OAAO,OAAO;CAAE,MAAM,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,qBAAqB,CAAC;CAAG,eAAe,OAAO,OAAO,SAAS;EAAE,eAAe;EAA+B,YAAY,CAAC,qBAAqB;CAAE,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS;EAAE,eAAe;EAAgC,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAA2D,YAAY,CAAC,IAAI;EAAG,UAAU;CAAY,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA+D,cAAc;AAAS,CAAC;AAEvuB,MAAa,OAAO,OAAO,OAAO;CAAE,MAAM;CAAQ,SAAS,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,QAAQ,CAAC,CAAC;CAAG,eAAe,OAAO;CAAQ,iBAAiB,OAAO;CAAS,aAAa,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC;CAAG,cAAc,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,YAAY,CAAC,CAAC;CAAG,uBAAuB,OAAO,YAAY,OAAO,SAAS;EAAC;EAAa;EAAc;EAAkB;EAAiB;CAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,2DAA2D,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,OAAO,CAAC;AAErtB,MAAa,mBAAmB,OAAO,OAAO,EAAE,OAAO,OAAO,MAAM,MAAM,CAAC,CAAC,SAAS;CAAE,eAAe;CAA4D,YAAY,CAAC,CAAC,wCAAwC,sCAAsC,CAAC;AAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAuH,cAAc;AAAmB,CAAC;AAE1mB,MAAa,QAAQ,OAAO,OAAO;CAAE,MAAM,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,oBAAoB,CAAC;CAAG,YAAY,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,8BAA8B,CAAC;CAAG,gBAAgB,OAAO,OAAO,SAAS;EAAE,eAAe;EAA8H,YAAY,CAAC,SAAS;CAAE,CAAC;CAAG,cAAc,OAAO,OAAO,SAAS;EAAE,eAAe;EAAgF,YAAY,CAAC,sCAAsC;CAAE,CAAC;CAAG,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAAyD,YAAY,CAAC,uBAAuB;CAAE,CAAC;CAAG,WAAW,OAAO,OAAO,SAAS;EAAE,eAAe;EAAiC,YAAY,CAAC,uBAAuB;CAAE,CAAC;CAAG,QAAQ,OAAO,OAAO,OAAO,QAAQ,OAAO,KAAK,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAA0E,YAAY,CAAC,EAAE,UAAU,kBAAkB,CAAC;CAAE,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS;EAAE,eAAe;EAAgC,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAqD,cAAc;AAAQ,CAAC;AAEz5C,MAAa,aAAa,OAAO,OAAO;CAAE,MAAM;CAAQ,aAAa;CAAe,WAAW,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC;CAAG,YAAY,OAAO,YAAY,OAAO,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC;CAAG,UAAU,OAAO,OAAO,SAAS,EAAE,YAAY,CAAC,4BAA4B,EAAE,CAAC;CAAG,gBAAgB,OAAO,OAAO,SAAS,EAAE,YAAY,CAAC,mBAAmB,EAAE,CAAC;CAAG,cAAc,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC;CAAG,QAAQ,OAAO,OAAO,OAAO,QAAQ,OAAO,KAAK,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,aAAa,CAAC;AAEzqB,MAAa,gBAAgB,OAAO,OAAO;CAAE,gBAAgB;CAAc,cAAc;AAAO,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAsF,cAAc;AAAgB,CAAC;AAElP,MAAa,QAAQ,OAAO,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA4D,cAAc;AAAQ,CAAC;AAE1K,MAAa,kBAAkB,OAAO,OAAO,EAAE,YAAY,OAAO,MAAM,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAgD,YAAY,CAAC,EAAE,YAAY,CAAC,EAAE,QAAQ,WAAW,CAAC,EAAE,CAAC;CAAG,cAAc;AAAkB,CAAC;AAE9P,MAAa,mBAAmB,OAAO,OAAO;CAAE,YAAY;CAAQ,UAAU;CAAQ,UAAU,OAAO,MAAM,WAAW,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,mBAAmB,CAAC;AAEvd,MAAa,wBAAwB,OAAO,OAAO,EAAE,UAAU,OAAO,MAAM,WAAW,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,wBAAwB,CAAC;AAE3T,MAAa,YAAY,OAAO,OAAO;CAAE,QAAQ,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS;EAAE,eAAe;EAA6B,YAAY,CAAC,CAAC,0CAA0C,CAAC;CAAE,CAAC;CAAG,YAAY,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2E,YAAY,CAAC,kBAAkB;CAAE,CAAC,CAAC;CAAG,cAAc,OAAO,YAAY,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS;EAAE,eAAe;EAAwE,YAAY,CAAC,UAAU;CAAE,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA0D,cAAc;AAAY,CAAC;AAE1tB,MAAa,mCAAmC,OAAO,OAAO;CAAE,eAAe,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,+CAA+C,EAAE,CAAC;CAAG,eAAe,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,+CAA+C,EAAE,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAwE,cAAc;AAAmC,CAAC;AAExiB,MAAa,mBAAmB,OAAO,OAAO;CAAE,OAAO,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS;EAAE,eAAe;EAAsE,UAAU;CAAM,CAAC;CAAG,qBAAqB,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,eAAe,uFAAuF,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAqQ,cAAc;AAAmB,CAAC;AAEl1B,MAAa,sBAAsB,OAAO,OAAO;CAAE,QAAQ,OAAO;CAAQ,SAAS,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,eAAe,+CAA+C,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,sBAAsB,CAAC;AAE/R,MAAa,yBAAyB,OAAO,OAAO;CAAE,OAAO,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,eAAe,qCAAqC,CAAC;CAAG,SAAS,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,eAAe,uCAAuC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,yBAAyB,CAAC;AAE7Z,MAAa,kBAAkB,OAAO,OAAO;CAAE,QAAQ,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,QAAQ,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,mBAAmB,SAAS,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,kBAAkB,CAAC;AAEjV,MAAa,gBAAgB,OAAO,OAAO;CAAE,OAAO,OAAO,OAAO,SAAS;EAAE,eAAe;EAA6Y,YAAY,CAAC,8EAA8E;CAAE,CAAC;CAAG,QAAQ,OAAO,YAAY,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS;EAAE,eAAe;EAAkI,YAAY,CAAC,UAAU;CAAE,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAoD,cAAc;AAAgB,CAAC;AAE39B,MAAa,oBAAoB,OAAO,OAAO;CAAE,OAAO,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAwE,YAAY,CAAC,8EAA8E;CAAE,CAAC,CAAC;CAAG,QAAQ,OAAO,YAAY,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS;EAAE,eAAe;EAAuE,YAAY,CAAC,UAAU;CAAE,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAsH,cAAc;AAAoB,CAAC;AAEzrB,MAAa,2BAA2B,OAAO,OAAO;CAAE,OAAO,OAAO,OAAO,SAAS,EAAE,UAAU,MAAM,CAAC;CAAG,kBAAkB;CAAW,mBAAmB;CAAW,kBAAkB,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,oBAAoB,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,oCAAoC,CAAC,CAAC;CAAG,sBAAsB,OAAO;CAAQ,gBAAgB,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,mBAAmB,SAAS,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,2BAA2B,CAAC;AAEzrB,MAAa,mBAAmB,OAAO,OAAO,EAAE,QAAQ,OAAO,cAAuC,SAAS,CAAC,CAAC,SAAS,EAAE,eAAe,4EAA4E,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAyE,YAAY,CAAC,EAAE,QAAQ;EAAE,eAAe;EAAc,UAAU;CAAY,EAAE,CAAC;CAAG,cAAc;AAAmB,CAAC;AAEpb,MAAa,sBAAsB,OAAO,OAAO;CAAE,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAA4E,YAAY,CAAC,gBAAgB;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC;CAAG,eAAe,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAqF,YAAY,CAAC,+CAA+C;CAAE,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,QAAQ,SAAS;EAAE,eAAe;EAAgM,WAAW;CAAM,CAAC,CAAC;CAAG,QAAQ,OAAO,YAAY,OAAO,cAAuC,SAAS,CAAC,CAAC,SAAS,EAAE,eAAe,iDAAiD,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA+D,YAAY,CAAC;EAAE,QAAQ;EAAkB,eAAe;EAAiD,SAAS;EAAO,QAAQ;GAAE,eAAe;GAAc,eAAe;EAAU;CAAE,CAAC;CAAG,cAAc;AAAsB,CAAC;AAEj6C,MAAa,WAAW,OAAO,OAAO;CAAE,MAAM,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,uBAAuB,CAAC;CAAG,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAA+C,YAAY,CAAC,gBAAgB;CAAE,CAAC;CAAG,YAAY,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,iCAAiC,CAAC;CAAG,eAAe,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAA8D,YAAY,CAAC,+CAA+C;CAAE,CAAC,CAAC;CAAG,oBAAoB,OAAO,YAAY,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,mGAAmG,CAAC,CAAC;CAAG,yBAAyB,OAAO,YAAY,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,8FAA8F,CAAC,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS;EAAE,eAAe;EAAkC,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAyD,YAAY,CAAC,IAAI;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAgF,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,QAAQ,OAAO,YAAY,OAAO,cAAuC,SAAS,CAAC,CAAC,SAAS,EAAE,eAAe,wDAAwD,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA8F,cAAc;AAAW,CAAC;AAEl7D,MAAa,eAAe,OAAO,OAAO;CAAE,aAAa,OAAO,OAAO,OAAO,QAAQ,oBAAoB;CAAG,SAAS,OAAO,MAAM,SAAS;CAAG,YAAY,OAAO,SAAS;EAAC;EAAU;EAAS;CAAQ,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAA4b,YAAY,CAAC,QAAQ;CAAE,CAAC;CAAG,OAAO,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAwG,YAAY,CAAC,4CAA4C;CAAE,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,OAAO,EAAE,OAAO,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,YAAY,CAAC,8EAA8E,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,0GAA0G,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAqH,YAAY,CAAC,wBAAwB;CAAE,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAmH,cAAc;AAAe,CAAC;AAEroD,MAAa,+BAA+B,OAAO,OAAO;CAAE,OAAO,OAAO,OAAO,MAAM,OAAO,0BAAU,IAAI,OAAO,qBAAqB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,iDAAiD,CAAC,CAAC;CAAG,MAAM,OAAO,YAAY,OAAO,MAAM;CAAG,QAAQ,OAAO,YAAY,OAAO,MAAM;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM;CAAG,gBAAgB,OAAO,YAAY,OAAO,MAAM;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM;CAAG,eAAe,OAAO,YAAY,OAAO,MAAM;CAAG,QAAQ,OAAO,MAAM,6BAA6B,CAAC,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAmF,cAAc;AAA+B,CAAC;AAEtyB,MAAa,uBAAuB,OAAO,OAAO;CAAE,QAAQ,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,SAAS,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,eAAe,sCAAsC,CAAC;CAAG,UAAU,OAAO,OAAO,SAAS,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,YAAY,OAAO,YAAY,OAAO,QAAQ,SAAS;EAAE,eAAe;EAAqG,WAAW;CAAM,CAAC,CAAC;CAAG,QAAQ,OAAO,OAAO,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,oCAAoC,CAAC,CAAC;CAAG,WAAW,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,wDAAwD,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,yBAAyB,CAAC,CAAC,CAAC;CAAG,YAAY,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,WAAW,MAAM,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,WAAW,MAAM,CAAC,CAAC;CAAG,YAAY,OAAO,YAAY,qBAAqB;CAAG,gBAAgB,OAAO,YAAY,gCAAgC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAiD,cAAc;AAAuB,CAAC;AAEl/C,MAAa,wBAAwB,OAAO,OAAO;CAAE,QAAQ,OAAO;CAAQ,WAAW;CAA8B,UAAU,OAAO;CAAS,cAAc,OAAO;AAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,wBAAwB,CAAC;AAEjO,MAAa,YAAY,OAAO,OAAO;CAAE,eAAe,OAAO,OAAO,SAAS;EAAE,eAAe;EAA+D,UAAU;CAAO,CAAC;CAAG,QAAQ,OAAO,SAAS,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,2KAA2K,CAAC;CAAG,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,yDAAyD,CAAC;CAAG,qBAAqB,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2D,UAAU;CAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,UAAU,OAAO,SAAS;EAAC;EAAY;EAAW;EAAW;CAAQ,CAAC;CAAG,cAAc,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,gEAAgE,CAAC,CAAC;CAAG,gBAAgB,OAAO,OAAO,SAAS;EAAE,eAAe;EAAiF,YAAY,CAAC,gEAAgE;CAAE,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,UAAU,YAAY,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,UAAU,QAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,eAAe,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,SAAS,OAAO,SAAS,CAAC,OAAO,SAAS,CAAC;CAAG,WAAW,OAAO,QAAQ,SAAS,EAAE,eAAe,4LAA4L,CAAC;CAAG,sBAAsB,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,qGAAqG,CAAC,CAAC;CAAG,wBAAwB,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,yHAAyH,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,kBAAkB;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAgD,cAAc;AAAY,CAAC;AAE50F,MAAa,mBAAmB,OAAO,MAAM,CAAC,aAAa,gBAAgB,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAsD,cAAc;AAAmB,CAAC;AAEnN,MAAa,iBAAiB,OAAO,OAAO;CAAE,YAAY,OAAO;CAAQ,cAAc,OAAO,OAAO,SAAS;EAAE,eAAe;EAAuD,UAAU;CAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,YAAY;AAAS,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA2C,cAAc;AAAiB,CAAC;AAE7e,MAAa,aAAa,OAAO,OAAO;CAAE,QAAQ,OAAO,MAAM,MAAM;CAAG,QAAQ;AAAS,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA6B,cAAc;AAAa,CAAC;AAE/K,MAAa,WAAW,OAAO,OAAO;CAAE,QAAQ,OAAO,MAAM,IAAI;CAAG,QAAQ;AAAS,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,WAAW,CAAC;AAE7H,MAAa,YAAY,OAAO,OAAO;CAAE,QAAQ,OAAO,MAAM,KAAK;CAAG,QAAQ;AAAS,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAmC,cAAc;AAAY,CAAC;AAElL,MAAa,iBAAiB,OAAO,OAAO;CAAE,QAAQ,OAAO,MAAM,UAAU;CAAG,QAAQ;AAAS,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,iBAAiB,CAAC;AAE/I,MAAa,YAAY,OAAO,OAAO;CAAE,QAAQ;CAAe,MAAM,OAAO,OAAO,SAAS,EAAE,eAAe,kDAAkD,CAAC;CAAG,cAAc,OAAO,SAAS;EAAC;EAAa;EAAQ;EAAW;CAAU,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,kDAAkD,CAAC;CAAG,WAAW,OAAO,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,8FAA8F,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,+EAA+E,CAAC,CAAC;CAAG,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAAyD,YAAY,CAAC,uBAAuB;CAAE,CAAC;CAAG,iBAAiB;CAAe,YAAY,OAAO,YAAY,OAAO,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,+EAA+E,CAAC,CAAC;CAAG,UAAU,OAAO,MAAM,KAAK,CAAC,CAAC,SAAS,EAAE,eAAe,iDAAiD,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC;CAAG,gBAAgB;CAAc,kBAAkB,OAAO,MAAM,aAAa,CAAC,CAAC,SAAS,EAAE,eAAe,8EAA8E,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA6D,cAAc;AAAY,CAAC;AAEhnD,MAAa,QAAQ,OAAO,OAAO;CAAE,MAAM,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,mDAAmD,CAAC;CAAG,iBAAiB;CAAe,YAAY,OAAO,YAAY,OAAO,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,+EAA+E,CAAC,CAAC;CAAG,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAAiF,YAAY,CAAC,eAAe;CAAE,CAAC;CAAG,UAAU,OAAO,MAAM,KAAK,CAAC,CAAC,SAAS,EAAE,eAAe,sCAAsC,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS;EAAE,eAAe;EAA+B,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC;CAAG,iBAAiB,OAAO,cAA2C,aAAa,CAAC,CAAC,SAAS,EAAE,eAAe,6CAA6C,CAAC;CAAG,eAAe,OAAO,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,mGAAmG,CAAC;CAAG,iBAAiB,OAAO,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,mGAAmG,CAAC;CAAG,gBAAgB;CAAc,kBAAkB,OAAO,MAAM,aAAa,CAAC,CAAC,SAAS,EAAE,eAAe,2EAA2E,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAuF,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAyD,YAAY,CAAC,IAAI;EAAG,UAAU;CAAY,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA+E,cAAc;AAAQ,CAAC;AAEv1E,MAAa,wBAAwB,OAAO,MAAM,CAAC,OAAO,OAAO;CAAE,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAAuE,YAAY,CAAC,gBAAgB;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC;CAAG,iBAAiB,OAAO,QAAQ,cAAc;CAAG,UAAU,OAAO,MAAM,KAAK,CAAC,CAAC,SAAS;EAAE,eAAe;EAAgC,YAAY,CAAC,CAAC,cAAc,CAAC;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAA4E,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,gBAAgB,OAAO,YAAY,OAAO,QAAQ,KAAK,CAAC,CAAC,SAAS;EAAE,eAAe;EAA+D,WAAW;CAAM,CAAC,CAAC;CAAG,kBAAkB,OAAO,YAAY,OAAO,MAAM,aAAa,CAAC,CAAC,SAAS,EAAE,eAAe,kDAAkD,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;AAAE,CAAC,GAAG,OAAO,OAAO;CAAE,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAAuE,YAAY,CAAC,mBAAmB;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC;CAAG,iBAAiB,OAAO,QAAQ,QAAQ;CAAG,YAAY,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,kDAAkD,CAAC;CAAG,UAAU,OAAO,MAAM,WAAW,CAAC,CAAC,SAAS;EAAE,eAAe;EAA8E,YAAY,CAAC,CAAC,iBAAiB,gBAAgB,CAAC;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAA4E,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,gBAAgB,OAAO,YAAY,YAAY;CAAG,kBAAkB,OAAO,YAAY,OAAO,MAAM,aAAa,CAAC,CAAC,SAAS,EAAE,eAAe,iGAAiG,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC,CAAC;AAAE,CAAC,CAAC,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAyE,cAAc;AAAwB,CAAC;AAEjhG,MAAa,yBAAyB,OAAO,OAAO;CAAE,QAAQ,OAAO,OAAO,SAAS;EAAE,eAAe;EAAuE,YAAY,CAAC,gBAAgB;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC;CAAG,UAAU,OAAO,MAAM,WAAW,CAAC,CAAC,SAAS;EAAE,eAAe;EAA8E,YAAY,CAAC,CAAC,iBAAiB,gBAAgB,CAAC;CAAE,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAA4E,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,gBAAgB,OAAO,YAAY,YAAY;CAAG,kBAAkB,OAAO,YAAY,OAAO,MAAM,aAAa,CAAC,CAAC,SAAS,EAAE,eAAe,iGAAiG,CAAC,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,6BAA6B,CAAC,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAqE,cAAc;AAAyB,CAAC;AAE/8C,MAAa,qBAAqB,OAAO,MAAM,CAAC,OAAO,oBAAoB,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAoC,cAAc;AAAqB,CAAC;AAEnM,MAAa,eAAe,OAAO,OAAO;CAAE,QAAQ,OAAO,SAAS,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAuH,YAAY,CAAC,MAAM;CAAE,CAAC;CAAG,kBAAkB,OAAO,QAAQ,SAAS;EAAE,eAAe;EAAyE,YAAY,CAAC,IAAI;CAAE,CAAC;CAAG,cAAc,OAAO,YAAY,OAAO,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,eAAe,kHAAkH,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA2D,cAAc;AAAe,CAAC;AAEztB,MAAa,6BAA6B,OAAO,OAAO;CAAE,UAAU,OAAO,OAAO,SAAS,EAAE,UAAU,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,wBAAwB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,oDAAoD,CAAC,CAAC;CAAG,WAAW,OAAO,MAAM,mBAAmB;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,6BAA6B,CAAC;AAEvW,MAAa,cAAc,OAAO,OAAO;CAAE,aAAa,OAAO,YAAY,OAAO,OAAO,OAAO,QAAQ,aAAa,CAAC,CAAC,SAAS,EAAE,eAAe,kHAAkH,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,MAAM,SAAS,CAAC,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC,CAAC;CAAG,YAAY,OAAO,YAAY,OAAO,SAAS;EAAC;EAAU;EAAS;CAAQ,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAgS,YAAY,CAAC,QAAQ;CAAE,CAAC,CAAC;CAAG,OAAO,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA6F,YAAY,CAAC,2CAA2C;CAAE,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,iBAAiB;CAAG,UAAU,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2N,YAAY,CAAC,wBAAwB;CAAE,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA8N,cAAc;AAAc,CAAC;AAEprD,MAAa,oBAAoB,OAAO,OAAO;CAAE,aAAa,OAAO,YAAY,OAAO,OAAO,OAAO,QAAQ,aAAa,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,MAAM,SAAS,CAAC,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC,CAAC;CAAG,YAAY,OAAO,YAAY,OAAO,SAAS;EAAC;EAAU;EAAS;CAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,6DAA6D,CAAC,CAAC;CAAG,OAAO,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,0DAA0D,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,iBAAiB;CAAG,UAAU,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,4DAA4D,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,QAAQ,SAAS;EAAE,eAAe;EAA0G,YAAY,CAAC,KAAK;CAAE,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAsG,cAAc;AAAoB,CAAC;AAEpmC,MAAa,2BAA2B,OAAO,OAAO;CAAE,QAAQ,OAAO;CAAQ,WAAW,OAAO,MAAM,wBAAwB;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,2BAA2B,CAAC;AAEzL,MAAa,mBAAmB,OAAO,OAAO,EAAE,YAAY,SAAS,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAuC,cAAc;AAAmB,CAAC;AAE3K,MAAa,eAAe,OAAO,OAAO;CAAE,QAAQ,OAAO,MAAM,QAAQ;CAAG,QAAQ;AAAS,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA+B,cAAc;AAAe,CAAC;AAEvL,MAAa,6BAA6B,OAAO,OAAO;CAAE,WAAW;CAA8B,SAAS;CAAiB,WAAW,OAAO,YAAY,OAAO,OAAO;CAAG,mBAAmB,OAAO,YAAY,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,8BAA8B;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,6BAA6B,CAAC;AAE9gB,MAAa,qCAAqC,OAAO,OAAO;CAAE,WAAW;CAA8B,QAAQ;AAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,qCAAqC,CAAC;AAErM,MAAa,sCAAsC,OAAO,OAAO;CAAE,WAAW;CAA8B,KAAK,OAAO,OAAO,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,kBAAkB,CAAC,CAAC;CAAG,KAAK,OAAO,OAAO,MAAM,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,YAAY,kBAAkB,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,sCAAsC,CAAC;AAEhW,MAAa,kCAAkC,OAAO,OAAO;CAAE,WAAW;CAA8B,YAAY,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC;CAAG,UAAU,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,kCAAkC,CAAC;AAEhpB,MAAa,8BAA8B,OAAO,OAAO;CAAE,QAAQ,OAAO;CAAQ,WAAW;CAAyB,iBAAiB,OAAO;CAAS,WAAW,OAAO,MAAM,qBAAqB;CAAG,WAAW,OAAO,MAAM,sBAAsB;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,8BAA8B,CAAC;AAElT,MAAa,SAAS,OAAO,OAAO;CAAE,aAAa;CAAW,kBAAkB,OAAO,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,uEAAuE,CAAC;CAAG,oBAAoB,OAAO,MAAM,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,kHAAkH,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAyD,cAAc;AAAS,CAAC;AAElhB,MAAa,YAAY,OAAO,OAAO;CAAE,QAAQ,OAAO,MAAM,KAAK;CAAG,QAAQ;AAAS,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA+D,cAAc;AAAY,CAAC;AAE9M,MAAa,sBAAsB,OAAO,OAAO;CAAE,SAAS;CAAO,YAAY,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS;EAAE,eAAe;EAAqG,YAAY,CAAC,+CAA+C;CAAE,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA0D,cAAc;AAAsB,CAAC;AAExd,MAAa,UAAU,OAAO,OAAO;CAAE,MAAM,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,sBAAsB,CAAC;CAAG,YAAY,OAAO,cAAoC,MAAM,CAAC,CAAC,SAAS,EAAE,eAAe,gCAAgC,CAAC;CAAG,oBAAoB,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAwE,YAAY,CAAC,gBAAgB;CAAE,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2C,YAAY,CAAC,qBAAqB;CAAE,CAAC,CAAC;CAAG,UAAU;CAAe,kBAAkB,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA0D,YAAY,CAAC,UAAU;CAAE,CAAC,CAAC;CAAG,SAAS;CAAc,aAAa,OAAO,OAAO,SAAS;EAAE,eAAe;EAAwC,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA+E,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAsE,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAA0E,YAAY,CAAC,IAAI;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,aAAa,OAAO,OAAO,SAAS;EAAE,eAAe;EAAuG,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC;CAAG,mBAAmB,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA6E,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,eAAe,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAAyE,YAAY,CAAC,sBAAsB;EAAG,UAAU;CAAY,CAAC,CAAC;CAAG,QAAQ,OAAO,YAAY,OAAO,cAAuC,SAAS,CAAC,CAAC,SAAS,EAAE,eAAe,uDAAuD,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2H,YAAY,CAAC,uEAAuE;EAAG,UAAU;CAAM,CAAC,CAAC;CAAG,gBAAgB,OAAO,YAAY,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS;EAAE,eAAe;EAAmI,YAAY,CAAC,+CAA+C;CAAE,CAAC,CAAC;CAAG,iBAAiB,OAAO,YAAY,gCAAgC;CAAG,aAAa,OAAO,YAAY,gBAAgB;CAAG,SAAS,OAAO,YAAY,YAAY;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAgG,cAAc;AAAU,CAAC;AAEv0G,MAAa,kCAAkC,OAAO,OAAO;CAAE,UAAU;CAAiC,SAAS;AAAgC,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,kCAAkC,CAAC;AAElN,MAAa,2BAA2B,OAAO,OAAO;CAAE,QAAQ,OAAO;CAAQ,WAAW,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC;CAAG,gBAAgB,OAAO,MAAM,2BAA2B;AAAE,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,2BAA2B,CAAC;AAE/X,MAAa,cAAc,OAAO,OAAO;CAAE,QAAQ,OAAO,MAAM,OAAO;CAAG,QAAQ;AAAS,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAsC,cAAc;AAAc,CAAC;AAE3L,MAAa,sBAAsB,OAAO,OAAO;CAAE,WAAW;CAAS,UAAU,OAAO,OAAO,SAAS;EAAE,eAAe;EAA+D,YAAY,CAAC,uEAAuE;EAAG,UAAU;CAAM,CAAC;CAAG,gBAAgB,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS;EAAE,eAAe;EAAwD,YAAY,CAAC,+CAA+C;CAAE,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAsE,cAAc;AAAsB,CAAC;AAE3pB,MAAa,sBAAsB,OAAO,OAAO,EAAE,YAAY,OAAO,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAmE,cAAc;AAAsB,CAAC;AAE1N,MAAa,kBAAkB,OAAO,OAAO;CAAE,WAAW;CAAS,UAAU,OAAO,YAAY,OAAO,OAAO,SAAS;EAAE,eAAe;EAA2F,YAAY,CAAC,uEAAuE;EAAG,UAAU;CAAM,CAAC,CAAC;CAAG,gBAAgB,OAAO,YAAY,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS;EAAE,eAAe;EAAuG,YAAY,CAAC,+CAA+C;CAAE,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAkF,cAAc;AAAkB,CAAC;AAElxB,MAAa,8BAA8B,OAAO,OAAO;CAAE,WAAW,OAAO,QAAQ,CAAC;CAAG,cAAc,OAAO,YAAY,eAAe;CAAG,gBAAgB,OAAO,YAAY,OAAO,cAAqD,eAAe,CAAC,CAAC,SAAS,EAAE,eAAe,+CAA+C,CAAC,CAAC;CAAG,YAAY,OAAO,MAAM,0BAA0B,CAAC,CAAC,MAAM,OAAO,YAAY,GAAK,CAAC,CAAC,SAAS,EAAE,YAAY,yCAAyC,CAAC,CAAC;CAAG,oBAAoB,OAAO,MAAM,kCAAkC,CAAC,CAAC,MAAM,OAAO,YAAY,GAAK,CAAC,CAAC,SAAS,EAAE,YAAY,yCAAyC,CAAC,CAAC;CAAG,mBAAmB,OAAO,MAAM,mCAAmC,CAAC,CAAC,MAAM,OAAO,YAAY,GAAK,CAAC,CAAC,SAAS,EAAE,YAAY,yCAAyC,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,4BAA4B;CAAG,aAAa,OAAO,YAAY,+BAA+B;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAoE,cAAc;AAA8B,CAAC;AAElkC,MAAa,uBAAuB,OAAO,OAAO;CAAE,UAAU,OAAO,OAAO,SAAS;EAAE,YAAY,CAAC,qBAAqB;EAAG,UAAU;CAAM,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,wBAAwB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,oDAAoD,CAAC,CAAC;CAAG,mBAAmB,OAAO,YAAY,OAAO,MAAM,OAAO,OAAO,SAAS,EAAE,UAAU,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,wBAAwB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,oDAAoD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,sFAAsF,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC;CAAG,gBAAgB,OAAO,MAAM,mBAAmB;CAAG,aAAa,OAAO,YAAY,OAAO,MAAM,wBAAwB,CAAC;CAAG,gBAAgB,OAAO,YAAY,OAAO,MAAM,wBAAwB,CAAC;CAAG,QAAQ,OAAO,YAAY,OAAO,MAAM,eAAe,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAA6F,cAAc;AAAuB,CAAC;AAEnoC,MAAa,uBAAuB,OAAO,OAAO;CAAE,OAAO,OAAO,OAAO,SAAS;EAAE,eAAe;EAA4D,YAAY,CAAC,6BAA6B;EAAG,UAAU;CAAM,CAAC,CAAC,CAAC,MAAM,OAAO,0BAAU,IAAI,OAAO,kBAAkB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,8CAA8C,CAAC,CAAC;CAAG,kBAAkB,OAAO,YAAY,OAAO,MAAM,0BAA0B,CAAC,CAAC,SAAS,EAAE,eAAe,qFAAqF,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,4BAA4B;CAAG,iBAAiB,OAAO,YAAY,2BAA2B;CAAG,qBAAqB,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,eAAe,2DAA2D,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,QAAQ,SAAS;EAAE,eAAe;EAAgG,WAAW;CAAM,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAqE,cAAc;AAAuB,CAAC;AAE1xC,MAAa,6BAA6B,OAAO,OAAO;CAAE,WAAW,OAAO,MAAM,oBAAoB,CAAC,CAAC,MAAM,OAAO,YAAY,GAAK,CAAC,CAAC,SAAS,EAAE,YAAY,yCAAyC,CAAC,CAAC;CAAG,WAAW,OAAO,MAAM,oBAAoB,CAAC,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,uCAAuC,CAAC,CAAC;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAsF,cAAc;AAA6B,CAAC;AAE1f,MAAa,qBAAqB,OAAO,OAAO;CAAE,oBAAoB,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAuH,YAAY,CAAC,gBAAgB;CAAE,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS;EAAE,eAAe;EAAmD,YAAY,CAAC,qBAAqB;CAAE,CAAC,CAAC;CAAG,WAAW;CAAe,kBAAkB,OAAO,YAAY,OAAO,MAAM,oBAAoB,CAAC,CAAC,SAAS,EAAE,eAAe,4JAA4J,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC;CAAG,gBAAgB,OAAO,YAAY,0BAA0B;CAAG,QAAQ,OAAO,YAAY,OAAO,cAAuC,SAAS,CAAC,CAAC,SAAS,EAAE,eAAe,wBAAwB,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,WAAW;AAAE,CAAC,CAAC,CAAC,SAAS;CAAE,eAAe;CAAqD,YAAY,CAAC;EAAE,oBAAoB;EAAkB,SAAS;EAAuB,WAAW;GAAE,WAAW;GAAY,QAAQ,CAAC,cAAc;EAAE;EAAG,kBAAkB,CAAC,EAAE,OAAO,8BAA8B,CAAC;EAAG,gBAAgB;GAAE,WAAW,CAAC;GAAG,WAAW,CAAC;IAAE,UAAU;IAAuB,gBAAgB,CAAC;KAAE,QAAQ;KAAgB,SAAS;IAAW,CAAC;GAAE,CAAC;EAAE;EAAG,QAAQ;GAAE,eAAe;GAAW,SAAS;EAAW;CAAE,CAAC;CAAG,cAAc;AAAqB,CAAC;AAGpoD,MAAa,eAAe;AAE5B,MAAa,4BAA4B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE7G,MAAa,yBAAyB;AAEtC,MAAa,6BAA6B;AAE1C,MAAa,yBAAyB;AAEtC,MAAa,6BAA6B;AAE1C,MAAa,oBAAoB,OAAO,OAAO;CAAE,SAAS,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM;CAAG,WAAW,OAAO,YAAY,OAAO,SAAS;EAAC;EAAU;EAAW;CAAK,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,SAAS,CAAC,CAAC;CAAG,kBAAkB,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,WAAW,MAAM,CAAC,CAAC;CAAG,SAAS,OAAO,YAAY,OAAO,MAAM;AAAE,CAAC;AAE3jB,MAAa,iBAAiB;AAE9B,MAAa,qBAAqB;AAElC,MAAa,0BAA0B;AAEvC,MAAa,kBAAkB;AAE/B,MAAa,sBAAsB;AAEnC,MAAa,kBAAkB;AAE/B,MAAa,sBAAsB;AAEnC,MAAa,0BAA0B;AAEvC,MAAa,kBAAkB;AAE/B,MAAa,sBAAsB;AAEnC,MAAa,mBAAmB;AAEhC,MAAa,uBAAuB;AAEpC,MAAa,kBAAkB,OAAO,OAAO;CAAE,SAAS,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM;CAAG,SAAS,OAAO,YAAY,OAAO,MAAM;CAAG,YAAY,OAAO,YAAY,OAAO,SAAS;EAAC;EAAU;EAAY;CAAK,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,SAAS,CAAC,CAAC;AAAE,CAAC;AAEte,MAAa,eAAe;AAE5B,MAAa,mBAAmB;AAEhC,MAAa,wBAAwB;AAErC,MAAa,gBAAgB;AAE7B,MAAa,oBAAoB;AAEjC,MAAa,aAAa;AAE1B,MAAa,iBAAiB;AAE9B,MAAa,iBAAiB;AAE9B,MAAa,qBAAqB;AAElC,MAAa,wBAAwB;AAErC,MAAa,gBAAgB;AAE7B,MAAa,oBAAoB;AAEjC,MAAa,iBAAiB;AAE9B,MAAa,qBAAqB;AAElC,MAAa,0BAA0B;AAEvC,MAAa,8BAA8B;AAE3C,MAAa,yBAAyB,OAAO,MAAM,gBAAgB;AAEnE,MAAa,6BAA6B;AAE1C,MAAa,2BAA2B,OAAO,MAAM,gBAAgB;AAErE,MAAa,+BAA+B;AAE5C,MAAa,oCAAoC;AAEjD,MAAa,4BAA4B;AAEzC,MAAa,gCAAgC;AAE7C,MAAa,gCAAgC;AAE7C,MAAa,wBAAwB,OAAO,OAAO;CAAE,SAAS,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM;CAAG,YAAY,OAAO,YAAY,MAAM;CAAG,aAAa,OAAO,YAAY,aAAa;CAAG,WAAW,OAAO,YAAY,OAAO,MAAM;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM;CAAG,gBAAgB,OAAO,YAAY,OAAO,MAAM;CAAG,cAAc,OAAO,YAAY,OAAO,MAAM;AAAE,CAAC;AAErmB,MAAa,qBAAqB;AAElC,MAAa,yBAAyB;AAEtC,MAAa,wBAAwB,OAAO,OAAO;CAAE,SAAS,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM;CAAG,iBAAiB,OAAO,YAAY,aAAa;CAAG,YAAY,OAAO,YAAY,MAAM;CAAG,QAAQ,OAAO,YAAY,OAAO,MAAM;CAAG,SAAS,OAAO,YAAY,KAAK;CAAG,WAAW,OAAO,YAAY,OAAO,SAAS;EAAC;EAAU;EAAW;CAAK,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,MAAM,CAAC,CAAC;AAAE,CAAC;AAEtmB,MAAa,qBAAqB;AAElC,MAAa,yBAAyB;AAEtC,MAAa,8BAA8B;AAE3C,MAAa,sBAAsB;AAEnC,MAAa,0BAA0B;AAEvC,MAAa,0BAA0B;AAEvC,MAAa,eAAe;AAE5B,MAAa,mBAAmB;AAEhC,MAAa,kCAAkC;AAE/C,MAAa,0BAA0B;AAEvC,MAAa,8BAA8B;AAE3C,MAAa,yBAAyB,OAAO,OAAO;CAAE,SAAS,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM;CAAG,QAAQ,OAAO,YAAY,OAAO,MAAM;CAAG,SAAS,OAAO,YAAY,KAAK;CAAG,WAAW,OAAO,YAAY,OAAO,SAAS;EAAC;EAAU;EAAW;CAAK,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,MAAM,CAAC,CAAC;AAAE,CAAC;AAE3gB,MAAa,sBAAsB;AAEnC,MAAa,0BAA0B;AAEvC,MAAa,+BAA+B;AAE5C,MAAa,uBAAuB;AAEpC,MAAa,2BAA2B;AAExC,MAAa,2BAA2B;AAExC,MAAa,qBAAqB,OAAO,OAAO;CAAE,wBAAwB,OAAO,YAAY,MAAM;CAAG,SAAS,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM;CAAG,kBAAkB,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,WAAW,MAAM,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,aAAa;CAAG,SAAS,OAAO,YAAY,OAAO,MAAM;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC;CAAG,YAAY,OAAO,YAAY,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC;CAAG,eAAe,OAAO,YAAY,OAAO,MAAM,OAAO,SAAS;EAAC;EAAM;EAAO;EAAM;CAAQ,CAAC,CAAC,CAAC;AAAE,CAAC;AAEh8B,MAAa,kBAAkB;AAE/B,MAAa,sBAAsB;AAEnC,MAAa,sBAAsB,OAAO,OAAO;CAAE,wBAAwB,OAAO,YAAY,MAAM;CAAG,gBAAgB,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,WAAW,KAAK,CAAC,CAAC;AAAE,CAAC;AAEzL,MAAa,2BAA2B;AAExC,MAAa,mBAAmB;AAEhC,MAAa,uBAAuB;AAEpC,MAAa,wBAAwB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEzG,MAAa,6BAA6B;AAE1C,MAAa,qBAAqB;AAElC,MAAa,yBAAyB;AAEtC,MAAa,mBAAmB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEpG,MAAa,gBAAgB;AAE7B,MAAa,oBAAoB;AAEjC,MAAa,sBAAsB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEvG,MAAa,mBAAmB;AAEhC,MAAa,uBAAuB;AAEpC,MAAa,2BAA2B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE5G,MAAa,gCAAgC;AAE7C,MAAa,wBAAwB;AAErC,MAAa,4BAA4B;AAEzC,MAAa,2BAA2B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE5G,MAAa,gCAAgC;AAE7C,MAAa,wBAAwB;AAErC,MAAa,4BAA4B;AAEzC,MAAa,uBAAuB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAExG,MAAa,oBAAoB;AAEjC,MAAa,wBAAwB;AAErC,MAAa,sBAAsB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEvG,MAAa,mBAAmB;AAEhC,MAAa,uBAAuB;AAEpC,MAAa,2BAA2B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE5G,MAAa,wBAAwB;AAErC,MAAa,4BAA4B;AAEzC,MAAa,sCAAsC,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEvH,MAAa,mCAAmC;AAEhD,MAAa,uCAAuC;AAEpD,MAAa,yBAAyB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE1G,MAAa,sBAAsB;AAEnC,MAAa,0BAA0B;AAEvC,MAAa,yBAAyB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE1G,MAAa,8BAA8B;AAE3C,MAAa,sBAAsB;AAEnC,MAAa,0BAA0B;AAEvC,MAAa,4BAA4B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE7G,MAAa,6BAA6B;AAE1C,MAAa,kCAAkC,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEnH,MAAa,mCAAmC;AAEhD,MAAa,kCAAkC,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEnH,MAAa,uCAAuC;AAEpD,MAAa,+BAA+B;AAE5C,MAAa,mCAAmC;AAEhD,MAAa,8BAA8B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE/G,MAAa,2BAA2B,OAAO,MAAM,SAAS;AAE9D,MAAa,+BAA+B;AAE5C,MAAa,+BAA+B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEhH,MAAa,oCAAoC;AAEjD,MAAa,4BAA4B;AAEzC,MAAa,gCAAgC;AAE7C,MAAa,4BAA4B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE7G,MAAa,yBAAyB;AAEtC,MAAa,6BAA6B;AAE1C,MAAa,iCAAiC,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAElH,MAAa,sCAAsC;AAEnD,MAAa,8BAA8B;AAE3C,MAAa,kCAAkC;AAE/C,MAAa,6BAA6B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE9G,MAAa,0BAA0B;AAEvC,MAAa,8BAA8B;AAE3C,MAAa,yBAAyB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE1G,MAAa,sBAAsB,OAAO,MAAM,gBAAgB;AAEhE,MAAa,0BAA0B;AAEvC,MAAa,2BAA2B,OAAO,OAAO;CAAE,wBAAwB,OAAO,YAAY,MAAM;CAAG,aAAa,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,WAAW,UAAU,CAAC,CAAC;AAAE,CAAC;AAE/L,MAAa,oCAAoC,OAAO,OAAO,EAAE,SAAS,OAAO,YAAY,OAAO,MAAM,qBAAqB,CAAC,EAAE,CAAC;AAEnI,MAAa,wBAAwB,OAAO,OAAO,EAAE,SAAS,OAAO,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,kDAAkD,CAAC;AAExK,MAAa,4BAA4B;AAEzC,MAAa,0BAA0B,OAAO,OAAO;CAAE,wBAAwB,OAAO,YAAY,MAAM;CAAG,gBAAgB,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC;CAAG,aAAa,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,WAAW,MAAM,CAAC,CAAC;AAAE,CAAC;AAEvT,MAAa,2BAA2B;AAExC,MAAa,wBAAwB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEzG,MAAa,6BAA6B;AAE1C,MAAa,qBAAqB;AAElC,MAAa,yBAAyB;AAEtC,MAAa,+BAA+B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEhH,MAAa,oCAAoC;AAEjD,MAAa,4BAA4B;AAEzC,MAAa,gCAAgC;AAE7C,MAAa,qCAAqC,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEtH,MAAa,0CAA0C;AAEvD,MAAa,kCAAkC;AAE/C,MAAa,sCAAsC;AAEnD,MAAa,uBAAuB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAExG,MAAa,4BAA4B;AAEzC,MAAa,oBAAoB;AAEjC,MAAa,wBAAwB;AAErC,MAAa,sBAAsB,OAAO,OAAO;CAAE,wBAAwB,OAAO,YAAY,MAAM;CAAG,SAAS,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM;CAAG,QAAQ,OAAO,YAAY,OAAO,MAAM;CAAG,WAAW,OAAO,YAAY,OAAO,SAAS;EAAC;EAAU;EAAW;CAAK,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,SAAS,CAAC,CAAC;CAAG,kBAAkB,OAAO,YAAY,OAAO,QAAQ,SAAS,EAAE,WAAW,MAAM,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC;CAAG,YAAY,OAAO,YAAY,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,sCAAsC,CAAC,CAAC,CAAC,CAAC;CAAG,eAAe,OAAO,YAAY,OAAO,MAAM,OAAO,SAAS;EAAC;EAAM;EAAO;EAAM;CAAQ,CAAC,CAAC,CAAC;AAAE,CAAC;AAEngC,MAAa,mBAAmB;AAEhC,MAAa,uBAAuB;AAEpC,MAAa,uBAAuB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAExG,MAAa,oBAAoB;AAEjC,MAAa,wBAAwB;AAErC,MAAa,uBAAuB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAExG,MAAa,4BAA4B;AAEzC,MAAa,oBAAoB;AAEjC,MAAa,wBAAwB;AAErC,MAAa,4BAA4B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE7G,MAAa,iCAAiC;AAE9C,MAAa,yBAAyB;AAEtC,MAAa,6BAA6B;AAE1C,MAAa,wBAAwB,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEzG,MAAa,qBAAqB;AAElC,MAAa,yBAAyB;AAEtC,MAAa,mBAAmB,OAAO,OAAO;CAAE,wBAAwB,OAAO,YAAY,MAAM;CAAG,SAAS,OAAO,YAAY,OAAO,OAAO,SAAS,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,qCAAqC,CAAC,CAAC,CAAC;CAAG,UAAU,OAAO,YAAY,OAAO,MAAM;CAAG,gBAAgB,OAAO,YAAY,OAAO,MAAM;CAAG,cAAc,OAAO,YAAY,OAAO,MAAM;AAAE,CAAC;AAEje,MAAa,gBAAgB;AAE7B,MAAa,oBAAoB;AAEjC,MAAa,+BAA+B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAEhH,MAAa,wCAAwC,OAAO,OAAO,EAAE,SAAS,OAAO,YAAY,OAAO,MAAM,qBAAqB,CAAC,EAAE,CAAC;AAEvI,MAAa,4BAA4B,OAAO,OAAO,EAAE,SAAS,OAAO,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,kDAAkD,CAAC;AAE5K,MAAa,gCAAgC;AAE7C,MAAa,2BAA2B,OAAO,OAAO,EAAE,wBAAwB,OAAO,YAAY,MAAM,EAAE,CAAC;AAE5G,MAAa,gCAAgC;AAE7C,MAAa,wBAAwB;AAErC,MAAa,4BAA4B;AAwBzC,MAAa,QACX,YACA,UAEI,CAAC,MACW;CAChB,MAAM,oBAAoB,aACxB,OAAO,QACL,OAAO,cAAc,SAAS,YAAY,wBAAwB,IACjE,gBACC,OAAO,KACL,IAAI,gBAAgB,gBAAgB,EAClC,QAAQ,IAAI,gBAAgB,gBAAgB;EAC1C,SAAS,SAAS;EAClB;EACA,aAAa,OAAO,gBAAgB,WAAW,cAAc,KAAK,UAAU,WAAW;CACzF,CAAC,EACH,CAAC,CACH,CACJ;CACF,MAAM,gBAAgD,YACpD,MAC8E;EAC9E,MAAM,uBACJ,QAAQ,mBACH,aAAoD,OAAO,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,KAChG,aAAoD,EAAE,QAAQ;EAErE,OAAO,SAAS,mBACX,YACC,OAAO,QACL,OAAO,QAAQ,QAAQ,gBAAiB,UAAU,IAAI,WAAW,OAAO,QAAQ,OAAO,CAAC,GACxF,oBACF,KACD,YAAY,OAAO,QAAQ,WAAW,QAAQ,OAAO,GAAG,oBAAoB;CACnF;CACA,MAAM,oBAAoB;CAC1B,MAAM,qBACJ,QACA,YACA,YACG,OAAO,cAAc;EACxB,MAAM,QAAQ,aAAqB,UAAoB,OAAO,KAC5D,IAAI,gBAAgB,gBAAgB,EAClC,QAAQ,IAAI,gBAAgB,gBAAgB;GAC1C,SAAS,OAAO,EAAE;GAClB;GACA;EACF,CAAC,EACH,CAAC,CACH;EACA,IAAI,WAAW,MAAM,UAAU,UAAU,MAAM,qBAAqB,KAAK,KAAK,CAAC,GAC7E,OAAO,KAAK,8DAA8D;EAE5E,IAAI;EACJ,IAAI;GACF,OAAO,QAAQ;EACjB,SAAS,OAAO;GACd,OAAO,KAAK,mCAAmC,KAAK;EACtD;EACA,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC,MAAM,YAAY,qBAAqB,KAAK,OAAO,CAAC,GACtE,OAAO,KAAK,2CAA2C;EAEzD,OAAO,OAAO,QAAQ,OAAO,IAAI,CAAC;CACpC,CAAC;CACD,MAAM,wBAAwB,YAC5B,OAAO,cACL,QAAQ,kBACJ,OAAO,QAAQ,QAAQ,gBAAgB,UAAU,IAAI,WAAW,WAAW,eAAe,MAAM,CAAC,CAAC,QAAQ,OAAO,CAAC,IAClH,WAAW,eAAe,UAAU,CAAC,CAAC,QAAQ,OAAO,CAC3D;CACF,MAAM,gBAAgB,aACpB,OAAO,IAAI,SAAS,cAAc,WAAW,IAAI,WAAW,MAAM,CAAC;CACrE,MAAM,iBAAiB,YACrB,qBAAqB,OAAO,CAAC,CAAC,KAC5B,OAAO,KAAK,aAAa,SAAS,MAAM,GACxC,OAAO,MACT;CACF,MAAM,iBAC+B,YAClC,aACC,mBAAmB,eAAe,MAAM,CAAC,CAAC,QAAQ;CAQtD,OAAO;EACL;EACA,cAAc,YAAY,kBAAkB,IAAI,aAAa,CAAC,CAAC,KAC7D,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,YAAY;GACjC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,wBAAwB,YAAY,kBAAkB,IAAI,cAAc,CAAC,CAAC,KACxE,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,sBAAsB;GAC3C,QAAQ;EACV,CAAC,CAAC,CACF;EACA,wBAAwB,YAAY,kBAAkB,IAAI,uBAAuB,CAAC,CAAC,KACjF,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,sBAAsB;GAC3C,QAAQ;EACV,CAAC,CAAC,CACF;EACA,gBAAgB,YAAY,kBAAkB,IAAI,oBAAoB,CAAC,CAAC,KACtE,kBAAkB,aAAa;GAAE,SAAS,SAAS,SAAS;GAAiB,UAAU,SAAS,SAAS;GAAkB,WAAW,SAAS,SAAS;GAAmB,kBAAkB,SAAS,SAAS;GAA0B,SAAS,SAAS,SAAS;EAAgB,CAAC,GACrR,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,cAAc;GACnC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,iBAAiB,YAAY,kBAAkB,KAAK,oBAAoB,CAAC,CAAC,KACxE,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,eAAe;GACpC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,iBAAiB,UAAU,YAAY,kBAAkB,kBAAkB,QAAQ,CAAC,QAAQ,SAAS,wBAAwB,kBAAkB,QAAQ,CAAM,CAAC,CAAC,KAC/J,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,eAAe;GACpC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,iBAAiB,UAAU,YAAY,kBAAkB,kBAAkB,OAAO,CAAC,QAAQ,SAAS,wBAAwB,kBAAkB,QAAQ,CAAM,CAAC,CAAC,KAC9J,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,eAAe;GACpC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,kBAAkB,UAAU,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,QAAQ,SAAS,wBAAwB,kBAAkB,QAAQ,IAAI,UAAU,CAAC,CAAC,KACtK,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,gBAAgB;GACrC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,cAAc,YAAY,kBAAkB,IAAI,kBAAkB,CAAC,CAAC,KAClE,kBAAkB,aAAa;GAAE,SAAS,SAAS,SAAS;GAAiB,UAAU,SAAS,SAAS;GAAkB,SAAS,SAAS,SAAS;GAAiB,YAAY,SAAS,SAAS;EAAmB,CAAC,GACzN,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,YAAY;GACjC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,eAAe,YAAY,kBAAkB,KAAK,kBAAkB,CAAC,CAAC,KACpE,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,aAAa;GAClC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,YAAY,QAAQ,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,MAAM,SAAS,sBAAsB,kBAAkB,MAAM,CAAM,CAAC,CAAC,KAC/I,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,UAAU;GAC/B,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,gBAAgB,QAAQ,YAAY,kBAAkB,kBAAkB,QAAQ,CAAC,MAAM,SAAS,sBAAsB,kBAAkB,MAAM,CAAM,CAAC,CAAC,KACtJ,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,cAAc;GACnC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,eAAe,QAAQ,YAAY,kBAAkB,kBAAkB,OAAO,CAAC,MAAM,SAAS,sBAAsB,kBAAkB,MAAM,CAAM,CAAC,CAAC,KACpJ,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,aAAa;GAClC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,gBAAgB,QAAQ,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,MAAM,SAAS,sBAAsB,kBAAkB,MAAM,IAAI,UAAU,CAAC,CAAC,KAC5J,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,cAAc;GACnC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,yBAAyB,QAAQ,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,MAAM,SAAS,sBAAsB,kBAAkB,MAAM,IAAI,aAAa,CAAC,CAAC,KACxK,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,uBAAuB;GAC5C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,wBAAwB,QAAQ,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,MAAM,SAAS,sBAAsB,kBAAkB,MAAM,IAAI,cAAc,CAAC,CAAC,KACvK,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,sBAAsB;GAC3C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,0BAA0B,UAAU,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,QAAQ,SAAS,wBAAwB,kBAAkB,QAAQ,IAAI,cAAc,CAAC,CAAC,KACjL,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,wBAAwB;GAC7C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,2BAA2B,UAAU,QAAQ,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,UAAU,MAAM,SAAS,wBAAwB,kBAAkB,QAAQ,IAAI,kBAAkB,kBAAkB,MAAM,CAAM,CAAC,CAAC,KACpO,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,yBAAyB;GAC9C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,2BAA2B,UAAU,QAAQ,YAAY,kBAAkB,kBAAkB,QAAQ,CAAC,UAAU,MAAM,SAAS,wBAAwB,kBAAkB,QAAQ,IAAI,kBAAkB,kBAAkB,MAAM,CAAM,CAAC,CAAC,KACvO,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,6BAA6B;GAClD,aAAa,OAAO;GACpB,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,oBAAoB,YAAY,kBAAkB,IAAI,yBAAyB,CAAC,CAAC,KAC/E,kBAAkB,aAAa;GAAE,SAAS,SAAS,SAAS;GAAiB,UAAU,SAAS,SAAS;GAAkB,YAAY,SAAS,SAAS;GAAoB,aAAa,SAAS,SAAS;GAAqB,WAAW,SAAS,SAAS;GAAmB,UAAU,SAAS,SAAS;GAAkB,gBAAgB,SAAS,SAAS;GAAwB,cAAc,SAAS,SAAS;EAAqB,CAAC,GAC/a,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,kBAAkB;GACvC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,oBAAoB,YAAY,kBAAkB,IAAI,mBAAmB,CAAC,CAAC,KACzE,kBAAkB,aAAa;GAAE,SAAS,SAAS,SAAS;GAAiB,UAAU,SAAS,SAAS;GAAkB,iBAAiB,SAAS,SAAS;GAAyB,YAAY,SAAS,SAAS;GAAoB,QAAQ,SAAS,SAAS;GAAgB,SAAS,SAAS,SAAS;GAAiB,WAAW,SAAS,SAAS;EAAkB,CAAC,GAC/W,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,kBAAkB;GACvC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,qBAAqB,YAAY,kBAAkB,KAAK,mBAAmB,CAAC,CAAC,KAC3E,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,mBAAmB;GACxC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,qBAAqB,SAAS,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,OAAO,SAAS,uBAAuB,kBAAkB,OAAO,IAAI,SAAS,CAAC,CAAC,KACpK,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,uBAAuB;GAC5C,aAAa,OAAO;GACpB,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,cAAc,YAAY,kBAAkB,IAAI,aAAa,CAAC,CAAC,KAC7D,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,YAAY;GACjC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,yBAAyB,YAAY,kBAAkB,MAAM,aAAa,CAAC,CAAC,KAC1E,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,uBAAuB;GAC5C,QAAQ;EACV,CAAC,CAAC,CACF;EACA,qBAAqB,YAAY,kBAAkB,IAAI,oBAAoB,CAAC,CAAC,KAC3E,kBAAkB,aAAa;GAAE,SAAS,SAAS,SAAS;GAAiB,UAAU,SAAS,SAAS;GAAkB,QAAQ,SAAS,SAAS;GAAgB,SAAS,SAAS,SAAS;GAAiB,WAAW,SAAS,SAAS;EAAkB,CAAC,GACjQ,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,mBAAmB;GACxC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,sBAAsB,YAAY,kBAAkB,KAAK,oBAAoB,CAAC,CAAC,KAC7E,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,oBAAoB;GACzC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,sBAAsB,SAAS,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,OAAO,SAAS,wBAAwB,kBAAkB,OAAO,IAAI,SAAS,CAAC,CAAC,KACtK,OAAO,SAAS,YAAY,QAAQ,KAClC,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,wBAAwB;GAC7C,aAAa,OAAO;GACpB,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,iBAAiB,YAAY,kBAAkB,IAAI,eAAe,CAAC,CAAC,KAClE,kBAAkB,aAAa;GAAE,SAAS,SAAS,SAAS;GAAiB,UAAU,SAAS,SAAS;GAAkB,kBAAkB,SAAS,SAAS;GAA0B,UAAU,SAAS,SAAS;GAAkB,SAAS,SAAS,SAAS;GAAiB,UAAU,SAAS,SAAS;GAAkB,YAAY,SAAS,SAAS;GAAoB,eAAe,SAAS,SAAS;EAAsB,CAAC,GAC3a,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,eAAe;GACpC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,kBAAkB,YAAY,kBAAkB,KAAK,eAAe,CAAC,CAAC,KACpE,kBAAkB,aAAa,EAAE,gBAAgB,QAAQ,SAAS,gBAAuB,CAAC,GAC1F,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,gBAAgB;GACrC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,oBAAoB,YAAY,kBAAkB,KAAK,oBAAoB,CAAC,CAAC,KAC3E,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,kBAAkB;GACvC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,eAAe,WAAW,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,CAAM,CAAC,CAAC,KACxJ,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,aAAa;GAClC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,kBAAkB,WAAW,YAAY,kBAAkB,kBAAkB,QAAQ,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,CAAM,CAAC,CAAC,KAC9J,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,gBAAgB;GACrC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,uBAAuB,WAAW,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,OAAO,CAAC,CAAC,KACrK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,qBAAqB;GAC1C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,uBAAuB,WAAW,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,QAAQ,CAAC,CAAC,KACtK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,qBAAqB;GAC1C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,mBAAmB,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,UAAU,CAAC,CAAC,KACrK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,iBAAiB;GACtC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,kBAAkB,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,SAAS,CAAC,CAAC,KACnK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,gBAAgB;GACrC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,uBAAuB,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,uBAAuB,CAAC,CAAC,KACtL,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,qBAAqB;GAC1C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,kCAAkC,WAAW,MAAM,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,WAAW,IAAI,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,iCAAiC,kBAAkB,IAAI,IAAI,SAAS,CAAC,CAAC,KAC1P,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,gCAAgC;GACrD,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,qBAAqB,WAAW,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,SAAS,CAAC,CAAC,KACrK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,mBAAmB;GACxC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,qBAAqB,WAAW,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,SAAS,CAAC,CAAC,KACrK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,mBAAmB;GACxC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,wBAAwB,WAAW,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,YAAY,CAAC,CAAC,KAC3K,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,0BAA0B;GAC/C,OAAO;GACP,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,8BAA8B,WAAW,YAAY,OAAO,OAAO,kBAAkB,kBAAkB,KAAK,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,YAAY,CAAC,CAAC,KAC/L,OAAO,KAAK,YAAY,QAAQ,KAC9B,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aACF,CAAC,CACH,CAAC;EACC,8BAA8B,WAAW,UAAU,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,WAAW,QAAQ,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,cAAc,kBAAkB,QAAQ,IAAI,YAAY,CAAC,CAAC,KACjP,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,gCAAgC;GACrD,OAAO;GACP,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,oCAAoC,WAAW,UAAU,YAAY,OAAO,OAAO,kBAAkB,kBAAkB,KAAK,CAAC,WAAW,QAAQ,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,cAAc,kBAAkB,QAAQ,IAAI,YAAY,CAAC,CAAC,KACrQ,OAAO,KAAK,YAAY,QAAQ,KAC9B,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aACF,CAAC,CACH,CAAC;EACC,8BAA8B,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,gBAAgB,CAAC,CAAC,KACtL,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,4BAA4B;GACjD,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,0BAA0B,WAAW,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,aAAa,CAAC,CAAC,KAC9K,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,wBAAwB;GAC7C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,2BAA2B,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,aAAa,CAAC,CAAC,KAChL,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,yBAAyB;GAC9C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,wBAAwB,WAAW,aAAa,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,WAAW,WAAW,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,iBAAiB,kBAAkB,WAAW,CAAM,CAAC,CAAC,KAC7O,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,sBAAsB;GAC3C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,6BAA6B,WAAW,aAAa,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,WAAW,WAAW,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,iBAAiB,kBAAkB,WAAW,IAAI,WAAW,CAAC,CAAC,KAC5P,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,2BAA2B;GAChD,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,yBAAyB,WAAW,aAAa,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,WAAW,WAAW,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,iBAAiB,kBAAkB,WAAW,IAAI,OAAO,CAAC,CAAC,KACpP,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,uBAAuB;GAC5C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,qBAAqB,WAAW,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,QAAQ,CAAC,CAAC,KACpK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,mBAAmB;GACxC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,uBAAuB,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,QAAQ,CAAC,CAAC,KACvK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,aAAa,EAAE,aAAa,QAAQ,SAAS,aAAoB,CAAC,GACpF,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,mBAAmB,QAAQ,OAAc,GAC3D,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,qBAAqB;GAC1C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,sBAAsB,WAAW,YAAY,kBAAkB,kBAAkB,QAAQ,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,QAAQ,CAAC,CAAC,KACxK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,aAAa;GAAE,gBAAgB,QAAQ,OAAO;GAAwB,aAAa,QAAQ,OAAO;EAAoB,CAAC,GACzI,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,OAAO,2BAA2B,KAAA,EAAU,CAAC,GAC5G,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,wBAAwB;GAC7C,aAAa,OAAO;GACpB,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,oBAAoB,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,aAAa,CAAC,CAAC,KACzK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,kBAAkB;GACvC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,2BAA2B,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,oBAAoB,CAAC,CAAC,KACvL,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,yBAAyB;GAC9C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,iCAAiC,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,qBAAqB,CAAC,CAAC,KAC9L,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,+BAA+B;GACpD,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,mBAAmB,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,mBAAmB,kBAAkB,SAAS,IAAI,UAAU,CAAC,CAAC,KACrK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,iBAAiB;GACtC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,kBAAkB,YAAY,kBAAkB,IAAI,gBAAgB,CAAC,CAAC,KACpE,kBAAkB,aAAa;GAAE,SAAS,SAAS,SAAS;GAAiB,UAAU,SAAS,SAAS;GAAkB,QAAQ,SAAS,SAAS;GAAgB,WAAW,SAAS,SAAS;GAAmB,kBAAkB,SAAS,SAAS;GAA0B,UAAU,SAAS,SAAS;GAAkB,YAAY,SAAS,SAAS;GAAoB,eAAe,SAAS,SAAS;EAAsB,CAAC,GAC3a,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,gBAAgB;GACrC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,mBAAmB,MAAM,YAAY,kBAAkB,kBAAkB,QAAQ,CAAC,IAAI,SAAS,oBAAoB,kBAAkB,IAAI,CAAM,CAAC,CAAC,KACjJ,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,iBAAiB;GACtC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,mBAAmB,MAAM,YAAY,kBAAkB,kBAAkB,OAAO,CAAC,IAAI,SAAS,oBAAoB,kBAAkB,IAAI,CAAM,CAAC,CAAC,KAChJ,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,iBAAiB;GACtC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,wBAAwB,MAAM,YAAY,kBAAkB,kBAAkB,KAAK,CAAC,IAAI,SAAS,oBAAoB,kBAAkB,IAAI,IAAI,OAAO,CAAC,CAAC,KACxJ,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,sBAAsB;GAC3C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,oBAAoB,MAAM,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,IAAI,SAAS,oBAAoB,kBAAkB,IAAI,IAAI,UAAU,CAAC,CAAC,KACxJ,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,kBAAkB;GACvC,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,eAAe,YAAY,kBAAkB,IAAI,aAAa,CAAC,CAAC,KAC9D,kBAAkB,aAAa;GAAE,SAAS,SAAS,SAAS;GAAiB,UAAU,SAAS,SAAS;GAAkB,gBAAgB,SAAS,SAAS;GAAwB,cAAc,SAAS,SAAS;EAAqB,CAAC,GAC3O,kBAAkB,WAAW,EAAE,wBAAwB,SAAS,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC/G,aAAa,SAAS,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC7D,OAAO,cAAc,aAAa;GAClC,QAAQ;EACV,CAAC,CAAC,CACF;EACA,2BAA2B,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,eAAe,kBAAkB,SAAS,IAAI,UAAU,CAAC,CAAC,KACzK,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,mBAAmB,QAAQ,OAAc,GAC3D,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,yBAAyB;GAC9C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;EACE,uBAAuB,WAAW,YAAY,kBAAkB,kBAAkB,MAAM,CAAC,SAAS,SAAS,eAAe,kBAAkB,SAAS,IAAI,mBAAmB,CAAC,CAAC,KAC9K,OAAO,SAAS,YAAY,QAAQ,KAClC,kBAAkB,WAAW,EAAE,wBAAwB,QAAQ,SAAS,2BAA2B,KAAA,EAAU,CAAC,GAC9G,kBAAkB,eAAe,QAAQ,OAAO,GAChD,aAAa,QAAQ,MAAM,CAAC,CAAC,mBAAmB,YAAY;GAC5D,OAAO,cAAc,qBAAqB;GAC1C,QAAQ;EACV,CAAC,CAAC,CACF,CAAC,CACH;CACA;AACF;AAqTA,IAAM,uBAAN,cAAmC,KAAK,MAKrC,CAAC;AAEJ,MAAa,oBACX,KACA,OACA,aAEA,IAAI,qBAAqB;CACvB,MAAM;CACN;CACA;CACA,SAAS,SAAS;AACpB,CAAC"}