{"version":3,"sources":["../../src/stores-catalog-v3-inventory-item-inventory-items-v-3.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const CreateInventoryItemRequest = z.object({\n  inventoryItem: z\n    .intersection(\n      z.object({\n        _id: z\n          .string()\n          .describe('Inventory item ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        revision: z\n          .string()\n          .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n          .describe(\n            'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n          )\n          .optional()\n          .nullable(),\n        _createdDate: z\n          .date()\n          .describe('Date and time the inventory item was created.')\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe('Date and time the inventory item was last updated.')\n          .optional()\n          .nullable(),\n        variantId: z\n          .string()\n          .describe('Variant ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          ),\n        locationId: z\n          .string()\n          .describe(\n            \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        productId: z.string().describe('Product ID.').min(1).max(36),\n        trackQuantity: z\n          .boolean()\n          .describe('Whether the quantity is being tracked.')\n          .optional(),\n        availabilityStatus: z\n          .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n          .optional(),\n        preorderInfo: z\n          .object({\n            enabled: z\n              .boolean()\n              .describe(\n                \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n              )\n              .optional()\n              .nullable(),\n            message: z\n              .string()\n              .describe(\n                'Message displayed to customers when the item is out of stock and preorder is enabled.'\n              )\n              .min(1)\n              .max(250)\n              .optional()\n              .nullable(),\n            limit: z\n              .number()\n              .int()\n              .describe(\n                'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n              )\n              .min(0)\n              .max(100000)\n              .optional()\n              .nullable(),\n            counter: z\n              .number()\n              .int()\n              .describe(\n                'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n              )\n              .min(0)\n              .max(99999)\n              .optional()\n              .nullable(),\n            quantity: z\n              .number()\n              .int()\n              .describe(\n                'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n          )\n          .optional(),\n        product: z\n          .object({\n            name: z\n              .string()\n              .describe('Product name.')\n              .max(80)\n              .optional()\n              .nullable(),\n            directCategoryIds: z.array(z.string()).max(2000).optional(),\n            variantName: z\n              .string()\n              .describe('Variant name.')\n              .min(1)\n              .max(250)\n              .optional()\n              .nullable(),\n            variantSku: z\n              .string()\n              .describe('Variant SKU (stock keeping unit).')\n              .min(1)\n              .max(40)\n              .optional()\n              .nullable(),\n            variantVisible: z\n              .boolean()\n              .describe('Whether the variant is visible in the store.')\n              .optional()\n              .nullable(),\n          })\n          .describe('Associated product and variant details.')\n          .optional(),\n        extendedFields: z\n          .object({\n            namespaces: z\n              .record(z.string(), z.record(z.string(), z.any()))\n              .describe(\n                'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n              )\n              .optional(),\n          })\n          .describe(\n            'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n          )\n          .optional(),\n      }),\n      z.xor([\n        z.object({\n          quantity: z.never().optional(),\n          inStock: z\n            .boolean()\n            .describe(\n              \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n            ),\n        }),\n        z.object({\n          inStock: z.never().optional(),\n          quantity: z\n            .number()\n            .int()\n            .describe(\n              'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n            )\n            .min(-99999)\n            .max(99999),\n        }),\n      ])\n    )\n    .describe('Inventory item to create.'),\n});\nexport const CreateInventoryItemResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Inventory item ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    revision: z\n      .string()\n      .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n      .describe(\n        'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n      )\n      .optional()\n      .nullable(),\n    _createdDate: z\n      .date()\n      .describe('Date and time the inventory item was created.')\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe('Date and time the inventory item was last updated.')\n      .optional()\n      .nullable(),\n    variantId: z\n      .string()\n      .describe('Variant ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional(),\n    locationId: z\n      .string()\n      .describe(\n        \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    productId: z.string().describe('Product ID.').min(1).max(36).optional(),\n    trackQuantity: z\n      .boolean()\n      .describe('Whether the quantity is being tracked.')\n      .optional(),\n    availabilityStatus: z\n      .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n      .describe('Inventory item availability status.')\n      .optional(),\n    preorderInfo: z\n      .object({\n        enabled: z\n          .boolean()\n          .describe(\n            \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n          )\n          .optional()\n          .nullable(),\n        message: z\n          .string()\n          .describe(\n            'Message displayed to customers when the item is out of stock and preorder is enabled.'\n          )\n          .min(1)\n          .max(250)\n          .optional()\n          .nullable(),\n        limit: z\n          .number()\n          .int()\n          .describe(\n            'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n          )\n          .min(0)\n          .max(100000)\n          .optional()\n          .nullable(),\n        counter: z\n          .number()\n          .int()\n          .describe(\n            'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n          )\n          .min(0)\n          .max(99999)\n          .optional()\n          .nullable(),\n        quantity: z\n          .number()\n          .int()\n          .describe(\n            'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n          )\n          .optional()\n          .nullable(),\n      })\n      .describe(\n        \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n      )\n      .optional(),\n    product: z\n      .object({\n        name: z\n          .string()\n          .describe('Product name.')\n          .max(80)\n          .optional()\n          .nullable(),\n        directCategoryIds: z.array(z.string()).max(2000).optional(),\n        variantName: z\n          .string()\n          .describe('Variant name.')\n          .min(1)\n          .max(250)\n          .optional()\n          .nullable(),\n        variantSku: z\n          .string()\n          .describe('Variant SKU (stock keeping unit).')\n          .min(1)\n          .max(40)\n          .optional()\n          .nullable(),\n        variantVisible: z\n          .boolean()\n          .describe('Whether the variant is visible in the store.')\n          .optional()\n          .nullable(),\n      })\n      .describe('Associated product and variant details.')\n      .optional(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe(\n        'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n      )\n      .optional(),\n  }),\n  z.xor([\n    z.object({ inStock: z.never().optional(), quantity: z.never().optional() }),\n    z.object({\n      quantity: z.never().optional(),\n      inStock: z\n        .boolean()\n        .describe(\n          \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n        ),\n    }),\n    z.object({\n      inStock: z.never().optional(),\n      quantity: z\n        .number()\n        .int()\n        .describe(\n          'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n        )\n        .min(-99999)\n        .max(99999),\n    }),\n  ])\n);\nexport const BulkCreateInventoryItemsRequest = z.object({\n  inventoryItems: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Inventory item ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n            .describe(\n              'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n            )\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe('Date and time the inventory item was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the inventory item was last updated.')\n            .optional()\n            .nullable(),\n          variantId: z\n            .string()\n            .describe('Variant ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            ),\n          locationId: z\n            .string()\n            .describe(\n              \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          productId: z.string().describe('Product ID.').min(1).max(36),\n          trackQuantity: z\n            .boolean()\n            .describe('Whether the quantity is being tracked.')\n            .optional(),\n          availabilityStatus: z\n            .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n            .optional(),\n          preorderInfo: z\n            .object({\n              enabled: z\n                .boolean()\n                .describe(\n                  \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                )\n                .optional()\n                .nullable(),\n              message: z\n                .string()\n                .describe(\n                  'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                )\n                .min(1)\n                .max(250)\n                .optional()\n                .nullable(),\n              limit: z\n                .number()\n                .int()\n                .describe(\n                  'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                )\n                .min(0)\n                .max(100000)\n                .optional()\n                .nullable(),\n              counter: z\n                .number()\n                .int()\n                .describe(\n                  'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                )\n                .min(0)\n                .max(99999)\n                .optional()\n                .nullable(),\n              quantity: z\n                .number()\n                .int()\n                .describe(\n                  'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n            )\n            .optional(),\n          product: z\n            .object({\n              name: z\n                .string()\n                .describe('Product name.')\n                .max(80)\n                .optional()\n                .nullable(),\n              directCategoryIds: z.array(z.string()).max(2000).optional(),\n              variantName: z\n                .string()\n                .describe('Variant name.')\n                .min(1)\n                .max(250)\n                .optional()\n                .nullable(),\n              variantSku: z\n                .string()\n                .describe('Variant SKU (stock keeping unit).')\n                .min(1)\n                .max(40)\n                .optional()\n                .nullable(),\n              variantVisible: z\n                .boolean()\n                .describe('Whether the variant is visible in the store.')\n                .optional()\n                .nullable(),\n            })\n            .describe('Associated product and variant details.')\n            .optional(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe(\n              'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            quantity: z.never().optional(),\n            inStock: z\n              .boolean()\n              .describe(\n                \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n              ),\n          }),\n          z.object({\n            inStock: z.never().optional(),\n            quantity: z\n              .number()\n              .int()\n              .describe(\n                'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n              )\n              .min(-99999)\n              .max(99999),\n          }),\n        ])\n      )\n    )\n    .min(1)\n    .max(1000),\n  options: z\n    .object({\n      returnEntity: z\n        .boolean()\n        .describe(\n          'Whether to return the full inventory item entities in the response.\\n\\nDefault: `false`'\n        )\n        .optional(),\n    })\n    .optional(),\n});\nexport const BulkCreateInventoryItemsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Bulk action metadata for inventory item.')\n          .optional(),\n        item: z\n          .intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Inventory item ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n                )\n                .optional()\n                .nullable(),\n              _createdDate: z\n                .date()\n                .describe('Date and time the inventory item was created.')\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe('Date and time the inventory item was last updated.')\n                .optional()\n                .nullable(),\n              variantId: z\n                .string()\n                .describe('Variant ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional(),\n              locationId: z\n                .string()\n                .describe(\n                  \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              productId: z\n                .string()\n                .describe('Product ID.')\n                .min(1)\n                .max(36)\n                .optional(),\n              trackQuantity: z\n                .boolean()\n                .describe('Whether the quantity is being tracked.')\n                .optional(),\n              availabilityStatus: z\n                .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n                .describe('Inventory item availability status.')\n                .optional(),\n              preorderInfo: z\n                .object({\n                  enabled: z\n                    .boolean()\n                    .describe(\n                      \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                    )\n                    .optional()\n                    .nullable(),\n                  message: z\n                    .string()\n                    .describe(\n                      'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                    )\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  limit: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                    )\n                    .min(0)\n                    .max(100000)\n                    .optional()\n                    .nullable(),\n                  counter: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                    )\n                    .min(0)\n                    .max(99999)\n                    .optional()\n                    .nullable(),\n                  quantity: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n                )\n                .optional(),\n              product: z\n                .object({\n                  name: z\n                    .string()\n                    .describe('Product name.')\n                    .max(80)\n                    .optional()\n                    .nullable(),\n                  directCategoryIds: z.array(z.string()).max(2000).optional(),\n                  variantName: z\n                    .string()\n                    .describe('Variant name.')\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  variantSku: z\n                    .string()\n                    .describe('Variant SKU (stock keeping unit).')\n                    .min(1)\n                    .max(40)\n                    .optional()\n                    .nullable(),\n                  variantVisible: z\n                    .boolean()\n                    .describe('Whether the variant is visible in the store.')\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Associated product and variant details.')\n                .optional(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z.never().optional(),\n              }),\n              z.object({\n                quantity: z.never().optional(),\n                inStock: z\n                  .boolean()\n                  .describe(\n                    \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n                  ),\n              }),\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n                  )\n                  .min(-99999)\n                  .max(99999),\n              }),\n            ])\n          )\n          .describe(\n            'Full inventory item entity.\\n\\nReturned only if `returnEntity: true` is passed in the request.'\n          )\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(1000)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk action metadata.')\n    .optional(),\n});\nexport const GetInventoryItemRequest = z.object({\n  inventoryItemId: z\n    .string()\n    .describe('Inventory item ID.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const GetInventoryItemResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Inventory item ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    revision: z\n      .string()\n      .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n      .describe(\n        'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n      )\n      .optional()\n      .nullable(),\n    _createdDate: z\n      .date()\n      .describe('Date and time the inventory item was created.')\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe('Date and time the inventory item was last updated.')\n      .optional()\n      .nullable(),\n    variantId: z\n      .string()\n      .describe('Variant ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional(),\n    locationId: z\n      .string()\n      .describe(\n        \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    productId: z.string().describe('Product ID.').min(1).max(36).optional(),\n    trackQuantity: z\n      .boolean()\n      .describe('Whether the quantity is being tracked.')\n      .optional(),\n    availabilityStatus: z\n      .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n      .describe('Inventory item availability status.')\n      .optional(),\n    preorderInfo: z\n      .object({\n        enabled: z\n          .boolean()\n          .describe(\n            \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n          )\n          .optional()\n          .nullable(),\n        message: z\n          .string()\n          .describe(\n            'Message displayed to customers when the item is out of stock and preorder is enabled.'\n          )\n          .min(1)\n          .max(250)\n          .optional()\n          .nullable(),\n        limit: z\n          .number()\n          .int()\n          .describe(\n            'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n          )\n          .min(0)\n          .max(100000)\n          .optional()\n          .nullable(),\n        counter: z\n          .number()\n          .int()\n          .describe(\n            'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n          )\n          .min(0)\n          .max(99999)\n          .optional()\n          .nullable(),\n        quantity: z\n          .number()\n          .int()\n          .describe(\n            'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n          )\n          .optional()\n          .nullable(),\n      })\n      .describe(\n        \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n      )\n      .optional(),\n    product: z\n      .object({\n        name: z\n          .string()\n          .describe('Product name.')\n          .max(80)\n          .optional()\n          .nullable(),\n        directCategoryIds: z.array(z.string()).max(2000).optional(),\n        variantName: z\n          .string()\n          .describe('Variant name.')\n          .min(1)\n          .max(250)\n          .optional()\n          .nullable(),\n        variantSku: z\n          .string()\n          .describe('Variant SKU (stock keeping unit).')\n          .min(1)\n          .max(40)\n          .optional()\n          .nullable(),\n        variantVisible: z\n          .boolean()\n          .describe('Whether the variant is visible in the store.')\n          .optional()\n          .nullable(),\n      })\n      .describe('Associated product and variant details.')\n      .optional(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe(\n        'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n      )\n      .optional(),\n  }),\n  z.xor([\n    z.object({ inStock: z.never().optional(), quantity: z.never().optional() }),\n    z.object({\n      quantity: z.never().optional(),\n      inStock: z\n        .boolean()\n        .describe(\n          \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n        ),\n    }),\n    z.object({\n      inStock: z.never().optional(),\n      quantity: z\n        .number()\n        .int()\n        .describe(\n          'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n        )\n        .min(-99999)\n        .max(99999),\n    }),\n  ])\n);\nexport const UpdateInventoryItemRequest = z.object({\n  _id: z\n    .string()\n    .describe('Inventory item ID.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  inventoryItem: z\n    .intersection(\n      z.object({\n        _id: z\n          .string()\n          .describe('Inventory item ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        revision: z\n          .string()\n          .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n          .describe(\n            'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n          ),\n        _createdDate: z\n          .date()\n          .describe('Date and time the inventory item was created.')\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe('Date and time the inventory item was last updated.')\n          .optional()\n          .nullable(),\n        variantId: z\n          .string()\n          .describe('Variant ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        locationId: z\n          .string()\n          .describe(\n            \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n          )\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        productId: z.string().describe('Product ID.').min(1).max(36).optional(),\n        trackQuantity: z\n          .boolean()\n          .describe('Whether the quantity is being tracked.')\n          .optional(),\n        availabilityStatus: z\n          .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n          .optional(),\n        preorderInfo: z\n          .object({\n            enabled: z\n              .boolean()\n              .describe(\n                \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n              )\n              .optional()\n              .nullable(),\n            message: z\n              .string()\n              .describe(\n                'Message displayed to customers when the item is out of stock and preorder is enabled.'\n              )\n              .min(1)\n              .max(250)\n              .optional()\n              .nullable(),\n            limit: z\n              .number()\n              .int()\n              .describe(\n                'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n              )\n              .min(0)\n              .max(100000)\n              .optional()\n              .nullable(),\n            counter: z\n              .number()\n              .int()\n              .describe(\n                'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n              )\n              .min(0)\n              .max(99999)\n              .optional()\n              .nullable(),\n            quantity: z\n              .number()\n              .int()\n              .describe(\n                'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n          )\n          .optional(),\n        product: z\n          .object({\n            name: z\n              .string()\n              .describe('Product name.')\n              .max(80)\n              .optional()\n              .nullable(),\n            directCategoryIds: z.array(z.string()).max(2000).optional(),\n            variantName: z\n              .string()\n              .describe('Variant name.')\n              .min(1)\n              .max(250)\n              .optional()\n              .nullable(),\n            variantSku: z\n              .string()\n              .describe('Variant SKU (stock keeping unit).')\n              .min(1)\n              .max(40)\n              .optional()\n              .nullable(),\n            variantVisible: z\n              .boolean()\n              .describe('Whether the variant is visible in the store.')\n              .optional()\n              .nullable(),\n          })\n          .describe('Associated product and variant details.')\n          .optional(),\n        extendedFields: z\n          .object({\n            namespaces: z\n              .record(z.string(), z.record(z.string(), z.any()))\n              .describe(\n                'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n              )\n              .optional(),\n          })\n          .describe(\n            'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n          )\n          .optional(),\n      }),\n      z.xor([\n        z.object({\n          inStock: z.never().optional(),\n          quantity: z.never().optional(),\n        }),\n        z.object({\n          quantity: z.never().optional(),\n          inStock: z\n            .boolean()\n            .describe(\n              \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n            ),\n        }),\n        z.object({\n          inStock: z.never().optional(),\n          quantity: z\n            .number()\n            .int()\n            .describe(\n              'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n            )\n            .min(-99999)\n            .max(99999),\n        }),\n      ])\n    )\n    .describe('Inventory item to update.'),\n  options: z\n    .object({\n      reason: z.enum(['ORDER', 'MANUAL', 'REVERT_INVENTORY_CHANGE']).optional(),\n    })\n    .optional(),\n});\nexport const UpdateInventoryItemResponse = z.intersection(\n  z.object({\n    _id: z\n      .string()\n      .describe('Inventory item ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    revision: z\n      .string()\n      .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n      .describe(\n        'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n      )\n      .optional()\n      .nullable(),\n    _createdDate: z\n      .date()\n      .describe('Date and time the inventory item was created.')\n      .optional()\n      .nullable(),\n    _updatedDate: z\n      .date()\n      .describe('Date and time the inventory item was last updated.')\n      .optional()\n      .nullable(),\n    variantId: z\n      .string()\n      .describe('Variant ID.')\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional(),\n    locationId: z\n      .string()\n      .describe(\n        \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n      )\n      .regex(\n        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n        'Must be a valid GUID'\n      )\n      .optional()\n      .nullable(),\n    productId: z.string().describe('Product ID.').min(1).max(36).optional(),\n    trackQuantity: z\n      .boolean()\n      .describe('Whether the quantity is being tracked.')\n      .optional(),\n    availabilityStatus: z\n      .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n      .describe('Inventory item availability status.')\n      .optional(),\n    preorderInfo: z\n      .object({\n        enabled: z\n          .boolean()\n          .describe(\n            \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n          )\n          .optional()\n          .nullable(),\n        message: z\n          .string()\n          .describe(\n            'Message displayed to customers when the item is out of stock and preorder is enabled.'\n          )\n          .min(1)\n          .max(250)\n          .optional()\n          .nullable(),\n        limit: z\n          .number()\n          .int()\n          .describe(\n            'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n          )\n          .min(0)\n          .max(100000)\n          .optional()\n          .nullable(),\n        counter: z\n          .number()\n          .int()\n          .describe(\n            'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n          )\n          .min(0)\n          .max(99999)\n          .optional()\n          .nullable(),\n        quantity: z\n          .number()\n          .int()\n          .describe(\n            'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n          )\n          .optional()\n          .nullable(),\n      })\n      .describe(\n        \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n      )\n      .optional(),\n    product: z\n      .object({\n        name: z\n          .string()\n          .describe('Product name.')\n          .max(80)\n          .optional()\n          .nullable(),\n        directCategoryIds: z.array(z.string()).max(2000).optional(),\n        variantName: z\n          .string()\n          .describe('Variant name.')\n          .min(1)\n          .max(250)\n          .optional()\n          .nullable(),\n        variantSku: z\n          .string()\n          .describe('Variant SKU (stock keeping unit).')\n          .min(1)\n          .max(40)\n          .optional()\n          .nullable(),\n        variantVisible: z\n          .boolean()\n          .describe('Whether the variant is visible in the store.')\n          .optional()\n          .nullable(),\n      })\n      .describe('Associated product and variant details.')\n      .optional(),\n    extendedFields: z\n      .object({\n        namespaces: z\n          .record(z.string(), z.record(z.string(), z.any()))\n          .describe(\n            'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n          )\n          .optional(),\n      })\n      .describe(\n        'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n      )\n      .optional(),\n  }),\n  z.xor([\n    z.object({ inStock: z.never().optional(), quantity: z.never().optional() }),\n    z.object({\n      quantity: z.never().optional(),\n      inStock: z\n        .boolean()\n        .describe(\n          \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n        ),\n    }),\n    z.object({\n      inStock: z.never().optional(),\n      quantity: z\n        .number()\n        .int()\n        .describe(\n          'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n        )\n        .min(-99999)\n        .max(99999),\n    }),\n  ])\n);\nexport const BulkUpdateInventoryItemsRequest = z.object({\n  inventoryItems: z\n    .array(\n      z.object({\n        inventoryItem: z\n          .intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Inventory item ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                ),\n              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n                ),\n              _createdDate: z\n                .date()\n                .describe('Date and time the inventory item was created.')\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe('Date and time the inventory item was last updated.')\n                .optional()\n                .nullable(),\n              variantId: z\n                .string()\n                .describe('Variant ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional(),\n              locationId: z\n                .string()\n                .describe(\n                  \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              productId: z\n                .string()\n                .describe('Product ID.')\n                .min(1)\n                .max(36)\n                .optional(),\n              trackQuantity: z\n                .boolean()\n                .describe('Whether the quantity is being tracked.')\n                .optional(),\n              availabilityStatus: z\n                .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n                .optional(),\n              preorderInfo: z\n                .object({\n                  enabled: z\n                    .boolean()\n                    .describe(\n                      \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                    )\n                    .optional()\n                    .nullable(),\n                  message: z\n                    .string()\n                    .describe(\n                      'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                    )\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  limit: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                    )\n                    .min(0)\n                    .max(100000)\n                    .optional()\n                    .nullable(),\n                  counter: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                    )\n                    .min(0)\n                    .max(99999)\n                    .optional()\n                    .nullable(),\n                  quantity: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n                )\n                .optional(),\n              product: z\n                .object({\n                  name: z\n                    .string()\n                    .describe('Product name.')\n                    .max(80)\n                    .optional()\n                    .nullable(),\n                  directCategoryIds: z.array(z.string()).max(2000).optional(),\n                  variantName: z\n                    .string()\n                    .describe('Variant name.')\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  variantSku: z\n                    .string()\n                    .describe('Variant SKU (stock keeping unit).')\n                    .min(1)\n                    .max(40)\n                    .optional()\n                    .nullable(),\n                  variantVisible: z\n                    .boolean()\n                    .describe('Whether the variant is visible in the store.')\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Associated product and variant details.')\n                .optional(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z.never().optional(),\n              }),\n              z.object({\n                quantity: z.never().optional(),\n                inStock: z\n                  .boolean()\n                  .describe(\n                    \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n                  ),\n              }),\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n                  )\n                  .min(-99999)\n                  .max(99999),\n              }),\n            ])\n          )\n          .describe('Inventory item to update.')\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(1000),\n  options: z\n    .object({\n      returnEntity: z\n        .boolean()\n        .describe(\n          'Whether to return the full inventory item entities in the response.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      reason: z.enum(['ORDER', 'MANUAL', 'REVERT_INVENTORY_CHANGE']).optional(),\n    })\n    .optional(),\n});\nexport const BulkUpdateInventoryItemsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Bulk action metadata for inventory item.')\n          .optional(),\n        item: z\n          .intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Inventory item ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n                )\n                .optional()\n                .nullable(),\n              _createdDate: z\n                .date()\n                .describe('Date and time the inventory item was created.')\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe('Date and time the inventory item was last updated.')\n                .optional()\n                .nullable(),\n              variantId: z\n                .string()\n                .describe('Variant ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional(),\n              locationId: z\n                .string()\n                .describe(\n                  \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              productId: z\n                .string()\n                .describe('Product ID.')\n                .min(1)\n                .max(36)\n                .optional(),\n              trackQuantity: z\n                .boolean()\n                .describe('Whether the quantity is being tracked.')\n                .optional(),\n              availabilityStatus: z\n                .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n                .describe('Inventory item availability status.')\n                .optional(),\n              preorderInfo: z\n                .object({\n                  enabled: z\n                    .boolean()\n                    .describe(\n                      \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                    )\n                    .optional()\n                    .nullable(),\n                  message: z\n                    .string()\n                    .describe(\n                      'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                    )\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  limit: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                    )\n                    .min(0)\n                    .max(100000)\n                    .optional()\n                    .nullable(),\n                  counter: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                    )\n                    .min(0)\n                    .max(99999)\n                    .optional()\n                    .nullable(),\n                  quantity: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n                )\n                .optional(),\n              product: z\n                .object({\n                  name: z\n                    .string()\n                    .describe('Product name.')\n                    .max(80)\n                    .optional()\n                    .nullable(),\n                  directCategoryIds: z.array(z.string()).max(2000).optional(),\n                  variantName: z\n                    .string()\n                    .describe('Variant name.')\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  variantSku: z\n                    .string()\n                    .describe('Variant SKU (stock keeping unit).')\n                    .min(1)\n                    .max(40)\n                    .optional()\n                    .nullable(),\n                  variantVisible: z\n                    .boolean()\n                    .describe('Whether the variant is visible in the store.')\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Associated product and variant details.')\n                .optional(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z.never().optional(),\n              }),\n              z.object({\n                quantity: z.never().optional(),\n                inStock: z\n                  .boolean()\n                  .describe(\n                    \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n                  ),\n              }),\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n                  )\n                  .min(-99999)\n                  .max(99999),\n              }),\n            ])\n          )\n          .describe(\n            'Full inventory item entity.\\n\\nReturned only if `returnEntity: true` is passed in the request.'\n          )\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(1000)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk action metadata.')\n    .optional(),\n});\nexport const BulkUpdateInventoryItemsByFilterRequest = z.object({\n  filter: z.record(z.string(), z.any()).describe('Filter object.'),\n  options: z.object({\n    inventoryItem: z\n      .intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Inventory item ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n            .describe(\n              'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n            )\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe('Date and time the inventory item was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the inventory item was last updated.')\n            .optional()\n            .nullable(),\n          variantId: z\n            .string()\n            .describe('Variant ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n          locationId: z\n            .string()\n            .describe(\n              \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          productId: z\n            .string()\n            .describe('Product ID.')\n            .min(1)\n            .max(36)\n            .optional(),\n          trackQuantity: z\n            .boolean()\n            .describe('Whether the quantity is being tracked.')\n            .optional(),\n          availabilityStatus: z\n            .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n            .optional(),\n          preorderInfo: z\n            .object({\n              enabled: z\n                .boolean()\n                .describe(\n                  \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                )\n                .optional()\n                .nullable(),\n              message: z\n                .string()\n                .describe(\n                  'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                )\n                .min(1)\n                .max(250)\n                .optional()\n                .nullable(),\n              limit: z\n                .number()\n                .int()\n                .describe(\n                  'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                )\n                .min(0)\n                .max(100000)\n                .optional()\n                .nullable(),\n              counter: z\n                .number()\n                .int()\n                .describe(\n                  'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                )\n                .min(0)\n                .max(99999)\n                .optional()\n                .nullable(),\n              quantity: z\n                .number()\n                .int()\n                .describe(\n                  'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n            )\n            .optional(),\n          product: z\n            .object({\n              name: z\n                .string()\n                .describe('Product name.')\n                .max(80)\n                .optional()\n                .nullable(),\n              directCategoryIds: z.array(z.string()).max(2000).optional(),\n              variantName: z\n                .string()\n                .describe('Variant name.')\n                .min(1)\n                .max(250)\n                .optional()\n                .nullable(),\n              variantSku: z\n                .string()\n                .describe('Variant SKU (stock keeping unit).')\n                .min(1)\n                .max(40)\n                .optional()\n                .nullable(),\n              variantVisible: z\n                .boolean()\n                .describe('Whether the variant is visible in the store.')\n                .optional()\n                .nullable(),\n            })\n            .describe('Associated product and variant details.')\n            .optional(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe(\n              'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            inStock: z.never().optional(),\n            quantity: z.never().optional(),\n          }),\n          z.object({\n            quantity: z.never().optional(),\n            inStock: z\n              .boolean()\n              .describe(\n                \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n              ),\n          }),\n          z.object({\n            inStock: z.never().optional(),\n            quantity: z\n              .number()\n              .int()\n              .describe(\n                'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n              )\n              .min(-99999)\n              .max(99999),\n          }),\n        ])\n      )\n      .describe('Inventory item to update.'),\n    search: z\n      .object({\n        mode: z.enum(['OR', 'AND']).optional(),\n        expression: z\n          .string()\n          .describe('Search term or expression.')\n          .max(100)\n          .optional()\n          .nullable(),\n        fields: z.array(z.string()).max(20).optional(),\n        fuzzy: z\n          .boolean()\n          .describe(\n            'Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions.'\n          )\n          .optional(),\n      })\n      .describe('Free text to match in searchable fields.')\n      .optional(),\n  }),\n});\nexport const BulkUpdateInventoryItemsByFilterResponse = z.object({\n  jobId: z\n    .string()\n    .describe(\n      'Job ID.\\n\\nPass this ID to [Get Async Job](https://dev.wix.com/docs/api-reference/business-management/async-job/introduction) to retrieve job details and metadata.'\n    )\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    )\n    .optional(),\n});\nexport const DeleteInventoryItemRequest = z.object({\n  inventoryItemId: z\n    .string()\n    .describe('Inventory item ID.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const DeleteInventoryItemResponse = z.object({});\nexport const BulkDeleteInventoryItemsRequest = z.object({\n  inventoryItemIds: z.array(z.string()).min(1).max(1000),\n});\nexport const BulkDeleteInventoryItemsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Bulk action metadata for inventory item.')\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(1000)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk action metadata.')\n    .optional(),\n});\nexport const QueryInventoryItemsRequest = z.object({\n  query: z\n    .intersection(\n      z.object({\n        filter: z\n          .record(z.string(), z.any())\n          .describe(\n            'Filter object.\\n\\nLearn more about [filtering](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language#filters).'\n          )\n          .optional()\n          .nullable(),\n        sort: z\n          .array(\n            z.object({\n              fieldName: z\n                .string()\n                .describe('Name of the field to sort by.')\n                .max(512)\n                .optional(),\n              order: z.enum(['ASC', 'DESC']).optional(),\n            })\n          )\n          .max(10)\n          .optional(),\n      }),\n      z.xor([\n        z.object({\n          paging: z.never().optional(),\n          cursorPaging: z.never().optional(),\n        }),\n        z.object({\n          cursorPaging: z.never().optional(),\n          paging: z\n            .object({\n              limit: z\n                .number()\n                .int()\n                .describe('Number of items to load.')\n                .min(0)\n                .max(1000)\n                .optional()\n                .nullable(),\n              offset: z\n                .number()\n                .int()\n                .describe('Number of items to skip in the current sort order.')\n                .min(0)\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Paging options to limit and offset the number of items.'\n            ),\n        }),\n        z.object({\n          paging: z.never().optional(),\n          cursorPaging: z\n            .object({\n              limit: z\n                .number()\n                .int()\n                .describe('Maximum number of items to return in the results.')\n                .min(0)\n                .max(1000)\n                .optional()\n                .nullable(),\n              cursor: z\n                .string()\n                .describe(\n                  \"Pointer to the next or previous page in the list of results.\\n\\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                )\n                .max(16000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`.'\n            ),\n        }),\n      ])\n    )\n    .describe('Query options.'),\n});\nexport const QueryInventoryItemsResponse = z.object({\n  inventoryItems: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Inventory item ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n            .describe(\n              'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n            )\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe('Date and time the inventory item was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the inventory item was last updated.')\n            .optional()\n            .nullable(),\n          variantId: z\n            .string()\n            .describe('Variant ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n          locationId: z\n            .string()\n            .describe(\n              \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          productId: z\n            .string()\n            .describe('Product ID.')\n            .min(1)\n            .max(36)\n            .optional(),\n          trackQuantity: z\n            .boolean()\n            .describe('Whether the quantity is being tracked.')\n            .optional(),\n          availabilityStatus: z\n            .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n            .describe('Inventory item availability status.')\n            .optional(),\n          preorderInfo: z\n            .object({\n              enabled: z\n                .boolean()\n                .describe(\n                  \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                )\n                .optional()\n                .nullable(),\n              message: z\n                .string()\n                .describe(\n                  'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                )\n                .min(1)\n                .max(250)\n                .optional()\n                .nullable(),\n              limit: z\n                .number()\n                .int()\n                .describe(\n                  'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                )\n                .min(0)\n                .max(100000)\n                .optional()\n                .nullable(),\n              counter: z\n                .number()\n                .int()\n                .describe(\n                  'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                )\n                .min(0)\n                .max(99999)\n                .optional()\n                .nullable(),\n              quantity: z\n                .number()\n                .int()\n                .describe(\n                  'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n            )\n            .optional(),\n          product: z\n            .object({\n              name: z\n                .string()\n                .describe('Product name.')\n                .max(80)\n                .optional()\n                .nullable(),\n              directCategoryIds: z.array(z.string()).max(2000).optional(),\n              variantName: z\n                .string()\n                .describe('Variant name.')\n                .min(1)\n                .max(250)\n                .optional()\n                .nullable(),\n              variantSku: z\n                .string()\n                .describe('Variant SKU (stock keeping unit).')\n                .min(1)\n                .max(40)\n                .optional()\n                .nullable(),\n              variantVisible: z\n                .boolean()\n                .describe('Whether the variant is visible in the store.')\n                .optional()\n                .nullable(),\n            })\n            .describe('Associated product and variant details.')\n            .optional(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe(\n              'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            inStock: z.never().optional(),\n            quantity: z.never().optional(),\n          }),\n          z.object({\n            quantity: z.never().optional(),\n            inStock: z\n              .boolean()\n              .describe(\n                \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n              ),\n          }),\n          z.object({\n            inStock: z.never().optional(),\n            quantity: z\n              .number()\n              .int()\n              .describe(\n                'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n              )\n              .min(-99999)\n              .max(99999),\n          }),\n        ])\n      )\n    )\n    .min(1)\n    .max(1000)\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('The number of items returned in this response.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursors to navigate through result pages. Returned if cursor paging was used.'\n        )\n        .optional(),\n    })\n    .describe('Paging metadata.')\n    .optional(),\n});\nexport const SearchInventoryItemsRequest = z.object({\n  search: z\n    .intersection(\n      z.object({\n        filter: z\n          .record(z.string(), z.any())\n          .describe(\n            'Filter object.\\n\\nLearn more about [filtering](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language#filters).'\n          )\n          .optional()\n          .nullable(),\n        sort: z\n          .array(\n            z.object({\n              fieldName: z\n                .string()\n                .describe('Name of the field to sort by.')\n                .max(512)\n                .optional(),\n              order: z.enum(['ASC', 'DESC']).optional(),\n            })\n          )\n          .max(10)\n          .optional(),\n        aggregations: z\n          .array(\n            z.intersection(\n              z.object({\n                name: z\n                  .string()\n                  .describe(\n                    'Aggregation name, returned in `aggregations.results.name`.'\n                  )\n                  .max(100)\n                  .optional()\n                  .nullable(),\n                type: z\n                  .enum([\n                    'VALUE',\n                    'RANGE',\n                    'SCALAR',\n                    'DATE_HISTOGRAM',\n                    'NESTED',\n                  ])\n                  .optional(),\n                fieldPath: z\n                  .string()\n                  .describe(\n                    'Field to aggregate by. Use dot notation to specify a JSON path. For example, `order.address.streetName`.'\n                  )\n                  .max(200)\n                  .optional(),\n                groupBy: z\n                  .intersection(\n                    z.object({\n                      name: z\n                        .string()\n                        .describe(\n                          'Unique, caller-defined aggregation name, returned in `aggregations.results`.'\n                        )\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      fieldPath: z\n                        .string()\n                        .describe('Field to aggregate by.')\n                        .max(200)\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({ value: z.never().optional() }),\n                      z.object({\n                        value: z\n                          .intersection(\n                            z.object({\n                              sortType: z\n                                .enum(['COUNT', 'VALUE'])\n                                .describe('Sort type.')\n                                .optional(),\n                              sortDirection: z\n                                .enum(['DESC', 'ASC'])\n                                .describe('Sort direction.')\n                                .optional(),\n                              limit: z\n                                .number()\n                                .int()\n                                .describe(\n                                  'Number of aggregation results to return.\\nMin: `1`\\nMax: `250`\\nDefault: `10`'\n                                )\n                                .optional()\n                                .nullable(),\n                              missingValues: z\n                                .enum(['EXCLUDE', 'INCLUDE'])\n                                .describe(\n                                  'Whether to include or exclude missing values in the aggregation results.\\nDefault: `EXCLUDE`.'\n                                )\n                                .optional(),\n                            }),\n                            z.xor([\n                              z.object({\n                                includeOptions: z.never().optional(),\n                              }),\n                              z.object({\n                                includeOptions: z\n                                  .object({\n                                    addToBucket: z\n                                      .string()\n                                      .describe(\n                                        'Specify a custom name for the bucket containing the missing values. Defaults are `\"N/A\"` for strings, `0` for integers, and `false` for booleans.'\n                                      )\n                                      .max(20)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'Options for including missing values in results.'\n                                  ),\n                              }),\n                            ])\n                          )\n                          .describe('Value aggregation configuration.'),\n                      }),\n                    ])\n                  )\n                  .describe('Deprecated. Use `nested` instead.')\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  value: z.never().optional(),\n                  range: z.never().optional(),\n                  scalar: z.never().optional(),\n                  dateHistogram: z.never().optional(),\n                  nested: z.never().optional(),\n                }),\n                z.object({\n                  range: z.never().optional(),\n                  scalar: z.never().optional(),\n                  dateHistogram: z.never().optional(),\n                  nested: z.never().optional(),\n                  value: z\n                    .intersection(\n                      z.object({\n                        sortType: z\n                          .enum(['COUNT', 'VALUE'])\n                          .describe('Sort type.')\n                          .optional(),\n                        sortDirection: z\n                          .enum(['DESC', 'ASC'])\n                          .describe('Sort direction.')\n                          .optional(),\n                        limit: z\n                          .number()\n                          .int()\n                          .describe(\n                            'Number of aggregation results to return.\\nMin: `1`\\nMax: `250`\\nDefault: `10`'\n                          )\n                          .optional()\n                          .nullable(),\n                        missingValues: z\n                          .enum(['EXCLUDE', 'INCLUDE'])\n                          .describe(\n                            'Whether to include or exclude missing values in the aggregation results.\\nDefault: `EXCLUDE`.'\n                          )\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({ includeOptions: z.never().optional() }),\n                        z.object({\n                          includeOptions: z\n                            .object({\n                              addToBucket: z\n                                .string()\n                                .describe(\n                                  'Specify a custom name for the bucket containing the missing values. Defaults are `\"N/A\"` for strings, `0` for integers, and `false` for booleans.'\n                                )\n                                .max(20)\n                                .optional(),\n                            })\n                            .describe(\n                              'Options for including missing values in results.'\n                            ),\n                        }),\n                      ])\n                    )\n                    .describe(\n                      'A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of products for each price listed in the store.'\n                    ),\n                }),\n                z.object({\n                  value: z.never().optional(),\n                  scalar: z.never().optional(),\n                  dateHistogram: z.never().optional(),\n                  nested: z.never().optional(),\n                  range: z\n                    .object({\n                      buckets: z\n                        .array(\n                          z.object({\n                            from: z\n                              .number()\n                              .describe(\n                                'Inclusive lower bound of the range. Required if `to` is not provided.'\n                              )\n                              .optional()\n                              .nullable(),\n                            to: z\n                              .number()\n                              .describe(\n                                'Exclusive upper bound of the range. Required if `from` is not provided.'\n                              )\n                              .optional()\n                              .nullable(),\n                          })\n                        )\n                        .max(50)\n                        .optional(),\n                    })\n                    .describe(\n                      'A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more.'\n                    ),\n                }),\n                z.object({\n                  value: z.never().optional(),\n                  range: z.never().optional(),\n                  dateHistogram: z.never().optional(),\n                  nested: z.never().optional(),\n                  scalar: z\n                    .object({\n                      type: z\n                        .enum(['COUNT_DISTINCT', 'MIN', 'MAX'])\n                        .describe('Operator type for the scalar aggregation.')\n                        .optional(),\n                    })\n                    .describe(\n                      'A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`.'\n                    ),\n                }),\n                z.object({\n                  value: z.never().optional(),\n                  range: z.never().optional(),\n                  scalar: z.never().optional(),\n                  nested: z.never().optional(),\n                  dateHistogram: z\n                    .object({\n                      interval: z\n                        .enum([\n                          'YEAR',\n                          'MONTH',\n                          'WEEK',\n                          'DAY',\n                          'HOUR',\n                          'MINUTE',\n                          'SECOND',\n                        ])\n                        .describe('Interval for date histogram aggregation.')\n                        .optional(),\n                    })\n                    .describe(\n                      'A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week.'\n                    ),\n                }),\n                z.object({\n                  value: z.never().optional(),\n                  range: z.never().optional(),\n                  scalar: z.never().optional(),\n                  dateHistogram: z.never().optional(),\n                  nested: z\n                    .object({\n                      nestedAggregations: z\n                        .array(\n                          z.intersection(\n                            z.object({\n                              name: z\n                                .string()\n                                .describe(\n                                  'Unique, caller-defined aggregation name, returned in `aggregations.results`.'\n                                )\n                                .max(100)\n                                .optional()\n                                .nullable(),\n                              type: z\n                                .enum([\n                                  'VALUE',\n                                  'RANGE',\n                                  'SCALAR',\n                                  'DATE_HISTOGRAM',\n                                ])\n                                .optional(),\n                              fieldPath: z\n                                .string()\n                                .describe(\n                                  'Field to aggregate by. Use dot notation to specify a JSON path. For example, `order.address.streetName`.'\n                                )\n                                .max(200)\n                                .optional(),\n                            }),\n                            z.xor([\n                              z.object({\n                                value: z.never().optional(),\n                                range: z.never().optional(),\n                                scalar: z.never().optional(),\n                                dateHistogram: z.never().optional(),\n                              }),\n                              z.object({\n                                range: z.never().optional(),\n                                scalar: z.never().optional(),\n                                dateHistogram: z.never().optional(),\n                                value: z\n                                  .intersection(\n                                    z.object({\n                                      sortType: z\n                                        .enum(['COUNT', 'VALUE'])\n                                        .describe('Sort type.')\n                                        .optional(),\n                                      sortDirection: z\n                                        .enum(['DESC', 'ASC'])\n                                        .describe('Sort direction.')\n                                        .optional(),\n                                      limit: z\n                                        .number()\n                                        .int()\n                                        .describe(\n                                          'Number of aggregation results to return.\\nMin: `1`\\nMax: `250`\\nDefault: `10`'\n                                        )\n                                        .optional()\n                                        .nullable(),\n                                      missingValues: z\n                                        .enum(['EXCLUDE', 'INCLUDE'])\n                                        .describe(\n                                          'Whether to include or exclude missing values in the aggregation results.\\nDefault: `EXCLUDE`.'\n                                        )\n                                        .optional(),\n                                    }),\n                                    z.xor([\n                                      z.object({\n                                        includeOptions: z.never().optional(),\n                                      }),\n                                      z.object({\n                                        includeOptions: z\n                                          .object({\n                                            addToBucket: z\n                                              .string()\n                                              .describe(\n                                                'Specify a custom name for the bucket containing the missing values. Defaults are `\"N/A\"` for strings, `0` for integers, and `false` for booleans.'\n                                              )\n                                              .max(20)\n                                              .optional(),\n                                          })\n                                          .describe(\n                                            'Options for including missing values in results.'\n                                          ),\n                                      }),\n                                    ])\n                                  )\n                                  .describe(\n                                    \"A value aggregation calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of orders for each order status.\"\n                                  ),\n                              }),\n                              z.object({\n                                value: z.never().optional(),\n                                scalar: z.never().optional(),\n                                dateHistogram: z.never().optional(),\n                                range: z\n                                  .object({\n                                    buckets: z\n                                      .array(\n                                        z.object({\n                                          from: z\n                                            .number()\n                                            .describe(\n                                              'Inclusive lower bound of the range. Required if `to` is not provided.'\n                                            )\n                                            .optional()\n                                            .nullable(),\n                                          to: z\n                                            .number()\n                                            .describe(\n                                              'Exclusive upper bound of the range. Required if `from` is not provided.'\n                                            )\n                                            .optional()\n                                            .nullable(),\n                                        })\n                                      )\n                                      .max(50)\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria.'\n                                  ),\n                              }),\n                              z.object({\n                                value: z.never().optional(),\n                                range: z.never().optional(),\n                                dateHistogram: z.never().optional(),\n                                scalar: z\n                                  .object({\n                                    type: z\n                                      .enum(['COUNT_DISTINCT', 'MIN', 'MAX'])\n                                      .describe(\n                                        'Operator type for the scalar aggregation.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`.'\n                                  ),\n                              }),\n                              z.object({\n                                value: z.never().optional(),\n                                range: z.never().optional(),\n                                scalar: z.never().optional(),\n                                dateHistogram: z\n                                  .object({\n                                    interval: z\n                                      .enum([\n                                        'YEAR',\n                                        'MONTH',\n                                        'WEEK',\n                                        'DAY',\n                                        'HOUR',\n                                        'MINUTE',\n                                        'SECOND',\n                                      ])\n                                      .describe(\n                                        'Interval for date histogram aggregation.'\n                                      )\n                                      .optional(),\n                                  })\n                                  .describe(\n                                    'A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). For example, use a date histogram to determine how many reservations have been made at a restaurant each week. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria.'\n                                  ),\n                              }),\n                            ])\n                          )\n                        )\n                        .min(2)\n                        .max(3)\n                        .optional(),\n                    })\n                    .describe(\n                      'A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on `discountedPriceNumeric`, and a second value aggregation on `inStock`.'\n                    ),\n                }),\n              ])\n            )\n          )\n          .max(10)\n          .optional(),\n        search: z\n          .object({\n            mode: z.enum(['OR', 'AND']).optional(),\n            expression: z\n              .string()\n              .describe('Search term or expression.')\n              .max(100)\n              .optional()\n              .nullable(),\n            fields: z.array(z.string()).max(20).optional(),\n            fuzzy: z\n              .boolean()\n              .describe(\n                'Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions.'\n              )\n              .optional(),\n          })\n          .describe('Free text to match in searchable fields.')\n          .optional(),\n        timeZone: z\n          .string()\n          .describe(\n            'Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.\\nApplies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, \"2023-12-20T10:52:34.795Z\".'\n          )\n          .max(50)\n          .optional()\n          .nullable(),\n      }),\n      z.xor([\n        z.object({ cursorPaging: z.never().optional() }),\n        z.object({\n          cursorPaging: z\n            .object({\n              limit: z\n                .number()\n                .int()\n                .describe('Maximum number of items to return in the results.')\n                .min(0)\n                .max(1000)\n                .optional()\n                .nullable(),\n              cursor: z\n                .string()\n                .describe(\n                  \"Pointer to the next or previous page in the list of results.\\n\\nPass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\\nNot relevant for the first request.\"\n                )\n                .max(16000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              'Cursor paging options.\\n\\nLearn more about [cursor paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language#cursor-paging).'\n            ),\n        }),\n      ])\n    )\n    .describe('Search options.'),\n});\nexport const SearchInventoryItemsResponse = z.object({\n  inventoryItems: z\n    .array(\n      z.intersection(\n        z.object({\n          _id: z\n            .string()\n            .describe('Inventory item ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          revision: z\n            .string()\n            .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n            .describe(\n              'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n            )\n            .optional()\n            .nullable(),\n          _createdDate: z\n            .date()\n            .describe('Date and time the inventory item was created.')\n            .optional()\n            .nullable(),\n          _updatedDate: z\n            .date()\n            .describe('Date and time the inventory item was last updated.')\n            .optional()\n            .nullable(),\n          variantId: z\n            .string()\n            .describe('Variant ID.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional(),\n          locationId: z\n            .string()\n            .describe(\n              \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n            )\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n          productId: z\n            .string()\n            .describe('Product ID.')\n            .min(1)\n            .max(36)\n            .optional(),\n          trackQuantity: z\n            .boolean()\n            .describe('Whether the quantity is being tracked.')\n            .optional(),\n          availabilityStatus: z\n            .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n            .describe('Inventory item availability status.')\n            .optional(),\n          preorderInfo: z\n            .object({\n              enabled: z\n                .boolean()\n                .describe(\n                  \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                )\n                .optional()\n                .nullable(),\n              message: z\n                .string()\n                .describe(\n                  'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                )\n                .min(1)\n                .max(250)\n                .optional()\n                .nullable(),\n              limit: z\n                .number()\n                .int()\n                .describe(\n                  'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                )\n                .min(0)\n                .max(100000)\n                .optional()\n                .nullable(),\n              counter: z\n                .number()\n                .int()\n                .describe(\n                  'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                )\n                .min(0)\n                .max(99999)\n                .optional()\n                .nullable(),\n              quantity: z\n                .number()\n                .int()\n                .describe(\n                  'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                )\n                .optional()\n                .nullable(),\n            })\n            .describe(\n              \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n            )\n            .optional(),\n          product: z\n            .object({\n              name: z\n                .string()\n                .describe('Product name.')\n                .max(80)\n                .optional()\n                .nullable(),\n              directCategoryIds: z.array(z.string()).max(2000).optional(),\n              variantName: z\n                .string()\n                .describe('Variant name.')\n                .min(1)\n                .max(250)\n                .optional()\n                .nullable(),\n              variantSku: z\n                .string()\n                .describe('Variant SKU (stock keeping unit).')\n                .min(1)\n                .max(40)\n                .optional()\n                .nullable(),\n              variantVisible: z\n                .boolean()\n                .describe('Whether the variant is visible in the store.')\n                .optional()\n                .nullable(),\n            })\n            .describe('Associated product and variant details.')\n            .optional(),\n          extendedFields: z\n            .object({\n              namespaces: z\n                .record(z.string(), z.record(z.string(), z.any()))\n                .describe(\n                  'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                )\n                .optional(),\n            })\n            .describe(\n              'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n            )\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            inStock: z.never().optional(),\n            quantity: z.never().optional(),\n          }),\n          z.object({\n            quantity: z.never().optional(),\n            inStock: z\n              .boolean()\n              .describe(\n                \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n              ),\n          }),\n          z.object({\n            inStock: z.never().optional(),\n            quantity: z\n              .number()\n              .int()\n              .describe(\n                'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n              )\n              .min(-99999)\n              .max(99999),\n          }),\n        ])\n      )\n    )\n    .min(1)\n    .max(1000)\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in current page.')\n        .optional()\n        .nullable(),\n      cursors: z\n        .object({\n          next: z\n            .string()\n            .describe(\n              'Cursor string pointing to the next page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n          prev: z\n            .string()\n            .describe(\n              'Cursor pointing to the previous page in the list of results.'\n            )\n            .max(16000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          'Cursor strings that point to the next page, previous page, or both.'\n        )\n        .optional(),\n      hasNext: z\n        .boolean()\n        .describe(\n          'Whether there are more pages to retrieve following the current page.\\n\\n+ `true`: Another page of results can be retrieved.\\n+ `false`: This is the last page.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Paging metadata.')\n    .optional(),\n  aggregationData: z\n    .object({\n      results: z\n        .array(\n          z.intersection(\n            z.object({\n              name: z\n                .string()\n                .describe(\n                  'Aggregation name, returned in `aggregations.results.name`.'\n                )\n                .max(100)\n                .optional(),\n              type: z\n                .enum(['VALUE', 'RANGE', 'SCALAR', 'DATE_HISTOGRAM', 'NESTED'])\n                .describe(\n                  'Aggregation type. Must align with the corresponding aggregation field.'\n                )\n                .optional(),\n              fieldPath: z\n                .string()\n                .describe(\n                  'Field to aggregate by. Use dot notation to specify a JSON path. For example, `order.address.streetName`.'\n                )\n                .max(200)\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                values: z.never().optional(),\n                ranges: z.never().optional(),\n                scalar: z.never().optional(),\n                groupedByValue: z.never().optional(),\n                dateHistogram: z.never().optional(),\n                nested: z.never().optional(),\n              }),\n              z.object({\n                ranges: z.never().optional(),\n                scalar: z.never().optional(),\n                groupedByValue: z.never().optional(),\n                dateHistogram: z.never().optional(),\n                nested: z.never().optional(),\n                values: z\n                  .object({\n                    results: z\n                      .array(\n                        z.object({\n                          value: z\n                            .string()\n                            .describe('Value of the field.')\n                            .max(100)\n                            .optional(),\n                          count: z\n                            .number()\n                            .int()\n                            .describe('Number of entities with this value.')\n                            .optional(),\n                        })\n                      )\n                      .max(250)\n                      .optional(),\n                  })\n                  .describe('Value aggregation results.'),\n              }),\n              z.object({\n                values: z.never().optional(),\n                scalar: z.never().optional(),\n                groupedByValue: z.never().optional(),\n                dateHistogram: z.never().optional(),\n                nested: z.never().optional(),\n                ranges: z\n                  .object({\n                    results: z\n                      .array(\n                        z.object({\n                          from: z\n                            .number()\n                            .describe('Inclusive lower bound of the range.')\n                            .optional()\n                            .nullable(),\n                          to: z\n                            .number()\n                            .describe('Exclusive upper bound of the range.')\n                            .optional()\n                            .nullable(),\n                          count: z\n                            .number()\n                            .int()\n                            .describe('Total number of entities in this range.')\n                            .optional(),\n                        })\n                      )\n                      .max(50)\n                      .optional(),\n                  })\n                  .describe('Range aggregation results.'),\n              }),\n              z.object({\n                values: z.never().optional(),\n                ranges: z.never().optional(),\n                groupedByValue: z.never().optional(),\n                dateHistogram: z.never().optional(),\n                nested: z.never().optional(),\n                scalar: z\n                  .object({\n                    type: z\n                      .enum(['COUNT_DISTINCT', 'MIN', 'MAX'])\n                      .describe('Type of scalar aggregation.')\n                      .optional(),\n                    value: z\n                      .number()\n                      .describe('Value of the scalar aggregation.')\n                      .optional(),\n                  })\n                  .describe('Scalar aggregation results.'),\n              }),\n              z.object({\n                values: z.never().optional(),\n                ranges: z.never().optional(),\n                scalar: z.never().optional(),\n                dateHistogram: z.never().optional(),\n                nested: z.never().optional(),\n                groupedByValue: z\n                  .object({\n                    results: z\n                      .array(\n                        z.object({\n                          value: z\n                            .string()\n                            .describe('Value of the field.')\n                            .max(1000)\n                            .optional(),\n                          nestedResults: z\n                            .intersection(\n                              z.object({\n                                name: z\n                                  .string()\n                                  .describe(\n                                    'Unique, caller-defined aggregation name, identifiable by the requested aggregation `name`.'\n                                  )\n                                  .max(100)\n                                  .optional(),\n                                type: z\n                                  .enum([\n                                    'VALUE',\n                                    'RANGE',\n                                    'SCALAR',\n                                    'DATE_HISTOGRAM',\n                                    'NESTED',\n                                  ])\n                                  .describe('Aggregation type.')\n                                  .optional(),\n                                fieldPath: z\n                                  .string()\n                                  .describe(\n                                    'Field which the data was aggregated by.'\n                                  )\n                                  .max(200)\n                                  .optional(),\n                              }),\n                              z.xor([\n                                z.object({\n                                  values: z.never().optional(),\n                                  ranges: z.never().optional(),\n                                  scalar: z.never().optional(),\n                                }),\n                                z.object({\n                                  ranges: z.never().optional(),\n                                  scalar: z.never().optional(),\n                                  values: z\n                                    .object({\n                                      results: z\n                                        .array(\n                                          z.object({\n                                            value: z\n                                              .string()\n                                              .describe('Value of the field.')\n                                              .max(100)\n                                              .optional(),\n                                            count: z\n                                              .number()\n                                              .int()\n                                              .describe(\n                                                'Number of entities with this value.'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .max(250)\n                                        .optional(),\n                                    })\n                                    .describe('Value aggregation results.'),\n                                }),\n                                z.object({\n                                  values: z.never().optional(),\n                                  scalar: z.never().optional(),\n                                  ranges: z\n                                    .object({\n                                      results: z\n                                        .array(\n                                          z.object({\n                                            from: z\n                                              .number()\n                                              .describe(\n                                                'Inclusive lower bound of the range.'\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                            to: z\n                                              .number()\n                                              .describe(\n                                                'Exclusive upper bound of the range.'\n                                              )\n                                              .optional()\n                                              .nullable(),\n                                            count: z\n                                              .number()\n                                              .int()\n                                              .describe(\n                                                'Total number of entities in this range.'\n                                              )\n                                              .optional(),\n                                          })\n                                        )\n                                        .max(50)\n                                        .optional(),\n                                    })\n                                    .describe('Range aggregation results.'),\n                                }),\n                                z.object({\n                                  values: z.never().optional(),\n                                  ranges: z.never().optional(),\n                                  scalar: z\n                                    .object({\n                                      type: z\n                                        .enum(['COUNT_DISTINCT', 'MIN', 'MAX'])\n                                        .describe('Type of scalar aggregation.')\n                                        .optional(),\n                                      value: z\n                                        .number()\n                                        .describe(\n                                          'Value of the scalar aggregation.'\n                                        )\n                                        .optional(),\n                                    })\n                                    .describe('Scalar aggregation results.'),\n                                }),\n                              ])\n                            )\n                            .describe('Nested aggregations.')\n                            .optional(),\n                        })\n                      )\n                      .max(1000)\n                      .optional(),\n                  })\n                  .describe('Group by value aggregation results.'),\n              }),\n              z.object({\n                values: z.never().optional(),\n                ranges: z.never().optional(),\n                scalar: z.never().optional(),\n                groupedByValue: z.never().optional(),\n                nested: z.never().optional(),\n                dateHistogram: z\n                  .object({\n                    results: z\n                      .array(\n                        z.object({\n                          value: z\n                            .string()\n                            .describe('Date in ISO 8601 format.')\n                            .max(100)\n                            .optional(),\n                          count: z\n                            .number()\n                            .int()\n                            .describe('Count of documents in the bucket.')\n                            .optional(),\n                        })\n                      )\n                      .max(200)\n                      .optional(),\n                  })\n                  .describe('Date histogram aggregation results.'),\n              }),\n              z.object({\n                values: z.never().optional(),\n                ranges: z.never().optional(),\n                scalar: z.never().optional(),\n                groupedByValue: z.never().optional(),\n                dateHistogram: z.never().optional(),\n                nested: z\n                  .object({\n                    results: z\n                      .array(\n                        z.object({\n                          results: z\n                            .record(\n                              z.string(),\n                              z.intersection(\n                                z.object({}),\n                                z.xor([\n                                  z.object({\n                                    value: z.never().optional(),\n                                    range: z.never().optional(),\n                                    scalar: z.never().optional(),\n                                    dateHistogram: z.never().optional(),\n                                  }),\n                                  z.object({\n                                    range: z.never().optional(),\n                                    scalar: z.never().optional(),\n                                    dateHistogram: z.never().optional(),\n                                    value: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe('Value of the field.')\n                                          .max(1000)\n                                          .optional(),\n                                        count: z\n                                          .number()\n                                          .int()\n                                          .describe(\n                                            'Number of entities with this value.'\n                                          )\n                                          .optional()\n                                          .nullable(),\n                                      })\n                                      .describe('Value aggregation result.'),\n                                  }),\n                                  z.object({\n                                    value: z.never().optional(),\n                                    scalar: z.never().optional(),\n                                    dateHistogram: z.never().optional(),\n                                    range: z\n                                      .object({\n                                        from: z\n                                          .number()\n                                          .describe(\n                                            'Inclusive lower bound of the range.'\n                                          )\n                                          .optional()\n                                          .nullable(),\n                                        to: z\n                                          .number()\n                                          .describe(\n                                            'Exclusive upper bound of the range.'\n                                          )\n                                          .optional()\n                                          .nullable(),\n                                        count: z\n                                          .number()\n                                          .int()\n                                          .describe(\n                                            'Total number of entities in this range.'\n                                          )\n                                          .optional()\n                                          .nullable(),\n                                      })\n                                      .describe('Range aggregation result.'),\n                                  }),\n                                  z.object({\n                                    value: z.never().optional(),\n                                    range: z.never().optional(),\n                                    dateHistogram: z.never().optional(),\n                                    scalar: z\n                                      .object({\n                                        value: z\n                                          .number()\n                                          .describe(\n                                            'Value of the scalar aggregation.'\n                                          )\n                                          .optional(),\n                                      })\n                                      .describe('Scalar aggregation result.'),\n                                  }),\n                                  z.object({\n                                    value: z.never().optional(),\n                                    range: z.never().optional(),\n                                    scalar: z.never().optional(),\n                                    dateHistogram: z\n                                      .object({\n                                        value: z\n                                          .string()\n                                          .describe('Value of the field.')\n                                          .max(1000)\n                                          .optional(),\n                                        count: z\n                                          .number()\n                                          .int()\n                                          .describe(\n                                            'Number of entities with this value.'\n                                          )\n                                          .optional()\n                                          .nullable(),\n                                      })\n                                      .describe(\n                                        'Date histogram aggregation result.'\n                                      ),\n                                  }),\n                                ])\n                              )\n                            )\n                            .describe('List of nested aggregations.')\n                            .optional(),\n                        })\n                      )\n                      .max(1000)\n                      .optional(),\n                  })\n                  .describe('Nested aggregation results.'),\n              }),\n            ])\n          )\n        )\n        .max(10000)\n        .optional(),\n    })\n    .describe('Aggregation data.')\n    .optional(),\n});\nexport const BulkDecrementInventoryItemsRequest = z.object({\n  decrementData: z\n    .array(\n      z.object({\n        inventoryItemId: z\n          .string()\n          .describe('Inventory item ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          ),\n        decrementBy: z\n          .number()\n          .int()\n          .describe('Amount to decrement by.')\n          .min(1)\n          .max(99999),\n        preorderRequest: z\n          .boolean()\n          .describe(\n            \"Whether the request to decrement the inventory item's quantity was made as part of a purchase that includes preorder items.\\n\\n+ If `true` and the item is available for preorder in the default location, negative inventory quantity is allowed.\\n+ If `false` and the item is not available for preorder, negative inventory is not allowed.\"\n          )\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(300),\n  options: z\n    .object({\n      restrictInventory: z\n        .boolean()\n        .describe(\n          'Whether inventory is restricted from going below zero.\\n\\nDefault: `true` - inventory does not go below zero.'\n        )\n        .optional()\n        .nullable(),\n      returnEntity: z\n        .boolean()\n        .describe(\n          'Whether to return the full inventory item entities in the response.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      reason: z.enum(['ORDER', 'MANUAL', 'REVERT_INVENTORY_CHANGE']).optional(),\n    })\n    .optional(),\n});\nexport const BulkDecrementInventoryItemsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Bulk action metadata for inventory item.')\n          .optional(),\n        item: z\n          .intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Inventory item ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n                )\n                .optional()\n                .nullable(),\n              _createdDate: z\n                .date()\n                .describe('Date and time the inventory item was created.')\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe('Date and time the inventory item was last updated.')\n                .optional()\n                .nullable(),\n              variantId: z\n                .string()\n                .describe('Variant ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional(),\n              locationId: z\n                .string()\n                .describe(\n                  \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              productId: z\n                .string()\n                .describe('Product ID.')\n                .min(1)\n                .max(36)\n                .optional(),\n              trackQuantity: z\n                .boolean()\n                .describe('Whether the quantity is being tracked.')\n                .optional(),\n              availabilityStatus: z\n                .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n                .describe('Inventory item availability status.')\n                .optional(),\n              preorderInfo: z\n                .object({\n                  enabled: z\n                    .boolean()\n                    .describe(\n                      \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                    )\n                    .optional()\n                    .nullable(),\n                  message: z\n                    .string()\n                    .describe(\n                      'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                    )\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  limit: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                    )\n                    .min(0)\n                    .max(100000)\n                    .optional()\n                    .nullable(),\n                  counter: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                    )\n                    .min(0)\n                    .max(99999)\n                    .optional()\n                    .nullable(),\n                  quantity: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n                )\n                .optional(),\n              product: z\n                .object({\n                  name: z\n                    .string()\n                    .describe('Product name.')\n                    .max(80)\n                    .optional()\n                    .nullable(),\n                  directCategoryIds: z.array(z.string()).max(2000).optional(),\n                  variantName: z\n                    .string()\n                    .describe('Variant name.')\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  variantSku: z\n                    .string()\n                    .describe('Variant SKU (stock keeping unit).')\n                    .min(1)\n                    .max(40)\n                    .optional()\n                    .nullable(),\n                  variantVisible: z\n                    .boolean()\n                    .describe('Whether the variant is visible in the store.')\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Associated product and variant details.')\n                .optional(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z.never().optional(),\n              }),\n              z.object({\n                quantity: z.never().optional(),\n                inStock: z\n                  .boolean()\n                  .describe(\n                    \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n                  ),\n              }),\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n                  )\n                  .min(-99999)\n                  .max(99999),\n              }),\n            ])\n          )\n          .describe(\n            'Full inventory item entity.\\n\\nReturned only if `returnEntity: true` is passed in the request.'\n          )\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(300)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk action metadata.')\n    .optional(),\n});\nexport const BulkIncrementInventoryItemsRequest = z.object({\n  incrementData: z\n    .array(\n      z.object({\n        inventoryItemId: z\n          .string()\n          .describe('Inventory item ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          ),\n        incrementBy: z\n          .number()\n          .int()\n          .describe('Amount to increment by.')\n          .min(1)\n          .max(99999),\n      })\n    )\n    .min(1)\n    .max(300),\n  options: z\n    .object({\n      returnEntity: z\n        .boolean()\n        .describe(\n          'Whether to return the full inventory item entities in the response.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      reason: z.enum(['ORDER', 'MANUAL', 'REVERT_INVENTORY_CHANGE']).optional(),\n    })\n    .optional(),\n});\nexport const BulkIncrementInventoryItemsResponse = z.object({\n  results: z\n    .array(\n      z.object({\n        itemMetadata: z\n          .object({\n            _id: z\n              .string()\n              .describe(\n                \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n              )\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n            originalIndex: z\n              .number()\n              .int()\n              .describe(\n                'Index of the item within the request array. Allows for correlation between request and response items.'\n              )\n              .optional(),\n            success: z\n              .boolean()\n              .describe(\n                'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n              )\n              .optional(),\n            error: z\n              .object({\n                code: z.string().describe('Error code.').optional(),\n                description: z\n                  .string()\n                  .describe('Description of the error.')\n                  .optional(),\n                data: z\n                  .record(z.string(), z.any())\n                  .describe('Data related to the error.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Details about the error in case of failure.')\n              .optional(),\n          })\n          .describe('Bulk action metadata for inventory item.')\n          .optional(),\n        item: z\n          .intersection(\n            z.object({\n              _id: z\n                .string()\n                .describe('Inventory item ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              revision: z\n                .string()\n                .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                .describe(\n                  'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n                )\n                .optional()\n                .nullable(),\n              _createdDate: z\n                .date()\n                .describe('Date and time the inventory item was created.')\n                .optional()\n                .nullable(),\n              _updatedDate: z\n                .date()\n                .describe('Date and time the inventory item was last updated.')\n                .optional()\n                .nullable(),\n              variantId: z\n                .string()\n                .describe('Variant ID.')\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional(),\n              locationId: z\n                .string()\n                .describe(\n                  \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              productId: z\n                .string()\n                .describe('Product ID.')\n                .min(1)\n                .max(36)\n                .optional(),\n              trackQuantity: z\n                .boolean()\n                .describe('Whether the quantity is being tracked.')\n                .optional(),\n              availabilityStatus: z\n                .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n                .describe('Inventory item availability status.')\n                .optional(),\n              preorderInfo: z\n                .object({\n                  enabled: z\n                    .boolean()\n                    .describe(\n                      \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                    )\n                    .optional()\n                    .nullable(),\n                  message: z\n                    .string()\n                    .describe(\n                      'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                    )\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  limit: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                    )\n                    .min(0)\n                    .max(100000)\n                    .optional()\n                    .nullable(),\n                  counter: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                    )\n                    .min(0)\n                    .max(99999)\n                    .optional()\n                    .nullable(),\n                  quantity: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n                )\n                .optional(),\n              product: z\n                .object({\n                  name: z\n                    .string()\n                    .describe('Product name.')\n                    .max(80)\n                    .optional()\n                    .nullable(),\n                  directCategoryIds: z.array(z.string()).max(2000).optional(),\n                  variantName: z\n                    .string()\n                    .describe('Variant name.')\n                    .min(1)\n                    .max(250)\n                    .optional()\n                    .nullable(),\n                  variantSku: z\n                    .string()\n                    .describe('Variant SKU (stock keeping unit).')\n                    .min(1)\n                    .max(40)\n                    .optional()\n                    .nullable(),\n                  variantVisible: z\n                    .boolean()\n                    .describe('Whether the variant is visible in the store.')\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Associated product and variant details.')\n                .optional(),\n              extendedFields: z\n                .object({\n                  namespaces: z\n                    .record(z.string(), z.record(z.string(), z.any()))\n                    .describe(\n                      'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n                )\n                .optional(),\n            }),\n            z.xor([\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z.never().optional(),\n              }),\n              z.object({\n                quantity: z.never().optional(),\n                inStock: z\n                  .boolean()\n                  .describe(\n                    \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n                  ),\n              }),\n              z.object({\n                inStock: z.never().optional(),\n                quantity: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n                  )\n                  .min(-99999)\n                  .max(99999),\n              }),\n            ])\n          )\n          .describe(\n            'Full inventory item entity.\\n\\nReturned only if `returnEntity: true` is passed in the request.'\n          )\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(300)\n    .optional(),\n  bulkActionMetadata: z\n    .object({\n      totalSuccesses: z\n        .number()\n        .int()\n        .describe('Number of items that were successfully processed.')\n        .optional(),\n      totalFailures: z\n        .number()\n        .int()\n        .describe(\"Number of items that couldn't be processed.\")\n        .optional(),\n      undetailedFailures: z\n        .number()\n        .int()\n        .describe(\n          'Number of failures without details because detailed failure threshold was exceeded.'\n        )\n        .optional(),\n    })\n    .describe('Bulk action metadata.')\n    .optional(),\n});\nexport const BulkDecrementInventoryItemsByVariantAndLocationRequest = z.object({\n  decrementData: z\n    .array(\n      z.object({\n        variantId: z\n          .string()\n          .describe('Variant ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          ),\n        locationId: z\n          .string()\n          .describe('Location ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        decrementBy: z\n          .number()\n          .int()\n          .describe('Amount to decrement by.')\n          .min(1)\n          .max(99999),\n        preorderRequest: z\n          .boolean()\n          .describe(\n            \"Whether the request to decrement the inventory item's quantity was made as part of a purchase that includes preorder items.\\n\\n+ If `true` and the item is available for preorder in the default location, negative inventory quantity is allowed.\\n+ If `false` and the item is not available for preorder, negative inventory is not allowed.\"\n          )\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(300),\n  options: z\n    .object({\n      restrictInventory: z\n        .boolean()\n        .describe(\n          'Whether to allow negative inventory following this decrement action.\\n\\nDefault: `false` (negative inventory is not allowed)'\n        )\n        .optional()\n        .nullable(),\n      returnEntity: z\n        .boolean()\n        .describe(\n          'Whether to return the full inventory item entities in the response.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      reason: z.enum(['ORDER', 'MANUAL', 'REVERT_INVENTORY_CHANGE']).optional(),\n    })\n    .optional(),\n});\nexport const BulkDecrementInventoryItemsByVariantAndLocationResponse = z.object(\n  {\n    results: z\n      .array(\n        z.object({\n          itemMetadata: z\n            .object({\n              _id: z\n                .string()\n                .describe(\n                  \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              originalIndex: z\n                .number()\n                .int()\n                .describe(\n                  'Index of the item within the request array. Allows for correlation between request and response items.'\n                )\n                .optional(),\n              success: z\n                .boolean()\n                .describe(\n                  'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n                )\n                .optional(),\n              error: z\n                .object({\n                  code: z.string().describe('Error code.').optional(),\n                  description: z\n                    .string()\n                    .describe('Description of the error.')\n                    .optional(),\n                  data: z\n                    .record(z.string(), z.any())\n                    .describe('Data related to the error.')\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Details about the error in case of failure.')\n                .optional(),\n            })\n            .describe('Bulk action metadata for inventory item.')\n            .optional(),\n          item: z\n            .intersection(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Inventory item ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                revision: z\n                  .string()\n                  .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                  .describe(\n                    'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n                  )\n                  .optional()\n                  .nullable(),\n                _createdDate: z\n                  .date()\n                  .describe('Date and time the inventory item was created.')\n                  .optional()\n                  .nullable(),\n                _updatedDate: z\n                  .date()\n                  .describe(\n                    'Date and time the inventory item was last updated.'\n                  )\n                  .optional()\n                  .nullable(),\n                variantId: z\n                  .string()\n                  .describe('Variant ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional(),\n                locationId: z\n                  .string()\n                  .describe(\n                    \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n                  )\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                productId: z\n                  .string()\n                  .describe('Product ID.')\n                  .min(1)\n                  .max(36)\n                  .optional(),\n                trackQuantity: z\n                  .boolean()\n                  .describe('Whether the quantity is being tracked.')\n                  .optional(),\n                availabilityStatus: z\n                  .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n                  .describe('Inventory item availability status.')\n                  .optional(),\n                preorderInfo: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                      )\n                      .optional()\n                      .nullable(),\n                    message: z\n                      .string()\n                      .describe(\n                        'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                      )\n                      .min(1)\n                      .max(250)\n                      .optional()\n                      .nullable(),\n                    limit: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                      )\n                      .min(0)\n                      .max(100000)\n                      .optional()\n                      .nullable(),\n                    counter: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                      )\n                      .min(0)\n                      .max(99999)\n                      .optional()\n                      .nullable(),\n                    quantity: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe(\n                    \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n                  )\n                  .optional(),\n                product: z\n                  .object({\n                    name: z\n                      .string()\n                      .describe('Product name.')\n                      .max(80)\n                      .optional()\n                      .nullable(),\n                    directCategoryIds: z.array(z.string()).max(2000).optional(),\n                    variantName: z\n                      .string()\n                      .describe('Variant name.')\n                      .min(1)\n                      .max(250)\n                      .optional()\n                      .nullable(),\n                    variantSku: z\n                      .string()\n                      .describe('Variant SKU (stock keeping unit).')\n                      .min(1)\n                      .max(40)\n                      .optional()\n                      .nullable(),\n                    variantVisible: z\n                      .boolean()\n                      .describe('Whether the variant is visible in the store.')\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Associated product and variant details.')\n                  .optional(),\n                extendedFields: z\n                  .object({\n                    namespaces: z\n                      .record(z.string(), z.record(z.string(), z.any()))\n                      .describe(\n                        'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n                  )\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  inStock: z.never().optional(),\n                  quantity: z.never().optional(),\n                }),\n                z.object({\n                  quantity: z.never().optional(),\n                  inStock: z\n                    .boolean()\n                    .describe(\n                      \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n                    ),\n                }),\n                z.object({\n                  inStock: z.never().optional(),\n                  quantity: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n                    )\n                    .min(-99999)\n                    .max(99999),\n                }),\n              ])\n            )\n            .describe(\n              'Full inventory item entity.\\n\\nReturned only if `returnEntity: true` is passed in the request.'\n            )\n            .optional(),\n        })\n      )\n      .min(1)\n      .max(300)\n      .optional(),\n    bulkActionMetadata: z\n      .object({\n        totalSuccesses: z\n          .number()\n          .int()\n          .describe('Number of items that were successfully processed.')\n          .optional(),\n        totalFailures: z\n          .number()\n          .int()\n          .describe(\"Number of items that couldn't be processed.\")\n          .optional(),\n        undetailedFailures: z\n          .number()\n          .int()\n          .describe(\n            'Number of failures without details because detailed failure threshold was exceeded.'\n          )\n          .optional(),\n      })\n      .describe('Bulk action metadata.')\n      .optional(),\n  }\n);\nexport const BulkIncrementInventoryItemsByVariantAndLocationRequest = z.object({\n  incrementData: z\n    .array(\n      z.object({\n        variantId: z\n          .string()\n          .describe('Variant ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          ),\n        locationId: z\n          .string()\n          .describe('Location ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional()\n          .nullable(),\n        incrementBy: z\n          .number()\n          .int()\n          .describe('Amount to increment by.')\n          .min(1)\n          .max(99999),\n      })\n    )\n    .min(1)\n    .max(300),\n  options: z\n    .object({\n      returnEntity: z\n        .boolean()\n        .describe(\n          'Whether to return the full inventory item entities in the response.\\n\\nDefault: `false`'\n        )\n        .optional(),\n      reason: z.enum(['ORDER', 'MANUAL', 'REVERT_INVENTORY_CHANGE']).optional(),\n    })\n    .optional(),\n});\nexport const BulkIncrementInventoryItemsByVariantAndLocationResponse = z.object(\n  {\n    results: z\n      .array(\n        z.object({\n          itemMetadata: z\n            .object({\n              _id: z\n                .string()\n                .describe(\n                  \"Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\"\n                )\n                .regex(\n                  /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                  'Must be a valid GUID'\n                )\n                .optional()\n                .nullable(),\n              originalIndex: z\n                .number()\n                .int()\n                .describe(\n                  'Index of the item within the request array. Allows for correlation between request and response items.'\n                )\n                .optional(),\n              success: z\n                .boolean()\n                .describe(\n                  'Whether the requested action was successful for this item. When `false`, the `error` field is populated.'\n                )\n                .optional(),\n              error: z\n                .object({\n                  code: z.string().describe('Error code.').optional(),\n                  description: z\n                    .string()\n                    .describe('Description of the error.')\n                    .optional(),\n                  data: z\n                    .record(z.string(), z.any())\n                    .describe('Data related to the error.')\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Details about the error in case of failure.')\n                .optional(),\n            })\n            .describe('Bulk action metadata for inventory item.')\n            .optional(),\n          item: z\n            .intersection(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Inventory item ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                revision: z\n                  .string()\n                  .regex(/^-?\\d+$/, 'Must be a valid Int64 string')\n                  .describe(\n                    'Revision number, which increments by 1 each time the inventory item is updated.\\nTo prevent conflicting changes,\\nthe current revision must be passed when updating the inventory item.\\n\\nIgnored when creating an inventory item.'\n                  )\n                  .optional()\n                  .nullable(),\n                _createdDate: z\n                  .date()\n                  .describe('Date and time the inventory item was created.')\n                  .optional()\n                  .nullable(),\n                _updatedDate: z\n                  .date()\n                  .describe(\n                    'Date and time the inventory item was last updated.'\n                  )\n                  .optional()\n                  .nullable(),\n                variantId: z\n                  .string()\n                  .describe('Variant ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional(),\n                locationId: z\n                  .string()\n                  .describe(\n                    \"Stores location ID. If not specified when creating an inventory item, the store's default location is used.\"\n                  )\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                productId: z\n                  .string()\n                  .describe('Product ID.')\n                  .min(1)\n                  .max(36)\n                  .optional(),\n                trackQuantity: z\n                  .boolean()\n                  .describe('Whether the quantity is being tracked.')\n                  .optional(),\n                availabilityStatus: z\n                  .enum(['OUT_OF_STOCK', 'IN_STOCK', 'PREORDER'])\n                  .describe('Inventory item availability status.')\n                  .optional(),\n                preorderInfo: z\n                  .object({\n                    enabled: z\n                      .boolean()\n                      .describe(\n                        \"Whether preorder is enabled for this inventory item.\\n\\n> **Note:** Preorder can't be enabled for digital products or products with subscriptions.\\n\\nDefault: `false`\"\n                      )\n                      .optional()\n                      .nullable(),\n                    message: z\n                      .string()\n                      .describe(\n                        'Message displayed to customers when the item is out of stock and preorder is enabled.'\n                      )\n                      .min(1)\n                      .max(250)\n                      .optional()\n                      .nullable(),\n                    limit: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Maximum number of items that can be preordered after stock reaches zero.\\n\\nSupported only for inventory items with `trackQuantity = true`.\\n\\nDefault: `100000`'\n                      )\n                      .min(0)\n                      .max(100000)\n                      .optional()\n                      .nullable(),\n                    counter: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Number of times this item has been preordered.\\n\\nSupported only for inventory items with `trackQuantity = true`.'\n                      )\n                      .min(0)\n                      .max(99999)\n                      .optional()\n                      .nullable(),\n                    quantity: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Remaining quantity available for preorder.\\n\\nSupported only for items with `trackQuantity` set to `true`.'\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe(\n                    \"Item preorder info.\\n\\nPreorder settings are configured per inventory item, so each variant-location combination can have its own preorder configuration.\\n\\n> **Note:** The product entity's `inventory.preorderStatus` and `inventory.preorderAvailability` fields reflect only the default location's preorder state.\"\n                  )\n                  .optional(),\n                product: z\n                  .object({\n                    name: z\n                      .string()\n                      .describe('Product name.')\n                      .max(80)\n                      .optional()\n                      .nullable(),\n                    directCategoryIds: z.array(z.string()).max(2000).optional(),\n                    variantName: z\n                      .string()\n                      .describe('Variant name.')\n                      .min(1)\n                      .max(250)\n                      .optional()\n                      .nullable(),\n                    variantSku: z\n                      .string()\n                      .describe('Variant SKU (stock keeping unit).')\n                      .min(1)\n                      .max(40)\n                      .optional()\n                      .nullable(),\n                    variantVisible: z\n                      .boolean()\n                      .describe('Whether the variant is visible in the store.')\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Associated product and variant details.')\n                  .optional(),\n                extendedFields: z\n                  .object({\n                    namespaces: z\n                      .record(z.string(), z.record(z.string(), z.any()))\n                      .describe(\n                        'Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\\nThe value of each key is structured according to the schema defined when the extended fields were configured.\\n\\nYou can only access fields for which you have the appropriate permissions.\\n\\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Custom field data for the inventory item object.\\n\\n[Extended fields](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/schema-plugins/about-schema-plugin-extensions) must be configured in the app dashboard before they can be accessed with API calls.'\n                  )\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  inStock: z.never().optional(),\n                  quantity: z.never().optional(),\n                }),\n                z.object({\n                  quantity: z.never().optional(),\n                  inStock: z\n                    .boolean()\n                    .describe(\n                      \"Indicates that inventory is tracked by status rather than quantity.\\n\\nWhen set to `true`, the item is marked as available for sale without tracking exact quantities.\\nWhen set to `false`, the item is marked as out of stock.\\nThis tracking method is useful for made-to-order products or items with unlimited inventory.\\n\\nWhen using this tracking method, `trackQuantity` is `false` and preorder limits aren't supported.\"\n                    ),\n                }),\n                z.object({\n                  inStock: z.never().optional(),\n                  quantity: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Indicates that inventory is tracked by quantity.\\n\\nSet this field to the number of items currently in stock.\\nThis tracking method is useful when you need to know exactly how many items are available.\\n\\nWhen using this tracking method, `trackQuantity` is `true`.\\nQuantity can be negative when inventory is decremented for an order that has already been paid.'\n                    )\n                    .min(-99999)\n                    .max(99999),\n                }),\n              ])\n            )\n            .describe(\n              'Full inventory item entity.\\n\\nReturned only if `returnEntity: true` is passed in the request.'\n            )\n            .optional(),\n        })\n      )\n      .min(1)\n      .max(300)\n      .optional(),\n    bulkActionMetadata: z\n      .object({\n        totalSuccesses: z\n          .number()\n          .int()\n          .describe('Number of items that were successfully processed.')\n          .optional(),\n        totalFailures: z\n          .number()\n          .int()\n          .describe(\"Number of items that couldn't be processed.\")\n          .optional(),\n        undetailedFailures: z\n          .number()\n          .int()\n          .describe(\n            'Number of failures without details because detailed failure threshold was exceeded.'\n          )\n          .optional(),\n      })\n      .describe(\n        'Bulk action metadata details as: totalSuccess and totalFailure.'\n      )\n      .optional(),\n  }\n);\n"],"mappings":";AAAA,YAAY,OAAO;AAEZ,IAAM,6BAA+B,SAAO;AAAA,EACjD,eACG;AAAA,IACG,SAAO;AAAA,MACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,MACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,MACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,QACC;AAAA,QACA;AAAA,MACF;AAAA,MACF,YACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,WAAa,SAAO,EAAE,SAAS,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,MAC3D,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS;AAAA,MACZ,cACG,SAAO;AAAA,QACN,SACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,SACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,QACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,QACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,SACG,SAAO;AAAA,QACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,QACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,QAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,QACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,MACZ,gBACG,SAAO;AAAA,QACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC;AAAA,IACC,MAAI;AAAA,MACF,SAAO;AAAA,QACP,UAAY,QAAM,EAAE,SAAS;AAAA,QAC7B,SACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF;AAAA,MACJ,CAAC;AAAA,MACC,SAAO;AAAA,QACP,SAAW,QAAM,EAAE,SAAS;AAAA,QAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,MACd,CAAC;AAAA,IACH,CAAC;AAAA,EACH,EACC,SAAS,2BAA2B;AACzC,CAAC;AACM,IAAM,8BAAgC;AAAA,EACzC,SAAO;AAAA,IACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,MACC;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,IACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,IACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,SAAS;AAAA,IACZ,YACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,WAAa,SAAO,EAAE,SAAS,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,IACtE,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,IACZ,cACG,SAAO;AAAA,MACN,SACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,SACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,MACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,MACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,SACG,SAAO;AAAA,MACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,MACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,MAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,MACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,IACZ,gBACG,SAAO;AAAA,MACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC;AAAA,EACC,MAAI;AAAA,IACF,SAAO,EAAE,SAAW,QAAM,EAAE,SAAS,GAAG,UAAY,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,IACxE,SAAO;AAAA,MACP,UAAY,QAAM,EAAE,SAAS;AAAA,MAC7B,SACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF;AAAA,IACJ,CAAC;AAAA,IACC,SAAO;AAAA,MACP,SAAW,QAAM,EAAE,SAAS;AAAA,MAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,IACd,CAAC;AAAA,EACH,CAAC;AACH;AACO,IAAM,kCAAoC,SAAO;AAAA,EACtD,gBACG;AAAA,IACG;AAAA,MACE,SAAO;AAAA,QACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,QACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,QACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,UACC;AAAA,UACA;AAAA,QACF;AAAA,QACF,YACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,WAAa,SAAO,EAAE,SAAS,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AAAA,QAC3D,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS;AAAA,QACZ,cACG,SAAO;AAAA,UACN,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,SAAO;AAAA,UACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,UACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,UAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,UACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,QACZ,gBACG,SAAO;AAAA,UACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC;AAAA,MACC,MAAI;AAAA,QACF,SAAO;AAAA,UACP,UAAY,QAAM,EAAE,SAAS;AAAA,UAC7B,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF;AAAA,QACJ,CAAC;AAAA,QACC,SAAO;AAAA,UACP,SAAW,QAAM,EAAE,SAAS;AAAA,UAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,QACd,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF,EACC,IAAI,CAAC,EACL,IAAI,GAAI;AAAA,EACX,SACG,SAAO;AAAA,IACN,cACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC,EACA,SAAS;AACd,CAAC;AACM,IAAM,mCAAqC,SAAO;AAAA,EACvD,SACG;AAAA,IACG,SAAO;AAAA,MACP,cACG,SAAO;AAAA,QACN,KACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,OACG,SAAO;AAAA,UACN,MAAQ,SAAO,EAAE,SAAS,aAAa,EAAE,SAAS;AAAA,UAClD,aACG,SAAO,EACP,SAAS,2BAA2B,EACpC,SAAS;AAAA,UACZ,MACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B,SAAS,4BAA4B,EACrC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,6CAA6C,EACtD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,MACZ,MACG;AAAA,QACG,SAAO;AAAA,UACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,UACZ,YACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,UACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,UACZ,cACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,YACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,SACG,SAAO;AAAA,YACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,YAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,UACZ,gBACG,SAAO;AAAA,YACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC;AAAA,QACC,MAAI;AAAA,UACF,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,UAC/B,CAAC;AAAA,UACC,SAAO;AAAA,YACP,UAAY,QAAM,EAAE,SAAS;AAAA,YAC7B,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF;AAAA,UACJ,CAAC;AAAA,UACC,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,UACd,CAAC;AAAA,QACH,CAAC;AAAA,MACH,EACC;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS;AAAA,EACZ,oBACG,SAAO;AAAA,IACN,gBACG,SAAO,EACP,IAAI,EACJ,SAAS,mDAAmD,EAC5D,SAAS;AAAA,IACZ,eACG,SAAO,EACP,IAAI,EACJ,SAAS,6CAA6C,EACtD,SAAS;AAAA,IACZ,oBACG,SAAO,EACP,IAAI,EACJ;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC,EACA,SAAS,uBAAuB,EAChC,SAAS;AACd,CAAC;AACM,IAAM,0BAA4B,SAAO;AAAA,EAC9C,iBACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,IACC;AAAA,IACA;AAAA,EACF;AACJ,CAAC;AACM,IAAM,2BAA6B;AAAA,EACtC,SAAO;AAAA,IACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,MACC;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,IACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,IACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,SAAS;AAAA,IACZ,YACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,WAAa,SAAO,EAAE,SAAS,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,IACtE,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,IACZ,cACG,SAAO;AAAA,MACN,SACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,SACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,MACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,MACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,SACG,SAAO;AAAA,MACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,MACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,MAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,MACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,IACZ,gBACG,SAAO;AAAA,MACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC;AAAA,EACC,MAAI;AAAA,IACF,SAAO,EAAE,SAAW,QAAM,EAAE,SAAS,GAAG,UAAY,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,IACxE,SAAO;AAAA,MACP,UAAY,QAAM,EAAE,SAAS;AAAA,MAC7B,SACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF;AAAA,IACJ,CAAC;AAAA,IACC,SAAO;AAAA,MACP,SAAW,QAAM,EAAE,SAAS;AAAA,MAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,IACd,CAAC;AAAA,EACH,CAAC;AACH;AACO,IAAM,6BAA+B,SAAO;AAAA,EACjD,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,IACC;AAAA,IACA;AAAA,EACF;AAAA,EACF,eACG;AAAA,IACG,SAAO;AAAA,MACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,QACC;AAAA,MACF;AAAA,MACF,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,MACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,MACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS;AAAA,MACZ,YACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,WAAa,SAAO,EAAE,SAAS,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,MACtE,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS;AAAA,MACZ,cACG,SAAO;AAAA,QACN,SACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,SACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,QACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,QACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,SACG,SAAO;AAAA,QACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,QACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,QAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,QACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,MACZ,gBACG,SAAO;AAAA,QACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC;AAAA,IACC,MAAI;AAAA,MACF,SAAO;AAAA,QACP,SAAW,QAAM,EAAE,SAAS;AAAA,QAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,MAC/B,CAAC;AAAA,MACC,SAAO;AAAA,QACP,UAAY,QAAM,EAAE,SAAS;AAAA,QAC7B,SACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF;AAAA,MACJ,CAAC;AAAA,MACC,SAAO;AAAA,QACP,SAAW,QAAM,EAAE,SAAS;AAAA,QAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,MACd,CAAC;AAAA,IACH,CAAC;AAAA,EACH,EACC,SAAS,2BAA2B;AAAA,EACvC,SACG,SAAO;AAAA,IACN,QAAU,OAAK,CAAC,SAAS,UAAU,yBAAyB,CAAC,EAAE,SAAS;AAAA,EAC1E,CAAC,EACA,SAAS;AACd,CAAC;AACM,IAAM,8BAAgC;AAAA,EACzC,SAAO;AAAA,IACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,MACC;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,IACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,IACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,SAAS;AAAA,IACZ,YACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC;AAAA,MACC;AAAA,MACA;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,WAAa,SAAO,EAAE,SAAS,aAAa,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,IACtE,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,IACZ,cACG,SAAO;AAAA,MACN,SACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,SACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,MACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,MACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,SACG,SAAO;AAAA,MACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,MACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,MAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,MACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,IACZ,gBACG,SAAO;AAAA,MACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC;AAAA,EACC,MAAI;AAAA,IACF,SAAO,EAAE,SAAW,QAAM,EAAE,SAAS,GAAG,UAAY,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,IACxE,SAAO;AAAA,MACP,UAAY,QAAM,EAAE,SAAS;AAAA,MAC7B,SACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF;AAAA,IACJ,CAAC;AAAA,IACC,SAAO;AAAA,MACP,SAAW,QAAM,EAAE,SAAS;AAAA,MAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,IACd,CAAC;AAAA,EACH,CAAC;AACH;AACO,IAAM,kCAAoC,SAAO;AAAA,EACtD,gBACG;AAAA,IACG,SAAO;AAAA,MACP,eACG;AAAA,QACG,SAAO;AAAA,UACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,YACC;AAAA,YACA;AAAA,UACF;AAAA,UACF,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,YACC;AAAA,UACF;AAAA,UACF,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,UACZ,YACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,UACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS;AAAA,UACZ,cACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,YACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,SACG,SAAO;AAAA,YACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,YAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,UACZ,gBACG,SAAO;AAAA,YACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC;AAAA,QACC,MAAI;AAAA,UACF,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,UAC/B,CAAC;AAAA,UACC,SAAO;AAAA,YACP,UAAY,QAAM,EAAE,SAAS;AAAA,YAC7B,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF;AAAA,UACJ,CAAC;AAAA,UACC,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,UACd,CAAC;AAAA,QACH,CAAC;AAAA,MACH,EACC,SAAS,2BAA2B,EACpC,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAI;AAAA,EACX,SACG,SAAO;AAAA,IACN,cACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,QAAU,OAAK,CAAC,SAAS,UAAU,yBAAyB,CAAC,EAAE,SAAS;AAAA,EAC1E,CAAC,EACA,SAAS;AACd,CAAC;AACM,IAAM,mCAAqC,SAAO;AAAA,EACvD,SACG;AAAA,IACG,SAAO;AAAA,MACP,cACG,SAAO;AAAA,QACN,KACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,OACG,SAAO;AAAA,UACN,MAAQ,SAAO,EAAE,SAAS,aAAa,EAAE,SAAS;AAAA,UAClD,aACG,SAAO,EACP,SAAS,2BAA2B,EACpC,SAAS;AAAA,UACZ,MACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B,SAAS,4BAA4B,EACrC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,6CAA6C,EACtD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,MACZ,MACG;AAAA,QACG,SAAO;AAAA,UACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,UACZ,YACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,UACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,UACZ,cACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,YACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,SACG,SAAO;AAAA,YACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,YAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,UACZ,gBACG,SAAO;AAAA,YACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC;AAAA,QACC,MAAI;AAAA,UACF,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,UAC/B,CAAC;AAAA,UACC,SAAO;AAAA,YACP,UAAY,QAAM,EAAE,SAAS;AAAA,YAC7B,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF;AAAA,UACJ,CAAC;AAAA,UACC,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,UACd,CAAC;AAAA,QACH,CAAC;AAAA,MACH,EACC;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS;AAAA,EACZ,oBACG,SAAO;AAAA,IACN,gBACG,SAAO,EACP,IAAI,EACJ,SAAS,mDAAmD,EAC5D,SAAS;AAAA,IACZ,eACG,SAAO,EACP,IAAI,EACJ,SAAS,6CAA6C,EACtD,SAAS;AAAA,IACZ,oBACG,SAAO,EACP,IAAI,EACJ;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC,EACA,SAAS,uBAAuB,EAChC,SAAS;AACd,CAAC;AACM,IAAM,0CAA4C,SAAO;AAAA,EAC9D,QAAU,SAAS,SAAO,GAAK,MAAI,CAAC,EAAE,SAAS,gBAAgB;AAAA,EAC/D,SAAW,SAAO;AAAA,IAChB,eACG;AAAA,MACG,SAAO;AAAA,QACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,QACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,QACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS;AAAA,QACZ,YACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,QACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS;AAAA,QACZ,cACG,SAAO;AAAA,UACN,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,SAAO;AAAA,UACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,UACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,UAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,UACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,QACZ,gBACG,SAAO;AAAA,UACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC;AAAA,MACC,MAAI;AAAA,QACF,SAAO;AAAA,UACP,SAAW,QAAM,EAAE,SAAS;AAAA,UAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,QAC/B,CAAC;AAAA,QACC,SAAO;AAAA,UACP,UAAY,QAAM,EAAE,SAAS;AAAA,UAC7B,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF;AAAA,QACJ,CAAC;AAAA,QACC,SAAO;AAAA,UACP,SAAW,QAAM,EAAE,SAAS;AAAA,UAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,QACd,CAAC;AAAA,MACH,CAAC;AAAA,IACH,EACC,SAAS,2BAA2B;AAAA,IACvC,QACG,SAAO;AAAA,MACN,MAAQ,OAAK,CAAC,MAAM,KAAK,CAAC,EAAE,SAAS;AAAA,MACrC,YACG,SAAO,EACP,SAAS,4BAA4B,EACrC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,QAAU,QAAQ,SAAO,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,MAC7C,OACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,EACd,CAAC;AACH,CAAC;AACM,IAAM,2CAA6C,SAAO;AAAA,EAC/D,OACG,SAAO,EACP;AAAA,IACC;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,SAAS;AACd,CAAC;AACM,IAAM,6BAA+B,SAAO;AAAA,EACjD,iBACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,IACC;AAAA,IACA;AAAA,EACF;AACJ,CAAC;AACM,IAAM,8BAAgC,SAAO,CAAC,CAAC;AAC/C,IAAM,kCAAoC,SAAO;AAAA,EACtD,kBAAoB,QAAQ,SAAO,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAI;AACvD,CAAC;AACM,IAAM,mCAAqC,SAAO;AAAA,EACvD,SACG;AAAA,IACG,SAAO;AAAA,MACP,cACG,SAAO;AAAA,QACN,KACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,OACG,SAAO;AAAA,UACN,MAAQ,SAAO,EAAE,SAAS,aAAa,EAAE,SAAS;AAAA,UAClD,aACG,SAAO,EACP,SAAS,2BAA2B,EACpC,SAAS;AAAA,UACZ,MACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B,SAAS,4BAA4B,EACrC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,6CAA6C,EACtD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS;AAAA,EACZ,oBACG,SAAO;AAAA,IACN,gBACG,SAAO,EACP,IAAI,EACJ,SAAS,mDAAmD,EAC5D,SAAS;AAAA,IACZ,eACG,SAAO,EACP,IAAI,EACJ,SAAS,6CAA6C,EACtD,SAAS;AAAA,IACZ,oBACG,SAAO,EACP,IAAI,EACJ;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC,EACA,SAAS,uBAAuB,EAChC,SAAS;AACd,CAAC;AACM,IAAM,6BAA+B,SAAO;AAAA,EACjD,OACG;AAAA,IACG,SAAO;AAAA,MACP,QACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,MACG;AAAA,QACG,SAAO;AAAA,UACP,WACG,SAAO,EACP,SAAS,+BAA+B,EACxC,IAAI,GAAG,EACP,SAAS;AAAA,UACZ,OAAS,OAAK,CAAC,OAAO,MAAM,CAAC,EAAE,SAAS;AAAA,QAC1C,CAAC;AAAA,MACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,IACd,CAAC;AAAA,IACC,MAAI;AAAA,MACF,SAAO;AAAA,QACP,QAAU,QAAM,EAAE,SAAS;AAAA,QAC3B,cAAgB,QAAM,EAAE,SAAS;AAAA,MACnC,CAAC;AAAA,MACC,SAAO;AAAA,QACP,cAAgB,QAAM,EAAE,SAAS;AAAA,QACjC,QACG,SAAO;AAAA,UACN,OACG,SAAO,EACP,IAAI,EACJ,SAAS,0BAA0B,EACnC,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,UACZ,QACG,SAAO,EACP,IAAI,EACJ,SAAS,oDAAoD,EAC7D,IAAI,CAAC,EACL,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF;AAAA,MACJ,CAAC;AAAA,MACC,SAAO;AAAA,QACP,QAAU,QAAM,EAAE,SAAS;AAAA,QAC3B,cACG,SAAO;AAAA,UACN,OACG,SAAO,EACP,IAAI,EACJ,SAAS,mDAAmD,EAC5D,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,UACZ,QACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,IAAK,EACT,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF;AAAA,MACJ,CAAC;AAAA,IACH,CAAC;AAAA,EACH,EACC,SAAS,gBAAgB;AAC9B,CAAC;AACM,IAAM,8BAAgC,SAAO;AAAA,EAClD,gBACG;AAAA,IACG;AAAA,MACE,SAAO;AAAA,QACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,QACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,QACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS;AAAA,QACZ,YACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,QACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,QACZ,cACG,SAAO;AAAA,UACN,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,SAAO;AAAA,UACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,UACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,UAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,UACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,QACZ,gBACG,SAAO;AAAA,UACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC;AAAA,MACC,MAAI;AAAA,QACF,SAAO;AAAA,UACP,SAAW,QAAM,EAAE,SAAS;AAAA,UAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,QAC/B,CAAC;AAAA,QACC,SAAO;AAAA,UACP,UAAY,QAAM,EAAE,SAAS;AAAA,UAC7B,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF;AAAA,QACJ,CAAC;AAAA,QACC,SAAO;AAAA,UACP,SAAW,QAAM,EAAE,SAAS;AAAA,UAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,QACd,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF,EACC,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS;AAAA,EACZ,gBACG,SAAO;AAAA,IACN,OACG,SAAO,EACP,IAAI,EACJ,SAAS,gDAAgD,EACzD,SAAS,EACT,SAAS;AAAA,IACZ,SACG,SAAO;AAAA,MACN,MACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,IAAK,EACT,SAAS,EACT,SAAS;AAAA,MACZ,MACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,IAAK,EACT,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AACd,CAAC;AACM,IAAM,8BAAgC,SAAO;AAAA,EAClD,QACG;AAAA,IACG,SAAO;AAAA,MACP,QACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,MACG;AAAA,QACG,SAAO;AAAA,UACP,WACG,SAAO,EACP,SAAS,+BAA+B,EACxC,IAAI,GAAG,EACP,SAAS;AAAA,UACZ,OAAS,OAAK,CAAC,OAAO,MAAM,CAAC,EAAE,SAAS;AAAA,QAC1C,CAAC;AAAA,MACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,MACZ,cACG;AAAA,QACG;AAAA,UACE,SAAO;AAAA,YACP,MACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,MACG,OAAK;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC,EACA,SAAS;AAAA,YACZ,WACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,YACZ,SACG;AAAA,cACG,SAAO;AAAA,gBACP,MACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,WACG,SAAO,EACP,SAAS,wBAAwB,EACjC,IAAI,GAAG,EACP,SAAS;AAAA,cACd,CAAC;AAAA,cACC,MAAI;AAAA,gBACF,SAAO,EAAE,OAAS,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,gBACtC,SAAO;AAAA,kBACP,OACG;AAAA,oBACG,SAAO;AAAA,sBACP,UACG,OAAK,CAAC,SAAS,OAAO,CAAC,EACvB,SAAS,YAAY,EACrB,SAAS;AAAA,sBACZ,eACG,OAAK,CAAC,QAAQ,KAAK,CAAC,EACpB,SAAS,iBAAiB,EAC1B,SAAS;AAAA,sBACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,wBACC;AAAA,sBACF,EACC,SAAS,EACT,SAAS;AAAA,sBACZ,eACG,OAAK,CAAC,WAAW,SAAS,CAAC,EAC3B;AAAA,wBACC;AAAA,sBACF,EACC,SAAS;AAAA,oBACd,CAAC;AAAA,oBACC,MAAI;AAAA,sBACF,SAAO;AAAA,wBACP,gBAAkB,QAAM,EAAE,SAAS;AAAA,sBACrC,CAAC;AAAA,sBACC,SAAO;AAAA,wBACP,gBACG,SAAO;AAAA,0BACN,aACG,SAAO,EACP;AAAA,4BACC;AAAA,0BACF,EACC,IAAI,EAAE,EACN,SAAS;AAAA,wBACd,CAAC,EACA;AAAA,0BACC;AAAA,wBACF;AAAA,sBACJ,CAAC;AAAA,oBACH,CAAC;AAAA,kBACH,EACC,SAAS,kCAAkC;AAAA,gBAChD,CAAC;AAAA,cACH,CAAC;AAAA,YACH,EACC,SAAS,mCAAmC,EAC5C,SAAS;AAAA,UACd,CAAC;AAAA,UACC,MAAI;AAAA,YACF,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,cAClC,QAAU,QAAM,EAAE,SAAS;AAAA,YAC7B,CAAC;AAAA,YACC,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,cAClC,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,OACG;AAAA,gBACG,SAAO;AAAA,kBACP,UACG,OAAK,CAAC,SAAS,OAAO,CAAC,EACvB,SAAS,YAAY,EACrB,SAAS;AAAA,kBACZ,eACG,OAAK,CAAC,QAAQ,KAAK,CAAC,EACpB,SAAS,iBAAiB,EAC1B,SAAS;AAAA,kBACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,oBACC;AAAA,kBACF,EACC,SAAS,EACT,SAAS;AAAA,kBACZ,eACG,OAAK,CAAC,WAAW,SAAS,CAAC,EAC3B;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC;AAAA,gBACC,MAAI;AAAA,kBACF,SAAO,EAAE,gBAAkB,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,kBAC/C,SAAO;AAAA,oBACP,gBACG,SAAO;AAAA,sBACN,aACG,SAAO,EACP;AAAA,wBACC;AAAA,sBACF,EACC,IAAI,EAAE,EACN,SAAS;AAAA,oBACd,CAAC,EACA;AAAA,sBACC;AAAA,oBACF;AAAA,kBACJ,CAAC;AAAA,gBACH,CAAC;AAAA,cACH,EACC;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,cAClC,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,OACG,SAAO;AAAA,gBACN,SACG;AAAA,kBACG,SAAO;AAAA,oBACP,MACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,SAAS,EACT,SAAS;AAAA,oBACZ,IACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,SAAS,EACT,SAAS;AAAA,kBACd,CAAC;AAAA,gBACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,eAAiB,QAAM,EAAE,SAAS;AAAA,cAClC,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,QACG,SAAO;AAAA,gBACN,MACG,OAAK,CAAC,kBAAkB,OAAO,KAAK,CAAC,EACrC,SAAS,2CAA2C,EACpD,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,eACG,SAAO;AAAA,gBACN,UACG,OAAK;AAAA,kBACJ;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,cAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,cAClC,QACG,SAAO;AAAA,gBACN,oBACG;AAAA,kBACG;AAAA,oBACE,SAAO;AAAA,sBACP,MACG,SAAO,EACP;AAAA,wBACC;AAAA,sBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,sBACZ,MACG,OAAK;AAAA,wBACJ;AAAA,wBACA;AAAA,wBACA;AAAA,wBACA;AAAA,sBACF,CAAC,EACA,SAAS;AAAA,sBACZ,WACG,SAAO,EACP;AAAA,wBACC;AAAA,sBACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,oBACd,CAAC;AAAA,oBACC,MAAI;AAAA,sBACF,SAAO;AAAA,wBACP,OAAS,QAAM,EAAE,SAAS;AAAA,wBAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,wBAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,sBACpC,CAAC;AAAA,sBACC,SAAO;AAAA,wBACP,OAAS,QAAM,EAAE,SAAS;AAAA,wBAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,wBAClC,OACG;AAAA,0BACG,SAAO;AAAA,4BACP,UACG,OAAK,CAAC,SAAS,OAAO,CAAC,EACvB,SAAS,YAAY,EACrB,SAAS;AAAA,4BACZ,eACG,OAAK,CAAC,QAAQ,KAAK,CAAC,EACpB,SAAS,iBAAiB,EAC1B,SAAS;AAAA,4BACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,8BACC;AAAA,4BACF,EACC,SAAS,EACT,SAAS;AAAA,4BACZ,eACG,OAAK,CAAC,WAAW,SAAS,CAAC,EAC3B;AAAA,8BACC;AAAA,4BACF,EACC,SAAS;AAAA,0BACd,CAAC;AAAA,0BACC,MAAI;AAAA,4BACF,SAAO;AAAA,8BACP,gBAAkB,QAAM,EAAE,SAAS;AAAA,4BACrC,CAAC;AAAA,4BACC,SAAO;AAAA,8BACP,gBACG,SAAO;AAAA,gCACN,aACG,SAAO,EACP;AAAA,kCACC;AAAA,gCACF,EACC,IAAI,EAAE,EACN,SAAS;AAAA,8BACd,CAAC,EACA;AAAA,gCACC;AAAA,8BACF;AAAA,4BACJ,CAAC;AAAA,0BACH,CAAC;AAAA,wBACH,EACC;AAAA,0BACC;AAAA,wBACF;AAAA,sBACJ,CAAC;AAAA,sBACC,SAAO;AAAA,wBACP,OAAS,QAAM,EAAE,SAAS;AAAA,wBAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,wBAClC,OACG,SAAO;AAAA,0BACN,SACG;AAAA,4BACG,SAAO;AAAA,8BACP,MACG,SAAO,EACP;AAAA,gCACC;AAAA,8BACF,EACC,SAAS,EACT,SAAS;AAAA,8BACZ,IACG,SAAO,EACP;AAAA,gCACC;AAAA,8BACF,EACC,SAAS,EACT,SAAS;AAAA,4BACd,CAAC;AAAA,0BACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,wBACd,CAAC,EACA;AAAA,0BACC;AAAA,wBACF;AAAA,sBACJ,CAAC;AAAA,sBACC,SAAO;AAAA,wBACP,OAAS,QAAM,EAAE,SAAS;AAAA,wBAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,wBAC1B,eAAiB,QAAM,EAAE,SAAS;AAAA,wBAClC,QACG,SAAO;AAAA,0BACN,MACG,OAAK,CAAC,kBAAkB,OAAO,KAAK,CAAC,EACrC;AAAA,4BACC;AAAA,0BACF,EACC,SAAS;AAAA,wBACd,CAAC,EACA;AAAA,0BACC;AAAA,wBACF;AAAA,sBACJ,CAAC;AAAA,sBACC,SAAO;AAAA,wBACP,OAAS,QAAM,EAAE,SAAS;AAAA,wBAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,wBAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,eACG,SAAO;AAAA,0BACN,UACG,OAAK;AAAA,4BACJ;AAAA,4BACA;AAAA,4BACA;AAAA,4BACA;AAAA,4BACA;AAAA,4BACA;AAAA,4BACA;AAAA,0BACF,CAAC,EACA;AAAA,4BACC;AAAA,0BACF,EACC,SAAS;AAAA,wBACd,CAAC,EACA;AAAA,0BACC;AAAA,wBACF;AAAA,sBACJ,CAAC;AAAA,oBACH,CAAC;AAAA,kBACH;AAAA,gBACF,EACC,IAAI,CAAC,EACL,IAAI,CAAC,EACL,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF,EACC,IAAI,EAAE,EACN,SAAS;AAAA,MACZ,QACG,SAAO;AAAA,QACN,MAAQ,OAAK,CAAC,MAAM,KAAK,CAAC,EAAE,SAAS;AAAA,QACrC,YACG,SAAO,EACP,SAAS,4BAA4B,EACrC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,QAAU,QAAQ,SAAO,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,QAC7C,OACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,MACZ,UACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,IACd,CAAC;AAAA,IACC,MAAI;AAAA,MACF,SAAO,EAAE,cAAgB,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,MAC7C,SAAO;AAAA,QACP,cACG,SAAO;AAAA,UACN,OACG,SAAO,EACP,IAAI,EACJ,SAAS,mDAAmD,EAC5D,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,UACZ,QACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,IAAK,EACT,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF;AAAA,MACJ,CAAC;AAAA,IACH,CAAC;AAAA,EACH,EACC,SAAS,iBAAiB;AAC/B,CAAC;AACM,IAAM,+BAAiC,SAAO;AAAA,EACnD,gBACG;AAAA,IACG;AAAA,MACE,SAAO;AAAA,QACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,QACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,QACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS;AAAA,QACZ,YACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,QACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,QACZ,cACG,SAAO;AAAA,UACN,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,SAAO;AAAA,UACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,UACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,UAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,UACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,QACZ,gBACG,SAAO;AAAA,UACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC;AAAA,MACC,MAAI;AAAA,QACF,SAAO;AAAA,UACP,SAAW,QAAM,EAAE,SAAS;AAAA,UAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,QAC/B,CAAC;AAAA,QACC,SAAO;AAAA,UACP,UAAY,QAAM,EAAE,SAAS;AAAA,UAC7B,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF;AAAA,QACJ,CAAC;AAAA,QACC,SAAO;AAAA,UACP,SAAW,QAAM,EAAE,SAAS;AAAA,UAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,QACd,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF,EACC,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS;AAAA,EACZ,gBACG,SAAO;AAAA,IACN,OACG,SAAO,EACP,IAAI,EACJ,SAAS,2CAA2C,EACpD,SAAS,EACT,SAAS;AAAA,IACZ,SACG,SAAO;AAAA,MACN,MACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,IAAK,EACT,SAAS,EACT,SAAS;AAAA,MACZ,MACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,IAAK,EACT,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,SACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,EACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,EACZ,iBACG,SAAO;AAAA,IACN,SACG;AAAA,MACG;AAAA,QACE,SAAO;AAAA,UACP,MACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,UACZ,MACG,OAAK,CAAC,SAAS,SAAS,UAAU,kBAAkB,QAAQ,CAAC,EAC7D;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,WACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,QACd,CAAC;AAAA,QACC,MAAI;AAAA,UACF,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,gBAAkB,QAAM,EAAE,SAAS;AAAA,YACnC,eAAiB,QAAM,EAAE,SAAS;AAAA,YAClC,QAAU,QAAM,EAAE,SAAS;AAAA,UAC7B,CAAC;AAAA,UACC,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,gBAAkB,QAAM,EAAE,SAAS;AAAA,YACnC,eAAiB,QAAM,EAAE,SAAS;AAAA,YAClC,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QACG,SAAO;AAAA,cACN,SACG;AAAA,gBACG,SAAO;AAAA,kBACP,OACG,SAAO,EACP,SAAS,qBAAqB,EAC9B,IAAI,GAAG,EACP,SAAS;AAAA,kBACZ,OACG,SAAO,EACP,IAAI,EACJ,SAAS,qCAAqC,EAC9C,SAAS;AAAA,gBACd,CAAC;AAAA,cACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,YACd,CAAC,EACA,SAAS,4BAA4B;AAAA,UAC1C,CAAC;AAAA,UACC,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,gBAAkB,QAAM,EAAE,SAAS;AAAA,YACnC,eAAiB,QAAM,EAAE,SAAS;AAAA,YAClC,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QACG,SAAO;AAAA,cACN,SACG;AAAA,gBACG,SAAO;AAAA,kBACP,MACG,SAAO,EACP,SAAS,qCAAqC,EAC9C,SAAS,EACT,SAAS;AAAA,kBACZ,IACG,SAAO,EACP,SAAS,qCAAqC,EAC9C,SAAS,EACT,SAAS;AAAA,kBACZ,OACG,SAAO,EACP,IAAI,EACJ,SAAS,yCAAyC,EAClD,SAAS;AAAA,gBACd,CAAC;AAAA,cACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,YACd,CAAC,EACA,SAAS,4BAA4B;AAAA,UAC1C,CAAC;AAAA,UACC,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,gBAAkB,QAAM,EAAE,SAAS;AAAA,YACnC,eAAiB,QAAM,EAAE,SAAS;AAAA,YAClC,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QACG,SAAO;AAAA,cACN,MACG,OAAK,CAAC,kBAAkB,OAAO,KAAK,CAAC,EACrC,SAAS,6BAA6B,EACtC,SAAS;AAAA,cACZ,OACG,SAAO,EACP,SAAS,kCAAkC,EAC3C,SAAS;AAAA,YACd,CAAC,EACA,SAAS,6BAA6B;AAAA,UAC3C,CAAC;AAAA,UACC,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,YAClC,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,gBACG,SAAO;AAAA,cACN,SACG;AAAA,gBACG,SAAO;AAAA,kBACP,OACG,SAAO,EACP,SAAS,qBAAqB,EAC9B,IAAI,GAAI,EACR,SAAS;AAAA,kBACZ,eACG;AAAA,oBACG,SAAO;AAAA,sBACP,MACG,SAAO,EACP;AAAA,wBACC;AAAA,sBACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,sBACZ,MACG,OAAK;AAAA,wBACJ;AAAA,wBACA;AAAA,wBACA;AAAA,wBACA;AAAA,wBACA;AAAA,sBACF,CAAC,EACA,SAAS,mBAAmB,EAC5B,SAAS;AAAA,sBACZ,WACG,SAAO,EACP;AAAA,wBACC;AAAA,sBACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,oBACd,CAAC;AAAA,oBACC,MAAI;AAAA,sBACF,SAAO;AAAA,wBACP,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,sBAC7B,CAAC;AAAA,sBACC,SAAO;AAAA,wBACP,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,QACG,SAAO;AAAA,0BACN,SACG;AAAA,4BACG,SAAO;AAAA,8BACP,OACG,SAAO,EACP,SAAS,qBAAqB,EAC9B,IAAI,GAAG,EACP,SAAS;AAAA,8BACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,gCACC;AAAA,8BACF,EACC,SAAS;AAAA,4BACd,CAAC;AAAA,0BACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,wBACd,CAAC,EACA,SAAS,4BAA4B;AAAA,sBAC1C,CAAC;AAAA,sBACC,SAAO;AAAA,wBACP,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,QACG,SAAO;AAAA,0BACN,SACG;AAAA,4BACG,SAAO;AAAA,8BACP,MACG,SAAO,EACP;AAAA,gCACC;AAAA,8BACF,EACC,SAAS,EACT,SAAS;AAAA,8BACZ,IACG,SAAO,EACP;AAAA,gCACC;AAAA,8BACF,EACC,SAAS,EACT,SAAS;AAAA,8BACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,gCACC;AAAA,8BACF,EACC,SAAS;AAAA,4BACd,CAAC;AAAA,0BACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,wBACd,CAAC,EACA,SAAS,4BAA4B;AAAA,sBAC1C,CAAC;AAAA,sBACC,SAAO;AAAA,wBACP,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,wBAC3B,QACG,SAAO;AAAA,0BACN,MACG,OAAK,CAAC,kBAAkB,OAAO,KAAK,CAAC,EACrC,SAAS,6BAA6B,EACtC,SAAS;AAAA,0BACZ,OACG,SAAO,EACP;AAAA,4BACC;AAAA,0BACF,EACC,SAAS;AAAA,wBACd,CAAC,EACA,SAAS,6BAA6B;AAAA,sBAC3C,CAAC;AAAA,oBACH,CAAC;AAAA,kBACH,EACC,SAAS,sBAAsB,EAC/B,SAAS;AAAA,gBACd,CAAC;AAAA,cACH,EACC,IAAI,GAAI,EACR,SAAS;AAAA,YACd,CAAC,EACA,SAAS,qCAAqC;AAAA,UACnD,CAAC;AAAA,UACC,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,gBAAkB,QAAM,EAAE,SAAS;AAAA,YACnC,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,eACG,SAAO;AAAA,cACN,SACG;AAAA,gBACG,SAAO;AAAA,kBACP,OACG,SAAO,EACP,SAAS,0BAA0B,EACnC,IAAI,GAAG,EACP,SAAS;AAAA,kBACZ,OACG,SAAO,EACP,IAAI,EACJ,SAAS,mCAAmC,EAC5C,SAAS;AAAA,gBACd,CAAC;AAAA,cACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,YACd,CAAC,EACA,SAAS,qCAAqC;AAAA,UACnD,CAAC;AAAA,UACC,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,gBAAkB,QAAM,EAAE,SAAS;AAAA,YACnC,eAAiB,QAAM,EAAE,SAAS;AAAA,YAClC,QACG,SAAO;AAAA,cACN,SACG;AAAA,gBACG,SAAO;AAAA,kBACP,SACG;AAAA,oBACG,SAAO;AAAA,oBACP;AAAA,sBACE,SAAO,CAAC,CAAC;AAAA,sBACT,MAAI;AAAA,wBACF,SAAO;AAAA,0BACP,OAAS,QAAM,EAAE,SAAS;AAAA,0BAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,0BAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,0BAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,wBACpC,CAAC;AAAA,wBACC,SAAO;AAAA,0BACP,OAAS,QAAM,EAAE,SAAS;AAAA,0BAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,0BAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,0BAClC,OACG,SAAO;AAAA,4BACN,OACG,SAAO,EACP,SAAS,qBAAqB,EAC9B,IAAI,GAAI,EACR,SAAS;AAAA,4BACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,8BACC;AAAA,4BACF,EACC,SAAS,EACT,SAAS;AAAA,0BACd,CAAC,EACA,SAAS,2BAA2B;AAAA,wBACzC,CAAC;AAAA,wBACC,SAAO;AAAA,0BACP,OAAS,QAAM,EAAE,SAAS;AAAA,0BAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,0BAC3B,eAAiB,QAAM,EAAE,SAAS;AAAA,0BAClC,OACG,SAAO;AAAA,4BACN,MACG,SAAO,EACP;AAAA,8BACC;AAAA,4BACF,EACC,SAAS,EACT,SAAS;AAAA,4BACZ,IACG,SAAO,EACP;AAAA,8BACC;AAAA,4BACF,EACC,SAAS,EACT,SAAS;AAAA,4BACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,8BACC;AAAA,4BACF,EACC,SAAS,EACT,SAAS;AAAA,0BACd,CAAC,EACA,SAAS,2BAA2B;AAAA,wBACzC,CAAC;AAAA,wBACC,SAAO;AAAA,0BACP,OAAS,QAAM,EAAE,SAAS;AAAA,0BAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,0BAC1B,eAAiB,QAAM,EAAE,SAAS;AAAA,0BAClC,QACG,SAAO;AAAA,4BACN,OACG,SAAO,EACP;AAAA,8BACC;AAAA,4BACF,EACC,SAAS;AAAA,0BACd,CAAC,EACA,SAAS,4BAA4B;AAAA,wBAC1C,CAAC;AAAA,wBACC,SAAO;AAAA,0BACP,OAAS,QAAM,EAAE,SAAS;AAAA,0BAC1B,OAAS,QAAM,EAAE,SAAS;AAAA,0BAC1B,QAAU,QAAM,EAAE,SAAS;AAAA,0BAC3B,eACG,SAAO;AAAA,4BACN,OACG,SAAO,EACP,SAAS,qBAAqB,EAC9B,IAAI,GAAI,EACR,SAAS;AAAA,4BACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,8BACC;AAAA,4BACF,EACC,SAAS,EACT,SAAS;AAAA,0BACd,CAAC,EACA;AAAA,4BACC;AAAA,0BACF;AAAA,wBACJ,CAAC;AAAA,sBACH,CAAC;AAAA,oBACH;AAAA,kBACF,EACC,SAAS,8BAA8B,EACvC,SAAS;AAAA,gBACd,CAAC;AAAA,cACH,EACC,IAAI,GAAI,EACR,SAAS;AAAA,YACd,CAAC,EACA,SAAS,6BAA6B;AAAA,UAC3C,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAAA,IACF,EACC,IAAI,GAAK,EACT,SAAS;AAAA,EACd,CAAC,EACA,SAAS,mBAAmB,EAC5B,SAAS;AACd,CAAC;AACM,IAAM,qCAAuC,SAAO;AAAA,EACzD,eACG;AAAA,IACG,SAAO;AAAA,MACP,iBACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,QACC;AAAA,QACA;AAAA,MACF;AAAA,MACF,aACG,SAAO,EACP,IAAI,EACJ,SAAS,yBAAyB,EAClC,IAAI,CAAC,EACL,IAAI,KAAK;AAAA,MACZ,iBACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG;AAAA,EACV,SACG,SAAO;AAAA,IACN,mBACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,cACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,QAAU,OAAK,CAAC,SAAS,UAAU,yBAAyB,CAAC,EAAE,SAAS;AAAA,EAC1E,CAAC,EACA,SAAS;AACd,CAAC;AACM,IAAM,sCAAwC,SAAO;AAAA,EAC1D,SACG;AAAA,IACG,SAAO;AAAA,MACP,cACG,SAAO;AAAA,QACN,KACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,OACG,SAAO;AAAA,UACN,MAAQ,SAAO,EAAE,SAAS,aAAa,EAAE,SAAS;AAAA,UAClD,aACG,SAAO,EACP,SAAS,2BAA2B,EACpC,SAAS;AAAA,UACZ,MACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B,SAAS,4BAA4B,EACrC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,6CAA6C,EACtD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,MACZ,MACG;AAAA,QACG,SAAO;AAAA,UACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,UACZ,YACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,UACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,UACZ,cACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,YACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,SACG,SAAO;AAAA,YACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,YAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,UACZ,gBACG,SAAO;AAAA,YACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC;AAAA,QACC,MAAI;AAAA,UACF,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,UAC/B,CAAC;AAAA,UACC,SAAO;AAAA,YACP,UAAY,QAAM,EAAE,SAAS;AAAA,YAC7B,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF;AAAA,UACJ,CAAC;AAAA,UACC,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,UACd,CAAC;AAAA,QACH,CAAC;AAAA,MACH,EACC;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,EACZ,oBACG,SAAO;AAAA,IACN,gBACG,SAAO,EACP,IAAI,EACJ,SAAS,mDAAmD,EAC5D,SAAS;AAAA,IACZ,eACG,SAAO,EACP,IAAI,EACJ,SAAS,6CAA6C,EACtD,SAAS;AAAA,IACZ,oBACG,SAAO,EACP,IAAI,EACJ;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC,EACA,SAAS,uBAAuB,EAChC,SAAS;AACd,CAAC;AACM,IAAM,qCAAuC,SAAO;AAAA,EACzD,eACG;AAAA,IACG,SAAO;AAAA,MACP,iBACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,QACC;AAAA,QACA;AAAA,MACF;AAAA,MACF,aACG,SAAO,EACP,IAAI,EACJ,SAAS,yBAAyB,EAClC,IAAI,CAAC,EACL,IAAI,KAAK;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG;AAAA,EACV,SACG,SAAO;AAAA,IACN,cACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,QAAU,OAAK,CAAC,SAAS,UAAU,yBAAyB,CAAC,EAAE,SAAS;AAAA,EAC1E,CAAC,EACA,SAAS;AACd,CAAC;AACM,IAAM,sCAAwC,SAAO;AAAA,EAC1D,SACG;AAAA,IACG,SAAO;AAAA,MACP,cACG,SAAO;AAAA,QACN,KACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,SACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,OACG,SAAO;AAAA,UACN,MAAQ,SAAO,EAAE,SAAS,aAAa,EAAE,SAAS;AAAA,UAClD,aACG,SAAO,EACP,SAAS,2BAA2B,EACpC,SAAS;AAAA,UACZ,MACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B,SAAS,4BAA4B,EACrC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,6CAA6C,EACtD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,MACZ,MACG;AAAA,QACG,SAAO;AAAA,UACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,YACC;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,UACZ,cACG,OAAK,EACL,SAAS,oDAAoD,EAC7D,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,UACZ,YACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,UACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,UACZ,cACG,SAAO;AAAA,YACN,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,YACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,SACG,SAAO;AAAA,YACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,YAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,UACZ,gBACG,SAAO;AAAA,YACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC;AAAA,QACC,MAAI;AAAA,UACF,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,UAC/B,CAAC;AAAA,UACC,SAAO;AAAA,YACP,UAAY,QAAM,EAAE,SAAS;AAAA,YAC7B,SACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF;AAAA,UACJ,CAAC;AAAA,UACC,SAAO;AAAA,YACP,SAAW,QAAM,EAAE,SAAS;AAAA,YAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,UACd,CAAC;AAAA,QACH,CAAC;AAAA,MACH,EACC;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,EACZ,oBACG,SAAO;AAAA,IACN,gBACG,SAAO,EACP,IAAI,EACJ,SAAS,mDAAmD,EAC5D,SAAS;AAAA,IACZ,eACG,SAAO,EACP,IAAI,EACJ,SAAS,6CAA6C,EACtD,SAAS;AAAA,IACZ,oBACG,SAAO,EACP,IAAI,EACJ;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC,EACA,SAAS,uBAAuB,EAChC,SAAS;AACd,CAAC;AACM,IAAM,yDAA2D,SAAO;AAAA,EAC7E,eACG;AAAA,IACG,SAAO;AAAA,MACP,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,QACC;AAAA,QACA;AAAA,MACF;AAAA,MACF,YACG,SAAO,EACP,SAAS,cAAc,EACvB;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,aACG,SAAO,EACP,IAAI,EACJ,SAAS,yBAAyB,EAClC,IAAI,CAAC,EACL,IAAI,KAAK;AAAA,MACZ,iBACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG;AAAA,EACV,SACG,SAAO;AAAA,IACN,mBACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,cACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,QAAU,OAAK,CAAC,SAAS,UAAU,yBAAyB,CAAC,EAAE,SAAS;AAAA,EAC1E,CAAC,EACA,SAAS;AACd,CAAC;AACM,IAAM,0DAA4D;AAAA,EACvE;AAAA,IACE,SACG;AAAA,MACG,SAAO;AAAA,QACP,cACG,SAAO;AAAA,UACN,KACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,OACG,SAAO;AAAA,YACN,MAAQ,SAAO,EAAE,SAAS,aAAa,EAAE,SAAS;AAAA,YAClD,aACG,SAAO,EACP,SAAS,2BAA2B,EACpC,SAAS;AAAA,YACZ,MACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B,SAAS,4BAA4B,EACrC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,6CAA6C,EACtD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,QACZ,MACG;AAAA,UACG,SAAO;AAAA,YACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,YACZ,cACG,OAAK,EACL;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS;AAAA,YACZ,YACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,YACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,YACZ,cACG,SAAO;AAAA,cACN,SACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,cACZ,SACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,cACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,cACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,SACG,SAAO;AAAA,cACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,cACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,cAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,cACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,YACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,YACZ,gBACG,SAAO;AAAA,cACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC;AAAA,UACC,MAAI;AAAA,YACF,SAAO;AAAA,cACP,SAAW,QAAM,EAAE,SAAS;AAAA,cAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,YAC/B,CAAC;AAAA,YACC,SAAO;AAAA,cACP,UAAY,QAAM,EAAE,SAAS;AAAA,cAC7B,SACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,SAAW,QAAM,EAAE,SAAS;AAAA,cAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,YACd,CAAC;AAAA,UACH,CAAC;AAAA,QACH,EACC;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC;AAAA,IACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,IACZ,oBACG,SAAO;AAAA,MACN,gBACG,SAAO,EACP,IAAI,EACJ,SAAS,mDAAmD,EAC5D,SAAS;AAAA,MACZ,eACG,SAAO,EACP,IAAI,EACJ,SAAS,6CAA6C,EACtD,SAAS;AAAA,MACZ,oBACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC,EACA,SAAS,uBAAuB,EAChC,SAAS;AAAA,EACd;AACF;AACO,IAAM,yDAA2D,SAAO;AAAA,EAC7E,eACG;AAAA,IACG,SAAO;AAAA,MACP,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,QACC;AAAA,QACA;AAAA,MACF;AAAA,MACF,YACG,SAAO,EACP,SAAS,cAAc,EACvB;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,aACG,SAAO,EACP,IAAI,EACJ,SAAS,yBAAyB,EAClC,IAAI,CAAC,EACL,IAAI,KAAK;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG;AAAA,EACV,SACG,SAAO;AAAA,IACN,cACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,QAAU,OAAK,CAAC,SAAS,UAAU,yBAAyB,CAAC,EAAE,SAAS;AAAA,EAC1E,CAAC,EACA,SAAS;AACd,CAAC;AACM,IAAM,0DAA4D;AAAA,EACvE;AAAA,IACE,SACG;AAAA,MACG,SAAO;AAAA,QACP,cACG,SAAO;AAAA,UACN,KACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,SACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,OACG,SAAO;AAAA,YACN,MAAQ,SAAO,EAAE,SAAS,aAAa,EAAE,SAAS;AAAA,YAClD,aACG,SAAO,EACP,SAAS,2BAA2B,EACpC,SAAS;AAAA,YACZ,MACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B,SAAS,4BAA4B,EACrC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,6CAA6C,EACtD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,QACZ,MACG;AAAA,UACG,SAAO;AAAA,YACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,cACG,OAAK,EACL,SAAS,+CAA+C,EACxD,SAAS,EACT,SAAS;AAAA,YACZ,cACG,OAAK,EACL;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS;AAAA,YACZ,YACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,YACZ,eACG,UAAQ,EACR,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACZ,oBACG,OAAK,CAAC,gBAAgB,YAAY,UAAU,CAAC,EAC7C,SAAS,qCAAqC,EAC9C,SAAS;AAAA,YACZ,cACG,SAAO;AAAA,cACN,SACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,cACZ,SACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACZ,OACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,cACZ,SACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,KAAK,EACT,SAAS,EACT,SAAS;AAAA,cACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,SACG,SAAO;AAAA,cACN,MACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,cACZ,mBAAqB,QAAQ,SAAO,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,cAC1D,aACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACZ,YACG,SAAO,EACP,SAAS,mCAAmC,EAC5C,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,cACZ,gBACG,UAAQ,EACR,SAAS,8CAA8C,EACvD,SAAS,EACT,SAAS;AAAA,YACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,YACZ,gBACG,SAAO;AAAA,cACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC;AAAA,UACC,MAAI;AAAA,YACF,SAAO;AAAA,cACP,SAAW,QAAM,EAAE,SAAS;AAAA,cAC5B,UAAY,QAAM,EAAE,SAAS;AAAA,YAC/B,CAAC;AAAA,YACC,SAAO;AAAA,cACP,UAAY,QAAM,EAAE,SAAS;AAAA,cAC7B,SACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,SAAW,QAAM,EAAE,SAAS;AAAA,cAC5B,UACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,IAAI,MAAM,EACV,IAAI,KAAK;AAAA,YACd,CAAC;AAAA,UACH,CAAC;AAAA,QACH,EACC;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC;AAAA,IACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,IACZ,oBACG,SAAO;AAAA,MACN,gBACG,SAAO,EACP,IAAI,EACJ,SAAS,mDAAmD,EAC5D,SAAS;AAAA,MACZ,eACG,SAAO,EACP,IAAI,EACJ,SAAS,6CAA6C,EACtD,SAAS;AAAA,MACZ,oBACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd;AACF;","names":[]}