{"version":3,"sources":["../../../src/ecom-subscription-contracts-v1-subscription-contract-subscription-contracts.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const GetSubscriptionContractRequest = z.object({\n  subscriptionContractId: z\n    .string()\n    .describe('ID of the SubscriptionContract to retrieve.')\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 GetSubscriptionContractResponse = z.object({\n  _id: z\n    .string()\n    .describe('SubscriptionContract 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 SubscriptionContract is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the SubscriptionContract.\\n\\nIgnored when creating a SubscriptionOrderContract.'\n    )\n    .optional()\n    .nullable(),\n  _createdDate: z\n    .date()\n    .describe(\n      'Date and time the subscription contract was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.'\n    )\n    .optional()\n    .nullable(),\n  _updatedDate: z\n    .date()\n    .describe(\n      'Date and time the subscription contract was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.'\n    )\n    .optional()\n    .nullable(),\n  description: z\n    .string()\n    .describe(\n      'Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.'\n    )\n    .max(500)\n    .optional()\n    .nullable(),\n  subscriptionSettings: z\n    .object({\n      frequency: z\n        .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n        .describe('Frequency of recurring payment.')\n        .optional(),\n      interval: z\n        .number()\n        .int()\n        .describe(\n          'Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.'\n        )\n        .min(1)\n        .max(3650)\n        .optional()\n        .nullable(),\n      autoRenewal: z\n        .boolean()\n        .describe(\n          'Whether subscription is renewed automatically at the end of each period.'\n        )\n        .optional(),\n      billingCycles: z\n        .number()\n        .int()\n        .describe(\n          'Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`.'\n        )\n        .min(1)\n        .optional()\n        .nullable(),\n      enableCustomerCancellation: z\n        .boolean()\n        .describe('Whether to allow the customer to cancel the subscription.')\n        .optional(),\n      freeTrialPeriod: z\n        .object({\n          frequency: z\n            .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n            .describe('Frequency of period. Values: DAY, WEEK, MONTH, YEAR')\n            .optional(),\n          interval: z\n            .number()\n            .int()\n            .describe(\n              'Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.'\n            )\n            .min(1)\n            .max(3650)\n            .optional(),\n        })\n        .describe('Period until first cycle starts. If None => no free trial')\n        .optional(),\n    })\n    .describe('Subscription detailed information.')\n    .optional(),\n  lineItems: z\n    .array(\n      z.object({\n        _id: z.string().describe('Line item ID.').optional(),\n        productName: z\n          .object({\n            original: z\n              .string()\n              .describe(\n                \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n              )\n              .min(1)\n              .max(200)\n              .optional(),\n            translated: z\n              .string()\n              .describe(\n                \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n              )\n              .min(1)\n              .max(400)\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'Item name.\\n\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n          )\n          .optional(),\n        catalogReference: z\n          .object({\n            catalogItemId: z\n              .string()\n              .describe('ID of the item within the catalog it belongs to.')\n              .min(1)\n              .max(36)\n              .optional(),\n            appId: z\n              .string()\n              .describe(\n                'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n              )\n              .min(1)\n              .optional(),\n            options: z\n              .record(z.string(), z.any())\n              .describe(\n                'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            \"References to the line item's origin catalog. Empty for custom line items.\"\n          )\n          .optional(),\n        quantity: z\n          .number()\n          .int()\n          .describe('Line item quantity.')\n          .min(1)\n          .max(100000)\n          .optional(),\n        totalDiscount: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe(\"Total discount for this line item's entire quantity.\")\n          .optional(),\n        descriptionLines: z\n          .array(\n            z.intersection(\n              z.object({\n                name: z\n                  .object({\n                    original: z\n                      .string()\n                      .describe(\n                        \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n                      )\n                      .max(100)\n                      .optional(),\n                    translated: z\n                      .string()\n                      .describe(\n                        \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n                      )\n                      .max(200)\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Description line name.')\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  plainText: z.never().optional(),\n                  colorInfo: z.never().optional(),\n                }),\n                z.object({\n                  colorInfo: z.never().optional(),\n                  plainText: z\n                    .object({\n                      original: z\n                        .string()\n                        .describe(\n                          \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n                        )\n                        .max(600)\n                        .optional(),\n                      translated: z\n                        .string()\n                        .describe(\n                          \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n                        )\n                        .max(600)\n                        .optional()\n                        .nullable(),\n                    })\n                    .describe('Description line plain text value.'),\n                }),\n                z.object({\n                  plainText: z.never().optional(),\n                  colorInfo: z\n                    .object({\n                      original: z\n                        .string()\n                        .describe(\n                          \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n                        )\n                        .max(500)\n                        .optional(),\n                      translated: z\n                        .string()\n                        .describe(\n                          \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n                        )\n                        .max(500)\n                        .optional()\n                        .nullable(),\n                      code: z\n                        .string()\n                        .describe('HEX or RGB color code for display.')\n                        .optional()\n                        .nullable(),\n                    })\n                    .describe('Description line color value.'),\n                }),\n              ])\n            )\n          )\n          .min(0)\n          .max(20)\n          .optional(),\n        image: z.string().describe('Line item image.').optional(),\n        physicalProperties: z\n          .object({\n            weight: z\n              .number()\n              .describe(\n                'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n              )\n              .optional()\n              .nullable(),\n            sku: z\n              .string()\n              .describe(\n                'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n              )\n              .max(40)\n              .optional()\n              .nullable(),\n            shippable: z\n              .boolean()\n              .describe('Whether this line item is shippable.')\n              .optional(),\n          })\n          .describe(\n            'Physical properties of the item. When relevant, contains information such as SKU and item weight.'\n          )\n          .optional(),\n        itemType: z\n          .intersection(\n            z.object({}),\n            z.xor([\n              z.object({\n                preset: z.never().optional(),\n                custom: z.never().optional(),\n              }),\n              z.object({\n                custom: z.never().optional(),\n                preset: z\n                  .enum([\n                    'UNRECOGNISED',\n                    'PHYSICAL',\n                    'DIGITAL',\n                    'GIFT_CARD',\n                    'SERVICE',\n                  ])\n                  .describe('Preset item type.'),\n              }),\n              z.object({\n                preset: z.never().optional(),\n                custom: z\n                  .string()\n                  .describe(\n                    'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n                  ),\n              }),\n            ])\n          )\n          .describe('Item type. Either a preset type or custom.')\n          .optional(),\n        fulfillerId: z\n          .string()\n          .describe(\n            'Fulfiller ID. Field is empty when the line item is self-fulfilled.\\nTo get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/list-fulfillments-for-single-order).'\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        refundQuantity: z\n          .number()\n          .int()\n          .describe('Number of items that were refunded.')\n          .min(0)\n          .max(100000)\n          .optional()\n          .nullable(),\n        restockQuantity: z\n          .number()\n          .int()\n          .describe(\n            'Number of items restocked.\\n\\nFor a per-location breakdown, see `restockLocations`.'\n          )\n          .min(0)\n          .max(100000)\n          .optional()\n          .nullable(),\n        price: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe(\n            'Line item price after line item discounts for display purposes.'\n          )\n          .optional(),\n        priceBeforeDiscounts: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe(\n            'Line item price before line item discounts for display purposes. Defaults to `price` when not provided.'\n          )\n          .optional(),\n        totalPriceBeforeTax: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe('Total price after discounts, and before tax.')\n          .optional(),\n        totalPriceAfterTax: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe('Total price after all discounts and tax.')\n          .optional(),\n        paymentOption: z\n          .enum([\n            'FULL_PAYMENT_ONLINE',\n            'FULL_PAYMENT_OFFLINE',\n            'MEMBERSHIP',\n            'DEPOSIT_ONLINE',\n            'MEMBERSHIP_OFFLINE',\n            'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n          ])\n          .describe(\n            'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n          )\n          .optional(),\n        taxDetails: z\n          .object({\n            taxableAmount: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe('Taxable amount of this line item.')\n              .optional(),\n            taxRate: z\n              .string()\n              .describe(\n                'Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`.'\n              )\n              .optional(),\n            totalTax: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe(\n                'The calculated tax, based on the `taxableAmount` and `taxRate`.'\n              )\n              .optional(),\n          })\n          .describe(\n            'Deprecated. Use `taxInfo` instead.\\nThis field will be removed on September 30, 2024.\\nTax details for this line item.'\n          )\n          .optional(),\n        taxInfo: z\n          .object({\n            taxAmount: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe(\n                'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n              )\n              .optional(),\n            taxableAmount: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe('Amount for which tax is calculated.')\n              .optional(),\n            taxRate: z\n              .string()\n              .describe('Tax rate %, as a decimal point.')\n              .optional()\n              .nullable(),\n            taxGroupId: z\n              .string()\n              .describe('Tax group 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            taxIncludedInPrice: z\n              .boolean()\n              .describe('Indicates whether the price already includes tax.')\n              .optional(),\n            taxBreakdown: z\n              .array(\n                z.object({\n                  jurisdiction: z\n                    .string()\n                    .describe(\n                      'Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\".'\n                    )\n                    .max(200)\n                    .optional()\n                    .nullable(),\n                  rate: z\n                    .string()\n                    .describe(\n                      'Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.'\n                    )\n                    .optional()\n                    .nullable(),\n                  taxAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Amount of tax calculated for this line item.')\n                    .optional(),\n                  taxType: z\n                    .string()\n                    .describe(\n                      'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n                    )\n                    .max(200)\n                    .optional()\n                    .nullable(),\n                  taxName: z\n                    .string()\n                    .describe(\n                      'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n                    )\n                    .max(200)\n                    .optional()\n                    .nullable(),\n                  jurisdictionType: z\n                    .enum([\n                      'UNDEFINED',\n                      'COUNTRY',\n                      'STATE',\n                      'COUNTY',\n                      'CITY',\n                      'SPECIAL',\n                    ])\n                    .describe(\n                      'Type of jurisdiction that taxes were calculated for.'\n                    )\n                    .optional(),\n                  nonTaxableAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Non-taxable amount of the line item price.')\n                    .optional(),\n                  taxableAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Taxable amount of the line item price.')\n                    .optional(),\n                })\n              )\n              .max(7)\n              .optional(),\n          })\n          .describe(\n            'Represents all the relevant tax details for a specific line item.'\n          )\n          .optional(),\n        digitalFile: z\n          .object({\n            fileId: z\n              .string()\n              .describe('ID of the secure file in media.')\n              .min(1)\n              .max(100)\n              .optional(),\n            link: z\n              .string()\n              .describe(\n                'Link will exist after the digital links have been generated on the order.'\n              )\n              .url()\n              .min(1)\n              .max(2000)\n              .optional()\n              .nullable(),\n            expirationDate: z\n              .date()\n              .describe('Link expiration time and date.')\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'Digital file identifier, relevant only for items with type DIGITAL.'\n          )\n          .optional(),\n        subscriptionInfo: z\n          .object({\n            _id: z\n              .string()\n              .describe('Subscription 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            cycleNumber: z\n              .number()\n              .int()\n              .describe(\n                'Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be `3`.'\n              )\n              .min(0)\n              .optional(),\n            subscriptionOptionTitle: z\n              .string()\n              .describe(\n                'Subscription option title. For example, `\"Monthly coffee Subscription\"`.'\n              )\n              .min(0)\n              .max(150)\n              .optional(),\n            subscriptionOptionDescription: z\n              .string()\n              .describe(\n                'Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.'\n              )\n              .max(500)\n              .optional()\n              .nullable(),\n            subscriptionSettings: z\n              .object({\n                frequency: z\n                  .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n                  .describe('Frequency of recurring payment.')\n                  .optional(),\n                interval: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.'\n                  )\n                  .min(1)\n                  .max(3650)\n                  .optional()\n                  .nullable(),\n                autoRenewal: z\n                  .boolean()\n                  .describe(\n                    'Whether subscription is renewed automatically at the end of each period.'\n                  )\n                  .optional(),\n                billingCycles: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`.'\n                  )\n                  .min(1)\n                  .optional()\n                  .nullable(),\n                enableCustomerCancellation: z\n                  .boolean()\n                  .describe(\n                    'Whether to allow the customer to cancel the subscription.'\n                  )\n                  .optional(),\n                freeTrialPeriod: z\n                  .object({\n                    frequency: z\n                      .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n                      .describe(\n                        'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n                      )\n                      .optional(),\n                    interval: z\n                      .number()\n                      .int()\n                      .describe(\n                        'Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.'\n                      )\n                      .min(1)\n                      .max(3650)\n                      .optional(),\n                  })\n                  .describe(\n                    'Period until first cycle starts. If None => no free trial'\n                  )\n                  .optional(),\n              })\n              .describe('Subscription detailed information.')\n              .optional(),\n            chargesDescription: z\n              .string()\n              .describe(\n                'Description of the charges that will be applied for subscription.'\n              )\n              .max(1000)\n              .optional()\n              .nullable(),\n          })\n          .describe('Subscription info.')\n          .optional(),\n        priceDescription: z\n          .object({\n            original: z\n              .string()\n              .describe(\n                \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n              )\n              .min(1)\n              .max(100)\n              .optional(),\n            translated: z\n              .string()\n              .describe(\n                \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n              )\n              .min(1)\n              .max(100)\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n          )\n          .optional(),\n        depositAmount: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe(\n            'Item\\'s price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `\"DEPOSIT_ONLINE\"`.'\n          )\n          .optional(),\n        locations: z\n          .array(\n            z.object({\n              _id: z\n                .string()\n                .describe('Location id in the associated owner app.')\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              appId: z\n                .string()\n                .describe(\n                  'Location owner app, if not provided then the site business info locations will be 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              quantity: z\n                .number()\n                .int()\n                .describe('Quantity for specific location.')\n                .min(1)\n                .max(100000)\n                .optional(),\n              name: z\n                .string()\n                .describe('Location name.')\n                .max(500)\n                .optional()\n                .nullable(),\n            })\n          )\n          .min(0)\n          .max(5)\n          .optional(),\n        lineItemPrice: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe(\n            'Total price **after** catalog discounts and line item discounts.'\n          )\n          .optional(),\n        taxableAddress: z\n          .intersection(\n            z.object({}),\n            z.xor([\n              z.object({ addressType: z.never().optional() }),\n              z.object({\n                addressType: z\n                  .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n                  .describe(\n                    'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n                  ),\n              }),\n            ])\n          )\n          .describe('Address used for tax calculation.')\n          .optional(),\n        priceUndetermined: z\n          .boolean()\n          .describe(\n            'Whether the price is not yet defined, and will be updated after the order is created.\\n\\nDefault: `false`'\n          )\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 extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.'\n          )\n          .optional(),\n        modifierGroups: z\n          .array(\n            z.object({\n              _id: z\n                .string()\n                .describe('Modifier group ID.')\n                .min(1)\n                .max(36)\n                .optional(),\n              name: z\n                .object({\n                  original: z\n                    .string()\n                    .describe(\n                      \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n                    )\n                    .min(1)\n                    .max(200)\n                    .optional(),\n                  translated: z\n                    .string()\n                    .describe(\n                      \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n                    )\n                    .min(1)\n                    .max(400)\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Modifier group name.')\n                .optional(),\n              modifiers: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Modifier ID.')\n                      .min(1)\n                      .max(36)\n                      .optional(),\n                    quantity: z\n                      .number()\n                      .int()\n                      .describe('The quantity of this modifier.')\n                      .min(1)\n                      .max(100000)\n                      .optional()\n                      .nullable(),\n                    label: z\n                      .object({\n                        original: z\n                          .string()\n                          .describe(\n                            \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n                          )\n                          .min(1)\n                          .max(200)\n                          .optional(),\n                        translated: z\n                          .string()\n                          .describe(\n                            \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n                          )\n                          .min(1)\n                          .max(400)\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Primary display label for the modifier.')\n                      .optional(),\n                    details: z\n                      .object({\n                        original: z\n                          .string()\n                          .describe(\n                            \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n                          )\n                          .min(1)\n                          .max(200)\n                          .optional(),\n                        translated: z\n                          .string()\n                          .describe(\n                            \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n                          )\n                          .min(1)\n                          .max(400)\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Additional details.')\n                      .optional(),\n                    price: z\n                      .object({\n                        amount: z.string().describe('Amount.').optional(),\n                        formattedAmount: z\n                          .string()\n                          .describe('Amount formatted with currency symbol.')\n                          .optional(),\n                      })\n                      .describe('The price of the modifier.')\n                      .optional(),\n                  })\n                )\n                .min(1)\n                .max(10)\n                .optional(),\n            })\n          )\n          .max(10)\n          .optional(),\n      })\n    )\n    .min(1)\n    .max(100)\n    .optional(),\n  buyerInfo: z\n    .intersection(\n      z.object({\n        contactId: z\n          .string()\n          .describe(\n            \"Contact ID. Automatically created if one doesn't exist. For more information, see [Contacts API](https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts/contact-v4/introduction).\"\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        email: z\n          .string()\n          .describe(\"Buyer's email address.\")\n          .email()\n          .optional()\n          .nullable(),\n      }),\n      z.xor([\n        z.object({\n          visitorId: z.never().optional(),\n          memberId: z.never().optional(),\n        }),\n        z.object({\n          memberId: z.never().optional(),\n          visitorId: z\n            .string()\n            .describe(\n              \"Visitor ID. Returned when the buyer isn't a logged-in site member.\"\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        }),\n        z.object({\n          visitorId: z.never().optional(),\n          memberId: z\n            .string()\n            .describe(\n              'Member ID. Returned when the buyer is a logged-in site member.'\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        }),\n      ])\n    )\n    .describe('Buyer information.')\n    .optional(),\n  buyerLanguage: z\n    .string()\n    .describe(\n      'Language for communication with the buyer. Defaults to the site language.\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n    )\n    .optional()\n    .nullable(),\n  weightUnit: z\n    .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n    .describe(\"Weight measurement unit - defaults to site's weight unit.\")\n    .optional(),\n  currency: z\n    .string()\n    .describe(\n      'Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.'\n    )\n    .optional()\n    .nullable(),\n  currencyConversionDetails: z\n    .object({\n      originalCurrency: z\n        .string()\n        .describe(\n          \"Currency used for the pricing of this order, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.\\n\\nThis currency is used to calculate the pricing before conversion to the buyer's payment currency.\"\n        )\n        .optional()\n        .nullable(),\n      conversionRate: z\n        .string()\n        .describe(\n          'The rate used for converting the original currency to the currency used for payment.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe(\n      'Multi-currency information of the subscription. conversionRate may reflect updated exchange rate on created order per recurring cycle.'\n    )\n    .optional(),\n  taxIncludedInPrices: z\n    .boolean()\n    .describe(\n      'Whether tax is included in line item prices.\\n\\nDefault: `false`'\n    )\n    .optional(),\n  priceSummary: z\n    .object({\n      subtotal: z\n        .object({\n          amount: z.string().describe('Amount.').optional(),\n          formattedAmount: z\n            .string()\n            .describe('Amount formatted with currency symbol.')\n            .optional(),\n        })\n        .describe(\n          'Subtotal of all line items, before discounts and before tax.'\n        )\n        .optional(),\n      shipping: z\n        .object({\n          amount: z.string().describe('Amount.').optional(),\n          formattedAmount: z\n            .string()\n            .describe('Amount formatted with currency symbol.')\n            .optional(),\n        })\n        .describe('Total shipping price, before discounts and before tax.')\n        .optional(),\n      tax: z\n        .object({\n          amount: z.string().describe('Amount.').optional(),\n          formattedAmount: z\n            .string()\n            .describe('Amount formatted with currency symbol.')\n            .optional(),\n        })\n        .describe('Total tax applied to the order.')\n        .optional(),\n      discount: z\n        .object({\n          amount: z.string().describe('Amount.').optional(),\n          formattedAmount: z\n            .string()\n            .describe('Amount formatted with currency symbol.')\n            .optional(),\n        })\n        .describe('Total discount amount applied to the order.')\n        .optional(),\n      total: z\n        .object({\n          amount: z.string().describe('Amount.').optional(),\n          formattedAmount: z\n            .string()\n            .describe('Amount formatted with currency symbol.')\n            .optional(),\n        })\n        .describe(\"Order's total price after discounts and tax.\")\n        .optional(),\n      totalAdditionalFees: z\n        .object({\n          amount: z.string().describe('Amount.').optional(),\n          formattedAmount: z\n            .string()\n            .describe('Amount formatted with currency symbol.')\n            .optional(),\n        })\n        .describe('Total additional fees before tax.')\n        .optional(),\n    })\n    .describe('Order price summary.')\n    .optional(),\n  platformFeeSummary: z\n    .object({\n      total: z\n        .object({\n          amount: z.string().describe('Amount.').optional(),\n          formattedAmount: z\n            .string()\n            .describe('Amount formatted with currency symbol.')\n            .optional(),\n        })\n        .describe('Total sum of all platform fees.')\n        .optional(),\n      totalPassOn: z\n        .object({\n          amount: z.string().describe('Amount.').optional(),\n          formattedAmount: z\n            .string()\n            .describe('Amount formatted with currency symbol.')\n            .optional(),\n        })\n        .describe('Total amount of platform fees with `PASS_ON` charge type.')\n        .optional(),\n      totalAbsorbed: z\n        .object({\n          amount: z.string().describe('Amount.').optional(),\n          formattedAmount: z\n            .string()\n            .describe('Amount formatted with currency symbol.')\n            .optional(),\n        })\n        .describe('Total amount of platform fees with `ABSORBED` charge type.')\n        .optional(),\n      fees: z\n        .array(\n          z.object({\n            name: z\n              .object({\n                original: z\n                  .string()\n                  .describe(\n                    \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n                  )\n                  .min(1)\n                  .max(200)\n                  .optional(),\n                translated: z\n                  .string()\n                  .describe(\n                    \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n                  )\n                  .min(1)\n                  .max(400)\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Platform fee name.')\n              .optional(),\n            amount: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe('Platform fee amount.')\n              .optional(),\n            lineItemId: z\n              .string()\n              .describe('ID of the line item the platform fee applies to.')\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            chargeType: z\n              .enum(['PASS_ON', 'ABSORBED'])\n              .describe('Platform fee charge type.')\n              .optional(),\n            percentageRate: z\n              .string()\n              .describe(\n                'Percentage rate charged as platform fee.\\nThe fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.'\n              )\n              .optional(),\n          })\n        )\n        .max(300)\n        .optional(),\n    })\n    .describe(\n      'Summary of platform fees for this subscription contract, including totals by charge type and a breakdown of individual fees.'\n    )\n    .optional(),\n  billingInfo: z\n    .object({\n      address: z\n        .object({\n          streetAddress: z\n            .object({\n              name: z.string().optional(),\n              number: z.string().optional(),\n            })\n            .optional(),\n          city: z.string().optional().nullable(),\n          subdivision: z.string().optional().nullable(),\n          country: z.string().optional().nullable(),\n          postalCode: z.string().optional().nullable(),\n          addressLine2: z.string().optional().nullable(),\n        })\n        .describe('Address.')\n        .optional(),\n      contactDetails: z\n        .object({\n          firstName: z\n            .string()\n            .describe('First name.')\n            .max(100)\n            .optional()\n            .nullable(),\n          lastName: z\n            .string()\n            .describe('Last name.')\n            .max(100)\n            .optional()\n            .nullable(),\n          phone: z.string().describe('Phone number.').optional().nullable(),\n          company: z\n            .string()\n            .describe('Company name.')\n            .max(1000)\n            .optional()\n            .nullable(),\n          vatId: z\n            .object({\n              _id: z.string().describe(\"Customer's tax ID.\").optional(),\n              type: z\n                .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n                .describe(\n                  'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n                )\n                .optional(),\n            })\n            .describe(\n              'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n            )\n            .optional(),\n        })\n        .describe('Contact details.')\n        .optional(),\n    })\n    .describe('Billing address and contact details.')\n    .optional(),\n  shippingInfo: z\n    .object({\n      carrierId: z\n        .string()\n        .describe(\n          'App Def Id of external provider which was a source of shipping info'\n        )\n        .min(1)\n        .max(100)\n        .optional()\n        .nullable(),\n      code: z\n        .string()\n        .describe(\n          'Unique code (or ID) of selected shipping option. For example, `\"usps_std_overnight\"`.'\n        )\n        .min(1)\n        .max(100)\n        .optional()\n        .nullable(),\n      title: z\n        .string()\n        .describe(\n          'Shipping option title.\\nFor example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"` or `\"First-Class Package International\"`.'\n        )\n        .max(250)\n        .optional(),\n      logistics: z\n        .intersection(\n          z.object({\n            deliveryTime: z\n              .string()\n              .describe(\n                'Expected delivery time in free text. For example, `\"3-5 business days\"`.'\n              )\n              .max(500)\n              .optional()\n              .nullable(),\n            instructions: z\n              .string()\n              .describe(\n                'Instructions for the carrier. For example, `\"Please knock on the door. If unanswered, please call contact number.\"`.'\n              )\n              .max(1000)\n              .optional()\n              .nullable(),\n            deliverByDate: z\n              .date()\n              .describe(\n                'Deprecated - Latest expected delivery date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.'\n              )\n              .optional()\n              .nullable(),\n            deliveryTimeSlot: z\n              .object({\n                from: z\n                  .date()\n                  .describe('Delivery slot starting time.')\n                  .optional()\n                  .nullable(),\n                to: z\n                  .date()\n                  .describe('Delivery slot ending time.')\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Expected delivery time slot with start and end times.')\n              .optional(),\n          }),\n          z.xor([\n            z.object({\n              shippingDestination: z.never().optional(),\n              pickupDetails: z.never().optional(),\n            }),\n            z.object({\n              pickupDetails: z.never().optional(),\n              shippingDestination: z\n                .object({\n                  address: z\n                    .object({\n                      streetAddress: z\n                        .object({\n                          name: z.string().optional(),\n                          number: z.string().optional(),\n                        })\n                        .optional(),\n                      city: z.string().optional().nullable(),\n                      subdivision: z.string().optional().nullable(),\n                      country: z.string().optional().nullable(),\n                      postalCode: z.string().optional().nullable(),\n                      addressLine2: z.string().optional().nullable(),\n                    })\n                    .describe('Address.')\n                    .optional(),\n                  contactDetails: z\n                    .object({\n                      firstName: z\n                        .string()\n                        .describe('First name.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      lastName: z\n                        .string()\n                        .describe('Last name.')\n                        .max(100)\n                        .optional()\n                        .nullable(),\n                      phone: z\n                        .string()\n                        .describe('Phone number.')\n                        .optional()\n                        .nullable(),\n                      company: z\n                        .string()\n                        .describe('Company name.')\n                        .max(1000)\n                        .optional()\n                        .nullable(),\n                      vatId: z\n                        .object({\n                          _id: z\n                            .string()\n                            .describe(\"Customer's tax ID.\")\n                            .optional(),\n                          type: z\n                            .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n                            .describe(\n                              'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n                            )\n                            .optional(),\n                        })\n                        .describe(\n                          'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n                        )\n                        .optional(),\n                    })\n                    .describe('Contact details.')\n                    .optional(),\n                })\n                .describe(\n                  \"Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address.\"\n                ),\n            }),\n            z.object({\n              shippingDestination: z.never().optional(),\n              pickupDetails: z\n                .object({\n                  address: z\n                    .object({\n                      streetAddress: z\n                        .object({\n                          name: z.string().optional(),\n                          number: z.string().optional(),\n                        })\n                        .optional(),\n                      city: z.string().optional().nullable(),\n                      subdivision: z.string().optional().nullable(),\n                      country: z.string().optional().nullable(),\n                      postalCode: z.string().optional().nullable(),\n                      addressLine2: z.string().optional().nullable(),\n                    })\n                    .describe('Pickup address.')\n                    .optional(),\n                  pickupMethod: z\n                    .enum(['STORE_PICKUP', 'PICKUP_POINT'])\n                    .describe('Pickup method')\n                    .optional(),\n                })\n                .describe(\n                  'Pickup details for store pickup or pickup point orders.'\n                ),\n            }),\n          ])\n        )\n        .describe('Shipping logistics.')\n        .optional(),\n      cost: z\n        .object({\n          price: z\n            .object({\n              amount: z.string().describe('Amount.').optional(),\n              formattedAmount: z\n                .string()\n                .describe('Amount formatted with currency symbol.')\n                .optional(),\n            })\n            .describe('Shipping price for display purposes.')\n            .optional(),\n          totalPriceBeforeTax: z\n            .object({\n              amount: z.string().describe('Amount.').optional(),\n              formattedAmount: z\n                .string()\n                .describe('Amount formatted with currency symbol.')\n                .optional(),\n            })\n            .describe(\n              'Total price of shipping after discounts (when relevant), and before tax.'\n            )\n            .optional(),\n          totalPriceAfterTax: z\n            .object({\n              amount: z.string().describe('Amount.').optional(),\n              formattedAmount: z\n                .string()\n                .describe('Amount formatted with currency symbol.')\n                .optional(),\n            })\n            .describe(\n              'Shipping price after all discounts (if any exist), and after tax.'\n            )\n            .optional(),\n          taxDetails: z\n            .object({\n              taxableAmount: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe('Taxable amount of this line item.')\n                .optional(),\n              taxRate: z\n                .string()\n                .describe(\n                  'Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`.'\n                )\n                .optional(),\n              totalTax: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\n                  'The calculated tax, based on the `taxableAmount` and `taxRate`.'\n                )\n                .optional(),\n            })\n            .describe('Tax details.')\n            .optional(),\n          taxInfo: z\n            .object({\n              taxAmount: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\n                  'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n                )\n                .optional(),\n              taxableAmount: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe('Amount for which tax is calculated.')\n                .optional(),\n              taxRate: z\n                .string()\n                .describe('Tax rate %, as a decimal point.')\n                .optional()\n                .nullable(),\n              taxGroupId: z\n                .string()\n                .describe('Tax group 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              taxIncludedInPrice: z\n                .boolean()\n                .describe('Indicates whether the price already includes tax.')\n                .optional(),\n              taxBreakdown: z\n                .array(\n                  z.object({\n                    jurisdiction: z\n                      .string()\n                      .describe(\n                        'Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\".'\n                      )\n                      .max(200)\n                      .optional()\n                      .nullable(),\n                    rate: z\n                      .string()\n                      .describe(\n                        'Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.'\n                      )\n                      .optional()\n                      .nullable(),\n                    taxAmount: z\n                      .object({\n                        amount: z.string().describe('Amount.').optional(),\n                        formattedAmount: z\n                          .string()\n                          .describe('Amount formatted with currency symbol.')\n                          .optional(),\n                      })\n                      .describe('Amount of tax calculated for this line item.')\n                      .optional(),\n                    taxType: z\n                      .string()\n                      .describe(\n                        'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n                      )\n                      .max(200)\n                      .optional()\n                      .nullable(),\n                    taxName: z\n                      .string()\n                      .describe(\n                        'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n                      )\n                      .max(200)\n                      .optional()\n                      .nullable(),\n                    jurisdictionType: z\n                      .enum([\n                        'UNDEFINED',\n                        'COUNTRY',\n                        'STATE',\n                        'COUNTY',\n                        'CITY',\n                        'SPECIAL',\n                      ])\n                      .describe(\n                        'Type of jurisdiction that taxes were calculated for.'\n                      )\n                      .optional(),\n                    nonTaxableAmount: z\n                      .object({\n                        amount: z.string().describe('Amount.').optional(),\n                        formattedAmount: z\n                          .string()\n                          .describe('Amount formatted with currency symbol.')\n                          .optional(),\n                      })\n                      .describe('Non-taxable amount of the line item price.')\n                      .optional(),\n                    taxableAmount: z\n                      .object({\n                        amount: z.string().describe('Amount.').optional(),\n                        formattedAmount: z\n                          .string()\n                          .describe('Amount formatted with currency symbol.')\n                          .optional(),\n                      })\n                      .describe('Taxable amount of the line item price.')\n                      .optional(),\n                  })\n                )\n                .max(7)\n                .optional(),\n            })\n            .describe('Represents all the relevant tax details for a shipping.')\n            .optional(),\n          discount: z\n            .object({\n              amount: z.string().describe('Amount.').optional(),\n              formattedAmount: z\n                .string()\n                .describe('Amount formatted with currency symbol.')\n                .optional(),\n            })\n            .describe('Shipping discount before tax.')\n            .optional(),\n        })\n        .describe('Shipping costs.')\n        .optional(),\n      region: z\n        .object({\n          name: z\n            .string()\n            .describe(\n              'Name of shipping region. For example, `\"Metropolitan London\"`, or `\"Outer Melbourne suburbs\"`.'\n            )\n            .max(100)\n            .optional()\n            .nullable(),\n        })\n        .describe('Shipping region.')\n        .optional(),\n    })\n    .describe('Shipping info and selected shipping option details.')\n    .optional(),\n  appliedDiscounts: z\n    .array(\n      z.intersection(\n        z.object({\n          discountType: z\n            .enum(['GLOBAL', 'SPECIFIC_ITEMS', 'SHIPPING'])\n            .optional(),\n          lineItemIds: z.array(z.string()).min(0).max(300).optional(),\n          _id: z\n            .string()\n            .describe('Discount 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          lineItemDiscounts: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Line 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                totalDiscount: z\n                  .object({\n                    amount: z.string().describe('Amount.').optional(),\n                    formattedAmount: z\n                      .string()\n                      .describe('Amount formatted with currency symbol.')\n                      .optional(),\n                  })\n                  .describe('Total discount amount for this line item.')\n                  .optional(),\n              })\n            )\n            .max(300)\n            .optional(),\n        }),\n        z.xor([\n          z.object({\n            coupon: z.never().optional(),\n            merchantDiscount: z.never().optional(),\n            discountRule: z.never().optional(),\n          }),\n          z.object({\n            merchantDiscount: z.never().optional(),\n            discountRule: z.never().optional(),\n            coupon: z\n              .object({\n                _id: z.string().describe('Coupon ID.').optional(),\n                code: z.string().describe('Coupon code.').optional(),\n                name: z.string().describe('Coupon name.').optional(),\n                amount: z\n                  .object({\n                    amount: z.string().describe('Amount.').optional(),\n                    formattedAmount: z\n                      .string()\n                      .describe('Amount formatted with currency symbol.')\n                      .optional(),\n                  })\n                  .describe('Coupon value.')\n                  .optional(),\n              })\n              .describe('Coupon applied by the customer.'),\n          }),\n          z.object({\n            coupon: z.never().optional(),\n            discountRule: z.never().optional(),\n            merchantDiscount: z\n              .intersection(\n                z.object({\n                  amount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Discount amount.')\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    discountReason: z.never().optional(),\n                    description: z.never().optional(),\n                  }),\n                  z.object({\n                    description: z.never().optional(),\n                    discountReason: z\n                      .enum([\n                        'UNSPECIFIED',\n                        'EXCHANGED_ITEMS',\n                        'BILLING_ADJUSTMENT',\n                      ])\n                      .describe('Predefined discount reason.'),\n                  }),\n                  z.object({\n                    discountReason: z.never().optional(),\n                    description: z\n                      .string()\n                      .describe('Custom discount description as free text.')\n                      .max(200),\n                  }),\n                ])\n              )\n              .describe('Discount applied manually by the merchant.'),\n          }),\n          z.object({\n            coupon: z.never().optional(),\n            merchantDiscount: z.never().optional(),\n            discountRule: z\n              .object({\n                _id: z\n                  .string()\n                  .describe('Discount rule 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                name: z\n                  .object({\n                    original: z\n                      .string()\n                      .describe(\n                        \"Original discount rule name (in site's default language).\"\n                      )\n                      .min(1)\n                      .max(256)\n                      .optional(),\n                    translated: z\n                      .string()\n                      .describe(\n                        'Translated discount rule name according to buyer language. Defaults to `original` when not provided.'\n                      )\n                      .min(1)\n                      .max(500)\n                      .optional()\n                      .nullable(),\n                  })\n                  .describe('Discount rule name')\n                  .optional(),\n                amount: z\n                  .object({\n                    amount: z.string().describe('Amount.').optional(),\n                    formattedAmount: z\n                      .string()\n                      .describe('Amount formatted with currency symbol.')\n                      .optional(),\n                  })\n                  .describe('Discount value.')\n                  .optional(),\n              })\n              .describe(\n                'Automatic discount applied by the system based on configured discount rules.'\n              ),\n          }),\n        ])\n      )\n    )\n    .optional(),\n  channelInfo: z\n    .object({\n      type: z\n        .enum([\n          'UNSPECIFIED',\n          'WEB',\n          'POS',\n          'EBAY',\n          'AMAZON',\n          'OTHER_PLATFORM',\n          'WIX_APP_STORE',\n          'WIX_INVOICES',\n          'BACKOFFICE_MERCHANT',\n          'WISH',\n          'CLASS_PASS',\n          'GLOBAL_E',\n          'FACEBOOK',\n          'ETSY',\n          'TIKTOK',\n          'FAIRE_COM',\n          'PAYPAL_AGENTIC_CHECKOUT',\n          'STRIPE_AGENTIC_CHECKOUT',\n        ])\n        .describe(\n          'Sales channel that submitted the order.\\n\\nWhen creating an order via the API to record an external order, use the channel type that matches the original source. If no matching type exists, use `OTHER_PLATFORM`.'\n        )\n        .optional(),\n      externalOrderId: z\n        .string()\n        .describe(\n          'Reference to an order ID from an external system. Relevant when recording orders from external platforms.'\n        )\n        .max(100)\n        .optional()\n        .nullable(),\n      externalOrderUrl: z\n        .string()\n        .describe(\n          'URL to the order in the external system. Relevant when recording orders from external platforms.'\n        )\n        .max(300)\n        .optional()\n        .nullable(),\n    })\n    .describe('Information about the sales channel that submitted this order.')\n    .optional(),\n  customFields: z\n    .array(\n      z.object({\n        value: z.any().describe('Custom field value.').optional().nullable(),\n        title: z\n          .string()\n          .describe('Custom field title.')\n          .min(1)\n          .max(500)\n          .optional(),\n        translatedTitle: z\n          .string()\n          .describe('Translated custom field title.')\n          .min(1)\n          .max(500)\n          .optional()\n          .nullable(),\n      })\n    )\n    .optional(),\n  recipientInfo: z\n    .object({\n      address: z\n        .object({\n          streetAddress: z\n            .object({\n              name: z.string().optional(),\n              number: z.string().optional(),\n            })\n            .optional(),\n          city: z.string().optional().nullable(),\n          subdivision: z.string().optional().nullable(),\n          country: z.string().optional().nullable(),\n          postalCode: z.string().optional().nullable(),\n          addressLine2: z.string().optional().nullable(),\n        })\n        .describe('Address.')\n        .optional(),\n      contactDetails: z\n        .object({\n          firstName: z\n            .string()\n            .describe('First name.')\n            .max(100)\n            .optional()\n            .nullable(),\n          lastName: z\n            .string()\n            .describe('Last name.')\n            .max(100)\n            .optional()\n            .nullable(),\n          phone: z.string().describe('Phone number.').optional().nullable(),\n          company: z\n            .string()\n            .describe('Company name.')\n            .max(1000)\n            .optional()\n            .nullable(),\n          vatId: z\n            .object({\n              _id: z.string().describe(\"Customer's tax ID.\").optional(),\n              type: z\n                .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n                .describe(\n                  'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n                )\n                .optional(),\n            })\n            .describe(\n              'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n            )\n            .optional(),\n        })\n        .describe('Contact details.')\n        .optional(),\n    })\n    .describe(\n      'Order recipient address and contact details.\\n\\nThis field may differ from the address in `shippingInfo.logistics` when:\\n+ The chosen shipping option is pickup point or store pickup.\\n+ No shipping option is selected.'\n    )\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 subscription contract object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.'\n    )\n    .optional(),\n  title: z\n    .string()\n    .describe(\n      'Subscription option title. For example, `\"Monthly coffee Subscription\"`.'\n    )\n    .min(0)\n    .max(150)\n    .optional()\n    .nullable(),\n  additionalFees: z\n    .array(\n      z.object({\n        code: z\n          .string()\n          .describe(\"Additional fee's unique code for future processing.\")\n          .min(1)\n          .max(100)\n          .optional()\n          .nullable(),\n        name: z\n          .string()\n          .describe('Name of additional fee.')\n          .min(1)\n          .max(50)\n          .optional(),\n        price: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe(\"Additional fee's price.\")\n          .optional(),\n        taxDetails: z\n          .object({\n            taxableAmount: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe('Taxable amount of this line item.')\n              .optional(),\n            taxRate: z\n              .string()\n              .describe(\n                'Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`.'\n              )\n              .optional(),\n            totalTax: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe(\n                'The calculated tax, based on the `taxableAmount` and `taxRate`.'\n              )\n              .optional(),\n          })\n          .describe('Tax details.')\n          .optional(),\n        taxInfo: z\n          .object({\n            taxAmount: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe(\n                'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n              )\n              .optional(),\n            taxableAmount: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe('Amount for which tax is calculated.')\n              .optional(),\n            taxRate: z\n              .string()\n              .describe('Tax rate %, as a decimal point.')\n              .optional()\n              .nullable(),\n            taxGroupId: z\n              .string()\n              .describe('Tax group 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            taxIncludedInPrice: z\n              .boolean()\n              .describe('Indicates whether the price already includes tax.')\n              .optional(),\n            taxBreakdown: z\n              .array(\n                z.object({\n                  jurisdiction: z\n                    .string()\n                    .describe(\n                      'Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\".'\n                    )\n                    .max(200)\n                    .optional()\n                    .nullable(),\n                  rate: z\n                    .string()\n                    .describe(\n                      'Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.'\n                    )\n                    .optional()\n                    .nullable(),\n                  taxAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Amount of tax calculated for this line item.')\n                    .optional(),\n                  taxType: z\n                    .string()\n                    .describe(\n                      'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n                    )\n                    .max(200)\n                    .optional()\n                    .nullable(),\n                  taxName: z\n                    .string()\n                    .describe(\n                      'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n                    )\n                    .max(200)\n                    .optional()\n                    .nullable(),\n                  jurisdictionType: z\n                    .enum([\n                      'UNDEFINED',\n                      'COUNTRY',\n                      'STATE',\n                      'COUNTY',\n                      'CITY',\n                      'SPECIAL',\n                    ])\n                    .describe(\n                      'Type of jurisdiction that taxes were calculated for.'\n                    )\n                    .optional(),\n                  nonTaxableAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Non-taxable amount of the line item price.')\n                    .optional(),\n                  taxableAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Taxable amount of the line item price.')\n                    .optional(),\n                })\n              )\n              .max(7)\n              .optional(),\n          })\n          .describe(\n            'Represents all the relevant tax details for additional fee.'\n          )\n          .optional(),\n        providerAppId: z\n          .string()\n          .describe(\"SPI implementer's `appId`.\")\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        priceBeforeTax: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe(\"Additional fee's price before tax.\")\n          .optional(),\n        priceAfterTax: z\n          .object({\n            amount: z.string().describe('Amount.').optional(),\n            formattedAmount: z\n              .string()\n              .describe('Amount formatted with currency symbol.')\n              .optional(),\n          })\n          .describe(\"Additional fee's price after tax.\")\n          .optional(),\n        _id: z\n          .string()\n          .describe(\"Additional fee's 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        lineItemIds: z.array(z.string()).optional(),\n        source: z\n          .enum(['SERVICE_PLUGIN', 'ITEM', 'MANUAL', 'SHIPPING', 'PLATFORM'])\n          .describe('Specifies the entity that added the additional fee.')\n          .optional(),\n      })\n    )\n    .max(100)\n    .optional(),\n});\nexport const QuerySubscriptionContractsRequest = z.object({\n  query: z\n    .intersection(\n      z.object({\n        filter: z\n          .record(z.string(), z.any())\n          .describe(\n            'Filter object in the following format:\\n`\"filter\" : {\\n\"fieldName1\": \"value1\",\\n\"fieldName2\":{\"$operator\":\"value2\"}\\n}`\\nExample of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\\nLearn more about the [filter format](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).'\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(5)\n          .optional(),\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(100)\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('WQL expression.'),\n});\nexport const QuerySubscriptionContractsResponse = z.object({\n  subscriptionContracts: z\n    .array(\n      z.object({\n        _id: z\n          .string()\n          .describe('SubscriptionContract 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 SubscriptionContract is updated.\\nTo prevent conflicting changes, the current revision must be passed when updating the SubscriptionContract.\\n\\nIgnored when creating a SubscriptionOrderContract.'\n          )\n          .optional()\n          .nullable(),\n        _createdDate: z\n          .date()\n          .describe(\n            'Date and time the subscription contract was created in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.'\n          )\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe(\n            'Date and time the subscription contract was last updated in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.'\n          )\n          .optional()\n          .nullable(),\n        description: z\n          .string()\n          .describe(\n            'Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.'\n          )\n          .max(500)\n          .optional()\n          .nullable(),\n        subscriptionSettings: z\n          .object({\n            frequency: z\n              .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n              .describe('Frequency of recurring payment.')\n              .optional(),\n            interval: z\n              .number()\n              .int()\n              .describe(\n                'Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.'\n              )\n              .min(1)\n              .max(3650)\n              .optional()\n              .nullable(),\n            autoRenewal: z\n              .boolean()\n              .describe(\n                'Whether subscription is renewed automatically at the end of each period.'\n              )\n              .optional(),\n            billingCycles: z\n              .number()\n              .int()\n              .describe(\n                'Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`.'\n              )\n              .min(1)\n              .optional()\n              .nullable(),\n            enableCustomerCancellation: z\n              .boolean()\n              .describe(\n                'Whether to allow the customer to cancel the subscription.'\n              )\n              .optional(),\n            freeTrialPeriod: z\n              .object({\n                frequency: z\n                  .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n                  .describe(\n                    'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n                  )\n                  .optional(),\n                interval: z\n                  .number()\n                  .int()\n                  .describe(\n                    'Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.'\n                  )\n                  .min(1)\n                  .max(3650)\n                  .optional(),\n              })\n              .describe(\n                'Period until first cycle starts. If None => no free trial'\n              )\n              .optional(),\n          })\n          .describe('Subscription detailed information.')\n          .optional(),\n        lineItems: z\n          .array(\n            z.object({\n              _id: z.string().describe('Line item ID.').optional(),\n              productName: z\n                .object({\n                  original: z\n                    .string()\n                    .describe(\n                      \"__Required.__ Item name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n                    )\n                    .min(1)\n                    .max(200)\n                    .optional(),\n                  translated: z\n                    .string()\n                    .describe(\n                      \"Item name translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n                    )\n                    .min(1)\n                    .max(400)\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  'Item name.\\n\\n+ Stores - `product.name`\\n+ Bookings - `service.info.name`\\n+ Events - `ticket.name`'\n                )\n                .optional(),\n              catalogReference: z\n                .object({\n                  catalogItemId: z\n                    .string()\n                    .describe(\n                      'ID of the item within the catalog it belongs to.'\n                    )\n                    .min(1)\n                    .max(36)\n                    .optional(),\n                  appId: z\n                    .string()\n                    .describe(\n                      'ID of the app providing the catalog.\\n\\nYou can get your app\\'s ID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).\\n\\nFor items from Wix catalogs, the following values always apply:\\n+ Wix Stores: `\"215238eb-22a5-4c36-9e7b-e7c08025e04e\"`\\n+ Wix Bookings: `\"13d21c63-b5ec-5912-8397-c3a5ddb27a97\"`\\n+ Wix Restaurants: `\"9a5d83fd-8570-482e-81ab-cfa88942ee60\"`'\n                    )\n                    .min(1)\n                    .optional(),\n                  options: z\n                    .record(z.string(), z.any())\n                    .describe(\n                      'Additional item details in `key:value` pairs.\\n\\nUse this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.\\n\\nFor Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration)\\nor [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction).'\n                    )\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  \"References to the line item's origin catalog. Empty for custom line items.\"\n                )\n                .optional(),\n              quantity: z\n                .number()\n                .int()\n                .describe('Line item quantity.')\n                .min(1)\n                .max(100000)\n                .optional(),\n              totalDiscount: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\n                  \"Total discount for this line item's entire quantity.\"\n                )\n                .optional(),\n              descriptionLines: z\n                .array(\n                  z.intersection(\n                    z.object({\n                      name: z\n                        .object({\n                          original: z\n                            .string()\n                            .describe(\n                              \"Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n                            )\n                            .max(100)\n                            .optional(),\n                          translated: z\n                            .string()\n                            .describe(\n                              \"Description line name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n                            )\n                            .max(200)\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe('Description line name.')\n                        .optional(),\n                    }),\n                    z.xor([\n                      z.object({\n                        plainText: z.never().optional(),\n                        colorInfo: z.never().optional(),\n                      }),\n                      z.object({\n                        colorInfo: z.never().optional(),\n                        plainText: z\n                          .object({\n                            original: z\n                              .string()\n                              .describe(\n                                \"Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n                              )\n                              .max(600)\n                              .optional(),\n                            translated: z\n                              .string()\n                              .describe(\n                                \"Description line plain text value translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n                              )\n                              .max(600)\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Description line plain text value.'),\n                      }),\n                      z.object({\n                        plainText: z.never().optional(),\n                        colorInfo: z\n                          .object({\n                            original: z\n                              .string()\n                              .describe(\n                                \"Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n                              )\n                              .max(500)\n                              .optional(),\n                            translated: z\n                              .string()\n                              .describe(\n                                \"Description line color name translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n                              )\n                              .max(500)\n                              .optional()\n                              .nullable(),\n                            code: z\n                              .string()\n                              .describe('HEX or RGB color code for display.')\n                              .optional()\n                              .nullable(),\n                          })\n                          .describe('Description line color value.'),\n                      }),\n                    ])\n                  )\n                )\n                .min(0)\n                .max(20)\n                .optional(),\n              image: z.string().describe('Line item image.').optional(),\n              physicalProperties: z\n                .object({\n                  weight: z\n                    .number()\n                    .describe(\n                      'Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.'\n                    )\n                    .optional()\n                    .nullable(),\n                  sku: z\n                    .string()\n                    .describe(\n                      'Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).'\n                    )\n                    .max(40)\n                    .optional()\n                    .nullable(),\n                  shippable: z\n                    .boolean()\n                    .describe('Whether this line item is shippable.')\n                    .optional(),\n                })\n                .describe(\n                  'Physical properties of the item. When relevant, contains information such as SKU and item weight.'\n                )\n                .optional(),\n              itemType: z\n                .intersection(\n                  z.object({}),\n                  z.xor([\n                    z.object({\n                      preset: z.never().optional(),\n                      custom: z.never().optional(),\n                    }),\n                    z.object({\n                      custom: z.never().optional(),\n                      preset: z\n                        .enum([\n                          'UNRECOGNISED',\n                          'PHYSICAL',\n                          'DIGITAL',\n                          'GIFT_CARD',\n                          'SERVICE',\n                        ])\n                        .describe('Preset item type.'),\n                    }),\n                    z.object({\n                      preset: z.never().optional(),\n                      custom: z\n                        .string()\n                        .describe(\n                          'Custom item type. When none of the preset types are suitable, specifies the custom type.'\n                        ),\n                    }),\n                  ])\n                )\n                .describe('Item type. Either a preset type or custom.')\n                .optional(),\n              fulfillerId: z\n                .string()\n                .describe(\n                  'Fulfiller ID. Field is empty when the line item is self-fulfilled.\\nTo get fulfillment information, pass the order ID to [List Fulfillments For Single Order](https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/order-fulfillments/list-fulfillments-for-single-order).'\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              refundQuantity: z\n                .number()\n                .int()\n                .describe('Number of items that were refunded.')\n                .min(0)\n                .max(100000)\n                .optional()\n                .nullable(),\n              restockQuantity: z\n                .number()\n                .int()\n                .describe(\n                  'Number of items restocked.\\n\\nFor a per-location breakdown, see `restockLocations`.'\n                )\n                .min(0)\n                .max(100000)\n                .optional()\n                .nullable(),\n              price: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\n                  'Line item price after line item discounts for display purposes.'\n                )\n                .optional(),\n              priceBeforeDiscounts: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\n                  'Line item price before line item discounts for display purposes. Defaults to `price` when not provided.'\n                )\n                .optional(),\n              totalPriceBeforeTax: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe('Total price after discounts, and before tax.')\n                .optional(),\n              totalPriceAfterTax: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe('Total price after all discounts and tax.')\n                .optional(),\n              paymentOption: z\n                .enum([\n                  'FULL_PAYMENT_ONLINE',\n                  'FULL_PAYMENT_OFFLINE',\n                  'MEMBERSHIP',\n                  'DEPOSIT_ONLINE',\n                  'MEMBERSHIP_OFFLINE',\n                  'MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER',\n                ])\n                .describe(\n                  'Type of selected payment option for current item.\\n\\nDefault: `FULL_PAYMENT_ONLINE`'\n                )\n                .optional(),\n              taxDetails: z\n                .object({\n                  taxableAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Taxable amount of this line item.')\n                    .optional(),\n                  taxRate: z\n                    .string()\n                    .describe(\n                      'Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`.'\n                    )\n                    .optional(),\n                  totalTax: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe(\n                      'The calculated tax, based on the `taxableAmount` and `taxRate`.'\n                    )\n                    .optional(),\n                })\n                .describe(\n                  'Deprecated. Use `taxInfo` instead.\\nThis field will be removed on September 30, 2024.\\nTax details for this line item.'\n                )\n                .optional(),\n              taxInfo: z\n                .object({\n                  taxAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe(\n                      'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n                    )\n                    .optional(),\n                  taxableAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Amount for which tax is calculated.')\n                    .optional(),\n                  taxRate: z\n                    .string()\n                    .describe('Tax rate %, as a decimal point.')\n                    .optional()\n                    .nullable(),\n                  taxGroupId: z\n                    .string()\n                    .describe('Tax group 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                  taxIncludedInPrice: z\n                    .boolean()\n                    .describe(\n                      'Indicates whether the price already includes tax.'\n                    )\n                    .optional(),\n                  taxBreakdown: z\n                    .array(\n                      z.object({\n                        jurisdiction: z\n                          .string()\n                          .describe(\n                            'Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\".'\n                          )\n                          .max(200)\n                          .optional()\n                          .nullable(),\n                        rate: z\n                          .string()\n                          .describe(\n                            'Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.'\n                          )\n                          .optional()\n                          .nullable(),\n                        taxAmount: z\n                          .object({\n                            amount: z.string().describe('Amount.').optional(),\n                            formattedAmount: z\n                              .string()\n                              .describe(\n                                'Amount formatted with currency symbol.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Amount of tax calculated for this line item.'\n                          )\n                          .optional(),\n                        taxType: z\n                          .string()\n                          .describe(\n                            'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n                          )\n                          .max(200)\n                          .optional()\n                          .nullable(),\n                        taxName: z\n                          .string()\n                          .describe(\n                            'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n                          )\n                          .max(200)\n                          .optional()\n                          .nullable(),\n                        jurisdictionType: z\n                          .enum([\n                            'UNDEFINED',\n                            'COUNTRY',\n                            'STATE',\n                            'COUNTY',\n                            'CITY',\n                            'SPECIAL',\n                          ])\n                          .describe(\n                            'Type of jurisdiction that taxes were calculated for.'\n                          )\n                          .optional(),\n                        nonTaxableAmount: z\n                          .object({\n                            amount: z.string().describe('Amount.').optional(),\n                            formattedAmount: z\n                              .string()\n                              .describe(\n                                'Amount formatted with currency symbol.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Non-taxable amount of the line item price.'\n                          )\n                          .optional(),\n                        taxableAmount: z\n                          .object({\n                            amount: z.string().describe('Amount.').optional(),\n                            formattedAmount: z\n                              .string()\n                              .describe(\n                                'Amount formatted with currency symbol.'\n                              )\n                              .optional(),\n                          })\n                          .describe('Taxable amount of the line item price.')\n                          .optional(),\n                      })\n                    )\n                    .max(7)\n                    .optional(),\n                })\n                .describe(\n                  'Represents all the relevant tax details for a specific line item.'\n                )\n                .optional(),\n              digitalFile: z\n                .object({\n                  fileId: z\n                    .string()\n                    .describe('ID of the secure file in media.')\n                    .min(1)\n                    .max(100)\n                    .optional(),\n                  link: z\n                    .string()\n                    .describe(\n                      'Link will exist after the digital links have been generated on the order.'\n                    )\n                    .url()\n                    .min(1)\n                    .max(2000)\n                    .optional()\n                    .nullable(),\n                  expirationDate: z\n                    .date()\n                    .describe('Link expiration time and date.')\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  'Digital file identifier, relevant only for items with type DIGITAL.'\n                )\n                .optional(),\n              subscriptionInfo: z\n                .object({\n                  _id: z\n                    .string()\n                    .describe('Subscription 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                  cycleNumber: z\n                    .number()\n                    .int()\n                    .describe(\n                      'Subscription cycle. For example, if this order is for the 3rd cycle of a subscription, value will be `3`.'\n                    )\n                    .min(0)\n                    .optional(),\n                  subscriptionOptionTitle: z\n                    .string()\n                    .describe(\n                      'Subscription option title. For example, `\"Monthly coffee Subscription\"`.'\n                    )\n                    .min(0)\n                    .max(150)\n                    .optional(),\n                  subscriptionOptionDescription: z\n                    .string()\n                    .describe(\n                      'Subscription option description. For example, `\"1kg of selected coffee, once a month\"`.'\n                    )\n                    .max(500)\n                    .optional()\n                    .nullable(),\n                  subscriptionSettings: z\n                    .object({\n                      frequency: z\n                        .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n                        .describe('Frequency of recurring payment.')\n                        .optional(),\n                      interval: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Number of frequency units in a billing cycle. For example, frequency `MONTH` with interval `3` means billing every 3 months.'\n                        )\n                        .min(1)\n                        .max(3650)\n                        .optional()\n                        .nullable(),\n                      autoRenewal: z\n                        .boolean()\n                        .describe(\n                          'Whether subscription is renewed automatically at the end of each period.'\n                        )\n                        .optional(),\n                      billingCycles: z\n                        .number()\n                        .int()\n                        .describe(\n                          'Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`.'\n                        )\n                        .min(1)\n                        .optional()\n                        .nullable(),\n                      enableCustomerCancellation: z\n                        .boolean()\n                        .describe(\n                          'Whether to allow the customer to cancel the subscription.'\n                        )\n                        .optional(),\n                      freeTrialPeriod: z\n                        .object({\n                          frequency: z\n                            .enum(['UNDEFINED', 'DAY', 'WEEK', 'MONTH', 'YEAR'])\n                            .describe(\n                              'Frequency of period. Values: DAY, WEEK, MONTH, YEAR'\n                            )\n                            .optional(),\n                          interval: z\n                            .number()\n                            .int()\n                            .describe(\n                              'Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.'\n                            )\n                            .min(1)\n                            .max(3650)\n                            .optional(),\n                        })\n                        .describe(\n                          'Period until first cycle starts. If None => no free trial'\n                        )\n                        .optional(),\n                    })\n                    .describe('Subscription detailed information.')\n                    .optional(),\n                  chargesDescription: z\n                    .string()\n                    .describe(\n                      'Description of the charges that will be applied for subscription.'\n                    )\n                    .max(1000)\n                    .optional()\n                    .nullable(),\n                })\n                .describe('Subscription info.')\n                .optional(),\n              priceDescription: z\n                .object({\n                  original: z\n                    .string()\n                    .describe(\n                      \"__Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\"\n                    )\n                    .min(1)\n                    .max(100)\n                    .optional(),\n                  translated: z\n                    .string()\n                    .describe(\n                      \"Price description translated into the buyer's language.\\n\\nDefault: Same as `original`.\"\n                    )\n                    .min(1)\n                    .max(100)\n                    .optional()\n                    .nullable(),\n                })\n                .describe(\n                  'Additional description for the price. For example, when price is 0 but additional details about the actual price are needed - \"Starts at $67\".'\n                )\n                .optional(),\n              depositAmount: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\n                  'Item\\'s price amount to be charged during checkout. Relevant for items with a `paymentOption` value of `\"DEPOSIT_ONLINE\"`.'\n                )\n                .optional(),\n              locations: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Location id in the associated owner app.')\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                    appId: z\n                      .string()\n                      .describe(\n                        'Location owner app, if not provided then the site business info locations will be 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                    quantity: z\n                      .number()\n                      .int()\n                      .describe('Quantity for specific location.')\n                      .min(1)\n                      .max(100000)\n                      .optional(),\n                    name: z\n                      .string()\n                      .describe('Location name.')\n                      .max(500)\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .min(0)\n                .max(5)\n                .optional(),\n              lineItemPrice: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\n                  'Total price **after** catalog discounts and line item discounts.'\n                )\n                .optional(),\n              taxableAddress: z\n                .intersection(\n                  z.object({}),\n                  z.xor([\n                    z.object({ addressType: z.never().optional() }),\n                    z.object({\n                      addressType: z\n                        .enum(['BUSINESS', 'BILLING', 'SHIPPING'])\n                        .describe(\n                          'taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.'\n                        ),\n                    }),\n                  ])\n                )\n                .describe('Address used for tax calculation.')\n                .optional(),\n              priceUndetermined: z\n                .boolean()\n                .describe(\n                  'Whether the price is not yet defined, and will be updated after the order is created.\\n\\nDefault: `false`'\n                )\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 extended fields for the line item object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls.'\n                )\n                .optional(),\n              modifierGroups: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Modifier group ID.')\n                      .min(1)\n                      .max(36)\n                      .optional(),\n                    name: z\n                      .object({\n                        original: z\n                          .string()\n                          .describe(\n                            \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n                          )\n                          .min(1)\n                          .max(200)\n                          .optional(),\n                        translated: z\n                          .string()\n                          .describe(\n                            \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n                          )\n                          .min(1)\n                          .max(400)\n                          .optional()\n                          .nullable(),\n                      })\n                      .describe('Modifier group name.')\n                      .optional(),\n                    modifiers: z\n                      .array(\n                        z.object({\n                          _id: z\n                            .string()\n                            .describe('Modifier ID.')\n                            .min(1)\n                            .max(36)\n                            .optional(),\n                          quantity: z\n                            .number()\n                            .int()\n                            .describe('The quantity of this modifier.')\n                            .min(1)\n                            .max(100000)\n                            .optional()\n                            .nullable(),\n                          label: z\n                            .object({\n                              original: z\n                                .string()\n                                .describe(\n                                  \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n                                )\n                                .min(1)\n                                .max(200)\n                                .optional(),\n                              translated: z\n                                .string()\n                                .describe(\n                                  \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n                                )\n                                .min(1)\n                                .max(400)\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Primary display label for the modifier.')\n                            .optional(),\n                          details: z\n                            .object({\n                              original: z\n                                .string()\n                                .describe(\n                                  \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n                                )\n                                .min(1)\n                                .max(200)\n                                .optional(),\n                              translated: z\n                                .string()\n                                .describe(\n                                  \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n                                )\n                                .min(1)\n                                .max(400)\n                                .optional()\n                                .nullable(),\n                            })\n                            .describe('Additional details.')\n                            .optional(),\n                          price: z\n                            .object({\n                              amount: z.string().describe('Amount.').optional(),\n                              formattedAmount: z\n                                .string()\n                                .describe(\n                                  'Amount formatted with currency symbol.'\n                                )\n                                .optional(),\n                            })\n                            .describe('The price of the modifier.')\n                            .optional(),\n                        })\n                      )\n                      .min(1)\n                      .max(10)\n                      .optional(),\n                  })\n                )\n                .max(10)\n                .optional(),\n            })\n          )\n          .min(1)\n          .max(100)\n          .optional(),\n        buyerInfo: z\n          .intersection(\n            z.object({\n              contactId: z\n                .string()\n                .describe(\n                  \"Contact ID. Automatically created if one doesn't exist. For more information, see [Contacts API](https://dev.wix.com/docs/api-reference/crm/members-contacts/contacts/contacts/contact-v4/introduction).\"\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              email: z\n                .string()\n                .describe(\"Buyer's email address.\")\n                .email()\n                .optional()\n                .nullable(),\n            }),\n            z.xor([\n              z.object({\n                visitorId: z.never().optional(),\n                memberId: z.never().optional(),\n              }),\n              z.object({\n                memberId: z.never().optional(),\n                visitorId: z\n                  .string()\n                  .describe(\n                    \"Visitor ID. Returned when the buyer isn't a logged-in site member.\"\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              }),\n              z.object({\n                visitorId: z.never().optional(),\n                memberId: z\n                  .string()\n                  .describe(\n                    'Member ID. Returned when the buyer is a logged-in site member.'\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              }),\n            ])\n          )\n          .describe('Buyer information.')\n          .optional(),\n        buyerLanguage: z\n          .string()\n          .describe(\n            'Language for communication with the buyer. Defaults to the site language.\\nFor a site that supports multiple languages, this is the language the buyer selected.'\n          )\n          .optional()\n          .nullable(),\n        weightUnit: z\n          .enum(['UNSPECIFIED_WEIGHT_UNIT', 'KG', 'LB'])\n          .describe(\"Weight measurement unit - defaults to site's weight unit.\")\n          .optional(),\n        currency: z\n          .string()\n          .describe(\n            'Currency used for the pricing of this order in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.'\n          )\n          .optional()\n          .nullable(),\n        currencyConversionDetails: z\n          .object({\n            originalCurrency: z\n              .string()\n              .describe(\n                \"Currency used for the pricing of this order, in [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) format.\\n\\nThis currency is used to calculate the pricing before conversion to the buyer's payment currency.\"\n              )\n              .optional()\n              .nullable(),\n            conversionRate: z\n              .string()\n              .describe(\n                'The rate used for converting the original currency to the currency used for payment.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'Multi-currency information of the subscription. conversionRate may reflect updated exchange rate on created order per recurring cycle.'\n          )\n          .optional(),\n        taxIncludedInPrices: z\n          .boolean()\n          .describe(\n            'Whether tax is included in line item prices.\\n\\nDefault: `false`'\n          )\n          .optional(),\n        priceSummary: z\n          .object({\n            subtotal: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe(\n                'Subtotal of all line items, before discounts and before tax.'\n              )\n              .optional(),\n            shipping: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe(\n                'Total shipping price, before discounts and before tax.'\n              )\n              .optional(),\n            tax: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe('Total tax applied to the order.')\n              .optional(),\n            discount: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe('Total discount amount applied to the order.')\n              .optional(),\n            total: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe(\"Order's total price after discounts and tax.\")\n              .optional(),\n            totalAdditionalFees: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe('Total additional fees before tax.')\n              .optional(),\n          })\n          .describe('Order price summary.')\n          .optional(),\n        platformFeeSummary: z\n          .object({\n            total: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe('Total sum of all platform fees.')\n              .optional(),\n            totalPassOn: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe(\n                'Total amount of platform fees with `PASS_ON` charge type.'\n              )\n              .optional(),\n            totalAbsorbed: z\n              .object({\n                amount: z.string().describe('Amount.').optional(),\n                formattedAmount: z\n                  .string()\n                  .describe('Amount formatted with currency symbol.')\n                  .optional(),\n              })\n              .describe(\n                'Total amount of platform fees with `ABSORBED` charge type.'\n              )\n              .optional(),\n            fees: z\n              .array(\n                z.object({\n                  name: z\n                    .object({\n                      original: z\n                        .string()\n                        .describe(\n                          \"__Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions#request-envelope).\\n\\nMin: 1 character.\\nMax: 200 characters.\"\n                        )\n                        .min(1)\n                        .max(200)\n                        .optional(),\n                      translated: z\n                        .string()\n                        .describe(\n                          \"String translated into the buyer's language.\\n\\nMin: 1 character.\\nMax: 400 characters.\\nDefault: Same as `original`.\"\n                        )\n                        .min(1)\n                        .max(400)\n                        .optional()\n                        .nullable(),\n                    })\n                    .describe('Platform fee name.')\n                    .optional(),\n                  amount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Platform fee amount.')\n                    .optional(),\n                  lineItemId: z\n                    .string()\n                    .describe(\n                      'ID of the line item the platform fee applies to.'\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                  chargeType: z\n                    .enum(['PASS_ON', 'ABSORBED'])\n                    .describe('Platform fee charge type.')\n                    .optional(),\n                  percentageRate: z\n                    .string()\n                    .describe(\n                      'Percentage rate charged as platform fee.\\nThe fee rate percentage expressed as a decimal fraction between 0 and 1. For example, `0.05` for 5%.'\n                    )\n                    .optional(),\n                })\n              )\n              .max(300)\n              .optional(),\n          })\n          .describe(\n            'Summary of platform fees for this subscription contract, including totals by charge type and a breakdown of individual fees.'\n          )\n          .optional(),\n        billingInfo: z\n          .object({\n            address: z\n              .object({\n                streetAddress: z\n                  .object({\n                    name: z.string().optional(),\n                    number: z.string().optional(),\n                  })\n                  .optional(),\n                city: z.string().optional().nullable(),\n                subdivision: z.string().optional().nullable(),\n                country: z.string().optional().nullable(),\n                postalCode: z.string().optional().nullable(),\n                addressLine2: z.string().optional().nullable(),\n              })\n              .describe('Address.')\n              .optional(),\n            contactDetails: z\n              .object({\n                firstName: z\n                  .string()\n                  .describe('First name.')\n                  .max(100)\n                  .optional()\n                  .nullable(),\n                lastName: z\n                  .string()\n                  .describe('Last name.')\n                  .max(100)\n                  .optional()\n                  .nullable(),\n                phone: z\n                  .string()\n                  .describe('Phone number.')\n                  .optional()\n                  .nullable(),\n                company: z\n                  .string()\n                  .describe('Company name.')\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n                vatId: z\n                  .object({\n                    _id: z.string().describe(\"Customer's tax ID.\").optional(),\n                    type: z\n                      .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n                      .describe(\n                        'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n                  )\n                  .optional(),\n              })\n              .describe('Contact details.')\n              .optional(),\n          })\n          .describe('Billing address and contact details.')\n          .optional(),\n        shippingInfo: z\n          .object({\n            carrierId: z\n              .string()\n              .describe(\n                'App Def Id of external provider which was a source of shipping info'\n              )\n              .min(1)\n              .max(100)\n              .optional()\n              .nullable(),\n            code: z\n              .string()\n              .describe(\n                'Unique code (or ID) of selected shipping option. For example, `\"usps_std_overnight\"`.'\n              )\n              .min(1)\n              .max(100)\n              .optional()\n              .nullable(),\n            title: z\n              .string()\n              .describe(\n                'Shipping option title.\\nFor example, `\"USPS Standard Overnight Delivery\"`, `\"Standard\"` or `\"First-Class Package International\"`.'\n              )\n              .max(250)\n              .optional(),\n            logistics: z\n              .intersection(\n                z.object({\n                  deliveryTime: z\n                    .string()\n                    .describe(\n                      'Expected delivery time in free text. For example, `\"3-5 business days\"`.'\n                    )\n                    .max(500)\n                    .optional()\n                    .nullable(),\n                  instructions: z\n                    .string()\n                    .describe(\n                      'Instructions for the carrier. For example, `\"Please knock on the door. If unanswered, please call contact number.\"`.'\n                    )\n                    .max(1000)\n                    .optional()\n                    .nullable(),\n                  deliverByDate: z\n                    .date()\n                    .describe(\n                      'Deprecated - Latest expected delivery date and time in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format.'\n                    )\n                    .optional()\n                    .nullable(),\n                  deliveryTimeSlot: z\n                    .object({\n                      from: z\n                        .date()\n                        .describe('Delivery slot starting time.')\n                        .optional()\n                        .nullable(),\n                      to: z\n                        .date()\n                        .describe('Delivery slot ending time.')\n                        .optional()\n                        .nullable(),\n                    })\n                    .describe(\n                      'Expected delivery time slot with start and end times.'\n                    )\n                    .optional(),\n                }),\n                z.xor([\n                  z.object({\n                    shippingDestination: z.never().optional(),\n                    pickupDetails: z.never().optional(),\n                  }),\n                  z.object({\n                    pickupDetails: z.never().optional(),\n                    shippingDestination: z\n                      .object({\n                        address: z\n                          .object({\n                            streetAddress: z\n                              .object({\n                                name: z.string().optional(),\n                                number: z.string().optional(),\n                              })\n                              .optional(),\n                            city: z.string().optional().nullable(),\n                            subdivision: z.string().optional().nullable(),\n                            country: z.string().optional().nullable(),\n                            postalCode: z.string().optional().nullable(),\n                            addressLine2: z.string().optional().nullable(),\n                          })\n                          .describe('Address.')\n                          .optional(),\n                        contactDetails: z\n                          .object({\n                            firstName: z\n                              .string()\n                              .describe('First name.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\n                            lastName: z\n                              .string()\n                              .describe('Last name.')\n                              .max(100)\n                              .optional()\n                              .nullable(),\n                            phone: z\n                              .string()\n                              .describe('Phone number.')\n                              .optional()\n                              .nullable(),\n                            company: z\n                              .string()\n                              .describe('Company name.')\n                              .max(1000)\n                              .optional()\n                              .nullable(),\n                            vatId: z\n                              .object({\n                                _id: z\n                                  .string()\n                                  .describe(\"Customer's tax ID.\")\n                                  .optional(),\n                                type: z\n                                  .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n                                  .describe(\n                                    'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n                                  )\n                                  .optional(),\n                              })\n                              .describe(\n                                'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n                              )\n                              .optional(),\n                          })\n                          .describe('Contact details.')\n                          .optional(),\n                      })\n                      .describe(\n                        \"Shipping destination address and contact details. For pickup orders, this contains the pickup location address, not the recipient's address.\"\n                      ),\n                  }),\n                  z.object({\n                    shippingDestination: z.never().optional(),\n                    pickupDetails: z\n                      .object({\n                        address: z\n                          .object({\n                            streetAddress: z\n                              .object({\n                                name: z.string().optional(),\n                                number: z.string().optional(),\n                              })\n                              .optional(),\n                            city: z.string().optional().nullable(),\n                            subdivision: z.string().optional().nullable(),\n                            country: z.string().optional().nullable(),\n                            postalCode: z.string().optional().nullable(),\n                            addressLine2: z.string().optional().nullable(),\n                          })\n                          .describe('Pickup address.')\n                          .optional(),\n                        pickupMethod: z\n                          .enum(['STORE_PICKUP', 'PICKUP_POINT'])\n                          .describe('Pickup method')\n                          .optional(),\n                      })\n                      .describe(\n                        'Pickup details for store pickup or pickup point orders.'\n                      ),\n                  }),\n                ])\n              )\n              .describe('Shipping logistics.')\n              .optional(),\n            cost: z\n              .object({\n                price: z\n                  .object({\n                    amount: z.string().describe('Amount.').optional(),\n                    formattedAmount: z\n                      .string()\n                      .describe('Amount formatted with currency symbol.')\n                      .optional(),\n                  })\n                  .describe('Shipping price for display purposes.')\n                  .optional(),\n                totalPriceBeforeTax: z\n                  .object({\n                    amount: z.string().describe('Amount.').optional(),\n                    formattedAmount: z\n                      .string()\n                      .describe('Amount formatted with currency symbol.')\n                      .optional(),\n                  })\n                  .describe(\n                    'Total price of shipping after discounts (when relevant), and before tax.'\n                  )\n                  .optional(),\n                totalPriceAfterTax: z\n                  .object({\n                    amount: z.string().describe('Amount.').optional(),\n                    formattedAmount: z\n                      .string()\n                      .describe('Amount formatted with currency symbol.')\n                      .optional(),\n                  })\n                  .describe(\n                    'Shipping price after all discounts (if any exist), and after tax.'\n                  )\n                  .optional(),\n                taxDetails: z\n                  .object({\n                    taxableAmount: z\n                      .object({\n                        amount: z.string().describe('Amount.').optional(),\n                        formattedAmount: z\n                          .string()\n                          .describe('Amount formatted with currency symbol.')\n                          .optional(),\n                      })\n                      .describe('Taxable amount of this line item.')\n                      .optional(),\n                    taxRate: z\n                      .string()\n                      .describe(\n                        'Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`.'\n                      )\n                      .optional(),\n                    totalTax: z\n                      .object({\n                        amount: z.string().describe('Amount.').optional(),\n                        formattedAmount: z\n                          .string()\n                          .describe('Amount formatted with currency symbol.')\n                          .optional(),\n                      })\n                      .describe(\n                        'The calculated tax, based on the `taxableAmount` and `taxRate`.'\n                      )\n                      .optional(),\n                  })\n                  .describe('Tax details.')\n                  .optional(),\n                taxInfo: z\n                  .object({\n                    taxAmount: z\n                      .object({\n                        amount: z.string().describe('Amount.').optional(),\n                        formattedAmount: z\n                          .string()\n                          .describe('Amount formatted with currency symbol.')\n                          .optional(),\n                      })\n                      .describe(\n                        'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n                      )\n                      .optional(),\n                    taxableAmount: z\n                      .object({\n                        amount: z.string().describe('Amount.').optional(),\n                        formattedAmount: z\n                          .string()\n                          .describe('Amount formatted with currency symbol.')\n                          .optional(),\n                      })\n                      .describe('Amount for which tax is calculated.')\n                      .optional(),\n                    taxRate: z\n                      .string()\n                      .describe('Tax rate %, as a decimal point.')\n                      .optional()\n                      .nullable(),\n                    taxGroupId: z\n                      .string()\n                      .describe('Tax group 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                    taxIncludedInPrice: z\n                      .boolean()\n                      .describe(\n                        'Indicates whether the price already includes tax.'\n                      )\n                      .optional(),\n                    taxBreakdown: z\n                      .array(\n                        z.object({\n                          jurisdiction: z\n                            .string()\n                            .describe(\n                              'Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\".'\n                            )\n                            .max(200)\n                            .optional()\n                            .nullable(),\n                          rate: z\n                            .string()\n                            .describe(\n                              'Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.'\n                            )\n                            .optional()\n                            .nullable(),\n                          taxAmount: z\n                            .object({\n                              amount: z.string().describe('Amount.').optional(),\n                              formattedAmount: z\n                                .string()\n                                .describe(\n                                  'Amount formatted with currency symbol.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Amount of tax calculated for this line item.'\n                            )\n                            .optional(),\n                          taxType: z\n                            .string()\n                            .describe(\n                              'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n                            )\n                            .max(200)\n                            .optional()\n                            .nullable(),\n                          taxName: z\n                            .string()\n                            .describe(\n                              'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n                            )\n                            .max(200)\n                            .optional()\n                            .nullable(),\n                          jurisdictionType: z\n                            .enum([\n                              'UNDEFINED',\n                              'COUNTRY',\n                              'STATE',\n                              'COUNTY',\n                              'CITY',\n                              'SPECIAL',\n                            ])\n                            .describe(\n                              'Type of jurisdiction that taxes were calculated for.'\n                            )\n                            .optional(),\n                          nonTaxableAmount: z\n                            .object({\n                              amount: z.string().describe('Amount.').optional(),\n                              formattedAmount: z\n                                .string()\n                                .describe(\n                                  'Amount formatted with currency symbol.'\n                                )\n                                .optional(),\n                            })\n                            .describe(\n                              'Non-taxable amount of the line item price.'\n                            )\n                            .optional(),\n                          taxableAmount: z\n                            .object({\n                              amount: z.string().describe('Amount.').optional(),\n                              formattedAmount: z\n                                .string()\n                                .describe(\n                                  'Amount formatted with currency symbol.'\n                                )\n                                .optional(),\n                            })\n                            .describe('Taxable amount of the line item price.')\n                            .optional(),\n                        })\n                      )\n                      .max(7)\n                      .optional(),\n                  })\n                  .describe(\n                    'Represents all the relevant tax details for a shipping.'\n                  )\n                  .optional(),\n                discount: z\n                  .object({\n                    amount: z.string().describe('Amount.').optional(),\n                    formattedAmount: z\n                      .string()\n                      .describe('Amount formatted with currency symbol.')\n                      .optional(),\n                  })\n                  .describe('Shipping discount before tax.')\n                  .optional(),\n              })\n              .describe('Shipping costs.')\n              .optional(),\n            region: z\n              .object({\n                name: z\n                  .string()\n                  .describe(\n                    'Name of shipping region. For example, `\"Metropolitan London\"`, or `\"Outer Melbourne suburbs\"`.'\n                  )\n                  .max(100)\n                  .optional()\n                  .nullable(),\n              })\n              .describe('Shipping region.')\n              .optional(),\n          })\n          .describe('Shipping info and selected shipping option details.')\n          .optional(),\n        appliedDiscounts: z\n          .array(\n            z.intersection(\n              z.object({\n                discountType: z\n                  .enum(['GLOBAL', 'SPECIFIC_ITEMS', 'SHIPPING'])\n                  .optional(),\n                lineItemIds: z.array(z.string()).min(0).max(300).optional(),\n                _id: z\n                  .string()\n                  .describe('Discount 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                lineItemDiscounts: z\n                  .array(\n                    z.object({\n                      _id: z\n                        .string()\n                        .describe('Line 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                      totalDiscount: z\n                        .object({\n                          amount: z.string().describe('Amount.').optional(),\n                          formattedAmount: z\n                            .string()\n                            .describe('Amount formatted with currency symbol.')\n                            .optional(),\n                        })\n                        .describe('Total discount amount for this line item.')\n                        .optional(),\n                    })\n                  )\n                  .max(300)\n                  .optional(),\n              }),\n              z.xor([\n                z.object({\n                  coupon: z.never().optional(),\n                  merchantDiscount: z.never().optional(),\n                  discountRule: z.never().optional(),\n                }),\n                z.object({\n                  merchantDiscount: z.never().optional(),\n                  discountRule: z.never().optional(),\n                  coupon: z\n                    .object({\n                      _id: z.string().describe('Coupon ID.').optional(),\n                      code: z.string().describe('Coupon code.').optional(),\n                      name: z.string().describe('Coupon name.').optional(),\n                      amount: z\n                        .object({\n                          amount: z.string().describe('Amount.').optional(),\n                          formattedAmount: z\n                            .string()\n                            .describe('Amount formatted with currency symbol.')\n                            .optional(),\n                        })\n                        .describe('Coupon value.')\n                        .optional(),\n                    })\n                    .describe('Coupon applied by the customer.'),\n                }),\n                z.object({\n                  coupon: z.never().optional(),\n                  discountRule: z.never().optional(),\n                  merchantDiscount: z\n                    .intersection(\n                      z.object({\n                        amount: z\n                          .object({\n                            amount: z.string().describe('Amount.').optional(),\n                            formattedAmount: z\n                              .string()\n                              .describe(\n                                'Amount formatted with currency symbol.'\n                              )\n                              .optional(),\n                          })\n                          .describe('Discount amount.')\n                          .optional(),\n                      }),\n                      z.xor([\n                        z.object({\n                          discountReason: z.never().optional(),\n                          description: z.never().optional(),\n                        }),\n                        z.object({\n                          description: z.never().optional(),\n                          discountReason: z\n                            .enum([\n                              'UNSPECIFIED',\n                              'EXCHANGED_ITEMS',\n                              'BILLING_ADJUSTMENT',\n                            ])\n                            .describe('Predefined discount reason.'),\n                        }),\n                        z.object({\n                          discountReason: z.never().optional(),\n                          description: z\n                            .string()\n                            .describe(\n                              'Custom discount description as free text.'\n                            )\n                            .max(200),\n                        }),\n                      ])\n                    )\n                    .describe('Discount applied manually by the merchant.'),\n                }),\n                z.object({\n                  coupon: z.never().optional(),\n                  merchantDiscount: z.never().optional(),\n                  discountRule: z\n                    .object({\n                      _id: z\n                        .string()\n                        .describe('Discount rule 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                      name: z\n                        .object({\n                          original: z\n                            .string()\n                            .describe(\n                              \"Original discount rule name (in site's default language).\"\n                            )\n                            .min(1)\n                            .max(256)\n                            .optional(),\n                          translated: z\n                            .string()\n                            .describe(\n                              'Translated discount rule name according to buyer language. Defaults to `original` when not provided.'\n                            )\n                            .min(1)\n                            .max(500)\n                            .optional()\n                            .nullable(),\n                        })\n                        .describe('Discount rule name')\n                        .optional(),\n                      amount: z\n                        .object({\n                          amount: z.string().describe('Amount.').optional(),\n                          formattedAmount: z\n                            .string()\n                            .describe('Amount formatted with currency symbol.')\n                            .optional(),\n                        })\n                        .describe('Discount value.')\n                        .optional(),\n                    })\n                    .describe(\n                      'Automatic discount applied by the system based on configured discount rules.'\n                    ),\n                }),\n              ])\n            )\n          )\n          .optional(),\n        channelInfo: z\n          .object({\n            type: z\n              .enum([\n                'UNSPECIFIED',\n                'WEB',\n                'POS',\n                'EBAY',\n                'AMAZON',\n                'OTHER_PLATFORM',\n                'WIX_APP_STORE',\n                'WIX_INVOICES',\n                'BACKOFFICE_MERCHANT',\n                'WISH',\n                'CLASS_PASS',\n                'GLOBAL_E',\n                'FACEBOOK',\n                'ETSY',\n                'TIKTOK',\n                'FAIRE_COM',\n                'PAYPAL_AGENTIC_CHECKOUT',\n                'STRIPE_AGENTIC_CHECKOUT',\n              ])\n              .describe(\n                'Sales channel that submitted the order.\\n\\nWhen creating an order via the API to record an external order, use the channel type that matches the original source. If no matching type exists, use `OTHER_PLATFORM`.'\n              )\n              .optional(),\n            externalOrderId: z\n              .string()\n              .describe(\n                'Reference to an order ID from an external system. Relevant when recording orders from external platforms.'\n              )\n              .max(100)\n              .optional()\n              .nullable(),\n            externalOrderUrl: z\n              .string()\n              .describe(\n                'URL to the order in the external system. Relevant when recording orders from external platforms.'\n              )\n              .max(300)\n              .optional()\n              .nullable(),\n          })\n          .describe(\n            'Information about the sales channel that submitted this order.'\n          )\n          .optional(),\n        customFields: z\n          .array(\n            z.object({\n              value: z\n                .any()\n                .describe('Custom field value.')\n                .optional()\n                .nullable(),\n              title: z\n                .string()\n                .describe('Custom field title.')\n                .min(1)\n                .max(500)\n                .optional(),\n              translatedTitle: z\n                .string()\n                .describe('Translated custom field title.')\n                .min(1)\n                .max(500)\n                .optional()\n                .nullable(),\n            })\n          )\n          .optional(),\n        recipientInfo: z\n          .object({\n            address: z\n              .object({\n                streetAddress: z\n                  .object({\n                    name: z.string().optional(),\n                    number: z.string().optional(),\n                  })\n                  .optional(),\n                city: z.string().optional().nullable(),\n                subdivision: z.string().optional().nullable(),\n                country: z.string().optional().nullable(),\n                postalCode: z.string().optional().nullable(),\n                addressLine2: z.string().optional().nullable(),\n              })\n              .describe('Address.')\n              .optional(),\n            contactDetails: z\n              .object({\n                firstName: z\n                  .string()\n                  .describe('First name.')\n                  .max(100)\n                  .optional()\n                  .nullable(),\n                lastName: z\n                  .string()\n                  .describe('Last name.')\n                  .max(100)\n                  .optional()\n                  .nullable(),\n                phone: z\n                  .string()\n                  .describe('Phone number.')\n                  .optional()\n                  .nullable(),\n                company: z\n                  .string()\n                  .describe('Company name.')\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n                vatId: z\n                  .object({\n                    _id: z.string().describe(\"Customer's tax ID.\").optional(),\n                    type: z\n                      .enum(['UNSPECIFIED', 'CPF', 'CNPJ'])\n                      .describe(\n                        'Tax type.\\n\\nSupported values:\\n+ `CPF`: for individual tax payers\\n+ `CNPJ`: for corporations'\n                      )\n                      .optional(),\n                  })\n                  .describe(\n                    'Tax information (for Brazil only). If ID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.'\n                  )\n                  .optional(),\n              })\n              .describe('Contact details.')\n              .optional(),\n          })\n          .describe(\n            'Order recipient address and contact details.\\n\\nThis field may differ from the address in `shippingInfo.logistics` when:\\n+ The chosen shipping option is pickup point or store pickup.\\n+ No shipping option is selected.'\n          )\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 subscription contract object.\\n\\n[Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the [app dashboard](https://dev.wix.com/dc3/my-apps/) before they can be accessed with API calls.'\n          )\n          .optional(),\n        title: z\n          .string()\n          .describe(\n            'Subscription option title. For example, `\"Monthly coffee Subscription\"`.'\n          )\n          .min(0)\n          .max(150)\n          .optional()\n          .nullable(),\n        additionalFees: z\n          .array(\n            z.object({\n              code: z\n                .string()\n                .describe(\"Additional fee's unique code for future processing.\")\n                .min(1)\n                .max(100)\n                .optional()\n                .nullable(),\n              name: z\n                .string()\n                .describe('Name of additional fee.')\n                .min(1)\n                .max(50)\n                .optional(),\n              price: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\"Additional fee's price.\")\n                .optional(),\n              taxDetails: z\n                .object({\n                  taxableAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Taxable amount of this line item.')\n                    .optional(),\n                  taxRate: z\n                    .string()\n                    .describe(\n                      'Tax rate percentage, as a decimal numeral between 0 and 1. For example, `\"0.13\"`.'\n                    )\n                    .optional(),\n                  totalTax: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe(\n                      'The calculated tax, based on the `taxableAmount` and `taxRate`.'\n                    )\n                    .optional(),\n                })\n                .describe('Tax details.')\n                .optional(),\n              taxInfo: z\n                .object({\n                  taxAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe(\n                      'Calculated tax, based on `taxable_amount` and `tax_rate`.'\n                    )\n                    .optional(),\n                  taxableAmount: z\n                    .object({\n                      amount: z.string().describe('Amount.').optional(),\n                      formattedAmount: z\n                        .string()\n                        .describe('Amount formatted with currency symbol.')\n                        .optional(),\n                    })\n                    .describe('Amount for which tax is calculated.')\n                    .optional(),\n                  taxRate: z\n                    .string()\n                    .describe('Tax rate %, as a decimal point.')\n                    .optional()\n                    .nullable(),\n                  taxGroupId: z\n                    .string()\n                    .describe('Tax group 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                  taxIncludedInPrice: z\n                    .boolean()\n                    .describe(\n                      'Indicates whether the price already includes tax.'\n                    )\n                    .optional(),\n                  taxBreakdown: z\n                    .array(\n                      z.object({\n                        jurisdiction: z\n                          .string()\n                          .describe(\n                            'Jurisdiction that taxes were calculated for. For example, \"New York\", or \"Quebec\".'\n                          )\n                          .max(200)\n                          .optional()\n                          .nullable(),\n                        rate: z\n                          .string()\n                          .describe(\n                            'Tax rate used for this jurisdiction, as a decimal. For example, 10% tax is 0.1000.'\n                          )\n                          .optional()\n                          .nullable(),\n                        taxAmount: z\n                          .object({\n                            amount: z.string().describe('Amount.').optional(),\n                            formattedAmount: z\n                              .string()\n                              .describe(\n                                'Amount formatted with currency symbol.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Amount of tax calculated for this line item.'\n                          )\n                          .optional(),\n                        taxType: z\n                          .string()\n                          .describe(\n                            'The type of tax that was calculated. Depends on the jurisdiction\\'s tax laws. For example, \"Sales Tax\", \"Income Tax\", \"Value Added Tax\", etc.'\n                          )\n                          .max(200)\n                          .optional()\n                          .nullable(),\n                        taxName: z\n                          .string()\n                          .describe(\n                            'The name of the tax against which this tax amount was calculated. For example, \"NY State Sales Tax\", \"Quebec GST\", etc.\\nThis name should be explicit enough to allow the merchant to understand what tax was calculated.'\n                          )\n                          .max(200)\n                          .optional()\n                          .nullable(),\n                        jurisdictionType: z\n                          .enum([\n                            'UNDEFINED',\n                            'COUNTRY',\n                            'STATE',\n                            'COUNTY',\n                            'CITY',\n                            'SPECIAL',\n                          ])\n                          .describe(\n                            'Type of jurisdiction that taxes were calculated for.'\n                          )\n                          .optional(),\n                        nonTaxableAmount: z\n                          .object({\n                            amount: z.string().describe('Amount.').optional(),\n                            formattedAmount: z\n                              .string()\n                              .describe(\n                                'Amount formatted with currency symbol.'\n                              )\n                              .optional(),\n                          })\n                          .describe(\n                            'Non-taxable amount of the line item price.'\n                          )\n                          .optional(),\n                        taxableAmount: z\n                          .object({\n                            amount: z.string().describe('Amount.').optional(),\n                            formattedAmount: z\n                              .string()\n                              .describe(\n                                'Amount formatted with currency symbol.'\n                              )\n                              .optional(),\n                          })\n                          .describe('Taxable amount of the line item price.')\n                          .optional(),\n                      })\n                    )\n                    .max(7)\n                    .optional(),\n                })\n                .describe(\n                  'Represents all the relevant tax details for additional fee.'\n                )\n                .optional(),\n              providerAppId: z\n                .string()\n                .describe(\"SPI implementer's `appId`.\")\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              priceBeforeTax: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\"Additional fee's price before tax.\")\n                .optional(),\n              priceAfterTax: z\n                .object({\n                  amount: z.string().describe('Amount.').optional(),\n                  formattedAmount: z\n                    .string()\n                    .describe('Amount formatted with currency symbol.')\n                    .optional(),\n                })\n                .describe(\"Additional fee's price after tax.\")\n                .optional(),\n              _id: z\n                .string()\n                .describe(\"Additional fee's 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              lineItemIds: z.array(z.string()).optional(),\n              source: z\n                .enum([\n                  'SERVICE_PLUGIN',\n                  'ITEM',\n                  'MANUAL',\n                  'SHIPPING',\n                  'PLATFORM',\n                ])\n                .describe('Specifies the entity that added the additional fee.')\n                .optional(),\n            })\n          )\n          .max(100)\n          .optional(),\n      })\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('Number of items returned in the 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          '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});\n"],"mappings":";AAAA,YAAY,OAAO;AAEZ,IAAM,iCAAmC,SAAO;AAAA,EACrD,wBACG,SAAO,EACP,SAAS,6CAA6C,EACtD;AAAA,IACC;AAAA,IACA;AAAA,EACF;AACJ,CAAC;AACM,IAAM,kCAAoC,SAAO;AAAA,EACtD,KACG,SAAO,EACP,SAAS,0BAA0B,EACnC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,SAAS,EACT,SAAS;AAAA,EACZ,UACG,SAAO,EACP,MAAM,WAAW,8BAA8B,EAC/C;AAAA,IACC;AAAA,EACF,EACC,SAAS,EACT,SAAS;AAAA,EACZ,cACG,OAAK,EACL;AAAA,IACC;AAAA,EACF,EACC,SAAS,EACT,SAAS;AAAA,EACZ,cACG,OAAK,EACL;AAAA,IACC;AAAA,EACF,EACC,SAAS,EACT,SAAS;AAAA,EACZ,aACG,SAAO,EACP;AAAA,IACC;AAAA,EACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,EACZ,sBACG,SAAO;AAAA,IACN,WACG,OAAK,CAAC,aAAa,OAAO,QAAQ,SAAS,MAAM,CAAC,EAClD,SAAS,iCAAiC,EAC1C,SAAS;AAAA,IACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,MACC;AAAA,IACF,EACC,IAAI,CAAC,EACL,IAAI,IAAI,EACR,SAAS,EACT,SAAS;AAAA,IACZ,aACG,UAAQ,EACR;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,MACC;AAAA,IACF,EACC,IAAI,CAAC,EACL,SAAS,EACT,SAAS;AAAA,IACZ,4BACG,UAAQ,EACR,SAAS,2DAA2D,EACpE,SAAS;AAAA,IACZ,iBACG,SAAO;AAAA,MACN,WACG,OAAK,CAAC,aAAa,OAAO,QAAQ,SAAS,MAAM,CAAC,EAClD,SAAS,qDAAqD,EAC9D,SAAS;AAAA,MACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,IAAI,EACR,SAAS;AAAA,IACd,CAAC,EACA,SAAS,2DAA2D,EACpE,SAAS;AAAA,EACd,CAAC,EACA,SAAS,oCAAoC,EAC7C,SAAS;AAAA,EACZ,WACG;AAAA,IACG,SAAO;AAAA,MACP,KAAO,SAAO,EAAE,SAAS,eAAe,EAAE,SAAS;AAAA,MACnD,aACG,SAAO;AAAA,QACN,UACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,QACZ,YACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,kBACG,SAAO;AAAA,QACN,eACG,SAAO,EACP,SAAS,kDAAkD,EAC3D,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,QACZ,OACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,QACZ,SACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,UACG,SAAO,EACP,IAAI,EACJ,SAAS,qBAAqB,EAC9B,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS;AAAA,MACZ,eACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,sDAAsD,EAC/D,SAAS;AAAA,MACZ,kBACG;AAAA,QACG;AAAA,UACE,SAAO;AAAA,YACP,MACG,SAAO;AAAA,cACN,UACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,cACZ,YACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACd,CAAC,EACA,SAAS,wBAAwB,EACjC,SAAS;AAAA,UACd,CAAC;AAAA,UACC,MAAI;AAAA,YACF,SAAO;AAAA,cACP,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,WAAa,QAAM,EAAE,SAAS;AAAA,YAChC,CAAC;AAAA,YACC,SAAO;AAAA,cACP,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,WACG,SAAO;AAAA,gBACN,UACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,gBACZ,YACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA,SAAS,oCAAoC;AAAA,YAClD,CAAC;AAAA,YACC,SAAO;AAAA,cACP,WAAa,QAAM,EAAE,SAAS;AAAA,cAC9B,WACG,SAAO;AAAA,gBACN,UACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,gBACZ,YACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,MACG,SAAO,EACP,SAAS,oCAAoC,EAC7C,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA,SAAS,+BAA+B;AAAA,YAC7C,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,MACZ,OAAS,SAAO,EAAE,SAAS,kBAAkB,EAAE,SAAS;AAAA,MACxD,oBACG,SAAO;AAAA,QACN,QACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,KACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,QACZ,WACG,UAAQ,EACR,SAAS,sCAAsC,EAC/C,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,UACG;AAAA,QACG,SAAO,CAAC,CAAC;AAAA,QACT,MAAI;AAAA,UACF,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,UAC7B,CAAC;AAAA,UACC,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QACG,OAAK;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC,EACA,SAAS,mBAAmB;AAAA,UACjC,CAAC;AAAA,UACC,SAAO;AAAA,YACP,QAAU,QAAM,EAAE,SAAS;AAAA,YAC3B,QACG,SAAO,EACP;AAAA,cACC;AAAA,YACF;AAAA,UACJ,CAAC;AAAA,QACH,CAAC;AAAA,MACH,EACC,SAAS,4CAA4C,EACrD,SAAS;AAAA,MACZ,aACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,gBACG,SAAO,EACP,IAAI,EACJ,SAAS,qCAAqC,EAC9C,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,MACZ,iBACG,SAAO,EACP,IAAI,EACJ;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,MACZ,OACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,sBACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,qBACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,8CAA8C,EACvD,SAAS;AAAA,MACZ,oBACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,MACZ,eACG,OAAK;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,YACG,SAAO;AAAA,QACN,eACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,QACZ,SACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,UACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,SACG,SAAO;AAAA,QACN,WACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,eACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,qCAAqC,EAC9C,SAAS;AAAA,QACZ,SACG,SAAO,EACP,SAAS,iCAAiC,EAC1C,SAAS,EACT,SAAS;AAAA,QACZ,YACG,SAAO,EACP,SAAS,eAAe,EACxB;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,oBACG,UAAQ,EACR,SAAS,mDAAmD,EAC5D,SAAS;AAAA,QACZ,cACG;AAAA,UACG,SAAO;AAAA,YACP,cACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,MACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,WACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,8CAA8C,EACvD,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,kBACG,OAAK;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,kBACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,4CAA4C,EACrD,SAAS;AAAA,YACZ,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC;AAAA,QACH,EACC,IAAI,CAAC,EACL,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,aACG,SAAO;AAAA,QACN,QACG,SAAO,EACP,SAAS,iCAAiC,EAC1C,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,QACZ,MACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,EACJ,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,QACZ,gBACG,OAAK,EACL,SAAS,gCAAgC,EACzC,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,kBACG,SAAO;AAAA,QACN,KACG,SAAO,EACP,SAAS,kBAAkB,EAC3B;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,aACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,QACZ,yBACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,QACZ,+BACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,sBACG,SAAO;AAAA,UACN,WACG,OAAK,CAAC,aAAa,OAAO,QAAQ,SAAS,MAAM,CAAC,EAClD,SAAS,iCAAiC,EAC1C,SAAS;AAAA,UACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,IAAI,EACR,SAAS,EACT,SAAS;AAAA,UACZ,aACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,SAAS,EACT,SAAS;AAAA,UACZ,4BACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,iBACG,SAAO;AAAA,YACN,WACG,OAAK,CAAC,aAAa,OAAO,QAAQ,SAAS,MAAM,CAAC,EAClD;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,IAAI,EACR,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA,SAAS,oCAAoC,EAC7C,SAAS;AAAA,QACZ,oBACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA,SAAS,oBAAoB,EAC7B,SAAS;AAAA,MACZ,kBACG,SAAO;AAAA,QACN,UACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,QACZ,YACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,eACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,WACG;AAAA,QACG,SAAO;AAAA,UACP,KACG,SAAO,EACP,SAAS,0CAA0C,EACnD;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,UACZ,OACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,IAAI,EACJ,SAAS,iCAAiC,EAC1C,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS;AAAA,UACZ,MACG,SAAO,EACP,SAAS,gBAAgB,EACzB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACd,CAAC;AAAA,MACH,EACC,IAAI,CAAC,EACL,IAAI,CAAC,EACL,SAAS;AAAA,MACZ,eACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,gBACG;AAAA,QACG,SAAO,CAAC,CAAC;AAAA,QACT,MAAI;AAAA,UACF,SAAO,EAAE,aAAe,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,UAC5C,SAAO;AAAA,YACP,aACG,OAAK,CAAC,YAAY,WAAW,UAAU,CAAC,EACxC;AAAA,cACC;AAAA,YACF;AAAA,UACJ,CAAC;AAAA,QACH,CAAC;AAAA,MACH,EACC,SAAS,mCAAmC,EAC5C,SAAS;AAAA,MACZ,mBACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,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,MACZ,gBACG;AAAA,QACG,SAAO;AAAA,UACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,UACZ,MACG,SAAO;AAAA,YACN,UACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,YACZ,YACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,sBAAsB,EAC/B,SAAS;AAAA,UACZ,WACG;AAAA,YACG,SAAO;AAAA,cACP,KACG,SAAO,EACP,SAAS,cAAc,EACvB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,cACZ,UACG,SAAO,EACP,IAAI,EACJ,SAAS,gCAAgC,EACzC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,cACZ,OACG,SAAO;AAAA,gBACN,UACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,gBACZ,YACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,cACZ,SACG,SAAO;AAAA,gBACN,UACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,gBACZ,YACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA,SAAS,qBAAqB,EAC9B,SAAS;AAAA,cACZ,OACG,SAAO;AAAA,gBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,gBAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,cACd,CAAC,EACA,SAAS,4BAA4B,EACrC,SAAS;AAAA,YACd,CAAC;AAAA,UACH,EACC,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,QACd,CAAC;AAAA,MACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,EACZ,WACG;AAAA,IACG,SAAO;AAAA,MACP,WACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,OACG,SAAO,EACP,SAAS,wBAAwB,EACjC,MAAM,EACN,SAAS,EACT,SAAS;AAAA,IACd,CAAC;AAAA,IACC,MAAI;AAAA,MACF,SAAO;AAAA,QACP,WAAa,QAAM,EAAE,SAAS;AAAA,QAC9B,UAAY,QAAM,EAAE,SAAS;AAAA,MAC/B,CAAC;AAAA,MACC,SAAO;AAAA,QACP,UAAY,QAAM,EAAE,SAAS;AAAA,QAC7B,WACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF;AAAA,MACJ,CAAC;AAAA,MACC,SAAO;AAAA,QACP,WAAa,QAAM,EAAE,SAAS;AAAA,QAC9B,UACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC;AAAA,UACC;AAAA,UACA;AAAA,QACF;AAAA,MACJ,CAAC;AAAA,IACH,CAAC;AAAA,EACH,EACC,SAAS,oBAAoB,EAC7B,SAAS;AAAA,EACZ,eACG,SAAO,EACP;AAAA,IACC;AAAA,EACF,EACC,SAAS,EACT,SAAS;AAAA,EACZ,YACG,OAAK,CAAC,2BAA2B,MAAM,IAAI,CAAC,EAC5C,SAAS,2DAA2D,EACpE,SAAS;AAAA,EACZ,UACG,SAAO,EACP;AAAA,IACC;AAAA,EACF,EACC,SAAS,EACT,SAAS;AAAA,EACZ,2BACG,SAAO;AAAA,IACN,kBACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,IACZ,gBACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC,SAAS,EACT,SAAS;AAAA,EACd,CAAC,EACA;AAAA,IACC;AAAA,EACF,EACC,SAAS;AAAA,EACZ,qBACG,UAAQ,EACR;AAAA,IACC;AAAA,EACF,EACC,SAAS;AAAA,EACZ,cACG,SAAO;AAAA,IACN,UACG,SAAO;AAAA,MACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,MAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACd,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,UACG,SAAO;AAAA,MACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,MAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACd,CAAC,EACA,SAAS,wDAAwD,EACjE,SAAS;AAAA,IACZ,KACG,SAAO;AAAA,MACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,MAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACd,CAAC,EACA,SAAS,iCAAiC,EAC1C,SAAS;AAAA,IACZ,UACG,SAAO;AAAA,MACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,MAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACd,CAAC,EACA,SAAS,6CAA6C,EACtD,SAAS;AAAA,IACZ,OACG,SAAO;AAAA,MACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,MAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACd,CAAC,EACA,SAAS,8CAA8C,EACvD,SAAS;AAAA,IACZ,qBACG,SAAO;AAAA,MACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,MAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,EACd,CAAC,EACA,SAAS,sBAAsB,EAC/B,SAAS;AAAA,EACZ,oBACG,SAAO;AAAA,IACN,OACG,SAAO;AAAA,MACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,MAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACd,CAAC,EACA,SAAS,iCAAiC,EAC1C,SAAS;AAAA,IACZ,aACG,SAAO;AAAA,MACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,MAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACd,CAAC,EACA,SAAS,2DAA2D,EACpE,SAAS;AAAA,IACZ,eACG,SAAO;AAAA,MACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,MAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,IACd,CAAC,EACA,SAAS,4DAA4D,EACrE,SAAS;AAAA,IACZ,MACG;AAAA,MACG,SAAO;AAAA,QACP,MACG,SAAO;AAAA,UACN,UACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,UACZ,YACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,oBAAoB,EAC7B,SAAS;AAAA,QACZ,QACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,sBAAsB,EAC/B,SAAS;AAAA,QACZ,YACG,SAAO,EACP,SAAS,kDAAkD,EAC3D;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS;AAAA,QACZ,YACG,OAAK,CAAC,WAAW,UAAU,CAAC,EAC5B,SAAS,2BAA2B,EACpC,SAAS;AAAA,QACZ,gBACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC;AAAA,IACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,EACd,CAAC,EACA;AAAA,IACC;AAAA,EACF,EACC,SAAS;AAAA,EACZ,aACG,SAAO;AAAA,IACN,SACG,SAAO;AAAA,MACN,eACG,SAAO;AAAA,QACN,MAAQ,SAAO,EAAE,SAAS;AAAA,QAC1B,QAAU,SAAO,EAAE,SAAS;AAAA,MAC9B,CAAC,EACA,SAAS;AAAA,MACZ,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,IAC/C,CAAC,EACA,SAAS,UAAU,EACnB,SAAS;AAAA,IACZ,gBACG,SAAO;AAAA,MACN,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,UACG,SAAO,EACP,SAAS,YAAY,EACrB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,OAAS,SAAO,EAAE,SAAS,eAAe,EAAE,SAAS,EAAE,SAAS;AAAA,MAChE,SACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,MACZ,OACG,SAAO;AAAA,QACN,KAAO,SAAO,EAAE,SAAS,oBAAoB,EAAE,SAAS;AAAA,QACxD,MACG,OAAK,CAAC,eAAe,OAAO,MAAM,CAAC,EACnC;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,EACd,CAAC,EACA,SAAS,sCAAsC,EAC/C,SAAS;AAAA,EACZ,cACG,SAAO;AAAA,IACN,WACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,IACZ,MACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,IACZ,OACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,IACZ,WACG;AAAA,MACG,SAAO;AAAA,QACP,cACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,cACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,QACZ,eACG,OAAK,EACL;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,kBACG,SAAO;AAAA,UACN,MACG,OAAK,EACL,SAAS,8BAA8B,EACvC,SAAS,EACT,SAAS;AAAA,UACZ,IACG,OAAK,EACL,SAAS,4BAA4B,EACrC,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,uDAAuD,EAChE,SAAS;AAAA,MACd,CAAC;AAAA,MACC,MAAI;AAAA,QACF,SAAO;AAAA,UACP,qBAAuB,QAAM,EAAE,SAAS;AAAA,UACxC,eAAiB,QAAM,EAAE,SAAS;AAAA,QACpC,CAAC;AAAA,QACC,SAAO;AAAA,UACP,eAAiB,QAAM,EAAE,SAAS;AAAA,UAClC,qBACG,SAAO;AAAA,YACN,SACG,SAAO;AAAA,cACN,eACG,SAAO;AAAA,gBACN,MAAQ,SAAO,EAAE,SAAS;AAAA,gBAC1B,QAAU,SAAO,EAAE,SAAS;AAAA,cAC9B,CAAC,EACA,SAAS;AAAA,cACZ,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,cACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,cAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,cACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,cAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,YAC/C,CAAC,EACA,SAAS,UAAU,EACnB,SAAS;AAAA,YACZ,gBACG,SAAO;AAAA,cACN,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACZ,UACG,SAAO,EACP,SAAS,YAAY,EACrB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACZ,OACG,SAAO,EACP,SAAS,eAAe,EACxB,SAAS,EACT,SAAS;AAAA,cACZ,SACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,cACZ,OACG,SAAO;AAAA,gBACN,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B,SAAS;AAAA,gBACZ,MACG,OAAK,CAAC,eAAe,OAAO,MAAM,CAAC,EACnC;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,YACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF;AAAA,QACJ,CAAC;AAAA,QACC,SAAO;AAAA,UACP,qBAAuB,QAAM,EAAE,SAAS;AAAA,UACxC,eACG,SAAO;AAAA,YACN,SACG,SAAO;AAAA,cACN,eACG,SAAO;AAAA,gBACN,MAAQ,SAAO,EAAE,SAAS;AAAA,gBAC1B,QAAU,SAAO,EAAE,SAAS;AAAA,cAC9B,CAAC,EACA,SAAS;AAAA,cACZ,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,cACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,cAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,cACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,cAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,YAC/C,CAAC,EACA,SAAS,iBAAiB,EAC1B,SAAS;AAAA,YACZ,cACG,OAAK,CAAC,gBAAgB,cAAc,CAAC,EACrC,SAAS,eAAe,EACxB,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF;AAAA,QACJ,CAAC;AAAA,MACH,CAAC;AAAA,IACH,EACC,SAAS,qBAAqB,EAC9B,SAAS;AAAA,IACZ,MACG,SAAO;AAAA,MACN,OACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,sCAAsC,EAC/C,SAAS;AAAA,MACZ,qBACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,oBACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,YACG,SAAO;AAAA,QACN,eACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,QACZ,SACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,UACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC,EACA,SAAS,cAAc,EACvB,SAAS;AAAA,MACZ,SACG,SAAO;AAAA,QACN,WACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,eACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,qCAAqC,EAC9C,SAAS;AAAA,QACZ,SACG,SAAO,EACP,SAAS,iCAAiC,EAC1C,SAAS,EACT,SAAS;AAAA,QACZ,YACG,SAAO,EACP,SAAS,eAAe,EACxB;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,oBACG,UAAQ,EACR,SAAS,mDAAmD,EAC5D,SAAS;AAAA,QACZ,cACG;AAAA,UACG,SAAO;AAAA,YACP,cACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,MACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,WACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,8CAA8C,EACvD,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,kBACG,OAAK;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,kBACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,4CAA4C,EACrD,SAAS;AAAA,YACZ,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC;AAAA,QACH,EACC,IAAI,CAAC,EACL,SAAS;AAAA,MACd,CAAC,EACA,SAAS,yDAAyD,EAClE,SAAS;AAAA,MACZ,UACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,+BAA+B,EACxC,SAAS;AAAA,IACd,CAAC,EACA,SAAS,iBAAiB,EAC1B,SAAS;AAAA,IACZ,QACG,SAAO;AAAA,MACN,MACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,IACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,EACd,CAAC,EACA,SAAS,qDAAqD,EAC9D,SAAS;AAAA,EACZ,kBACG;AAAA,IACG;AAAA,MACE,SAAO;AAAA,QACP,cACG,OAAK,CAAC,UAAU,kBAAkB,UAAU,CAAC,EAC7C,SAAS;AAAA,QACZ,aAAe,QAAQ,SAAO,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,QAC1D,KACG,SAAO,EACP,SAAS,cAAc,EACvB;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,mBACG;AAAA,UACG,SAAO;AAAA,YACP,KACG,SAAO,EACP,SAAS,eAAe,EACxB;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS;AAAA,YACZ,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,2CAA2C,EACpD,SAAS;AAAA,UACd,CAAC;AAAA,QACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,MACd,CAAC;AAAA,MACC,MAAI;AAAA,QACF,SAAO;AAAA,UACP,QAAU,QAAM,EAAE,SAAS;AAAA,UAC3B,kBAAoB,QAAM,EAAE,SAAS;AAAA,UACrC,cAAgB,QAAM,EAAE,SAAS;AAAA,QACnC,CAAC;AAAA,QACC,SAAO;AAAA,UACP,kBAAoB,QAAM,EAAE,SAAS;AAAA,UACrC,cAAgB,QAAM,EAAE,SAAS;AAAA,UACjC,QACG,SAAO;AAAA,YACN,KAAO,SAAO,EAAE,SAAS,YAAY,EAAE,SAAS;AAAA,YAChD,MAAQ,SAAO,EAAE,SAAS,cAAc,EAAE,SAAS;AAAA,YACnD,MAAQ,SAAO,EAAE,SAAS,cAAc,EAAE,SAAS;AAAA,YACnD,QACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,eAAe,EACxB,SAAS;AAAA,UACd,CAAC,EACA,SAAS,iCAAiC;AAAA,QAC/C,CAAC;AAAA,QACC,SAAO;AAAA,UACP,QAAU,QAAM,EAAE,SAAS;AAAA,UAC3B,cAAgB,QAAM,EAAE,SAAS;AAAA,UACjC,kBACG;AAAA,YACG,SAAO;AAAA,cACP,QACG,SAAO;AAAA,gBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,gBAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,cACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,YACd,CAAC;AAAA,YACC,MAAI;AAAA,cACF,SAAO;AAAA,gBACP,gBAAkB,QAAM,EAAE,SAAS;AAAA,gBACnC,aAAe,QAAM,EAAE,SAAS;AAAA,cAClC,CAAC;AAAA,cACC,SAAO;AAAA,gBACP,aAAe,QAAM,EAAE,SAAS;AAAA,gBAChC,gBACG,OAAK;AAAA,kBACJ;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF,CAAC,EACA,SAAS,6BAA6B;AAAA,cAC3C,CAAC;AAAA,cACC,SAAO;AAAA,gBACP,gBAAkB,QAAM,EAAE,SAAS;AAAA,gBACnC,aACG,SAAO,EACP,SAAS,2CAA2C,EACpD,IAAI,GAAG;AAAA,cACZ,CAAC;AAAA,YACH,CAAC;AAAA,UACH,EACC,SAAS,4CAA4C;AAAA,QAC1D,CAAC;AAAA,QACC,SAAO;AAAA,UACP,QAAU,QAAM,EAAE,SAAS;AAAA,UAC3B,kBAAoB,QAAM,EAAE,SAAS;AAAA,UACrC,cACG,SAAO;AAAA,YACN,KACG,SAAO,EACP,SAAS,kBAAkB,EAC3B;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS;AAAA,YACZ,MACG,SAAO;AAAA,cACN,UACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,cACZ,YACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACd,CAAC,EACA,SAAS,oBAAoB,EAC7B,SAAS;AAAA,YACZ,QACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,iBAAiB,EAC1B,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF;AAAA,QACJ,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF,EACC,SAAS;AAAA,EACZ,aACG,SAAO;AAAA,IACN,MACG,OAAK;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,EACA;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,IACZ,iBACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,IACZ,kBACG,SAAO,EACP;AAAA,MACC;AAAA,IACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,EACd,CAAC,EACA,SAAS,gEAAgE,EACzE,SAAS;AAAA,EACZ,cACG;AAAA,IACG,SAAO;AAAA,MACP,OAAS,MAAI,EAAE,SAAS,qBAAqB,EAAE,SAAS,EAAE,SAAS;AAAA,MACnE,OACG,SAAO,EACP,SAAS,qBAAqB,EAC9B,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,MACZ,iBACG,SAAO,EACP,SAAS,gCAAgC,EACzC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,SAAS;AAAA,EACZ,eACG,SAAO;AAAA,IACN,SACG,SAAO;AAAA,MACN,eACG,SAAO;AAAA,QACN,MAAQ,SAAO,EAAE,SAAS;AAAA,QAC1B,QAAU,SAAO,EAAE,SAAS;AAAA,MAC9B,CAAC,EACA,SAAS;AAAA,MACZ,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,IAC/C,CAAC,EACA,SAAS,UAAU,EACnB,SAAS;AAAA,IACZ,gBACG,SAAO;AAAA,MACN,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,UACG,SAAO,EACP,SAAS,YAAY,EACrB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,OAAS,SAAO,EAAE,SAAS,eAAe,EAAE,SAAS,EAAE,SAAS;AAAA,MAChE,SACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,MACZ,OACG,SAAO;AAAA,QACN,KAAO,SAAO,EAAE,SAAS,oBAAoB,EAAE,SAAS;AAAA,QACxD,MACG,OAAK,CAAC,eAAe,OAAO,MAAM,CAAC,EACnC;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,IACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,EACd,CAAC,EACA;AAAA,IACC;AAAA,EACF,EACC,SAAS;AAAA,EACZ,gBACG,SAAO;AAAA,IACN,YACG,SAAS,SAAO,GAAK,SAAS,SAAO,GAAK,MAAI,CAAC,CAAC,EAChD;AAAA,MACC;AAAA,IACF,EACC,SAAS;AAAA,EACd,CAAC,EACA;AAAA,IACC;AAAA,EACF,EACC,SAAS;AAAA,EACZ,OACG,SAAO,EACP;AAAA,IACC;AAAA,EACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,EACZ,gBACG;AAAA,IACG,SAAO;AAAA,MACP,MACG,SAAO,EACP,SAAS,qDAAqD,EAC9D,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,MACG,SAAO,EACP,SAAS,yBAAyB,EAClC,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,MACZ,OACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,yBAAyB,EAClC,SAAS;AAAA,MACZ,YACG,SAAO;AAAA,QACN,eACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,QACZ,SACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,UACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC,EACA,SAAS,cAAc,EACvB,SAAS;AAAA,MACZ,SACG,SAAO;AAAA,QACN,WACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,eACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,qCAAqC,EAC9C,SAAS;AAAA,QACZ,SACG,SAAO,EACP,SAAS,iCAAiC,EAC1C,SAAS,EACT,SAAS;AAAA,QACZ,YACG,SAAO,EACP,SAAS,eAAe,EACxB;AAAA,UACC;AAAA,UACA;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,oBACG,UAAQ,EACR,SAAS,mDAAmD,EAC5D,SAAS;AAAA,QACZ,cACG;AAAA,UACG,SAAO;AAAA,YACP,cACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,MACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,WACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,8CAA8C,EACvD,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,kBACG,OAAK;AAAA,cACJ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,kBACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,4CAA4C,EACrD,SAAS;AAAA,YACZ,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC;AAAA,QACH,EACC,IAAI,CAAC,EACL,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,eACG,SAAO,EACP,SAAS,4BAA4B,EACrC;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,gBACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,oCAAoC,EAC7C,SAAS;AAAA,MACZ,eACG,SAAO;AAAA,QACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,QAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,MACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,MACZ,KACG,SAAO,EACP,SAAS,sBAAsB,EAC/B;AAAA,QACC;AAAA,QACA;AAAA,MACF,EACC,SAAS;AAAA,MACZ,aAAe,QAAQ,SAAO,CAAC,EAAE,SAAS;AAAA,MAC1C,QACG,OAAK,CAAC,kBAAkB,QAAQ,UAAU,YAAY,UAAU,CAAC,EACjE,SAAS,qDAAqD,EAC9D,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,IAAI,GAAG,EACP,SAAS;AACd,CAAC;AACM,IAAM,oCAAsC,SAAO;AAAA,EACxD,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,CAAC,EACL,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,GAAG,EACP,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,qCAAuC,SAAO;AAAA,EACzD,uBACG;AAAA,IACG,SAAO;AAAA,MACP,KACG,SAAO,EACP,SAAS,0BAA0B,EACnC;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;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,cACG,OAAK,EACL;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,aACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,sBACG,SAAO;AAAA,QACN,WACG,OAAK,CAAC,aAAa,OAAO,QAAQ,SAAS,MAAM,CAAC,EAClD,SAAS,iCAAiC,EAC1C,SAAS;AAAA,QACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,IAAI,EACR,SAAS,EACT,SAAS;AAAA,QACZ,aACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,SAAS,EACT,SAAS;AAAA,QACZ,4BACG,UAAQ,EACR;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,iBACG,SAAO;AAAA,UACN,WACG,OAAK,CAAC,aAAa,OAAO,QAAQ,SAAS,MAAM,CAAC,EAClD;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,IAAI,EACR,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,MACd,CAAC,EACA,SAAS,oCAAoC,EAC7C,SAAS;AAAA,MACZ,WACG;AAAA,QACG,SAAO;AAAA,UACP,KAAO,SAAO,EAAE,SAAS,eAAe,EAAE,SAAS;AAAA,UACnD,aACG,SAAO;AAAA,YACN,UACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,YACZ,YACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,kBACG,SAAO;AAAA,YACN,eACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,YACZ,OACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,YACZ,SACG,SAAS,SAAO,GAAK,MAAI,CAAC,EAC1B;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,UACG,SAAO,EACP,IAAI,EACJ,SAAS,qBAAqB,EAC9B,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS;AAAA,UACZ,eACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,kBACG;AAAA,YACG;AAAA,cACE,SAAO;AAAA,gBACP,MACG,SAAO;AAAA,kBACN,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,kBACZ,YACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,wBAAwB,EACjC,SAAS;AAAA,cACd,CAAC;AAAA,cACC,MAAI;AAAA,gBACF,SAAO;AAAA,kBACP,WAAa,QAAM,EAAE,SAAS;AAAA,kBAC9B,WAAa,QAAM,EAAE,SAAS;AAAA,gBAChC,CAAC;AAAA,gBACC,SAAO;AAAA,kBACP,WAAa,QAAM,EAAE,SAAS;AAAA,kBAC9B,WACG,SAAO;AAAA,oBACN,UACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,oBACZ,YACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,kBACd,CAAC,EACA,SAAS,oCAAoC;AAAA,gBAClD,CAAC;AAAA,gBACC,SAAO;AAAA,kBACP,WAAa,QAAM,EAAE,SAAS;AAAA,kBAC9B,WACG,SAAO;AAAA,oBACN,UACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,oBACZ,YACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,oBACZ,MACG,SAAO,EACP,SAAS,oCAAoC,EAC7C,SAAS,EACT,SAAS;AAAA,kBACd,CAAC,EACA,SAAS,+BAA+B;AAAA,gBAC7C,CAAC;AAAA,cACH,CAAC;AAAA,YACH;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,UACZ,OAAS,SAAO,EAAE,SAAS,kBAAkB,EAAE,SAAS;AAAA,UACxD,oBACG,SAAO;AAAA,YACN,QACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,KACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,EAAE,EACN,SAAS,EACT,SAAS;AAAA,YACZ,WACG,UAAQ,EACR,SAAS,sCAAsC,EAC/C,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,UACG;AAAA,YACG,SAAO,CAAC,CAAC;AAAA,YACT,MAAI;AAAA,cACF,SAAO;AAAA,gBACP,QAAU,QAAM,EAAE,SAAS;AAAA,gBAC3B,QAAU,QAAM,EAAE,SAAS;AAAA,cAC7B,CAAC;AAAA,cACC,SAAO;AAAA,gBACP,QAAU,QAAM,EAAE,SAAS;AAAA,gBAC3B,QACG,OAAK;AAAA,kBACJ;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF,CAAC,EACA,SAAS,mBAAmB;AAAA,cACjC,CAAC;AAAA,cACC,SAAO;AAAA,gBACP,QAAU,QAAM,EAAE,SAAS;AAAA,gBAC3B,QACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF;AAAA,cACJ,CAAC;AAAA,YACH,CAAC;AAAA,UACH,EACC,SAAS,4CAA4C,EACrD,SAAS;AAAA,UACZ,aACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,gBACG,SAAO,EACP,IAAI,EACJ,SAAS,qCAAqC,EAC9C,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,UACZ,iBACG,SAAO,EACP,IAAI,EACJ;AAAA,YACC;AAAA,UACF,EACC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,sBACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,qBACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA,SAAS,8CAA8C,EACvD,SAAS;AAAA,UACZ,oBACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA,SAAS,0CAA0C,EACnD,SAAS;AAAA,UACZ,eACG,OAAK;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,YACG,SAAO;AAAA,YACN,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,UACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,SACG,SAAO;AAAA,YACN,WACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,qCAAqC,EAC9C,SAAS;AAAA,YACZ,SACG,SAAO,EACP,SAAS,iCAAiC,EAC1C,SAAS,EACT,SAAS;AAAA,YACZ,YACG,SAAO,EACP,SAAS,eAAe,EACxB;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,oBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,cACG;AAAA,cACG,SAAO;AAAA,gBACP,cACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,MACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,SAAS,EACT,SAAS;AAAA,gBACZ,WACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,SACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,SACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,kBACG,OAAK;AAAA,kBACJ;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,kBACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,eACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,wCAAwC,EACjD,SAAS;AAAA,cACd,CAAC;AAAA,YACH,EACC,IAAI,CAAC,EACL,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,aACG,SAAO;AAAA,YACN,QACG,SAAO,EACP,SAAS,iCAAiC,EAC1C,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,YACZ,MACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,EACJ,IAAI,CAAC,EACL,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,YACZ,gBACG,OAAK,EACL,SAAS,gCAAgC,EACzC,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,kBACG,SAAO;AAAA,YACN,KACG,SAAO,EACP,SAAS,kBAAkB,EAC3B;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,aACG,SAAO,EACP,IAAI,EACJ;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,SAAS;AAAA,YACZ,yBACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,YACZ,+BACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,sBACG,SAAO;AAAA,cACN,WACG,OAAK,CAAC,aAAa,OAAO,QAAQ,SAAS,MAAM,CAAC,EAClD,SAAS,iCAAiC,EAC1C,SAAS;AAAA,cACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,IAAI,EACR,SAAS,EACT,SAAS;AAAA,cACZ,aACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,cACZ,eACG,SAAO,EACP,IAAI,EACJ;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,SAAS,EACT,SAAS;AAAA,cACZ,4BACG,UAAQ,EACR;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,cACZ,iBACG,SAAO;AAAA,gBACN,WACG,OAAK,CAAC,aAAa,OAAO,QAAQ,SAAS,MAAM,CAAC,EAClD;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,UACG,SAAO,EACP,IAAI,EACJ;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,CAAC,EACL,IAAI,IAAI,EACR,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF,EACC,SAAS;AAAA,YACd,CAAC,EACA,SAAS,oCAAoC,EAC7C,SAAS;AAAA,YACZ,oBACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA,SAAS,oBAAoB,EAC7B,SAAS;AAAA,UACZ,kBACG,SAAO;AAAA,YACN,UACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,YACZ,YACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,eACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,WACG;AAAA,YACG,SAAO;AAAA,cACP,KACG,SAAO,EACP,SAAS,0CAA0C,EACnD;AAAA,gBACC;AAAA,gBACA;AAAA,cACF,EACC,SAAS;AAAA,cACZ,OACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC;AAAA,gBACC;AAAA,gBACA;AAAA,cACF,EACC,SAAS,EACT,SAAS;AAAA,cACZ,UACG,SAAO,EACP,IAAI,EACJ,SAAS,iCAAiC,EAC1C,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS;AAAA,cACZ,MACG,SAAO,EACP,SAAS,gBAAgB,EACzB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACd,CAAC;AAAA,UACH,EACC,IAAI,CAAC,EACL,IAAI,CAAC,EACL,SAAS;AAAA,UACZ,eACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,gBACG;AAAA,YACG,SAAO,CAAC,CAAC;AAAA,YACT,MAAI;AAAA,cACF,SAAO,EAAE,aAAe,QAAM,EAAE,SAAS,EAAE,CAAC;AAAA,cAC5C,SAAO;AAAA,gBACP,aACG,OAAK,CAAC,YAAY,WAAW,UAAU,CAAC,EACxC;AAAA,kBACC;AAAA,gBACF;AAAA,cACJ,CAAC;AAAA,YACH,CAAC;AAAA,UACH,EACC,SAAS,mCAAmC,EAC5C,SAAS;AAAA,UACZ,mBACG,UAAQ,EACR;AAAA,YACC;AAAA,UACF,EACC,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,UACZ,gBACG;AAAA,YACG,SAAO;AAAA,cACP,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,cACZ,MACG,SAAO;AAAA,gBACN,UACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,gBACZ,YACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,cACd,CAAC,EACA,SAAS,sBAAsB,EAC/B,SAAS;AAAA,cACZ,WACG;AAAA,gBACG,SAAO;AAAA,kBACP,KACG,SAAO,EACP,SAAS,cAAc,EACvB,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,kBACZ,UACG,SAAO,EACP,IAAI,EACJ,SAAS,gCAAgC,EACzC,IAAI,CAAC,EACL,IAAI,GAAM,EACV,SAAS,EACT,SAAS;AAAA,kBACZ,OACG,SAAO;AAAA,oBACN,UACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,oBACZ,YACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,kBACd,CAAC,EACA,SAAS,yCAAyC,EAClD,SAAS;AAAA,kBACZ,SACG,SAAO;AAAA,oBACN,UACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,oBACZ,YACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,kBACd,CAAC,EACA,SAAS,qBAAqB,EAC9B,SAAS;AAAA,kBACZ,OACG,SAAO;AAAA,oBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,oBAChD,iBACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,SAAS;AAAA,kBACd,CAAC,EACA,SAAS,4BAA4B,EACrC,SAAS;AAAA,gBACd,CAAC;AAAA,cACH,EACC,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,YACd,CAAC;AAAA,UACH,EACC,IAAI,EAAE,EACN,SAAS;AAAA,QACd,CAAC;AAAA,MACH,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,MACZ,WACG;AAAA,QACG,SAAO;AAAA,UACP,WACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO,EACP,SAAS,wBAAwB,EACjC,MAAM,EACN,SAAS,EACT,SAAS;AAAA,QACd,CAAC;AAAA,QACC,MAAI;AAAA,UACF,SAAO;AAAA,YACP,WAAa,QAAM,EAAE,SAAS;AAAA,YAC9B,UAAY,QAAM,EAAE,SAAS;AAAA,UAC/B,CAAC;AAAA,UACC,SAAO;AAAA,YACP,UAAY,QAAM,EAAE,SAAS;AAAA,YAC7B,WACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC;AAAA,cACC;AAAA,cACA;AAAA,YACF;AAAA,UACJ,CAAC;AAAA,UACC,SAAO;AAAA,YACP,WAAa,QAAM,EAAE,SAAS;AAAA,YAC9B,UACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC;AAAA,cACC;AAAA,cACA;AAAA,YACF;AAAA,UACJ,CAAC;AAAA,QACH,CAAC;AAAA,MACH,EACC,SAAS,oBAAoB,EAC7B,SAAS;AAAA,MACZ,eACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,YACG,OAAK,CAAC,2BAA2B,MAAM,IAAI,CAAC,EAC5C,SAAS,2DAA2D,EACpE,SAAS;AAAA,MACZ,UACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,SAAS,EACT,SAAS;AAAA,MACZ,2BACG,SAAO;AAAA,QACN,kBACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,QACZ,gBACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,qBACG,UAAQ,EACR;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,cACG,SAAO;AAAA,QACN,UACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,UACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,KACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,iCAAiC,EAC1C,SAAS;AAAA,QACZ,UACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,6CAA6C,EACtD,SAAS;AAAA,QACZ,OACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,8CAA8C,EACvD,SAAS;AAAA,QACZ,qBACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,MACd,CAAC,EACA,SAAS,sBAAsB,EAC/B,SAAS;AAAA,MACZ,oBACG,SAAO;AAAA,QACN,OACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA,SAAS,iCAAiC,EAC1C,SAAS;AAAA,QACZ,aACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,eACG,SAAO;AAAA,UACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,UAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,QACd,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,MACG;AAAA,UACG,SAAO;AAAA,YACP,MACG,SAAO;AAAA,cACN,UACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,cACZ,YACG,SAAO,EACP;AAAA,gBACC;AAAA,cACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACd,CAAC,EACA,SAAS,oBAAoB,EAC7B,SAAS;AAAA,YACZ,QACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,sBAAsB,EAC/B,SAAS;AAAA,YACZ,YACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS;AAAA,YACZ,YACG,OAAK,CAAC,WAAW,UAAU,CAAC,EAC5B,SAAS,2BAA2B,EACpC,SAAS;AAAA,YACZ,gBACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC;AAAA,QACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,aACG,SAAO;AAAA,QACN,SACG,SAAO;AAAA,UACN,eACG,SAAO;AAAA,YACN,MAAQ,SAAO,EAAE,SAAS;AAAA,YAC1B,QAAU,SAAO,EAAE,SAAS;AAAA,UAC9B,CAAC,EACA,SAAS;AAAA,UACZ,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,UACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,UAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,UACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,UAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QAC/C,CAAC,EACA,SAAS,UAAU,EACnB,SAAS;AAAA,QACZ,gBACG,SAAO;AAAA,UACN,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,SAAS,YAAY,EACrB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO,EACP,SAAS,eAAe,EACxB,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO;AAAA,YACN,KAAO,SAAO,EAAE,SAAS,oBAAoB,EAAE,SAAS;AAAA,YACxD,MACG,OAAK,CAAC,eAAe,OAAO,MAAM,CAAC,EACnC;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,MACd,CAAC,EACA,SAAS,sCAAsC,EAC/C,SAAS;AAAA,MACZ,cACG,SAAO;AAAA,QACN,WACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,MACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,OACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,GAAG,EACP,SAAS;AAAA,QACZ,WACG;AAAA,UACG,SAAO;AAAA,YACP,cACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,YACZ,cACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,YACZ,eACG,OAAK,EACL;AAAA,cACC;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,kBACG,SAAO;AAAA,cACN,MACG,OAAK,EACL,SAAS,8BAA8B,EACvC,SAAS,EACT,SAAS;AAAA,cACZ,IACG,OAAK,EACL,SAAS,4BAA4B,EACrC,SAAS,EACT,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC;AAAA,UACC,MAAI;AAAA,YACF,SAAO;AAAA,cACP,qBAAuB,QAAM,EAAE,SAAS;AAAA,cACxC,eAAiB,QAAM,EAAE,SAAS;AAAA,YACpC,CAAC;AAAA,YACC,SAAO;AAAA,cACP,eAAiB,QAAM,EAAE,SAAS;AAAA,cAClC,qBACG,SAAO;AAAA,gBACN,SACG,SAAO;AAAA,kBACN,eACG,SAAO;AAAA,oBACN,MAAQ,SAAO,EAAE,SAAS;AAAA,oBAC1B,QAAU,SAAO,EAAE,SAAS;AAAA,kBAC9B,CAAC,EACA,SAAS;AAAA,kBACZ,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,gBAC/C,CAAC,EACA,SAAS,UAAU,EACnB,SAAS;AAAA,gBACZ,gBACG,SAAO;AAAA,kBACN,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,kBACZ,UACG,SAAO,EACP,SAAS,YAAY,EACrB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,kBACZ,OACG,SAAO,EACP,SAAS,eAAe,EACxB,SAAS,EACT,SAAS;AAAA,kBACZ,SACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,kBACZ,OACG,SAAO;AAAA,oBACN,KACG,SAAO,EACP,SAAS,oBAAoB,EAC7B,SAAS;AAAA,oBACZ,MACG,OAAK,CAAC,eAAe,OAAO,MAAM,CAAC,EACnC;AAAA,sBACC;AAAA,oBACF,EACC,SAAS;AAAA,kBACd,CAAC,EACA;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,YACC,SAAO;AAAA,cACP,qBAAuB,QAAM,EAAE,SAAS;AAAA,cACxC,eACG,SAAO;AAAA,gBACN,SACG,SAAO;AAAA,kBACN,eACG,SAAO;AAAA,oBACN,MAAQ,SAAO,EAAE,SAAS;AAAA,oBAC1B,QAAU,SAAO,EAAE,SAAS;AAAA,kBAC9B,CAAC,EACA,SAAS;AAAA,kBACZ,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,kBAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,gBAC/C,CAAC,EACA,SAAS,iBAAiB,EAC1B,SAAS;AAAA,gBACZ,cACG,OAAK,CAAC,gBAAgB,cAAc,CAAC,EACrC,SAAS,eAAe,EACxB,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,UACH,CAAC;AAAA,QACH,EACC,SAAS,qBAAqB,EAC9B,SAAS;AAAA,QACZ,MACG,SAAO;AAAA,UACN,OACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA,SAAS,sCAAsC,EAC/C,SAAS;AAAA,UACZ,qBACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,oBACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,YACG,SAAO;AAAA,YACN,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,UACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA,SAAS,cAAc,EACvB,SAAS;AAAA,UACZ,SACG,SAAO;AAAA,YACN,WACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,qCAAqC,EAC9C,SAAS;AAAA,YACZ,SACG,SAAO,EACP,SAAS,iCAAiC,EAC1C,SAAS,EACT,SAAS;AAAA,YACZ,YACG,SAAO,EACP,SAAS,eAAe,EACxB;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,oBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,cACG;AAAA,cACG,SAAO;AAAA,gBACP,cACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,MACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,SAAS,EACT,SAAS;AAAA,gBACZ,WACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,SACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,SACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,kBACG,OAAK;AAAA,kBACJ;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,kBACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,eACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,wCAAwC,EACjD,SAAS;AAAA,cACd,CAAC;AAAA,YACH,EACC,IAAI,CAAC,EACL,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,UACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA,SAAS,+BAA+B,EACxC,SAAS;AAAA,QACd,CAAC,EACA,SAAS,iBAAiB,EAC1B,SAAS;AAAA,QACZ,QACG,SAAO;AAAA,UACN,MACG,SAAO,EACP;AAAA,YACC;AAAA,UACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,MACd,CAAC,EACA,SAAS,qDAAqD,EAC9D,SAAS;AAAA,MACZ,kBACG;AAAA,QACG;AAAA,UACE,SAAO;AAAA,YACP,cACG,OAAK,CAAC,UAAU,kBAAkB,UAAU,CAAC,EAC7C,SAAS;AAAA,YACZ,aAAe,QAAQ,SAAO,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,YAC1D,KACG,SAAO,EACP,SAAS,cAAc,EACvB;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,mBACG;AAAA,cACG,SAAO;AAAA,gBACP,KACG,SAAO,EACP,SAAS,eAAe,EACxB;AAAA,kBACC;AAAA,kBACA;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,eACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,2CAA2C,EACpD,SAAS;AAAA,cACd,CAAC;AAAA,YACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,UACd,CAAC;AAAA,UACC,MAAI;AAAA,YACF,SAAO;AAAA,cACP,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,kBAAoB,QAAM,EAAE,SAAS;AAAA,cACrC,cAAgB,QAAM,EAAE,SAAS;AAAA,YACnC,CAAC;AAAA,YACC,SAAO;AAAA,cACP,kBAAoB,QAAM,EAAE,SAAS;AAAA,cACrC,cAAgB,QAAM,EAAE,SAAS;AAAA,cACjC,QACG,SAAO;AAAA,gBACN,KAAO,SAAO,EAAE,SAAS,YAAY,EAAE,SAAS;AAAA,gBAChD,MAAQ,SAAO,EAAE,SAAS,cAAc,EAAE,SAAS;AAAA,gBACnD,MAAQ,SAAO,EAAE,SAAS,cAAc,EAAE,SAAS;AAAA,gBACnD,QACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,eAAe,EACxB,SAAS;AAAA,cACd,CAAC,EACA,SAAS,iCAAiC;AAAA,YAC/C,CAAC;AAAA,YACC,SAAO;AAAA,cACP,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,cAAgB,QAAM,EAAE,SAAS;AAAA,cACjC,kBACG;AAAA,gBACG,SAAO;AAAA,kBACP,QACG,SAAO;AAAA,oBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,oBAChD,iBACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,SAAS;AAAA,kBACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,gBACd,CAAC;AAAA,gBACC,MAAI;AAAA,kBACF,SAAO;AAAA,oBACP,gBAAkB,QAAM,EAAE,SAAS;AAAA,oBACnC,aAAe,QAAM,EAAE,SAAS;AAAA,kBAClC,CAAC;AAAA,kBACC,SAAO;AAAA,oBACP,aAAe,QAAM,EAAE,SAAS;AAAA,oBAChC,gBACG,OAAK;AAAA,sBACJ;AAAA,sBACA;AAAA,sBACA;AAAA,oBACF,CAAC,EACA,SAAS,6BAA6B;AAAA,kBAC3C,CAAC;AAAA,kBACC,SAAO;AAAA,oBACP,gBAAkB,QAAM,EAAE,SAAS;AAAA,oBACnC,aACG,SAAO,EACP;AAAA,sBACC;AAAA,oBACF,EACC,IAAI,GAAG;AAAA,kBACZ,CAAC;AAAA,gBACH,CAAC;AAAA,cACH,EACC,SAAS,4CAA4C;AAAA,YAC1D,CAAC;AAAA,YACC,SAAO;AAAA,cACP,QAAU,QAAM,EAAE,SAAS;AAAA,cAC3B,kBAAoB,QAAM,EAAE,SAAS;AAAA,cACrC,cACG,SAAO;AAAA,gBACN,KACG,SAAO,EACP,SAAS,kBAAkB,EAC3B;AAAA,kBACC;AAAA,kBACA;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,MACG,SAAO;AAAA,kBACN,UACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,kBACZ,YACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,oBAAoB,EAC7B,SAAS;AAAA,gBACZ,QACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,iBAAiB,EAC1B,SAAS;AAAA,cACd,CAAC,EACA;AAAA,gBACC;AAAA,cACF;AAAA,YACJ,CAAC;AAAA,UACH,CAAC;AAAA,QACH;AAAA,MACF,EACC,SAAS;AAAA,MACZ,aACG,SAAO;AAAA,QACN,MACG,OAAK;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC,EACA;AAAA,UACC;AAAA,QACF,EACC,SAAS;AAAA,QACZ,iBACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACZ,kBACG,SAAO,EACP;AAAA,UACC;AAAA,QACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,SAAS;AAAA,MACZ,cACG;AAAA,QACG,SAAO;AAAA,UACP,OACG,MAAI,EACJ,SAAS,qBAAqB,EAC9B,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO,EACP,SAAS,qBAAqB,EAC9B,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS;AAAA,UACZ,iBACG,SAAO,EACP,SAAS,gCAAgC,EACzC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,QACd,CAAC;AAAA,MACH,EACC,SAAS;AAAA,MACZ,eACG,SAAO;AAAA,QACN,SACG,SAAO;AAAA,UACN,eACG,SAAO;AAAA,YACN,MAAQ,SAAO,EAAE,SAAS;AAAA,YAC1B,QAAU,SAAO,EAAE,SAAS;AAAA,UAC9B,CAAC,EACA,SAAS;AAAA,UACZ,MAAQ,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,UACrC,aAAe,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,UAC5C,SAAW,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,UACxC,YAAc,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,UAC3C,cAAgB,SAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QAC/C,CAAC,EACA,SAAS,UAAU,EACnB,SAAS;AAAA,QACZ,gBACG,SAAO;AAAA,UACN,WACG,SAAO,EACP,SAAS,aAAa,EACtB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,UACG,SAAO,EACP,SAAS,YAAY,EACrB,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO,EACP,SAAS,eAAe,EACxB,SAAS,EACT,SAAS;AAAA,UACZ,SACG,SAAO,EACP,SAAS,eAAe,EACxB,IAAI,GAAI,EACR,SAAS,EACT,SAAS;AAAA,UACZ,OACG,SAAO;AAAA,YACN,KAAO,SAAO,EAAE,SAAS,oBAAoB,EAAE,SAAS;AAAA,YACxD,MACG,OAAK,CAAC,eAAe,OAAO,MAAM,CAAC,EACnC;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,QACd,CAAC,EACA,SAAS,kBAAkB,EAC3B,SAAS;AAAA,MACd,CAAC,EACA;AAAA,QACC;AAAA,MACF,EACC,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,MACZ,OACG,SAAO,EACP;AAAA,QACC;AAAA,MACF,EACC,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,MACZ,gBACG;AAAA,QACG,SAAO;AAAA,UACP,MACG,SAAO,EACP,SAAS,qDAAqD,EAC9D,IAAI,CAAC,EACL,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,UACZ,MACG,SAAO,EACP,SAAS,yBAAyB,EAClC,IAAI,CAAC,EACL,IAAI,EAAE,EACN,SAAS;AAAA,UACZ,OACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA,SAAS,yBAAyB,EAClC,SAAS;AAAA,UACZ,YACG,SAAO;AAAA,YACN,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,YACZ,SACG,SAAO,EACP;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,UACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,UACd,CAAC,EACA,SAAS,cAAc,EACvB,SAAS;AAAA,UACZ,SACG,SAAO;AAAA,YACN,WACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,eACG,SAAO;AAAA,cACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,cAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,YACd,CAAC,EACA,SAAS,qCAAqC,EAC9C,SAAS;AAAA,YACZ,SACG,SAAO,EACP,SAAS,iCAAiC,EAC1C,SAAS,EACT,SAAS;AAAA,YACZ,YACG,SAAO,EACP,SAAS,eAAe,EACxB;AAAA,cACC;AAAA,cACA;AAAA,YACF,EACC,SAAS,EACT,SAAS;AAAA,YACZ,oBACG,UAAQ,EACR;AAAA,cACC;AAAA,YACF,EACC,SAAS;AAAA,YACZ,cACG;AAAA,cACG,SAAO;AAAA,gBACP,cACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,MACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,SAAS,EACT,SAAS;AAAA,gBACZ,WACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,SACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,SACG,SAAO,EACP;AAAA,kBACC;AAAA,gBACF,EACC,IAAI,GAAG,EACP,SAAS,EACT,SAAS;AAAA,gBACZ,kBACG,OAAK;AAAA,kBACJ;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACF,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,kBACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA;AAAA,kBACC;AAAA,gBACF,EACC,SAAS;AAAA,gBACZ,eACG,SAAO;AAAA,kBACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,kBAChD,iBACG,SAAO,EACP;AAAA,oBACC;AAAA,kBACF,EACC,SAAS;AAAA,gBACd,CAAC,EACA,SAAS,wCAAwC,EACjD,SAAS;AAAA,cACd,CAAC;AAAA,YACH,EACC,IAAI,CAAC,EACL,SAAS;AAAA,UACd,CAAC,EACA;AAAA,YACC;AAAA,UACF,EACC,SAAS;AAAA,UACZ,eACG,SAAO,EACP,SAAS,4BAA4B,EACrC;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS,EACT,SAAS;AAAA,UACZ,gBACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA,SAAS,oCAAoC,EAC7C,SAAS;AAAA,UACZ,eACG,SAAO;AAAA,YACN,QAAU,SAAO,EAAE,SAAS,SAAS,EAAE,SAAS;AAAA,YAChD,iBACG,SAAO,EACP,SAAS,wCAAwC,EACjD,SAAS;AAAA,UACd,CAAC,EACA,SAAS,mCAAmC,EAC5C,SAAS;AAAA,UACZ,KACG,SAAO,EACP,SAAS,sBAAsB,EAC/B;AAAA,YACC;AAAA,YACA;AAAA,UACF,EACC,SAAS;AAAA,UACZ,aAAe,QAAQ,SAAO,CAAC,EAAE,SAAS;AAAA,UAC1C,QACG,OAAK;AAAA,YACJ;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC,EACA,SAAS,qDAAqD,EAC9D,SAAS;AAAA,QACd,CAAC;AAAA,MACH,EACC,IAAI,GAAG,EACP,SAAS;AAAA,IACd,CAAC;AAAA,EACH,EACC,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,iBAAiB,EAC1B,SAAS;AACd,CAAC;","names":[]}