{"version":3,"sources":["../src/index.ts","../../../contract/src/index.ts","../../../contract/src/contract/cards.ts","../../../contract/src/contract/shared.ts","../../../contract/src/contract/collections.ts","../../../contract/src/contract/users.ts","../../../contract/src/contract/feeds.ts","../../../contract/src/contract/notifications.ts","../../../contract/src/contract/connections.ts","../../../contract/src/contract/search.ts","../../../contract/src/contract/graph.ts","../../../contract/src/filter.ts","../../../types/src/entities/common.ts","../../../types/src/entities/user.ts","../../../types/src/entities/card.ts","../../../types/src/entities/url.ts","../../../types/src/entities/collection.ts","../../../types/src/entities/connection.ts","../../../types/src/entities/feed.ts","../../../types/src/entities/notification.ts","../../../types/src/entities/graph.ts","../../../types/src/entities/search.ts","../../../types/src/api/cards/addUrl.ts","../../../types/src/api/cards/addToLibrary.ts","../../../types/src/api/cards/addToCollection.ts","../../../types/src/api/cards/updateNote.ts","../../../types/src/api/cards/updateAssociations.ts","../../../types/src/api/cards/removeFromLibrary.ts","../../../types/src/api/cards/removeFromCollections.ts","../../../types/src/api/cards/listMine.ts","../../../types/src/api/cards/listByUser.ts","../../../types/src/api/cards/getUrlCards.ts","../../../types/src/api/cards/get.ts","../../../types/src/api/cards/getLibraries.ts","../../../types/src/api/cards/getUrlMetadata.ts","../../../types/src/api/cards/getLibraryStatus.ts","../../../types/src/api/cards/getLibrariesForUrl.ts","../../../types/src/api/cards/getNoteCardsForUrl.ts","../../../types/src/api/collections/create.ts","../../../types/src/api/collections/update.ts","../../../types/src/api/collections/delete.ts","../../../types/src/api/collections/get.ts","../../../types/src/api/collections/getByAtUri.ts","../../../types/src/api/collections/listMine.ts","../../../types/src/api/collections/listByUser.ts","../../../types/src/api/collections/getCollections.ts","../../../types/src/api/collections/search.ts","../../../types/src/api/collections/getForUrl.ts","../../../types/src/api/collections/listContributed.ts","../../../types/src/api/collections/getFollowers.ts","../../../types/src/api/collections/getContributors.ts","../../../types/src/api/collections/recommendedForUrl.ts","../../../types/src/api/users/getProfile.ts","../../../types/src/api/users/login.ts","../../../types/src/api/users/oauth.ts","../../../types/src/api/users/session.ts","../../../types/src/api/users/follow.ts","../../../types/src/api/users/bskyFollows.ts","../../../types/src/api/users/subscriptions.ts","../../../types/src/api/users/apiKeys.ts","../../../types/src/api/users/onboardingState.ts","../../../types/src/api/feeds/global.ts","../../../types/src/api/feeds/gem.ts","../../../types/src/api/feeds/following.ts","../../../types/src/api/feeds/bskyFollowing.ts","../../../types/src/api/notifications/list.ts","../../../types/src/api/notifications/unreadCount.ts","../../../types/src/api/notifications/markRead.ts","../../../types/src/api/connections/create.ts","../../../types/src/api/connections/update.ts","../../../types/src/api/connections/delete.ts","../../../types/src/api/connections/getForUrl.ts","../../../types/src/api/connections/listByUser.ts","../../../types/src/api/search/similarUrls.ts","../../../types/src/api/search/semantic.ts","../../../types/src/api/search/bskyPosts.ts","../../../types/src/api/search/accounts.ts","../../../types/src/api/search/leaflet.ts","../../../types/src/api/search/searchUrls.ts","../../../types/src/api/search/recommended.ts","../../../types/src/api/graph/getData.ts","../../../types/src/api/graph/getUserData.ts","../../../types/src/api/graph/getUrlData.ts","../../../types/src/routes.ts","../../../types/src/internal.ts"],"sourcesContent":["import { initClient } from '@ts-rest/core';\nimport { publicContract } from '@semble/contract';\n\n/**\n * Creates a Semble API client.\n *\n * @param apiKey - Your Semble API key. Optional; without it only public\n *                 endpoints are accessible.\n * @param client - Optional client identifier (e.g. 'mcp', 'my-plugin'), sent\n *                 as the `X-Semble-Client` header for usage analytics. It is\n *                 lowercased server-side and must then match\n *                 `^[a-z0-9][a-z0-9_-]{0,31}$`; values that do not are ignored\n *                 (the request still succeeds, but is not attributed).\n * @param baseUrl - The base URL for the Semble API (default: 'https://api.semble.so/xrpc').\n * @returns A Semble API client instance.\n */\nexport function createSembleClient({\n  apiKey,\n  client,\n  baseUrl = 'https://api.semble.so/xrpc',\n}: {\n  apiKey?: string;\n  client?: string;\n  baseUrl?: string;\n} = {}) {\n  return initClient(publicContract, {\n    baseUrl,\n    baseHeaders: {\n      ...(apiKey ? { 'x-api-key': apiKey } : {}),\n      ...(client ? { 'x-semble-client': client } : {}),\n    },\n  });\n}\n\nexport type { publicContract as contract };\n\nexport type SembleClient = ReturnType<typeof createSembleClient>;\n","import { initContract, type AppRouter } from '@ts-rest/core';\nimport { cardsContract } from './contract/cards';\nimport { collectionsContract } from './contract/collections';\nimport { usersContract } from './contract/users';\nimport { feedsContract } from './contract/feeds';\nimport { notificationsContract } from './contract/notifications';\nimport { connectionsContract } from './contract/connections';\nimport { searchContract } from './contract/search';\nimport { graphContract } from './contract/graph';\nimport { filterPublicRoutes } from './filter';\n\nconst c = initContract();\n\nexport type ContractType = {\n  cards: typeof cardsContract;\n  collections: typeof collectionsContract;\n  users: typeof usersContract;\n  feeds: typeof feedsContract;\n  notifications: typeof notificationsContract;\n  connections: typeof connectionsContract;\n  search: typeof searchContract;\n  graph: typeof graphContract;\n};\n\nexport const contract: ContractType = c.router({\n  cards: cardsContract,\n  collections: collectionsContract,\n  users: usersContract,\n  feeds: feedsContract,\n  notifications: notificationsContract,\n  connections: connectionsContract,\n  search: searchContract,\n  graph: graphContract,\n} satisfies AppRouter);\n\nexport const publicContract = filterPublicRoutes(contract);\n\nexport { filterPublicRoutes } from './filter';\n\nexport { paths } from '@semble/types';\n\nexport {\n  cardsContract,\n  collectionsContract,\n  usersContract,\n  feedsContract,\n  notificationsContract,\n  connectionsContract,\n  searchContract,\n  graphContract,\n};\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  paths,\n  UrlTypeSchema,\n  AddUrlToLibraryRequestSchema,\n  AddUrlToLibraryResponseSchema,\n  AddCardToLibraryRequestSchema,\n  AddCardToLibraryResponseSchema,\n  AddCardToCollectionRequestSchema,\n  AddCardToCollectionResponseSchema,\n  UpdateUrlCardAssociationsRequestSchema,\n  UpdateUrlCardAssociationsResponseSchema,\n  GetUrlCardsResponseSchema,\n  SearchUrlsResponseSchema,\n  GetUrlMetadataParamsSchema,\n  GetUrlMetadataResponseSchema,\n  GetUrlStatusForMyLibraryParamsSchema,\n  GetUrlStatusForMyLibraryResponseSchema,\n  GetLibrariesForUrlParamsSchema,\n  GetLibrariesForUrlResponseSchema,\n  GetNoteCardsForUrlParamsSchema,\n  GetNoteCardsForUrlResponseSchema,\n  GetUrlCardViewResponseSchema,\n  GetLibrariesForCardResponseSchema,\n  UpdateNoteCardRequestSchema,\n  UpdateNoteCardResponseSchema,\n  RemoveCardFromLibraryRequestSchema,\n  RemoveCardFromLibraryResponseSchema,\n  RemoveCardFromCollectionRequestSchema,\n  RemoveCardFromCollectionResponseSchema,\n} from '@semble/types';\nimport { CoercedPaginatedCardSortedQuery } from './shared';\n\nconst c = initContract();\n\nexport const cardsContract = c.router(\n  {\n    addUrlToLibrary: {\n      method: 'POST',\n      path: paths.addUrlToLibrary,\n      body: AddUrlToLibraryRequestSchema,\n      responses: { 200: AddUrlToLibraryResponseSchema },\n      summary: 'Add a URL to library',\n      description:\n        \"Saves a URL as a URL card in the authenticated user's library.\",\n    },\n    addCardToLibrary: {\n      method: 'POST',\n      path: paths.addCardToLibrary,\n      body: AddCardToLibraryRequestSchema,\n      responses: { 200: AddCardToLibraryResponseSchema },\n      summary: 'Add an existing card to library',\n      description:\n        \"Adds an existing card (by ID) to the authenticated user's library.\",\n      metadata: { internal: true } as const,\n    },\n    addCardToCollection: {\n      method: 'POST',\n      path: paths.addCardToCollection,\n      body: AddCardToCollectionRequestSchema,\n      responses: { 200: AddCardToCollectionResponseSchema },\n      summary: 'Add a card to a collection',\n      description:\n        'Adds a card to a collection the authenticated user can write to.',\n      metadata: { internal: true } as const,\n    },\n    urlCardAssociations: {\n      method: 'POST',\n      path: paths.urlCardAssociations,\n      body: UpdateUrlCardAssociationsRequestSchema,\n      responses: { 200: UpdateUrlCardAssociationsResponseSchema },\n      summary: 'Update URL card associations',\n      description:\n        'Add or remove the card to/from collections. Add a note to the URL card or update the existing note.',\n    },\n    myUrlCards: {\n      method: 'GET',\n      path: paths.myUrlCards,\n      query: CoercedPaginatedCardSortedQuery.extend({\n        urlType: UrlTypeSchema.optional(),\n        uncollected: z.coerce.boolean().optional(),\n        searchText: z.string().optional(),\n      }),\n      responses: { 200: GetUrlCardsResponseSchema },\n      summary: 'List my library URL cards',\n      description:\n        \"Returns a paginated list of URL cards in the authenticated user's library. When `searchText` is provided, results are filtered to cards whose title, description, or URL match all whitespace-separated tokens (case-insensitive).\",\n    },\n    urlMetadata: {\n      method: 'GET',\n      path: paths.urlMetadata,\n      query: GetUrlMetadataParamsSchema.extend({\n        includeStats: z.coerce.boolean().optional(),\n      }),\n      responses: { 200: GetUrlMetadataResponseSchema },\n      summary: 'Get URL metadata and optional Semble stats',\n      description:\n        'Fetches title, description, and other metadata for a given URL. Can optionally include aggregated Semble stats for the URL, such as total saves and collection counts.',\n    },\n    urlLibraryStatus: {\n      method: 'GET',\n      path: paths.urlLibraryStatus,\n      query: GetUrlStatusForMyLibraryParamsSchema,\n      responses: { 200: GetUrlStatusForMyLibraryResponseSchema },\n      summary: 'Check if a given URL has been saved to your library',\n      description:\n        \"Returns whether a URL is already saved in the authenticated user's library, along with all collections the user added it to.\",\n    },\n    librariesForUrl: {\n      method: 'GET',\n      path: paths.librariesForUrl,\n      query: CoercedPaginatedCardSortedQuery.extend({\n        url: z.string(),\n      }),\n      responses: { 200: GetLibrariesForUrlResponseSchema },\n      summary: 'Get users who have saved a URL to their library',\n      description:\n        'Returns a paginated list of users who have saved a given URL to their library, including the URL Card of each user.',\n    },\n    noteCardsForUrl: {\n      method: 'GET',\n      path: paths.noteCardsForUrl,\n      query: CoercedPaginatedCardSortedQuery.extend({\n        url: z.string(),\n      }),\n      responses: { 200: GetNoteCardsForUrlResponseSchema },\n      summary: 'Get notes for a URL',\n      description:\n        'Returns a paginated list of all notes that are added to a given URL.',\n    },\n    searchCards: {\n      method: 'GET',\n      path: paths.searchCards,\n      query: CoercedPaginatedCardSortedQuery.extend({\n        searchQuery: z.string(),\n        urlType: UrlTypeSchema.optional(),\n      }),\n      responses: { 200: SearchUrlsResponseSchema },\n      summary: 'Search cards',\n      description:\n        'Full-text search across URL Cards titles, descriptions and URLs.',\n    },\n    cardById: {\n      method: 'GET',\n      path: paths.cardById,\n      query: z.object({ cardId: z.string() }),\n      responses: { 200: GetUrlCardViewResponseSchema },\n      summary: 'Get a card by ID',\n      description: 'Returns a card and its associated metadata by card ID.',\n    },\n    cardLibraries: {\n      method: 'GET',\n      path: paths.cardLibraries,\n      query: z.object({ cardId: z.string() }),\n      responses: { 200: GetLibrariesForCardResponseSchema },\n      summary: 'Get libraries for a card',\n      description:\n        'Returns users who have saved a specific card to their library.',\n      metadata: { internal: true } as const,\n    },\n    cardNote: {\n      method: 'POST',\n      path: paths.cardNote,\n      body: UpdateNoteCardRequestSchema,\n      responses: { 200: UpdateNoteCardResponseSchema },\n      summary: 'Update a note added to a URL card',\n      description: 'Updates the content of a note added to a URL card.',\n    },\n    removeFromLibrary: {\n      method: 'POST',\n      path: paths.removeFromLibrary,\n      body: RemoveCardFromLibraryRequestSchema,\n      responses: { 200: RemoveCardFromLibraryResponseSchema },\n      summary: 'Remove a card from library',\n      description: \"Removes a card from the authenticated user's library.\",\n    },\n    removeFromCollections: {\n      method: 'POST',\n      path: paths.removeFromCollections,\n      body: RemoveCardFromCollectionRequestSchema,\n      responses: { 200: RemoveCardFromCollectionResponseSchema },\n      summary: 'Remove a card from collections',\n      description: 'Removes a card from one or more collections.',\n      metadata: { internal: true } as const,\n    },\n    cardsByUser: {\n      method: 'GET',\n      path: paths.cardsByUser,\n      query: CoercedPaginatedCardSortedQuery.extend({\n        identifier: z.string(),\n        urlType: UrlTypeSchema.optional(),\n        uncollected: z.coerce.boolean().optional(),\n        searchText: z.string().optional(),\n      }),\n      responses: { 200: GetUrlCardsResponseSchema },\n      summary: \"List a user's URL cards\",\n      description:\n        \"Returns a paginated list of URL cards in a user's library, identified by handle or DID. When `searchText` is provided, results are filtered to cards whose title, description, or URL match all whitespace-separated tokens (case-insensitive).\",\n    },\n  },\n  { strictStatusCodes: true },\n);\n","import { z } from 'zod';\nimport {\n  CardSortFieldSchema,\n  CollectionSortFieldSchema,\n  ConnectionSortFieldSchema,\n  SortOrderSchema,\n} from '@semble/types';\n\nexport const ErrorResponseSchema = z.object({\n  message: z.string(),\n  code: z.string().optional(),\n});\n\nexport const CoercedPaginationQuery = z.object({\n  page: z.coerce.number().optional(),\n  limit: z.coerce.number().optional(),\n});\n\nexport const CoercedSortingQuery = z.object({\n  sortBy: z.string().optional(),\n  sortOrder: z.enum(['asc', 'desc']).optional(),\n});\n\nexport const CoercedPaginatedSortedQuery =\n  CoercedPaginationQuery.merge(CoercedSortingQuery);\n\nexport const CoercedPaginatedCardSortedQuery = CoercedPaginationQuery.extend({\n  sortBy: CardSortFieldSchema.optional(),\n  sortOrder: SortOrderSchema.optional(),\n});\n\nexport const CoercedPaginatedCollectionSortedQuery =\n  CoercedPaginationQuery.extend({\n    sortBy: CollectionSortFieldSchema.optional(),\n    sortOrder: SortOrderSchema.optional(),\n  });\n\nexport const CoercedPaginatedConnectionSortedQuery =\n  CoercedPaginationQuery.extend({\n    sortBy: ConnectionSortFieldSchema.optional(),\n    sortOrder: SortOrderSchema.optional(),\n  });\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  paths,\n  UrlTypeSchema,\n  CollectionAccessTypeSchema,\n  CreateCollectionRequestSchema,\n  CreateCollectionResponseSchema,\n  UpdateCollectionRequestSchema,\n  UpdateCollectionResponseSchema,\n  DeleteCollectionRequestSchema,\n  DeleteCollectionResponseSchema,\n  GetCollectionPageResponseSchema,\n  GetCollectionsResponseSchema,\n  SearchCollectionsParamsSchema,\n  GetCollectionsForUrlParamsSchema,\n  GetCollectionsForUrlResponseSchema,\n  GetOpenCollectionsWithContributorParamsSchema,\n  GetCollectionFollowersParamsSchema,\n  GetCollectionFollowersResponseSchema,\n  GetCollectionFollowersCountParamsSchema,\n  GetFollowCountResponseSchema,\n  GetCollectionContributorsParamsSchema,\n  GetCollectionContributorsResponseSchema,\n  GetRecommendedCollectionsForUrlResponseSchema,\n} from '@semble/types';\nimport {\n  CoercedPaginatedCardSortedQuery,\n  CoercedPaginatedCollectionSortedQuery,\n} from './shared';\n\nconst c = initContract();\n\nexport const collectionsContract = c.router(\n  {\n    myCollections: {\n      method: 'GET',\n      path: paths.myCollections,\n      query: CoercedPaginatedCollectionSortedQuery.extend({\n        searchText: z.string().optional(),\n      }),\n      responses: { 200: GetCollectionsResponseSchema },\n      summary: 'List my collections',\n      description:\n        \"Returns a paginated list of the authenticated user's collections.\",\n    },\n    createCollection: {\n      method: 'POST',\n      path: paths.createCollection,\n      body: CreateCollectionRequestSchema,\n      responses: { 200: CreateCollectionResponseSchema },\n      summary: 'Create a collection',\n      description: 'Creates a new collection for the authenticated user.',\n    },\n    collectionsForUrl: {\n      method: 'GET',\n      path: paths.collectionsForUrl,\n      query: CoercedPaginatedCollectionSortedQuery.extend({\n        url: z.string(),\n      }),\n      responses: { 200: GetCollectionsForUrlResponseSchema },\n      summary: 'Get collections containing a URL',\n      description: 'Returns collections that contain a specific URL.',\n    },\n    searchCollections: {\n      method: 'GET',\n      path: paths.searchCollections,\n      query: CoercedPaginatedCollectionSortedQuery.extend({\n        searchText: z.string().optional(),\n        identifier: z.string().optional(),\n        accessType: CollectionAccessTypeSchema.optional(),\n      }),\n      responses: { 200: GetCollectionsResponseSchema },\n      summary: 'Search collections',\n      description:\n        'Full-text search across collection names and descriptions, optionally filtered by user or access type.',\n    },\n    collectionById: {\n      method: 'GET',\n      path: paths.collectionById,\n      query: CoercedPaginatedCardSortedQuery.extend({\n        collectionId: z.string(),\n        urlType: UrlTypeSchema.optional(),\n      }),\n      responses: { 200: GetCollectionPageResponseSchema },\n      summary: 'Get a collection by ID',\n      description:\n        'Returns a collection and its cards, paginated, by collection ID.',\n    },\n    updateCollection: {\n      method: 'POST',\n      path: paths.updateCollection,\n      body: UpdateCollectionRequestSchema,\n      responses: { 200: UpdateCollectionResponseSchema },\n      summary: 'Update a collection',\n      description:\n        'Updates the name, description, or access type of a collection.',\n    },\n    deleteCollection: {\n      method: 'POST',\n      path: paths.deleteCollection,\n      body: DeleteCollectionRequestSchema,\n      responses: { 200: DeleteCollectionResponseSchema },\n      summary: 'Delete a collection',\n      description:\n        'Permanently deletes a collection owned by the authenticated user.',\n    },\n    collectionsByUser: {\n      method: 'GET',\n      path: paths.collectionsByUser,\n      query: CoercedPaginatedCollectionSortedQuery.extend({\n        identifier: z.string(),\n        searchText: z.string().optional(),\n      }),\n      responses: { 200: GetCollectionsResponseSchema },\n      summary: \"List a user's collections\",\n      description:\n        'Returns a paginated list of collections owned by a user, identified by handle or DID.',\n    },\n    collectionByAtUri: {\n      method: 'GET',\n      path: paths.collectionByAtUri,\n      query: CoercedPaginatedCardSortedQuery.extend({\n        handle: z.string(),\n        recordKey: z.string(),\n        urlType: UrlTypeSchema.optional(),\n      }),\n      responses: { 200: GetCollectionPageResponseSchema },\n      summary: 'Get a collection by AT URI',\n      description:\n        'Returns a collection and its cards, looked up by AT Protocol handle and record key.',\n    },\n    openWithContributor: {\n      method: 'GET',\n      path: paths.openWithContributor,\n      query: CoercedPaginatedCollectionSortedQuery.extend({\n        identifier: z.string(),\n      }),\n      responses: { 200: GetCollectionsResponseSchema },\n      summary: 'List open collections with a contributor',\n      description:\n        'Returns open collections that a given user has contributed cards to.',\n    },\n    collectionFollowers: {\n      method: 'GET',\n      path: paths.collectionFollowers,\n      query: z.object({\n        collectionId: z.string(),\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetCollectionFollowersResponseSchema },\n      summary: 'Get collection followers',\n      description: 'Returns users who follow a given collection.',\n    },\n    collectionFollowersCount: {\n      method: 'GET',\n      path: paths.collectionFollowersCount,\n      query: GetCollectionFollowersCountParamsSchema,\n      responses: { 200: GetFollowCountResponseSchema },\n      summary: 'Get collection follower count',\n      description: 'Returns the total number of followers for a collection.',\n    },\n    recommendedCollectionsForUrl: {\n      method: 'GET',\n      path: paths.recommendedCollectionsForUrl,\n      query: z.object({\n        url: z.string(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetRecommendedCollectionsForUrlResponseSchema },\n      summary: 'Recommended collections to save a URL to',\n      description:\n        \"Returns collections that contain URLs semantically similar to the given URL, ranked by how many similar URLs each contains. Split into the authenticated user's own collections and open collections from across the network (excluding the caller's own). The limit applies to each set independently.\",\n    },\n    collectionContributors: {\n      method: 'GET',\n      path: paths.collectionContributors,\n      query: z.object({\n        collectionId: z.string(),\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetCollectionContributorsResponseSchema },\n      summary: 'Get collection contributors',\n      description: 'Returns users who have added cards to a given collection.',\n    },\n  },\n  { strictStatusCodes: true },\n);\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  paths,\n  UserSchema,\n  GetProfileParamsSchema,\n  GetProfileResponseSchema,\n  InitiateOAuthSignInRequestSchema,\n  InitiateOAuthSignInResponseSchema,\n  CompleteOAuthSignInRequestSchema,\n  CompleteOAuthSignInResponseSchema,\n  LoginWithAppPasswordRequestSchema,\n  LoginWithAppPasswordResponseSchema,\n  RefreshAccessTokenRequestSchema,\n  RefreshAccessTokenResponseSchema,\n  GenerateExtensionTokensResponseSchema,\n  ListApiKeysResponseSchema,\n  CreateApiKeyRequestSchema,\n  CreateApiKeyResponseSchema,\n  UpdateApiKeyRequestSchema,\n  UpdateApiKeyResponseSchema,\n  RevokeApiKeyRequestSchema,\n  RevokeApiKeyResponseSchema,\n  GetOnboardingStateResponseSchema,\n  UpdateOnboardingStateRequestSchema,\n  UpdateOnboardingStateResponseSchema,\n} from '@semble/types';\n\nconst c = initContract();\n\nexport const usersContract = c.router(\n  {\n    myProfile: {\n      method: 'GET',\n      path: paths.myProfile,\n      query: z.object({\n        includeStats: z.coerce.boolean().optional(),\n      }),\n      responses: { 200: UserSchema },\n      summary: 'Get my profile',\n      description: 'Returns the profile of the authenticated user.',\n    },\n    userProfile: {\n      method: 'GET',\n      path: paths.userProfile,\n      query: GetProfileParamsSchema.extend({\n        includeStats: z.coerce.boolean().optional(),\n      }),\n      responses: { 200: GetProfileResponseSchema },\n      summary: 'Get a user profile',\n      description:\n        'Returns the public profile of a user, identified by handle or DID.',\n    },\n    initiateOAuth: {\n      method: 'GET',\n      path: paths.initiateOAuth,\n      query: InitiateOAuthSignInRequestSchema,\n      responses: { 200: InitiateOAuthSignInResponseSchema },\n      summary: 'Initiate OAuth sign-in',\n      description:\n        'Begins the AT Protocol OAuth flow and returns a redirect URL.',\n      metadata: { internal: true } as const,\n    },\n    oauthCallback: {\n      method: 'GET',\n      path: paths.oauthCallback,\n      query: CompleteOAuthSignInRequestSchema,\n      responses: { 200: CompleteOAuthSignInResponseSchema },\n      summary: 'Complete OAuth sign-in',\n      description:\n        'Handles the OAuth callback, exchanges the code for tokens, and creates a session.',\n      metadata: { internal: true } as const,\n    },\n    loginWithAppPassword: {\n      method: 'POST',\n      path: paths.loginWithAppPassword,\n      body: LoginWithAppPasswordRequestSchema,\n      responses: { 200: LoginWithAppPasswordResponseSchema },\n      summary: 'Login with app password',\n      description:\n        'Authenticates a user with an AT Protocol app password and returns session tokens.',\n      metadata: { internal: true } as const,\n    },\n    refreshToken: {\n      method: 'POST',\n      path: paths.refreshToken,\n      body: RefreshAccessTokenRequestSchema,\n      responses: { 200: RefreshAccessTokenResponseSchema },\n      summary: 'Refresh access token',\n      description: 'Exchanges a refresh token for a new access token.',\n      metadata: { internal: true } as const,\n    },\n    logout: {\n      method: 'POST',\n      path: paths.logout,\n      body: z.object({}),\n      responses: { 200: z.object({ success: z.boolean() }) },\n      summary: 'Logout',\n      description:\n        \"Invalidates the authenticated user's session and clears auth cookies.\",\n      metadata: { internal: true } as const,\n    },\n    extensionTokens: {\n      method: 'GET',\n      path: paths.extensionTokens,\n      query: z.object({}),\n      responses: { 200: GenerateExtensionTokensResponseSchema },\n      summary: 'Generate extension tokens',\n      description:\n        'Generates short-lived tokens for use by the browser extension.',\n      metadata: { internal: true } as const,\n    },\n    listApiKeys: {\n      method: 'GET',\n      path: paths.listApiKeys,\n      query: z.object({}),\n      responses: { 200: ListApiKeysResponseSchema },\n      summary: 'List my API keys',\n      description:\n        'Returns the API keys belonging to the authenticated user. Token values are never returned after creation; only the prefix is shown.',\n      metadata: { internal: true } as const,\n    },\n    createApiKey: {\n      method: 'POST',\n      path: paths.createApiKey,\n      body: CreateApiKeyRequestSchema,\n      responses: { 200: CreateApiKeyResponseSchema },\n      summary: 'Create an API key',\n      description:\n        'Generates a new API key for the authenticated user. The full token is returned in this response only — it cannot be retrieved later.',\n      metadata: { internal: true } as const,\n    },\n    updateApiKey: {\n      method: 'POST',\n      path: paths.updateApiKey,\n      body: UpdateApiKeyRequestSchema,\n      responses: { 200: UpdateApiKeyResponseSchema },\n      summary: 'Rename an API key',\n      description:\n        \"Updates the human-readable name of one of the user's API keys.\",\n      metadata: { internal: true } as const,\n    },\n    revokeApiKey: {\n      method: 'POST',\n      path: paths.revokeApiKey,\n      body: RevokeApiKeyRequestSchema,\n      responses: { 200: RevokeApiKeyResponseSchema },\n      summary: 'Revoke an API key',\n      description:\n        'Permanently revokes the specified API key. Subsequent requests using that token will be rejected.',\n      metadata: { internal: true } as const,\n    },\n    getOnboardingState: {\n      method: 'GET',\n      path: paths.getOnboardingState,\n      query: z.object({}),\n      responses: { 200: GetOnboardingStateResponseSchema },\n      summary: 'Get onboarding state',\n      description:\n        'Returns the onboarding state for the authenticated user as a flat object of fields.',\n      metadata: { internal: true } as const,\n    },\n    updateOnboardingState: {\n      method: 'POST',\n      path: paths.updateOnboardingState,\n      body: UpdateOnboardingStateRequestSchema,\n      responses: { 200: UpdateOnboardingStateResponseSchema },\n      summary: 'Update onboarding state',\n      description:\n        'Partially updates the onboarding state for the authenticated user. Only fields present in the body are written; omitted fields are left untouched. Returns the merged state.',\n      metadata: { internal: true } as const,\n    },\n  },\n  { strictStatusCodes: true },\n);\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  paths,\n  UrlTypeSchema,\n  ActivitySourceSchema,\n  GetGlobalFeedResponseSchema,\n} from '@semble/types';\n\nconst c = initContract();\n\nconst FeedQuery = z.object({\n  page: z.coerce.number().optional(),\n  limit: z.coerce.number().optional(),\n  urlType: UrlTypeSchema.optional(),\n  source: ActivitySourceSchema.optional(),\n  activityTypes: z.array(z.string()).optional(),\n  actorIds: z.array(z.string()).optional(),\n  includeKnownBots: z.coerce.boolean().optional(),\n});\n\nexport const feedsContract = c.router(\n  {\n    globalFeed: {\n      method: 'GET',\n      path: paths.globalFeed,\n      query: FeedQuery.extend({\n        beforeActivityId: z.string().optional(),\n      }),\n      responses: { 200: GetGlobalFeedResponseSchema },\n      summary: 'Get global feed',\n      description:\n        'Returns a paginated activity feed across all users, ordered by recency, with optional filters.',\n    },\n    gemFeed: {\n      method: 'GET',\n      path: paths.gemFeed,\n      query: FeedQuery,\n      responses: { 200: GetGlobalFeedResponseSchema },\n      summary: 'Get gem feed',\n      description:\n        'Returns a curated feed of highly-saved URLs (gems), ordered by library count.',\n      metadata: { internal: true } as const,\n    },\n    followingFeed: {\n      method: 'GET',\n      path: paths.followingFeed,\n      query: FeedQuery.extend({\n        beforeActivityId: z.string().optional(),\n      }),\n      responses: { 200: GetGlobalFeedResponseSchema },\n      summary: 'Get following feed',\n      description:\n        'Returns an activity feed of users and collections the authenticated user follows.',\n    },\n    bskyFollowingFeed: {\n      method: 'GET',\n      path: paths.bskyFollowingFeed,\n      query: FeedQuery.omit({ actorIds: true }).extend({\n        beforeActivityId: z.string().optional(),\n        identifier: z.string().optional(),\n      }),\n      responses: { 200: GetGlobalFeedResponseSchema },\n      summary: 'Get Bluesky following feed',\n      description:\n        'Returns an activity feed of the Semble users a given account follows on Bluesky. Defaults to the authenticated user; pass `identifier` (DID or handle) to view another account’s feed. Requires either authentication or `identifier`.',\n    },\n  },\n  { strictStatusCodes: true },\n);\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  paths,\n  GetMyNotificationsResponseSchema,\n  GetUnreadNotificationCountResponseSchema,\n  MarkNotificationsAsReadRequestSchema,\n  MarkNotificationsAsReadResponseSchema,\n  MarkAllNotificationsAsReadResponseSchema,\n} from '@semble/types';\nimport { CoercedPaginatedSortedQuery } from './shared';\n\nconst c = initContract();\n\nexport const notificationsContract = c.router(\n  {\n    myNotifications: {\n      method: 'GET',\n      path: paths.myNotifications,\n      query: CoercedPaginatedSortedQuery.extend({\n        unreadOnly: z.coerce.boolean().optional(),\n      }),\n      responses: { 200: GetMyNotificationsResponseSchema },\n      summary: 'List my notifications',\n      description: \"Returns the authenticated user's notifications.\",\n    },\n    unreadCount: {\n      method: 'GET',\n      path: paths.unreadCount,\n      query: z.object({}),\n      responses: { 200: GetUnreadNotificationCountResponseSchema },\n      summary: 'Get unread notification count',\n      description:\n        'Returns the number of unread notifications for the authenticated user.',\n    },\n    markRead: {\n      method: 'POST',\n      path: paths.markRead,\n      body: MarkNotificationsAsReadRequestSchema,\n      responses: { 200: MarkNotificationsAsReadResponseSchema },\n      summary: 'Mark notifications as read',\n      description: 'Marks one or more notifications as read by ID.',\n    },\n    markAllRead: {\n      method: 'POST',\n      path: paths.markAllRead,\n      body: z.object({}),\n      responses: { 200: MarkAllNotificationsAsReadResponseSchema },\n      summary: 'Mark all notifications as read',\n      description:\n        \"Marks all of the authenticated user's notifications as read.\",\n    },\n  },\n  { strictStatusCodes: true },\n);\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  paths,\n  ConnectionTypeSchema,\n  CreateConnectionRequestSchema,\n  CreateConnectionResponseSchema,\n  UpdateConnectionRequestSchema,\n  UpdateConnectionResponseSchema,\n  DeleteConnectionRequestSchema,\n  DeleteConnectionResponseSchema,\n  GetConnectionsForUrlResponseSchema,\n  GetConnectionsResponseSchema,\n} from '@semble/types';\nimport { CoercedPaginatedConnectionSortedQuery } from './shared';\n\nconst c = initContract();\n\nexport const connectionsContract = c.router(\n  {\n    connectionsForUrl: {\n      method: 'GET',\n      path: paths.connectionsForUrl,\n      query: CoercedPaginatedConnectionSortedQuery.extend({\n        url: z.string(),\n        direction: z.enum(['forward', 'backward', 'both']).optional(),\n        connectionTypes: z.array(ConnectionTypeSchema).optional(),\n      }),\n      responses: { 200: GetConnectionsForUrlResponseSchema },\n      summary: 'Get connections for a URL',\n      description:\n        'Returns connections where the given URL is the source or target, optionally filtered by direction and type.',\n    },\n    createConnection: {\n      method: 'POST',\n      path: paths.createConnection,\n      body: CreateConnectionRequestSchema,\n      responses: { 200: CreateConnectionResponseSchema },\n      summary: 'Create a connection',\n      description:\n        'Creates a typed link between two URLs with an optional note.',\n    },\n    connectionsByUser: {\n      method: 'GET',\n      path: paths.connectionsByUser,\n      query: CoercedPaginatedConnectionSortedQuery.extend({\n        identifier: z.string(),\n        connectionTypes: z.array(ConnectionTypeSchema).optional(),\n      }),\n      responses: { 200: GetConnectionsResponseSchema },\n      summary: \"List a user's connections\",\n      description:\n        'Returns a paginated list of connections created by a user, identified by handle or DID. Filterable by connection type.',\n    },\n    updateConnection: {\n      method: 'POST',\n      path: paths.updateConnection,\n      body: UpdateConnectionRequestSchema,\n      responses: { 200: UpdateConnectionResponseSchema },\n      summary: 'Update a connection',\n      description:\n        'Updates the type, note, or direction of an existing connection.',\n    },\n    deleteConnection: {\n      method: 'POST',\n      path: paths.deleteConnection,\n      body: DeleteConnectionRequestSchema,\n      responses: { 200: DeleteConnectionResponseSchema },\n      summary: 'Delete a connection',\n      description:\n        'Permanently deletes a connection owned by the authenticated user.',\n    },\n  },\n  { strictStatusCodes: true },\n);\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  paths,\n  UrlTypeSchema,\n  ActivitySourceSchema,\n  GetSimilarUrlsForUrlResponseSchema,\n  SemanticSearchUrlsResponseSchema,\n  SearchBskyPostsForUrlResponseSchema,\n  SearchAtProtoAccountsResponseSchema,\n  SearchLeafletDocsForUrlResponseSchema,\n  RecommendedUrlsResponseSchema,\n  RecommendedUsersResponseSchema,\n  RecommendedCollectionsResponseSchema,\n} from '@semble/types';\nimport { CoercedPaginatedSortedQuery } from './shared';\n\nconst c = initContract();\n\nexport const searchContract = c.router(\n  {\n    similarUrls: {\n      method: 'GET',\n      path: paths.similarUrls,\n      query: CoercedPaginatedSortedQuery.extend({\n        url: z.string(),\n        threshold: z.coerce.number().optional(),\n        urlType: UrlTypeSchema.optional(),\n      }),\n      responses: { 200: GetSimilarUrlsForUrlResponseSchema },\n      summary: 'Find similar URLs',\n      description:\n        'Returns URLs semantically similar to a given URL using vector similarity search.',\n    },\n    semantic: {\n      method: 'GET',\n      path: paths.semantic,\n      query: CoercedPaginatedSortedQuery.extend({\n        query: z.string(),\n        threshold: z.coerce.number().optional(),\n        urlType: UrlTypeSchema.optional(),\n        identifier: z.string().optional(),\n      }),\n      responses: { 200: SemanticSearchUrlsResponseSchema },\n      summary: 'Semantic search',\n      description:\n        'Returns URLs matching a natural-language query using vector search, optionally scoped to a user and filtered by type.',\n    },\n    bskyPosts: {\n      method: 'GET',\n      path: paths.bskyPosts,\n      query: z.object({\n        q: z.string(),\n        sort: z.string().optional(),\n        since: z.string().optional(),\n        until: z.string().optional(),\n        mentions: z.string().optional(),\n        author: z.string().optional(),\n        lang: z.string().optional(),\n        domain: z.string().optional(),\n        url: z.string().optional(),\n        tag: z.array(z.string()).optional(),\n        limit: z.coerce.number().optional(),\n        cursor: z.string().optional(),\n      }),\n      responses: { 200: SearchBskyPostsForUrlResponseSchema },\n      summary: 'Search Bluesky posts',\n      description:\n        'Searches Bluesky posts via the AT Protocol, proxied through the Semble API.',\n      metadata: { internal: true } as const,\n    },\n    atProtoAccounts: {\n      method: 'GET',\n      path: paths.atProtoAccounts,\n      query: z.object({\n        term: z.string().optional(),\n        q: z.string().optional(),\n        limit: z.coerce.number().optional(),\n        cursor: z.string().optional(),\n      }),\n      responses: { 200: SearchAtProtoAccountsResponseSchema },\n      summary: 'Search AT Protocol accounts',\n      description:\n        'Searches for AT Protocol user accounts by handle or display name.',\n    },\n    leafletDocs: {\n      method: 'GET',\n      path: paths.leafletDocs,\n      query: z.object({\n        url: z.string(),\n        limit: z.coerce.number().optional(),\n        cursor: z.string().optional(),\n      }),\n      responses: { 200: SearchLeafletDocsForUrlResponseSchema },\n      summary: 'Search Leaflet documents for a URL',\n      description:\n        'Returns Leaflet documents that reference or annotate a given URL.',\n      metadata: { internal: true } as const,\n    },\n    recommended: {\n      method: 'GET',\n      path: paths.recommended,\n      query: z.object({\n        // A single ?queries=x arrives as a string; repeated params arrive as an array\n        queries: z.union([z.string(), z.array(z.string())]).optional(),\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n        // Ranking weight overrides; omitted values use the server defaults.\n        urlCardWeight: z.coerce.number().optional(),\n        noteWeight: z.coerce.number().optional(),\n        collectionWeight: z.coerce.number().optional(),\n        connectionWeight: z.coerce.number().optional(),\n        randomness: z.coerce.number().optional(),\n        urlType: UrlTypeSchema.optional(),\n      }),\n      responses: { 200: RecommendedUrlsResponseSchema },\n      summary: 'Recommended URLs',\n      description:\n        \"Returns URLs recommended for a set of query strings. Each query's matches are ranked independently by network activity (saves, notes, collections, connections) with randomized ordering, then interleaved round-robin so no single query crowds out the others. Excludes URLs the calling user already saved. Ranking weights can be overridden per request; each distinct weight set is cached separately. Optionally filtered to a single `urlType`; changing it re-queries the vector database rather than reusing the cached ranked set. Paginated over a cached ranked set. When no queries are given, they are derived from random recent cards in the calling user's library (falling back to their profile bio), or, for unauthenticated callers, from random recent cards in the global feed; the derived queries are returned so later pages can pass them back.\",\n      metadata: { internal: true } as const,\n    },\n    recommendedUsers: {\n      method: 'GET',\n      path: paths.recommendedUsers,\n      query: z.object({\n        // A single ?urls=x arrives as a string; repeated params arrive as an array\n        urls: z.union([z.string(), z.array(z.string())]),\n      }),\n      responses: { 200: RecommendedUsersResponseSchema },\n      summary: 'Recommended users',\n      description:\n        'Returns users recommended for a set of URLs — users who saved or connected those URLs, plus Semble users the caller follows on Bluesky — ranked by activity, followers, recency, and Bluesky follow status, excluding users the caller already follows.',\n      metadata: { internal: true } as const,\n    },\n    recommendedCollections: {\n      method: 'GET',\n      path: paths.recommendedCollections,\n      query: z.object({\n        // A single ?urls=x arrives as a string; repeated params arrive as an\n        // array. Required when authenticated; unauthenticated callers may omit\n        // it to seed from the global feed.\n        urls: z.union([z.string(), z.array(z.string())]).optional(),\n      }),\n      responses: { 200: RecommendedCollectionsResponseSchema },\n      summary: 'Recommended collections',\n      description:\n        'Returns collections containing any of the given URLs, ranked by card count, follower count, update recency, and whether the caller follows the collection author on Bluesky. Unauthenticated callers may omit urls, in which case the seed URLs are drawn from random recent cards in the global feed and the Bluesky-follow signal is skipped.',\n      metadata: { internal: true } as const,\n    },\n  },\n  { strictStatusCodes: true },\n);\n","import { initContract } from '@ts-rest/core';\nimport { z } from 'zod';\nimport {\n  paths,\n  GetGraphDataResponseSchema,\n  SubscribeToTargetRequestSchema,\n  SubscribeToTargetResponseSchema,\n  UnsubscribeFromTargetRequestSchema,\n  UpdateSubscriptionRequestSchema,\n  UpdateSubscriptionResponseSchema,\n  GetMySubscriptionsParamsSchema,\n  GetMySubscriptionsResponseSchema,\n  FollowTargetRequestSchema,\n  FollowTargetResponseSchema,\n  UnfollowTargetRequestSchema,\n  GetFollowingUsersResponseSchema,\n  GetBskyFollowedUsersResponseSchema,\n  FollowManyUsersRequestSchema,\n  FollowManyUsersResponseSchema,\n  GetFollowersResponseSchema,\n  GetFollowingCollectionsResponseSchema,\n  GetFollowingCountParamsSchema,\n  GetFollowersCountParamsSchema,\n  GetFollowingCollectionsCountParamsSchema,\n} from '@semble/types';\n\nconst c = initContract();\n\nconst CountResponseSchema = z.object({ count: z.number() });\n\nexport const graphContract = c.router(\n  {\n    graphData: {\n      method: 'GET',\n      path: paths.graphData,\n      query: z.object({\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetGraphDataResponseSchema },\n      summary: 'Get my graph data',\n      description:\n        \"Returns the authenticated user's connection graph as nodes and edges.\",\n      metadata: { internal: true } as const,\n    },\n    userGraphData: {\n      method: 'GET',\n      path: paths.userGraphData,\n      query: z.object({\n        identifier: z.string(),\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetGraphDataResponseSchema },\n      summary: \"Get a user's graph data\",\n      description:\n        \"Returns a user's connection graph as nodes and edges, identified by handle or DID.\",\n      metadata: { internal: true } as const,\n    },\n    urlGraphData: {\n      method: 'GET',\n      path: paths.urlGraphData,\n      query: z.object({\n        url: z.string(),\n        depth: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetGraphDataResponseSchema },\n      summary: 'Get URL graph data',\n      description:\n        'Returns the connection graph centered on a given URL, up to the specified depth.',\n      metadata: { internal: true } as const,\n    },\n    followTarget: {\n      method: 'POST',\n      path: paths.followTarget,\n      body: FollowTargetRequestSchema,\n      responses: { 200: FollowTargetResponseSchema },\n      summary: 'Follow a user or collection',\n      description:\n        'Follows a target user or collection on behalf of the authenticated user.',\n    },\n    unfollowTarget: {\n      method: 'POST',\n      path: paths.unfollowTarget,\n      body: UnfollowTargetRequestSchema,\n      responses: { 200: z.object({ success: z.boolean() }) },\n      summary: 'Unfollow a user or collection',\n      description:\n        'Removes a follow relationship between the authenticated user and a target.',\n    },\n    followingUsers: {\n      method: 'GET',\n      path: paths.followingUsers,\n      query: z.object({\n        identifier: z.string(),\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetFollowingUsersResponseSchema },\n      summary: 'List users a user follows',\n      description:\n        'Returns users followed by the specified account, identified by handle or DID.',\n    },\n    bskyFollowedUsers: {\n      method: 'GET',\n      path: paths.bskyFollowedUsers,\n      query: z.object({\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetBskyFollowedUsersResponseSchema },\n      summary: 'List Semble users followed on Bluesky',\n      description:\n        'Returns the Semble users that the authenticated user follows on Bluesky, paginated.',\n      metadata: { internal: true } as const,\n    },\n    followMany: {\n      method: 'POST',\n      path: paths.followMany,\n      body: FollowManyUsersRequestSchema,\n      responses: { 200: FollowManyUsersResponseSchema },\n      summary: 'Follow multiple users',\n      description:\n        'Follows all given users on behalf of the authenticated user. Already-followed targets are skipped.',\n      metadata: { internal: true } as const,\n    },\n    userFollowers: {\n      method: 'GET',\n      path: paths.userFollowers,\n      query: z.object({\n        identifier: z.string(),\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetFollowersResponseSchema },\n      summary: \"List a user's followers\",\n      description:\n        'Returns users who follow the specified account, identified by handle or DID.',\n    },\n    followingCollections: {\n      method: 'GET',\n      path: paths.followingCollections,\n      query: z.object({\n        identifier: z.string(),\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetFollowingCollectionsResponseSchema },\n      summary: 'List collections a user follows',\n      description:\n        'Returns collections followed by the specified account, identified by handle or DID.',\n    },\n    followingCount: {\n      method: 'GET',\n      path: paths.followingCount,\n      query: GetFollowingCountParamsSchema,\n      responses: { 200: CountResponseSchema },\n      summary: 'Get following count',\n      description: 'Returns the number of users a given account follows.',\n    },\n    userFollowersCount: {\n      method: 'GET',\n      path: paths.userFollowersCount,\n      query: GetFollowersCountParamsSchema,\n      responses: { 200: CountResponseSchema },\n      summary: 'Get follower count',\n      description: 'Returns the number of followers for a given account.',\n    },\n    followingCollectionsCount: {\n      method: 'GET',\n      path: paths.followingCollectionsCount,\n      query: GetFollowingCollectionsCountParamsSchema,\n      responses: { 200: CountResponseSchema },\n      summary: 'Get following collections count',\n      description: 'Returns the number of collections a given account follows.',\n    },\n    subscribeToTarget: {\n      method: 'POST',\n      path: paths.subscribeToTarget,\n      body: SubscribeToTargetRequestSchema,\n      responses: { 200: SubscribeToTargetResponseSchema },\n      summary: 'Subscribe to a user or collection',\n      description:\n        'Marks an existing follow as subscribed for the authenticated user. Requires that the user is already following the target.',\n    },\n    unsubscribeFromTarget: {\n      method: 'POST',\n      path: paths.unsubscribeFromTarget,\n      body: UnsubscribeFromTargetRequestSchema,\n      responses: { 200: z.object({ success: z.boolean() }) },\n      summary: 'Unsubscribe from a user or collection',\n      description:\n        'Clears the subscription flag on an existing follow. Idempotent.',\n    },\n    updateSubscription: {\n      method: 'POST',\n      path: paths.updateSubscription,\n      body: UpdateSubscriptionRequestSchema,\n      responses: { 200: UpdateSubscriptionResponseSchema },\n      summary: 'Update the scopes of an existing subscription',\n      description:\n        'Replaces the scope set on a subscription. Requires the caller to already be subscribed to the target.',\n    },\n    getMySubscriptions: {\n      method: 'GET',\n      path: paths.getMySubscriptions,\n      query: GetMySubscriptionsParamsSchema.extend({\n        page: z.coerce.number().optional(),\n        limit: z.coerce.number().optional(),\n      }),\n      responses: { 200: GetMySubscriptionsResponseSchema },\n      summary: 'List my subscriptions',\n      description:\n        \"Returns the authenticated user's subscribed users and collections, ordered by subscribedAt DESC.\",\n    },\n  },\n  { strictStatusCodes: true },\n);\n","import { isAppRoute, type AppRoute, type AppRouter } from '@ts-rest/core';\n\nexport type InternalMetadata = { internal?: boolean };\n\nconst isInternal = (route: AppRoute): boolean =>\n  (route.metadata as InternalMetadata | undefined)?.internal === true;\n\ntype IsInternalRoute<R> = R extends { metadata: { internal: true } }\n  ? true\n  : false;\n\nexport type PublicRoutes<T> = {\n  [K in keyof T as T[K] extends AppRoute\n    ? IsInternalRoute<T[K]> extends true\n      ? never\n      : K\n    : T[K] extends AppRouter\n      ? keyof PublicRoutes<T[K]> extends never\n        ? never\n        : K\n      : never]: T[K] extends AppRoute\n    ? T[K]\n    : T[K] extends AppRouter\n      ? PublicRoutes<T[K]>\n      : never;\n};\n\nexport function filterPublicRoutes<T extends AppRouter>(\n  router: T,\n): PublicRoutes<T> {\n  const out: AppRouter = {};\n  for (const [key, value] of Object.entries(router)) {\n    if (isAppRoute(value)) {\n      if (!isInternal(value)) out[key] = value;\n    } else {\n      const sub = filterPublicRoutes(value as AppRouter);\n      if (Object.keys(sub).length > 0) out[key] = sub as AppRouter;\n    }\n  }\n  return out as PublicRoutes<T>;\n}\n","import { z } from 'zod';\n\nexport const PaginationSchema = z.object({\n  currentPage: z.number(),\n  totalPages: z.number(),\n  totalCount: z.number(),\n  hasMore: z.boolean(),\n  limit: z.number(),\n});\nexport type Pagination = z.infer<typeof PaginationSchema>;\n\nexport const FeedPaginationSchema = PaginationSchema.extend({\n  // Total counts are expensive to compute over the ever-growing feed tables\n  // and are not consumed by feed UIs, so they are optional for feeds.\n  totalPages: z.number().optional(),\n  totalCount: z.number().optional(),\n  nextCursor: z.string().optional(),\n});\nexport type FeedPagination = z.infer<typeof FeedPaginationSchema>;\n\nexport const SortOrder = { ASC: 'asc', DESC: 'desc' } as const;\nexport type SortOrder = (typeof SortOrder)[keyof typeof SortOrder];\nexport const SortOrderSchema = z.enum(['asc', 'desc']);\n\nexport const CardSortField = {\n  CREATED_AT: 'createdAt',\n  UPDATED_AT: 'updatedAt',\n  LIBRARY_COUNT: 'libraryCount',\n} as const;\nexport type CardSortField = (typeof CardSortField)[keyof typeof CardSortField];\nexport const CardSortFieldSchema = z.enum([\n  'createdAt',\n  'updatedAt',\n  'libraryCount',\n]);\n\nexport const CollectionSortField = {\n  NAME: 'name',\n  CREATED_AT: 'createdAt',\n  UPDATED_AT: 'updatedAt',\n  CARD_COUNT: 'cardCount',\n  ADDED_AT: 'addedAt',\n} as const;\nexport type CollectionSortField =\n  (typeof CollectionSortField)[keyof typeof CollectionSortField];\nexport const CollectionSortFieldSchema = z.enum([\n  'name',\n  'createdAt',\n  'updatedAt',\n  'cardCount',\n  'addedAt',\n]);\n\nexport const ConnectionSortField = {\n  CREATED_AT: 'createdAt',\n  UPDATED_AT: 'updatedAt',\n} as const;\nexport type ConnectionSortField =\n  (typeof ConnectionSortField)[keyof typeof ConnectionSortField];\nexport const ConnectionSortFieldSchema = z.enum(['createdAt', 'updatedAt']);\n\nexport const BaseSortingSchema = z.object({\n  sortOrder: SortOrderSchema,\n});\nexport type BaseSorting = z.infer<typeof BaseSortingSchema>;\n\nexport const CardSortingSchema = BaseSortingSchema.extend({\n  sortBy: CardSortFieldSchema,\n});\nexport type CardSorting = z.infer<typeof CardSortingSchema>;\n\nexport const CollectionSortingSchema = BaseSortingSchema.extend({\n  sortBy: CollectionSortFieldSchema,\n});\nexport type CollectionSorting = z.infer<typeof CollectionSortingSchema>;\n\nexport const UrlType = {\n  ARTICLE: 'article',\n  LINK: 'link',\n  BOOK: 'book',\n  RESEARCH: 'research',\n  AUDIO: 'audio',\n  VIDEO: 'video',\n  SOCIAL: 'social',\n  EVENT: 'event',\n  SOFTWARE: 'software',\n} as const;\nexport type UrlType = (typeof UrlType)[keyof typeof UrlType];\nexport const UrlTypeSchema = z.enum([\n  'article',\n  'link',\n  'book',\n  'research',\n  'audio',\n  'video',\n  'social',\n  'event',\n  'software',\n]);\n\nexport const ActivitySource = {\n  MARGIN: 'margin',\n  SEMBLE: 'semble',\n} as const;\nexport type ActivitySource =\n  (typeof ActivitySource)[keyof typeof ActivitySource];\nexport const ActivitySourceSchema = z.enum(['margin', 'semble']);\n\nexport const CollectionAccessType = {\n  OPEN: 'OPEN',\n  CLOSED: 'CLOSED',\n} as const;\nexport type CollectionAccessType =\n  (typeof CollectionAccessType)[keyof typeof CollectionAccessType];\nexport const CollectionAccessTypeSchema = z.enum(['OPEN', 'CLOSED']);\n\nexport const PaginationParamsSchema = z.object({\n  page: z.number().optional(),\n  limit: z.number().optional(),\n});\nexport type PaginationParams = z.infer<typeof PaginationParamsSchema>;\n\nexport const SortingParamsSchema = z.object({\n  sortBy: z.string().optional(),\n  sortOrder: z.enum(['asc', 'desc']).optional(),\n});\nexport type SortingParams = z.infer<typeof SortingParamsSchema>;\n\nexport const PaginatedSortedParamsSchema =\n  PaginationParamsSchema.merge(SortingParamsSchema);\nexport type PaginatedSortedParams = z.infer<typeof PaginatedSortedParamsSchema>;\n\nexport const PaginatedCardSortedParamsSchema = PaginationParamsSchema.extend({\n  sortBy: CardSortFieldSchema.optional(),\n  sortOrder: SortOrderSchema.optional(),\n});\nexport type PaginatedCardSortedParams = z.infer<\n  typeof PaginatedCardSortedParamsSchema\n>;\n\nexport const PaginatedCollectionSortedParamsSchema =\n  PaginationParamsSchema.extend({\n    sortBy: CollectionSortFieldSchema.optional(),\n    sortOrder: SortOrderSchema.optional(),\n  });\nexport type PaginatedCollectionSortedParams = z.infer<\n  typeof PaginatedCollectionSortedParamsSchema\n>;\n\nexport const PaginatedConnectionSortedParamsSchema =\n  PaginationParamsSchema.extend({\n    sortBy: ConnectionSortFieldSchema.optional(),\n    sortOrder: SortOrderSchema.optional(),\n  });\nexport type PaginatedConnectionSortedParams = z.infer<\n  typeof PaginatedConnectionSortedParamsSchema\n>;\n\nexport const ConnectionSortingSchema = z.object({\n  sortBy: ConnectionSortFieldSchema,\n  sortOrder: SortOrderSchema,\n});\nexport type ConnectionSorting = z.infer<typeof ConnectionSortingSchema>;\n","import { z } from 'zod';\n\nexport const SubscriptionScopeSchema = z.enum([\n  'CARD',\n  'CONNECTION',\n  'COLLECTION_SAVED',\n]);\nexport type SubscriptionScope = z.infer<typeof SubscriptionScopeSchema>;\n\nexport const LabelSchema = z.object({\n  $type: z.literal('com.atproto.label.defs#label').optional(),\n  ver: z.number().optional(),\n  src: z.string(),\n  uri: z.string(),\n  cid: z.string().optional(),\n  val: z.string(),\n  neg: z.boolean().optional(),\n  cts: z.string(),\n  exp: z.string().optional(),\n  sig: z.custom<Uint8Array>((v) => v instanceof Uint8Array).optional(),\n});\nexport type Label = z.infer<typeof LabelSchema>;\n\nexport const UserSchema = z.object({\n  id: z.string(),\n  name: z.string(),\n  handle: z.string(),\n  avatarUrl: z.string().optional(),\n  bannerUrl: z.string().optional(),\n  description: z.string().optional(),\n  isFollowing: z.boolean().optional(),\n  isSubscribed: z.boolean().optional(),\n  subscriptionScopes: z.array(SubscriptionScopeSchema).optional(),\n  followsYou: z.boolean().optional(),\n  followerCount: z.number().optional(),\n  followingCount: z.number().optional(),\n  followedCollectionsCount: z.number().optional(),\n  urlCardCount: z.number().optional(),\n  collectionCount: z.number().optional(),\n  connectionCount: z.number().optional(),\n  connectionsByType: z\n    .object({ total: z.number() })\n    .catchall(z.number())\n    .optional(),\n  labels: z.array(LabelSchema).optional(),\n});\nexport type User = z.infer<typeof UserSchema>;\n\nexport const ContributorUserSchema = UserSchema.extend({\n  contributionCount: z.number(),\n});\nexport type ContributorUser = z.infer<typeof ContributorUserSchema>;\n\nexport const UserProfileDTOSchema = UserSchema.omit({\n  isFollowing: true,\n  isSubscribed: true,\n  subscriptionScopes: true,\n});\nexport type UserProfileDTO = z.infer<typeof UserProfileDTOSchema>;\n\nexport const MinimalUserProfileSchema = UserProfileDTOSchema.omit({\n  description: true,\n});\nexport type MinimalUserProfile = z.infer<typeof MinimalUserProfileSchema>;\n","import { z } from 'zod';\nimport { UserSchema } from './user';\nimport { UrlMetadataSchema } from './url';\nimport { CollectionSchema } from './collection';\n\nexport const UrlCardSchema = z.object({\n  id: z.string(),\n  type: z.literal('URL'),\n  url: z.string(),\n  uri: z.string().optional(),\n  cardContent: UrlMetadataSchema,\n  libraryCount: z.number(),\n  urlLibraryCount: z.number(),\n  urlInLibrary: z.boolean().optional(),\n  urlConnectionCount: z.number().optional(),\n  urlIsConnected: z.boolean().optional(),\n  createdAt: z.string(),\n  updatedAt: z.string(),\n  author: UserSchema,\n  note: z\n    .object({\n      id: z.string(),\n      text: z.string(),\n    })\n    .optional(),\n});\nexport type UrlCard = z.infer<typeof UrlCardSchema>;\n\nexport const UrlCardWithCollectionsSchema = UrlCardSchema.extend({\n  collections: z.array(CollectionSchema),\n});\nexport type UrlCardWithCollections = z.infer<\n  typeof UrlCardWithCollectionsSchema\n>;\n\nexport const UrlCardWithLibrariesSchema = UrlCardSchema.extend({\n  libraries: z.array(UserSchema),\n});\nexport type UrlCardWithLibraries = z.infer<typeof UrlCardWithLibrariesSchema>;\n\nexport const UrlCardWithCollectionsAndLibrariesSchema = UrlCardSchema.extend({\n  collections: z.array(CollectionSchema),\n  libraries: z.array(UserSchema),\n});\nexport type UrlCardWithCollectionsAndLibraries = z.infer<\n  typeof UrlCardWithCollectionsAndLibrariesSchema\n>;\n","import { z } from 'zod';\n\nexport const UrlMetadataSchema = z.object({\n  url: z.string(),\n  title: z.string().optional(),\n  description: z.string().optional(),\n  author: z.string().optional(),\n  publishedDate: z.string().optional(),\n  siteName: z.string().optional(),\n  imageUrl: z.string().optional(),\n  type: z.string().optional(),\n  retrievedAt: z.string().optional(),\n  doi: z.string().optional(),\n  isbn: z.string().optional(),\n});\nexport type UrlMetadata = z.infer<typeof UrlMetadataSchema>;\n\nconst ConnectionStatsSchema = z\n  .object({ total: z.number() })\n  .catchall(z.number());\n\nexport const UrlAggregateStatsSchema = z.object({\n  libraryCount: z.number(),\n  noteCount: z.number(),\n  collectionCount: z.number(),\n  connections: z.object({\n    all: ConnectionStatsSchema,\n    incoming: ConnectionStatsSchema,\n    outgoing: ConnectionStatsSchema,\n  }),\n});\nexport type UrlAggregateStats = z.infer<typeof UrlAggregateStatsSchema>;\n","import { z } from 'zod';\nimport { UserSchema, SubscriptionScopeSchema } from './user';\nimport { CollectionAccessTypeSchema } from './common';\n\nexport const CollectionSchema = z.object({\n  id: z.string(),\n  uri: z.string().optional(),\n  name: z.string(),\n  author: UserSchema,\n  description: z.string().optional(),\n  accessType: CollectionAccessTypeSchema.optional(),\n  cardCount: z.number(),\n  createdAt: z.string(),\n  updatedAt: z.string(),\n  isFollowing: z.boolean().optional(),\n  isSubscribed: z.boolean().optional(),\n  subscriptionScopes: z.array(SubscriptionScopeSchema).optional(),\n  followerCount: z.number().optional(),\n});\nexport type Collection = z.infer<typeof CollectionSchema>;\n","import { z } from 'zod';\nimport { UserSchema } from './user';\nimport { UrlMetadataSchema } from './url';\n\nexport const ConnectionTypeSchema = z.enum([\n  'SUPPORTS',\n  'OPPOSES',\n  'ADDRESSES',\n  'HELPFUL',\n  'LEADS_TO',\n  'RELATED',\n  'SUPPLEMENT',\n  'EXPLAINER',\n  'SAME_AS',\n  'REFERENCES',\n]);\nexport type ConnectionType = z.infer<typeof ConnectionTypeSchema>;\n\nexport const UrlViewSchema = z.object({\n  url: z.string(),\n  metadata: UrlMetadataSchema,\n  urlLibraryCount: z.number(),\n  urlInLibrary: z.boolean().optional(),\n  urlConnectionCount: z.number().optional(),\n  urlIsConnected: z.boolean().optional(),\n});\nexport type UrlView = z.infer<typeof UrlViewSchema>;\n\nexport const ConnectionWithSourceAndTargetSchema = z.object({\n  connection: z.object({\n    id: z.string(),\n    type: z.string().optional(),\n    note: z.string().optional(),\n    createdAt: z.string(),\n    updatedAt: z.string(),\n    curator: UserSchema,\n  }),\n  source: UrlViewSchema,\n  target: UrlViewSchema,\n});\nexport type ConnectionWithSourceAndTarget = z.infer<\n  typeof ConnectionWithSourceAndTargetSchema\n>;\n","import { z } from 'zod';\nimport { UserSchema } from './user';\nimport { UrlCardSchema } from './card';\nimport { CollectionSchema } from './collection';\nimport { ConnectionWithSourceAndTargetSchema } from './connection';\n\nexport enum ActivityType {\n  CARD_COLLECTED = 'CARD_COLLECTED',\n  CONNECTION_CREATED = 'CONNECTION_CREATED',\n}\nexport const ActivityTypeSchema = z.enum([\n  'CARD_COLLECTED',\n  'CONNECTION_CREATED',\n]);\n\nexport const BaseFeedItemSchema = z.object({\n  id: z.string(),\n  user: UserSchema,\n  createdAt: z.date(),\n});\nexport type BaseFeedItem = z.infer<typeof BaseFeedItemSchema>;\n\nexport const CardCollectedFeedItemSchema = BaseFeedItemSchema.extend({\n  activityType: z.literal(ActivityType.CARD_COLLECTED),\n  card: UrlCardSchema,\n  collections: z.array(CollectionSchema),\n});\nexport type CardCollectedFeedItem = z.infer<typeof CardCollectedFeedItemSchema>;\n\nexport const ConnectionCreatedFeedItemSchema = BaseFeedItemSchema.extend({\n  activityType: z.literal(ActivityType.CONNECTION_CREATED),\n  connection: ConnectionWithSourceAndTargetSchema,\n});\nexport type ConnectionCreatedFeedItem = z.infer<\n  typeof ConnectionCreatedFeedItemSchema\n>;\n\nexport const FeedItemSchema = z.union([\n  CardCollectedFeedItemSchema,\n  ConnectionCreatedFeedItemSchema,\n]);\nexport type FeedItem = z.infer<typeof FeedItemSchema>;\n","import { z } from 'zod';\nimport { UserSchema } from './user';\nimport { UrlCardSchema } from './card';\nimport { CollectionSchema } from './collection';\nimport { ConnectionWithSourceAndTargetSchema } from './connection';\n\nexport enum NotificationType {\n  USER_ADDED_YOUR_CARD = 'USER_ADDED_YOUR_CARD',\n  USER_ADDED_YOUR_BSKY_POST = 'USER_ADDED_YOUR_BSKY_POST',\n  USER_ADDED_YOUR_COLLECTION = 'USER_ADDED_YOUR_COLLECTION',\n  USER_ADDED_TO_YOUR_COLLECTION = 'USER_ADDED_TO_YOUR_COLLECTION',\n  USER_FOLLOWED_YOU = 'USER_FOLLOWED_YOU',\n  USER_FOLLOWED_YOUR_COLLECTION = 'USER_FOLLOWED_YOUR_COLLECTION',\n  USER_CONNECTED_YOUR_URL = 'USER_CONNECTED_YOUR_URL',\n  USER_CONNECTED_YOUR_POST = 'USER_CONNECTED_YOUR_POST',\n  USER_CONNECTED_YOUR_COLLECTION = 'USER_CONNECTED_YOUR_COLLECTION',\n  SUBSCRIBED_USER_ADDED_CARD = 'SUBSCRIBED_USER_ADDED_CARD',\n  USER_ADDED_CARD_TO_SUBSCRIBED_COLLECTION = 'USER_ADDED_CARD_TO_SUBSCRIBED_COLLECTION',\n  SUBSCRIBED_USER_MADE_CONNECTION = 'SUBSCRIBED_USER_MADE_CONNECTION',\n  USER_ADDED_SUBSCRIBED_COLLECTION = 'USER_ADDED_SUBSCRIBED_COLLECTION',\n  USER_CONNECTED_SUBSCRIBED_COLLECTION = 'USER_CONNECTED_SUBSCRIBED_COLLECTION',\n}\nexport const NotificationTypeSchema = z.enum([\n  'USER_ADDED_YOUR_CARD',\n  'USER_ADDED_YOUR_BSKY_POST',\n  'USER_ADDED_YOUR_COLLECTION',\n  'USER_ADDED_TO_YOUR_COLLECTION',\n  'USER_FOLLOWED_YOU',\n  'USER_FOLLOWED_YOUR_COLLECTION',\n  'USER_CONNECTED_YOUR_URL',\n  'USER_CONNECTED_YOUR_POST',\n  'USER_CONNECTED_YOUR_COLLECTION',\n  'SUBSCRIBED_USER_ADDED_CARD',\n  'USER_ADDED_CARD_TO_SUBSCRIBED_COLLECTION',\n  'SUBSCRIBED_USER_MADE_CONNECTION',\n  'USER_ADDED_SUBSCRIBED_COLLECTION',\n  'USER_CONNECTED_SUBSCRIBED_COLLECTION',\n]);\n\nexport const BaseNotificationItemSchema = z.object({\n  id: z.string(),\n  user: UserSchema,\n  createdAt: z.string(),\n  type: NotificationTypeSchema,\n  read: z.boolean(),\n});\nexport type BaseNotificationItem = z.infer<typeof BaseNotificationItemSchema>;\n\nexport const CardCollectionNotificationItemSchema =\n  BaseNotificationItemSchema.extend({\n    type: z.union([\n      z.literal(NotificationType.USER_ADDED_YOUR_CARD),\n      z.literal(NotificationType.USER_ADDED_YOUR_BSKY_POST),\n      z.literal(NotificationType.USER_ADDED_YOUR_COLLECTION),\n      z.literal(NotificationType.USER_ADDED_TO_YOUR_COLLECTION),\n      z.literal(NotificationType.SUBSCRIBED_USER_ADDED_CARD),\n      z.literal(NotificationType.USER_ADDED_CARD_TO_SUBSCRIBED_COLLECTION),\n      z.literal(NotificationType.USER_ADDED_SUBSCRIBED_COLLECTION),\n    ]),\n    card: UrlCardSchema,\n    collections: z.array(CollectionSchema).optional(),\n  });\nexport type CardCollectionNotificationItem = z.infer<\n  typeof CardCollectionNotificationItemSchema\n>;\n\nexport const FollowNotificationItemSchema = BaseNotificationItemSchema.extend({\n  type: z.union([\n    z.literal(NotificationType.USER_FOLLOWED_YOU),\n    z.literal(NotificationType.USER_FOLLOWED_YOUR_COLLECTION),\n  ]),\n  followTargetType: z.enum(['USER', 'COLLECTION']),\n  followTargetId: z.string().optional(),\n  collections: z.array(CollectionSchema).optional(),\n});\nexport type FollowNotificationItem = z.infer<\n  typeof FollowNotificationItemSchema\n>;\n\nexport const ConnectionCreatedNotificationItemSchema =\n  BaseNotificationItemSchema.extend({\n    type: z.union([\n      z.literal(NotificationType.USER_CONNECTED_YOUR_URL),\n      z.literal(NotificationType.USER_CONNECTED_YOUR_POST),\n      z.literal(NotificationType.USER_CONNECTED_YOUR_COLLECTION),\n      z.literal(NotificationType.SUBSCRIBED_USER_MADE_CONNECTION),\n      z.literal(NotificationType.USER_CONNECTED_SUBSCRIBED_COLLECTION),\n    ]),\n    connection: ConnectionWithSourceAndTargetSchema,\n  });\nexport type ConnectionCreatedNotificationItem = z.infer<\n  typeof ConnectionCreatedNotificationItemSchema\n>;\n\nexport const NotificationItemSchema = z.union([\n  CardCollectionNotificationItemSchema,\n  FollowNotificationItemSchema,\n  ConnectionCreatedNotificationItemSchema,\n]);\nexport type NotificationItem = z.infer<typeof NotificationItemSchema>;\n","import { z } from 'zod';\n\nexport const GraphNodeSchema = z.object({\n  id: z.string(),\n  type: z.enum(['USER', 'URL', 'COLLECTION', 'NOTE']),\n  label: z.string(),\n  metadata: z.record(z.string(), z.any()),\n});\nexport type GraphNode = z.infer<typeof GraphNodeSchema>;\n\nexport const GraphEdgeSchema = z.object({\n  id: z.string(),\n  source: z.string(),\n  target: z.string(),\n  type: z.enum([\n    'USER_FOLLOWS_USER',\n    'USER_FOLLOWS_COLLECTION',\n    'USER_AUTHORED_URL',\n    'NOTE_REFERENCES_URL',\n    'COLLECTION_CONTAINS_URL',\n    'URL_CONNECTS_URL',\n  ]),\n  metadata: z.record(z.string(), z.unknown()).optional(),\n});\nexport type GraphEdge = z.infer<typeof GraphEdgeSchema>;\n","import { z } from 'zod';\n\nexport const PostViewSchema = z.object({\n  uri: z.string(),\n  cid: z.string(),\n  author: z.object({\n    did: z.string(),\n    handle: z.string(),\n    displayName: z.string().optional(),\n    avatar: z.string().optional(),\n    associated: z\n      .object({\n        chat: z\n          .object({\n            allowIncoming: z.enum(['all', 'none', 'following']),\n          })\n          .optional(),\n      })\n      .optional(),\n    viewer: z\n      .object({\n        muted: z.boolean().optional(),\n        blockedBy: z.boolean().optional(),\n        blocking: z.string().optional(),\n        following: z.string().optional(),\n        followedBy: z.string().optional(),\n      })\n      .optional(),\n    labels: z.array(z.any()).optional(),\n    createdAt: z.string().optional(),\n  }),\n  record: z.record(z.string(), z.unknown()),\n  embed: z.any().optional(),\n  replyCount: z.number().optional(),\n  repostCount: z.number().optional(),\n  likeCount: z.number().optional(),\n  quoteCount: z.number().optional(),\n  indexedAt: z.string(),\n  viewer: z\n    .object({\n      repost: z.string().optional(),\n      like: z.string().optional(),\n      threadMuted: z.boolean().optional(),\n      replyDisabled: z.boolean().optional(),\n      embeddingDisabled: z.boolean().optional(),\n      pinned: z.boolean().optional(),\n    })\n    .optional(),\n  labels: z.array(z.any()).optional(),\n  threadgate: z.any().optional(),\n});\nexport type PostView = z.infer<typeof PostViewSchema>;\n\nexport const ProfileViewSchema = z.object({\n  did: z.string(),\n  handle: z.string(),\n  displayName: z.string().optional(),\n  description: z.string().optional(),\n  avatar: z.string().optional(),\n  associated: z\n    .object({\n      chat: z\n        .object({\n          allowIncoming: z.enum(['all', 'none', 'following']),\n        })\n        .optional(),\n    })\n    .optional(),\n  indexedAt: z.string().optional(),\n  createdAt: z.string().optional(),\n  viewer: z\n    .object({\n      muted: z.boolean().optional(),\n      blockedBy: z.boolean().optional(),\n      blocking: z.string().optional(),\n      following: z.string().optional(),\n      followedBy: z.string().optional(),\n    })\n    .optional(),\n  labels: z.array(z.any()).optional(),\n  verification: z.any().optional(),\n  status: z.any().optional(),\n});\nexport type ProfileView = z.infer<typeof ProfileViewSchema>;\n","import { z } from 'zod';\n\nexport const AddUrlToLibraryRequestSchema = z.object({\n  url: z.string(),\n  note: z.string().optional(),\n  collectionIds: z.array(z.string()).optional(),\n  viaCardId: z\n    .string()\n    .optional()\n    .describe(\n      'The ID of the card that led to saving this URL. If included, the author of the viaCard will be notified.',\n    ),\n});\nexport type AddUrlToLibraryRequest = z.infer<\n  typeof AddUrlToLibraryRequestSchema\n>;\n\nexport const AddUrlToLibraryResponseSchema = z.object({\n  urlCardId: z.string(),\n  noteCardId: z.string().optional(),\n});\nexport type AddUrlToLibraryResponse = z.infer<\n  typeof AddUrlToLibraryResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const AddCardToLibraryRequestSchema = z.object({\n  cardId: z.string(),\n  collectionIds: z.array(z.string()).optional(),\n});\nexport type AddCardToLibraryRequest = z.infer<\n  typeof AddCardToLibraryRequestSchema\n>;\n\nexport const AddCardToLibraryResponseSchema = z.object({\n  cardId: z.string(),\n});\nexport type AddCardToLibraryResponse = z.infer<\n  typeof AddCardToLibraryResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const AddCardToCollectionRequestSchema = z.object({\n  cardId: z.string(),\n  collectionIds: z.array(z.string()),\n});\nexport type AddCardToCollectionRequest = z.infer<\n  typeof AddCardToCollectionRequestSchema\n>;\n\nexport const AddCardToCollectionResponseSchema = z.object({\n  cardId: z.string(),\n});\nexport type AddCardToCollectionResponse = z.infer<\n  typeof AddCardToCollectionResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const UpdateNoteCardRequestSchema = z.object({\n  cardId: z.string(),\n  note: z.string(),\n});\nexport type UpdateNoteCardRequest = z.infer<typeof UpdateNoteCardRequestSchema>;\n\nexport const UpdateNoteCardResponseSchema = z.object({\n  cardId: z.string(),\n});\nexport type UpdateNoteCardResponse = z.infer<\n  typeof UpdateNoteCardResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const UpdateUrlCardAssociationsRequestSchema = z.object({\n  cardId: z.string(),\n  note: z.string().optional(),\n  addToCollections: z.array(z.string()).optional(),\n  removeFromCollections: z.array(z.string()).optional(),\n  viaCardId: z\n    .string()\n    .optional()\n    .describe(\n      'The ID of the card that led to saving this URL. If included, the author of the viaCard will be notified.',\n    ),\n});\nexport type UpdateUrlCardAssociationsRequest = z.infer<\n  typeof UpdateUrlCardAssociationsRequestSchema\n>;\n\nexport const UpdateUrlCardAssociationsResponseSchema = z.object({\n  urlCardId: z.string(),\n  noteCardId: z.string().optional(),\n  addedToCollections: z.array(z.string()),\n  removedFromCollections: z.array(z.string()),\n});\nexport type UpdateUrlCardAssociationsResponse = z.infer<\n  typeof UpdateUrlCardAssociationsResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const RemoveCardFromLibraryRequestSchema = z.object({\n  cardId: z.string(),\n});\nexport type RemoveCardFromLibraryRequest = z.infer<\n  typeof RemoveCardFromLibraryRequestSchema\n>;\n\nexport const RemoveCardFromLibraryResponseSchema = z.object({\n  cardId: z.string(),\n});\nexport type RemoveCardFromLibraryResponse = z.infer<\n  typeof RemoveCardFromLibraryResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const RemoveCardFromCollectionRequestSchema = z.object({\n  cardId: z.string(),\n  collectionIds: z.array(z.string()),\n});\nexport type RemoveCardFromCollectionRequest = z.infer<\n  typeof RemoveCardFromCollectionRequestSchema\n>;\n\nexport const RemoveCardFromCollectionResponseSchema = z.object({\n  cardId: z.string(),\n});\nexport type RemoveCardFromCollectionResponse = z.infer<\n  typeof RemoveCardFromCollectionResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedCardSortedParamsSchema,\n  UrlTypeSchema,\n} from '../../entities/common';\n\nexport const GetMyUrlCardsParamsSchema = PaginatedCardSortedParamsSchema.extend(\n  {\n    urlType: UrlTypeSchema.optional(),\n    uncollected: z.boolean().optional(),\n    searchText: z.string().optional(),\n  },\n);\nexport type GetMyUrlCardsParams = z.infer<typeof GetMyUrlCardsParamsSchema>;\n","import { z } from 'zod';\nimport {\n  PaginatedCardSortedParamsSchema,\n  UrlTypeSchema,\n} from '../../entities/common';\n\nexport const GetUrlCardsParamsSchema = PaginatedCardSortedParamsSchema.extend({\n  identifier: z.string(),\n  urlType: UrlTypeSchema.optional(),\n  uncollected: z.boolean().optional(),\n  searchText: z.string().optional(),\n});\nexport type GetUrlCardsParams = z.infer<typeof GetUrlCardsParamsSchema>;\n","import { z } from 'zod';\nimport { PaginationSchema, CardSortingSchema } from '../../entities/common';\nimport { UrlCardSchema } from '../../entities/card';\n\nexport const GetUrlCardsResponseSchema = z.object({\n  cards: z.array(UrlCardSchema),\n  pagination: PaginationSchema,\n  sorting: CardSortingSchema,\n});\nexport type GetUrlCardsResponse = z.infer<typeof GetUrlCardsResponseSchema>;\n","import { z } from 'zod';\nimport { UrlCardWithCollectionsAndLibrariesSchema } from '../../entities/card';\n\nexport const GetUrlCardViewResponseSchema =\n  UrlCardWithCollectionsAndLibrariesSchema;\nexport type GetUrlCardViewResponse = z.infer<\n  typeof GetUrlCardViewResponseSchema\n>;\n","import { z } from 'zod';\nimport { UserSchema } from '../../entities/user';\n\nexport const GetLibrariesForCardResponseSchema = z.object({\n  cardId: z.string(),\n  users: z.array(UserSchema),\n  totalCount: z.number(),\n});\nexport type GetLibrariesForCardResponse = z.infer<\n  typeof GetLibrariesForCardResponseSchema\n>;\n","import { z } from 'zod';\nimport { UrlMetadataSchema, UrlAggregateStatsSchema } from '../../entities/url';\n\nexport const GetUrlMetadataParamsSchema = z.object({\n  url: z.string(),\n  includeStats: z.boolean().optional(),\n});\nexport type GetUrlMetadataParams = z.infer<typeof GetUrlMetadataParamsSchema>;\n\nexport const GetUrlMetadataResponseSchema = z.object({\n  metadata: UrlMetadataSchema,\n  stats: UrlAggregateStatsSchema.optional(),\n  // Caller-relative status, only populated for authenticated requests that\n  // ask for stats. Lets clients refresh a URL's save/connect state in place.\n  urlInLibrary: z.boolean().optional(),\n  urlIsConnected: z.boolean().optional(),\n});\nexport type GetUrlMetadataResponse = z.infer<\n  typeof GetUrlMetadataResponseSchema\n>;\n","import { z } from 'zod';\nimport { UrlCardSchema } from '../../entities/card';\nimport { CollectionSchema } from '../../entities/collection';\n\nexport const GetUrlStatusForMyLibraryParamsSchema = z.object({\n  url: z.string(),\n});\nexport type GetUrlStatusForMyLibraryParams = z.infer<\n  typeof GetUrlStatusForMyLibraryParamsSchema\n>;\n\nexport const GetUrlStatusForMyLibraryResponseSchema = z.object({\n  card: UrlCardSchema.optional(),\n  collections: z.array(CollectionSchema).optional(),\n});\nexport type GetUrlStatusForMyLibraryResponse = z.infer<\n  typeof GetUrlStatusForMyLibraryResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedCardSortedParamsSchema,\n  PaginationSchema,\n  CardSortingSchema,\n} from '../../entities/common';\nimport { UserSchema } from '../../entities/user';\nimport { UrlCardSchema } from '../../entities/card';\n\nexport const GetLibrariesForUrlParamsSchema =\n  PaginatedCardSortedParamsSchema.extend({\n    url: z.string(),\n  });\nexport type GetLibrariesForUrlParams = z.infer<\n  typeof GetLibrariesForUrlParamsSchema\n>;\n\nexport const GetLibrariesForUrlResponseSchema = z.object({\n  libraries: z.array(\n    z.object({\n      user: UserSchema,\n      card: UrlCardSchema,\n    }),\n  ),\n  pagination: PaginationSchema,\n  sorting: CardSortingSchema,\n});\nexport type GetLibrariesForUrlResponse = z.infer<\n  typeof GetLibrariesForUrlResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedCardSortedParamsSchema,\n  PaginationSchema,\n  CardSortingSchema,\n} from '../../entities/common';\nimport { UserSchema } from '../../entities/user';\n\nexport const GetNoteCardsForUrlParamsSchema =\n  PaginatedCardSortedParamsSchema.extend({\n    url: z.string(),\n  });\nexport type GetNoteCardsForUrlParams = z.infer<\n  typeof GetNoteCardsForUrlParamsSchema\n>;\n\nexport const GetNoteCardsForUrlResponseSchema = z.object({\n  notes: z.array(\n    z.object({\n      id: z.string(),\n      note: z.string(),\n      author: UserSchema,\n      createdAt: z.string(),\n      updatedAt: z.string(),\n    }),\n  ),\n  pagination: PaginationSchema,\n  sorting: CardSortingSchema,\n});\nexport type GetNoteCardsForUrlResponse = z.infer<\n  typeof GetNoteCardsForUrlResponseSchema\n>;\n","import { z } from 'zod';\nimport { CollectionAccessTypeSchema } from '../../entities/common';\n\nexport const CreateCollectionRequestSchema = z.object({\n  name: z.string(),\n  description: z.string().optional(),\n  accessType: CollectionAccessTypeSchema.optional(),\n});\nexport type CreateCollectionRequest = z.infer<\n  typeof CreateCollectionRequestSchema\n>;\n\nexport const CreateCollectionResponseSchema = z.object({\n  collectionId: z.string(),\n});\nexport type CreateCollectionResponse = z.infer<\n  typeof CreateCollectionResponseSchema\n>;\n","import { z } from 'zod';\nimport { CollectionAccessTypeSchema } from '../../entities/common';\n\nexport const UpdateCollectionRequestSchema = z.object({\n  collectionId: z.string(),\n  name: z.string(),\n  description: z.string().optional(),\n  accessType: CollectionAccessTypeSchema.optional(),\n});\nexport type UpdateCollectionRequest = z.infer<\n  typeof UpdateCollectionRequestSchema\n>;\n\nexport const UpdateCollectionResponseSchema = z.object({\n  collectionId: z.string(),\n});\nexport type UpdateCollectionResponse = z.infer<\n  typeof UpdateCollectionResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const DeleteCollectionRequestSchema = z.object({\n  collectionId: z.string(),\n});\nexport type DeleteCollectionRequest = z.infer<\n  typeof DeleteCollectionRequestSchema\n>;\n\nexport const DeleteCollectionResponseSchema = z.object({\n  collectionId: z.string(),\n});\nexport type DeleteCollectionResponse = z.infer<\n  typeof DeleteCollectionResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedCardSortedParamsSchema,\n  PaginationSchema,\n  CardSortingSchema,\n  UrlTypeSchema,\n} from '../../entities/common';\nimport { CollectionSchema } from '../../entities/collection';\nimport { UrlCardSchema } from '../../entities/card';\n\nexport const GetCollectionPageParamsSchema =\n  PaginatedCardSortedParamsSchema.extend({\n    urlType: UrlTypeSchema.optional(),\n  });\nexport type GetCollectionPageParams = z.infer<\n  typeof GetCollectionPageParamsSchema\n>;\n\nexport const GetCollectionPageResponseSchema = CollectionSchema.extend({\n  urlCards: z.array(UrlCardSchema),\n  pagination: PaginationSchema,\n  sorting: CardSortingSchema,\n});\nexport type GetCollectionPageResponse = z.infer<\n  typeof GetCollectionPageResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedCardSortedParamsSchema,\n  UrlTypeSchema,\n} from '../../entities/common';\n\nexport const GetCollectionPageByAtUriParamsSchema =\n  PaginatedCardSortedParamsSchema.extend({\n    handle: z.string(),\n    recordKey: z.string(),\n    urlType: UrlTypeSchema.optional(),\n  });\nexport type GetCollectionPageByAtUriParams = z.infer<\n  typeof GetCollectionPageByAtUriParamsSchema\n>;\n","import { z } from 'zod';\nimport { PaginatedCollectionSortedParamsSchema } from '../../entities/common';\n\nexport const GetMyCollectionsParamsSchema =\n  PaginatedCollectionSortedParamsSchema.extend({\n    searchText: z.string().optional(),\n  });\nexport type GetMyCollectionsParams = z.infer<\n  typeof GetMyCollectionsParamsSchema\n>;\n","import { z } from 'zod';\nimport { PaginatedCollectionSortedParamsSchema } from '../../entities/common';\n\nexport const GetCollectionsParamsSchema =\n  PaginatedCollectionSortedParamsSchema.extend({\n    identifier: z.string(),\n    searchText: z.string().optional(),\n  });\nexport type GetCollectionsParams = z.infer<typeof GetCollectionsParamsSchema>;\n","import { z } from 'zod';\nimport {\n  PaginationSchema,\n  CollectionSortingSchema,\n} from '../../entities/common';\nimport { CollectionSchema } from '../../entities/collection';\n\nexport const GetCollectionsResponseSchema = z.object({\n  collections: z.array(CollectionSchema),\n  pagination: PaginationSchema,\n  sorting: CollectionSortingSchema,\n});\nexport type GetCollectionsResponse = z.infer<\n  typeof GetCollectionsResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedCollectionSortedParamsSchema,\n  CollectionAccessTypeSchema,\n} from '../../entities/common';\n\nexport const SearchCollectionsParamsSchema =\n  PaginatedCollectionSortedParamsSchema.extend({\n    searchText: z.string().optional(),\n    identifier: z.string().optional(),\n    accessType: CollectionAccessTypeSchema.optional(),\n  });\nexport type SearchCollectionsParams = z.infer<\n  typeof SearchCollectionsParamsSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedCollectionSortedParamsSchema,\n  PaginationSchema,\n  CollectionSortingSchema,\n} from '../../entities/common';\nimport { CollectionSchema } from '../../entities/collection';\n\nexport const GetCollectionsForUrlParamsSchema =\n  PaginatedCollectionSortedParamsSchema.extend({\n    url: z.string(),\n  });\nexport type GetCollectionsForUrlParams = z.infer<\n  typeof GetCollectionsForUrlParamsSchema\n>;\n\nexport const GetCollectionsForUrlResponseSchema = z.object({\n  collections: z.array(CollectionSchema),\n  pagination: PaginationSchema,\n  sorting: CollectionSortingSchema,\n});\nexport type GetCollectionsForUrlResponse = z.infer<\n  typeof GetCollectionsForUrlResponseSchema\n>;\n","import { z } from 'zod';\nimport { PaginatedCollectionSortedParamsSchema } from '../../entities/common';\n\nexport const GetOpenCollectionsWithContributorParamsSchema =\n  PaginatedCollectionSortedParamsSchema.extend({\n    identifier: z.string(),\n  });\nexport type GetOpenCollectionsWithContributorParams = z.infer<\n  typeof GetOpenCollectionsWithContributorParamsSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  PaginationSchema,\n} from '../../entities/common';\nimport { UserSchema } from '../../entities/user';\n\nexport const GetCollectionFollowersParamsSchema = PaginationParamsSchema.extend(\n  {\n    collectionId: z.string(),\n  },\n);\nexport type GetCollectionFollowersParams = z.infer<\n  typeof GetCollectionFollowersParamsSchema\n>;\n\nexport const GetCollectionFollowersResponseSchema = z.object({\n  users: z.array(UserSchema),\n  pagination: PaginationSchema,\n});\nexport type GetCollectionFollowersResponse = z.infer<\n  typeof GetCollectionFollowersResponseSchema\n>;\n\nexport const GetCollectionFollowersCountParamsSchema = z.object({\n  collectionId: z.string(),\n});\nexport type GetCollectionFollowersCountParams = z.infer<\n  typeof GetCollectionFollowersCountParamsSchema\n>;\n\nexport const GetFollowCountResponseSchema = z.object({\n  count: z.number(),\n});\nexport type GetFollowCountResponse = z.infer<\n  typeof GetFollowCountResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  PaginationSchema,\n} from '../../entities/common';\nimport { ContributorUserSchema } from '../../entities/user';\n\nexport const GetCollectionContributorsParamsSchema =\n  PaginationParamsSchema.extend({\n    collectionId: z.string(),\n  });\nexport type GetCollectionContributorsParams = z.infer<\n  typeof GetCollectionContributorsParamsSchema\n>;\n\nexport const GetCollectionContributorsResponseSchema = z.object({\n  users: z.array(ContributorUserSchema),\n  pagination: PaginationSchema,\n});\nexport type GetCollectionContributorsResponse = z.infer<\n  typeof GetCollectionContributorsResponseSchema\n>;\n","import { z } from 'zod';\nimport { CollectionSchema } from '../../entities/collection';\n\nexport const GetRecommendedCollectionsForUrlParamsSchema = z.object({\n  url: z.string(),\n  limit: z.number().optional(),\n});\nexport type GetRecommendedCollectionsForUrlParams = z.infer<\n  typeof GetRecommendedCollectionsForUrlParamsSchema\n>;\n\n/**\n * Both sets are returned together so the recommendation runs a single\n * similarity search. `myCollections` are the caller's own; `openCollections`\n * are open collections from across the network, excluding the caller's.\n */\nexport const GetRecommendedCollectionsForUrlResponseSchema = z.object({\n  myCollections: z.array(CollectionSchema),\n  openCollections: z.array(CollectionSchema),\n});\nexport type GetRecommendedCollectionsForUrlResponse = z.infer<\n  typeof GetRecommendedCollectionsForUrlResponseSchema\n>;\n","import { z } from 'zod';\nimport { UserSchema } from '../../entities/user';\n\nexport const GetProfileParamsSchema = z.object({\n  identifier: z.string(),\n  includeStats: z.boolean().optional(),\n});\nexport type GetProfileParams = z.infer<typeof GetProfileParamsSchema>;\n\nexport const GetProfileResponseSchema = UserSchema.extend({\n  /**\n   * Only set on the my-profile endpoint: false when the server no longer\n   * holds an ATProto OAuth session for this user (PDS writes will fail and\n   * the user must re-authenticate via the OAuth flow).\n   */\n  atprotoSessionValid: z.boolean().optional(),\n});\nexport type GetProfileResponse = z.infer<typeof GetProfileResponseSchema>;\n","import { z } from 'zod';\n\nexport const LoginWithAppPasswordRequestSchema = z.object({\n  identifier: z.string(),\n  appPassword: z.string(),\n});\nexport type LoginWithAppPasswordRequest = z.infer<\n  typeof LoginWithAppPasswordRequestSchema\n>;\n\nexport const LoginWithAppPasswordResponseSchema = z.object({\n  accessToken: z.string(),\n  refreshToken: z.string(),\n});\nexport type LoginWithAppPasswordResponse = z.infer<\n  typeof LoginWithAppPasswordResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const InitiateOAuthSignInRequestSchema = z.object({\n  handle: z.string().optional(),\n  // App-relative path to return the user to after sign-in completes.\n  redirect: z.string().optional(),\n});\nexport type InitiateOAuthSignInRequest = z.infer<\n  typeof InitiateOAuthSignInRequestSchema\n>;\n\nexport const InitiateOAuthSignInResponseSchema = z.object({\n  authUrl: z.string(),\n});\nexport type InitiateOAuthSignInResponse = z.infer<\n  typeof InitiateOAuthSignInResponseSchema\n>;\n\nexport const CompleteOAuthSignInRequestSchema = z.object({\n  code: z.string(),\n  state: z.string(),\n  iss: z.string(),\n});\nexport type CompleteOAuthSignInRequest = z.infer<\n  typeof CompleteOAuthSignInRequestSchema\n>;\n\nexport const CompleteOAuthSignInResponseSchema = z.object({\n  accessToken: z.string(),\n  refreshToken: z.string(),\n});\nexport type CompleteOAuthSignInResponse = z.infer<\n  typeof CompleteOAuthSignInResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const RefreshAccessTokenRequestSchema = z.object({\n  refreshToken: z.string(),\n});\nexport type RefreshAccessTokenRequest = z.infer<\n  typeof RefreshAccessTokenRequestSchema\n>;\n\nexport const RefreshAccessTokenResponseSchema = z.object({\n  accessToken: z.string(),\n  refreshToken: z.string(),\n});\nexport type RefreshAccessTokenResponse = z.infer<\n  typeof RefreshAccessTokenResponseSchema\n>;\n\nexport const GenerateExtensionTokensRequestSchema = z.object({});\nexport type GenerateExtensionTokensRequest = z.infer<\n  typeof GenerateExtensionTokensRequestSchema\n>;\n\nexport const GenerateExtensionTokensResponseSchema = z.object({\n  accessToken: z.string(),\n  refreshToken: z.string(),\n});\nexport type GenerateExtensionTokensResponse = z.infer<\n  typeof GenerateExtensionTokensResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  PaginationSchema,\n} from '../../entities/common';\nimport { UserSchema } from '../../entities/user';\nimport { CollectionSchema } from '../../entities/collection';\n\nexport const FollowTargetRequestSchema = z.object({\n  targetId: z.string(),\n  targetType: z.enum(['USER', 'COLLECTION']),\n});\nexport type FollowTargetRequest = z.infer<typeof FollowTargetRequestSchema>;\n\nexport const UnfollowTargetRequestSchema = z.object({\n  targetId: z.string(),\n  targetType: z.enum(['USER', 'COLLECTION']),\n});\nexport type UnfollowTargetRequest = z.infer<typeof UnfollowTargetRequestSchema>;\n\nexport const FollowTargetResponseSchema = z.object({\n  followId: z.string(),\n});\nexport type FollowTargetResponse = z.infer<typeof FollowTargetResponseSchema>;\n\nexport const GetFollowingUsersParamsSchema = PaginationParamsSchema.extend({\n  identifier: z.string(),\n});\nexport type GetFollowingUsersParams = z.infer<\n  typeof GetFollowingUsersParamsSchema\n>;\n\nexport const GetFollowingUsersResponseSchema = z.object({\n  users: z.array(UserSchema),\n  pagination: PaginationSchema,\n});\nexport type GetFollowingUsersResponse = z.infer<\n  typeof GetFollowingUsersResponseSchema\n>;\n\nexport const GetFollowersParamsSchema = PaginationParamsSchema.extend({\n  identifier: z.string(),\n});\nexport type GetFollowersParams = z.infer<typeof GetFollowersParamsSchema>;\n\nexport const GetFollowersResponseSchema = z.object({\n  users: z.array(UserSchema),\n  pagination: PaginationSchema,\n});\nexport type GetFollowersResponse = z.infer<typeof GetFollowersResponseSchema>;\n\nexport const GetFollowingCollectionsParamsSchema =\n  PaginationParamsSchema.extend({\n    identifier: z.string(),\n  });\nexport type GetFollowingCollectionsParams = z.infer<\n  typeof GetFollowingCollectionsParamsSchema\n>;\n\nexport const GetFollowingCollectionsResponseSchema = z.object({\n  collections: z.array(CollectionSchema),\n  pagination: PaginationSchema,\n});\nexport type GetFollowingCollectionsResponse = z.infer<\n  typeof GetFollowingCollectionsResponseSchema\n>;\n\nexport const GetFollowingCountParamsSchema = z.object({\n  identifier: z.string(),\n});\nexport type GetFollowingCountParams = z.infer<\n  typeof GetFollowingCountParamsSchema\n>;\n\nexport const GetFollowersCountParamsSchema = z.object({\n  identifier: z.string(),\n});\nexport type GetFollowersCountParams = z.infer<\n  typeof GetFollowersCountParamsSchema\n>;\n\nexport const GetFollowingCollectionsCountParamsSchema = z.object({\n  identifier: z.string(),\n});\nexport type GetFollowingCollectionsCountParams = z.infer<\n  typeof GetFollowingCollectionsCountParamsSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  PaginationSchema,\n} from '../../entities/common';\nimport { UserSchema } from '../../entities/user';\n\nexport const GetBskyFollowedUsersParamsSchema = PaginationParamsSchema;\nexport type GetBskyFollowedUsersParams = z.infer<\n  typeof GetBskyFollowedUsersParamsSchema\n>;\n\nexport const GetBskyFollowedUsersResponseSchema = z.object({\n  users: z.array(UserSchema),\n  pagination: PaginationSchema,\n});\nexport type GetBskyFollowedUsersResponse = z.infer<\n  typeof GetBskyFollowedUsersResponseSchema\n>;\n\nexport const FollowManyUsersRequestSchema = z.object({\n  targetIds: z.array(z.string()).min(1).max(1000),\n});\nexport type FollowManyUsersRequest = z.infer<\n  typeof FollowManyUsersRequestSchema\n>;\n\nexport const FollowManyUsersResponseSchema = z.object({\n  followedCount: z.number(),\n  alreadyFollowingCount: z.number(),\n});\nexport type FollowManyUsersResponse = z.infer<\n  typeof FollowManyUsersResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  PaginationSchema,\n} from '../../entities/common';\nimport {\n  UserSchema,\n  SubscriptionScopeSchema,\n  type SubscriptionScope,\n} from '../../entities/user';\nimport { CollectionSchema } from '../../entities/collection';\n\nexport { SubscriptionScopeSchema };\nexport type { SubscriptionScope };\n\nexport const SubscribeToTargetRequestSchema = z.object({\n  targetId: z.string(),\n  targetType: z.enum(['USER', 'COLLECTION']),\n  scopes: z.array(SubscriptionScopeSchema).optional(),\n});\nexport type SubscribeToTargetRequest = z.infer<\n  typeof SubscribeToTargetRequestSchema\n>;\n\nexport const SubscribeToTargetResponseSchema = z.object({\n  followId: z.string(),\n  subscribedAt: z.string(),\n  scopes: z.array(SubscriptionScopeSchema),\n});\nexport type SubscribeToTargetResponse = z.infer<\n  typeof SubscribeToTargetResponseSchema\n>;\n\nexport const UnsubscribeFromTargetRequestSchema = z.object({\n  targetId: z.string(),\n  targetType: z.enum(['USER', 'COLLECTION']),\n});\nexport type UnsubscribeFromTargetRequest = z.infer<\n  typeof UnsubscribeFromTargetRequestSchema\n>;\n\nexport const UpdateSubscriptionRequestSchema = z.object({\n  targetId: z.string(),\n  targetType: z.enum(['USER', 'COLLECTION']),\n  scopes: z.array(SubscriptionScopeSchema).min(1),\n});\nexport type UpdateSubscriptionRequest = z.infer<\n  typeof UpdateSubscriptionRequestSchema\n>;\n\nexport const UpdateSubscriptionResponseSchema = z.object({\n  followId: z.string(),\n  subscribedAt: z.string(),\n  scopes: z.array(SubscriptionScopeSchema),\n});\nexport type UpdateSubscriptionResponse = z.infer<\n  typeof UpdateSubscriptionResponseSchema\n>;\n\nexport const GetMySubscriptionsParamsSchema = PaginationParamsSchema.extend({\n  targetType: z.enum(['USER', 'COLLECTION']).optional(),\n});\nexport type GetMySubscriptionsParams = z.infer<\n  typeof GetMySubscriptionsParamsSchema\n>;\n\nexport const SubscriptionItemSchema = z.discriminatedUnion('type', [\n  z.object({\n    type: z.literal('USER'),\n    user: UserSchema,\n    subscribedAt: z.string(),\n    scopes: z.array(SubscriptionScopeSchema),\n  }),\n  z.object({\n    type: z.literal('COLLECTION'),\n    collection: CollectionSchema,\n    subscribedAt: z.string(),\n    scopes: z.array(SubscriptionScopeSchema),\n  }),\n]);\nexport type SubscriptionItem = z.infer<typeof SubscriptionItemSchema>;\n\nexport const GetMySubscriptionsResponseSchema = z.object({\n  items: z.array(SubscriptionItemSchema),\n  pagination: PaginationSchema,\n});\nexport type GetMySubscriptionsResponse = z.infer<\n  typeof GetMySubscriptionsResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const ApiKeySchema = z.object({\n  id: z.string(),\n  name: z.string(),\n  prefix: z.string(),\n  createdAt: z.coerce.date(),\n  lastUsedAt: z.coerce.date().nullable(),\n  expiresAt: z.coerce.date().nullable(),\n});\nexport type ApiKey = z.infer<typeof ApiKeySchema>;\n\nexport const NewApiKeySchema = ApiKeySchema.extend({\n  token: z.string(),\n});\nexport type NewApiKey = z.infer<typeof NewApiKeySchema>;\n\nexport const ListApiKeysResponseSchema = z.object({\n  keys: z.array(ApiKeySchema),\n});\nexport type ListApiKeysResponse = z.infer<typeof ListApiKeysResponseSchema>;\n\nexport const CreateApiKeyRequestSchema = z.object({\n  name: z.string().min(1).max(100),\n});\nexport type CreateApiKeyRequest = z.infer<typeof CreateApiKeyRequestSchema>;\n\nexport const CreateApiKeyResponseSchema = NewApiKeySchema;\nexport type CreateApiKeyResponse = z.infer<typeof CreateApiKeyResponseSchema>;\n\nexport const UpdateApiKeyRequestSchema = z.object({\n  id: z.string(),\n  name: z.string().min(1).max(100),\n});\nexport type UpdateApiKeyRequest = z.infer<typeof UpdateApiKeyRequestSchema>;\n\nexport const UpdateApiKeyResponseSchema = ApiKeySchema;\nexport type UpdateApiKeyResponse = z.infer<typeof UpdateApiKeyResponseSchema>;\n\nexport const RevokeApiKeyRequestSchema = z.object({\n  id: z.string(),\n});\nexport type RevokeApiKeyRequest = z.infer<typeof RevokeApiKeyRequestSchema>;\n\nexport const RevokeApiKeyResponseSchema = z.object({\n  success: z.boolean(),\n});\nexport type RevokeApiKeyResponse = z.infer<typeof RevokeApiKeyResponseSchema>;\n","import { z } from 'zod';\n\n// SKIPPED means dismissed rather than finished: terminal like COMPLETED, but\n// distinguishable.\nexport const OnboardingStatusSchema = z.enum([\n  'NOT_STARTED',\n  'IN_PROGRESS',\n  'COMPLETED',\n  'SKIPPED',\n]);\nexport type OnboardingStatus = z.infer<typeof OnboardingStatusSchema>;\n\nexport const OnboardingStateSchema = z.object({\n  userId: z.string(),\n  onboardingState: OnboardingStatusSchema.nullable().optional(),\n  topicsSelected: z.array(z.string()).nullable().optional(),\n  linksSuggested: z.array(z.string()).nullable().optional(),\n  linksSelected: z.array(z.string()).nullable().optional(),\n  suggestedAccounts: z.array(z.string()).nullable().optional(),\n  suggestedCollections: z.array(z.string()).nullable().optional(),\n  followedAccounts: z.array(z.string()).nullable().optional(),\n  followedCollections: z.array(z.string()).nullable().optional(),\n  firstCards: z.array(z.string()).nullable().optional(),\n  firstCollection: z.string().nullable().optional(),\n  firstConnection: z.string().nullable().optional(),\n  pwaClicked: z.coerce.date().nullable().optional(),\n  iosShortcutClicked: z.coerce.date().nullable().optional(),\n  browserExtensionClicked: z.coerce.date().nullable().optional(),\n  mcpClicked: z.coerce.date().nullable().optional(),\n  saveModalGuideCompleted: z.coerce.date().nullable().optional(),\n  connectionCreationModalCompleted: z.coerce.date().nullable().optional(),\n  semblePageNavigationCompleted: z.coerce.date().nullable().optional(),\n  intention: z.array(z.string()).nullable().optional(),\n  referralSource: z.array(z.string()).nullable().optional(),\n  updatedAt: z.coerce.date(),\n});\nexport type OnboardingState = z.infer<typeof OnboardingStateSchema>;\n\nexport const GetOnboardingStateResponseSchema = OnboardingStateSchema;\nexport type GetOnboardingStateResponse = z.infer<\n  typeof GetOnboardingStateResponseSchema\n>;\n\n// Fields present in the body are written — an explicit null clears the column —\n// and absent fields are left untouched. userId and updatedAt are server-owned,\n// so neither is accepted here.\nexport const UpdateOnboardingStateRequestSchema = z.object({\n  onboardingState: OnboardingStatusSchema.nullable().optional(),\n  topicsSelected: z.array(z.string()).nullable().optional(),\n  linksSuggested: z.array(z.string()).nullable().optional(),\n  linksSelected: z.array(z.string()).nullable().optional(),\n  suggestedAccounts: z.array(z.string()).nullable().optional(),\n  suggestedCollections: z.array(z.string()).nullable().optional(),\n  followedAccounts: z.array(z.string()).nullable().optional(),\n  followedCollections: z.array(z.string()).nullable().optional(),\n  firstCards: z.array(z.string()).nullable().optional(),\n  firstCollection: z.string().nullable().optional(),\n  firstConnection: z.string().nullable().optional(),\n  pwaClicked: z.coerce.date().nullable().optional(),\n  iosShortcutClicked: z.coerce.date().nullable().optional(),\n  browserExtensionClicked: z.coerce.date().nullable().optional(),\n  mcpClicked: z.coerce.date().nullable().optional(),\n  saveModalGuideCompleted: z.coerce.date().nullable().optional(),\n  connectionCreationModalCompleted: z.coerce.date().nullable().optional(),\n  semblePageNavigationCompleted: z.coerce.date().nullable().optional(),\n  intention: z.array(z.string()).nullable().optional(),\n  referralSource: z.array(z.string()).nullable().optional(),\n});\nexport type UpdateOnboardingStateRequest = z.infer<\n  typeof UpdateOnboardingStateRequestSchema\n>;\n\nexport const UpdateOnboardingStateResponseSchema = OnboardingStateSchema;\nexport type UpdateOnboardingStateResponse = z.infer<\n  typeof UpdateOnboardingStateResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  FeedPaginationSchema,\n  UrlTypeSchema,\n  ActivitySourceSchema,\n} from '../../entities/common';\nimport { FeedItemSchema } from '../../entities/feed';\n\nexport const GetGlobalFeedParamsSchema = PaginationParamsSchema.extend({\n  beforeActivityId: z.string().optional(),\n  urlType: UrlTypeSchema.optional(),\n  source: ActivitySourceSchema.optional(),\n  activityTypes: z.array(z.string()).optional(),\n  actorIds: z.array(z.string()).optional(),\n  includeKnownBots: z.boolean().optional(),\n});\nexport type GetGlobalFeedParams = z.infer<typeof GetGlobalFeedParamsSchema>;\n\nexport const GetGlobalFeedResponseSchema = z.object({\n  activities: z.array(FeedItemSchema),\n  pagination: FeedPaginationSchema,\n});\nexport type GetGlobalFeedResponse = z.infer<typeof GetGlobalFeedResponseSchema>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  UrlTypeSchema,\n  ActivitySourceSchema,\n} from '../../entities/common';\n\nexport const GetGemActivityFeedParamsSchema = PaginationParamsSchema.extend({\n  urlType: UrlTypeSchema.optional(),\n  source: ActivitySourceSchema.optional(),\n  activityTypes: z.array(z.string()).optional(),\n  includeKnownBots: z.boolean().optional(),\n});\nexport type GetGemActivityFeedParams = z.infer<\n  typeof GetGemActivityFeedParamsSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  UrlTypeSchema,\n  ActivitySourceSchema,\n} from '../../entities/common';\n\nexport const GetFollowingFeedParamsSchema = PaginationParamsSchema.extend({\n  beforeActivityId: z.string().optional(),\n  urlType: UrlTypeSchema.optional(),\n  source: ActivitySourceSchema.optional(),\n  activityTypes: z.array(z.string()).optional(),\n  includeKnownBots: z.boolean().optional(),\n});\nexport type GetFollowingFeedParams = z.infer<\n  typeof GetFollowingFeedParamsSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  UrlTypeSchema,\n  ActivitySourceSchema,\n} from '../../entities/common';\n\nexport const GetBskyFollowingFeedParamsSchema = PaginationParamsSchema.extend({\n  // DID or handle whose Bluesky follows define the feed. Defaults to the\n  // authenticated user; required when unauthenticated.\n  identifier: z.string().optional(),\n  beforeActivityId: z.string().optional(),\n  urlType: UrlTypeSchema.optional(),\n  source: ActivitySourceSchema.optional(),\n  activityTypes: z.array(z.string()).optional(),\n  includeKnownBots: z.boolean().optional(),\n});\nexport type GetBskyFollowingFeedParams = z.infer<\n  typeof GetBskyFollowingFeedParamsSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedSortedParamsSchema,\n  PaginationSchema,\n} from '../../entities/common';\nimport { NotificationItemSchema } from '../../entities/notification';\n\nexport const GetMyNotificationsParamsSchema =\n  PaginatedSortedParamsSchema.extend({\n    unreadOnly: z.boolean().optional(),\n  });\nexport type GetMyNotificationsParams = z.infer<\n  typeof GetMyNotificationsParamsSchema\n>;\n\nexport const GetMyNotificationsResponseSchema = z.object({\n  notifications: z.array(NotificationItemSchema),\n  pagination: PaginationSchema,\n  unreadCount: z.number(),\n});\nexport type GetMyNotificationsResponse = z.infer<\n  typeof GetMyNotificationsResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const GetUnreadNotificationCountResponseSchema = z.object({\n  unreadCount: z.number(),\n});\nexport type GetUnreadNotificationCountResponse = z.infer<\n  typeof GetUnreadNotificationCountResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const MarkNotificationsAsReadRequestSchema = z.object({\n  notificationIds: z.array(z.string()),\n});\nexport type MarkNotificationsAsReadRequest = z.infer<\n  typeof MarkNotificationsAsReadRequestSchema\n>;\n\nexport const MarkNotificationsAsReadResponseSchema = z.object({\n  markedCount: z.number(),\n});\nexport type MarkNotificationsAsReadResponse = z.infer<\n  typeof MarkNotificationsAsReadResponseSchema\n>;\n\nexport const MarkAllNotificationsAsReadResponseSchema = z.object({\n  markedCount: z.number(),\n});\nexport type MarkAllNotificationsAsReadResponse = z.infer<\n  typeof MarkAllNotificationsAsReadResponseSchema\n>;\n","import { z } from 'zod';\nimport { ConnectionTypeSchema } from '../../entities/connection';\n\nexport const CreateConnectionRequestSchema = z.object({\n  sourceType: z.enum(['URL', 'CARD']),\n  sourceValue: z.string(),\n  targetType: z.enum(['URL', 'CARD']),\n  targetValue: z.string(),\n  connectionType: ConnectionTypeSchema.optional(),\n  note: z.string().optional(),\n});\nexport type CreateConnectionRequest = z.infer<\n  typeof CreateConnectionRequestSchema\n>;\n\nexport const CreateConnectionResponseSchema = z.object({\n  connectionId: z.string(),\n});\nexport type CreateConnectionResponse = z.infer<\n  typeof CreateConnectionResponseSchema\n>;\n","import { z } from 'zod';\nimport { ConnectionTypeSchema } from '../../entities/connection';\n\nexport const UpdateConnectionRequestSchema = z.object({\n  connectionId: z.string(),\n  connectionType: ConnectionTypeSchema.optional(),\n  note: z.string().optional(),\n  removeNote: z.boolean().optional(),\n  swap: z.boolean().optional(),\n});\nexport type UpdateConnectionRequest = z.infer<\n  typeof UpdateConnectionRequestSchema\n>;\n\nexport const UpdateConnectionResponseSchema = z.object({\n  connectionId: z.string(),\n});\nexport type UpdateConnectionResponse = z.infer<\n  typeof UpdateConnectionResponseSchema\n>;\n","import { z } from 'zod';\n\nexport const DeleteConnectionRequestSchema = z.object({\n  connectionId: z.string(),\n});\nexport type DeleteConnectionRequest = z.infer<\n  typeof DeleteConnectionRequestSchema\n>;\n\nexport const DeleteConnectionResponseSchema = z.object({\n  connectionId: z.string(),\n});\nexport type DeleteConnectionResponse = z.infer<\n  typeof DeleteConnectionResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedConnectionSortedParamsSchema,\n  PaginationSchema,\n  ConnectionSortingSchema,\n} from '../../entities/common';\nimport {\n  ConnectionTypeSchema,\n  ConnectionWithSourceAndTargetSchema,\n} from '../../entities/connection';\n\nexport const GetConnectionsForUrlParamsSchema =\n  PaginatedConnectionSortedParamsSchema.extend({\n    url: z.string(),\n    direction: z.enum(['forward', 'backward', 'both']).optional(),\n    connectionTypes: z.array(ConnectionTypeSchema).optional(),\n  });\nexport type GetConnectionsForUrlParams = z.infer<\n  typeof GetConnectionsForUrlParamsSchema\n>;\n\nexport const GetConnectionsForUrlResponseSchema = z.object({\n  connections: z.array(ConnectionWithSourceAndTargetSchema),\n  pagination: PaginationSchema,\n  sorting: ConnectionSortingSchema,\n});\nexport type GetConnectionsForUrlResponse = z.infer<\n  typeof GetConnectionsForUrlResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedConnectionSortedParamsSchema,\n  PaginationSchema,\n  ConnectionSortingSchema,\n} from '../../entities/common';\nimport {\n  ConnectionTypeSchema,\n  ConnectionWithSourceAndTargetSchema,\n} from '../../entities/connection';\n\nexport const GetConnectionsParamsSchema =\n  PaginatedConnectionSortedParamsSchema.extend({\n    identifier: z.string(),\n    connectionTypes: z.array(ConnectionTypeSchema).optional(),\n  });\nexport type GetConnectionsParams = z.infer<typeof GetConnectionsParamsSchema>;\n\nexport const GetConnectionsResponseSchema = z.object({\n  connections: z.array(ConnectionWithSourceAndTargetSchema),\n  pagination: PaginationSchema,\n  sorting: ConnectionSortingSchema,\n});\nexport type GetConnectionsResponse = z.infer<\n  typeof GetConnectionsResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedSortedParamsSchema,\n  PaginationSchema,\n} from '../../entities/common';\nimport { UrlViewSchema } from '../../entities/connection';\n\nexport const GetSimilarUrlsForUrlParamsSchema =\n  PaginatedSortedParamsSchema.extend({\n    url: z.string(),\n    threshold: z.number().optional(),\n    urlType: z.string().optional(),\n  });\nexport type GetSimilarUrlsForUrlParams = z.infer<\n  typeof GetSimilarUrlsForUrlParamsSchema\n>;\n\nexport const GetSimilarUrlsForUrlResponseSchema = z.object({\n  urls: z.array(UrlViewSchema),\n  pagination: PaginationSchema,\n});\nexport type GetSimilarUrlsForUrlResponse = z.infer<\n  typeof GetSimilarUrlsForUrlResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedSortedParamsSchema,\n  PaginationSchema,\n} from '../../entities/common';\nimport { UrlViewSchema } from '../../entities/connection';\n\nexport const SemanticSearchUrlsParamsSchema =\n  PaginatedSortedParamsSchema.extend({\n    query: z.string(),\n    threshold: z.number().optional(),\n    urlType: z.string().optional(),\n    identifier: z.string().optional(),\n  });\nexport type SemanticSearchUrlsParams = z.infer<\n  typeof SemanticSearchUrlsParamsSchema\n>;\n\nexport const SemanticSearchUrlsResponseSchema = z.object({\n  urls: z.array(UrlViewSchema),\n  pagination: PaginationSchema,\n});\nexport type SemanticSearchUrlsResponse = z.infer<\n  typeof SemanticSearchUrlsResponseSchema\n>;\n","import { z } from 'zod';\nimport { PostViewSchema } from '../../entities/search';\n\nexport const SearchBskyPostsForUrlParamsSchema = z.object({\n  q: z.string(),\n  sort: z.string().optional(),\n  since: z.string().optional(),\n  until: z.string().optional(),\n  mentions: z.string().optional(),\n  author: z.string().optional(),\n  lang: z.string().optional(),\n  domain: z.string().optional(),\n  url: z.string().optional(),\n  tag: z.array(z.string()).optional(),\n  limit: z.number().optional(),\n  cursor: z.string().optional(),\n});\nexport type SearchBskyPostsForUrlParams = z.infer<\n  typeof SearchBskyPostsForUrlParamsSchema\n>;\n\nexport const SearchBskyPostsForUrlResponseSchema = z.object({\n  cursor: z.string().optional(),\n  hitsTotal: z.number().optional(),\n  posts: z.array(PostViewSchema),\n});\nexport type SearchBskyPostsForUrlResponse = z.infer<\n  typeof SearchBskyPostsForUrlResponseSchema\n>;\n","import { z } from 'zod';\nimport { ProfileViewSchema } from '../../entities/search';\n\nexport const SearchAtProtoAccountsParamsSchema = z.object({\n  term: z.string().optional(),\n  q: z.string().optional(),\n  limit: z.number().optional(),\n  cursor: z.string().optional(),\n});\nexport type SearchAtProtoAccountsParams = z.infer<\n  typeof SearchAtProtoAccountsParamsSchema\n>;\n\nexport const SearchAtProtoAccountsResponseSchema = z.object({\n  cursor: z.string().optional(),\n  actors: z.array(ProfileViewSchema),\n});\nexport type SearchAtProtoAccountsResponse = z.infer<\n  typeof SearchAtProtoAccountsResponseSchema\n>;\n","import { z } from 'zod';\nimport { UrlViewSchema } from '../../entities/connection';\n\nexport const SearchLeafletDocsForUrlParamsSchema = z.object({\n  url: z.string(),\n  limit: z.number().optional(),\n  cursor: z.string().optional(),\n});\nexport type SearchLeafletDocsForUrlParams = z.infer<\n  typeof SearchLeafletDocsForUrlParamsSchema\n>;\n\nexport const SearchLeafletDocsForUrlResponseSchema = z.object({\n  urls: z.array(UrlViewSchema),\n  cursor: z.string().optional(),\n  total: z.number(),\n});\nexport type SearchLeafletDocsForUrlResponse = z.infer<\n  typeof SearchLeafletDocsForUrlResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginatedCardSortedParamsSchema,\n  PaginationSchema,\n  CardSortingSchema,\n  UrlTypeSchema,\n} from '../../entities/common';\nimport { UrlViewSchema } from '../../entities/connection';\n\nexport const SearchUrlsParamsSchema = PaginatedCardSortedParamsSchema.extend({\n  searchQuery: z.string(),\n  urlType: UrlTypeSchema.optional(),\n});\nexport type SearchUrlsParams = z.infer<typeof SearchUrlsParamsSchema>;\n\nexport const SearchUrlsResponseSchema = z.object({\n  urls: z.array(UrlViewSchema),\n  pagination: PaginationSchema,\n  sorting: CardSortingSchema,\n});\nexport type SearchUrlsResponse = z.infer<typeof SearchUrlsResponseSchema>;\n","import { z } from 'zod';\nimport { UrlViewSchema } from '../../entities/connection';\nimport { UserSchema } from '../../entities/user';\nimport { CollectionSchema } from '../../entities/collection';\nimport { PaginationSchema, UrlTypeSchema } from '../../entities/common';\n\nexport const RecommendedUrlsParamsSchema = z.object({\n  queries: z.array(z.string()).optional(),\n  page: z.number().optional(),\n  limit: z.number().optional(),\n  // Ranking weight overrides. Omitted values fall back to the server defaults.\n  // Distinct weights produce a distinct cached ranked set.\n  urlCardWeight: z.number().optional(),\n  noteWeight: z.number().optional(),\n  collectionWeight: z.number().optional(),\n  connectionWeight: z.number().optional(),\n  randomness: z.number().optional(),\n  // Restricts recommendations to URLs of this type. Changing it re-queries the\n  // vector database instead of reusing the cached ranked set.\n  urlType: UrlTypeSchema.optional(),\n});\nexport type RecommendedUrlsParams = z.infer<typeof RecommendedUrlsParamsSchema>;\n\nexport const RecommendedUrlsResponseSchema = z.object({\n  urls: z.array(UrlViewSchema),\n  // The query strings actually used for the recommendation. When called with\n  // no queries the server derives them; pass these back on subsequent pages so\n  // pagination reads from the same cached ranked set.\n  queries: z.array(z.string()),\n  pagination: PaginationSchema,\n});\nexport type RecommendedUrlsResponse = z.infer<\n  typeof RecommendedUrlsResponseSchema\n>;\n\nexport const RecommendedUserSchema = UserSchema.extend({\n  followsOnBsky: z.boolean(),\n});\nexport type RecommendedUser = z.infer<typeof RecommendedUserSchema>;\n\nexport const RecommendedUsersParamsSchema = z.object({\n  urls: z.array(z.string()),\n});\nexport type RecommendedUsersParams = z.infer<\n  typeof RecommendedUsersParamsSchema\n>;\n\nexport const RecommendedUsersResponseSchema = z.object({\n  users: z.array(RecommendedUserSchema),\n  bskyFollowedSembleUserCount: z.number(),\n});\nexport type RecommendedUsersResponse = z.infer<\n  typeof RecommendedUsersResponseSchema\n>;\n\nexport const RecommendedCollectionSchema = CollectionSchema.extend({\n  authorFollowedOnBsky: z.boolean(),\n});\nexport type RecommendedCollection = z.infer<typeof RecommendedCollectionSchema>;\n\nexport const RecommendedCollectionsParamsSchema = z.object({\n  // Required when authenticated. Unauthenticated callers may omit this, in\n  // which case seed URLs are drawn from random recent global feed cards.\n  urls: z.array(z.string()).optional(),\n});\nexport type RecommendedCollectionsParams = z.infer<\n  typeof RecommendedCollectionsParamsSchema\n>;\n\nexport const RecommendedCollectionsResponseSchema = z.object({\n  collections: z.array(RecommendedCollectionSchema),\n});\nexport type RecommendedCollectionsResponse = z.infer<\n  typeof RecommendedCollectionsResponseSchema\n>;\n","import { z } from 'zod';\nimport {\n  PaginationParamsSchema,\n  PaginationSchema,\n} from '../../entities/common';\nimport { GraphNodeSchema, GraphEdgeSchema } from '../../entities/graph';\n\nexport const GetGraphDataParamsSchema = PaginationParamsSchema;\nexport type GetGraphDataParams = z.infer<typeof GetGraphDataParamsSchema>;\n\nexport const GetGraphDataResponseSchema = z.object({\n  nodes: z.array(GraphNodeSchema),\n  edges: z.array(GraphEdgeSchema),\n  pagination: PaginationSchema,\n});\nexport type GetGraphDataResponse = z.infer<typeof GetGraphDataResponseSchema>;\n","import { z } from 'zod';\nimport { GetGraphDataParamsSchema } from './getData';\n\nexport const GetUserGraphDataParamsSchema = GetGraphDataParamsSchema.extend({\n  identifier: z.string(),\n});\nexport type GetUserGraphDataParams = z.infer<\n  typeof GetUserGraphDataParamsSchema\n>;\n","import { z } from 'zod';\n\nexport const GetUrlGraphDataParamsSchema = z.object({\n  url: z.string(),\n  depth: z.number().optional(),\n});\nexport type GetUrlGraphDataParams = z.infer<typeof GetUrlGraphDataParamsSchema>;\n","export type QueryParamValue =\n  | string\n  | string[]\n  | number\n  | boolean\n  | undefined\n  | null;\n\nexport interface RouteDefinition<Path extends string> {\n  readonly path: Path;\n  readonly method: 'GET' | 'POST';\n  readonly requiresAuth: boolean;\n  url(queryParams?: Record<string, QueryParamValue>): string;\n}\n\nfunction defineRoute<Path extends string>(\n  path: Path,\n  method: RouteDefinition<Path>['method'],\n  requiresAuth: boolean,\n): RouteDefinition<Path> {\n  return {\n    path,\n    method,\n    requiresAuth,\n    url(queryParams?: Record<string, QueryParamValue>): string {\n      if (!queryParams) return path;\n      const params = new URLSearchParams();\n      for (const [k, v] of Object.entries(queryParams)) {\n        if (v === undefined || v === null) continue;\n        if (Array.isArray(v)) {\n          v.forEach((item) => params.append(k, item));\n        } else {\n          params.append(k, String(v));\n        }\n      }\n      const qs = params.toString();\n      return qs ? `${path}?${qs}` : path;\n    },\n  };\n}\n\nexport const paths = {\n  // cards\n  addUrlToLibrary: '/network.cosmik.card.addUrl',\n  addCardToLibrary: '/network.cosmik.card.addToLibrary',\n  addCardToCollection: '/network.cosmik.card.addToCollection',\n  urlCardAssociations: '/network.cosmik.card.updateUrlAssociations',\n  myUrlCards: '/network.cosmik.card.listMine',\n  urlMetadata: '/network.cosmik.card.getUrlMetadata',\n  urlLibraryStatus: '/network.cosmik.card.getLibraryStatus',\n  librariesForUrl: '/network.cosmik.card.getLibrariesForUrl',\n  noteCardsForUrl: '/network.cosmik.card.getNoteCardsForUrl',\n  searchCards: '/network.cosmik.card.search',\n  cardById: '/network.cosmik.card.get',\n  cardLibraries: '/network.cosmik.card.getLibraries',\n  cardNote: '/network.cosmik.card.updateNote',\n  removeFromLibrary: '/network.cosmik.card.removeFromLibrary',\n  removeFromCollections: '/network.cosmik.card.removeFromCollections',\n  cardsByUser: '/network.cosmik.card.listByUser',\n  // collections\n  myCollections: '/network.cosmik.collection.listMine',\n  createCollection: '/network.cosmik.collection.create',\n  collectionsForUrl: '/network.cosmik.collection.getForUrl',\n  searchCollections: '/network.cosmik.collection.search',\n  collectionById: '/network.cosmik.collection.get',\n  updateCollection: '/network.cosmik.collection.update',\n  deleteCollection: '/network.cosmik.collection.delete',\n  collectionsByUser: '/network.cosmik.collection.listByUser',\n  collectionByAtUri: '/network.cosmik.collection.getByAtUri',\n  openWithContributor: '/network.cosmik.collection.listContributed',\n  collectionFollowers: '/network.cosmik.collection.getFollowers',\n  collectionFollowersCount: '/network.cosmik.collection.getFollowerCount',\n  collectionContributors: '/network.cosmik.collection.getContributors',\n  recommendedCollectionsForUrl:\n    '/network.cosmik.collection.getRecommendedForUrl',\n  // users / actor\n  myProfile: '/network.cosmik.actor.getMyProfile',\n  userProfile: '/network.cosmik.actor.getProfile',\n  getOnboardingState: '/network.cosmik.actor.getOnboardingState',\n  updateOnboardingState: '/network.cosmik.actor.updateOnboardingState',\n  initiateOAuth: '/network.cosmik.server.initiateOAuth',\n  oauthCallback: '/network.cosmik.server.oauthCallback',\n  loginWithAppPassword: '/network.cosmik.server.createSession',\n  refreshToken: '/network.cosmik.server.refreshSession',\n  logout: '/network.cosmik.server.deleteSession',\n  extensionTokens: '/network.cosmik.server.getExtensionTokens',\n  followTarget: '/network.cosmik.graph.follow',\n  unfollowTarget: '/network.cosmik.graph.unfollow',\n  followingUsers: '/network.cosmik.graph.getFollowing',\n  bskyFollowedUsers: '/network.cosmik.graph.getBskyFollowedUsers',\n  followMany: '/network.cosmik.graph.followMany',\n  userFollowers: '/network.cosmik.graph.getFollowers',\n  followingCollections: '/network.cosmik.graph.getFollowingCollections',\n  followingCount: '/network.cosmik.graph.getFollowingCount',\n  userFollowersCount: '/network.cosmik.graph.getFollowersCount',\n  followingCollectionsCount:\n    '/network.cosmik.graph.getFollowingCollectionsCount',\n  // api keys\n  listApiKeys: '/network.cosmik.apiKey.list',\n  createApiKey: '/network.cosmik.apiKey.create',\n  updateApiKey: '/network.cosmik.apiKey.update',\n  revokeApiKey: '/network.cosmik.apiKey.revoke',\n  // feeds\n  globalFeed: '/network.cosmik.feed.getGlobal',\n  gemFeed: '/network.cosmik.feed.getGem',\n  followingFeed: '/network.cosmik.feed.getFollowing',\n  bskyFollowingFeed: '/network.cosmik.feed.getBskyFollowing',\n  // notifications\n  myNotifications: '/network.cosmik.notification.list',\n  unreadCount: '/network.cosmik.notification.getUnreadCount',\n  markRead: '/network.cosmik.notification.markRead',\n  markAllRead: '/network.cosmik.notification.markAllRead',\n  // connections\n  connectionsForUrl: '/network.cosmik.connection.getForUrl',\n  createConnection: '/network.cosmik.connection.create',\n  connectionsByUser: '/network.cosmik.connection.listByUser',\n  updateConnection: '/network.cosmik.connection.update',\n  deleteConnection: '/network.cosmik.connection.delete',\n  // search\n  similarUrls: '/network.cosmik.search.getSimilarUrls',\n  semantic: '/network.cosmik.search.semantic',\n  bskyPosts: '/network.cosmik.search.getBskyPosts',\n  atProtoAccounts: '/network.cosmik.search.getAccounts',\n  leafletDocs: '/network.cosmik.search.getLeafletDocs',\n  recommended: '/network.cosmik.search.getRecommended',\n  recommendedUsers: '/network.cosmik.search.getRecommendedUsers',\n  recommendedCollections: '/network.cosmik.search.getRecommendedCollections',\n  // graph (graphView namespace to avoid collision with social graph)\n  graphData: '/network.cosmik.graphView.getData',\n  userGraphData: '/network.cosmik.graphView.getUserData',\n  urlGraphData: '/network.cosmik.graphView.getUrlData',\n  // subscriptions\n  subscribeToTarget: '/network.cosmik.graph.subscribe',\n  unsubscribeFromTarget: '/network.cosmik.graph.unsubscribe',\n  updateSubscription: '/network.cosmik.graph.updateSubscription',\n  getMySubscriptions: '/network.cosmik.graph.getSubscriptions',\n} as const;\n\nexport const routes = {\n  cards: {\n    addUrlToLibrary: defineRoute(paths.addUrlToLibrary, 'POST', true),\n    addCardToLibrary: defineRoute(paths.addCardToLibrary, 'POST', true),\n    addCardToCollection: defineRoute(paths.addCardToCollection, 'POST', true),\n    urlCardAssociations: defineRoute(paths.urlCardAssociations, 'POST', true),\n    myUrlCards: defineRoute(paths.myUrlCards, 'GET', true),\n    urlMetadata: defineRoute(paths.urlMetadata, 'GET', false),\n    urlLibraryStatus: defineRoute(paths.urlLibraryStatus, 'GET', true),\n    librariesForUrl: defineRoute(paths.librariesForUrl, 'GET', false),\n    noteCardsForUrl: defineRoute(paths.noteCardsForUrl, 'GET', false),\n    searchCards: defineRoute(paths.searchCards, 'GET', false),\n    cardById: defineRoute(paths.cardById, 'GET', false),\n    cardLibraries: defineRoute(paths.cardLibraries, 'GET', false),\n    cardNote: defineRoute(paths.cardNote, 'POST', true),\n    removeFromLibrary: defineRoute(paths.removeFromLibrary, 'POST', true),\n    removeFromCollections: defineRoute(\n      paths.removeFromCollections,\n      'POST',\n      true,\n    ),\n    cardsByUser: defineRoute(paths.cardsByUser, 'GET', false),\n  },\n  collections: {\n    myCollections: defineRoute(paths.myCollections, 'GET', true),\n    createCollection: defineRoute(paths.createCollection, 'POST', true),\n    collectionsForUrl: defineRoute(paths.collectionsForUrl, 'GET', false),\n    searchCollections: defineRoute(paths.searchCollections, 'GET', false),\n    collectionById: defineRoute(paths.collectionById, 'GET', false),\n    updateCollection: defineRoute(paths.updateCollection, 'POST', true),\n    deleteCollection: defineRoute(paths.deleteCollection, 'POST', true),\n    collectionsByUser: defineRoute(paths.collectionsByUser, 'GET', false),\n    collectionByAtUri: defineRoute(paths.collectionByAtUri, 'GET', false),\n    openWithContributor: defineRoute(paths.openWithContributor, 'GET', false),\n    followers: defineRoute(paths.collectionFollowers, 'GET', false),\n    followersCount: defineRoute(paths.collectionFollowersCount, 'GET', false),\n    contributors: defineRoute(paths.collectionContributors, 'GET', false),\n    recommendedForUrl: defineRoute(\n      paths.recommendedCollectionsForUrl,\n      'GET',\n      true,\n    ),\n  },\n  users: {\n    myProfile: defineRoute(paths.myProfile, 'GET', true),\n    userProfile: defineRoute(paths.userProfile, 'GET', false),\n    initiateOAuth: defineRoute(paths.initiateOAuth, 'GET', false),\n    oauthCallback: defineRoute(paths.oauthCallback, 'GET', false),\n    loginWithAppPassword: defineRoute(\n      paths.loginWithAppPassword,\n      'POST',\n      false,\n    ),\n    refreshToken: defineRoute(paths.refreshToken, 'POST', false),\n    logout: defineRoute(paths.logout, 'POST', true),\n    extensionTokens: defineRoute(paths.extensionTokens, 'GET', true),\n    getOnboardingState: defineRoute(paths.getOnboardingState, 'GET', true),\n    updateOnboardingState: defineRoute(\n      paths.updateOnboardingState,\n      'POST',\n      true,\n    ),\n  },\n  apiKeys: {\n    listApiKeys: defineRoute(paths.listApiKeys, 'GET', true),\n    createApiKey: defineRoute(paths.createApiKey, 'POST', true),\n    updateApiKey: defineRoute(paths.updateApiKey, 'POST', true),\n    revokeApiKey: defineRoute(paths.revokeApiKey, 'POST', true),\n  },\n  feeds: {\n    global: defineRoute(paths.globalFeed, 'GET', false),\n    gem: defineRoute(paths.gemFeed, 'GET', false),\n    following: defineRoute(paths.followingFeed, 'GET', true),\n    bskyFollowing: defineRoute(paths.bskyFollowingFeed, 'GET', true),\n  },\n  notifications: {\n    myNotifications: defineRoute(paths.myNotifications, 'GET', true),\n    unreadCount: defineRoute(paths.unreadCount, 'GET', true),\n    markRead: defineRoute(paths.markRead, 'POST', true),\n    markAllRead: defineRoute(paths.markAllRead, 'POST', true),\n  },\n  connections: {\n    connectionsForUrl: defineRoute(paths.connectionsForUrl, 'GET', false),\n    createConnection: defineRoute(paths.createConnection, 'POST', true),\n    connectionsByUser: defineRoute(paths.connectionsByUser, 'GET', false),\n    updateConnection: defineRoute(paths.updateConnection, 'POST', true),\n    deleteConnection: defineRoute(paths.deleteConnection, 'POST', true),\n  },\n  search: {\n    similarUrls: defineRoute(paths.similarUrls, 'GET', false),\n    semantic: defineRoute(paths.semantic, 'GET', false),\n    bskyPosts: defineRoute(paths.bskyPosts, 'GET', false),\n    atProtoAccounts: defineRoute(paths.atProtoAccounts, 'GET', false),\n    leafletDocs: defineRoute(paths.leafletDocs, 'GET', false),\n    recommended: defineRoute(paths.recommended, 'GET', false),\n    recommendedUsers: defineRoute(paths.recommendedUsers, 'GET', true),\n    recommendedCollections: defineRoute(\n      paths.recommendedCollections,\n      'GET',\n      true,\n    ),\n  },\n  graph: {\n    graphData: defineRoute(paths.graphData, 'GET', true),\n    userGraphData: defineRoute(paths.userGraphData, 'GET', false),\n    urlGraphData: defineRoute(paths.urlGraphData, 'GET', false),\n    followTarget: defineRoute(paths.followTarget, 'POST', true),\n    unfollowTarget: defineRoute(paths.unfollowTarget, 'POST', true),\n    followingUsers: defineRoute(paths.followingUsers, 'GET', false),\n    bskyFollowedUsers: defineRoute(paths.bskyFollowedUsers, 'GET', true),\n    followMany: defineRoute(paths.followMany, 'POST', true),\n    followers: defineRoute(paths.userFollowers, 'GET', false),\n    followingCollections: defineRoute(paths.followingCollections, 'GET', false),\n    followingCount: defineRoute(paths.followingCount, 'GET', false),\n    followersCount: defineRoute(paths.userFollowersCount, 'GET', false),\n    followingCollectionsCount: defineRoute(\n      paths.followingCollectionsCount,\n      'GET',\n      false,\n    ),\n  },\n  subscriptions: {\n    subscribeToTarget: defineRoute(paths.subscribeToTarget, 'POST', true),\n    unsubscribeFromTarget: defineRoute(\n      paths.unsubscribeFromTarget,\n      'POST',\n      true,\n    ),\n    updateSubscription: defineRoute(paths.updateSubscription, 'POST', true),\n    getMySubscriptions: defineRoute(paths.getMySubscriptions, 'GET', true),\n  },\n} as const;\n","import { z } from 'zod';\nimport { UserSchema } from './entities/user';\n\nexport const TokenPairSchema = z.object({\n  accessToken: z.string(),\n  refreshToken: z.string(),\n});\nexport interface TokenPair {\n  accessToken: string;\n  refreshToken: string;\n}\n\nexport const UserDTOSchema = z.object({\n  did: z.string(),\n  handle: z.string().optional(),\n  linkedAt: z.date(),\n  lastLoginAt: z.date(),\n});\nexport interface UserDTO {\n  did: string;\n  handle?: string;\n  linkedAt: Date;\n  lastLoginAt: Date;\n}\n\nexport const OAuthCallbackDTOSchema = z.object({\n  code: z.string(),\n  state: z.string(),\n  iss: z.string(),\n});\nexport interface OAuthCallbackDTO {\n  code: string;\n  state: string;\n  iss: string;\n}\n\nexport const NoteCardDTOSchema = z.object({\n  id: z.string(),\n  note: z.string(),\n  author: UserSchema,\n  createdAt: z.string(),\n  updatedAt: z.string(),\n});\nexport interface NoteCardDTO {\n  id: string;\n  note: string;\n  author: import('./entities/user').User;\n  createdAt: string;\n  updatedAt: string;\n}\n\nexport type { LoginWithAppPasswordRequest as LoginWithAppPasswordDTO } from './api/users/login';\nexport type { Collection as CollectionDTO } from './entities/collection';\nexport type { UrlCard as UrlCardDTO } from './entities/card';\nexport type { Pagination as PaginationDTO } from './entities/common';\nexport type { CardSorting as CardSortingDTO } from './entities/common';\nexport type { CollectionSorting as CollectionSortingDTO } from './entities/common';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,gBAA2B;;;ACA3B,kBAA6C;ACA7C,IAAAC,eAA6B;AAC7B,IAAAC,eAAkB;;;AUDlB,iBAAkB;AAEX,IAAM,mBAAmB,aAAE,OAAO;AAAA,EACvC,aAAa,aAAE,OAAO;AAAA,EACtB,YAAY,aAAE,OAAO;AAAA,EACrB,YAAY,aAAE,OAAO;AAAA,EACrB,SAAS,aAAE,QAAQ;AAAA,EACnB,OAAO,aAAE,OAAO;AAClB,CAAC;AAGM,IAAM,uBAAuB,iBAAiB,OAAO;AAAA;AAAA;AAAA,EAG1D,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,YAAY,aAAE,OAAO,EAAE,SAAS;AAAA,EAChC,YAAY,aAAE,OAAO,EAAE,SAAS;AAClC,CAAC;AAKM,IAAM,kBAAkB,aAAE,KAAK,CAAC,OAAO,MAAM,CAAC;AAQ9C,IAAM,sBAAsB,aAAE,KAAK;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAWM,IAAM,4BAA4B,aAAE,KAAK;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAQM,IAAM,4BAA4B,aAAE,KAAK,CAAC,aAAa,WAAW,CAAC;AAEnE,IAAM,oBAAoB,aAAE,OAAO;AAAA,EACxC,WAAW;AACb,CAAC;AAGM,IAAM,oBAAoB,kBAAkB,OAAO;AAAA,EACxD,QAAQ;AACV,CAAC;AAGM,IAAM,0BAA0B,kBAAkB,OAAO;AAAA,EAC9D,QAAQ;AACV,CAAC;AAeM,IAAM,gBAAgB,aAAE,KAAK;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAQM,IAAM,uBAAuB,aAAE,KAAK,CAAC,UAAU,QAAQ,CAAC;AAQxD,IAAM,6BAA6B,aAAE,KAAK,CAAC,QAAQ,QAAQ,CAAC;AAE5D,IAAM,yBAAyB,aAAE,OAAO;AAAA,EAC7C,MAAM,aAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,OAAO,aAAE,OAAO,EAAE,SAAS;AAC7B,CAAC;AAGM,IAAM,sBAAsB,aAAE,OAAO;AAAA,EAC1C,QAAQ,aAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,WAAW,aAAE,KAAK,CAAC,OAAO,MAAM,CAAC,EAAE,SAAS;AAC9C,CAAC;AAGM,IAAM,8BACX,uBAAuB,MAAM,mBAAmB;AAG3C,IAAM,kCAAkC,uBAAuB,OAAO;AAAA,EAC3E,QAAQ,oBAAoB,SAAS;AAAA,EACrC,WAAW,gBAAgB,SAAS;AACtC,CAAC;AAKM,IAAM,wCACX,uBAAuB,OAAO;AAAA,EAC5B,QAAQ,0BAA0B,SAAS;AAAA,EAC3C,WAAW,gBAAgB,SAAS;AACtC,CAAC;AAKI,IAAM,wCACX,uBAAuB,OAAO;AAAA,EAC5B,QAAQ,0BAA0B,SAAS;AAAA,EAC3C,WAAW,gBAAgB,SAAS;AACtC,CAAC;AAKI,IAAM,0BAA0B,aAAE,OAAO;AAAA,EAC9C,QAAQ;AAAA,EACR,WAAW;AACb,CAAC;;;ACjKD,IAAAC,cAAkB;AAEX,IAAM,0BAA0B,cAAE,KAAK;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,cAAc,cAAE,OAAO;AAAA,EAClC,OAAO,cAAE,QAAQ,8BAA8B,EAAE,SAAS;AAAA,EAC1D,KAAK,cAAE,OAAO,EAAE,SAAS;AAAA,EACzB,KAAK,cAAE,OAAO;AAAA,EACd,KAAK,cAAE,OAAO;AAAA,EACd,KAAK,cAAE,OAAO,EAAE,SAAS;AAAA,EACzB,KAAK,cAAE,OAAO;AAAA,EACd,KAAK,cAAE,QAAQ,EAAE,SAAS;AAAA,EAC1B,KAAK,cAAE,OAAO;AAAA,EACd,KAAK,cAAE,OAAO,EAAE,SAAS;AAAA,EACzB,KAAK,cAAE,OAAmB,CAAC,MAAM,aAAa,UAAU,EAAE,SAAS;AACrE,CAAC;AAGM,IAAM,aAAa,cAAE,OAAO;AAAA,EACjC,IAAI,cAAE,OAAO;AAAA,EACb,MAAM,cAAE,OAAO;AAAA,EACf,QAAQ,cAAE,OAAO;AAAA,EACjB,WAAW,cAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,WAAW,cAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,EACjC,aAAa,cAAE,QAAQ,EAAE,SAAS;AAAA,EAClC,cAAc,cAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,oBAAoB,cAAE,MAAM,uBAAuB,EAAE,SAAS;AAAA,EAC9D,YAAY,cAAE,QAAQ,EAAE,SAAS;AAAA,EACjC,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,gBAAgB,cAAE,OAAO,EAAE,SAAS;AAAA,EACpC,0BAA0B,cAAE,OAAO,EAAE,SAAS;AAAA,EAC9C,cAAc,cAAE,OAAO,EAAE,SAAS;AAAA,EAClC,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,mBAAmB,cAChB,OAAO,EAAE,OAAO,cAAE,OAAO,EAAE,CAAC,EAC5B,SAAS,cAAE,OAAO,CAAC,EACnB,SAAS;AAAA,EACZ,QAAQ,cAAE,MAAM,WAAW,EAAE,SAAS;AACxC,CAAC;AAGM,IAAM,wBAAwB,WAAW,OAAO;AAAA,EACrD,mBAAmB,cAAE,OAAO;AAC9B,CAAC;AAGM,IAAM,uBAAuB,WAAW,KAAK;AAAA,EAClD,aAAa;AAAA,EACb,cAAc;AAAA,EACd,oBAAoB;AACtB,CAAC;AAGM,IAAM,2BAA2B,qBAAqB,KAAK;AAAA,EAChE,aAAa;AACf,CAAC;;;AC9DD,IAAAC,cAAkB;;;ACAlB,IAAAC,cAAkB;AAEX,IAAM,oBAAoB,cAAE,OAAO;AAAA,EACxC,KAAK,cAAE,OAAO;AAAA,EACd,OAAO,cAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,EACjC,QAAQ,cAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,UAAU,cAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,UAAU,cAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,MAAM,cAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,EACjC,KAAK,cAAE,OAAO,EAAE,SAAS;AAAA,EACzB,MAAM,cAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAGD,IAAM,wBAAwB,cAC3B,OAAO,EAAE,OAAO,cAAE,OAAO,EAAE,CAAC,EAC5B,SAAS,cAAE,OAAO,CAAC;AAEf,IAAM,0BAA0B,cAAE,OAAO;AAAA,EAC9C,cAAc,cAAE,OAAO;AAAA,EACvB,WAAW,cAAE,OAAO;AAAA,EACpB,iBAAiB,cAAE,OAAO;AAAA,EAC1B,aAAa,cAAE,OAAO;AAAA,IACpB,KAAK;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,EACZ,CAAC;AACH,CAAC;;;AC9BD,IAAAC,cAAkB;AAIX,IAAM,mBAAmB,cAAE,OAAO;AAAA,EACvC,IAAI,cAAE,OAAO;AAAA,EACb,KAAK,cAAE,OAAO,EAAE,SAAS;AAAA,EACzB,MAAM,cAAE,OAAO;AAAA,EACf,QAAQ;AAAA,EACR,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,EACjC,YAAY,2BAA2B,SAAS;AAAA,EAChD,WAAW,cAAE,OAAO;AAAA,EACpB,WAAW,cAAE,OAAO;AAAA,EACpB,WAAW,cAAE,OAAO;AAAA,EACpB,aAAa,cAAE,QAAQ,EAAE,SAAS;AAAA,EAClC,cAAc,cAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,oBAAoB,cAAE,MAAM,uBAAuB,EAAE,SAAS;AAAA,EAC9D,eAAe,cAAE,OAAO,EAAE,SAAS;AACrC,CAAC;;;AFbM,IAAM,gBAAgB,cAAE,OAAO;AAAA,EACpC,IAAI,cAAE,OAAO;AAAA,EACb,MAAM,cAAE,QAAQ,KAAK;AAAA,EACrB,KAAK,cAAE,OAAO;AAAA,EACd,KAAK,cAAE,OAAO,EAAE,SAAS;AAAA,EACzB,aAAa;AAAA,EACb,cAAc,cAAE,OAAO;AAAA,EACvB,iBAAiB,cAAE,OAAO;AAAA,EAC1B,cAAc,cAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,oBAAoB,cAAE,OAAO,EAAE,SAAS;AAAA,EACxC,gBAAgB,cAAE,QAAQ,EAAE,SAAS;AAAA,EACrC,WAAW,cAAE,OAAO;AAAA,EACpB,WAAW,cAAE,OAAO;AAAA,EACpB,QAAQ;AAAA,EACR,MAAM,cACH,OAAO;AAAA,IACN,IAAI,cAAE,OAAO;AAAA,IACb,MAAM,cAAE,OAAO;AAAA,EACjB,CAAC,EACA,SAAS;AACd,CAAC;AAGM,IAAM,+BAA+B,cAAc,OAAO;AAAA,EAC/D,aAAa,cAAE,MAAM,gBAAgB;AACvC,CAAC;AAKM,IAAM,6BAA6B,cAAc,OAAO;AAAA,EAC7D,WAAW,cAAE,MAAM,UAAU;AAC/B,CAAC;AAGM,IAAM,2CAA2C,cAAc,OAAO;AAAA,EAC3E,aAAa,cAAE,MAAM,gBAAgB;AAAA,EACrC,WAAW,cAAE,MAAM,UAAU;AAC/B,CAAC;;;AG3CD,IAAAC,cAAkB;AAIX,IAAM,uBAAuB,cAAE,KAAK;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,gBAAgB,cAAE,OAAO;AAAA,EACpC,KAAK,cAAE,OAAO;AAAA,EACd,UAAU;AAAA,EACV,iBAAiB,cAAE,OAAO;AAAA,EAC1B,cAAc,cAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,oBAAoB,cAAE,OAAO,EAAE,SAAS;AAAA,EACxC,gBAAgB,cAAE,QAAQ,EAAE,SAAS;AACvC,CAAC;AAGM,IAAM,sCAAsC,cAAE,OAAO;AAAA,EAC1D,YAAY,cAAE,OAAO;AAAA,IACnB,IAAI,cAAE,OAAO;AAAA,IACb,MAAM,cAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,MAAM,cAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,WAAW,cAAE,OAAO;AAAA,IACpB,WAAW,cAAE,OAAO;AAAA,IACpB,SAAS;AAAA,EACX,CAAC;AAAA,EACD,QAAQ;AAAA,EACR,QAAQ;AACV,CAAC;;;ACvCD,IAAAC,cAAkB;AAUX,IAAM,qBAAqB,cAAE,KAAK;AAAA,EACvC;AAAA,EACA;AACF,CAAC;AAEM,IAAM,qBAAqB,cAAE,OAAO;AAAA,EACzC,IAAI,cAAE,OAAO;AAAA,EACb,MAAM;AAAA,EACN,WAAW,cAAE,KAAK;AACpB,CAAC;AAGM,IAAM,8BAA8B,mBAAmB,OAAO;AAAA,EACnE,cAAc,cAAE,QAAQ,qCAA2B;AAAA,EACnD,MAAM;AAAA,EACN,aAAa,cAAE,MAAM,gBAAgB;AACvC,CAAC;AAGM,IAAM,kCAAkC,mBAAmB,OAAO;AAAA,EACvE,cAAc,cAAE,QAAQ,6CAA+B;AAAA,EACvD,YAAY;AACd,CAAC;AAKM,IAAM,iBAAiB,cAAE,MAAM;AAAA,EACpC;AAAA,EACA;AACF,CAAC;;;ACxCD,IAAAC,cAAkB;AAsBX,IAAM,yBAAyB,cAAE,KAAK;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,6BAA6B,cAAE,OAAO;AAAA,EACjD,IAAI,cAAE,OAAO;AAAA,EACb,MAAM;AAAA,EACN,WAAW,cAAE,OAAO;AAAA,EACpB,MAAM;AAAA,EACN,MAAM,cAAE,QAAQ;AAClB,CAAC;AAGM,IAAM,uCACX,2BAA2B,OAAO;AAAA,EAChC,MAAM,cAAE,MAAM;AAAA,IACZ,cAAE,QAAQ,iDAAqC;AAAA,IAC/C,cAAE,QAAQ,2DAA0C;AAAA,IACpD,cAAE,QAAQ,6DAA2C;AAAA,IACrD,cAAE,QAAQ,mEAA8C;AAAA,IACxD,cAAE,QAAQ,6DAA2C;AAAA,IACrD,cAAE,QAAQ,yFAAyD;AAAA,IACnE,cAAE,QAAQ,yEAAiD;AAAA,EAC7D,CAAC;AAAA,EACD,MAAM;AAAA,EACN,aAAa,cAAE,MAAM,gBAAgB,EAAE,SAAS;AAClD,CAAC;AAKI,IAAM,+BAA+B,2BAA2B,OAAO;AAAA,EAC5E,MAAM,cAAE,MAAM;AAAA,IACZ,cAAE,QAAQ,2CAAkC;AAAA,IAC5C,cAAE,QAAQ,mEAA8C;AAAA,EAC1D,CAAC;AAAA,EACD,kBAAkB,cAAE,KAAK,CAAC,QAAQ,YAAY,CAAC;AAAA,EAC/C,gBAAgB,cAAE,OAAO,EAAE,SAAS;AAAA,EACpC,aAAa,cAAE,MAAM,gBAAgB,EAAE,SAAS;AAClD,CAAC;AAKM,IAAM,0CACX,2BAA2B,OAAO;AAAA,EAChC,MAAM,cAAE,MAAM;AAAA,IACZ,cAAE,QAAQ,uDAAwC;AAAA,IAClD,cAAE,QAAQ,yDAAyC;AAAA,IACnD,cAAE,QAAQ,qEAA+C;AAAA,IACzD,cAAE,QAAQ,uEAAgD;AAAA,IAC1D,cAAE,QAAQ,iFAAqD;AAAA,EACjE,CAAC;AAAA,EACD,YAAY;AACd,CAAC;AAKI,IAAM,yBAAyB,cAAE,MAAM;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AACF,CAAC;;;AClGD,IAAAC,cAAkB;AAEX,IAAM,kBAAkB,cAAE,OAAO;AAAA,EACtC,IAAI,cAAE,OAAO;AAAA,EACb,MAAM,cAAE,KAAK,CAAC,QAAQ,OAAO,cAAc,MAAM,CAAC;AAAA,EAClD,OAAO,cAAE,OAAO;AAAA,EAChB,UAAU,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,IAAI,CAAC;AACxC,CAAC;AAGM,IAAM,kBAAkB,cAAE,OAAO;AAAA,EACtC,IAAI,cAAE,OAAO;AAAA,EACb,QAAQ,cAAE,OAAO;AAAA,EACjB,QAAQ,cAAE,OAAO;AAAA,EACjB,MAAM,cAAE,KAAK;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,UAAU,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,QAAQ,CAAC,EAAE,SAAS;AACvD,CAAC;;;ACvBD,IAAAC,eAAkB;AAEX,IAAM,iBAAiB,eAAE,OAAO;AAAA,EACrC,KAAK,eAAE,OAAO;AAAA,EACd,KAAK,eAAE,OAAO;AAAA,EACd,QAAQ,eAAE,OAAO;AAAA,IACf,KAAK,eAAE,OAAO;AAAA,IACd,QAAQ,eAAE,OAAO;AAAA,IACjB,aAAa,eAAE,OAAO,EAAE,SAAS;AAAA,IACjC,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,YAAY,eACT,OAAO;AAAA,MACN,MAAM,eACH,OAAO;AAAA,QACN,eAAe,eAAE,KAAK,CAAC,OAAO,QAAQ,WAAW,CAAC;AAAA,MACpD,CAAC,EACA,SAAS;AAAA,IACd,CAAC,EACA,SAAS;AAAA,IACZ,QAAQ,eACL,OAAO;AAAA,MACN,OAAO,eAAE,QAAQ,EAAE,SAAS;AAAA,MAC5B,WAAW,eAAE,QAAQ,EAAE,SAAS;AAAA,MAChC,UAAU,eAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,WAAW,eAAE,OAAO,EAAE,SAAS;AAAA,MAC/B,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,IAClC,CAAC,EACA,SAAS;AAAA,IACZ,QAAQ,eAAE,MAAM,eAAE,IAAI,CAAC,EAAE,SAAS;AAAA,IAClC,WAAW,eAAE,OAAO,EAAE,SAAS;AAAA,EACjC,CAAC;AAAA,EACD,QAAQ,eAAE,OAAO,eAAE,OAAO,GAAG,eAAE,QAAQ,CAAC;AAAA,EACxC,OAAO,eAAE,IAAI,EAAE,SAAS;AAAA,EACxB,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,EAChC,aAAa,eAAE,OAAO,EAAE,SAAS;AAAA,EACjC,WAAW,eAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,EAChC,WAAW,eAAE,OAAO;AAAA,EACpB,QAAQ,eACL,OAAO;AAAA,IACN,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,MAAM,eAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,aAAa,eAAE,QAAQ,EAAE,SAAS;AAAA,IAClC,eAAe,eAAE,QAAQ,EAAE,SAAS;AAAA,IACpC,mBAAmB,eAAE,QAAQ,EAAE,SAAS;AAAA,IACxC,QAAQ,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC/B,CAAC,EACA,SAAS;AAAA,EACZ,QAAQ,eAAE,MAAM,eAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAClC,YAAY,eAAE,IAAI,EAAE,SAAS;AAC/B,CAAC;AAGM,IAAM,oBAAoB,eAAE,OAAO;AAAA,EACxC,KAAK,eAAE,OAAO;AAAA,EACd,QAAQ,eAAE,OAAO;AAAA,EACjB,aAAa,eAAE,OAAO,EAAE,SAAS;AAAA,EACjC,aAAa,eAAE,OAAO,EAAE,SAAS;AAAA,EACjC,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,YAAY,eACT,OAAO;AAAA,IACN,MAAM,eACH,OAAO;AAAA,MACN,eAAe,eAAE,KAAK,CAAC,OAAO,QAAQ,WAAW,CAAC;AAAA,IACpD,CAAC,EACA,SAAS;AAAA,EACd,CAAC,EACA,SAAS;AAAA,EACZ,WAAW,eAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,WAAW,eAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,QAAQ,eACL,OAAO;AAAA,IACN,OAAO,eAAE,QAAQ,EAAE,SAAS;AAAA,IAC5B,WAAW,eAAE,QAAQ,EAAE,SAAS;AAAA,IAChC,UAAU,eAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,WAAW,eAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,EAClC,CAAC,EACA,SAAS;AAAA,EACZ,QAAQ,eAAE,MAAM,eAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAClC,cAAc,eAAE,IAAI,EAAE,SAAS;AAAA,EAC/B,QAAQ,eAAE,IAAI,EAAE,SAAS;AAC3B,CAAC;;;AClFD,IAAAC,eAAkB;AAEX,IAAM,+BAA+B,eAAE,OAAO;AAAA,EACnD,KAAK,eAAE,OAAO;AAAA,EACd,MAAM,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC5C,WAAW,eACR,OAAO,EACP,SAAS,EACT;AAAA,IACC;AAAA,EACF;AACJ,CAAC;AAKM,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,WAAW,eAAE,OAAO;AAAA,EACpB,YAAY,eAAE,OAAO,EAAE,SAAS;AAClC,CAAC;;;ACpBD,IAAAC,eAAkB;AAEX,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,QAAQ,eAAE,OAAO;AAAA,EACjB,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAC9C,CAAC;AAKM,IAAM,iCAAiC,eAAE,OAAO;AAAA,EACrD,QAAQ,eAAE,OAAO;AACnB,CAAC;;;ACZD,IAAAC,eAAkB;AAEX,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,QAAQ,eAAE,OAAO;AAAA,EACjB,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC;AACnC,CAAC;AAKM,IAAM,oCAAoC,eAAE,OAAO;AAAA,EACxD,QAAQ,eAAE,OAAO;AACnB,CAAC;;;ACZD,IAAAC,eAAkB;AAEX,IAAM,8BAA8B,eAAE,OAAO;AAAA,EAClD,QAAQ,eAAE,OAAO;AAAA,EACjB,MAAM,eAAE,OAAO;AACjB,CAAC;AAGM,IAAM,+BAA+B,eAAE,OAAO;AAAA,EACnD,QAAQ,eAAE,OAAO;AACnB,CAAC;;;ACVD,IAAAC,eAAkB;AAEX,IAAM,yCAAyC,eAAE,OAAO;AAAA,EAC7D,QAAQ,eAAE,OAAO;AAAA,EACjB,MAAM,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,kBAAkB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC/C,uBAAuB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACpD,WAAW,eACR,OAAO,EACP,SAAS,EACT;AAAA,IACC;AAAA,EACF;AACJ,CAAC;AAKM,IAAM,0CAA0C,eAAE,OAAO;AAAA,EAC9D,WAAW,eAAE,OAAO;AAAA,EACpB,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,EAChC,oBAAoB,eAAE,MAAM,eAAE,OAAO,CAAC;AAAA,EACtC,wBAAwB,eAAE,MAAM,eAAE,OAAO,CAAC;AAC5C,CAAC;;;ACvBD,IAAAC,eAAkB;AAEX,IAAM,qCAAqC,eAAE,OAAO;AAAA,EACzD,QAAQ,eAAE,OAAO;AACnB,CAAC;AAKM,IAAM,sCAAsC,eAAE,OAAO;AAAA,EAC1D,QAAQ,eAAE,OAAO;AACnB,CAAC;;;ACXD,IAAAC,eAAkB;AAEX,IAAM,wCAAwC,eAAE,OAAO;AAAA,EAC5D,QAAQ,eAAE,OAAO;AAAA,EACjB,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC;AACnC,CAAC;AAKM,IAAM,yCAAyC,eAAE,OAAO;AAAA,EAC7D,QAAQ,eAAE,OAAO;AACnB,CAAC;;;ACZD,IAAAC,eAAkB;AAMX,IAAM,4BAA4B,gCAAgC;AAAA,EACvE;AAAA,IACE,SAAS,cAAc,SAAS;AAAA,IAChC,aAAa,eAAE,QAAQ,EAAE,SAAS;AAAA,IAClC,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,EAClC;AACF;;;ACZA,IAAAC,eAAkB;AAMX,IAAM,0BAA0B,gCAAgC,OAAO;AAAA,EAC5E,YAAY,eAAE,OAAO;AAAA,EACrB,SAAS,cAAc,SAAS;AAAA,EAChC,aAAa,eAAE,QAAQ,EAAE,SAAS;AAAA,EAClC,YAAY,eAAE,OAAO,EAAE,SAAS;AAClC,CAAC;;;ACXD,IAAAC,eAAkB;AAIX,IAAM,4BAA4B,eAAE,OAAO;AAAA,EAChD,OAAO,eAAE,MAAM,aAAa;AAAA,EAC5B,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;;;ACLM,IAAM,+BACX;;;ACJF,IAAAC,eAAkB;AAGX,IAAM,oCAAoC,eAAE,OAAO;AAAA,EACxD,QAAQ,eAAE,OAAO;AAAA,EACjB,OAAO,eAAE,MAAM,UAAU;AAAA,EACzB,YAAY,eAAE,OAAO;AACvB,CAAC;;;ACPD,IAAAC,eAAkB;AAGX,IAAM,6BAA6B,eAAE,OAAO;AAAA,EACjD,KAAK,eAAE,OAAO;AAAA,EACd,cAAc,eAAE,QAAQ,EAAE,SAAS;AACrC,CAAC;AAGM,IAAM,+BAA+B,eAAE,OAAO;AAAA,EACnD,UAAU;AAAA,EACV,OAAO,wBAAwB,SAAS;AAAA;AAAA;AAAA,EAGxC,cAAc,eAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,gBAAgB,eAAE,QAAQ,EAAE,SAAS;AACvC,CAAC;;;AChBD,IAAAC,eAAkB;AAIX,IAAM,uCAAuC,eAAE,OAAO;AAAA,EAC3D,KAAK,eAAE,OAAO;AAChB,CAAC;AAKM,IAAM,yCAAyC,eAAE,OAAO;AAAA,EAC7D,MAAM,cAAc,SAAS;AAAA,EAC7B,aAAa,eAAE,MAAM,gBAAgB,EAAE,SAAS;AAClD,CAAC;;;ACdD,IAAAC,eAAkB;AASX,IAAM,iCACX,gCAAgC,OAAO;AAAA,EACrC,KAAK,eAAE,OAAO;AAChB,CAAC;AAKI,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,WAAW,eAAE;AAAA,IACX,eAAE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA,EACA,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;;;AC1BD,IAAAC,eAAkB;AAQX,IAAM,iCACX,gCAAgC,OAAO;AAAA,EACrC,KAAK,eAAE,OAAO;AAChB,CAAC;AAKI,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,OAAO,eAAE;AAAA,IACP,eAAE,OAAO;AAAA,MACP,IAAI,eAAE,OAAO;AAAA,MACb,MAAM,eAAE,OAAO;AAAA,MACf,QAAQ;AAAA,MACR,WAAW,eAAE,OAAO;AAAA,MACpB,WAAW,eAAE,OAAO;AAAA,IACtB,CAAC;AAAA,EACH;AAAA,EACA,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;;;AC5BD,IAAAC,eAAkB;AAGX,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,MAAM,eAAE,OAAO;AAAA,EACf,aAAa,eAAE,OAAO,EAAE,SAAS;AAAA,EACjC,YAAY,2BAA2B,SAAS;AAClD,CAAC;AAKM,IAAM,iCAAiC,eAAE,OAAO;AAAA,EACrD,cAAc,eAAE,OAAO;AACzB,CAAC;;;ACdD,IAAAC,eAAkB;AAGX,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,cAAc,eAAE,OAAO;AAAA,EACvB,MAAM,eAAE,OAAO;AAAA,EACf,aAAa,eAAE,OAAO,EAAE,SAAS;AAAA,EACjC,YAAY,2BAA2B,SAAS;AAClD,CAAC;AAKM,IAAM,iCAAiC,eAAE,OAAO;AAAA,EACrD,cAAc,eAAE,OAAO;AACzB,CAAC;;;ACfD,IAAAC,eAAkB;AAEX,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,cAAc,eAAE,OAAO;AACzB,CAAC;AAKM,IAAM,iCAAiC,eAAE,OAAO;AAAA,EACrD,cAAc,eAAE,OAAO;AACzB,CAAC;;;ACXD,IAAAC,eAAkB;AAUX,IAAM,gCACX,gCAAgC,OAAO;AAAA,EACrC,SAAS,cAAc,SAAS;AAClC,CAAC;AAKI,IAAM,kCAAkC,iBAAiB,OAAO;AAAA,EACrE,UAAU,eAAE,MAAM,aAAa;AAAA,EAC/B,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;;;ACtBD,IAAAC,eAAkB;AAMX,IAAM,uCACX,gCAAgC,OAAO;AAAA,EACrC,QAAQ,eAAE,OAAO;AAAA,EACjB,WAAW,eAAE,OAAO;AAAA,EACpB,SAAS,cAAc,SAAS;AAClC,CAAC;;;ACXH,IAAAC,eAAkB;AAGX,IAAM,+BACX,sCAAsC,OAAO;AAAA,EAC3C,YAAY,eAAE,OAAO,EAAE,SAAS;AAClC,CAAC;;;ACNH,IAAAC,eAAkB;AAGX,IAAM,6BACX,sCAAsC,OAAO;AAAA,EAC3C,YAAY,eAAE,OAAO;AAAA,EACrB,YAAY,eAAE,OAAO,EAAE,SAAS;AAClC,CAAC;;;ACPH,IAAAC,eAAkB;AAOX,IAAM,+BAA+B,eAAE,OAAO;AAAA,EACnD,aAAa,eAAE,MAAM,gBAAgB;AAAA,EACrC,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;;;ACXD,IAAAC,eAAkB;AAMX,IAAM,gCACX,sCAAsC,OAAO;AAAA,EAC3C,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,EAChC,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,EAChC,YAAY,2BAA2B,SAAS;AAClD,CAAC;;;ACXH,IAAAC,eAAkB;AAQX,IAAM,mCACX,sCAAsC,OAAO;AAAA,EAC3C,KAAK,eAAE,OAAO;AAChB,CAAC;AAKI,IAAM,qCAAqC,eAAE,OAAO;AAAA,EACzD,aAAa,eAAE,MAAM,gBAAgB;AAAA,EACrC,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;;;ACpBD,IAAAC,eAAkB;AAGX,IAAM,gDACX,sCAAsC,OAAO;AAAA,EAC3C,YAAY,eAAE,OAAO;AACvB,CAAC;;;ACNH,IAAAC,eAAkB;AAOX,IAAM,qCAAqC,uBAAuB;AAAA,EACvE;AAAA,IACE,cAAc,eAAE,OAAO;AAAA,EACzB;AACF;AAKO,IAAM,uCAAuC,eAAE,OAAO;AAAA,EAC3D,OAAO,eAAE,MAAM,UAAU;AAAA,EACzB,YAAY;AACd,CAAC;AAKM,IAAM,0CAA0C,eAAE,OAAO;AAAA,EAC9D,cAAc,eAAE,OAAO;AACzB,CAAC;AAKM,IAAM,+BAA+B,eAAE,OAAO;AAAA,EACnD,OAAO,eAAE,OAAO;AAClB,CAAC;;;ACjCD,IAAAC,eAAkB;AAOX,IAAM,wCACX,uBAAuB,OAAO;AAAA,EAC5B,cAAc,eAAE,OAAO;AACzB,CAAC;AAKI,IAAM,0CAA0C,eAAE,OAAO;AAAA,EAC9D,OAAO,eAAE,MAAM,qBAAqB;AAAA,EACpC,YAAY;AACd,CAAC;;;AClBD,IAAAC,eAAkB;AAGX,IAAM,8CAA8C,eAAE,OAAO;AAAA,EAClE,KAAK,eAAE,OAAO;AAAA,EACd,OAAO,eAAE,OAAO,EAAE,SAAS;AAC7B,CAAC;AAUM,IAAM,gDAAgD,eAAE,OAAO;AAAA,EACpE,eAAe,eAAE,MAAM,gBAAgB;AAAA,EACvC,iBAAiB,eAAE,MAAM,gBAAgB;AAC3C,CAAC;;;ACnBD,IAAAC,eAAkB;AAGX,IAAM,yBAAyB,eAAE,OAAO;AAAA,EAC7C,YAAY,eAAE,OAAO;AAAA,EACrB,cAAc,eAAE,QAAQ,EAAE,SAAS;AACrC,CAAC;AAGM,IAAM,2BAA2B,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMxD,qBAAqB,eAAE,QAAQ,EAAE,SAAS;AAC5C,CAAC;;;AChBD,IAAAC,eAAkB;AAEX,IAAM,oCAAoC,eAAE,OAAO;AAAA,EACxD,YAAY,eAAE,OAAO;AAAA,EACrB,aAAa,eAAE,OAAO;AACxB,CAAC;AAKM,IAAM,qCAAqC,eAAE,OAAO;AAAA,EACzD,aAAa,eAAE,OAAO;AAAA,EACtB,cAAc,eAAE,OAAO;AACzB,CAAC;;;ACbD,IAAAC,eAAkB;AAEX,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAE5B,UAAU,eAAE,OAAO,EAAE,SAAS;AAChC,CAAC;AAKM,IAAM,oCAAoC,eAAE,OAAO;AAAA,EACxD,SAAS,eAAE,OAAO;AACpB,CAAC;AAKM,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,MAAM,eAAE,OAAO;AAAA,EACf,OAAO,eAAE,OAAO;AAAA,EAChB,KAAK,eAAE,OAAO;AAChB,CAAC;AAKM,IAAM,oCAAoC,eAAE,OAAO;AAAA,EACxD,aAAa,eAAE,OAAO;AAAA,EACtB,cAAc,eAAE,OAAO;AACzB,CAAC;;;AC9BD,IAAAC,eAAkB;AAEX,IAAM,kCAAkC,eAAE,OAAO;AAAA,EACtD,cAAc,eAAE,OAAO;AACzB,CAAC;AAKM,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,aAAa,eAAE,OAAO;AAAA,EACtB,cAAc,eAAE,OAAO;AACzB,CAAC;AAKM,IAAM,uCAAuC,eAAE,OAAO,CAAC,CAAC;AAKxD,IAAM,wCAAwC,eAAE,OAAO;AAAA,EAC5D,aAAa,eAAE,OAAO;AAAA,EACtB,cAAc,eAAE,OAAO;AACzB,CAAC;;;ACzBD,IAAAC,eAAkB;AAQX,IAAM,4BAA4B,eAAE,OAAO;AAAA,EAChD,UAAU,eAAE,OAAO;AAAA,EACnB,YAAY,eAAE,KAAK,CAAC,QAAQ,YAAY,CAAC;AAC3C,CAAC;AAGM,IAAM,8BAA8B,eAAE,OAAO;AAAA,EAClD,UAAU,eAAE,OAAO;AAAA,EACnB,YAAY,eAAE,KAAK,CAAC,QAAQ,YAAY,CAAC;AAC3C,CAAC;AAGM,IAAM,6BAA6B,eAAE,OAAO;AAAA,EACjD,UAAU,eAAE,OAAO;AACrB,CAAC;AAGM,IAAM,gCAAgC,uBAAuB,OAAO;AAAA,EACzE,YAAY,eAAE,OAAO;AACvB,CAAC;AAKM,IAAM,kCAAkC,eAAE,OAAO;AAAA,EACtD,OAAO,eAAE,MAAM,UAAU;AAAA,EACzB,YAAY;AACd,CAAC;AAKM,IAAM,2BAA2B,uBAAuB,OAAO;AAAA,EACpE,YAAY,eAAE,OAAO;AACvB,CAAC;AAGM,IAAM,6BAA6B,eAAE,OAAO;AAAA,EACjD,OAAO,eAAE,MAAM,UAAU;AAAA,EACzB,YAAY;AACd,CAAC;AAGM,IAAM,sCACX,uBAAuB,OAAO;AAAA,EAC5B,YAAY,eAAE,OAAO;AACvB,CAAC;AAKI,IAAM,wCAAwC,eAAE,OAAO;AAAA,EAC5D,aAAa,eAAE,MAAM,gBAAgB;AAAA,EACrC,YAAY;AACd,CAAC;AAKM,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,YAAY,eAAE,OAAO;AACvB,CAAC;AAKM,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,YAAY,eAAE,OAAO;AACvB,CAAC;AAKM,IAAM,2CAA2C,eAAE,OAAO;AAAA,EAC/D,YAAY,eAAE,OAAO;AACvB,CAAC;;;ACnFD,IAAAC,eAAkB;AAYX,IAAM,qCAAqC,eAAE,OAAO;AAAA,EACzD,OAAO,eAAE,MAAM,UAAU;AAAA,EACzB,YAAY;AACd,CAAC;AAKM,IAAM,+BAA+B,eAAE,OAAO;AAAA,EACnD,WAAW,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAI;AAChD,CAAC;AAKM,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,eAAe,eAAE,OAAO;AAAA,EACxB,uBAAuB,eAAE,OAAO;AAClC,CAAC;;;AC9BD,IAAAC,eAAkB;AAeX,IAAM,iCAAiC,eAAE,OAAO;AAAA,EACrD,UAAU,eAAE,OAAO;AAAA,EACnB,YAAY,eAAE,KAAK,CAAC,QAAQ,YAAY,CAAC;AAAA,EACzC,QAAQ,eAAE,MAAM,uBAAuB,EAAE,SAAS;AACpD,CAAC;AAKM,IAAM,kCAAkC,eAAE,OAAO;AAAA,EACtD,UAAU,eAAE,OAAO;AAAA,EACnB,cAAc,eAAE,OAAO;AAAA,EACvB,QAAQ,eAAE,MAAM,uBAAuB;AACzC,CAAC;AAKM,IAAM,qCAAqC,eAAE,OAAO;AAAA,EACzD,UAAU,eAAE,OAAO;AAAA,EACnB,YAAY,eAAE,KAAK,CAAC,QAAQ,YAAY,CAAC;AAC3C,CAAC;AAKM,IAAM,kCAAkC,eAAE,OAAO;AAAA,EACtD,UAAU,eAAE,OAAO;AAAA,EACnB,YAAY,eAAE,KAAK,CAAC,QAAQ,YAAY,CAAC;AAAA,EACzC,QAAQ,eAAE,MAAM,uBAAuB,EAAE,IAAI,CAAC;AAChD,CAAC;AAKM,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,UAAU,eAAE,OAAO;AAAA,EACnB,cAAc,eAAE,OAAO;AAAA,EACvB,QAAQ,eAAE,MAAM,uBAAuB;AACzC,CAAC;AAKM,IAAM,iCAAiC,uBAAuB,OAAO;AAAA,EAC1E,YAAY,eAAE,KAAK,CAAC,QAAQ,YAAY,CAAC,EAAE,SAAS;AACtD,CAAC;AAKM,IAAM,yBAAyB,eAAE,mBAAmB,QAAQ;AAAA,EACjE,eAAE,OAAO;AAAA,IACP,MAAM,eAAE,QAAQ,MAAM;AAAA,IACtB,MAAM;AAAA,IACN,cAAc,eAAE,OAAO;AAAA,IACvB,QAAQ,eAAE,MAAM,uBAAuB;AAAA,EACzC,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACP,MAAM,eAAE,QAAQ,YAAY;AAAA,IAC5B,YAAY;AAAA,IACZ,cAAc,eAAE,OAAO;AAAA,IACvB,QAAQ,eAAE,MAAM,uBAAuB;AAAA,EACzC,CAAC;AACH,CAAC;AAGM,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,OAAO,eAAE,MAAM,sBAAsB;AAAA,EACrC,YAAY;AACd,CAAC;;;ACrFD,IAAAC,eAAkB;AAEX,IAAM,eAAe,eAAE,OAAO;AAAA,EACnC,IAAI,eAAE,OAAO;AAAA,EACb,MAAM,eAAE,OAAO;AAAA,EACf,QAAQ,eAAE,OAAO;AAAA,EACjB,WAAW,eAAE,OAAO,KAAK;AAAA,EACzB,YAAY,eAAE,OAAO,KAAK,EAAE,SAAS;AAAA,EACrC,WAAW,eAAE,OAAO,KAAK,EAAE,SAAS;AACtC,CAAC;AAGM,IAAM,kBAAkB,aAAa,OAAO;AAAA,EACjD,OAAO,eAAE,OAAO;AAClB,CAAC;AAGM,IAAM,4BAA4B,eAAE,OAAO;AAAA,EAChD,MAAM,eAAE,MAAM,YAAY;AAC5B,CAAC;AAGM,IAAM,4BAA4B,eAAE,OAAO;AAAA,EAChD,MAAM,eAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACjC,CAAC;AAGM,IAAM,6BAA6B;AAGnC,IAAM,4BAA4B,eAAE,OAAO;AAAA,EAChD,IAAI,eAAE,OAAO;AAAA,EACb,MAAM,eAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACjC,CAAC;AAGM,IAAM,6BAA6B;AAGnC,IAAM,4BAA4B,eAAE,OAAO;AAAA,EAChD,IAAI,eAAE,OAAO;AACf,CAAC;AAGM,IAAM,6BAA6B,eAAE,OAAO;AAAA,EACjD,SAAS,eAAE,QAAQ;AACrB,CAAC;;;AC9CD,IAAAC,eAAkB;AAIX,IAAM,yBAAyB,eAAE,KAAK;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,wBAAwB,eAAE,OAAO;AAAA,EAC5C,QAAQ,eAAE,OAAO;AAAA,EACjB,iBAAiB,uBAAuB,SAAS,EAAE,SAAS;AAAA,EAC5D,gBAAgB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,gBAAgB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACvD,mBAAmB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC3D,sBAAsB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC9D,kBAAkB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC1D,qBAAqB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC7D,YAAY,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACpD,iBAAiB,eAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,iBAAiB,eAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,YAAY,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,oBAAoB,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,yBAAyB,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAC7D,YAAY,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,yBAAyB,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAC7D,kCAAkC,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EACtE,+BAA+B,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EACnE,WAAW,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACnD,gBAAgB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,WAAW,eAAE,OAAO,KAAK;AAC3B,CAAC;AAGM,IAAM,mCAAmC;AAQzC,IAAM,qCAAqC,eAAE,OAAO;AAAA,EACzD,iBAAiB,uBAAuB,SAAS,EAAE,SAAS;AAAA,EAC5D,gBAAgB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,gBAAgB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACvD,mBAAmB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC3D,sBAAsB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC9D,kBAAkB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC1D,qBAAqB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC7D,YAAY,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACpD,iBAAiB,eAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,iBAAiB,eAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,YAAY,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,oBAAoB,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EACxD,yBAAyB,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAC7D,YAAY,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,yBAAyB,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EAC7D,kCAAkC,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EACtE,+BAA+B,eAAE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EACnE,WAAW,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EACnD,gBAAgB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAC1D,CAAC;AAKM,IAAM,sCAAsC;;;ACxEnD,IAAAC,eAAkB;AASX,IAAM,4BAA4B,uBAAuB,OAAO;AAAA,EACrE,kBAAkB,eAAE,OAAO,EAAE,SAAS;AAAA,EACtC,SAAS,cAAc,SAAS;AAAA,EAChC,QAAQ,qBAAqB,SAAS;AAAA,EACtC,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC5C,UAAU,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACvC,kBAAkB,eAAE,QAAQ,EAAE,SAAS;AACzC,CAAC;AAGM,IAAM,8BAA8B,eAAE,OAAO;AAAA,EAClD,YAAY,eAAE,MAAM,cAAc;AAAA,EAClC,YAAY;AACd,CAAC;;;ACtBD,IAAAC,eAAkB;AAOX,IAAM,iCAAiC,uBAAuB,OAAO;AAAA,EAC1E,SAAS,cAAc,SAAS;AAAA,EAChC,QAAQ,qBAAqB,SAAS;AAAA,EACtC,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC5C,kBAAkB,eAAE,QAAQ,EAAE,SAAS;AACzC,CAAC;;;ACZD,IAAAC,eAAkB;AAOX,IAAM,+BAA+B,uBAAuB,OAAO;AAAA,EACxE,kBAAkB,eAAE,OAAO,EAAE,SAAS;AAAA,EACtC,SAAS,cAAc,SAAS;AAAA,EAChC,QAAQ,qBAAqB,SAAS;AAAA,EACtC,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC5C,kBAAkB,eAAE,QAAQ,EAAE,SAAS;AACzC,CAAC;;;ACbD,IAAAC,eAAkB;AAOX,IAAM,mCAAmC,uBAAuB,OAAO;AAAA;AAAA;AAAA,EAG5E,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,EAChC,kBAAkB,eAAE,OAAO,EAAE,SAAS;AAAA,EACtC,SAAS,cAAc,SAAS;AAAA,EAChC,QAAQ,qBAAqB,SAAS;AAAA,EACtC,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC5C,kBAAkB,eAAE,QAAQ,EAAE,SAAS;AACzC,CAAC;;;AChBD,IAAAC,eAAkB;AAOX,IAAM,iCACX,4BAA4B,OAAO;AAAA,EACjC,YAAY,eAAE,QAAQ,EAAE,SAAS;AACnC,CAAC;AAKI,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,eAAe,eAAE,MAAM,sBAAsB;AAAA,EAC7C,YAAY;AAAA,EACZ,aAAa,eAAE,OAAO;AACxB,CAAC;;;ACnBD,IAAAC,eAAkB;AAEX,IAAM,2CAA2C,eAAE,OAAO;AAAA,EAC/D,aAAa,eAAE,OAAO;AACxB,CAAC;;;ACJD,IAAAC,eAAkB;AAEX,IAAM,uCAAuC,eAAE,OAAO;AAAA,EAC3D,iBAAiB,eAAE,MAAM,eAAE,OAAO,CAAC;AACrC,CAAC;AAKM,IAAM,wCAAwC,eAAE,OAAO;AAAA,EAC5D,aAAa,eAAE,OAAO;AACxB,CAAC;AAKM,IAAM,2CAA2C,eAAE,OAAO;AAAA,EAC/D,aAAa,eAAE,OAAO;AACxB,CAAC;;;AClBD,IAAAC,eAAkB;AAGX,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,YAAY,eAAE,KAAK,CAAC,OAAO,MAAM,CAAC;AAAA,EAClC,aAAa,eAAE,OAAO;AAAA,EACtB,YAAY,eAAE,KAAK,CAAC,OAAO,MAAM,CAAC;AAAA,EAClC,aAAa,eAAE,OAAO;AAAA,EACtB,gBAAgB,qBAAqB,SAAS;AAAA,EAC9C,MAAM,eAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAKM,IAAM,iCAAiC,eAAE,OAAO;AAAA,EACrD,cAAc,eAAE,OAAO;AACzB,CAAC;;;ACjBD,IAAAC,eAAkB;AAGX,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,cAAc,eAAE,OAAO;AAAA,EACvB,gBAAgB,qBAAqB,SAAS;AAAA,EAC9C,MAAM,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,YAAY,eAAE,QAAQ,EAAE,SAAS;AAAA,EACjC,MAAM,eAAE,QAAQ,EAAE,SAAS;AAC7B,CAAC;AAKM,IAAM,iCAAiC,eAAE,OAAO;AAAA,EACrD,cAAc,eAAE,OAAO;AACzB,CAAC;;;AChBD,IAAAC,eAAkB;AAEX,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,cAAc,eAAE,OAAO;AACzB,CAAC;AAKM,IAAM,iCAAiC,eAAE,OAAO;AAAA,EACrD,cAAc,eAAE,OAAO;AACzB,CAAC;;;ACXD,IAAAC,eAAkB;AAWX,IAAM,mCACX,sCAAsC,OAAO;AAAA,EAC3C,KAAK,eAAE,OAAO;AAAA,EACd,WAAW,eAAE,KAAK,CAAC,WAAW,YAAY,MAAM,CAAC,EAAE,SAAS;AAAA,EAC5D,iBAAiB,eAAE,MAAM,oBAAoB,EAAE,SAAS;AAC1D,CAAC;AAKI,IAAM,qCAAqC,eAAE,OAAO;AAAA,EACzD,aAAa,eAAE,MAAM,mCAAmC;AAAA,EACxD,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;;;ACzBD,IAAAC,eAAkB;AAWX,IAAM,6BACX,sCAAsC,OAAO;AAAA,EAC3C,YAAY,eAAE,OAAO;AAAA,EACrB,iBAAiB,eAAE,MAAM,oBAAoB,EAAE,SAAS;AAC1D,CAAC;AAGI,IAAM,+BAA+B,eAAE,OAAO;AAAA,EACnD,aAAa,eAAE,MAAM,mCAAmC;AAAA,EACxD,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;;;ACtBD,IAAAC,eAAkB;AAOX,IAAM,mCACX,4BAA4B,OAAO;AAAA,EACjC,KAAK,eAAE,OAAO;AAAA,EACd,WAAW,eAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,SAAS,eAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAKI,IAAM,qCAAqC,eAAE,OAAO;AAAA,EACzD,MAAM,eAAE,MAAM,aAAa;AAAA,EAC3B,YAAY;AACd,CAAC;;;ACpBD,IAAAC,eAAkB;AAOX,IAAM,iCACX,4BAA4B,OAAO;AAAA,EACjC,OAAO,eAAE,OAAO;AAAA,EAChB,WAAW,eAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,SAAS,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,eAAE,OAAO,EAAE,SAAS;AAClC,CAAC;AAKI,IAAM,mCAAmC,eAAE,OAAO;AAAA,EACvD,MAAM,eAAE,MAAM,aAAa;AAAA,EAC3B,YAAY;AACd,CAAC;;;ACrBD,IAAAC,eAAkB;AAGX,IAAM,oCAAoC,eAAE,OAAO;AAAA,EACxD,GAAG,eAAE,OAAO;AAAA,EACZ,MAAM,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,OAAO,eAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,OAAO,eAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,UAAU,eAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,MAAM,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,KAAK,eAAE,OAAO,EAAE,SAAS;AAAA,EACzB,KAAK,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAClC,OAAO,eAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,QAAQ,eAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAKM,IAAM,sCAAsC,eAAE,OAAO;AAAA,EAC1D,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,WAAW,eAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,OAAO,eAAE,MAAM,cAAc;AAC/B,CAAC;;;ACzBD,IAAAC,eAAkB;AAGX,IAAM,oCAAoC,eAAE,OAAO;AAAA,EACxD,MAAM,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,GAAG,eAAE,OAAO,EAAE,SAAS;AAAA,EACvB,OAAO,eAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,QAAQ,eAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAKM,IAAM,sCAAsC,eAAE,OAAO;AAAA,EAC1D,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,QAAQ,eAAE,MAAM,iBAAiB;AACnC,CAAC;;;AChBD,IAAAC,eAAkB;AAGX,IAAM,sCAAsC,eAAE,OAAO;AAAA,EAC1D,KAAK,eAAE,OAAO;AAAA,EACd,OAAO,eAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,QAAQ,eAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAKM,IAAM,wCAAwC,eAAE,OAAO;AAAA,EAC5D,MAAM,eAAE,MAAM,aAAa;AAAA,EAC3B,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,OAAO,eAAE,OAAO;AAClB,CAAC;;;AChBD,IAAAC,eAAkB;AASX,IAAM,yBAAyB,gCAAgC,OAAO;AAAA,EAC3E,aAAa,eAAE,OAAO;AAAA,EACtB,SAAS,cAAc,SAAS;AAClC,CAAC;AAGM,IAAM,2BAA2B,eAAE,OAAO;AAAA,EAC/C,MAAM,eAAE,MAAM,aAAa;AAAA,EAC3B,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;;;ACnBD,IAAAC,eAAkB;AAMX,IAAM,8BAA8B,eAAE,OAAO;AAAA,EAClD,SAAS,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACtC,MAAM,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,OAAO,eAAE,OAAO,EAAE,SAAS;AAAA;AAAA;AAAA,EAG3B,eAAe,eAAE,OAAO,EAAE,SAAS;AAAA,EACnC,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA,EAChC,kBAAkB,eAAE,OAAO,EAAE,SAAS;AAAA,EACtC,kBAAkB,eAAE,OAAO,EAAE,SAAS;AAAA,EACtC,YAAY,eAAE,OAAO,EAAE,SAAS;AAAA;AAAA;AAAA,EAGhC,SAAS,cAAc,SAAS;AAClC,CAAC;AAGM,IAAM,gCAAgC,eAAE,OAAO;AAAA,EACpD,MAAM,eAAE,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA,EAI3B,SAAS,eAAE,MAAM,eAAE,OAAO,CAAC;AAAA,EAC3B,YAAY;AACd,CAAC;AAKM,IAAM,wBAAwB,WAAW,OAAO;AAAA,EACrD,eAAe,eAAE,QAAQ;AAC3B,CAAC;AAGM,IAAM,+BAA+B,eAAE,OAAO;AAAA,EACnD,MAAM,eAAE,MAAM,eAAE,OAAO,CAAC;AAC1B,CAAC;AAKM,IAAM,iCAAiC,eAAE,OAAO;AAAA,EACrD,OAAO,eAAE,MAAM,qBAAqB;AAAA,EACpC,6BAA6B,eAAE,OAAO;AACxC,CAAC;AAKM,IAAM,8BAA8B,iBAAiB,OAAO;AAAA,EACjE,sBAAsB,eAAE,QAAQ;AAClC,CAAC;AAGM,IAAM,qCAAqC,eAAE,OAAO;AAAA;AAAA;AAAA,EAGzD,MAAM,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AACrC,CAAC;AAKM,IAAM,uCAAuC,eAAE,OAAO;AAAA,EAC3D,aAAa,eAAE,MAAM,2BAA2B;AAClD,CAAC;;;ACvED,IAAAC,eAAkB;AAOX,IAAM,2BAA2B;AAGjC,IAAM,6BAA6B,eAAE,OAAO;AAAA,EACjD,OAAO,eAAE,MAAM,eAAe;AAAA,EAC9B,OAAO,eAAE,MAAM,eAAe;AAAA,EAC9B,YAAY;AACd,CAAC;;;ACdD,IAAAC,eAAkB;AAGX,IAAM,+BAA+B,yBAAyB,OAAO;AAAA,EAC1E,YAAY,eAAE,OAAO;AACvB,CAAC;;;ACLD,IAAAC,eAAkB;AAEX,IAAM,8BAA8B,eAAE,OAAO;AAAA,EAClD,KAAK,eAAE,OAAO;AAAA,EACd,OAAO,eAAE,OAAO,EAAE,SAAS;AAC7B,CAAC;;;ACUD,SAAS,YACP,MACA,QACA,cACuB;AACvB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,IAAI,aAAuD;AACzD,UAAI,CAAC,YAAa,QAAO;AACzB,YAAM,SAAS,IAAI,gBAAgB;AACnC,iBAAW,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,WAAW,GAAG;AAChD,YAAI,MAAM,UAAa,MAAM,KAAM;AACnC,YAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,YAAE,QAAQ,CAAC,SAAS,OAAO,OAAO,GAAG,IAAI,CAAC;AAAA,QAC5C,OAAO;AACL,iBAAO,OAAO,GAAG,OAAO,CAAC,CAAC;AAAA,QAC5B;AAAA,MACF;AACA,YAAM,KAAK,OAAO,SAAS;AAC3B,aAAO,KAAK,GAAG,IAAI,IAAI,EAAE,KAAK;AAAA,IAChC;AAAA,EACF;AACF;AAEO,IAAM,QAAQ;AAAA;AAAA,EAEnB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,eAAe;AAAA,EACf,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,aAAa;AAAA;AAAA,EAEb,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,wBAAwB;AAAA,EACxB,8BACE;AAAA;AAAA,EAEF,WAAW;AAAA,EACX,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,2BACE;AAAA;AAAA,EAEF,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA;AAAA,EAEd,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,eAAe;AAAA,EACf,mBAAmB;AAAA;AAAA,EAEnB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,aAAa;AAAA;AAAA,EAEb,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA;AAAA,EAElB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,wBAAwB;AAAA;AAAA,EAExB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA;AAAA,EAEd,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,oBAAoB;AAAA,EACpB,oBAAoB;AACtB;AAEO,IAAM,SAAS;AAAA,EACpB,OAAO;AAAA,IACL,iBAAiB,YAAY,MAAM,iBAAiB,QAAQ,IAAI;AAAA,IAChE,kBAAkB,YAAY,MAAM,kBAAkB,QAAQ,IAAI;AAAA,IAClE,qBAAqB,YAAY,MAAM,qBAAqB,QAAQ,IAAI;AAAA,IACxE,qBAAqB,YAAY,MAAM,qBAAqB,QAAQ,IAAI;AAAA,IACxE,YAAY,YAAY,MAAM,YAAY,OAAO,IAAI;AAAA,IACrD,aAAa,YAAY,MAAM,aAAa,OAAO,KAAK;AAAA,IACxD,kBAAkB,YAAY,MAAM,kBAAkB,OAAO,IAAI;AAAA,IACjE,iBAAiB,YAAY,MAAM,iBAAiB,OAAO,KAAK;AAAA,IAChE,iBAAiB,YAAY,MAAM,iBAAiB,OAAO,KAAK;AAAA,IAChE,aAAa,YAAY,MAAM,aAAa,OAAO,KAAK;AAAA,IACxD,UAAU,YAAY,MAAM,UAAU,OAAO,KAAK;AAAA,IAClD,eAAe,YAAY,MAAM,eAAe,OAAO,KAAK;AAAA,IAC5D,UAAU,YAAY,MAAM,UAAU,QAAQ,IAAI;AAAA,IAClD,mBAAmB,YAAY,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IACpE,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,IACA,aAAa,YAAY,MAAM,aAAa,OAAO,KAAK;AAAA,EAC1D;AAAA,EACA,aAAa;AAAA,IACX,eAAe,YAAY,MAAM,eAAe,OAAO,IAAI;AAAA,IAC3D,kBAAkB,YAAY,MAAM,kBAAkB,QAAQ,IAAI;AAAA,IAClE,mBAAmB,YAAY,MAAM,mBAAmB,OAAO,KAAK;AAAA,IACpE,mBAAmB,YAAY,MAAM,mBAAmB,OAAO,KAAK;AAAA,IACpE,gBAAgB,YAAY,MAAM,gBAAgB,OAAO,KAAK;AAAA,IAC9D,kBAAkB,YAAY,MAAM,kBAAkB,QAAQ,IAAI;AAAA,IAClE,kBAAkB,YAAY,MAAM,kBAAkB,QAAQ,IAAI;AAAA,IAClE,mBAAmB,YAAY,MAAM,mBAAmB,OAAO,KAAK;AAAA,IACpE,mBAAmB,YAAY,MAAM,mBAAmB,OAAO,KAAK;AAAA,IACpE,qBAAqB,YAAY,MAAM,qBAAqB,OAAO,KAAK;AAAA,IACxE,WAAW,YAAY,MAAM,qBAAqB,OAAO,KAAK;AAAA,IAC9D,gBAAgB,YAAY,MAAM,0BAA0B,OAAO,KAAK;AAAA,IACxE,cAAc,YAAY,MAAM,wBAAwB,OAAO,KAAK;AAAA,IACpE,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,WAAW,YAAY,MAAM,WAAW,OAAO,IAAI;AAAA,IACnD,aAAa,YAAY,MAAM,aAAa,OAAO,KAAK;AAAA,IACxD,eAAe,YAAY,MAAM,eAAe,OAAO,KAAK;AAAA,IAC5D,eAAe,YAAY,MAAM,eAAe,OAAO,KAAK;AAAA,IAC5D,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,IACA,cAAc,YAAY,MAAM,cAAc,QAAQ,KAAK;AAAA,IAC3D,QAAQ,YAAY,MAAM,QAAQ,QAAQ,IAAI;AAAA,IAC9C,iBAAiB,YAAY,MAAM,iBAAiB,OAAO,IAAI;AAAA,IAC/D,oBAAoB,YAAY,MAAM,oBAAoB,OAAO,IAAI;AAAA,IACrE,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,aAAa,YAAY,MAAM,aAAa,OAAO,IAAI;AAAA,IACvD,cAAc,YAAY,MAAM,cAAc,QAAQ,IAAI;AAAA,IAC1D,cAAc,YAAY,MAAM,cAAc,QAAQ,IAAI;AAAA,IAC1D,cAAc,YAAY,MAAM,cAAc,QAAQ,IAAI;AAAA,EAC5D;AAAA,EACA,OAAO;AAAA,IACL,QAAQ,YAAY,MAAM,YAAY,OAAO,KAAK;AAAA,IAClD,KAAK,YAAY,MAAM,SAAS,OAAO,KAAK;AAAA,IAC5C,WAAW,YAAY,MAAM,eAAe,OAAO,IAAI;AAAA,IACvD,eAAe,YAAY,MAAM,mBAAmB,OAAO,IAAI;AAAA,EACjE;AAAA,EACA,eAAe;AAAA,IACb,iBAAiB,YAAY,MAAM,iBAAiB,OAAO,IAAI;AAAA,IAC/D,aAAa,YAAY,MAAM,aAAa,OAAO,IAAI;AAAA,IACvD,UAAU,YAAY,MAAM,UAAU,QAAQ,IAAI;AAAA,IAClD,aAAa,YAAY,MAAM,aAAa,QAAQ,IAAI;AAAA,EAC1D;AAAA,EACA,aAAa;AAAA,IACX,mBAAmB,YAAY,MAAM,mBAAmB,OAAO,KAAK;AAAA,IACpE,kBAAkB,YAAY,MAAM,kBAAkB,QAAQ,IAAI;AAAA,IAClE,mBAAmB,YAAY,MAAM,mBAAmB,OAAO,KAAK;AAAA,IACpE,kBAAkB,YAAY,MAAM,kBAAkB,QAAQ,IAAI;AAAA,IAClE,kBAAkB,YAAY,MAAM,kBAAkB,QAAQ,IAAI;AAAA,EACpE;AAAA,EACA,QAAQ;AAAA,IACN,aAAa,YAAY,MAAM,aAAa,OAAO,KAAK;AAAA,IACxD,UAAU,YAAY,MAAM,UAAU,OAAO,KAAK;AAAA,IAClD,WAAW,YAAY,MAAM,WAAW,OAAO,KAAK;AAAA,IACpD,iBAAiB,YAAY,MAAM,iBAAiB,OAAO,KAAK;AAAA,IAChE,aAAa,YAAY,MAAM,aAAa,OAAO,KAAK;AAAA,IACxD,aAAa,YAAY,MAAM,aAAa,OAAO,KAAK;AAAA,IACxD,kBAAkB,YAAY,MAAM,kBAAkB,OAAO,IAAI;AAAA,IACjE,wBAAwB;AAAA,MACtB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,WAAW,YAAY,MAAM,WAAW,OAAO,IAAI;AAAA,IACnD,eAAe,YAAY,MAAM,eAAe,OAAO,KAAK;AAAA,IAC5D,cAAc,YAAY,MAAM,cAAc,OAAO,KAAK;AAAA,IAC1D,cAAc,YAAY,MAAM,cAAc,QAAQ,IAAI;AAAA,IAC1D,gBAAgB,YAAY,MAAM,gBAAgB,QAAQ,IAAI;AAAA,IAC9D,gBAAgB,YAAY,MAAM,gBAAgB,OAAO,KAAK;AAAA,IAC9D,mBAAmB,YAAY,MAAM,mBAAmB,OAAO,IAAI;AAAA,IACnE,YAAY,YAAY,MAAM,YAAY,QAAQ,IAAI;AAAA,IACtD,WAAW,YAAY,MAAM,eAAe,OAAO,KAAK;AAAA,IACxD,sBAAsB,YAAY,MAAM,sBAAsB,OAAO,KAAK;AAAA,IAC1E,gBAAgB,YAAY,MAAM,gBAAgB,OAAO,KAAK;AAAA,IAC9D,gBAAgB,YAAY,MAAM,oBAAoB,OAAO,KAAK;AAAA,IAClE,2BAA2B;AAAA,MACzB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,mBAAmB,YAAY,MAAM,mBAAmB,QAAQ,IAAI;AAAA,IACpE,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,IACA,oBAAoB,YAAY,MAAM,oBAAoB,QAAQ,IAAI;AAAA,IACtE,oBAAoB,YAAY,MAAM,oBAAoB,OAAO,IAAI;AAAA,EACvE;AACF;;;AC7QA,IAAAC,eAAkB;AAGX,IAAM,kBAAkB,eAAE,OAAO;AAAA,EACtC,aAAa,eAAE,OAAO;AAAA,EACtB,cAAc,eAAE,OAAO;AACzB,CAAC;AAMM,IAAM,gBAAgB,eAAE,OAAO;AAAA,EACpC,KAAK,eAAE,OAAO;AAAA,EACd,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,eAAE,KAAK;AAAA,EACjB,aAAa,eAAE,KAAK;AACtB,CAAC;AAQM,IAAM,yBAAyB,eAAE,OAAO;AAAA,EAC7C,MAAM,eAAE,OAAO;AAAA,EACf,OAAO,eAAE,OAAO;AAAA,EAChB,KAAK,eAAE,OAAO;AAChB,CAAC;AAOM,IAAM,oBAAoB,eAAE,OAAO;AAAA,EACxC,IAAI,eAAE,OAAO;AAAA,EACb,MAAM,eAAE,OAAO;AAAA,EACf,QAAQ;AAAA,EACR,WAAW,eAAE,OAAO;AAAA,EACpB,WAAW,eAAE,OAAO;AACtB,CAAC;;;AjF1CD,IAAAC,eAAkB;ACAlB,IAAAC,eAA6B;AAC7B,IAAAC,eAAkB;ACDlB,IAAAC,eAA6B;AAC7B,IAAAC,eAAkB;ACDlB,IAAAC,eAA6B;AAC7B,IAAAC,eAAkB;ACDlB,IAAAC,eAA6B;AAC7B,IAAAC,eAAkB;ACDlB,IAAAC,eAA6B;AAC7B,IAAAC,eAAkB;ACDlB,IAAAC,eAA6B;AAC7B,IAAAC,eAAkB;ACDlB,IAAAC,eAA6B;AAC7B,IAAAC,eAAkB;ACDlB,IAAAC,gBAA0D;ARQnD,IAAM,sBAAsB,eAAE,OAAO;EAC1C,SAAS,eAAE,OAAO;EAClB,MAAM,eAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAEM,IAAM,yBAAyB,eAAE,OAAO;EAC7C,MAAM,eAAE,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,eAAE,OAAO,OAAO,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,sBAAsB,eAAE,OAAO;EAC1C,QAAQ,eAAE,OAAO,EAAE,SAAS;EAC5B,WAAW,eAAE,KAAK,CAAC,OAAO,MAAM,CAAC,EAAE,SAAS;AAC9C,CAAC;AAEM,IAAM,8BACX,uBAAuB,MAAM,mBAAmB;AAE3C,IAAM,kCAAkC,uBAAuB,OAAO;EAC3E,QAAQ,oBAAoB,SAAS;EACrC,WAAW,gBAAgB,SAAS;AACtC,CAAC;AAEM,IAAM,wCACX,uBAAuB,OAAO;EAC5B,QAAQ,0BAA0B,SAAS;EAC3C,WAAW,gBAAgB,SAAS;AACtC,CAAC;AAEI,IAAM,wCACX,uBAAuB,OAAO;EAC5B,QAAQ,0BAA0B,SAAS;EAC3C,WAAW,gBAAgB,SAAS;AACtC,CAAC;ADPH,IAAM,QAAI,2BAAa;AAEhB,IAAM,gBAAgB,EAAE;EAC7B;IACE,iBAAiB;MACf,QAAQ;MACR,MAAM,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,8BAA8B;MAChD,SAAS;MACT,aACE;IACJ;IACA,kBAAkB;MAChB,QAAQ;MACR,MAAM,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,+BAA+B;MACjD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,qBAAqB;MACnB,QAAQ;MACR,MAAM,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,kCAAkC;MACpD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,qBAAqB;MACnB,QAAQ;MACR,MAAM,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,wCAAwC;MAC1D,SAAS;MACT,aACE;IACJ;IACA,YAAY;MACV,QAAQ;MACR,MAAM,MAAM;MACZ,OAAO,gCAAgC,OAAO;QAC5C,SAAS,cAAc,SAAS;QAChC,aAAaC,aAAAA,EAAE,OAAO,QAAQ,EAAE,SAAS;QACzC,YAAYA,aAAAA,EAAE,OAAO,EAAE,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,0BAA0B;MAC5C,SAAS;MACT,aACE;IACJ;IACA,aAAa;MACX,QAAQ;MACR,MAAM,MAAM;MACZ,OAAO,2BAA2B,OAAO;QACvC,cAAcA,aAAAA,EAAE,OAAO,QAAQ,EAAE,SAAS;MAC5C,CAAC;MACD,WAAW,EAAE,KAAK,6BAA6B;MAC/C,SAAS;MACT,aACE;IACJ;IACA,kBAAkB;MAChB,QAAQ;MACR,MAAM,MAAM;MACZ,OAAO;MACP,WAAW,EAAE,KAAK,uCAAuC;MACzD,SAAS;MACT,aACE;IACJ;IACA,iBAAiB;MACf,QAAQ;MACR,MAAM,MAAM;MACZ,OAAO,gCAAgC,OAAO;QAC5C,KAAKA,aAAAA,EAAE,OAAO;MAChB,CAAC;MACD,WAAW,EAAE,KAAK,iCAAiC;MACnD,SAAS;MACT,aACE;IACJ;IACA,iBAAiB;MACf,QAAQ;MACR,MAAM,MAAM;MACZ,OAAO,gCAAgC,OAAO;QAC5C,KAAKA,aAAAA,EAAE,OAAO;MAChB,CAAC;MACD,WAAW,EAAE,KAAK,iCAAiC;MACnD,SAAS;MACT,aACE;IACJ;IACA,aAAa;MACX,QAAQ;MACR,MAAM,MAAM;MACZ,OAAO,gCAAgC,OAAO;QAC5C,aAAaA,aAAAA,EAAE,OAAO;QACtB,SAAS,cAAc,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,yBAAyB;MAC3C,SAAS;MACT,aACE;IACJ;IACA,UAAU;MACR,QAAQ;MACR,MAAM,MAAM;MACZ,OAAOA,aAAAA,EAAE,OAAO,EAAE,QAAQA,aAAAA,EAAE,OAAO,EAAE,CAAC;MACtC,WAAW,EAAE,KAAK,6BAA6B;MAC/C,SAAS;MACT,aAAa;IACf;IACA,eAAe;MACb,QAAQ;MACR,MAAM,MAAM;MACZ,OAAOA,aAAAA,EAAE,OAAO,EAAE,QAAQA,aAAAA,EAAE,OAAO,EAAE,CAAC;MACtC,WAAW,EAAE,KAAK,kCAAkC;MACpD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,UAAU;MACR,QAAQ;MACR,MAAM,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,6BAA6B;MAC/C,SAAS;MACT,aAAa;IACf;IACA,mBAAmB;MACjB,QAAQ;MACR,MAAM,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,oCAAoC;MACtD,SAAS;MACT,aAAa;IACf;IACA,uBAAuB;MACrB,QAAQ;MACR,MAAM,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,uCAAuC;MACzD,SAAS;MACT,aAAa;MACb,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,aAAa;MACX,QAAQ;MACR,MAAM,MAAM;MACZ,OAAO,gCAAgC,OAAO;QAC5C,YAAYA,aAAAA,EAAE,OAAO;QACrB,SAAS,cAAc,SAAS;QAChC,aAAaA,aAAAA,EAAE,OAAO,QAAQ,EAAE,SAAS;QACzC,YAAYA,aAAAA,EAAE,OAAO,EAAE,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,0BAA0B;MAC5C,SAAS;MACT,aACE;IACJ;EACF;EACA,EAAE,mBAAmB,KAAK;AAC5B;AE3KA,IAAMC,SAAIC,aAAAA,cAAa;AAEhB,IAAM,sBAAsBD,GAAE;EACnC;IACE,eAAe;MACb,QAAQ;MACR,MAAME,MAAM;MACZ,OAAO,sCAAsC,OAAO;QAClD,YAAYH,aAAAA,EAAE,OAAO,EAAE,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,6BAA6B;MAC/C,SAAS;MACT,aACE;IACJ;IACA,kBAAkB;MAChB,QAAQ;MACR,MAAMG,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,+BAA+B;MACjD,SAAS;MACT,aAAa;IACf;IACA,mBAAmB;MACjB,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAO,sCAAsC,OAAO;QAClD,KAAKH,aAAAA,EAAE,OAAO;MAChB,CAAC;MACD,WAAW,EAAE,KAAK,mCAAmC;MACrD,SAAS;MACT,aAAa;IACf;IACA,mBAAmB;MACjB,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAO,sCAAsC,OAAO;QAClD,YAAYH,aAAAA,EAAE,OAAO,EAAE,SAAS;QAChC,YAAYA,aAAAA,EAAE,OAAO,EAAE,SAAS;QAChC,YAAY,2BAA2B,SAAS;MAClD,CAAC;MACD,WAAW,EAAE,KAAK,6BAA6B;MAC/C,SAAS;MACT,aACE;IACJ;IACA,gBAAgB;MACd,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAO,gCAAgC,OAAO;QAC5C,cAAcH,aAAAA,EAAE,OAAO;QACvB,SAASI,cAAc,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,gCAAgC;MAClD,SAAS;MACT,aACE;IACJ;IACA,kBAAkB;MAChB,QAAQ;MACR,MAAMD,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,+BAA+B;MACjD,SAAS;MACT,aACE;IACJ;IACA,kBAAkB;MAChB,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,+BAA+B;MACjD,SAAS;MACT,aACE;IACJ;IACA,mBAAmB;MACjB,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAO,sCAAsC,OAAO;QAClD,YAAYH,aAAAA,EAAE,OAAO;QACrB,YAAYA,aAAAA,EAAE,OAAO,EAAE,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,6BAA6B;MAC/C,SAAS;MACT,aACE;IACJ;IACA,mBAAmB;MACjB,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAO,gCAAgC,OAAO;QAC5C,QAAQH,aAAAA,EAAE,OAAO;QACjB,WAAWA,aAAAA,EAAE,OAAO;QACpB,SAASI,cAAc,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,gCAAgC;MAClD,SAAS;MACT,aACE;IACJ;IACA,qBAAqB;MACnB,QAAQ;MACR,MAAMD,MAAM;MACZ,OAAO,sCAAsC,OAAO;QAClD,YAAYH,aAAAA,EAAE,OAAO;MACvB,CAAC;MACD,WAAW,EAAE,KAAK,6BAA6B;MAC/C,SAAS;MACT,aACE;IACJ;IACA,qBAAqB;MACnB,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,cAAcA,aAAAA,EAAE,OAAO;QACvB,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,qCAAqC;MACvD,SAAS;MACT,aAAa;IACf;IACA,0BAA0B;MACxB,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAO;MACP,WAAW,EAAE,KAAK,6BAA6B;MAC/C,SAAS;MACT,aAAa;IACf;IACA,8BAA8B;MAC5B,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,KAAKA,aAAAA,EAAE,OAAO;QACd,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,8CAA8C;MAChE,SAAS;MACT,aACE;IACJ;IACA,wBAAwB;MACtB,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,cAAcA,aAAAA,EAAE,OAAO;QACvB,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,wCAAwC;MAC1D,SAAS;MACT,aAAa;IACf;EACF;EACA,EAAE,mBAAmB,KAAK;AAC5B;ACjKA,IAAMC,SAAIC,aAAAA,cAAa;AAEhB,IAAM,gBAAgBD,GAAE;EAC7B;IACE,WAAW;MACT,QAAQ;MACR,MAAME,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,cAAcA,aAAAA,EAAE,OAAO,QAAQ,EAAE,SAAS;MAC5C,CAAC;MACD,WAAW,EAAE,KAAK,WAAW;MAC7B,SAAS;MACT,aAAa;IACf;IACA,aAAa;MACX,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAO,uBAAuB,OAAO;QACnC,cAAcH,aAAAA,EAAE,OAAO,QAAQ,EAAE,SAAS;MAC5C,CAAC;MACD,WAAW,EAAE,KAAK,yBAAyB;MAC3C,SAAS;MACT,aACE;IACJ;IACA,eAAe;MACb,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAO;MACP,WAAW,EAAE,KAAK,kCAAkC;MACpD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,eAAe;MACb,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAO;MACP,WAAW,EAAE,KAAK,kCAAkC;MACpD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,sBAAsB;MACpB,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,mCAAmC;MACrD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,cAAc;MACZ,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,iCAAiC;MACnD,SAAS;MACT,aAAa;MACb,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,QAAQ;MACN,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAMH,aAAAA,EAAE,OAAO,CAAC,CAAC;MACjB,WAAW,EAAE,KAAKA,aAAAA,EAAE,OAAO,EAAE,SAASA,aAAAA,EAAE,QAAQ,EAAE,CAAC,EAAE;MACrD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,iBAAiB;MACf,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO,CAAC,CAAC;MAClB,WAAW,EAAE,KAAK,sCAAsC;MACxD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,aAAa;MACX,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO,CAAC,CAAC;MAClB,WAAW,EAAE,KAAK,0BAA0B;MAC5C,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,cAAc;MACZ,QAAQ;MACR,MAAMG,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,2BAA2B;MAC7C,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,cAAc;MACZ,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,2BAA2B;MAC7C,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,cAAc;MACZ,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,2BAA2B;MAC7C,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,oBAAoB;MAClB,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO,CAAC,CAAC;MAClB,WAAW,EAAE,KAAK,iCAAiC;MACnD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,uBAAuB;MACrB,QAAQ;MACR,MAAMG,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,oCAAoC;MACtD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;EACF;EACA,EAAE,mBAAmB,KAAK;AAC5B;ACrKA,IAAMF,SAAIC,aAAAA,cAAa;AAEvB,IAAM,YAAYF,aAAAA,EAAE,OAAO;EACzB,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;EACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;EAClC,SAASI,cAAc,SAAS;EAChC,QAAQ,qBAAqB,SAAS;EACtC,eAAeJ,aAAAA,EAAE,MAAMA,aAAAA,EAAE,OAAO,CAAC,EAAE,SAAS;EAC5C,UAAUA,aAAAA,EAAE,MAAMA,aAAAA,EAAE,OAAO,CAAC,EAAE,SAAS;EACvC,kBAAkBA,aAAAA,EAAE,OAAO,QAAQ,EAAE,SAAS;AAChD,CAAC;AAEM,IAAM,gBAAgBC,GAAE;EAC7B;IACE,YAAY;MACV,QAAQ;MACR,MAAME,MAAM;MACZ,OAAO,UAAU,OAAO;QACtB,kBAAkBH,aAAAA,EAAE,OAAO,EAAE,SAAS;MACxC,CAAC;MACD,WAAW,EAAE,KAAK,4BAA4B;MAC9C,SAAS;MACT,aACE;IACJ;IACA,SAAS;MACP,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAO;MACP,WAAW,EAAE,KAAK,4BAA4B;MAC9C,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,eAAe;MACb,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAO,UAAU,OAAO;QACtB,kBAAkBH,aAAAA,EAAE,OAAO,EAAE,SAAS;MACxC,CAAC;MACD,WAAW,EAAE,KAAK,4BAA4B;MAC9C,SAAS;MACT,aACE;IACJ;IACA,mBAAmB;MACjB,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAO,UAAU,KAAK,EAAE,UAAU,KAAK,CAAC,EAAE,OAAO;QAC/C,kBAAkBH,aAAAA,EAAE,OAAO,EAAE,SAAS;QACtC,YAAYA,aAAAA,EAAE,OAAO,EAAE,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,4BAA4B;MAC9C,SAAS;MACT,aACE;IACJ;EACF;EACA,EAAE,mBAAmB,KAAK;AAC5B;ACzDA,IAAMC,SAAIC,aAAAA,cAAa;AAEhB,IAAM,wBAAwBD,GAAE;EACrC;IACE,iBAAiB;MACf,QAAQ;MACR,MAAME,MAAM;MACZ,OAAO,4BAA4B,OAAO;QACxC,YAAYH,aAAAA,EAAE,OAAO,QAAQ,EAAE,SAAS;MAC1C,CAAC;MACD,WAAW,EAAE,KAAK,iCAAiC;MACnD,SAAS;MACT,aAAa;IACf;IACA,aAAa;MACX,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO,CAAC,CAAC;MAClB,WAAW,EAAE,KAAK,yCAAyC;MAC3D,SAAS;MACT,aACE;IACJ;IACA,UAAU;MACR,QAAQ;MACR,MAAMG,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,sCAAsC;MACxD,SAAS;MACT,aAAa;IACf;IACA,aAAa;MACX,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAMH,aAAAA,EAAE,OAAO,CAAC,CAAC;MACjB,WAAW,EAAE,KAAK,yCAAyC;MAC3D,SAAS;MACT,aACE;IACJ;EACF;EACA,EAAE,mBAAmB,KAAK;AAC5B;ACtCA,IAAMC,SAAIC,aAAAA,cAAa;AAEhB,IAAM,sBAAsBD,GAAE;EACnC;IACE,mBAAmB;MACjB,QAAQ;MACR,MAAME,MAAM;MACZ,OAAO,sCAAsC,OAAO;QAClD,KAAKH,aAAAA,EAAE,OAAO;QACd,WAAWA,aAAAA,EAAE,KAAK,CAAC,WAAW,YAAY,MAAM,CAAC,EAAE,SAAS;QAC5D,iBAAiBA,aAAAA,EAAE,MAAM,oBAAoB,EAAE,SAAS;MAC1D,CAAC;MACD,WAAW,EAAE,KAAK,mCAAmC;MACrD,SAAS;MACT,aACE;IACJ;IACA,kBAAkB;MAChB,QAAQ;MACR,MAAMG,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,+BAA+B;MACjD,SAAS;MACT,aACE;IACJ;IACA,mBAAmB;MACjB,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAO,sCAAsC,OAAO;QAClD,YAAYH,aAAAA,EAAE,OAAO;QACrB,iBAAiBA,aAAAA,EAAE,MAAM,oBAAoB,EAAE,SAAS;MAC1D,CAAC;MACD,WAAW,EAAE,KAAK,6BAA6B;MAC/C,SAAS;MACT,aACE;IACJ;IACA,kBAAkB;MAChB,QAAQ;MACR,MAAMG,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,+BAA+B;MACjD,SAAS;MACT,aACE;IACJ;IACA,kBAAkB;MAChB,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,+BAA+B;MACjD,SAAS;MACT,aACE;IACJ;EACF;EACA,EAAE,mBAAmB,KAAK;AAC5B;ACzDA,IAAMF,SAAIC,aAAAA,cAAa;AAEhB,IAAM,iBAAiBD,GAAE;EAC9B;IACE,aAAa;MACX,QAAQ;MACR,MAAME,MAAM;MACZ,OAAO,4BAA4B,OAAO;QACxC,KAAKH,aAAAA,EAAE,OAAO;QACd,WAAWA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACtC,SAASI,cAAc,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,mCAAmC;MACrD,SAAS;MACT,aACE;IACJ;IACA,UAAU;MACR,QAAQ;MACR,MAAMD,MAAM;MACZ,OAAO,4BAA4B,OAAO;QACxC,OAAOH,aAAAA,EAAE,OAAO;QAChB,WAAWA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACtC,SAASI,cAAc,SAAS;QAChC,YAAYJ,aAAAA,EAAE,OAAO,EAAE,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,iCAAiC;MACnD,SAAS;MACT,aACE;IACJ;IACA,WAAW;MACT,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,GAAGA,aAAAA,EAAE,OAAO;QACZ,MAAMA,aAAAA,EAAE,OAAO,EAAE,SAAS;QAC1B,OAAOA,aAAAA,EAAE,OAAO,EAAE,SAAS;QAC3B,OAAOA,aAAAA,EAAE,OAAO,EAAE,SAAS;QAC3B,UAAUA,aAAAA,EAAE,OAAO,EAAE,SAAS;QAC9B,QAAQA,aAAAA,EAAE,OAAO,EAAE,SAAS;QAC5B,MAAMA,aAAAA,EAAE,OAAO,EAAE,SAAS;QAC1B,QAAQA,aAAAA,EAAE,OAAO,EAAE,SAAS;QAC5B,KAAKA,aAAAA,EAAE,OAAO,EAAE,SAAS;QACzB,KAAKA,aAAAA,EAAE,MAAMA,aAAAA,EAAE,OAAO,CAAC,EAAE,SAAS;QAClC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QAClC,QAAQA,aAAAA,EAAE,OAAO,EAAE,SAAS;MAC9B,CAAC;MACD,WAAW,EAAE,KAAK,oCAAoC;MACtD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,iBAAiB;MACf,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,MAAMA,aAAAA,EAAE,OAAO,EAAE,SAAS;QAC1B,GAAGA,aAAAA,EAAE,OAAO,EAAE,SAAS;QACvB,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QAClC,QAAQA,aAAAA,EAAE,OAAO,EAAE,SAAS;MAC9B,CAAC;MACD,WAAW,EAAE,KAAK,oCAAoC;MACtD,SAAS;MACT,aACE;IACJ;IACA,aAAa;MACX,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,KAAKA,aAAAA,EAAE,OAAO;QACd,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QAClC,QAAQA,aAAAA,EAAE,OAAO,EAAE,SAAS;MAC9B,CAAC;MACD,WAAW,EAAE,KAAK,sCAAsC;MACxD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,aAAa;MACX,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;;QAEd,SAASA,aAAAA,EAAE,MAAM,CAACA,aAAAA,EAAE,OAAO,GAAGA,aAAAA,EAAE,MAAMA,aAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS;QAC7D,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;;QAElC,eAAeA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QAC1C,YAAYA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACvC,kBAAkBA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QAC7C,kBAAkBA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QAC7C,YAAYA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACvC,SAASI,cAAc,SAAS;MAClC,CAAC;MACD,WAAW,EAAE,KAAK,8BAA8B;MAChD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,kBAAkB;MAChB,QAAQ;MACR,MAAMD,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;;QAEd,MAAMA,aAAAA,EAAE,MAAM,CAACA,aAAAA,EAAE,OAAO,GAAGA,aAAAA,EAAE,MAAMA,aAAAA,EAAE,OAAO,CAAC,CAAC,CAAC;MACjD,CAAC;MACD,WAAW,EAAE,KAAK,+BAA+B;MACjD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,wBAAwB;MACtB,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;;;;QAId,MAAMA,aAAAA,EAAE,MAAM,CAACA,aAAAA,EAAE,OAAO,GAAGA,aAAAA,EAAE,MAAMA,aAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS;MAC5D,CAAC;MACD,WAAW,EAAE,KAAK,qCAAqC;MACvD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;EACF;EACA,EAAE,mBAAmB,KAAK;AAC5B;AC7HA,IAAMC,SAAIC,aAAAA,cAAa;AAEvB,IAAM,sBAAsBF,aAAAA,EAAE,OAAO,EAAE,OAAOA,aAAAA,EAAE,OAAO,EAAE,CAAC;AAEnD,IAAM,gBAAgBC,GAAE;EAC7B;IACE,WAAW;MACT,QAAQ;MACR,MAAME,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,2BAA2B;MAC7C,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,eAAe;MACb,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,YAAYA,aAAAA,EAAE,OAAO;QACrB,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,2BAA2B;MAC7C,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,cAAc;MACZ,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,KAAKA,aAAAA,EAAE,OAAO;QACd,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,2BAA2B;MAC7C,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,cAAc;MACZ,QAAQ;MACR,MAAMG,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,2BAA2B;MAC7C,SAAS;MACT,aACE;IACJ;IACA,gBAAgB;MACd,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAKH,aAAAA,EAAE,OAAO,EAAE,SAASA,aAAAA,EAAE,QAAQ,EAAE,CAAC,EAAE;MACrD,SAAS;MACT,aACE;IACJ;IACA,gBAAgB;MACd,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,YAAYA,aAAAA,EAAE,OAAO;QACrB,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,gCAAgC;MAClD,SAAS;MACT,aACE;IACJ;IACA,mBAAmB;MACjB,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,mCAAmC;MACrD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,YAAY;MACV,QAAQ;MACR,MAAMG,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,8BAA8B;MAChD,SAAS;MACT,aACE;MACF,UAAU,EAAE,UAAU,KAAK;IAC7B;IACA,eAAe;MACb,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,YAAYA,aAAAA,EAAE,OAAO;QACrB,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,2BAA2B;MAC7C,SAAS;MACT,aACE;IACJ;IACA,sBAAsB;MACpB,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAOH,aAAAA,EAAE,OAAO;QACd,YAAYA,aAAAA,EAAE,OAAO;QACrB,MAAMA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,sCAAsC;MACxD,SAAS;MACT,aACE;IACJ;IACA,gBAAgB;MACd,QAAQ;MACR,MAAMG,MAAM;MACZ,OAAO;MACP,WAAW,EAAE,KAAK,oBAAoB;MACtC,SAAS;MACT,aAAa;IACf;IACA,oBAAoB;MAClB,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAO;MACP,WAAW,EAAE,KAAK,oBAAoB;MACtC,SAAS;MACT,aAAa;IACf;IACA,2BAA2B;MACzB,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAO;MACP,WAAW,EAAE,KAAK,oBAAoB;MACtC,SAAS;MACT,aAAa;IACf;IACA,mBAAmB;MACjB,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,gCAAgC;MAClD,SAAS;MACT,aACE;IACJ;IACA,uBAAuB;MACrB,QAAQ;MACR,MAAMA,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAKH,aAAAA,EAAE,OAAO,EAAE,SAASA,aAAAA,EAAE,QAAQ,EAAE,CAAC,EAAE;MACrD,SAAS;MACT,aACE;IACJ;IACA,oBAAoB;MAClB,QAAQ;MACR,MAAMG,MAAM;MACZ,MAAM;MACN,WAAW,EAAE,KAAK,iCAAiC;MACnD,SAAS;MACT,aACE;IACJ;IACA,oBAAoB;MAClB,QAAQ;MACR,MAAMA,MAAM;MACZ,OAAO,+BAA+B,OAAO;QAC3C,MAAMH,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;QACjC,OAAOA,aAAAA,EAAE,OAAO,OAAO,EAAE,SAAS;MACpC,CAAC;MACD,WAAW,EAAE,KAAK,iCAAiC;MACnD,SAAS;MACT,aACE;IACJ;EACF;EACA,EAAE,mBAAmB,KAAK;AAC5B;ACrNA,IAAM,aAAa,CAAC,UACjB,MAAM,UAA2C,aAAa;AAsB1D,SAAS,mBACd,QACiB;AACjB,QAAM,MAAiB,CAAC;AACxB,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,YAAI,0BAAW,KAAK,GAAG;AACrB,UAAI,CAAC,WAAW,KAAK,EAAG,KAAI,GAAG,IAAI;IACrC,OAAO;AACL,YAAM,MAAM,mBAAmB,KAAkB;AACjD,UAAI,OAAO,KAAK,GAAG,EAAE,SAAS,EAAG,KAAI,GAAG,IAAI;IAC9C;EACF;AACA,SAAO;AACT;AV7BA,IAAMC,SAAIC,YAAAA,cAAa;AAahB,IAAM,WAAyBD,GAAE,OAAO;EAC7C,OAAO;EACP,aAAa;EACb,OAAO;EACP,OAAO;EACP,eAAe;EACf,aAAa;EACb,QAAQ;EACR,OAAO;AACT,CAAqB;AAEd,IAAM,iBAAiB,mBAAmB,QAAQ;;;ADnBlD,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,UAAU;AACZ,IAII,CAAC,GAAG;AACN,aAAO,0BAAW,gBAAgB;AAAA,IAChC;AAAA,IACA,aAAa;AAAA,MACX,GAAI,SAAS,EAAE,aAAa,OAAO,IAAI,CAAC;AAAA,MACxC,GAAI,SAAS,EAAE,mBAAmB,OAAO,IAAI,CAAC;AAAA,IAChD;AAAA,EACF,CAAC;AACH;","names":["import_core","import_core","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_core","import_zod","import_core","import_zod","import_core","import_zod","import_core","import_zod","import_core","import_zod","import_core","import_zod","import_core","import_zod","import_core","z","c","initContract","paths","UrlTypeSchema"]}