s. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match. */\n  sourceLeaseId?: string;\n}\n\n/** Contains response data for the rename operation. */\nexport type ContainerRenameResponse = ContainerRenameHeaders;\n\n/** Optional parameters. */\nexport interface ContainerSubmitBatchOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the submitBatch operation. */\nexport type ContainerSubmitBatchResponse = ContainerSubmitBatchHeaders & {\n  /**\n   * BROWSER ONLY\n   *\n   * The response body as a browser Blob.\n   * Always `undefined` in node.js.\n   */\n  blobBody?: Promise<Blob>;\n  /**\n   * NODEJS ONLY\n   *\n   * The response body as a node.js Readable stream.\n   * Always `undefined` in the browser.\n   */\n  readableStreamBody?: NodeJS.ReadableStream;\n};\n\n/** Optional parameters. */\nexport interface ContainerFilterBlobsOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the ContinuationToken value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client. */\n  marker?: string;\n  /** Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000. */\n  maxPageSize?: number;\n  /** Filters the results to return only to return only blobs whose tags match the specified expression. */\n  where?: string;\n}\n\n/** Contains response data for the filterBlobs operation. */\nexport type ContainerFilterBlobsResponse = ContainerFilterBlobsHeaders &\n  FilterBlobSegment;\n\n/** Optional parameters. */\nexport interface ContainerAcquireLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. */\n  duration?: number;\n  /** Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats. */\n  proposedLeaseId?: string;\n}\n\n/** Contains response data for the acquireLease operation. */\nexport type ContainerAcquireLeaseResponse = ContainerAcquireLeaseHeaders;\n\n/** Optional parameters. */\nexport interface ContainerReleaseLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the releaseLease operation. */\nexport type ContainerReleaseLeaseResponse = ContainerReleaseLeaseHeaders;\n\n/** Optional parameters. */\nexport interface ContainerRenewLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the renewLease operation. */\nexport type ContainerRenewLeaseResponse = ContainerRenewLeaseHeaders;\n\n/** Optional parameters. */\nexport interface ContainerBreakLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately. */\n  breakPeriod?: number;\n}\n\n/** Contains response data for the breakLease operation. */\nexport type ContainerBreakLeaseResponse = ContainerBreakLeaseHeaders;\n\n/** Optional parameters. */\nexport interface ContainerChangeLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the changeLease operation. */\nexport type ContainerChangeLeaseResponse = ContainerChangeLeaseHeaders;\n\n/** Optional parameters. */\nexport interface ContainerListBlobFlatSegmentOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Filters the results to return only containers whose name begins with the specified prefix. */\n  prefix?: string;\n  /** A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the ContinuationToken value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client. */\n  marker?: string;\n  /** Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000. */\n  maxPageSize?: number;\n  /** Include this parameter to specify one or more datasets to include in the response. */\n  include?: ListBlobsIncludeItem[];\n}\n\n/** Contains response data for the listBlobFlatSegment operation. */\nexport type ContainerListBlobFlatSegmentResponse =\n  ContainerListBlobFlatSegmentHeaders & ListBlobsFlatSegmentResponse;\n\n/** Optional parameters. */\nexport interface ContainerListBlobHierarchySegmentOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Filters the results to return only containers whose name begins with the specified prefix. */\n  prefix?: string;\n  /** A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the ContinuationToken value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client. */\n  marker?: string;\n  /** Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000. */\n  maxPageSize?: number;\n  /** Include this parameter to specify one or more datasets to include in the response. */\n  include?: ListBlobsIncludeItem[];\n}\n\n/** Contains response data for the listBlobHierarchySegment operation. */\nexport type ContainerListBlobHierarchySegmentResponse =\n  ContainerListBlobHierarchySegmentHeaders & ListBlobsHierarchySegmentResponse;\n\n/** Optional parameters. */\nexport interface ContainerGetAccountInfoOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the getAccountInfo operation. */\nexport type ContainerGetAccountInfoResponse = ContainerGetAccountInfoHeaders;\n\n/** Optional parameters. */\nexport interface BlobDownloadOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */\n  versionId?: string;\n  /** Return only the bytes of the blob in the specified range. */\n  range?: string;\n  /** When set to true and specified together with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size. */\n  rangeGetContentMD5?: boolean;\n  /** When set to true and specified together with the Range, the service returns the CRC64 hash for the range, as long as the range is less than or equal to 4 MB in size. */\n  rangeGetContentCRC64?: boolean;\n}\n\n/** Contains response data for the download operation. */\nexport type BlobDownloadResponse = BlobDownloadHeaders & {\n  /**\n   * BROWSER ONLY\n   *\n   * The response body as a browser Blob.\n   * Always `undefined` in node.js.\n   */\n  blobBody?: Promise<Blob>;\n  /**\n   * NODEJS ONLY\n   *\n   * The response body as a node.js Readable stream.\n   * Always `undefined` in the browser.\n   */\n  readableStreamBody?: NodeJS.ReadableStream;\n};\n\n/** Optional parameters. */\nexport interface BlobGetPropertiesOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */\n  versionId?: string;\n}\n\n/** Contains response data for the getProperties operation. */\nexport type BlobGetPropertiesResponse = BlobGetPropertiesHeaders;\n\n/** Optional parameters. */\nexport interface BlobDeleteOptionalParams extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */\n  versionId?: string;\n  /** Required if the blob has associated snapshots. Specify one of the following two options: include: Delete the base blob and all of its snapshots. only: Delete only the blob's snapshots and not the blob itself */\n  deleteSnapshots?: DeleteSnapshotsOptionType;\n  /** Optional.  Only possible value is 'permanent', which specifies to permanently delete a blob if blob soft delete is enabled. */\n  blobDeleteType?: string;\n}\n\n/** Contains response data for the delete operation. */\nexport type BlobDeleteResponse = BlobDeleteHeaders;\n\n/** Optional parameters. */\nexport interface BlobUndeleteOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the undelete operation. */\nexport type BlobUndeleteResponse = BlobUndeleteHeaders;\n\n/** Optional parameters. */\nexport interface BlobSetExpiryOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The time to set the blob to expiry */\n  expiresOn?: string;\n}\n\n/** Contains response data for the setExpiry operation. */\nexport type BlobSetExpiryResponse = BlobSetExpiryHeaders;\n\n/** Optional parameters. */\nexport interface BlobSetHttpHeadersOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  blobHttpHeaders?: BlobHttpHeaders;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the setHttpHeaders operation. */\nexport type BlobSetHttpHeadersResponse = BlobSetHttpHeadersHeaders;\n\n/** Optional parameters. */\nexport interface BlobSetImmutabilityPolicyOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */\n  versionId?: string;\n  /** Specifies the date time when the blobs immutability policy is set to expire. */\n  immutabilityPolicyExpiry?: Date;\n  /** Specifies the immutability policy mode to set on the blob. */\n  immutabilityPolicyMode?: BlobImmutabilityPolicyMode;\n}\n\n/** Contains response data for the setImmutabilityPolicy operation. */\nexport type BlobSetImmutabilityPolicyResponse =\n  BlobSetImmutabilityPolicyHeaders;\n\n/** Optional parameters. */\nexport interface BlobDeleteImmutabilityPolicyOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */\n  versionId?: string;\n}\n\n/** Contains response data for the deleteImmutabilityPolicy operation. */\nexport type BlobDeleteImmutabilityPolicyResponse =\n  BlobDeleteImmutabilityPolicyHeaders;\n\n/** Optional parameters. */\nexport interface BlobSetLegalHoldOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */\n  versionId?: string;\n}\n\n/** Contains response data for the setLegalHold operation. */\nexport type BlobSetLegalHoldResponse = BlobSetLegalHoldHeaders;\n\n/** Optional parameters. */\nexport interface BlobSetMetadataOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. */\n  metadata?: { [propertyName: string]: string };\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n}\n\n/** Contains response data for the setMetadata operation. */\nexport type BlobSetMetadataResponse = BlobSetMetadataHeaders;\n\n/** Optional parameters. */\nexport interface BlobAcquireLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. */\n  duration?: number;\n  /** Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats. */\n  proposedLeaseId?: string;\n}\n\n/** Contains response data for the acquireLease operation. */\nexport type BlobAcquireLeaseResponse = BlobAcquireLeaseHeaders;\n\n/** Optional parameters. */\nexport interface BlobReleaseLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the releaseLease operation. */\nexport type BlobReleaseLeaseResponse = BlobReleaseLeaseHeaders;\n\n/** Optional parameters. */\nexport interface BlobRenewLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the renewLease operation. */\nexport type BlobRenewLeaseResponse = BlobRenewLeaseHeaders;\n\n/** Optional parameters. */\nexport interface BlobChangeLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the changeLease operation. */\nexport type BlobChangeLeaseResponse = BlobChangeLeaseHeaders;\n\n/** Optional parameters. */\nexport interface BlobBreakLeaseOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately. */\n  breakPeriod?: number;\n}\n\n/** Contains response data for the breakLease operation. */\nexport type BlobBreakLeaseResponse = BlobBreakLeaseHeaders;\n\n/** Optional parameters. */\nexport interface BlobCreateSnapshotOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. */\n  metadata?: { [propertyName: string]: string };\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n}\n\n/** Contains response data for the createSnapshot operation. */\nexport type BlobCreateSnapshotResponse = BlobCreateSnapshotHeaders;\n\n/** Optional parameters. */\nexport interface BlobStartCopyFromURLOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  sourceModifiedAccessConditions?: SourceModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. */\n  metadata?: { [propertyName: string]: string };\n  /** Specifies the date time when the blobs immutability policy is set to expire. */\n  immutabilityPolicyExpiry?: Date;\n  /** Specifies the immutability policy mode to set on the blob. */\n  immutabilityPolicyMode?: BlobImmutabilityPolicyMode;\n  /** Optional. Indicates the tier to be set on the blob. */\n  tier?: AccessTier;\n  /** Optional: Indicates the priority with which to rehydrate an archived blob. */\n  rehydratePriority?: RehydratePriority;\n  /** Optional.  Used to set blob tags in various blob operations. */\n  blobTagsString?: string;\n  /** Overrides the sealed state of the destination blob.  Service version 2019-12-12 and newer. */\n  sealBlob?: boolean;\n  /** Specified if a legal hold should be set on the blob. */\n  legalHold?: boolean;\n}\n\n/** Contains response data for the startCopyFromURL operation. */\nexport type BlobStartCopyFromURLResponse = BlobStartCopyFromURLHeaders;\n\n/** Optional parameters. */\nexport interface BlobCopyFromURLOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  sourceModifiedAccessConditions?: SourceModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. */\n  metadata?: { [propertyName: string]: string };\n  /** Specifies the date time when the blobs immutability policy is set to expire. */\n  immutabilityPolicyExpiry?: Date;\n  /** Specifies the immutability policy mode to set on the blob. */\n  immutabilityPolicyMode?: BlobImmutabilityPolicyMode;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Optional. Indicates the tier to be set on the blob. */\n  tier?: AccessTier;\n  /** Optional.  Used to set blob tags in various blob operations. */\n  blobTagsString?: string;\n  /** Specified if a legal hold should be set on the blob. */\n  legalHold?: boolean;\n  /** Specify the md5 calculated for the range of bytes that must be read from the copy source. */\n  sourceContentMD5?: Uint8Array;\n  /** Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source. */\n  copySourceAuthorization?: string;\n  /** Optional, default 'replace'.  Indicates if source tags should be copied or replaced with the tags specified by x-ms-tags. */\n  copySourceTags?: BlobCopySourceTags;\n}\n\n/** Contains response data for the copyFromURL operation. */\nexport type BlobCopyFromURLResponse = BlobCopyFromURLHeaders;\n\n/** Optional parameters. */\nexport interface BlobAbortCopyFromURLOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the abortCopyFromURL operation. */\nexport type BlobAbortCopyFromURLResponse = BlobAbortCopyFromURLHeaders;\n\n/** Optional parameters. */\nexport interface BlobSetTierOptionalParams extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */\n  versionId?: string;\n  /** Optional: Indicates the priority with which to rehydrate an archived blob. */\n  rehydratePriority?: RehydratePriority;\n}\n\n/** Contains response data for the setTier operation. */\nexport type BlobSetTierResponse = BlobSetTierHeaders;\n\n/** Optional parameters. */\nexport interface BlobGetAccountInfoOptionalParams\n  extends coreClient.OperationOptions {\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the getAccountInfo operation. */\nexport type BlobGetAccountInfoResponse = BlobGetAccountInfoHeaders;\n\n/** Optional parameters. */\nexport interface BlobQueryOptionalParams extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** the query request */\n  queryRequest?: QueryRequest;\n}\n\n/** Contains response data for the query operation. */\nexport type BlobQueryResponse = BlobQueryHeaders & {\n  /**\n   * BROWSER ONLY\n   *\n   * The response body as a browser Blob.\n   * Always `undefined` in node.js.\n   */\n  blobBody?: Promise<Blob>;\n  /**\n   * NODEJS ONLY\n   *\n   * The response body as a node.js Readable stream.\n   * Always `undefined` in the browser.\n   */\n  readableStreamBody?: NodeJS.ReadableStream;\n};\n\n/** Optional parameters. */\nexport interface BlobGetTagsOptionalParams extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */\n  versionId?: string;\n}\n\n/** Contains response data for the getTags operation. */\nexport type BlobGetTagsResponse = BlobGetTagsHeaders & BlobTags;\n\n/** Optional parameters. */\nexport interface BlobSetTagsOptionalParams extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */\n  versionId?: string;\n  /** Blob tags */\n  tags?: BlobTags;\n  /** Specify the transactional md5 for the body, to be validated by the service. */\n  transactionalContentMD5?: Uint8Array;\n  /** Specify the transactional crc64 for the body, to be validated by the service. */\n  transactionalContentCrc64?: Uint8Array;\n}\n\n/** Contains response data for the setTags operation. */\nexport type BlobSetTagsResponse = BlobSetTagsHeaders;\n\n/** Optional parameters. */\nexport interface PageBlobCreateOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  blobHttpHeaders?: BlobHttpHeaders;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. */\n  metadata?: { [propertyName: string]: string };\n  /** Specifies the date time when the blobs immutability policy is set to expire. */\n  immutabilityPolicyExpiry?: Date;\n  /** Specifies the immutability policy mode to set on the blob. */\n  immutabilityPolicyMode?: BlobImmutabilityPolicyMode;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Optional. Indicates the tier to be set on the blob. */\n  tier?: AccessTier;\n  /** Optional.  Used to set blob tags in various blob operations. */\n  blobTagsString?: string;\n  /** Specified if a legal hold should be set on the blob. */\n  legalHold?: boolean;\n  /** Set for page blobs only. The sequence number is a user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 2^63 - 1. */\n  blobSequenceNumber?: number;\n}\n\n/** Contains response data for the create operation. */\nexport type PageBlobCreateResponse = PageBlobCreateHeaders;\n\n/** Optional parameters. */\nexport interface PageBlobUploadPagesOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  sequenceNumberAccessConditions?: SequenceNumberAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Return only the bytes of the blob in the specified range. */\n  range?: string;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Specify the transactional md5 for the body, to be validated by the service. */\n  transactionalContentMD5?: Uint8Array;\n  /** Specify the transactional crc64 for the body, to be validated by the service. */\n  transactionalContentCrc64?: Uint8Array;\n}\n\n/** Contains response data for the uploadPages operation. */\nexport type PageBlobUploadPagesResponse = PageBlobUploadPagesHeaders;\n\n/** Optional parameters. */\nexport interface PageBlobClearPagesOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  sequenceNumberAccessConditions?: SequenceNumberAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Return only the bytes of the blob in the specified range. */\n  range?: string;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n}\n\n/** Contains response data for the clearPages operation. */\nexport type PageBlobClearPagesResponse = PageBlobClearPagesHeaders;\n\n/** Optional parameters. */\nexport interface PageBlobUploadPagesFromURLOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  sourceModifiedAccessConditions?: SourceModifiedAccessConditions;\n  /** Parameter group */\n  sequenceNumberAccessConditions?: SequenceNumberAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Specify the md5 calculated for the range of bytes that must be read from the copy source. */\n  sourceContentMD5?: Uint8Array;\n  /** Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source. */\n  copySourceAuthorization?: string;\n  /** Specify the crc64 calculated for the range of bytes that must be read from the copy source. */\n  sourceContentCrc64?: Uint8Array;\n}\n\n/** Contains response data for the uploadPagesFromURL operation. */\nexport type PageBlobUploadPagesFromURLResponse =\n  PageBlobUploadPagesFromURLHeaders;\n\n/** Optional parameters. */\nexport interface PageBlobGetPageRangesOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the ContinuationToken value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client. */\n  marker?: string;\n  /** Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000. */\n  maxPageSize?: number;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** Return only the bytes of the blob in the specified range. */\n  range?: string;\n}\n\n/** Contains response data for the getPageRanges operation. */\nexport type PageBlobGetPageRangesResponse = PageBlobGetPageRangesHeaders &\n  PageList;\n\n/** Optional parameters. */\nexport interface PageBlobGetPageRangesDiffOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the ContinuationToken value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client. */\n  marker?: string;\n  /** Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000. */\n  maxPageSize?: number;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n  /** Return only the bytes of the blob in the specified range. */\n  range?: string;\n  /** Optional in version 2015-07-08 and newer. The prevsnapshot parameter is a DateTime value that specifies that the response will contain only pages that were changed between target blob and previous snapshot. Changed pages include both updated and cleared pages. The target blob may be a snapshot, as long as the snapshot specified by prevsnapshot is the older of the two. Note that incremental snapshots are currently supported only for blobs created on or after January 1, 2016. */\n  prevsnapshot?: string;\n  /** Optional. This header is only supported in service versions 2019-04-19 and after and specifies the URL of a previous snapshot of the target blob. The response will only contain pages that were changed between the target blob and its previous snapshot. */\n  prevSnapshotUrl?: string;\n}\n\n/** Contains response data for the getPageRangesDiff operation. */\nexport type PageBlobGetPageRangesDiffResponse =\n  PageBlobGetPageRangesDiffHeaders & PageList;\n\n/** Optional parameters. */\nexport interface PageBlobResizeOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n}\n\n/** Contains response data for the resize operation. */\nexport type PageBlobResizeResponse = PageBlobResizeHeaders;\n\n/** Optional parameters. */\nexport interface PageBlobUpdateSequenceNumberOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Set for page blobs only. The sequence number is a user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 2^63 - 1. */\n  blobSequenceNumber?: number;\n}\n\n/** Contains response data for the updateSequenceNumber operation. */\nexport type PageBlobUpdateSequenceNumberResponse =\n  PageBlobUpdateSequenceNumberHeaders;\n\n/** Optional parameters. */\nexport interface PageBlobCopyIncrementalOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the copyIncremental operation. */\nexport type PageBlobCopyIncrementalResponse = PageBlobCopyIncrementalHeaders;\n\n/** Optional parameters. */\nexport interface AppendBlobCreateOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  blobHttpHeaders?: BlobHttpHeaders;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. */\n  metadata?: { [propertyName: string]: string };\n  /** Specifies the date time when the blobs immutability policy is set to expire. */\n  immutabilityPolicyExpiry?: Date;\n  /** Specifies the immutability policy mode to set on the blob. */\n  immutabilityPolicyMode?: BlobImmutabilityPolicyMode;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Optional.  Used to set blob tags in various blob operations. */\n  blobTagsString?: string;\n  /** Specified if a legal hold should be set on the blob. */\n  legalHold?: boolean;\n}\n\n/** Contains response data for the create operation. */\nexport type AppendBlobCreateResponse = AppendBlobCreateHeaders;\n\n/** Optional parameters. */\nexport interface AppendBlobAppendBlockOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  appendPositionAccessConditions?: AppendPositionAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Specify the transactional md5 for the body, to be validated by the service. */\n  transactionalContentMD5?: Uint8Array;\n  /** Specify the transactional crc64 for the body, to be validated by the service. */\n  transactionalContentCrc64?: Uint8Array;\n}\n\n/** Contains response data for the appendBlock operation. */\nexport type AppendBlobAppendBlockResponse = AppendBlobAppendBlockHeaders;\n\n/** Optional parameters. */\nexport interface AppendBlobAppendBlockFromUrlOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  sourceModifiedAccessConditions?: SourceModifiedAccessConditions;\n  /** Parameter group */\n  appendPositionAccessConditions?: AppendPositionAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Specify the md5 calculated for the range of bytes that must be read from the copy source. */\n  sourceContentMD5?: Uint8Array;\n  /** Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source. */\n  copySourceAuthorization?: string;\n  /** Specify the transactional md5 for the body, to be validated by the service. */\n  transactionalContentMD5?: Uint8Array;\n  /** Specify the crc64 calculated for the range of bytes that must be read from the copy source. */\n  sourceContentCrc64?: Uint8Array;\n  /** Bytes of source data in the specified range. */\n  sourceRange?: string;\n}\n\n/** Contains response data for the appendBlockFromUrl operation. */\nexport type AppendBlobAppendBlockFromUrlResponse =\n  AppendBlobAppendBlockFromUrlHeaders;\n\n/** Optional parameters. */\nexport interface AppendBlobSealOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  appendPositionAccessConditions?: AppendPositionAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n}\n\n/** Contains response data for the seal operation. */\nexport type AppendBlobSealResponse = AppendBlobSealHeaders;\n\n/** Optional parameters. */\nexport interface BlockBlobUploadOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  blobHttpHeaders?: BlobHttpHeaders;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. */\n  metadata?: { [propertyName: string]: string };\n  /** Specifies the date time when the blobs immutability policy is set to expire. */\n  immutabilityPolicyExpiry?: Date;\n  /** Specifies the immutability policy mode to set on the blob. */\n  immutabilityPolicyMode?: BlobImmutabilityPolicyMode;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Optional. Indicates the tier to be set on the blob. */\n  tier?: AccessTier;\n  /** Optional.  Used to set blob tags in various blob operations. */\n  blobTagsString?: string;\n  /** Specified if a legal hold should be set on the blob. */\n  legalHold?: boolean;\n  /** Specify the transactional md5 for the body, to be validated by the service. */\n  transactionalContentMD5?: Uint8Array;\n  /** Specify the transactional crc64 for the body, to be validated by the service. */\n  transactionalContentCrc64?: Uint8Array;\n}\n\n/** Contains response data for the upload operation. */\nexport type BlockBlobUploadResponse = BlockBlobUploadHeaders;\n\n/** Optional parameters. */\nexport interface BlockBlobPutBlobFromUrlOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  blobHttpHeaders?: BlobHttpHeaders;\n  /** Parameter group */\n  sourceModifiedAccessConditions?: SourceModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. */\n  metadata?: { [propertyName: string]: string };\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Optional. Indicates the tier to be set on the blob. */\n  tier?: AccessTier;\n  /** Optional.  Used to set blob tags in various blob operations. */\n  blobTagsString?: string;\n  /** Specify the md5 calculated for the range of bytes that must be read from the copy source. */\n  sourceContentMD5?: Uint8Array;\n  /** Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source. */\n  copySourceAuthorization?: string;\n  /** Optional, default 'replace'.  Indicates if source tags should be copied or replaced with the tags specified by x-ms-tags. */\n  copySourceTags?: BlobCopySourceTags;\n  /** Specify the transactional md5 for the body, to be validated by the service. */\n  transactionalContentMD5?: Uint8Array;\n  /** Optional, default is true.  Indicates if properties from the source blob should be copied. */\n  copySourceBlobProperties?: boolean;\n}\n\n/** Contains response data for the putBlobFromUrl operation. */\nexport type BlockBlobPutBlobFromUrlResponse = BlockBlobPutBlobFromUrlHeaders;\n\n/** Optional parameters. */\nexport interface BlockBlobStageBlockOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Specify the transactional md5 for the body, to be validated by the service. */\n  transactionalContentMD5?: Uint8Array;\n  /** Specify the transactional crc64 for the body, to be validated by the service. */\n  transactionalContentCrc64?: Uint8Array;\n}\n\n/** Contains response data for the stageBlock operation. */\nexport type BlockBlobStageBlockResponse = BlockBlobStageBlockHeaders;\n\n/** Optional parameters. */\nexport interface BlockBlobStageBlockFromURLOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  sourceModifiedAccessConditions?: SourceModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Specify the md5 calculated for the range of bytes that must be read from the copy source. */\n  sourceContentMD5?: Uint8Array;\n  /** Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source. */\n  copySourceAuthorization?: string;\n  /** Specify the crc64 calculated for the range of bytes that must be read from the copy source. */\n  sourceContentCrc64?: Uint8Array;\n  /** Bytes of source data in the specified range. */\n  sourceRange?: string;\n}\n\n/** Contains response data for the stageBlockFromURL operation. */\nexport type BlockBlobStageBlockFromURLResponse =\n  BlockBlobStageBlockFromURLHeaders;\n\n/** Optional parameters. */\nexport interface BlockBlobCommitBlockListOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** Parameter group */\n  cpkInfo?: CpkInfo;\n  /** Parameter group */\n  blobHttpHeaders?: BlobHttpHeaders;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information. */\n  metadata?: { [propertyName: string]: string };\n  /** Specifies the date time when the blobs immutability policy is set to expire. */\n  immutabilityPolicyExpiry?: Date;\n  /** Specifies the immutability policy mode to set on the blob. */\n  immutabilityPolicyMode?: BlobImmutabilityPolicyMode;\n  /** Optional. Version 2019-07-07 and later.  Specifies the name of the encryption scope to use to encrypt the data provided in the request. If not specified, encryption is performed with the default account encryption scope.  For more information, see Encryption at Rest for Azure Storage Services. */\n  encryptionScope?: string;\n  /** Optional. Indicates the tier to be set on the blob. */\n  tier?: AccessTier;\n  /** Optional.  Used to set blob tags in various blob operations. */\n  blobTagsString?: string;\n  /** Specified if a legal hold should be set on the blob. */\n  legalHold?: boolean;\n  /** Specify the transactional md5 for the body, to be validated by the service. */\n  transactionalContentMD5?: Uint8Array;\n  /** Specify the transactional crc64 for the body, to be validated by the service. */\n  transactionalContentCrc64?: Uint8Array;\n}\n\n/** Contains response data for the commitBlockList operation. */\nexport type BlockBlobCommitBlockListResponse = BlockBlobCommitBlockListHeaders;\n\n/** Optional parameters. */\nexport interface BlockBlobGetBlockListOptionalParams\n  extends coreClient.OperationOptions {\n  /** Parameter group */\n  leaseAccessConditions?: LeaseAccessConditions;\n  /** Parameter group */\n  modifiedAccessConditions?: ModifiedAccessConditions;\n  /** The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a> */\n  timeoutInSeconds?: number;\n  /** Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled. */\n  requestId?: string;\n  /** The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a> */\n  snapshot?: string;\n}\n\n/** Contains response data for the getBlockList operation. */\nexport type BlockBlobGetBlockListResponse = BlockBlobGetBlockListHeaders &\n  BlockList;\n\n/** Optional parameters. */\nexport interface StorageClientOptionalParams\n  extends coreHttpCompat.ExtendedServiceClientOptions {\n  /** Specifies the version of the operation to use for this request. */\n  version?: string;\n  /** Overrides client endpoint. */\n  endpoint?: string;\n}\n"]}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         {"version":3,"names":[],"sources":["../../../src/ast-types/generated/index.ts"],"sourcesContent":["// NOTE: This file is autogenerated. Do not modify.\n// See packages/babel-types/scripts/generators/ast-types.js for script used.\n\ninterface BaseComment {\n  value: string;\n  start?: number;\n  end?: number;\n  loc?: SourceLocation;\n  // generator will skip the comment if ignore is true\n  ignore?: boolean;\n  type: \"CommentBlock\" | \"CommentLine\";\n}\n\ninterface Position {\n  line: number;\n  column: number;\n  index: number;\n}\n\nexport interface CommentBlock extends BaseComment {\n  type: \"CommentBlock\";\n}\n\nexport interface CommentLine extends BaseComment {\n  type: \"CommentLine\";\n}\n\nexport type Comment = CommentBlock | CommentLine;\n\nexport interface SourceLocation {\n  start: Position;\n  end: Position;\n  filename: string;\n  identifierName: string | undefined | null;\n}\n\ninterface BaseNode {\n  type: Node[\"type\"];\n  leadingComments?: Comment[] | null;\n  innerComments?: Comment[] | null;\n  trailingComments?: Comment[] | null;\n  start?: number | null;\n  end?: number | null;\n  loc?: SourceLocation | null;\n  range?: [number, number];\n  extra?: Record<string, unknown>;\n}\n\nexport type CommentTypeShorthand = \"leading\" | \"inner\" | \"trailing\";\n\nexport type Node =\n  | AnyTypeAnnotation\n  | ArgumentPlaceholder\n  | ArrayExpression\n  | ArrayPattern\n  | ArrayTypeAnnotation\n  | ArrowFunctionExpression\n  | AssignmentExpression\n  | AssignmentPattern\n  | AwaitExpression\n  | BigIntLiteral\n  | BinaryExpression\n  | BindExpression\n  | BlockStatement\n  | BooleanLiteral\n  | BooleanLiteralTypeAnnotation\n  | BooleanTypeAnnotation\n  | BreakStatement\n  | CallExpression\n  | CatchClause\n  | ClassAccessorProperty\n  | ClassBody\n  | ClassDeclaration\n  | ClassExpression\n  | ClassImplements\n  | ClassMethod\n  | ClassPrivateMethod\n  | ClassPrivateProperty\n  | ClassProperty\n  | ConditionalExpression\n  | ContinueStatement\n  | DebuggerStatement\n  | DecimalLiteral\n  | DeclareClass\n  | DeclareExportAllDeclaration\n  | DeclareExportDeclaration\n  | DeclareFunction\n  | DeclareInterface\n  | DeclareModule\n  | DeclareModuleExports\n  | DeclareOpaqueType\n  | DeclareTypeAlias\n  | DeclareVariable\n  | DeclaredPredicate\n  | Decorator\n  | Directive\n  | DirectiveLiteral\n  | DoExpression\n  | DoWhileStatement\n  | EmptyStatement\n  | EmptyTypeAnnotation\n  | EnumBooleanBody\n  | EnumBooleanMember\n  | EnumDeclaration\n  | EnumDefaultedMember\n  | EnumNumberBody\n  | EnumNumberMember\n  | EnumStringBody\n  | EnumStringMember\n  | EnumSymbolBody\n  | ExistsTypeAnnotation\n  | ExportAllDeclaration\n  | ExportDefaultDeclaration\n  | ExportDefaultSpecifier\n  | ExportNamedDeclaration\n  | ExportNamespaceSpecifier\n  | ExportSpecifier\n  | ExpressionStatement\n  | File\n  | ForInStatement\n  | ForOfStatement\n  | ForStatement\n  | FunctionDeclaration\n  | FunctionExpression\n  | FunctionTypeAnnotation\n  | FunctionTypeParam\n  | GenericTypeAnnotation\n  | Identifier\n  | IfStatement\n  | Import\n  | ImportAttribute\n  | ImportDeclaration\n  | ImportDefaultSpecifier\n  | ImportExpression\n  | ImportNamespaceSpecifier\n  | ImportSpecifier\n  | IndexedAccessType\n  | InferredPredicate\n  | InterfaceDeclaration\n  | InterfaceExtends\n  | InterfaceTypeAnnotation\n  | InterpreterDirective\n  | IntersectionTypeAnnotation\n  | JSXAttribute\n  | JSXClosingElement\n  | JSXClosingFragment\n  | JSXElement\n  | JSXEmptyExpression\n  | JSXExpressionContainer\n  | JSXFragment\n  | JSXIdentifier\n  | JSXMemberExpression\n  | JSXNamespacedName\n  | JSXOpeningElement\n  | JSXOpeningFragment\n  | JSXSpreadAttribute\n  | JSXSpreadChild\n  | JSXText\n  | LabeledStatement\n  | LogicalExpression\n  | MemberExpression\n  | MetaProperty\n  | MixedTypeAnnotation\n  | ModuleExpression\n  | NewExpression\n  | Noop\n  | NullLiteral\n  | NullLiteralTypeAnnotation\n  | NullableTypeAnnotation\n  | NumberLiteral\n  | NumberLiteralTypeAnnotation\n  | NumberTypeAnnotation\n  | NumericLiteral\n  | ObjectExpression\n  | ObjectMethod\n  | ObjectPattern\n  | ObjectProperty\n  | ObjectTypeAnnotation\n  | ObjectTypeCallProperty\n  | ObjectTypeIndexer\n  | ObjectTypeInternalSlot\n  | ObjectTypeProperty\n  | ObjectTypeSpreadProperty\n  | OpaqueType\n  | OptionalCallExpression\n  | OptionalIndexedAccessType\n  | OptionalMemberExpression\n  | ParenthesizedExpression\n  | PipelineBareFunction\n  | PipelinePrimaryTopicReference\n  | PipelineTopicExpression\n  | Placeholder\n  | PrivateName\n  | Program\n  | QualifiedTypeIdentifier\n  | RecordExpression\n  | RegExpLiteral\n  | RegexLiteral\n  | RestElement\n  | RestProperty\n  | ReturnStatement\n  | SequenceExpression\n  | SpreadElement\n  | SpreadProperty\n  | StaticBlock\n  | StringLiteral\n  | StringLiteralTypeAnnotation\n  | StringTypeAnnotation\n  | Super\n  | SwitchCase\n  | SwitchStatement\n  | SymbolTypeAnnotation\n  | TSAnyKeyword\n  | TSArrayType\n  | TSAsExpression\n  | TSBigIntKeyword\n  | TSBooleanKeyword\n  | TSCallSignatureDeclaration\n  | TSConditionalType\n  | TSConstructSignatureDeclaration\n  | TSConstructorType\n  | TSDeclareFunction\n  | TSDeclareMethod\n  | TSEnumDeclaration\n  | TSEnumMember\n  | TSExportAssignment\n  | TSExpressionWithTypeArguments\n  | TSExternalModuleReference\n  | TSFunctionType\n  | TSImportEqualsDeclaration\n  | TSImportType\n  | TSIndexSignature\n  | TSIndexedAccessType\n  | TSInferType\n  | TSInstantiationExpression\n  | TSInterfaceBody\n  | TSInterfaceDeclaration\n  | TSIntersectionType\n  | TSIntrinsicKeyword\n  | TSLiteralType\n  | TSMappedType\n  | TSMethodSignature\n  | TSModuleBlock\n  | TSModuleDeclaration\n  | TSNamedTupleMember\n  | TSNamespaceExportDeclaration\n  | TSNeverKeyword\n  | TSNonNullExpression\n  | TSNullKeyword\n  | TSNumberKeyword\n  | TSObjectKeyword\n  | TSOptionalType\n  | TSParameterProperty\n  | TSParenthesizedType\n  | TSPropertySignature\n  | TSQualifiedName\n  | TSRestType\n  | TSSatisfiesExpression\n  | TSStringKeyword\n  | TSSymbolKeyword\n  | TSThisType\n  | TSTupleType\n  | TSTypeAliasDeclaration\n  | TSTypeAnnotation\n  | TSTypeAssertion\n  | TSTypeLiteral\n  | TSTypeOperator\n  | TSTypeParameter\n  | TSTypeParameterDeclaration\n  | TSTypeParameterInstantiation\n  | TSTypePredicate\n  | TSTypeQuery\n  | TSTypeReference\n  | TSUndefinedKeyword\n  | TSUnionType\n  | TSUnknownKeyword\n  | TSVoidKeyword\n  | TaggedTemplateExpression\n  | TemplateElement\n  | TemplateLiteral\n  | ThisExpression\n  | ThisTypeAnnotation\n  | ThrowStatement\n  | TopicReference\n  | TryStatement\n  | TupleExpression\n  | TupleTypeAnnotation\n  | TypeAlias\n  | TypeAnnotation\n  | TypeCastExpression\n  | TypeParameter\n  | TypeParameterDeclaration\n  | TypeParameterInstantiation\n  | TypeofTypeAnnotation\n  | UnaryExpression\n  | UnionTypeAnnotation\n  | UpdateExpression\n  | V8IntrinsicIdentifier\n  | VariableDeclaration\n  | VariableDeclarator\n  | Variance\n  | VoidTypeAnnotation\n  | WhileStatement\n  | WithStatement\n  | YieldExpression;\n\nexport interface ArrayExpression extends BaseNode {\n  type: \"ArrayExpression\";\n  elements: Array<null | Expression | SpreadElement>;\n}\n\nexport interface AssignmentExpression extends BaseNode {\n  type: \"AssignmentExpression\";\n  operator: string;\n  left: LVal | OptionalMemberExpression;\n  right: Expression;\n}\n\nexport interface BinaryExpression extends BaseNode {\n  type: \"BinaryExpression\";\n  operator:\n    | \"+\"\n    | \"-\"\n    | \"/\"\n    | \"%\"\n    | \"*\"\n    | \"**\"\n    | \"&\"\n    | \"|\"\n    | \">>\"\n    | \">>>\"\n    | \"<<\"\n    | \"^\"\n    | \"==\"\n    | \"===\"\n    | \"!=\"\n    | \"!==\"\n    | \"in\"\n    | \"instanceof\"\n    | \">\"\n    | \"<\"\n    | \">=\"\n    | \"<=\"\n    | \"|>\";\n  left: Expression | PrivateName;\n  right: Expression;\n}\n\nexport interface InterpreterDirective extends BaseNode {\n  type: \"InterpreterDirective\";\n  value: string;\n}\n\nexport interface Directive extends BaseNode {\n  type: \"Directive\";\n  value: DirectiveLiteral;\n}\n\nexport interface DirectiveLiteral extends BaseNode {\n  type: \"DirectiveLiteral\";\n  value: string;\n}\n\nexport interface BlockStatement extends BaseNode {\n  type: \"BlockStatement\";\n  body: Array<Statement>;\n  directives: Array<Directive>;\n}\n\nexport interface BreakStatement extends BaseNode {\n  type: \"BreakStatement\";\n  label?: Identifier | null;\n}\n\nexport interface CallExpression extends BaseNode {\n  type: \"CallExpression\";\n  callee: Expression | Super | V8IntrinsicIdentifier;\n  arguments: Array<Expression | SpreadElement | ArgumentPlaceholder>;\n  optional?: boolean | null;\n  typeArguments?: TypeParameterInstantiation | null;\n  typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface CatchClause extends BaseNode {\n  type: \"CatchClause\";\n  param?: Identifier | ArrayPattern | ObjectPattern | null;\n  body: BlockStatement;\n}\n\nexport interface ConditionalExpression extends BaseNode {\n  type: \"ConditionalExpression\";\n  test: Expression;\n  consequent: Expression;\n  alternate: Expression;\n}\n\nexport interface ContinueStatement extends BaseNode {\n  type: \"ContinueStatement\";\n  label?: Identifier | null;\n}\n\nexport interface DebuggerStatement extends BaseNode {\n  type: \"DebuggerStatement\";\n}\n\nexport interface DoWhileStatement extends BaseNode {\n  type: \"DoWhileStatement\";\n  test: Expression;\n  body: Statement;\n}\n\nexport interface EmptyStatement extends BaseNode {\n  type: \"EmptyStatement\";\n}\n\nexport interface ExpressionStatement extends BaseNode {\n  type: \"ExpressionStatement\";\n  expression: Expression;\n}\n\nexport interface File extends BaseNode {\n  type: \"File\";\n  program: Program;\n  comments?: Array<CommentBlock | CommentLine> | null;\n  tokens?: Array<any> | null;\n}\n\nexport interface ForInStatement extends BaseNode {\n  type: \"ForInStatement\";\n  left: VariableDeclaration | LVal;\n  right: Expression;\n  body: Statement;\n}\n\nexport interface ForStatement extends BaseNode {\n  type: \"ForStatement\";\n  init?: VariableDeclaration | Expression | null;\n  test?: Expression | null;\n  update?: Expression | null;\n  body: Statement;\n}\n\nexport interface FunctionDeclaration extends BaseNode {\n  type: \"FunctionDeclaration\";\n  id?: Identifier | null;\n  params: Array<Identifier | Pattern | RestElement>;\n  body: BlockStatement;\n  generator: boolean;\n  async: boolean;\n  declare?: boolean | null;\n  predicate?: DeclaredPredicate | InferredPredicate | null;\n  returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n  typeParameters?:\n    | TypeParameterDeclaration\n    | TSTypeParameterDeclaration\n    | Noop\n    | null;\n}\n\nexport interface FunctionExpression extends BaseNode {\n  type: \"FunctionExpression\";\n  id?: Identifier | null;\n  params: Array<Identifier | Pattern | RestElement>;\n  body: BlockStatement;\n  generator: boolean;\n  async: boolean;\n  predicate?: DeclaredPredicate | InferredPredicate | null;\n  returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n  typeParameters?:\n    | TypeParameterDeclaration\n    | TSTypeParameterDeclaration\n    | Noop\n    | null;\n}\n\nexport interface Identifier extends BaseNode {\n  type: \"Identifier\";\n  name: string;\n  decorators?: Array<Decorator> | null;\n  optional?: boolean | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface IfStatement extends BaseNode {\n  type: \"IfStatement\";\n  test: Expression;\n  consequent: Statement;\n  alternate?: Statement | null;\n}\n\nexport interface LabeledStatement extends BaseNode {\n  type: \"LabeledStatement\";\n  label: Identifier;\n  body: Statement;\n}\n\nexport interface StringLiteral extends BaseNode {\n  type: \"StringLiteral\";\n  value: string;\n}\n\nexport interface NumericLiteral extends BaseNode {\n  type: \"NumericLiteral\";\n  value: number;\n}\n\n/**\n * @deprecated Use `NumericLiteral`\n */\nexport interface NumberLiteral extends BaseNode {\n  type: \"NumberLiteral\";\n  value: number;\n}\n\nexport interface NullLiteral extends BaseNode {\n  type: \"NullLiteral\";\n}\n\nexport interface BooleanLiteral extends BaseNode {\n  type: \"BooleanLiteral\";\n  value: boolean;\n}\n\nexport interface RegExpLiteral extends BaseNode {\n  type: \"RegExpLiteral\";\n  pattern: string;\n  flags: string;\n}\n\n/**\n * @deprecated Use `RegExpLiteral`\n */\nexport interface RegexLiteral extends BaseNode {\n  type: \"RegexLiteral\";\n  pattern: string;\n  flags: string;\n}\n\nexport interface LogicalExpression extends BaseNode {\n  type: \"LogicalExpression\";\n  operator: \"||\" | \"&&\" | \"??\";\n  left: Expression;\n  right: Expression;\n}\n\nexport interface MemberExpression extends BaseNode {\n  type: \"MemberExpression\";\n  object: Expression | Super;\n  property: Expression | Identifier | PrivateName;\n  computed: boolean;\n  optional?: boolean | null;\n}\n\nexport interface NewExpression extends BaseNode {\n  type: \"NewExpression\";\n  callee: Expression | Super | V8IntrinsicIdentifier;\n  arguments: Array<Expression | SpreadElement | ArgumentPlaceholder>;\n  optional?: boolean | null;\n  typeArguments?: TypeParameterInstantiation | null;\n  typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface Program extends BaseNode {\n  type: \"Program\";\n  body: Array<Statement>;\n  directives: Array<Directive>;\n  sourceType: \"script\" | \"module\";\n  interpreter?: InterpreterDirective | null;\n}\n\nexport interface ObjectExpression extends BaseNode {\n  type: \"ObjectExpression\";\n  properties: Array<ObjectMethod | ObjectProperty | SpreadElement>;\n}\n\nexport interface ObjectMethod extends BaseNode {\n  type: \"ObjectMethod\";\n  kind: \"method\" | \"get\" | \"set\";\n  key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral;\n  params: Array<Identifier | Pattern | RestElement>;\n  body: BlockStatement;\n  computed: boolean;\n  generator: boolean;\n  async: boolean;\n  decorators?: Array<Decorator> | null;\n  returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n  typeParameters?:\n    | TypeParameterDeclaration\n    | TSTypeParameterDeclaration\n    | Noop\n    | null;\n}\n\nexport interface ObjectProperty extends BaseNode {\n  type: \"ObjectProperty\";\n  key:\n    | Expression\n    | Identifier\n    | StringLiteral\n    | NumericLiteral\n    | BigIntLiteral\n    | DecimalLiteral\n    | PrivateName;\n  value: Expression | PatternLike;\n  computed: boolean;\n  shorthand: boolean;\n  decorators?: Array<Decorator> | null;\n}\n\nexport interface RestElement extends BaseNode {\n  type: \"RestElement\";\n  argument: LVal;\n  decorators?: Array<Decorator> | null;\n  optional?: boolean | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\n/**\n * @deprecated Use `RestElement`\n */\nexport interface RestProperty extends BaseNode {\n  type: \"RestProperty\";\n  argument: LVal;\n  decorators?: Array<Decorator> | null;\n  optional?: boolean | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface ReturnStatement extends BaseNode {\n  type: \"ReturnStatement\";\n  argument?: Expression | null;\n}\n\nexport interface SequenceExpression extends BaseNode {\n  type: \"SequenceExpression\";\n  expressions: Array<Expression>;\n}\n\nexport interface ParenthesizedExpression extends BaseNode {\n  type: \"ParenthesizedExpression\";\n  expression: Expression;\n}\n\nexport interface SwitchCase extends BaseNode {\n  type: \"SwitchCase\";\n  test?: Expression | null;\n  consequent: Array<Statement>;\n}\n\nexport interface SwitchStatement extends BaseNode {\n  type: \"SwitchStatement\";\n  discriminant: Expression;\n  cases: Array<SwitchCase>;\n}\n\nexport interface ThisExpression extends BaseNode {\n  type: \"ThisExpression\";\n}\n\nexport interface ThrowStatement extends BaseNode {\n  type: \"ThrowStatement\";\n  argument: Expression;\n}\n\nexport interface TryStatement extends BaseNode {\n  type: \"TryStatement\";\n  block: BlockStatement;\n  handler?: CatchClause | null;\n  finalizer?: BlockStatement | null;\n}\n\nexport interface UnaryExpression extends BaseNode {\n  type: \"UnaryExpression\";\n  operator: \"void\" | \"throw\" | \"delete\" | \"!\" | \"+\" | \"-\" | \"~\" | \"typeof\";\n  argument: Expression;\n  prefix: boolean;\n}\n\nexport interface UpdateExpression extends BaseNode {\n  type: \"UpdateExpression\";\n  operator: \"++\" | \"--\";\n  argument: Expression;\n  prefix: boolean;\n}\n\nexport interface VariableDeclaration extends BaseNode {\n  type: \"VariableDeclaration\";\n  kind: \"var\" | \"let\" | \"const\" | \"using\" | \"await using\";\n  declarations: Array<VariableDeclarator>;\n  declare?: boolean | null;\n}\n\nexport interface VariableDeclarator extends BaseNode {\n  type: \"VariableDeclarator\";\n  id: LVal;\n  init?: Expression | null;\n  definite?: boolean | null;\n}\n\nexport interface WhileStatement extends BaseNode {\n  type: \"WhileStatement\";\n  test: Expression;\n  body: Statement;\n}\n\nexport interface WithStatement extends BaseNode {\n  type: \"WithStatement\";\n  object: Expression;\n  body: Statement;\n}\n\nexport interface AssignmentPattern extends BaseNode {\n  type: \"AssignmentPattern\";\n  left:\n    | Identifier\n    | ObjectPattern\n    | ArrayPattern\n    | MemberExpression\n    | TSAsExpression\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TSNonNullExpression;\n  right: Expression;\n  decorators?: Array<Decorator> | null;\n  optional?: boolean | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface ArrayPattern extends BaseNode {\n  type: \"ArrayPattern\";\n  elements: Array<null | PatternLike | LVal>;\n  decorators?: Array<Decorator> | null;\n  optional?: boolean | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface ArrowFunctionExpression extends BaseNode {\n  type: \"ArrowFunctionExpression\";\n  params: Array<Identifier | Pattern | RestElement>;\n  body: BlockStatement | Expression;\n  async: boolean;\n  expression: boolean;\n  generator?: boolean;\n  predicate?: DeclaredPredicate | InferredPredicate | null;\n  returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n  typeParameters?:\n    | TypeParameterDeclaration\n    | TSTypeParameterDeclaration\n    | Noop\n    | null;\n}\n\nexport interface ClassBody extends BaseNode {\n  type: \"ClassBody\";\n  body: Array<\n    | ClassMethod\n    | ClassPrivateMethod\n    | ClassProperty\n    | ClassPrivateProperty\n    | ClassAccessorProperty\n    | TSDeclareMethod\n    | TSIndexSignature\n    | StaticBlock\n  >;\n}\n\nexport interface ClassExpression extends BaseNode {\n  type: \"ClassExpression\";\n  id?: Identifier | null;\n  superClass?: Expression | null;\n  body: ClassBody;\n  decorators?: Array<Decorator> | null;\n  implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null;\n  mixins?: InterfaceExtends | null;\n  superTypeParameters?:\n    | TypeParameterInstantiation\n    | TSTypeParameterInstantiation\n    | null;\n  typeParameters?:\n    | TypeParameterDeclaration\n    | TSTypeParameterDeclaration\n    | Noop\n    | null;\n}\n\nexport interface ClassDeclaration extends BaseNode {\n  type: \"ClassDeclaration\";\n  id?: Identifier | null;\n  superClass?: Expression | null;\n  body: ClassBody;\n  decorators?: Array<Decorator> | null;\n  abstract?: boolean | null;\n  declare?: boolean | null;\n  implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null;\n  mixins?: InterfaceExtends | null;\n  superTypeParameters?:\n    | TypeParameterInstantiation\n    | TSTypeParameterInstantiation\n    | null;\n  typeParameters?:\n    | TypeParameterDeclaration\n    | TSTypeParameterDeclaration\n    | Noop\n    | null;\n}\n\nexport interface ExportAllDeclaration extends BaseNode {\n  type: \"ExportAllDeclaration\";\n  source: StringLiteral;\n  /** @deprecated */\n  assertions?: Array<ImportAttribute> | null;\n  attributes?: Array<ImportAttribute> | null;\n  exportKind?: \"type\" | \"value\" | null;\n}\n\nexport interface ExportDefaultDeclaration extends BaseNode {\n  type: \"ExportDefaultDeclaration\";\n  declaration:\n    | TSDeclareFunction\n    | FunctionDeclaration\n    | ClassDeclaration\n    | Expression;\n  exportKind?: \"value\" | null;\n}\n\nexport interface ExportNamedDeclaration extends BaseNode {\n  type: \"ExportNamedDeclaration\";\n  declaration?: Declaration | null;\n  specifiers: Array<\n    ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier\n  >;\n  source?: StringLiteral | null;\n  /** @deprecated */\n  assertions?: Array<ImportAttribute> | null;\n  attributes?: Array<ImportAttribute> | null;\n  exportKind?: \"type\" | \"value\" | null;\n}\n\nexport interface ExportSpecifier extends BaseNode {\n  type: \"ExportSpecifier\";\n  local: Identifier;\n  exported: Identifier | StringLiteral;\n  exportKind?: \"type\" | \"value\" | null;\n}\n\nexport interface ForOfStatement extends BaseNode {\n  type: \"ForOfStatement\";\n  left: VariableDeclaration | LVal;\n  right: Expression;\n  body: Statement;\n  await: boolean;\n}\n\nexport interface ImportDeclaration extends BaseNode {\n  type: \"ImportDeclaration\";\n  specifiers: Array<\n    ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier\n  >;\n  source: StringLiteral;\n  /** @deprecated */\n  assertions?: Array<ImportAttribute> | null;\n  attributes?: Array<ImportAttribute> | null;\n  importKind?: \"type\" | \"typeof\" | \"value\" | null;\n  module?: boolean | null;\n  phase?: \"source\" | \"defer\" | null;\n}\n\nexport interface ImportDefaultSpecifier extends BaseNode {\n  type: \"ImportDefaultSpecifier\";\n  local: Identifier;\n}\n\nexport interface ImportNamespaceSpecifier extends BaseNode {\n  type: \"ImportNamespaceSpecifier\";\n  local: Identifier;\n}\n\nexport interface ImportSpecifier extends BaseNode {\n  type: \"ImportSpecifier\";\n  local: Identifier;\n  imported: Identifier | StringLiteral;\n  importKind?: \"type\" | \"typeof\" | \"value\" | null;\n}\n\nexport interface ImportExpression extends BaseNode {\n  type: \"ImportExpression\";\n  source: Expression;\n  options?: Expression | null;\n  phase?: \"source\" | \"defer\" | null;\n}\n\nexport interface MetaProperty extends BaseNode {\n  type: \"MetaProperty\";\n  meta: Identifier;\n  property: Identifier;\n}\n\nexport interface ClassMethod extends BaseNode {\n  type: \"ClassMethod\";\n  kind: \"get\" | \"set\" | \"method\" | \"constructor\";\n  key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;\n  params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;\n  body: BlockStatement;\n  computed: boolean;\n  static: boolean;\n  generator: boolean;\n  async: boolean;\n  abstract?: boolean | null;\n  access?: \"public\" | \"private\" | \"protected\" | null;\n  accessibility?: \"public\" | \"private\" | \"protected\" | null;\n  decorators?: Array<Decorator> | null;\n  optional?: boolean | null;\n  override?: boolean;\n  returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n  typeParameters?:\n    | TypeParameterDeclaration\n    | TSTypeParameterDeclaration\n    | Noop\n    | null;\n}\n\nexport interface ObjectPattern extends BaseNode {\n  type: \"ObjectPattern\";\n  properties: Array<RestElement | ObjectProperty>;\n  decorators?: Array<Decorator> | null;\n  optional?: boolean | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface SpreadElement extends BaseNode {\n  type: \"SpreadElement\";\n  argument: Expression;\n}\n\n/**\n * @deprecated Use `SpreadElement`\n */\nexport interface SpreadProperty extends BaseNode {\n  type: \"SpreadProperty\";\n  argument: Expression;\n}\n\nexport interface Super extends BaseNode {\n  type: \"Super\";\n}\n\nexport interface TaggedTemplateExpression extends BaseNode {\n  type: \"TaggedTemplateExpression\";\n  tag: Expression;\n  quasi: TemplateLiteral;\n  typeParameters?:\n    | TypeParameterInstantiation\n    | TSTypeParameterInstantiation\n    | null;\n}\n\nexport interface TemplateElement extends BaseNode {\n  type: \"TemplateElement\";\n  value: { raw: string; cooked?: string };\n  tail: boolean;\n}\n\nexport interface TemplateLiteral extends BaseNode {\n  type: \"TemplateLiteral\";\n  quasis: Array<TemplateElement>;\n  expressions: Array<Expression | TSType>;\n}\n\nexport interface YieldExpression extends BaseNode {\n  type: \"YieldExpression\";\n  argument?: Expression | null;\n  delegate: boolean;\n}\n\nexport interface AwaitExpression extends BaseNode {\n  type: \"AwaitExpression\";\n  argument: Expression;\n}\n\nexport interface Import extends BaseNode {\n  type: \"Import\";\n}\n\nexport interface BigIntLiteral extends BaseNode {\n  type: \"BigIntLiteral\";\n  value: string;\n}\n\nexport interface ExportNamespaceSpecifier extends BaseNode {\n  type: \"ExportNamespaceSpecifier\";\n  exported: Identifier;\n}\n\nexport interface OptionalMemberExpression extends BaseNode {\n  type: \"OptionalMemberExpression\";\n  object: Expression;\n  property: Expression | Identifier;\n  computed: boolean;\n  optional: boolean;\n}\n\nexport interface OptionalCallExpression extends BaseNode {\n  type: \"OptionalCallExpression\";\n  callee: Expression;\n  arguments: Array<Expression | SpreadElement | ArgumentPlaceholder>;\n  optional: boolean;\n  typeArguments?: TypeParameterInstantiation | null;\n  typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface ClassProperty extends BaseNode {\n  type: \"ClassProperty\";\n  key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;\n  value?: Expression | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n  decorators?: Array<Decorator> | null;\n  computed: boolean;\n  static: boolean;\n  abstract?: boolean | null;\n  accessibility?: \"public\" | \"private\" | \"protected\" | null;\n  declare?: boolean | null;\n  definite?: boolean | null;\n  optional?: boolean | null;\n  override?: boolean;\n  readonly?: boolean | null;\n  variance?: Variance | null;\n}\n\nexport interface ClassAccessorProperty extends BaseNode {\n  type: \"ClassAccessorProperty\";\n  key:\n    | Identifier\n    | StringLiteral\n    | NumericLiteral\n    | BigIntLiteral\n    | Expression\n    | PrivateName;\n  value?: Expression | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n  decorators?: Array<Decorator> | null;\n  computed: boolean;\n  static: boolean;\n  abstract?: boolean | null;\n  accessibility?: \"public\" | \"private\" | \"protected\" | null;\n  declare?: boolean | null;\n  definite?: boolean | null;\n  optional?: boolean | null;\n  override?: boolean;\n  readonly?: boolean | null;\n  variance?: Variance | null;\n}\n\nexport interface ClassPrivateProperty extends BaseNode {\n  type: \"ClassPrivateProperty\";\n  key: PrivateName;\n  value?: Expression | null;\n  decorators?: Array<Decorator> | null;\n  static: boolean;\n  definite?: boolean | null;\n  readonly?: boolean | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n  variance?: Variance | null;\n}\n\nexport interface ClassPrivateMethod extends BaseNode {\n  type: \"ClassPrivateMethod\";\n  kind: \"get\" | \"set\" | \"method\";\n  key: PrivateName;\n  params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;\n  body: BlockStatement;\n  static: boolean;\n  abstract?: boolean | null;\n  access?: \"public\" | \"private\" | \"protected\" | null;\n  accessibility?: \"public\" | \"private\" | \"protected\" | null;\n  async?: boolean;\n  computed?: boolean;\n  decorators?: Array<Decorator> | null;\n  generator?: boolean;\n  optional?: boolean | null;\n  override?: boolean;\n  returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n  typeParameters?:\n    | TypeParameterDeclaration\n    | TSTypeParameterDeclaration\n    | Noop\n    | null;\n}\n\nexport interface PrivateName extends BaseNode {\n  type: \"PrivateName\";\n  id: Identifier;\n}\n\nexport interface StaticBlock extends BaseNode {\n  type: \"StaticBlock\";\n  body: Array<Statement>;\n}\n\nexport interface AnyTypeAnnotation extends BaseNode {\n  type: \"AnyTypeAnnotation\";\n}\n\nexport interface ArrayTypeAnnotation extends BaseNode {\n  type: \"ArrayTypeAnnotation\";\n  elementType: FlowType;\n}\n\nexport interface BooleanTypeAnnotation extends BaseNode {\n  type: \"BooleanTypeAnnotation\";\n}\n\nexport interface BooleanLiteralTypeAnnotation extends BaseNode {\n  type: \"BooleanLiteralTypeAnnotation\";\n  value: boolean;\n}\n\nexport interface NullLiteralTypeAnnotation extends BaseNode {\n  type: \"NullLiteralTypeAnnotation\";\n}\n\nexport interface ClassImplements extends BaseNode {\n  type: \"ClassImplements\";\n  id: Identifier;\n  typeParameters?: TypeParameterInstantiation | null;\n}\n\nexport interface DeclareClass extends BaseNode {\n  type: \"DeclareClass\";\n  id: Identifier;\n  typeParameters?: TypeParameterDeclaration | null;\n  extends?: Array<InterfaceExtends> | null;\n  body: ObjectTypeAnnotation;\n  implements?: Array<ClassImplements> | null;\n  mixins?: Array<InterfaceExtends> | null;\n}\n\nexport interface DeclareFunction extends BaseNode {\n  type: \"DeclareFunction\";\n  id: Identifier;\n  predicate?: DeclaredPredicate | null;\n}\n\nexport interface DeclareInterface extends BaseNode {\n  type: \"DeclareInterface\";\n  id: Identifier;\n  typeParameters?: TypeParameterDeclaration | null;\n  extends?: Array<InterfaceExtends> | null;\n  body: ObjectTypeAnnotation;\n}\n\nexport interface DeclareModule extends BaseNode {\n  type: \"DeclareModule\";\n  id: Identifier | StringLiteral;\n  body: BlockStatement;\n  kind?: \"CommonJS\" | \"ES\" | null;\n}\n\nexport interface DeclareModuleExports extends BaseNode {\n  type: \"DeclareModuleExports\";\n  typeAnnotation: TypeAnnotation;\n}\n\nexport interface DeclareTypeAlias extends BaseNode {\n  type: \"DeclareTypeAlias\";\n  id: Identifier;\n  typeParameters?: TypeParameterDeclaration | null;\n  right: FlowType;\n}\n\nexport interface DeclareOpaqueType extends BaseNode {\n  type: \"DeclareOpaqueType\";\n  id: Identifier;\n  typeParameters?: TypeParameterDeclaration | null;\n  supertype?: FlowType | null;\n  impltype?: FlowType | null;\n}\n\nexport interface DeclareVariable extends BaseNode {\n  type: \"DeclareVariable\";\n  id: Identifier;\n}\n\nexport interface DeclareExportDeclaration extends BaseNode {\n  type: \"DeclareExportDeclaration\";\n  declaration?: Flow | null;\n  specifiers?: Array<ExportSpecifier | ExportNamespaceSpecifier> | null;\n  source?: StringLiteral | null;\n  attributes?: Array<ImportAttribute> | null;\n  /** @deprecated */\n  assertions?: Array<ImportAttribute> | null;\n  default?: boolean | null;\n}\n\nexport interface DeclareExportAllDeclaration extends BaseNode {\n  type: \"DeclareExportAllDeclaration\";\n  source: StringLiteral;\n  attributes?: Array<ImportAttribute> | null;\n  /** @deprecated */\n  assertions?: Array<ImportAttribute> | null;\n  exportKind?: \"type\" | \"value\" | null;\n}\n\nexport interface DeclaredPredicate extends BaseNode {\n  type: \"DeclaredPredicate\";\n  value: Flow;\n}\n\nexport interface ExistsTypeAnnotation extends BaseNode {\n  type: \"ExistsTypeAnnotation\";\n}\n\nexport interface FunctionTypeAnnotation extends BaseNode {\n  type: \"FunctionTypeAnnotation\";\n  typeParameters?: TypeParameterDeclaration | null;\n  params: Array<FunctionTypeParam>;\n  rest?: FunctionTypeParam | null;\n  returnType: FlowType;\n  this?: FunctionTypeParam | null;\n}\n\nexport interface FunctionTypeParam extends BaseNode {\n  type: \"FunctionTypeParam\";\n  name?: Identifier | null;\n  typeAnnotation: FlowType;\n  optional?: boolean | null;\n}\n\nexport interface GenericTypeAnnotation extends BaseNode {\n  type: \"GenericTypeAnnotation\";\n  id: Identifier | QualifiedTypeIdentifier;\n  typeParameters?: TypeParameterInstantiation | null;\n}\n\nexport interface InferredPredicate extends BaseNode {\n  type: \"InferredPredicate\";\n}\n\nexport interface InterfaceExtends extends BaseNode {\n  type: \"InterfaceExtends\";\n  id: Identifier | QualifiedTypeIdentifier;\n  typeParameters?: TypeParameterInstantiation | null;\n}\n\nexport interface InterfaceDeclaration extends BaseNode {\n  type: \"InterfaceDeclaration\";\n  id: Identifier;\n  typeParameters?: TypeParameterDeclaration | null;\n  extends?: Array<InterfaceExtends> | null;\n  body: ObjectTypeAnnotation;\n}\n\nexport interface InterfaceTypeAnnotation extends BaseNode {\n  type: \"InterfaceTypeAnnotation\";\n  extends?: Array<InterfaceExtends> | null;\n  body: ObjectTypeAnnotation;\n}\n\nexport interface IntersectionTypeAnnotation extends BaseNode {\n  type: \"IntersectionTypeAnnotation\";\n  types: Array<FlowType>;\n}\n\nexport interface MixedTypeAnnotation extends BaseNode {\n  type: \"MixedTypeAnnotation\";\n}\n\nexport interface EmptyTypeAnnotation extends BaseNode {\n  type: \"EmptyTypeAnnotation\";\n}\n\nexport interface NullableTypeAnnotation extends BaseNode {\n  type: \"NullableTypeAnnotation\";\n  typeAnnotation: FlowType;\n}\n\nexport interface NumberLiteralTypeAnnotation extends BaseNode {\n  type: \"NumberLiteralTypeAnnotation\";\n  value: number;\n}\n\nexport interface NumberTypeAnnotation extends BaseNode {\n  type: \"NumberTypeAnnotation\";\n}\n\nexport interface ObjectTypeAnnotation extends BaseNode {\n  type: \"ObjectTypeAnnotation\";\n  properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty>;\n  indexers?: Array<ObjectTypeIndexer>;\n  callProperties?: Array<ObjectTypeCallProperty>;\n  internalSlots?: Array<ObjectTypeInternalSlot>;\n  exact: boolean;\n  inexact?: boolean | null;\n}\n\nexport interface ObjectTypeInternalSlot extends BaseNode {\n  type: \"ObjectTypeInternalSlot\";\n  id: Identifier;\n  value: FlowType;\n  optional: boolean;\n  static: boolean;\n  method: boolean;\n}\n\nexport interface ObjectTypeCallProperty extends BaseNode {\n  type: \"ObjectTypeCallProperty\";\n  value: FlowType;\n  static: boolean;\n}\n\nexport interface ObjectTypeIndexer extends BaseNode {\n  type: \"ObjectTypeIndexer\";\n  id?: Identifier | null;\n  key: FlowType;\n  value: FlowType;\n  variance?: Variance | null;\n  static: boolean;\n}\n\nexport interface ObjectTypeProperty extends BaseNode {\n  type: \"ObjectTypeProperty\";\n  key: Identifier | StringLiteral;\n  value: FlowType;\n  variance?: Variance | null;\n  kind: \"init\" | \"get\" | \"set\";\n  method: boolean;\n  optional: boolean;\n  proto: boolean;\n  static: boolean;\n}\n\nexport interface ObjectTypeSpreadProperty extends BaseNode {\n  type: \"ObjectTypeSpreadProperty\";\n  argument: FlowType;\n}\n\nexport interface OpaqueType extends BaseNode {\n  type: \"OpaqueType\";\n  id: Identifier;\n  typeParameters?: TypeParameterDeclaration | null;\n  supertype?: FlowType | null;\n  impltype: FlowType;\n}\n\nexport interface QualifiedTypeIdentifier extends BaseNode {\n  type: \"QualifiedTypeIdentifier\";\n  id: Identifier;\n  qualification: Identifier | QualifiedTypeIdentifier;\n}\n\nexport interface StringLiteralTypeAnnotation extends BaseNode {\n  type: \"StringLiteralTypeAnnotation\";\n  value: string;\n}\n\nexport interface StringTypeAnnotation extends BaseNode {\n  type: \"StringTypeAnnotation\";\n}\n\nexport interface SymbolTypeAnnotation extends BaseNode {\n  type: \"SymbolTypeAnnotation\";\n}\n\nexport interface ThisTypeAnnotation extends BaseNode {\n  type: \"ThisTypeAnnotation\";\n}\n\nexport interface TupleTypeAnnotation extends BaseNode {\n  type: \"TupleTypeAnnotation\";\n  types: Array<FlowType>;\n}\n\nexport interface TypeofTypeAnnotation extends BaseNode {\n  type: \"TypeofTypeAnnotation\";\n  argument: FlowType;\n}\n\nexport interface TypeAlias extends BaseNode {\n  type: \"TypeAlias\";\n  id: Identifier;\n  typeParameters?: TypeParameterDeclaration | null;\n  right: FlowType;\n}\n\nexport interface TypeAnnotation extends BaseNode {\n  type: \"TypeAnnotation\";\n  typeAnnotation: FlowType;\n}\n\nexport interface TypeCastExpression extends BaseNode {\n  type: \"TypeCastExpression\";\n  expression: Expression;\n  typeAnnotation: TypeAnnotation;\n}\n\nexport interface TypeParameter extends BaseNode {\n  type: \"TypeParameter\";\n  bound?: TypeAnnotation | null;\n  default?: FlowType | null;\n  variance?: Variance | null;\n  name: string;\n}\n\nexport interface TypeParameterDeclaration extends BaseNode {\n  type: \"TypeParameterDeclaration\";\n  params: Array<TypeParameter>;\n}\n\nexport interface TypeParameterInstantiation extends BaseNode {\n  type: \"TypeParameterInstantiation\";\n  params: Array<FlowType>;\n}\n\nexport interface UnionTypeAnnotation extends BaseNode {\n  type: \"UnionTypeAnnotation\";\n  types: Array<FlowType>;\n}\n\nexport interface Variance extends BaseNode {\n  type: \"Variance\";\n  kind: \"minus\" | \"plus\";\n}\n\nexport interface VoidTypeAnnotation extends BaseNode {\n  type: \"VoidTypeAnnotation\";\n}\n\nexport interface EnumDeclaration extends BaseNode {\n  type: \"EnumDeclaration\";\n  id: Identifier;\n  body: EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;\n}\n\nexport interface EnumBooleanBody extends BaseNode {\n  type: \"EnumBooleanBody\";\n  members: Array<EnumBooleanMember>;\n  explicitType: boolean;\n  hasUnknownMembers: boolean;\n}\n\nexport interface EnumNumberBody extends BaseNode {\n  type: \"EnumNumberBody\";\n  members: Array<EnumNumberMember>;\n  explicitType: boolean;\n  hasUnknownMembers: boolean;\n}\n\nexport interface EnumStringBody extends BaseNode {\n  type: \"EnumStringBody\";\n  members: Array<EnumStringMember | EnumDefaultedMember>;\n  explicitType: boolean;\n  hasUnknownMembers: boolean;\n}\n\nexport interface EnumSymbolBody extends BaseNode {\n  type: \"EnumSymbolBody\";\n  members: Array<EnumDefaultedMember>;\n  hasUnknownMembers: boolean;\n}\n\nexport interface EnumBooleanMember extends BaseNode {\n  type: \"EnumBooleanMember\";\n  id: Identifier;\n  init: BooleanLiteral;\n}\n\nexport interface EnumNumberMember extends BaseNode {\n  type: \"EnumNumberMember\";\n  id: Identifier;\n  init: NumericLiteral;\n}\n\nexport interface EnumStringMember extends BaseNode {\n  type: \"EnumStringMember\";\n  id: Identifier;\n  init: StringLiteral;\n}\n\nexport interface EnumDefaultedMember extends BaseNode {\n  type: \"EnumDefaultedMember\";\n  id: Identifier;\n}\n\nexport interface IndexedAccessType extends BaseNode {\n  type: \"IndexedAccessType\";\n  objectType: FlowType;\n  indexType: FlowType;\n}\n\nexport interface OptionalIndexedAccessType extends BaseNode {\n  type: \"OptionalIndexedAccessType\";\n  objectType: FlowType;\n  indexType: FlowType;\n  optional: boolean;\n}\n\nexport interface JSXAttribute extends BaseNode {\n  type: \"JSXAttribute\";\n  name: JSXIdentifier | JSXNamespacedName;\n  value?:\n    | JSXElement\n    | JSXFragment\n    | StringLiteral\n    | JSXExpressionContainer\n    | null;\n}\n\nexport interface JSXClosingElement extends BaseNode {\n  type: \"JSXClosingElement\";\n  name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;\n}\n\nexport interface JSXElement extends BaseNode {\n  type: \"JSXElement\";\n  openingElement: JSXOpeningElement;\n  closingElement?: JSXClosingElement | null;\n  children: Array<\n    JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment\n  >;\n  selfClosing?: boolean | null;\n}\n\nexport interface JSXEmptyExpression extends BaseNode {\n  type: \"JSXEmptyExpression\";\n}\n\nexport interface JSXExpressionContainer extends BaseNode {\n  type: \"JSXExpressionContainer\";\n  expression: Expression | JSXEmptyExpression;\n}\n\nexport interface JSXSpreadChild extends BaseNode {\n  type: \"JSXSpreadChild\";\n  expression: Expression;\n}\n\nexport interface JSXIdentifier extends BaseNode {\n  type: \"JSXIdentifier\";\n  name: string;\n}\n\nexport interface JSXMemberExpression extends BaseNode {\n  type: \"JSXMemberExpression\";\n  object: JSXMemberExpression | JSXIdentifier;\n  property: JSXIdentifier;\n}\n\nexport interface JSXNamespacedName extends BaseNode {\n  type: \"JSXNamespacedName\";\n  namespace: JSXIdentifier;\n  name: JSXIdentifier;\n}\n\nexport interface JSXOpeningElement extends BaseNode {\n  type: \"JSXOpeningElement\";\n  name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;\n  attributes: Array<JSXAttribute | JSXSpreadAttribute>;\n  selfClosing: boolean;\n  typeParameters?:\n    | TypeParameterInstantiation\n    | TSTypeParameterInstantiation\n    | null;\n}\n\nexport interface JSXSpreadAttribute extends BaseNode {\n  type: \"JSXSpreadAttribute\";\n  argument: Expression;\n}\n\nexport interface JSXText extends BaseNode {\n  type: \"JSXText\";\n  value: string;\n}\n\nexport interface JSXFragment extends BaseNode {\n  type: \"JSXFragment\";\n  openingFragment: JSXOpeningFragment;\n  closingFragment: JSXClosingFragment;\n  children: Array<\n    JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment\n  >;\n}\n\nexport interface JSXOpeningFragment extends BaseNode {\n  type: \"JSXOpeningFragment\";\n}\n\nexport interface JSXClosingFragment extends BaseNode {\n  type: \"JSXClosingFragment\";\n}\n\nexport interface Noop extends BaseNode {\n  type: \"Noop\";\n}\n\nexport interface Placeholder extends BaseNode {\n  type: \"Placeholder\";\n  expectedNode:\n    | \"Identifier\"\n    | \"StringLiteral\"\n    | \"Expression\"\n    | \"Statement\"\n    | \"Declaration\"\n    | \"BlockStatement\"\n    | \"ClassBody\"\n    | \"Pattern\";\n  name: Identifier;\n  decorators?: Array<Decorator> | null;\n  optional?: boolean | null;\n  typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface V8IntrinsicIdentifier extends BaseNode {\n  type: \"V8IntrinsicIdentifier\";\n  name: string;\n}\n\nexport interface ArgumentPlaceholder extends BaseNode {\n  type: \"ArgumentPlaceholder\";\n}\n\nexport interface BindExpression extends BaseNode {\n  type: \"BindExpression\";\n  object: Expression;\n  callee: Expression;\n}\n\nexport interface ImportAttribute extends BaseNode {\n  type: \"ImportAttribute\";\n  key: Identifier | StringLiteral;\n  value: StringLiteral;\n}\n\nexport interface Decorator extends BaseNode {\n  type: \"Decorator\";\n  expression: Expression;\n}\n\nexport interface DoExpression extends BaseNode {\n  type: \"DoExpression\";\n  body: BlockStatement;\n  async: boolean;\n}\n\nexport interface ExportDefaultSpecifier extends BaseNode {\n  type: \"ExportDefaultSpecifier\";\n  exported: Identifier;\n}\n\nexport interface RecordExpression extends BaseNode {\n  type: \"RecordExpression\";\n  properties: Array<ObjectProperty | SpreadElement>;\n}\n\nexport interface TupleExpression extends BaseNode {\n  type: \"TupleExpression\";\n  elements: Array<Expression | SpreadElement>;\n}\n\nexport interface DecimalLiteral extends BaseNode {\n  type: \"DecimalLiteral\";\n  value: string;\n}\n\nexport interface ModuleExpression extends BaseNode {\n  type: \"ModuleExpression\";\n  body: Program;\n}\n\nexport interface TopicReference extends BaseNode {\n  type: \"TopicReference\";\n}\n\nexport interface PipelineTopicExpression extends BaseNode {\n  type: \"PipelineTopicExpression\";\n  expression: Expression;\n}\n\nexport interface PipelineBareFunction extends BaseNode {\n  type: \"PipelineBareFunction\";\n  callee: Expression;\n}\n\nexport interface PipelinePrimaryTopicReference extends BaseNode {\n  type: \"PipelinePrimaryTopicReference\";\n}\n\nexport interface TSParameterProperty extends BaseNode {\n  type: \"TSParameterProperty\";\n  parameter: Identifier | AssignmentPattern;\n  accessibility?: \"public\" | \"private\" | \"protected\" | null;\n  decorators?: Array<Decorator> | null;\n  override?: boolean | null;\n  readonly?: boolean | null;\n}\n\nexport interface TSDeclareFunction extends BaseNode {\n  type: \"TSDeclareFunction\";\n  id?: Identifier | null;\n  typeParameters?: TSTypeParameterDeclaration | Noop | null;\n  params: Array<Identifier | Pattern | RestElement>;\n  returnType?: TSTypeAnnotation | Noop | null;\n  async?: boolean;\n  declare?: boolean | null;\n  generator?: boolean;\n}\n\nexport interface TSDeclareMethod extends BaseNode {\n  type: \"TSDeclareMethod\";\n  decorators?: Array<Decorator> | null;\n  key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;\n  typeParameters?: TSTypeParameterDeclaration | Noop | null;\n  params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;\n  returnType?: TSTypeAnnotation | Noop | null;\n  abstract?: boolean | null;\n  access?: \"public\" | \"private\" | \"protected\" | null;\n  accessibility?: \"public\" | \"private\" | \"protected\" | null;\n  async?: boolean;\n  computed?: boolean;\n  generator?: boolean;\n  kind?: \"get\" | \"set\" | \"method\" | \"constructor\";\n  optional?: boolean | null;\n  override?: boolean;\n  static?: boolean;\n}\n\nexport interface TSQualifiedName extends BaseNode {\n  type: \"TSQualifiedName\";\n  left: TSEntityName;\n  right: Identifier;\n}\n\nexport interface TSCallSignatureDeclaration extends BaseNode {\n  type: \"TSCallSignatureDeclaration\";\n  typeParameters?: TSTypeParameterDeclaration | null;\n  parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;\n  typeAnnotation?: TSTypeAnnotation | null;\n}\n\nexport interface TSConstructSignatureDeclaration extends BaseNode {\n  type: \"TSConstructSignatureDeclaration\";\n  typeParameters?: TSTypeParameterDeclaration | null;\n  parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;\n  typeAnnotation?: TSTypeAnnotation | null;\n}\n\nexport interface TSPropertySignature extends BaseNode {\n  type: \"TSPropertySignature\";\n  key: Expression;\n  typeAnnotation?: TSTypeAnnotation | null;\n  computed?: boolean;\n  kind: \"get\" | \"set\";\n  optional?: boolean | null;\n  readonly?: boolean | null;\n}\n\nexport interface TSMethodSignature extends BaseNode {\n  type: \"TSMethodSignature\";\n  key: Expression;\n  typeParameters?: TSTypeParameterDeclaration | null;\n  parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;\n  typeAnnotation?: TSTypeAnnotation | null;\n  computed?: boolean;\n  kind: \"method\" | \"get\" | \"set\";\n  optional?: boolean | null;\n}\n\nexport interface TSIndexSignature extends BaseNode {\n  type: \"TSIndexSignature\";\n  parameters: Array<Identifier>;\n  typeAnnotation?: TSTypeAnnotation | null;\n  readonly?: boolean | null;\n  static?: boolean | null;\n}\n\nexport interface TSAnyKeyword extends BaseNode {\n  type: \"TSAnyKeyword\";\n}\n\nexport interface TSBooleanKeyword extends BaseNode {\n  type: \"TSBooleanKeyword\";\n}\n\nexport interface TSBigIntKeyword extends BaseNode {\n  type: \"TSBigIntKeyword\";\n}\n\nexport interface TSIntrinsicKeyword extends BaseNode {\n  type: \"TSIntrinsicKeyword\";\n}\n\nexport interface TSNeverKeyword extends BaseNode {\n  type: \"TSNeverKeyword\";\n}\n\nexport interface TSNullKeyword extends BaseNode {\n  type: \"TSNullKeyword\";\n}\n\nexport interface TSNumberKeyword extends BaseNode {\n  type: \"TSNumberKeyword\";\n}\n\nexport interface TSObjectKeyword extends BaseNode {\n  type: \"TSObjectKeyword\";\n}\n\nexport interface TSStringKeyword extends BaseNode {\n  type: \"TSStringKeyword\";\n}\n\nexport interface TSSymbolKeyword extends BaseNode {\n  type: \"TSSymbolKeyword\";\n}\n\nexport interface TSUndefinedKeyword extends BaseNode {\n  type: \"TSUndefinedKeyword\";\n}\n\nexport interface TSUnknownKeyword extends BaseNode {\n  type: \"TSUnknownKeyword\";\n}\n\nexport interface TSVoidKeyword extends BaseNode {\n  type: \"TSVoidKeyword\";\n}\n\nexport interface TSThisType extends BaseNode {\n  type: \"TSThisType\";\n}\n\nexport interface TSFunctionType extends BaseNode {\n  type: \"TSFunctionType\";\n  typeParameters?: TSTypeParameterDeclaration | null;\n  parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;\n  typeAnnotation?: TSTypeAnnotation | null;\n}\n\nexport interface TSConstructorType extends BaseNode {\n  type: \"TSConstructorType\";\n  typeParameters?: TSTypeParameterDeclaration | null;\n  parameters: Array<ArrayPattern | Identifier | ObjectPattern | RestElement>;\n  typeAnnotation?: TSTypeAnnotation | null;\n  abstract?: boolean | null;\n}\n\nexport interface TSTypeReference extends BaseNode {\n  type: \"TSTypeReference\";\n  typeName: TSEntityName;\n  typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface TSTypePredicate extends BaseNode {\n  type: \"TSTypePredicate\";\n  parameterName: Identifier | TSThisType;\n  typeAnnotation?: TSTypeAnnotation | null;\n  asserts?: boolean | null;\n}\n\nexport interface TSTypeQuery extends BaseNode {\n  type: \"TSTypeQuery\";\n  exprName: TSEntityName | TSImportType;\n  typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface TSTypeLiteral extends BaseNode {\n  type: \"TSTypeLiteral\";\n  members: Array<TSTypeElement>;\n}\n\nexport interface TSArrayType extends BaseNode {\n  type: \"TSArrayType\";\n  elementType: TSType;\n}\n\nexport interface TSTupleType extends BaseNode {\n  type: \"TSTupleType\";\n  elementTypes: Array<TSType | TSNamedTupleMember>;\n}\n\nexport interface TSOptionalType extends BaseNode {\n  type: \"TSOptionalType\";\n  typeAnnotation: TSType;\n}\n\nexport interface TSRestType extends BaseNode {\n  type: \"TSRestType\";\n  typeAnnotation: TSType;\n}\n\nexport interface TSNamedTupleMember extends BaseNode {\n  type: \"TSNamedTupleMember\";\n  label: Identifier;\n  elementType: TSType;\n  optional: boolean;\n}\n\nexport interface TSUnionType extends BaseNode {\n  type: \"TSUnionType\";\n  types: Array<TSType>;\n}\n\nexport interface TSIntersectionType extends BaseNode {\n  type: \"TSIntersectionType\";\n  types: Array<TSType>;\n}\n\nexport interface TSConditionalType extends BaseNode {\n  type: \"TSConditionalType\";\n  checkType: TSType;\n  extendsType: TSType;\n  trueType: TSType;\n  falseType: TSType;\n}\n\nexport interface TSInferType extends BaseNode {\n  type: \"TSInferType\";\n  typeParameter: TSTypeParameter;\n}\n\nexport interface TSParenthesizedType extends BaseNode {\n  type: \"TSParenthesizedType\";\n  typeAnnotation: TSType;\n}\n\nexport interface TSTypeOperator extends BaseNode {\n  type: \"TSTypeOperator\";\n  typeAnnotation: TSType;\n  operator: string;\n}\n\nexport interface TSIndexedAccessType extends BaseNode {\n  type: \"TSIndexedAccessType\";\n  objectType: TSType;\n  indexType: TSType;\n}\n\nexport interface TSMappedType extends BaseNode {\n  type: \"TSMappedType\";\n  typeParameter: TSTypeParameter;\n  typeAnnotation?: TSType | null;\n  nameType?: TSType | null;\n  optional?: true | false | \"+\" | \"-\" | null;\n  readonly?: true | false | \"+\" | \"-\" | null;\n}\n\nexport interface TSLiteralType extends BaseNode {\n  type: \"TSLiteralType\";\n  literal:\n    | NumericLiteral\n    | StringLiteral\n    | BooleanLiteral\n    | BigIntLiteral\n    | TemplateLiteral\n    | UnaryExpression;\n}\n\nexport interface TSExpressionWithTypeArguments extends BaseNode {\n  type: \"TSExpressionWithTypeArguments\";\n  expression: TSEntityName;\n  typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface TSInterfaceDeclaration extends BaseNode {\n  type: \"TSInterfaceDeclaration\";\n  id: Identifier;\n  typeParameters?: TSTypeParameterDeclaration | null;\n  extends?: Array<TSExpressionWithTypeArguments> | null;\n  body: TSInterfaceBody;\n  declare?: boolean | null;\n}\n\nexport interface TSInterfaceBody extends BaseNode {\n  type: \"TSInterfaceBody\";\n  body: Array<TSTypeElement>;\n}\n\nexport interface TSTypeAliasDeclaration extends BaseNode {\n  type: \"TSTypeAliasDeclaration\";\n  id: Identifier;\n  typeParameters?: TSTypeParameterDeclaration | null;\n  typeAnnotation: TSType;\n  declare?: boolean | null;\n}\n\nexport interface TSInstantiationExpression extends BaseNode {\n  type: \"TSInstantiationExpression\";\n  expression: Expression;\n  typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface TSAsExpression extends BaseNode {\n  type: \"TSAsExpression\";\n  expression: Expression;\n  typeAnnotation: TSType;\n}\n\nexport interface TSSatisfiesExpression extends BaseNode {\n  type: \"TSSatisfiesExpression\";\n  expression: Expression;\n  typeAnnotation: TSType;\n}\n\nexport interface TSTypeAssertion extends BaseNode {\n  type: \"TSTypeAssertion\";\n  typeAnnotation: TSType;\n  expression: Expression;\n}\n\nexport interface TSEnumDeclaration extends BaseNode {\n  type: \"TSEnumDeclaration\";\n  id: Identifier;\n  members: Array<TSEnumMember>;\n  const?: boolean | null;\n  declare?: boolean | null;\n  initializer?: Expression | null;\n}\n\nexport interface TSEnumMember extends BaseNode {\n  type: \"TSEnumMember\";\n  id: Identifier | StringLiteral;\n  initializer?: Expression | null;\n}\n\nexport interface TSModuleDeclaration extends BaseNode {\n  type: \"TSModuleDeclaration\";\n  id: Identifier | StringLiteral;\n  body: TSModuleBlock | TSModuleDeclaration;\n  declare?: boolean | null;\n  global?: boolean | null;\n  kind: \"global\" | \"module\" | \"namespace\";\n}\n\nexport interface TSModuleBlock extends BaseNode {\n  type: \"TSModuleBlock\";\n  body: Array<Statement>;\n}\n\nexport interface TSImportType extends BaseNode {\n  type: \"TSImportType\";\n  argument: StringLiteral;\n  qualifier?: TSEntityName | null;\n  typeParameters?: TSTypeParameterInstantiation | null;\n  options?: Expression | null;\n}\n\nexport interface TSImportEqualsDeclaration extends BaseNode {\n  type: \"TSImportEqualsDeclaration\";\n  id: Identifier;\n  moduleReference: TSEntityName | TSExternalModuleReference;\n  importKind?: \"type\" | \"value\" | null;\n  isExport: boolean;\n}\n\nexport interface TSExternalModuleReference extends BaseNode {\n  type: \"TSExternalModuleReference\";\n  expression: StringLiteral;\n}\n\nexport interface TSNonNullExpression extends BaseNode {\n  type: \"TSNonNullExpression\";\n  expression: Expression;\n}\n\nexport interface TSExportAssignment extends BaseNode {\n  type: \"TSExportAssignment\";\n  expression: Expression;\n}\n\nexport interface TSNamespaceExportDeclaration extends BaseNode {\n  type: \"TSNamespaceExportDeclaration\";\n  id: Identifier;\n}\n\nexport interface TSTypeAnnotation extends BaseNode {\n  type: \"TSTypeAnnotation\";\n  typeAnnotation: TSType;\n}\n\nexport interface TSTypeParameterInstantiation extends BaseNode {\n  type: \"TSTypeParameterInstantiation\";\n  params: Array<TSType>;\n}\n\nexport interface TSTypeParameterDeclaration extends BaseNode {\n  type: \"TSTypeParameterDeclaration\";\n  params: Array<TSTypeParameter>;\n}\n\nexport interface TSTypeParameter extends BaseNode {\n  type: \"TSTypeParameter\";\n  constraint?: TSType | null;\n  default?: TSType | null;\n  name: string;\n  const?: boolean | null;\n  in?: boolean | null;\n  out?: boolean | null;\n}\n\nexport type Standardized =\n  | ArrayExpression\n  | AssignmentExpression\n  | BinaryExpression\n  | InterpreterDirective\n  | Directive\n  | DirectiveLiteral\n  | BlockStatement\n  | BreakStatement\n  | CallExpression\n  | CatchClause\n  | ConditionalExpression\n  | ContinueStatement\n  | DebuggerStatement\n  | DoWhileStatement\n  | EmptyStatement\n  | ExpressionStatement\n  | File\n  | ForInStatement\n  | ForStatement\n  | FunctionDeclaration\n  | FunctionExpression\n  | Identifier\n  | IfStatement\n  | LabeledStatement\n  | StringLiteral\n  | NumericLiteral\n  | NullLiteral\n  | BooleanLiteral\n  | RegExpLiteral\n  | LogicalExpression\n  | MemberExpression\n  | NewExpression\n  | Program\n  | ObjectExpression\n  | ObjectMethod\n  | ObjectProperty\n  | RestElement\n  | ReturnStatement\n  | SequenceExpression\n  | ParenthesizedExpression\n  | SwitchCase\n  | SwitchStatement\n  | ThisExpression\n  | ThrowStatement\n  | TryStatement\n  | UnaryExpression\n  | UpdateExpression\n  | VariableDeclaration\n  | VariableDeclarator\n  | WhileStatement\n  | WithStatement\n  | AssignmentPattern\n  | ArrayPattern\n  | ArrowFunctionExpression\n  | ClassBody\n  | ClassExpression\n  | ClassDeclaration\n  | ExportAllDeclaration\n  | ExportDefaultDeclaration\n  | ExportNamedDeclaration\n  | ExportSpecifier\n  | ForOfStatement\n  | ImportDeclaration\n  | ImportDefaultSpecifier\n  | ImportNamespaceSpecifier\n  | ImportSpecifier\n  | ImportExpression\n  | MetaProperty\n  | ClassMethod\n  | ObjectPattern\n  | SpreadElement\n  | Super\n  | TaggedTemplateExpression\n  | TemplateElement\n  | TemplateLiteral\n  | YieldExpression\n  | AwaitExpression\n  | Import\n  | BigIntLiteral\n  | ExportNamespaceSpecifier\n  | OptionalMemberExpression\n  | OptionalCallExpression\n  | ClassProperty\n  | ClassAccessorProperty\n  | ClassPrivateProperty\n  | ClassPrivateMethod\n  | PrivateName\n  | StaticBlock;\nexport type Expression =\n  | ArrayExpression\n  | AssignmentExpression\n  | BinaryExpression\n  | CallExpression\n  | ConditionalExpression\n  | FunctionExpression\n  | Identifier\n  | StringLiteral\n  | NumericLiteral\n  | NullLiteral\n  | BooleanLiteral\n  | RegExpLiteral\n  | LogicalExpression\n  | MemberExpression\n  | NewExpression\n  | ObjectExpression\n  | SequenceExpression\n  | ParenthesizedExpression\n  | ThisExpression\n  | UnaryExpression\n  | UpdateExpression\n  | ArrowFunctionExpression\n  | ClassExpression\n  | ImportExpression\n  | MetaProperty\n  | Super\n  | TaggedTemplateExpression\n  | TemplateLiteral\n  | YieldExpression\n  | AwaitExpression\n  | Import\n  | BigIntLiteral\n  | OptionalMemberExpression\n  | OptionalCallExpression\n  | TypeCastExpression\n  | JSXElement\n  | JSXFragment\n  | BindExpression\n  | DoExpression\n  | RecordExpression\n  | TupleExpression\n  | DecimalLiteral\n  | ModuleExpression\n  | TopicReference\n  | PipelineTopicExpression\n  | PipelineBareFunction\n  | PipelinePrimaryTopicReference\n  | TSInstantiationExpression\n  | TSAsExpression\n  | TSSatisfiesExpression\n  | TSTypeAssertion\n  | TSNonNullExpression;\nexport type Binary = BinaryExpression | LogicalExpression;\nexport type Scopable =\n  | BlockStatement\n  | CatchClause\n  | DoWhileStatement\n  | ForInStatement\n  | ForStatement\n  | FunctionDeclaration\n  | FunctionExpression\n  | Program\n  | ObjectMethod\n  | SwitchStatement\n  | WhileStatement\n  | ArrowFunctionExpression\n  | ClassExpression\n  | ClassDeclaration\n  | ForOfStatement\n  | ClassMethod\n  | ClassPrivateMethod\n  | StaticBlock\n  | TSModuleBlock;\nexport type BlockParent =\n  | BlockStatement\n  | CatchClause\n  | DoWhileStatement\n  | ForInStatement\n  | ForStatement\n  | FunctionDeclaration\n  | FunctionExpression\n  | Program\n  | ObjectMethod\n  | SwitchStatement\n  | WhileStatement\n  | ArrowFunctionExpression\n  | ForOfStatement\n  | ClassMethod\n  | ClassPrivateMethod\n  | StaticBlock\n  | TSModuleBlock;\nexport type Block = BlockStatement | Program | TSModuleBlock;\nexport type Statement =\n  | BlockStatement\n  | BreakStatement\n  | ContinueStatement\n  | DebuggerStatement\n  | DoWhileStatement\n  | EmptyStatement\n  | ExpressionStatement\n  | ForInStatement\n  | ForStatement\n  | FunctionDeclaration\n  | IfStatement\n  | LabeledStatement\n  | ReturnStatement\n  | SwitchStatement\n  | ThrowStatement\n  | TryStatement\n  | VariableDeclaration\n  | WhileStatement\n  | WithStatement\n  | ClassDeclaration\n  | ExportAllDeclaration\n  | ExportDefaultDeclaration\n  | ExportNamedDeclaration\n  | ForOfStatement\n  | ImportDeclaration\n  | DeclareClass\n  | DeclareFunction\n  | DeclareInterface\n  | DeclareModule\n  | DeclareModuleExports\n  | DeclareTypeAlias\n  | DeclareOpaqueType\n  | DeclareVariable\n  | DeclareExportDeclaration\n  | DeclareExportAllDeclaration\n  | InterfaceDeclaration\n  | OpaqueType\n  | TypeAlias\n  | EnumDeclaration\n  | TSDeclareFunction\n  | TSInterfaceDeclaration\n  | TSTypeAliasDeclaration\n  | TSEnumDeclaration\n  | TSModuleDeclaration\n  | TSImportEqualsDeclaration\n  | TSExportAssignment\n  | TSNamespaceExportDeclaration;\nexport type Terminatorless =\n  | BreakStatement\n  | ContinueStatement\n  | ReturnStatement\n  | ThrowStatement\n  | YieldExpression\n  | AwaitExpression;\nexport type CompletionStatement =\n  | BreakStatement\n  | ContinueStatement\n  | ReturnStatement\n  | ThrowStatement;\nexport type Conditional = ConditionalExpression | IfStatement;\nexport type Loop =\n  | DoWhileStatement\n  | ForInStatement\n  | ForStatement\n  | WhileStatement\n  | ForOfStatement;\nexport type While = DoWhileStatement | WhileStatement;\nexport type ExpressionWrapper =\n  | ExpressionStatement\n  | ParenthesizedExpression\n  | TypeCastExpression;\nexport type For = ForInStatement | ForStatement | ForOfStatement;\nexport type ForXStatement = ForInStatement | ForOfStatement;\nexport type Function =\n  | FunctionDeclaration\n  | FunctionExpression\n  | ObjectMethod\n  | ArrowFunctionExpression\n  | ClassMethod\n  | ClassPrivateMethod;\nexport type FunctionParent =\n  | FunctionDeclaration\n  | FunctionExpression\n  | ObjectMethod\n  | ArrowFunctionExpression\n  | ClassMethod\n  | ClassPrivateMethod\n  | StaticBlock\n  | TSModuleBlock;\nexport type Pureish =\n  | FunctionDeclaration\n  | FunctionExpression\n  | StringLiteral\n  | NumericLiteral\n  | NullLiteral\n  | BooleanLiteral\n  | RegExpLiteral\n  | ArrowFunctionExpression\n  | BigIntLiteral\n  | DecimalLiteral;\nexport type Declaration =\n  | FunctionDeclaration\n  | VariableDeclaration\n  | ClassDeclaration\n  | ExportAllDeclaration\n  | ExportDefaultDeclaration\n  | ExportNamedDeclaration\n  | ImportDeclaration\n  | DeclareClass\n  | DeclareFunction\n  | DeclareInterface\n  | DeclareModule\n  | DeclareModuleExports\n  | DeclareTypeAlias\n  | DeclareOpaqueType\n  | DeclareVariable\n  | DeclareExportDeclaration\n  | DeclareExportAllDeclaration\n  | InterfaceDeclaration\n  | OpaqueType\n  | TypeAlias\n  | EnumDeclaration\n  | TSDeclareFunction\n  | TSInterfaceDeclaration\n  | TSTypeAliasDeclaration\n  | TSEnumDeclaration\n  | TSModuleDeclaration;\nexport type PatternLike =\n  | Identifier\n  | RestElement\n  | AssignmentPattern\n  | ArrayPattern\n  | ObjectPattern\n  | TSAsExpression\n  | TSSatisfiesExpression\n  | TSTypeAssertion\n  | TSNonNullExpression;\nexport type LVal =\n  | Identifier\n  | MemberExpression\n  | RestElement\n  | AssignmentPattern\n  | ArrayPattern\n  | ObjectPattern\n  | TSParameterProperty\n  | TSAsExpression\n  | TSSatisfiesExpression\n  | TSTypeAssertion\n  | TSNonNullExpression;\nexport type TSEntityName = Identifier | TSQualifiedName;\nexport type Literal =\n  | StringLiteral\n  | NumericLiteral\n  | NullLiteral\n  | BooleanLiteral\n  | RegExpLiteral\n  | TemplateLiteral\n  | BigIntLiteral\n  | DecimalLiteral;\nexport type Immutable =\n  | StringLiteral\n  | NumericLiteral\n  | NullLiteral\n  | BooleanLiteral\n  | BigIntLiteral\n  | JSXAttribute\n  | JSXClosingElement\n  | JSXElement\n  | JSXExpressionContainer\n  | JSXSpreadChild\n  | JSXOpeningElement\n  | JSXText\n  | JSXFragment\n  | JSXOpeningFragment\n  | JSXClosingFragment\n  | DecimalLiteral;\nexport type UserWhitespacable =\n  | ObjectMethod\n  | ObjectProperty\n  | ObjectTypeInternalSlot\n  | ObjectTypeCallProperty\n  | ObjectTypeIndexer\n  | ObjectTypeProperty\n  | ObjectTypeSpreadProperty;\nexport type Method = ObjectMethod | ClassMethod | ClassPrivateMethod;\nexport type ObjectMember = ObjectMethod | ObjectProperty;\nexport type Property =\n  | ObjectProperty\n  | ClassProperty\n  | ClassAccessorProperty\n  | ClassPrivateProperty;\nexport type UnaryLike = UnaryExpression | SpreadElement;\nexport type Pattern = AssignmentPattern | ArrayPattern | ObjectPattern;\nexport type Class = ClassExpression | ClassDeclaration;\nexport type ImportOrExportDeclaration =\n  | ExportAllDeclaration\n  | ExportDefaultDeclaration\n  | ExportNamedDeclaration\n  | ImportDeclaration;\nexport type ExportDeclaration =\n  | ExportAllDeclaration\n  | ExportDefaultDeclaration\n  | ExportNamedDeclaration;\nexport type ModuleSpecifier =\n  | ExportSpecifier\n  | ImportDefaultSpecifier\n  | ImportNamespaceSpecifier\n  | ImportSpecifier\n  | ExportNamespaceSpecifier\n  | ExportDefaultSpecifier;\nexport type Accessor = ClassAccessorProperty;\nexport type Private = ClassPrivateProperty | ClassPrivateMethod | PrivateName;\nexport type Flow =\n  | AnyTypeAnnotation\n  | ArrayTypeAnnotation\n  | BooleanTypeAnnotation\n  | BooleanLiteralTypeAnnotation\n  | NullLiteralTypeAnnotation\n  | ClassImplements\n  | DeclareClass\n  | DeclareFunction\n  | DeclareInterface\n  | DeclareModule\n  | DeclareModuleExports\n  | DeclareTypeAlias\n  | DeclareOpaqueType\n  | DeclareVariable\n  | DeclareExportDeclaration\n  | DeclareExportAllDeclaration\n  | DeclaredPredicate\n  | ExistsTypeAnnotation\n  | FunctionTypeAnnotation\n  | FunctionTypeParam\n  | GenericTypeAnnotation\n  | InferredPredicate\n  | InterfaceExtends\n  | InterfaceDeclaration\n  | InterfaceTypeAnnotation\n  | IntersectionTypeAnnotation\n  | MixedTypeAnnotation\n  | EmptyTypeAnnotation\n  | NullableTypeAnnotation\n  | NumberLiteralTypeAnnotation\n  | NumberTypeAnnotation\n  | ObjectTypeAnnotation\n  | ObjectTypeInternalSlot\n  | ObjectTypeCallProperty\n  | ObjectTypeIndexer\n  | ObjectTypeProperty\n  | ObjectTypeSpreadProperty\n  | OpaqueType\n  | QualifiedTypeIdentifier\n  | StringLiteralTypeAnnotation\n  | StringTypeAnnotation\n  | SymbolTypeAnnotation\n  | ThisTypeAnnotation\n  | TupleTypeAnnotation\n  | TypeofTypeAnnotation\n  | TypeAlias\n  | TypeAnnotation\n  | TypeCastExpression\n  | TypeParameter\n  | TypeParameterDeclaration\n  | TypeParameterInstantiation\n  | UnionTypeAnnotation\n  | Variance\n  | VoidTypeAnnotation\n  | EnumDeclaration\n  | EnumBooleanBody\n  | EnumNumberBody\n  | EnumStringBody\n  | EnumSymbolBody\n  | EnumBooleanMember\n  | EnumNumberMember\n  | EnumStringMember\n  | EnumDefaultedMember\n  | IndexedAccessType\n  | OptionalIndexedAccessType;\nexport type FlowType =\n  | AnyTypeAnnotation\n  | ArrayTypeAnnotation\n  | BooleanTypeAnnotation\n  | BooleanLiteralTypeAnnotation\n  | NullLiteralTypeAnnotation\n  | ExistsTypeAnnotation\n  | FunctionTypeAnnotation\n  | GenericTypeAnnotation\n  | InterfaceTypeAnnotation\n  | IntersectionTypeAnnotation\n  | MixedTypeAnnotation\n  | EmptyTypeAnnotation\n  | NullableTypeAnnotation\n  | NumberLiteralTypeAnnotation\n  | NumberTypeAnnotation\n  | ObjectTypeAnnotation\n  | StringLiteralTypeAnnotation\n  | StringTypeAnnotation\n  | SymbolTypeAnnotation\n  | ThisTypeAnnotation\n  | TupleTypeAnnotation\n  | TypeofTypeAnnotation\n  | UnionTypeAnnotation\n  | VoidTypeAnnotation\n  | IndexedAccessType\n  | OptionalIndexedAccessType;\nexport type FlowBaseAnnotation =\n  | AnyTypeAnnotation\n  | BooleanTypeAnnotation\n  | NullLiteralTypeAnnotation\n  | MixedTypeAnnotation\n  | EmptyTypeAnnotation\n  | NumberTypeAnnotation\n  | StringTypeAnnotation\n  | SymbolTypeAnnotation\n  | ThisTypeAnnotation\n  | VoidTypeAnnotation;\nexport type FlowDeclaration =\n  | DeclareClass\n  | DeclareFunction\n  | DeclareInterface\n  | DeclareModule\n  | DeclareModuleExports\n  | DeclareTypeAlias\n  | DeclareOpaqueType\n  | DeclareVariable\n  | DeclareExportDeclaration\n  | DeclareExportAllDeclaration\n  | InterfaceDeclaration\n  | OpaqueType\n  | TypeAlias;\nexport type FlowPredicate = DeclaredPredicate | InferredPredicate;\nexport type EnumBody =\n  | EnumBooleanBody\n  | EnumNumberBody\n  | EnumStringBody\n  | EnumSymbolBody;\nexport type EnumMember =\n  | EnumBooleanMember\n  | EnumNumberMember\n  | EnumStringMember\n  | EnumDefaultedMember;\nexport type JSX =\n  | JSXAttribute\n  | JSXClosingElement\n  | JSXElement\n  | JSXEmptyExpression\n  | JSXExpressionContainer\n  | JSXSpreadChild\n  | JSXIdentifier\n  | JSXMemberExpression\n  | JSXNamespacedName\n  | JSXOpeningElement\n  | JSXSpreadAttribute\n  | JSXText\n  | JSXFragment\n  | JSXOpeningFragment\n  | JSXClosingFragment;\nexport type Miscellaneous = Noop | Placeholder | V8IntrinsicIdentifier;\nexport type TypeScript =\n  | TSParameterProperty\n  | TSDeclareFunction\n  | TSDeclareMethod\n  | TSQualifiedName\n  | TSCallSignatureDeclaration\n  | TSConstructSignatureDeclaration\n  | TSPropertySignature\n  | TSMethodSignature\n  | TSIndexSignature\n  | TSAnyKeyword\n  | TSBooleanKeyword\n  | TSBigIntKeyword\n  | TSIntrinsicKeyword\n  | TSNeverKeyword\n  | TSNullKeyword\n  | TSNumberKeyword\n  | TSObjectKeyword\n  | TSStringKeyword\n  | TSSymbolKeyword\n  | TSUndefinedKeyword\n  | TSUnknownKeyword\n  | TSVoidKeyword\n  | TSThisType\n  | TSFunctionType\n  | TSConstructorType\n  | TSTypeReference\n  | TSTypePredicate\n  | TSTypeQuery\n  | TSTypeLiteral\n  | TSArrayType\n  | TSTupleType\n  | TSOptionalType\n  | TSRestType\n  | TSNamedTupleMember\n  | TSUnionType\n  | TSIntersectionType\n  | TSConditionalType\n  | TSInferType\n  | TSParenthesizedType\n  | TSTypeOperator\n  | TSIndexedAccessType\n  | TSMappedType\n  | TSLiteralType\n  | TSExpressionWithTypeArguments\n  | TSInterfaceDeclaration\n  | TSInterfaceBody\n  | TSTypeAliasDeclaration\n  | TSInstantiationExpression\n  | TSAsExpression\n  | TSSatisfiesExpression\n  | TSTypeAssertion\n  | TSEnumDeclaration\n  | TSEnumMember\n  | TSModuleDeclaration\n  | TSModuleBlock\n  | TSImportType\n  | TSImportEqualsDeclaration\n  | TSExternalModuleReference\n  | TSNonNullExpression\n  | TSExportAssignment\n  | TSNamespaceExportDeclaration\n  | TSTypeAnnotation\n  | TSTypeParameterInstantiation\n  | TSTypeParameterDeclaration\n  | TSTypeParameter;\nexport type TSTypeElement =\n  | TSCallSignatureDeclaration\n  | TSConstructSignatureDeclaration\n  | TSPropertySignature\n  | TSMethodSignature\n  | TSIndexSignature;\nexport type TSType =\n  | TSAnyKeyword\n  | TSBooleanKeyword\n  | TSBigIntKeyword\n  | TSIntrinsicKeyword\n  | TSNeverKeyword\n  | TSNullKeyword\n  | TSNumberKeyword\n  | TSObjectKeyword\n  | TSStringKeyword\n  | TSSymbolKeyword\n  | TSUndefinedKeyword\n  | TSUnknownKeyword\n  | TSVoidKeyword\n  | TSThisType\n  | TSFunctionType\n  | TSConstructorType\n  | TSTypeReference\n  | TSTypePredicate\n  | TSTypeQuery\n  | TSTypeLiteral\n  | TSArrayType\n  | TSTupleType\n  | TSOptionalType\n  | TSRestType\n  | TSUnionType\n  | TSIntersectionType\n  | TSConditionalType\n  | TSInferType\n  | TSParenthesizedType\n  | TSTypeOperator\n  | TSIndexedAccessType\n  | TSMappedType\n  | TSLiteralType\n  | TSExpressionWithTypeArguments\n  | TSImportType;\nexport type TSBaseType =\n  | TSAnyKeyword\n  | TSBooleanKeyword\n  | TSBigIntKeyword\n  | TSIntrinsicKeyword\n  | TSNeverKeyword\n  | TSNullKeyword\n  | TSNumberKeyword\n  | TSObjectKeyword\n  | TSStringKeyword\n  | TSSymbolKeyword\n  | TSUndefinedKeyword\n  | TSUnknownKeyword\n  | TSVoidKeyword\n  | TSThisType\n  | TSLiteralType;\nexport type ModuleDeclaration =\n  | ExportAllDeclaration\n  | ExportDefaultDeclaration\n  | ExportNamedDeclaration\n  | ImportDeclaration;\n\nexport interface Aliases {\n  Standardized: Standardized;\n  Expression: Expression;\n  Binary: Binary;\n  Scopable: Scopable;\n  BlockParent: BlockParent;\n  Block: Block;\n  Statement: Statement;\n  Terminatorless: Terminatorless;\n  CompletionStatement: CompletionStatement;\n  Conditional: Conditional;\n  Loop: Loop;\n  While: While;\n  ExpressionWrapper: ExpressionWrapper;\n  For: For;\n  ForXStatement: ForXStatement;\n  Function: Function;\n  FunctionParent: FunctionParent;\n  Pureish: Pureish;\n  Declaration: Declaration;\n  PatternLike: PatternLike;\n  LVal: LVal;\n  TSEntityName: TSEntityName;\n  Literal: Literal;\n  Immutable: Immutable;\n  UserWhitespacable: UserWhitespacable;\n  Method: Method;\n  ObjectMember: ObjectMember;\n  Property: Property;\n  UnaryLike: UnaryLike;\n  Pattern: Pattern;\n  Class: Class;\n  ImportOrExportDeclaration: ImportOrExportDeclaration;\n  ExportDeclaration: ExportDeclaration;\n  ModuleSpecifier: ModuleSpecifier;\n  Accessor: Accessor;\n  Private: Private;\n  Flow: Flow;\n  FlowType: FlowType;\n  FlowBaseAnnotation: FlowBaseAnnotation;\n  FlowDeclaration: FlowDeclaration;\n  FlowPredicate: FlowPredicate;\n  EnumBody: EnumBody;\n  EnumMember: EnumMember;\n  JSX: JSX;\n  Miscellaneous: Miscellaneous;\n  TypeScript: TypeScript;\n  TSTypeElement: TSTypeElement;\n  TSType: TSType;\n  TSBaseType: TSBaseType;\n  ModuleDeclaration: ModuleDeclaration;\n}\n\nexport type DeprecatedAliases =\n  | NumberLiteral\n  | RegexLiteral\n  | RestProperty\n  | SpreadProperty;\n\nexport interface ParentMaps {\n  AnyTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  ArgumentPlaceholder: CallExpression | NewExpression | OptionalCallExpression;\n  ArrayExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ArrayPattern:\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | CatchClause\n    | ClassMethod\n    | ClassPrivateMethod\n    | ForInStatement\n    | ForOfStatement\n    | FunctionDeclaration\n    | FunctionExpression\n    | ObjectMethod\n    | ObjectProperty\n    | RestElement\n    | TSCallSignatureDeclaration\n    | TSConstructSignatureDeclaration\n    | TSConstructorType\n    | TSDeclareFunction\n    | TSDeclareMethod\n    | TSFunctionType\n    | TSMethodSignature\n    | VariableDeclarator;\n  ArrayTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  ArrowFunctionExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  AssignmentExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  AssignmentPattern:\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | ClassMethod\n    | ClassPrivateMethod\n    | ForInStatement\n    | ForOfStatement\n    | FunctionDeclaration\n    | FunctionExpression\n    | ObjectMethod\n    | ObjectProperty\n    | RestElement\n    | TSDeclareFunction\n    | TSDeclareMethod\n    | TSParameterProperty\n    | VariableDeclarator;\n  AwaitExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  BigIntLiteral:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSLiteralType\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  BinaryExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  BindExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  BlockStatement:\n    | ArrowFunctionExpression\n    | BlockStatement\n    | CatchClause\n    | ClassMethod\n    | ClassPrivateMethod\n    | DeclareModule\n    | DoExpression\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | FunctionDeclaration\n    | FunctionExpression\n    | IfStatement\n    | LabeledStatement\n    | ObjectMethod\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | TryStatement\n    | WhileStatement\n    | WithStatement;\n  BooleanLiteral:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | EnumBooleanMember\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSLiteralType\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  BooleanLiteralTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  BooleanTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  BreakStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  CallExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  CatchClause: TryStatement;\n  ClassAccessorProperty: ClassBody;\n  ClassBody: ClassDeclaration | ClassExpression;\n  ClassDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  ClassExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ClassImplements:\n    | ClassDeclaration\n    | ClassExpression\n    | DeclareClass\n    | DeclareExportDeclaration\n    | DeclaredPredicate;\n  ClassMethod: ClassBody;\n  ClassPrivateMethod: ClassBody;\n  ClassPrivateProperty: ClassBody;\n  ClassProperty: ClassBody;\n  CommentBlock: File;\n  CommentLine: File;\n  ConditionalExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ContinueStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DebuggerStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DecimalLiteral:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  DeclareClass:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclareExportAllDeclaration:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclareExportDeclaration:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclareFunction:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclareInterface:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclareModule:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclareModuleExports:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclareOpaqueType:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclareTypeAlias:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclareVariable:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  DeclaredPredicate:\n    | ArrowFunctionExpression\n    | DeclareExportDeclaration\n    | DeclareFunction\n    | DeclaredPredicate\n    | FunctionDeclaration\n    | FunctionExpression;\n  Decorator:\n    | ArrayPattern\n    | AssignmentPattern\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | Identifier\n    | ObjectMethod\n    | ObjectPattern\n    | ObjectProperty\n    | Placeholder\n    | RestElement\n    | TSDeclareMethod\n    | TSParameterProperty;\n  Directive: BlockStatement | Program;\n  DirectiveLiteral: Directive;\n  DoExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  DoWhileStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  EmptyStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  EmptyTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  EnumBooleanBody:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | EnumDeclaration;\n  EnumBooleanMember:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | EnumBooleanBody;\n  EnumDeclaration:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  EnumDefaultedMember:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | EnumStringBody\n    | EnumSymbolBody;\n  EnumNumberBody:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | EnumDeclaration;\n  EnumNumberMember:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | EnumNumberBody;\n  EnumStringBody:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | EnumDeclaration;\n  EnumStringMember:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | EnumStringBody;\n  EnumSymbolBody:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | EnumDeclaration;\n  ExistsTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  ExportAllDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  ExportDefaultDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  ExportDefaultSpecifier: ExportNamedDeclaration;\n  ExportNamedDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  ExportNamespaceSpecifier: DeclareExportDeclaration | ExportNamedDeclaration;\n  ExportSpecifier: DeclareExportDeclaration | ExportNamedDeclaration;\n  ExpressionStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  File: null;\n  ForInStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  ForOfStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  ForStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  FunctionDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  FunctionExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  FunctionTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  FunctionTypeParam:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | FunctionTypeAnnotation;\n  GenericTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  Identifier:\n    | ArrayExpression\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | BreakStatement\n    | CallExpression\n    | CatchClause\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassImplements\n    | ClassMethod\n    | ClassPrivateMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | ContinueStatement\n    | DeclareClass\n    | DeclareFunction\n    | DeclareInterface\n    | DeclareModule\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclareVariable\n    | Decorator\n    | DoWhileStatement\n    | EnumBooleanMember\n    | EnumDeclaration\n    | EnumDefaultedMember\n    | EnumNumberMember\n    | EnumStringMember\n    | ExportDefaultDeclaration\n    | ExportDefaultSpecifier\n    | ExportNamespaceSpecifier\n    | ExportSpecifier\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | FunctionDeclaration\n    | FunctionExpression\n    | FunctionTypeParam\n    | GenericTypeAnnotation\n    | IfStatement\n    | ImportAttribute\n    | ImportDefaultSpecifier\n    | ImportExpression\n    | ImportNamespaceSpecifier\n    | ImportSpecifier\n    | InterfaceDeclaration\n    | InterfaceExtends\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LabeledStatement\n    | LogicalExpression\n    | MemberExpression\n    | MetaProperty\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | OpaqueType\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | Placeholder\n    | PrivateName\n    | QualifiedTypeIdentifier\n    | RestElement\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSCallSignatureDeclaration\n    | TSConstructSignatureDeclaration\n    | TSConstructorType\n    | TSDeclareFunction\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSExpressionWithTypeArguments\n    | TSFunctionType\n    | TSImportEqualsDeclaration\n    | TSImportType\n    | TSIndexSignature\n    | TSInstantiationExpression\n    | TSInterfaceDeclaration\n    | TSMethodSignature\n    | TSModuleDeclaration\n    | TSNamedTupleMember\n    | TSNamespaceExportDeclaration\n    | TSNonNullExpression\n    | TSParameterProperty\n    | TSPropertySignature\n    | TSQualifiedName\n    | TSSatisfiesExpression\n    | TSTypeAliasDeclaration\n    | TSTypeAssertion\n    | TSTypePredicate\n    | TSTypeQuery\n    | TSTypeReference\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeAlias\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  IfStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  Import:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ImportAttribute:\n    | DeclareExportAllDeclaration\n    | DeclareExportDeclaration\n    | ExportAllDeclaration\n    | ExportNamedDeclaration\n    | ImportDeclaration;\n  ImportDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  ImportDefaultSpecifier: ImportDeclaration;\n  ImportExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ImportNamespaceSpecifier: ImportDeclaration;\n  ImportSpecifier: ImportDeclaration;\n  IndexedAccessType:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  InferredPredicate:\n    | ArrowFunctionExpression\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | FunctionDeclaration\n    | FunctionExpression;\n  InterfaceDeclaration:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  InterfaceExtends:\n    | ClassDeclaration\n    | ClassExpression\n    | DeclareClass\n    | DeclareExportDeclaration\n    | DeclareInterface\n    | DeclaredPredicate\n    | InterfaceDeclaration\n    | InterfaceTypeAnnotation;\n  InterfaceTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  InterpreterDirective: Program;\n  IntersectionTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  JSXAttribute: JSXOpeningElement;\n  JSXClosingElement: JSXElement;\n  JSXClosingFragment: JSXFragment;\n  JSXElement:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXAttribute\n    | JSXElement\n    | JSXExpressionContainer\n    | JSXFragment\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  JSXEmptyExpression: JSXExpressionContainer;\n  JSXExpressionContainer: JSXAttribute | JSXElement | JSXFragment;\n  JSXFragment:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXAttribute\n    | JSXElement\n    | JSXExpressionContainer\n    | JSXFragment\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  JSXIdentifier:\n    | JSXAttribute\n    | JSXClosingElement\n    | JSXMemberExpression\n    | JSXNamespacedName\n    | JSXOpeningElement;\n  JSXMemberExpression:\n    | JSXClosingElement\n    | JSXMemberExpression\n    | JSXOpeningElement;\n  JSXNamespacedName: JSXAttribute | JSXClosingElement | JSXOpeningElement;\n  JSXOpeningElement: JSXElement;\n  JSXOpeningFragment: JSXFragment;\n  JSXSpreadAttribute: JSXOpeningElement;\n  JSXSpreadChild: JSXElement | JSXFragment;\n  JSXText: JSXElement | JSXFragment;\n  LabeledStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  LogicalExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  MemberExpression:\n    | ArrayExpression\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | RestElement\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  MetaProperty:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  MixedTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  ModuleExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  NewExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  Noop:\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentPattern\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | FunctionDeclaration\n    | FunctionExpression\n    | Identifier\n    | ObjectMethod\n    | ObjectPattern\n    | Placeholder\n    | RestElement\n    | TSDeclareFunction\n    | TSDeclareMethod;\n  NullLiteral:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  NullLiteralTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  NullableTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  NumberLiteral: null;\n  NumberLiteralTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  NumberTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  NumericLiteral:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | EnumNumberMember\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSLiteralType\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ObjectExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ObjectMethod: ObjectExpression;\n  ObjectPattern:\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | CatchClause\n    | ClassMethod\n    | ClassPrivateMethod\n    | ForInStatement\n    | ForOfStatement\n    | FunctionDeclaration\n    | FunctionExpression\n    | ObjectMethod\n    | ObjectProperty\n    | RestElement\n    | TSCallSignatureDeclaration\n    | TSConstructSignatureDeclaration\n    | TSConstructorType\n    | TSDeclareFunction\n    | TSDeclareMethod\n    | TSFunctionType\n    | TSMethodSignature\n    | VariableDeclarator;\n  ObjectProperty: ObjectExpression | ObjectPattern | RecordExpression;\n  ObjectTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareClass\n    | DeclareExportDeclaration\n    | DeclareInterface\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | InterfaceDeclaration\n    | InterfaceTypeAnnotation\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  ObjectTypeCallProperty:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | ObjectTypeAnnotation;\n  ObjectTypeIndexer:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | ObjectTypeAnnotation;\n  ObjectTypeInternalSlot:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | ObjectTypeAnnotation;\n  ObjectTypeProperty:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | ObjectTypeAnnotation;\n  ObjectTypeSpreadProperty:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | ObjectTypeAnnotation;\n  OpaqueType:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  OptionalCallExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  OptionalIndexedAccessType:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  OptionalMemberExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ParenthesizedExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  PipelineBareFunction:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  PipelinePrimaryTopicReference:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  PipelineTopicExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  Placeholder: Node;\n  PrivateName:\n    | BinaryExpression\n    | ClassAccessorProperty\n    | ClassPrivateMethod\n    | ClassPrivateProperty\n    | MemberExpression\n    | ObjectProperty;\n  Program: File | ModuleExpression;\n  QualifiedTypeIdentifier:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | GenericTypeAnnotation\n    | InterfaceExtends\n    | QualifiedTypeIdentifier;\n  RecordExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  RegExpLiteral:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  RegexLiteral: null;\n  RestElement:\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | ClassMethod\n    | ClassPrivateMethod\n    | ForInStatement\n    | ForOfStatement\n    | FunctionDeclaration\n    | FunctionExpression\n    | ObjectMethod\n    | ObjectPattern\n    | ObjectProperty\n    | RestElement\n    | TSCallSignatureDeclaration\n    | TSConstructSignatureDeclaration\n    | TSConstructorType\n    | TSDeclareFunction\n    | TSDeclareMethod\n    | TSFunctionType\n    | TSMethodSignature\n    | VariableDeclarator;\n  RestProperty: null;\n  ReturnStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  SequenceExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  SpreadElement:\n    | ArrayExpression\n    | CallExpression\n    | NewExpression\n    | ObjectExpression\n    | OptionalCallExpression\n    | RecordExpression\n    | TupleExpression;\n  SpreadProperty: null;\n  StaticBlock: ClassBody;\n  StringLiteral:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | DeclareExportAllDeclaration\n    | DeclareExportDeclaration\n    | DeclareModule\n    | Decorator\n    | DoWhileStatement\n    | EnumStringMember\n    | ExportAllDeclaration\n    | ExportDefaultDeclaration\n    | ExportNamedDeclaration\n    | ExportSpecifier\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportAttribute\n    | ImportDeclaration\n    | ImportExpression\n    | ImportSpecifier\n    | JSXAttribute\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | ObjectTypeProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSExternalModuleReference\n    | TSImportType\n    | TSInstantiationExpression\n    | TSLiteralType\n    | TSMethodSignature\n    | TSModuleDeclaration\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  StringLiteralTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  StringTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  Super:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  SwitchCase: SwitchStatement;\n  SwitchStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  SymbolTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  TSAnyKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSArrayType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSAsExpression:\n    | ArrayExpression\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | RestElement\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  TSBigIntKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSBooleanKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSCallSignatureDeclaration: TSInterfaceBody | TSTypeLiteral;\n  TSConditionalType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSConstructSignatureDeclaration: TSInterfaceBody | TSTypeLiteral;\n  TSConstructorType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSDeclareFunction:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TSDeclareMethod: ClassBody;\n  TSEnumDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TSEnumMember: TSEnumDeclaration;\n  TSExportAssignment:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TSExpressionWithTypeArguments:\n    | ClassDeclaration\n    | ClassExpression\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSInterfaceDeclaration\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSExternalModuleReference: TSImportEqualsDeclaration;\n  TSFunctionType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSImportEqualsDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TSImportType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSTypeQuery\n    | TSUnionType\n    | TemplateLiteral;\n  TSIndexSignature: ClassBody | TSInterfaceBody | TSTypeLiteral;\n  TSIndexedAccessType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSInferType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSInstantiationExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  TSInterfaceBody: TSInterfaceDeclaration;\n  TSInterfaceDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TSIntersectionType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSIntrinsicKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSLiteralType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSMappedType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSMethodSignature: TSInterfaceBody | TSTypeLiteral;\n  TSModuleBlock: TSModuleDeclaration;\n  TSModuleDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | TSModuleDeclaration\n    | WhileStatement\n    | WithStatement;\n  TSNamedTupleMember: TSTupleType;\n  TSNamespaceExportDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TSNeverKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSNonNullExpression:\n    | ArrayExpression\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | RestElement\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  TSNullKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSNumberKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSObjectKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSOptionalType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSParameterProperty:\n    | ArrayPattern\n    | AssignmentExpression\n    | ClassMethod\n    | ClassPrivateMethod\n    | ForInStatement\n    | ForOfStatement\n    | RestElement\n    | TSDeclareMethod\n    | VariableDeclarator;\n  TSParenthesizedType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSPropertySignature: TSInterfaceBody | TSTypeLiteral;\n  TSQualifiedName:\n    | TSExpressionWithTypeArguments\n    | TSImportEqualsDeclaration\n    | TSImportType\n    | TSQualifiedName\n    | TSTypeQuery\n    | TSTypeReference;\n  TSRestType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSSatisfiesExpression:\n    | ArrayExpression\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | RestElement\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  TSStringKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSSymbolKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSThisType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSTypePredicate\n    | TSUnionType\n    | TemplateLiteral;\n  TSTupleType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSTypeAliasDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TSTypeAnnotation:\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentPattern\n    | ClassAccessorProperty\n    | ClassMethod\n    | ClassPrivateMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | FunctionDeclaration\n    | FunctionExpression\n    | Identifier\n    | ObjectMethod\n    | ObjectPattern\n    | Placeholder\n    | RestElement\n    | TSCallSignatureDeclaration\n    | TSConstructSignatureDeclaration\n    | TSConstructorType\n    | TSDeclareFunction\n    | TSDeclareMethod\n    | TSFunctionType\n    | TSIndexSignature\n    | TSMethodSignature\n    | TSPropertySignature\n    | TSTypePredicate;\n  TSTypeAssertion:\n    | ArrayExpression\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | RestElement\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  TSTypeLiteral:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSTypeOperator:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSTypeParameter: TSInferType | TSMappedType | TSTypeParameterDeclaration;\n  TSTypeParameterDeclaration:\n    | ArrowFunctionExpression\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateMethod\n    | FunctionDeclaration\n    | FunctionExpression\n    | ObjectMethod\n    | TSCallSignatureDeclaration\n    | TSConstructSignatureDeclaration\n    | TSConstructorType\n    | TSDeclareFunction\n    | TSDeclareMethod\n    | TSFunctionType\n    | TSInterfaceDeclaration\n    | TSMethodSignature\n    | TSTypeAliasDeclaration;\n  TSTypeParameterInstantiation:\n    | CallExpression\n    | ClassDeclaration\n    | ClassExpression\n    | JSXOpeningElement\n    | NewExpression\n    | OptionalCallExpression\n    | TSExpressionWithTypeArguments\n    | TSImportType\n    | TSInstantiationExpression\n    | TSTypeQuery\n    | TSTypeReference\n    | TaggedTemplateExpression;\n  TSTypePredicate:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSTypeQuery:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSTypeReference:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSUndefinedKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSUnionType:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSUnknownKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TSVoidKeyword:\n    | TSArrayType\n    | TSAsExpression\n    | TSConditionalType\n    | TSIndexedAccessType\n    | TSIntersectionType\n    | TSMappedType\n    | TSNamedTupleMember\n    | TSOptionalType\n    | TSParenthesizedType\n    | TSRestType\n    | TSSatisfiesExpression\n    | TSTupleType\n    | TSTypeAliasDeclaration\n    | TSTypeAnnotation\n    | TSTypeAssertion\n    | TSTypeOperator\n    | TSTypeParameter\n    | TSTypeParameterInstantiation\n    | TSUnionType\n    | TemplateLiteral;\n  TaggedTemplateExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  TemplateElement: TemplateLiteral;\n  TemplateLiteral:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSLiteralType\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ThisExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  ThisTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  ThrowStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TopicReference:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  TryStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TupleExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  TupleTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  TypeAlias:\n    | BlockStatement\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  TypeAnnotation:\n    | ArrayPattern\n    | ArrowFunctionExpression\n    | AssignmentPattern\n    | ClassAccessorProperty\n    | ClassMethod\n    | ClassPrivateMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | DeclareExportDeclaration\n    | DeclareModuleExports\n    | DeclaredPredicate\n    | FunctionDeclaration\n    | FunctionExpression\n    | Identifier\n    | ObjectMethod\n    | ObjectPattern\n    | Placeholder\n    | RestElement\n    | TypeCastExpression\n    | TypeParameter;\n  TypeCastExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  TypeParameter:\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | TypeParameterDeclaration;\n  TypeParameterDeclaration:\n    | ArrowFunctionExpression\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateMethod\n    | DeclareClass\n    | DeclareExportDeclaration\n    | DeclareInterface\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionDeclaration\n    | FunctionExpression\n    | FunctionTypeAnnotation\n    | InterfaceDeclaration\n    | ObjectMethod\n    | OpaqueType\n    | TypeAlias;\n  TypeParameterInstantiation:\n    | CallExpression\n    | ClassDeclaration\n    | ClassExpression\n    | ClassImplements\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | GenericTypeAnnotation\n    | InterfaceExtends\n    | JSXOpeningElement\n    | NewExpression\n    | OptionalCallExpression\n    | TaggedTemplateExpression;\n  TypeofTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  UnaryExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSLiteralType\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  UnionTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  UpdateExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n  V8IntrinsicIdentifier: CallExpression | NewExpression;\n  VariableDeclaration:\n    | BlockStatement\n    | DoWhileStatement\n    | ExportNamedDeclaration\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  VariableDeclarator: VariableDeclaration;\n  Variance:\n    | ClassAccessorProperty\n    | ClassPrivateProperty\n    | ClassProperty\n    | DeclareExportDeclaration\n    | DeclaredPredicate\n    | ObjectTypeIndexer\n    | ObjectTypeProperty\n    | TypeParameter;\n  VoidTypeAnnotation:\n    | ArrayTypeAnnotation\n    | DeclareExportDeclaration\n    | DeclareOpaqueType\n    | DeclareTypeAlias\n    | DeclaredPredicate\n    | FunctionTypeAnnotation\n    | FunctionTypeParam\n    | IndexedAccessType\n    | IntersectionTypeAnnotation\n    | NullableTypeAnnotation\n    | ObjectTypeCallProperty\n    | ObjectTypeIndexer\n    | ObjectTypeInternalSlot\n    | ObjectTypeProperty\n    | ObjectTypeSpreadProperty\n    | OpaqueType\n    | OptionalIndexedAccessType\n    | TupleTypeAnnotation\n    | TypeAlias\n    | TypeAnnotation\n    | TypeParameter\n    | TypeParameterInstantiation\n    | TypeofTypeAnnotation\n    | UnionTypeAnnotation;\n  WhileStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  WithStatement:\n    | BlockStatement\n    | DoWhileStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | LabeledStatement\n    | Program\n    | StaticBlock\n    | SwitchCase\n    | TSModuleBlock\n    | WhileStatement\n    | WithStatement;\n  YieldExpression:\n    | ArrayExpression\n    | ArrowFunctionExpression\n    | AssignmentExpression\n    | AssignmentPattern\n    | AwaitExpression\n    | BinaryExpression\n    | BindExpression\n    | CallExpression\n    | ClassAccessorProperty\n    | ClassDeclaration\n    | ClassExpression\n    | ClassMethod\n    | ClassPrivateProperty\n    | ClassProperty\n    | ConditionalExpression\n    | Decorator\n    | DoWhileStatement\n    | ExportDefaultDeclaration\n    | ExpressionStatement\n    | ForInStatement\n    | ForOfStatement\n    | ForStatement\n    | IfStatement\n    | ImportExpression\n    | JSXExpressionContainer\n    | JSXSpreadAttribute\n    | JSXSpreadChild\n    | LogicalExpression\n    | MemberExpression\n    | NewExpression\n    | ObjectMethod\n    | ObjectProperty\n    | OptionalCallExpression\n    | OptionalMemberExpression\n    | ParenthesizedExpression\n    | PipelineBareFunction\n    | PipelineTopicExpression\n    | ReturnStatement\n    | SequenceExpression\n    | SpreadElement\n    | SwitchCase\n    | SwitchStatement\n    | TSAsExpression\n    | TSDeclareMethod\n    | TSEnumDeclaration\n    | TSEnumMember\n    | TSExportAssignment\n    | TSImportType\n    | TSInstantiationExpression\n    | TSMethodSignature\n    | TSNonNullExpression\n    | TSPropertySignature\n    | TSSatisfiesExpression\n    | TSTypeAssertion\n    | TaggedTemplateExpression\n    | TemplateLiteral\n    | ThrowStatement\n    | TupleExpression\n    | TypeCastExpression\n    | UnaryExpression\n    | UpdateExpression\n    | VariableDeclarator\n    | WhileStatement\n    | WithStatement\n    | YieldExpression;\n}\n"],"mappings":"","ignoreList":[]}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         {"version":3,"names":["_validate","require","_deprecationWarning","utils","validateInternal","validate","NODE_FIELDS","arrayExpression","elements","node","type","defs","ArrayExpression","assignmentExpression","operator","left","right","AssignmentExpression","binaryExpression","BinaryExpression","interpreterDirective","value","InterpreterDirective","directive","Directive","directiveLiteral","DirectiveLiteral","blockStatement","body","directives","BlockStatement","breakStatement","label","BreakStatement","callExpression","callee","_arguments","arguments","CallExpression","catchClause","param","CatchClause","conditionalExpression","test","consequent","alternate","ConditionalExpression","continueStatement","ContinueStatement","debuggerStatement","doWhileStatement","DoWhileStatement","emptyStatement","expressionStatement","expression","ExpressionStatement","file","program","comments","tokens","File","forInStatement","ForInStatement","forStatement","init","update","ForStatement","functionDeclaration","id","params","generator","async","FunctionDeclaration","functionExpression","FunctionExpression","identifier","name","Identifier","ifStatement","IfStatement","labeledStatement","LabeledStatement","stringLiteral","StringLiteral","numericLiteral","NumericLiteral","nullLiteral","booleanLiteral","BooleanLiteral","regExpLiteral","pattern","flags","RegExpLiteral","logicalExpression","LogicalExpression","memberExpression","object","property","computed","optional","MemberExpression","newExpression","NewExpression","sourceType","interpreter","Program","objectExpression","properties","ObjectExpression","objectMethod","kind","key","ObjectMethod","objectProperty","shorthand","decorators","ObjectProperty","restElement","argument","RestElement","returnStatement","ReturnStatement","sequenceExpression","expressions","SequenceExpression","parenthesizedExpression","ParenthesizedExpression","switchCase","SwitchCase","switchStatement","discriminant","cases","SwitchStatement","thisExpression","throwStatement","ThrowStatement","tryStatement","block","handler","finalizer","TryStatement","unaryExpression","prefix","UnaryExpression","updateExpression","UpdateExpression","variableDeclaration","declarations","VariableDeclaration","variableDeclarator","VariableDeclarator","whileStatement","WhileStatement","withStatement","WithStatement","assignmentPattern","AssignmentPattern","arrayPattern","ArrayPattern","arrowFunctionExpression","ArrowFunctionExpression","classBody","ClassBody","classExpression","superClass","ClassExpression","classDeclaration","ClassDeclaration","exportAllDeclaration","source","ExportAllDeclaration","exportDefaultDeclaration","declaration","ExportDefaultDeclaration","exportNamedDeclaration","specifiers","ExportNamedDeclaration","exportSpecifier","local","exported","ExportSpecifier","forOfStatement","_await","await","ForOfStatement","importDeclaration","ImportDeclaration","importDefaultSpecifier","ImportDefaultSpecifier","importNamespaceSpecifier","ImportNamespaceSpecifier","importSpecifier","imported","ImportSpecifier","importExpression","options","ImportExpression","metaProperty","meta","MetaProperty","classMethod","_static","static","ClassMethod","objectPattern","ObjectPattern","spreadElement","SpreadElement","_super","taggedTemplateExpression","tag","quasi","TaggedTemplateExpression","templateElement","tail","TemplateElement","templateLiteral","quasis","TemplateLiteral","yieldExpression","delegate","YieldExpression","awaitExpression","AwaitExpression","_import","bigIntLiteral","BigIntLiteral","exportNamespaceSpecifier","ExportNamespaceSpecifier","optionalMemberExpression","OptionalMemberExpression","optionalCallExpression","OptionalCallExpression","classProperty","typeAnnotation","ClassProperty","classAccessorProperty","ClassAccessorProperty","classPrivateProperty","ClassPrivateProperty","classPrivateMethod","ClassPrivateMethod","privateName","PrivateName","staticBlock","StaticBlock","anyTypeAnnotation","arrayTypeAnnotation","elementType","ArrayTypeAnnotation","booleanTypeAnnotation","booleanLiteralTypeAnnotation","BooleanLiteralTypeAnnotation","nullLiteralTypeAnnotation","classImplements","typeParameters","ClassImplements","declareClass","_extends","extends","DeclareClass","declareFunction","DeclareFunction","declareInterface","DeclareInterface","declareModule","DeclareModule","declareModuleExports","DeclareModuleExports","declareTypeAlias","DeclareTypeAlias","declareOpaqueType","supertype","DeclareOpaqueType","declareVariable","DeclareVariable","declareExportDeclaration","attributes","DeclareExportDeclaration","declareExportAllDeclaration","DeclareExportAllDeclaration","declaredPredicate","DeclaredPredicate","existsTypeAnnotation","functionTypeAnnotation","rest","returnType","FunctionTypeAnnotation","functionTypeParam","FunctionTypeParam","genericTypeAnnotation","GenericTypeAnnotation","inferredPredicate","interfaceExtends","InterfaceExtends","interfaceDeclaration","InterfaceDeclaration","interfaceTypeAnnotation","InterfaceTypeAnnotation","intersectionTypeAnnotation","types","IntersectionTypeAnnotation","mixedTypeAnnotation","emptyTypeAnnotation","nullableTypeAnnotation","NullableTypeAnnotation","numberLiteralTypeAnnotation","NumberLiteralTypeAnnotation","numberTypeAnnotation","objectTypeAnnotation","indexers","callProperties","internalSlots","exact","ObjectTypeAnnotation","objectTypeInternalSlot","method","ObjectTypeInternalSlot","objectTypeCallProperty","ObjectTypeCallProperty","objectTypeIndexer","variance","ObjectTypeIndexer","objectTypeProperty","proto","ObjectTypeProperty","objectTypeSpreadProperty","ObjectTypeSpreadProperty","opaqueType","impltype","OpaqueType","qualifiedTypeIdentifier","qualification","QualifiedTypeIdentifier","stringLiteralTypeAnnotation","StringLiteralTypeAnnotation","stringTypeAnnotation","symbolTypeAnnotation","thisTypeAnnotation","tupleTypeAnnotation","TupleTypeAnnotation","typeofTypeAnnotation","TypeofTypeAnnotation","typeAlias","TypeAlias","TypeAnnotation","typeCastExpression","TypeCastExpression","typeParameter","bound","_default","default","TypeParameter","typeParameterDeclaration","TypeParameterDeclaration","typeParameterInstantiation","TypeParameterInstantiation","unionTypeAnnotation","UnionTypeAnnotation","Variance","voidTypeAnnotation","enumDeclaration","EnumDeclaration","enumBooleanBody","members","explicitType","hasUnknownMembers","EnumBooleanBody","enumNumberBody","EnumNumberBody","enumStringBody","EnumStringBody","enumSymbolBody","EnumSymbolBody","enumBooleanMember","EnumBooleanMember","enumNumberMember","EnumNumberMember","enumStringMember","EnumStringMember","enumDefaultedMember","EnumDefaultedMember","indexedAccessType","objectType","indexType","IndexedAccessType","optionalIndexedAccessType","OptionalIndexedAccessType","jsxAttribute","JSXAttribute","jsxClosingElement","JSXClosingElement","jsxElement","openingElement","closingElement","children","selfClosing","JSXElement","jsxEmptyExpression","jsxExpressionContainer","JSXExpressionContainer","jsxSpreadChild","JSXSpreadChild","jsxIdentifier","JSXIdentifier","jsxMemberExpression","JSXMemberExpression","jsxNamespacedName","namespace","JSXNamespacedName","jsxOpeningElement","JSXOpeningElement","jsxSpreadAttribute","JSXSpreadAttribute","jsxText","JSXText","jsxFragment","openingFragment","closingFragment","JSXFragment","jsxOpeningFragment","jsxClosingFragment","noop","placeholder","expectedNode","Placeholder","v8IntrinsicIdentifier","V8IntrinsicIdentifier","argumentPlaceholder","bindExpression","BindExpression","importAttribute","ImportAttribute","decorator","Decorator","doExpression","DoExpression","exportDefaultSpecifier","ExportDefaultSpecifier","recordExpression","RecordExpression","tupleExpression","TupleExpression","decimalLiteral","DecimalLiteral","moduleExpression","ModuleExpression","topicReference","pipelineTopicExpression","PipelineTopicExpression","pipelineBareFunction","PipelineBareFunction","pipelinePrimaryTopicReference","tsParameterProperty","parameter","TSParameterProperty","tsDeclareFunction","TSDeclareFunction","tsDeclareMethod","TSDeclareMethod","tsQualifiedName","TSQualifiedName","tsCallSignatureDeclaration","parameters","TSCallSignatureDeclaration","tsConstructSignatureDeclaration","TSConstructSignatureDeclaration","tsPropertySignature","TSPropertySignature","tsMethodSignature","TSMethodSignature","tsIndexSignature","TSIndexSignature","tsAnyKeyword","tsBooleanKeyword","tsBigIntKeyword","tsIntrinsicKeyword","tsNeverKeyword","tsNullKeyword","tsNumberKeyword","tsObjectKeyword","tsStringKeyword","tsSymbolKeyword","tsUndefinedKeyword","tsUnknownKeyword","tsVoidKeyword","tsThisType","tsFunctionType","TSFunctionType","tsConstructorType","TSConstructorType","tsTypeReference","typeName","TSTypeReference","tsTypePredicate","parameterName","asserts","TSTypePredicate","tsTypeQuery","exprName","TSTypeQuery","tsTypeLiteral","TSTypeLiteral","tsArrayType","TSArrayType","tsTupleType","elementTypes","TSTupleType","tsOptionalType","TSOptionalType","tsRestType","TSRestType","tsNamedTupleMember","TSNamedTupleMember","tsUnionType","TSUnionType","tsIntersectionType","TSIntersectionType","tsConditionalType","checkType","extendsType","trueType","falseType","TSConditionalType","tsInferType","TSInferType","tsParenthesizedType","TSParenthesizedType","tsTypeOperator","TSTypeOperator","tsIndexedAccessType","TSIndexedAccessType","tsMappedType","nameType","TSMappedType","tsLiteralType","literal","TSLiteralType","tsExpressionWithTypeArguments","TSExpressionWithTypeArguments","tsInterfaceDeclaration","TSInterfaceDeclaration","tsInterfaceBody","TSInterfaceBody","tsTypeAliasDeclaration","TSTypeAliasDeclaration","tsInstantiationExpression","TSInstantiationExpression","tsAsExpression","TSAsExpression","tsSatisfiesExpression","TSSatisfiesExpression","tsTypeAssertion","TSTypeAssertion","tsEnumDeclaration","TSEnumDeclaration","tsEnumMember","initializer","TSEnumMember","tsModuleDeclaration","TSModuleDeclaration","tsModuleBlock","TSModuleBlock","tsImportType","qualifier","TSImportType","tsImportEqualsDeclaration","moduleReference","isExport","TSImportEqualsDeclaration","tsExternalModuleReference","TSExternalModuleReference","tsNonNullExpression","TSNonNullExpression","tsExportAssignment","TSExportAssignment","tsNamespaceExportDeclaration","TSNamespaceExportDeclaration","tsTypeAnnotation","TSTypeAnnotation","tsTypeParameterInstantiation","TSTypeParameterInstantiation","tsTypeParameterDeclaration","TSTypeParameterDeclaration","tsTypeParameter","constraint","TSTypeParameter","NumberLiteral","deprecationWarning","RegexLiteral","RestProperty","SpreadProperty"],"sources":["../../../src/builders/generated/index.ts"],"sourcesContent":["/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\nimport * as _validate from \"../../validators/validate.ts\";\nimport type * as t from \"../../index.ts\";\nimport deprecationWarning from \"../../utils/deprecationWarning.ts\";\nimport * as utils from \"../../definitions/utils.ts\";\n\nconst { validateInternal: validate } = _validate;\nconst { NODE_FIELDS } = utils;\n\nexport function arrayExpression(\n  elements: Array<null | t.Expression | t.SpreadElement> = [],\n): t.ArrayExpression {\n  const node: t.ArrayExpression = {\n    type: \"ArrayExpression\",\n    elements,\n  };\n  const defs = NODE_FIELDS.ArrayExpression;\n  validate(defs.elements, node, \"elements\", elements, 1);\n  return node;\n}\nexport function assignmentExpression(\n  operator: string,\n  left: t.LVal | t.OptionalMemberExpression,\n  right: t.Expression,\n): t.AssignmentExpression {\n  const node: t.AssignmentExpression = {\n    type: \"AssignmentExpression\",\n    operator,\n    left,\n    right,\n  };\n  const defs = NODE_FIELDS.AssignmentExpression;\n  validate(defs.operator, node, \"operator\", operator);\n  validate(defs.left, node, \"left\", left, 1);\n  validate(defs.right, node, \"right\", right, 1);\n  return node;\n}\nexport function binaryExpression(\n  operator:\n    | \"+\"\n    | \"-\"\n    | \"/\"\n    | \"%\"\n    | \"*\"\n    | \"**\"\n    | \"&\"\n    | \"|\"\n    | \">>\"\n    | \">>>\"\n    | \"<<\"\n    | \"^\"\n    | \"==\"\n    | \"===\"\n    | \"!=\"\n    | \"!==\"\n    | \"in\"\n    | \"instanceof\"\n    | \">\"\n    | \"<\"\n    | \">=\"\n    | \"<=\"\n    | \"|>\",\n  left: t.Expression | t.PrivateName,\n  right: t.Expression,\n): t.BinaryExpression {\n  const node: t.BinaryExpression = {\n    type: \"BinaryExpression\",\n    operator,\n    left,\n    right,\n  };\n  const defs = NODE_FIELDS.BinaryExpression;\n  validate(defs.operator, node, \"operator\", operator);\n  validate(defs.left, node, \"left\", left, 1);\n  validate(defs.right, node, \"right\", right, 1);\n  return node;\n}\nexport function interpreterDirective(value: string): t.InterpreterDirective {\n  const node: t.InterpreterDirective = {\n    type: \"InterpreterDirective\",\n    value,\n  };\n  const defs = NODE_FIELDS.InterpreterDirective;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function directive(value: t.DirectiveLiteral): t.Directive {\n  const node: t.Directive = {\n    type: \"Directive\",\n    value,\n  };\n  const defs = NODE_FIELDS.Directive;\n  validate(defs.value, node, \"value\", value, 1);\n  return node;\n}\nexport function directiveLiteral(value: string): t.DirectiveLiteral {\n  const node: t.DirectiveLiteral = {\n    type: \"DirectiveLiteral\",\n    value,\n  };\n  const defs = NODE_FIELDS.DirectiveLiteral;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function blockStatement(\n  body: Array<t.Statement>,\n  directives: Array<t.Directive> = [],\n): t.BlockStatement {\n  const node: t.BlockStatement = {\n    type: \"BlockStatement\",\n    body,\n    directives,\n  };\n  const defs = NODE_FIELDS.BlockStatement;\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.directives, node, \"directives\", directives, 1);\n  return node;\n}\nexport function breakStatement(\n  label: t.Identifier | null = null,\n): t.BreakStatement {\n  const node: t.BreakStatement = {\n    type: \"BreakStatement\",\n    label,\n  };\n  const defs = NODE_FIELDS.BreakStatement;\n  validate(defs.label, node, \"label\", label, 1);\n  return node;\n}\nexport function callExpression(\n  callee: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n  _arguments: Array<t.Expression | t.SpreadElement | t.ArgumentPlaceholder>,\n): t.CallExpression {\n  const node: t.CallExpression = {\n    type: \"CallExpression\",\n    callee,\n    arguments: _arguments,\n  };\n  const defs = NODE_FIELDS.CallExpression;\n  validate(defs.callee, node, \"callee\", callee, 1);\n  validate(defs.arguments, node, \"arguments\", _arguments, 1);\n  return node;\n}\nexport function catchClause(\n  param:\n    | t.Identifier\n    | t.ArrayPattern\n    | t.ObjectPattern\n    | null\n    | undefined = null,\n  body: t.BlockStatement,\n): t.CatchClause {\n  const node: t.CatchClause = {\n    type: \"CatchClause\",\n    param,\n    body,\n  };\n  const defs = NODE_FIELDS.CatchClause;\n  validate(defs.param, node, \"param\", param, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function conditionalExpression(\n  test: t.Expression,\n  consequent: t.Expression,\n  alternate: t.Expression,\n): t.ConditionalExpression {\n  const node: t.ConditionalExpression = {\n    type: \"ConditionalExpression\",\n    test,\n    consequent,\n    alternate,\n  };\n  const defs = NODE_FIELDS.ConditionalExpression;\n  validate(defs.test, node, \"test\", test, 1);\n  validate(defs.consequent, node, \"consequent\", consequent, 1);\n  validate(defs.alternate, node, \"alternate\", alternate, 1);\n  return node;\n}\nexport function continueStatement(\n  label: t.Identifier | null = null,\n): t.ContinueStatement {\n  const node: t.ContinueStatement = {\n    type: \"ContinueStatement\",\n    label,\n  };\n  const defs = NODE_FIELDS.ContinueStatement;\n  validate(defs.label, node, \"label\", label, 1);\n  return node;\n}\nexport function debuggerStatement(): t.DebuggerStatement {\n  return {\n    type: \"DebuggerStatement\",\n  };\n}\nexport function doWhileStatement(\n  test: t.Expression,\n  body: t.Statement,\n): t.DoWhileStatement {\n  const node: t.DoWhileStatement = {\n    type: \"DoWhileStatement\",\n    test,\n    body,\n  };\n  const defs = NODE_FIELDS.DoWhileStatement;\n  validate(defs.test, node, \"test\", test, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function emptyStatement(): t.EmptyStatement {\n  return {\n    type: \"EmptyStatement\",\n  };\n}\nexport function expressionStatement(\n  expression: t.Expression,\n): t.ExpressionStatement {\n  const node: t.ExpressionStatement = {\n    type: \"ExpressionStatement\",\n    expression,\n  };\n  const defs = NODE_FIELDS.ExpressionStatement;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport function file(\n  program: t.Program,\n  comments: Array<t.CommentBlock | t.CommentLine> | null = null,\n  tokens: Array<any> | null = null,\n): t.File {\n  const node: t.File = {\n    type: \"File\",\n    program,\n    comments,\n    tokens,\n  };\n  const defs = NODE_FIELDS.File;\n  validate(defs.program, node, \"program\", program, 1);\n  validate(defs.comments, node, \"comments\", comments, 1);\n  validate(defs.tokens, node, \"tokens\", tokens);\n  return node;\n}\nexport function forInStatement(\n  left: t.VariableDeclaration | t.LVal,\n  right: t.Expression,\n  body: t.Statement,\n): t.ForInStatement {\n  const node: t.ForInStatement = {\n    type: \"ForInStatement\",\n    left,\n    right,\n    body,\n  };\n  const defs = NODE_FIELDS.ForInStatement;\n  validate(defs.left, node, \"left\", left, 1);\n  validate(defs.right, node, \"right\", right, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function forStatement(\n  init: t.VariableDeclaration | t.Expression | null | undefined = null,\n  test: t.Expression | null | undefined = null,\n  update: t.Expression | null | undefined = null,\n  body: t.Statement,\n): t.ForStatement {\n  const node: t.ForStatement = {\n    type: \"ForStatement\",\n    init,\n    test,\n    update,\n    body,\n  };\n  const defs = NODE_FIELDS.ForStatement;\n  validate(defs.init, node, \"init\", init, 1);\n  validate(defs.test, node, \"test\", test, 1);\n  validate(defs.update, node, \"update\", update, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function functionDeclaration(\n  id: t.Identifier | null | undefined = null,\n  params: Array<t.Identifier | t.Pattern | t.RestElement>,\n  body: t.BlockStatement,\n  generator: boolean = false,\n  async: boolean = false,\n): t.FunctionDeclaration {\n  const node: t.FunctionDeclaration = {\n    type: \"FunctionDeclaration\",\n    id,\n    params,\n    body,\n    generator,\n    async,\n  };\n  const defs = NODE_FIELDS.FunctionDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.params, node, \"params\", params, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.generator, node, \"generator\", generator);\n  validate(defs.async, node, \"async\", async);\n  return node;\n}\nexport function functionExpression(\n  id: t.Identifier | null | undefined = null,\n  params: Array<t.Identifier | t.Pattern | t.RestElement>,\n  body: t.BlockStatement,\n  generator: boolean = false,\n  async: boolean = false,\n): t.FunctionExpression {\n  const node: t.FunctionExpression = {\n    type: \"FunctionExpression\",\n    id,\n    params,\n    body,\n    generator,\n    async,\n  };\n  const defs = NODE_FIELDS.FunctionExpression;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.params, node, \"params\", params, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.generator, node, \"generator\", generator);\n  validate(defs.async, node, \"async\", async);\n  return node;\n}\nexport function identifier(name: string): t.Identifier {\n  const node: t.Identifier = {\n    type: \"Identifier\",\n    name,\n  };\n  const defs = NODE_FIELDS.Identifier;\n  validate(defs.name, node, \"name\", name);\n  return node;\n}\nexport function ifStatement(\n  test: t.Expression,\n  consequent: t.Statement,\n  alternate: t.Statement | null = null,\n): t.IfStatement {\n  const node: t.IfStatement = {\n    type: \"IfStatement\",\n    test,\n    consequent,\n    alternate,\n  };\n  const defs = NODE_FIELDS.IfStatement;\n  validate(defs.test, node, \"test\", test, 1);\n  validate(defs.consequent, node, \"consequent\", consequent, 1);\n  validate(defs.alternate, node, \"alternate\", alternate, 1);\n  return node;\n}\nexport function labeledStatement(\n  label: t.Identifier,\n  body: t.Statement,\n): t.LabeledStatement {\n  const node: t.LabeledStatement = {\n    type: \"LabeledStatement\",\n    label,\n    body,\n  };\n  const defs = NODE_FIELDS.LabeledStatement;\n  validate(defs.label, node, \"label\", label, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function stringLiteral(value: string): t.StringLiteral {\n  const node: t.StringLiteral = {\n    type: \"StringLiteral\",\n    value,\n  };\n  const defs = NODE_FIELDS.StringLiteral;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function numericLiteral(value: number): t.NumericLiteral {\n  const node: t.NumericLiteral = {\n    type: \"NumericLiteral\",\n    value,\n  };\n  const defs = NODE_FIELDS.NumericLiteral;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function nullLiteral(): t.NullLiteral {\n  return {\n    type: \"NullLiteral\",\n  };\n}\nexport function booleanLiteral(value: boolean): t.BooleanLiteral {\n  const node: t.BooleanLiteral = {\n    type: \"BooleanLiteral\",\n    value,\n  };\n  const defs = NODE_FIELDS.BooleanLiteral;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function regExpLiteral(\n  pattern: string,\n  flags: string = \"\",\n): t.RegExpLiteral {\n  const node: t.RegExpLiteral = {\n    type: \"RegExpLiteral\",\n    pattern,\n    flags,\n  };\n  const defs = NODE_FIELDS.RegExpLiteral;\n  validate(defs.pattern, node, \"pattern\", pattern);\n  validate(defs.flags, node, \"flags\", flags);\n  return node;\n}\nexport function logicalExpression(\n  operator: \"||\" | \"&&\" | \"??\",\n  left: t.Expression,\n  right: t.Expression,\n): t.LogicalExpression {\n  const node: t.LogicalExpression = {\n    type: \"LogicalExpression\",\n    operator,\n    left,\n    right,\n  };\n  const defs = NODE_FIELDS.LogicalExpression;\n  validate(defs.operator, node, \"operator\", operator);\n  validate(defs.left, node, \"left\", left, 1);\n  validate(defs.right, node, \"right\", right, 1);\n  return node;\n}\nexport function memberExpression(\n  object: t.Expression | t.Super,\n  property: t.Expression | t.Identifier | t.PrivateName,\n  computed: boolean = false,\n  optional: boolean | null = null,\n): t.MemberExpression {\n  const node: t.MemberExpression = {\n    type: \"MemberExpression\",\n    object,\n    property,\n    computed,\n    optional,\n  };\n  const defs = NODE_FIELDS.MemberExpression;\n  validate(defs.object, node, \"object\", object, 1);\n  validate(defs.property, node, \"property\", property, 1);\n  validate(defs.computed, node, \"computed\", computed);\n  validate(defs.optional, node, \"optional\", optional);\n  return node;\n}\nexport function newExpression(\n  callee: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n  _arguments: Array<t.Expression | t.SpreadElement | t.ArgumentPlaceholder>,\n): t.NewExpression {\n  const node: t.NewExpression = {\n    type: \"NewExpression\",\n    callee,\n    arguments: _arguments,\n  };\n  const defs = NODE_FIELDS.NewExpression;\n  validate(defs.callee, node, \"callee\", callee, 1);\n  validate(defs.arguments, node, \"arguments\", _arguments, 1);\n  return node;\n}\nexport function program(\n  body: Array<t.Statement>,\n  directives: Array<t.Directive> = [],\n  sourceType: \"script\" | \"module\" = \"script\",\n  interpreter: t.InterpreterDirective | null = null,\n): t.Program {\n  const node: t.Program = {\n    type: \"Program\",\n    body,\n    directives,\n    sourceType,\n    interpreter,\n  };\n  const defs = NODE_FIELDS.Program;\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.directives, node, \"directives\", directives, 1);\n  validate(defs.sourceType, node, \"sourceType\", sourceType);\n  validate(defs.interpreter, node, \"interpreter\", interpreter, 1);\n  return node;\n}\nexport function objectExpression(\n  properties: Array<t.ObjectMethod | t.ObjectProperty | t.SpreadElement>,\n): t.ObjectExpression {\n  const node: t.ObjectExpression = {\n    type: \"ObjectExpression\",\n    properties,\n  };\n  const defs = NODE_FIELDS.ObjectExpression;\n  validate(defs.properties, node, \"properties\", properties, 1);\n  return node;\n}\nexport function objectMethod(\n  kind: \"method\" | \"get\" | \"set\" | undefined = \"method\",\n  key:\n    | t.Expression\n    | t.Identifier\n    | t.StringLiteral\n    | t.NumericLiteral\n    | t.BigIntLiteral,\n  params: Array<t.Identifier | t.Pattern | t.RestElement>,\n  body: t.BlockStatement,\n  computed: boolean = false,\n  generator: boolean = false,\n  async: boolean = false,\n): t.ObjectMethod {\n  const node: t.ObjectMethod = {\n    type: \"ObjectMethod\",\n    kind,\n    key,\n    params,\n    body,\n    computed,\n    generator,\n    async,\n  };\n  const defs = NODE_FIELDS.ObjectMethod;\n  validate(defs.kind, node, \"kind\", kind);\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.params, node, \"params\", params, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.computed, node, \"computed\", computed);\n  validate(defs.generator, node, \"generator\", generator);\n  validate(defs.async, node, \"async\", async);\n  return node;\n}\nexport function objectProperty(\n  key:\n    | t.Expression\n    | t.Identifier\n    | t.StringLiteral\n    | t.NumericLiteral\n    | t.BigIntLiteral\n    | t.DecimalLiteral\n    | t.PrivateName,\n  value: t.Expression | t.PatternLike,\n  computed: boolean = false,\n  shorthand: boolean = false,\n  decorators: Array<t.Decorator> | null = null,\n): t.ObjectProperty {\n  const node: t.ObjectProperty = {\n    type: \"ObjectProperty\",\n    key,\n    value,\n    computed,\n    shorthand,\n    decorators,\n  };\n  const defs = NODE_FIELDS.ObjectProperty;\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.value, node, \"value\", value, 1);\n  validate(defs.computed, node, \"computed\", computed);\n  validate(defs.shorthand, node, \"shorthand\", shorthand);\n  validate(defs.decorators, node, \"decorators\", decorators, 1);\n  return node;\n}\nexport function restElement(argument: t.LVal): t.RestElement {\n  const node: t.RestElement = {\n    type: \"RestElement\",\n    argument,\n  };\n  const defs = NODE_FIELDS.RestElement;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  return node;\n}\nexport function returnStatement(\n  argument: t.Expression | null = null,\n): t.ReturnStatement {\n  const node: t.ReturnStatement = {\n    type: \"ReturnStatement\",\n    argument,\n  };\n  const defs = NODE_FIELDS.ReturnStatement;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  return node;\n}\nexport function sequenceExpression(\n  expressions: Array<t.Expression>,\n): t.SequenceExpression {\n  const node: t.SequenceExpression = {\n    type: \"SequenceExpression\",\n    expressions,\n  };\n  const defs = NODE_FIELDS.SequenceExpression;\n  validate(defs.expressions, node, \"expressions\", expressions, 1);\n  return node;\n}\nexport function parenthesizedExpression(\n  expression: t.Expression,\n): t.ParenthesizedExpression {\n  const node: t.ParenthesizedExpression = {\n    type: \"ParenthesizedExpression\",\n    expression,\n  };\n  const defs = NODE_FIELDS.ParenthesizedExpression;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport function switchCase(\n  test: t.Expression | null | undefined = null,\n  consequent: Array<t.Statement>,\n): t.SwitchCase {\n  const node: t.SwitchCase = {\n    type: \"SwitchCase\",\n    test,\n    consequent,\n  };\n  const defs = NODE_FIELDS.SwitchCase;\n  validate(defs.test, node, \"test\", test, 1);\n  validate(defs.consequent, node, \"consequent\", consequent, 1);\n  return node;\n}\nexport function switchStatement(\n  discriminant: t.Expression,\n  cases: Array<t.SwitchCase>,\n): t.SwitchStatement {\n  const node: t.SwitchStatement = {\n    type: \"SwitchStatement\",\n    discriminant,\n    cases,\n  };\n  const defs = NODE_FIELDS.SwitchStatement;\n  validate(defs.discriminant, node, \"discriminant\", discriminant, 1);\n  validate(defs.cases, node, \"cases\", cases, 1);\n  return node;\n}\nexport function thisExpression(): t.ThisExpression {\n  return {\n    type: \"ThisExpression\",\n  };\n}\nexport function throwStatement(argument: t.Expression): t.ThrowStatement {\n  const node: t.ThrowStatement = {\n    type: \"ThrowStatement\",\n    argument,\n  };\n  const defs = NODE_FIELDS.ThrowStatement;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  return node;\n}\nexport function tryStatement(\n  block: t.BlockStatement,\n  handler: t.CatchClause | null = null,\n  finalizer: t.BlockStatement | null = null,\n): t.TryStatement {\n  const node: t.TryStatement = {\n    type: \"TryStatement\",\n    block,\n    handler,\n    finalizer,\n  };\n  const defs = NODE_FIELDS.TryStatement;\n  validate(defs.block, node, \"block\", block, 1);\n  validate(defs.handler, node, \"handler\", handler, 1);\n  validate(defs.finalizer, node, \"finalizer\", finalizer, 1);\n  return node;\n}\nexport function unaryExpression(\n  operator: \"void\" | \"throw\" | \"delete\" | \"!\" | \"+\" | \"-\" | \"~\" | \"typeof\",\n  argument: t.Expression,\n  prefix: boolean = true,\n): t.UnaryExpression {\n  const node: t.UnaryExpression = {\n    type: \"UnaryExpression\",\n    operator,\n    argument,\n    prefix,\n  };\n  const defs = NODE_FIELDS.UnaryExpression;\n  validate(defs.operator, node, \"operator\", operator);\n  validate(defs.argument, node, \"argument\", argument, 1);\n  validate(defs.prefix, node, \"prefix\", prefix);\n  return node;\n}\nexport function updateExpression(\n  operator: \"++\" | \"--\",\n  argument: t.Expression,\n  prefix: boolean = false,\n): t.UpdateExpression {\n  const node: t.UpdateExpression = {\n    type: \"UpdateExpression\",\n    operator,\n    argument,\n    prefix,\n  };\n  const defs = NODE_FIELDS.UpdateExpression;\n  validate(defs.operator, node, \"operator\", operator);\n  validate(defs.argument, node, \"argument\", argument, 1);\n  validate(defs.prefix, node, \"prefix\", prefix);\n  return node;\n}\nexport function variableDeclaration(\n  kind: \"var\" | \"let\" | \"const\" | \"using\" | \"await using\",\n  declarations: Array<t.VariableDeclarator>,\n): t.VariableDeclaration {\n  const node: t.VariableDeclaration = {\n    type: \"VariableDeclaration\",\n    kind,\n    declarations,\n  };\n  const defs = NODE_FIELDS.VariableDeclaration;\n  validate(defs.kind, node, \"kind\", kind);\n  validate(defs.declarations, node, \"declarations\", declarations, 1);\n  return node;\n}\nexport function variableDeclarator(\n  id: t.LVal,\n  init: t.Expression | null = null,\n): t.VariableDeclarator {\n  const node: t.VariableDeclarator = {\n    type: \"VariableDeclarator\",\n    id,\n    init,\n  };\n  const defs = NODE_FIELDS.VariableDeclarator;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.init, node, \"init\", init, 1);\n  return node;\n}\nexport function whileStatement(\n  test: t.Expression,\n  body: t.Statement,\n): t.WhileStatement {\n  const node: t.WhileStatement = {\n    type: \"WhileStatement\",\n    test,\n    body,\n  };\n  const defs = NODE_FIELDS.WhileStatement;\n  validate(defs.test, node, \"test\", test, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function withStatement(\n  object: t.Expression,\n  body: t.Statement,\n): t.WithStatement {\n  const node: t.WithStatement = {\n    type: \"WithStatement\",\n    object,\n    body,\n  };\n  const defs = NODE_FIELDS.WithStatement;\n  validate(defs.object, node, \"object\", object, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function assignmentPattern(\n  left:\n    | t.Identifier\n    | t.ObjectPattern\n    | t.ArrayPattern\n    | t.MemberExpression\n    | t.TSAsExpression\n    | t.TSSatisfiesExpression\n    | t.TSTypeAssertion\n    | t.TSNonNullExpression,\n  right: t.Expression,\n): t.AssignmentPattern {\n  const node: t.AssignmentPattern = {\n    type: \"AssignmentPattern\",\n    left,\n    right,\n  };\n  const defs = NODE_FIELDS.AssignmentPattern;\n  validate(defs.left, node, \"left\", left, 1);\n  validate(defs.right, node, \"right\", right, 1);\n  return node;\n}\nexport function arrayPattern(\n  elements: Array<null | t.PatternLike | t.LVal>,\n): t.ArrayPattern {\n  const node: t.ArrayPattern = {\n    type: \"ArrayPattern\",\n    elements,\n  };\n  const defs = NODE_FIELDS.ArrayPattern;\n  validate(defs.elements, node, \"elements\", elements, 1);\n  return node;\n}\nexport function arrowFunctionExpression(\n  params: Array<t.Identifier | t.Pattern | t.RestElement>,\n  body: t.BlockStatement | t.Expression,\n  async: boolean = false,\n): t.ArrowFunctionExpression {\n  const node: t.ArrowFunctionExpression = {\n    type: \"ArrowFunctionExpression\",\n    params,\n    body,\n    async,\n    expression: null,\n  };\n  const defs = NODE_FIELDS.ArrowFunctionExpression;\n  validate(defs.params, node, \"params\", params, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.async, node, \"async\", async);\n  return node;\n}\nexport function classBody(\n  body: Array<\n    | t.ClassMethod\n    | t.ClassPrivateMethod\n    | t.ClassProperty\n    | t.ClassPrivateProperty\n    | t.ClassAccessorProperty\n    | t.TSDeclareMethod\n    | t.TSIndexSignature\n    | t.StaticBlock\n  >,\n): t.ClassBody {\n  const node: t.ClassBody = {\n    type: \"ClassBody\",\n    body,\n  };\n  const defs = NODE_FIELDS.ClassBody;\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function classExpression(\n  id: t.Identifier | null | undefined = null,\n  superClass: t.Expression | null | undefined = null,\n  body: t.ClassBody,\n  decorators: Array<t.Decorator> | null = null,\n): t.ClassExpression {\n  const node: t.ClassExpression = {\n    type: \"ClassExpression\",\n    id,\n    superClass,\n    body,\n    decorators,\n  };\n  const defs = NODE_FIELDS.ClassExpression;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.superClass, node, \"superClass\", superClass, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.decorators, node, \"decorators\", decorators, 1);\n  return node;\n}\nexport function classDeclaration(\n  id: t.Identifier | null | undefined = null,\n  superClass: t.Expression | null | undefined = null,\n  body: t.ClassBody,\n  decorators: Array<t.Decorator> | null = null,\n): t.ClassDeclaration {\n  const node: t.ClassDeclaration = {\n    type: \"ClassDeclaration\",\n    id,\n    superClass,\n    body,\n    decorators,\n  };\n  const defs = NODE_FIELDS.ClassDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.superClass, node, \"superClass\", superClass, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.decorators, node, \"decorators\", decorators, 1);\n  return node;\n}\nexport function exportAllDeclaration(\n  source: t.StringLiteral,\n): t.ExportAllDeclaration {\n  const node: t.ExportAllDeclaration = {\n    type: \"ExportAllDeclaration\",\n    source,\n  };\n  const defs = NODE_FIELDS.ExportAllDeclaration;\n  validate(defs.source, node, \"source\", source, 1);\n  return node;\n}\nexport function exportDefaultDeclaration(\n  declaration:\n    | t.TSDeclareFunction\n    | t.FunctionDeclaration\n    | t.ClassDeclaration\n    | t.Expression,\n): t.ExportDefaultDeclaration {\n  const node: t.ExportDefaultDeclaration = {\n    type: \"ExportDefaultDeclaration\",\n    declaration,\n  };\n  const defs = NODE_FIELDS.ExportDefaultDeclaration;\n  validate(defs.declaration, node, \"declaration\", declaration, 1);\n  return node;\n}\nexport function exportNamedDeclaration(\n  declaration: t.Declaration | null = null,\n  specifiers: Array<\n    t.ExportSpecifier | t.ExportDefaultSpecifier | t.ExportNamespaceSpecifier\n  > = [],\n  source: t.StringLiteral | null = null,\n): t.ExportNamedDeclaration {\n  const node: t.ExportNamedDeclaration = {\n    type: \"ExportNamedDeclaration\",\n    declaration,\n    specifiers,\n    source,\n  };\n  const defs = NODE_FIELDS.ExportNamedDeclaration;\n  validate(defs.declaration, node, \"declaration\", declaration, 1);\n  validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n  validate(defs.source, node, \"source\", source, 1);\n  return node;\n}\nexport function exportSpecifier(\n  local: t.Identifier,\n  exported: t.Identifier | t.StringLiteral,\n): t.ExportSpecifier {\n  const node: t.ExportSpecifier = {\n    type: \"ExportSpecifier\",\n    local,\n    exported,\n  };\n  const defs = NODE_FIELDS.ExportSpecifier;\n  validate(defs.local, node, \"local\", local, 1);\n  validate(defs.exported, node, \"exported\", exported, 1);\n  return node;\n}\nexport function forOfStatement(\n  left: t.VariableDeclaration | t.LVal,\n  right: t.Expression,\n  body: t.Statement,\n  _await: boolean = false,\n): t.ForOfStatement {\n  const node: t.ForOfStatement = {\n    type: \"ForOfStatement\",\n    left,\n    right,\n    body,\n    await: _await,\n  };\n  const defs = NODE_FIELDS.ForOfStatement;\n  validate(defs.left, node, \"left\", left, 1);\n  validate(defs.right, node, \"right\", right, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.await, node, \"await\", _await);\n  return node;\n}\nexport function importDeclaration(\n  specifiers: Array<\n    t.ImportSpecifier | t.ImportDefaultSpecifier | t.ImportNamespaceSpecifier\n  >,\n  source: t.StringLiteral,\n): t.ImportDeclaration {\n  const node: t.ImportDeclaration = {\n    type: \"ImportDeclaration\",\n    specifiers,\n    source,\n  };\n  const defs = NODE_FIELDS.ImportDeclaration;\n  validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n  validate(defs.source, node, \"source\", source, 1);\n  return node;\n}\nexport function importDefaultSpecifier(\n  local: t.Identifier,\n): t.ImportDefaultSpecifier {\n  const node: t.ImportDefaultSpecifier = {\n    type: \"ImportDefaultSpecifier\",\n    local,\n  };\n  const defs = NODE_FIELDS.ImportDefaultSpecifier;\n  validate(defs.local, node, \"local\", local, 1);\n  return node;\n}\nexport function importNamespaceSpecifier(\n  local: t.Identifier,\n): t.ImportNamespaceSpecifier {\n  const node: t.ImportNamespaceSpecifier = {\n    type: \"ImportNamespaceSpecifier\",\n    local,\n  };\n  const defs = NODE_FIELDS.ImportNamespaceSpecifier;\n  validate(defs.local, node, \"local\", local, 1);\n  return node;\n}\nexport function importSpecifier(\n  local: t.Identifier,\n  imported: t.Identifier | t.StringLiteral,\n): t.ImportSpecifier {\n  const node: t.ImportSpecifier = {\n    type: \"ImportSpecifier\",\n    local,\n    imported,\n  };\n  const defs = NODE_FIELDS.ImportSpecifier;\n  validate(defs.local, node, \"local\", local, 1);\n  validate(defs.imported, node, \"imported\", imported, 1);\n  return node;\n}\nexport function importExpression(\n  source: t.Expression,\n  options: t.Expression | null = null,\n): t.ImportExpression {\n  const node: t.ImportExpression = {\n    type: \"ImportExpression\",\n    source,\n    options,\n  };\n  const defs = NODE_FIELDS.ImportExpression;\n  validate(defs.source, node, \"source\", source, 1);\n  validate(defs.options, node, \"options\", options, 1);\n  return node;\n}\nexport function metaProperty(\n  meta: t.Identifier,\n  property: t.Identifier,\n): t.MetaProperty {\n  const node: t.MetaProperty = {\n    type: \"MetaProperty\",\n    meta,\n    property,\n  };\n  const defs = NODE_FIELDS.MetaProperty;\n  validate(defs.meta, node, \"meta\", meta, 1);\n  validate(defs.property, node, \"property\", property, 1);\n  return node;\n}\nexport function classMethod(\n  kind: \"get\" | \"set\" | \"method\" | \"constructor\" | undefined = \"method\",\n  key:\n    | t.Identifier\n    | t.StringLiteral\n    | t.NumericLiteral\n    | t.BigIntLiteral\n    | t.Expression,\n  params: Array<\n    t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty\n  >,\n  body: t.BlockStatement,\n  computed: boolean = false,\n  _static: boolean = false,\n  generator: boolean = false,\n  async: boolean = false,\n): t.ClassMethod {\n  const node: t.ClassMethod = {\n    type: \"ClassMethod\",\n    kind,\n    key,\n    params,\n    body,\n    computed,\n    static: _static,\n    generator,\n    async,\n  };\n  const defs = NODE_FIELDS.ClassMethod;\n  validate(defs.kind, node, \"kind\", kind);\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.params, node, \"params\", params, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.computed, node, \"computed\", computed);\n  validate(defs.static, node, \"static\", _static);\n  validate(defs.generator, node, \"generator\", generator);\n  validate(defs.async, node, \"async\", async);\n  return node;\n}\nexport function objectPattern(\n  properties: Array<t.RestElement | t.ObjectProperty>,\n): t.ObjectPattern {\n  const node: t.ObjectPattern = {\n    type: \"ObjectPattern\",\n    properties,\n  };\n  const defs = NODE_FIELDS.ObjectPattern;\n  validate(defs.properties, node, \"properties\", properties, 1);\n  return node;\n}\nexport function spreadElement(argument: t.Expression): t.SpreadElement {\n  const node: t.SpreadElement = {\n    type: \"SpreadElement\",\n    argument,\n  };\n  const defs = NODE_FIELDS.SpreadElement;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  return node;\n}\nfunction _super(): t.Super {\n  return {\n    type: \"Super\",\n  };\n}\nexport { _super as super };\nexport function taggedTemplateExpression(\n  tag: t.Expression,\n  quasi: t.TemplateLiteral,\n): t.TaggedTemplateExpression {\n  const node: t.TaggedTemplateExpression = {\n    type: \"TaggedTemplateExpression\",\n    tag,\n    quasi,\n  };\n  const defs = NODE_FIELDS.TaggedTemplateExpression;\n  validate(defs.tag, node, \"tag\", tag, 1);\n  validate(defs.quasi, node, \"quasi\", quasi, 1);\n  return node;\n}\nexport function templateElement(\n  value: { raw: string; cooked?: string },\n  tail: boolean = false,\n): t.TemplateElement {\n  const node: t.TemplateElement = {\n    type: \"TemplateElement\",\n    value,\n    tail,\n  };\n  const defs = NODE_FIELDS.TemplateElement;\n  validate(defs.value, node, \"value\", value);\n  validate(defs.tail, node, \"tail\", tail);\n  return node;\n}\nexport function templateLiteral(\n  quasis: Array<t.TemplateElement>,\n  expressions: Array<t.Expression | t.TSType>,\n): t.TemplateLiteral {\n  const node: t.TemplateLiteral = {\n    type: \"TemplateLiteral\",\n    quasis,\n    expressions,\n  };\n  const defs = NODE_FIELDS.TemplateLiteral;\n  validate(defs.quasis, node, \"quasis\", quasis, 1);\n  validate(defs.expressions, node, \"expressions\", expressions, 1);\n  return node;\n}\nexport function yieldExpression(\n  argument: t.Expression | null = null,\n  delegate: boolean = false,\n): t.YieldExpression {\n  const node: t.YieldExpression = {\n    type: \"YieldExpression\",\n    argument,\n    delegate,\n  };\n  const defs = NODE_FIELDS.YieldExpression;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  validate(defs.delegate, node, \"delegate\", delegate);\n  return node;\n}\nexport function awaitExpression(argument: t.Expression): t.AwaitExpression {\n  const node: t.AwaitExpression = {\n    type: \"AwaitExpression\",\n    argument,\n  };\n  const defs = NODE_FIELDS.AwaitExpression;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  return node;\n}\nfunction _import(): t.Import {\n  return {\n    type: \"Import\",\n  };\n}\nexport { _import as import };\nexport function bigIntLiteral(value: string): t.BigIntLiteral {\n  const node: t.BigIntLiteral = {\n    type: \"BigIntLiteral\",\n    value,\n  };\n  const defs = NODE_FIELDS.BigIntLiteral;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function exportNamespaceSpecifier(\n  exported: t.Identifier,\n): t.ExportNamespaceSpecifier {\n  const node: t.ExportNamespaceSpecifier = {\n    type: \"ExportNamespaceSpecifier\",\n    exported,\n  };\n  const defs = NODE_FIELDS.ExportNamespaceSpecifier;\n  validate(defs.exported, node, \"exported\", exported, 1);\n  return node;\n}\nexport function optionalMemberExpression(\n  object: t.Expression,\n  property: t.Expression | t.Identifier,\n  computed: boolean | undefined = false,\n  optional: boolean,\n): t.OptionalMemberExpression {\n  const node: t.OptionalMemberExpression = {\n    type: \"OptionalMemberExpression\",\n    object,\n    property,\n    computed,\n    optional,\n  };\n  const defs = NODE_FIELDS.OptionalMemberExpression;\n  validate(defs.object, node, \"object\", object, 1);\n  validate(defs.property, node, \"property\", property, 1);\n  validate(defs.computed, node, \"computed\", computed);\n  validate(defs.optional, node, \"optional\", optional);\n  return node;\n}\nexport function optionalCallExpression(\n  callee: t.Expression,\n  _arguments: Array<t.Expression | t.SpreadElement | t.ArgumentPlaceholder>,\n  optional: boolean,\n): t.OptionalCallExpression {\n  const node: t.OptionalCallExpression = {\n    type: \"OptionalCallExpression\",\n    callee,\n    arguments: _arguments,\n    optional,\n  };\n  const defs = NODE_FIELDS.OptionalCallExpression;\n  validate(defs.callee, node, \"callee\", callee, 1);\n  validate(defs.arguments, node, \"arguments\", _arguments, 1);\n  validate(defs.optional, node, \"optional\", optional);\n  return node;\n}\nexport function classProperty(\n  key:\n    | t.Identifier\n    | t.StringLiteral\n    | t.NumericLiteral\n    | t.BigIntLiteral\n    | t.Expression,\n  value: t.Expression | null = null,\n  typeAnnotation: t.TypeAnnotation | t.TSTypeAnnotation | t.Noop | null = null,\n  decorators: Array<t.Decorator> | null = null,\n  computed: boolean = false,\n  _static: boolean = false,\n): t.ClassProperty {\n  const node: t.ClassProperty = {\n    type: \"ClassProperty\",\n    key,\n    value,\n    typeAnnotation,\n    decorators,\n    computed,\n    static: _static,\n  };\n  const defs = NODE_FIELDS.ClassProperty;\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.value, node, \"value\", value, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  validate(defs.decorators, node, \"decorators\", decorators, 1);\n  validate(defs.computed, node, \"computed\", computed);\n  validate(defs.static, node, \"static\", _static);\n  return node;\n}\nexport function classAccessorProperty(\n  key:\n    | t.Identifier\n    | t.StringLiteral\n    | t.NumericLiteral\n    | t.BigIntLiteral\n    | t.Expression\n    | t.PrivateName,\n  value: t.Expression | null = null,\n  typeAnnotation: t.TypeAnnotation | t.TSTypeAnnotation | t.Noop | null = null,\n  decorators: Array<t.Decorator> | null = null,\n  computed: boolean = false,\n  _static: boolean = false,\n): t.ClassAccessorProperty {\n  const node: t.ClassAccessorProperty = {\n    type: \"ClassAccessorProperty\",\n    key,\n    value,\n    typeAnnotation,\n    decorators,\n    computed,\n    static: _static,\n  };\n  const defs = NODE_FIELDS.ClassAccessorProperty;\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.value, node, \"value\", value, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  validate(defs.decorators, node, \"decorators\", decorators, 1);\n  validate(defs.computed, node, \"computed\", computed);\n  validate(defs.static, node, \"static\", _static);\n  return node;\n}\nexport function classPrivateProperty(\n  key: t.PrivateName,\n  value: t.Expression | null = null,\n  decorators: Array<t.Decorator> | null = null,\n  _static: boolean = false,\n): t.ClassPrivateProperty {\n  const node: t.ClassPrivateProperty = {\n    type: \"ClassPrivateProperty\",\n    key,\n    value,\n    decorators,\n    static: _static,\n  };\n  const defs = NODE_FIELDS.ClassPrivateProperty;\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.value, node, \"value\", value, 1);\n  validate(defs.decorators, node, \"decorators\", decorators, 1);\n  validate(defs.static, node, \"static\", _static);\n  return node;\n}\nexport function classPrivateMethod(\n  kind: \"get\" | \"set\" | \"method\" | undefined = \"method\",\n  key: t.PrivateName,\n  params: Array<\n    t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty\n  >,\n  body: t.BlockStatement,\n  _static: boolean = false,\n): t.ClassPrivateMethod {\n  const node: t.ClassPrivateMethod = {\n    type: \"ClassPrivateMethod\",\n    kind,\n    key,\n    params,\n    body,\n    static: _static,\n  };\n  const defs = NODE_FIELDS.ClassPrivateMethod;\n  validate(defs.kind, node, \"kind\", kind);\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.params, node, \"params\", params, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.static, node, \"static\", _static);\n  return node;\n}\nexport function privateName(id: t.Identifier): t.PrivateName {\n  const node: t.PrivateName = {\n    type: \"PrivateName\",\n    id,\n  };\n  const defs = NODE_FIELDS.PrivateName;\n  validate(defs.id, node, \"id\", id, 1);\n  return node;\n}\nexport function staticBlock(body: Array<t.Statement>): t.StaticBlock {\n  const node: t.StaticBlock = {\n    type: \"StaticBlock\",\n    body,\n  };\n  const defs = NODE_FIELDS.StaticBlock;\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function anyTypeAnnotation(): t.AnyTypeAnnotation {\n  return {\n    type: \"AnyTypeAnnotation\",\n  };\n}\nexport function arrayTypeAnnotation(\n  elementType: t.FlowType,\n): t.ArrayTypeAnnotation {\n  const node: t.ArrayTypeAnnotation = {\n    type: \"ArrayTypeAnnotation\",\n    elementType,\n  };\n  const defs = NODE_FIELDS.ArrayTypeAnnotation;\n  validate(defs.elementType, node, \"elementType\", elementType, 1);\n  return node;\n}\nexport function booleanTypeAnnotation(): t.BooleanTypeAnnotation {\n  return {\n    type: \"BooleanTypeAnnotation\",\n  };\n}\nexport function booleanLiteralTypeAnnotation(\n  value: boolean,\n): t.BooleanLiteralTypeAnnotation {\n  const node: t.BooleanLiteralTypeAnnotation = {\n    type: \"BooleanLiteralTypeAnnotation\",\n    value,\n  };\n  const defs = NODE_FIELDS.BooleanLiteralTypeAnnotation;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function nullLiteralTypeAnnotation(): t.NullLiteralTypeAnnotation {\n  return {\n    type: \"NullLiteralTypeAnnotation\",\n  };\n}\nexport function classImplements(\n  id: t.Identifier,\n  typeParameters: t.TypeParameterInstantiation | null = null,\n): t.ClassImplements {\n  const node: t.ClassImplements = {\n    type: \"ClassImplements\",\n    id,\n    typeParameters,\n  };\n  const defs = NODE_FIELDS.ClassImplements;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  return node;\n}\nexport function declareClass(\n  id: t.Identifier,\n  typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n  _extends: Array<t.InterfaceExtends> | null | undefined = null,\n  body: t.ObjectTypeAnnotation,\n): t.DeclareClass {\n  const node: t.DeclareClass = {\n    type: \"DeclareClass\",\n    id,\n    typeParameters,\n    extends: _extends,\n    body,\n  };\n  const defs = NODE_FIELDS.DeclareClass;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.extends, node, \"extends\", _extends, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function declareFunction(id: t.Identifier): t.DeclareFunction {\n  const node: t.DeclareFunction = {\n    type: \"DeclareFunction\",\n    id,\n  };\n  const defs = NODE_FIELDS.DeclareFunction;\n  validate(defs.id, node, \"id\", id, 1);\n  return node;\n}\nexport function declareInterface(\n  id: t.Identifier,\n  typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n  _extends: Array<t.InterfaceExtends> | null | undefined = null,\n  body: t.ObjectTypeAnnotation,\n): t.DeclareInterface {\n  const node: t.DeclareInterface = {\n    type: \"DeclareInterface\",\n    id,\n    typeParameters,\n    extends: _extends,\n    body,\n  };\n  const defs = NODE_FIELDS.DeclareInterface;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.extends, node, \"extends\", _extends, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function declareModule(\n  id: t.Identifier | t.StringLiteral,\n  body: t.BlockStatement,\n  kind: \"CommonJS\" | \"ES\" | null = null,\n): t.DeclareModule {\n  const node: t.DeclareModule = {\n    type: \"DeclareModule\",\n    id,\n    body,\n    kind,\n  };\n  const defs = NODE_FIELDS.DeclareModule;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.kind, node, \"kind\", kind);\n  return node;\n}\nexport function declareModuleExports(\n  typeAnnotation: t.TypeAnnotation,\n): t.DeclareModuleExports {\n  const node: t.DeclareModuleExports = {\n    type: \"DeclareModuleExports\",\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.DeclareModuleExports;\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport function declareTypeAlias(\n  id: t.Identifier,\n  typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n  right: t.FlowType,\n): t.DeclareTypeAlias {\n  const node: t.DeclareTypeAlias = {\n    type: \"DeclareTypeAlias\",\n    id,\n    typeParameters,\n    right,\n  };\n  const defs = NODE_FIELDS.DeclareTypeAlias;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.right, node, \"right\", right, 1);\n  return node;\n}\nexport function declareOpaqueType(\n  id: t.Identifier,\n  typeParameters: t.TypeParameterDeclaration | null = null,\n  supertype: t.FlowType | null = null,\n): t.DeclareOpaqueType {\n  const node: t.DeclareOpaqueType = {\n    type: \"DeclareOpaqueType\",\n    id,\n    typeParameters,\n    supertype,\n  };\n  const defs = NODE_FIELDS.DeclareOpaqueType;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.supertype, node, \"supertype\", supertype, 1);\n  return node;\n}\nexport function declareVariable(id: t.Identifier): t.DeclareVariable {\n  const node: t.DeclareVariable = {\n    type: \"DeclareVariable\",\n    id,\n  };\n  const defs = NODE_FIELDS.DeclareVariable;\n  validate(defs.id, node, \"id\", id, 1);\n  return node;\n}\nexport function declareExportDeclaration(\n  declaration: t.Flow | null = null,\n  specifiers: Array<\n    t.ExportSpecifier | t.ExportNamespaceSpecifier\n  > | null = null,\n  source: t.StringLiteral | null = null,\n  attributes: Array<t.ImportAttribute> | null = null,\n): t.DeclareExportDeclaration {\n  const node: t.DeclareExportDeclaration = {\n    type: \"DeclareExportDeclaration\",\n    declaration,\n    specifiers,\n    source,\n    attributes,\n  };\n  const defs = NODE_FIELDS.DeclareExportDeclaration;\n  validate(defs.declaration, node, \"declaration\", declaration, 1);\n  validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n  validate(defs.source, node, \"source\", source, 1);\n  validate(defs.attributes, node, \"attributes\", attributes, 1);\n  return node;\n}\nexport function declareExportAllDeclaration(\n  source: t.StringLiteral,\n  attributes: Array<t.ImportAttribute> | null = null,\n): t.DeclareExportAllDeclaration {\n  const node: t.DeclareExportAllDeclaration = {\n    type: \"DeclareExportAllDeclaration\",\n    source,\n    attributes,\n  };\n  const defs = NODE_FIELDS.DeclareExportAllDeclaration;\n  validate(defs.source, node, \"source\", source, 1);\n  validate(defs.attributes, node, \"attributes\", attributes, 1);\n  return node;\n}\nexport function declaredPredicate(value: t.Flow): t.DeclaredPredicate {\n  const node: t.DeclaredPredicate = {\n    type: \"DeclaredPredicate\",\n    value,\n  };\n  const defs = NODE_FIELDS.DeclaredPredicate;\n  validate(defs.value, node, \"value\", value, 1);\n  return node;\n}\nexport function existsTypeAnnotation(): t.ExistsTypeAnnotation {\n  return {\n    type: \"ExistsTypeAnnotation\",\n  };\n}\nexport function functionTypeAnnotation(\n  typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n  params: Array<t.FunctionTypeParam>,\n  rest: t.FunctionTypeParam | null | undefined = null,\n  returnType: t.FlowType,\n): t.FunctionTypeAnnotation {\n  const node: t.FunctionTypeAnnotation = {\n    type: \"FunctionTypeAnnotation\",\n    typeParameters,\n    params,\n    rest,\n    returnType,\n  };\n  const defs = NODE_FIELDS.FunctionTypeAnnotation;\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.params, node, \"params\", params, 1);\n  validate(defs.rest, node, \"rest\", rest, 1);\n  validate(defs.returnType, node, \"returnType\", returnType, 1);\n  return node;\n}\nexport function functionTypeParam(\n  name: t.Identifier | null | undefined = null,\n  typeAnnotation: t.FlowType,\n): t.FunctionTypeParam {\n  const node: t.FunctionTypeParam = {\n    type: \"FunctionTypeParam\",\n    name,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.FunctionTypeParam;\n  validate(defs.name, node, \"name\", name, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport function genericTypeAnnotation(\n  id: t.Identifier | t.QualifiedTypeIdentifier,\n  typeParameters: t.TypeParameterInstantiation | null = null,\n): t.GenericTypeAnnotation {\n  const node: t.GenericTypeAnnotation = {\n    type: \"GenericTypeAnnotation\",\n    id,\n    typeParameters,\n  };\n  const defs = NODE_FIELDS.GenericTypeAnnotation;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  return node;\n}\nexport function inferredPredicate(): t.InferredPredicate {\n  return {\n    type: \"InferredPredicate\",\n  };\n}\nexport function interfaceExtends(\n  id: t.Identifier | t.QualifiedTypeIdentifier,\n  typeParameters: t.TypeParameterInstantiation | null = null,\n): t.InterfaceExtends {\n  const node: t.InterfaceExtends = {\n    type: \"InterfaceExtends\",\n    id,\n    typeParameters,\n  };\n  const defs = NODE_FIELDS.InterfaceExtends;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  return node;\n}\nexport function interfaceDeclaration(\n  id: t.Identifier,\n  typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n  _extends: Array<t.InterfaceExtends> | null | undefined = null,\n  body: t.ObjectTypeAnnotation,\n): t.InterfaceDeclaration {\n  const node: t.InterfaceDeclaration = {\n    type: \"InterfaceDeclaration\",\n    id,\n    typeParameters,\n    extends: _extends,\n    body,\n  };\n  const defs = NODE_FIELDS.InterfaceDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.extends, node, \"extends\", _extends, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function interfaceTypeAnnotation(\n  _extends: Array<t.InterfaceExtends> | null | undefined = null,\n  body: t.ObjectTypeAnnotation,\n): t.InterfaceTypeAnnotation {\n  const node: t.InterfaceTypeAnnotation = {\n    type: \"InterfaceTypeAnnotation\",\n    extends: _extends,\n    body,\n  };\n  const defs = NODE_FIELDS.InterfaceTypeAnnotation;\n  validate(defs.extends, node, \"extends\", _extends, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function intersectionTypeAnnotation(\n  types: Array<t.FlowType>,\n): t.IntersectionTypeAnnotation {\n  const node: t.IntersectionTypeAnnotation = {\n    type: \"IntersectionTypeAnnotation\",\n    types,\n  };\n  const defs = NODE_FIELDS.IntersectionTypeAnnotation;\n  validate(defs.types, node, \"types\", types, 1);\n  return node;\n}\nexport function mixedTypeAnnotation(): t.MixedTypeAnnotation {\n  return {\n    type: \"MixedTypeAnnotation\",\n  };\n}\nexport function emptyTypeAnnotation(): t.EmptyTypeAnnotation {\n  return {\n    type: \"EmptyTypeAnnotation\",\n  };\n}\nexport function nullableTypeAnnotation(\n  typeAnnotation: t.FlowType,\n): t.NullableTypeAnnotation {\n  const node: t.NullableTypeAnnotation = {\n    type: \"NullableTypeAnnotation\",\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.NullableTypeAnnotation;\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport function numberLiteralTypeAnnotation(\n  value: number,\n): t.NumberLiteralTypeAnnotation {\n  const node: t.NumberLiteralTypeAnnotation = {\n    type: \"NumberLiteralTypeAnnotation\",\n    value,\n  };\n  const defs = NODE_FIELDS.NumberLiteralTypeAnnotation;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function numberTypeAnnotation(): t.NumberTypeAnnotation {\n  return {\n    type: \"NumberTypeAnnotation\",\n  };\n}\nexport function objectTypeAnnotation(\n  properties: Array<t.ObjectTypeProperty | t.ObjectTypeSpreadProperty>,\n  indexers: Array<t.ObjectTypeIndexer> = [],\n  callProperties: Array<t.ObjectTypeCallProperty> = [],\n  internalSlots: Array<t.ObjectTypeInternalSlot> = [],\n  exact: boolean = false,\n): t.ObjectTypeAnnotation {\n  const node: t.ObjectTypeAnnotation = {\n    type: \"ObjectTypeAnnotation\",\n    properties,\n    indexers,\n    callProperties,\n    internalSlots,\n    exact,\n  };\n  const defs = NODE_FIELDS.ObjectTypeAnnotation;\n  validate(defs.properties, node, \"properties\", properties, 1);\n  validate(defs.indexers, node, \"indexers\", indexers, 1);\n  validate(defs.callProperties, node, \"callProperties\", callProperties, 1);\n  validate(defs.internalSlots, node, \"internalSlots\", internalSlots, 1);\n  validate(defs.exact, node, \"exact\", exact);\n  return node;\n}\nexport function objectTypeInternalSlot(\n  id: t.Identifier,\n  value: t.FlowType,\n  optional: boolean,\n  _static: boolean,\n  method: boolean,\n): t.ObjectTypeInternalSlot {\n  const node: t.ObjectTypeInternalSlot = {\n    type: \"ObjectTypeInternalSlot\",\n    id,\n    value,\n    optional,\n    static: _static,\n    method,\n  };\n  const defs = NODE_FIELDS.ObjectTypeInternalSlot;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.value, node, \"value\", value, 1);\n  validate(defs.optional, node, \"optional\", optional);\n  validate(defs.static, node, \"static\", _static);\n  validate(defs.method, node, \"method\", method);\n  return node;\n}\nexport function objectTypeCallProperty(\n  value: t.FlowType,\n): t.ObjectTypeCallProperty {\n  const node: t.ObjectTypeCallProperty = {\n    type: \"ObjectTypeCallProperty\",\n    value,\n    static: null,\n  };\n  const defs = NODE_FIELDS.ObjectTypeCallProperty;\n  validate(defs.value, node, \"value\", value, 1);\n  return node;\n}\nexport function objectTypeIndexer(\n  id: t.Identifier | null | undefined = null,\n  key: t.FlowType,\n  value: t.FlowType,\n  variance: t.Variance | null = null,\n): t.ObjectTypeIndexer {\n  const node: t.ObjectTypeIndexer = {\n    type: \"ObjectTypeIndexer\",\n    id,\n    key,\n    value,\n    variance,\n    static: null,\n  };\n  const defs = NODE_FIELDS.ObjectTypeIndexer;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.value, node, \"value\", value, 1);\n  validate(defs.variance, node, \"variance\", variance, 1);\n  return node;\n}\nexport function objectTypeProperty(\n  key: t.Identifier | t.StringLiteral,\n  value: t.FlowType,\n  variance: t.Variance | null = null,\n): t.ObjectTypeProperty {\n  const node: t.ObjectTypeProperty = {\n    type: \"ObjectTypeProperty\",\n    key,\n    value,\n    variance,\n    kind: null,\n    method: null,\n    optional: null,\n    proto: null,\n    static: null,\n  };\n  const defs = NODE_FIELDS.ObjectTypeProperty;\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.value, node, \"value\", value, 1);\n  validate(defs.variance, node, \"variance\", variance, 1);\n  return node;\n}\nexport function objectTypeSpreadProperty(\n  argument: t.FlowType,\n): t.ObjectTypeSpreadProperty {\n  const node: t.ObjectTypeSpreadProperty = {\n    type: \"ObjectTypeSpreadProperty\",\n    argument,\n  };\n  const defs = NODE_FIELDS.ObjectTypeSpreadProperty;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  return node;\n}\nexport function opaqueType(\n  id: t.Identifier,\n  typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n  supertype: t.FlowType | null | undefined = null,\n  impltype: t.FlowType,\n): t.OpaqueType {\n  const node: t.OpaqueType = {\n    type: \"OpaqueType\",\n    id,\n    typeParameters,\n    supertype,\n    impltype,\n  };\n  const defs = NODE_FIELDS.OpaqueType;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.supertype, node, \"supertype\", supertype, 1);\n  validate(defs.impltype, node, \"impltype\", impltype, 1);\n  return node;\n}\nexport function qualifiedTypeIdentifier(\n  id: t.Identifier,\n  qualification: t.Identifier | t.QualifiedTypeIdentifier,\n): t.QualifiedTypeIdentifier {\n  const node: t.QualifiedTypeIdentifier = {\n    type: \"QualifiedTypeIdentifier\",\n    id,\n    qualification,\n  };\n  const defs = NODE_FIELDS.QualifiedTypeIdentifier;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.qualification, node, \"qualification\", qualification, 1);\n  return node;\n}\nexport function stringLiteralTypeAnnotation(\n  value: string,\n): t.StringLiteralTypeAnnotation {\n  const node: t.StringLiteralTypeAnnotation = {\n    type: \"StringLiteralTypeAnnotation\",\n    value,\n  };\n  const defs = NODE_FIELDS.StringLiteralTypeAnnotation;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function stringTypeAnnotation(): t.StringTypeAnnotation {\n  return {\n    type: \"StringTypeAnnotation\",\n  };\n}\nexport function symbolTypeAnnotation(): t.SymbolTypeAnnotation {\n  return {\n    type: \"SymbolTypeAnnotation\",\n  };\n}\nexport function thisTypeAnnotation(): t.ThisTypeAnnotation {\n  return {\n    type: \"ThisTypeAnnotation\",\n  };\n}\nexport function tupleTypeAnnotation(\n  types: Array<t.FlowType>,\n): t.TupleTypeAnnotation {\n  const node: t.TupleTypeAnnotation = {\n    type: \"TupleTypeAnnotation\",\n    types,\n  };\n  const defs = NODE_FIELDS.TupleTypeAnnotation;\n  validate(defs.types, node, \"types\", types, 1);\n  return node;\n}\nexport function typeofTypeAnnotation(\n  argument: t.FlowType,\n): t.TypeofTypeAnnotation {\n  const node: t.TypeofTypeAnnotation = {\n    type: \"TypeofTypeAnnotation\",\n    argument,\n  };\n  const defs = NODE_FIELDS.TypeofTypeAnnotation;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  return node;\n}\nexport function typeAlias(\n  id: t.Identifier,\n  typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n  right: t.FlowType,\n): t.TypeAlias {\n  const node: t.TypeAlias = {\n    type: \"TypeAlias\",\n    id,\n    typeParameters,\n    right,\n  };\n  const defs = NODE_FIELDS.TypeAlias;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.right, node, \"right\", right, 1);\n  return node;\n}\nexport function typeAnnotation(typeAnnotation: t.FlowType): t.TypeAnnotation {\n  const node: t.TypeAnnotation = {\n    type: \"TypeAnnotation\",\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TypeAnnotation;\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport function typeCastExpression(\n  expression: t.Expression,\n  typeAnnotation: t.TypeAnnotation,\n): t.TypeCastExpression {\n  const node: t.TypeCastExpression = {\n    type: \"TypeCastExpression\",\n    expression,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TypeCastExpression;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport function typeParameter(\n  bound: t.TypeAnnotation | null = null,\n  _default: t.FlowType | null = null,\n  variance: t.Variance | null = null,\n): t.TypeParameter {\n  const node: t.TypeParameter = {\n    type: \"TypeParameter\",\n    bound,\n    default: _default,\n    variance,\n    name: null,\n  };\n  const defs = NODE_FIELDS.TypeParameter;\n  validate(defs.bound, node, \"bound\", bound, 1);\n  validate(defs.default, node, \"default\", _default, 1);\n  validate(defs.variance, node, \"variance\", variance, 1);\n  return node;\n}\nexport function typeParameterDeclaration(\n  params: Array<t.TypeParameter>,\n): t.TypeParameterDeclaration {\n  const node: t.TypeParameterDeclaration = {\n    type: \"TypeParameterDeclaration\",\n    params,\n  };\n  const defs = NODE_FIELDS.TypeParameterDeclaration;\n  validate(defs.params, node, \"params\", params, 1);\n  return node;\n}\nexport function typeParameterInstantiation(\n  params: Array<t.FlowType>,\n): t.TypeParameterInstantiation {\n  const node: t.TypeParameterInstantiation = {\n    type: \"TypeParameterInstantiation\",\n    params,\n  };\n  const defs = NODE_FIELDS.TypeParameterInstantiation;\n  validate(defs.params, node, \"params\", params, 1);\n  return node;\n}\nexport function unionTypeAnnotation(\n  types: Array<t.FlowType>,\n): t.UnionTypeAnnotation {\n  const node: t.UnionTypeAnnotation = {\n    type: \"UnionTypeAnnotation\",\n    types,\n  };\n  const defs = NODE_FIELDS.UnionTypeAnnotation;\n  validate(defs.types, node, \"types\", types, 1);\n  return node;\n}\nexport function variance(kind: \"minus\" | \"plus\"): t.Variance {\n  const node: t.Variance = {\n    type: \"Variance\",\n    kind,\n  };\n  const defs = NODE_FIELDS.Variance;\n  validate(defs.kind, node, \"kind\", kind);\n  return node;\n}\nexport function voidTypeAnnotation(): t.VoidTypeAnnotation {\n  return {\n    type: \"VoidTypeAnnotation\",\n  };\n}\nexport function enumDeclaration(\n  id: t.Identifier,\n  body:\n    | t.EnumBooleanBody\n    | t.EnumNumberBody\n    | t.EnumStringBody\n    | t.EnumSymbolBody,\n): t.EnumDeclaration {\n  const node: t.EnumDeclaration = {\n    type: \"EnumDeclaration\",\n    id,\n    body,\n  };\n  const defs = NODE_FIELDS.EnumDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function enumBooleanBody(\n  members: Array<t.EnumBooleanMember>,\n): t.EnumBooleanBody {\n  const node: t.EnumBooleanBody = {\n    type: \"EnumBooleanBody\",\n    members,\n    explicitType: null,\n    hasUnknownMembers: null,\n  };\n  const defs = NODE_FIELDS.EnumBooleanBody;\n  validate(defs.members, node, \"members\", members, 1);\n  return node;\n}\nexport function enumNumberBody(\n  members: Array<t.EnumNumberMember>,\n): t.EnumNumberBody {\n  const node: t.EnumNumberBody = {\n    type: \"EnumNumberBody\",\n    members,\n    explicitType: null,\n    hasUnknownMembers: null,\n  };\n  const defs = NODE_FIELDS.EnumNumberBody;\n  validate(defs.members, node, \"members\", members, 1);\n  return node;\n}\nexport function enumStringBody(\n  members: Array<t.EnumStringMember | t.EnumDefaultedMember>,\n): t.EnumStringBody {\n  const node: t.EnumStringBody = {\n    type: \"EnumStringBody\",\n    members,\n    explicitType: null,\n    hasUnknownMembers: null,\n  };\n  const defs = NODE_FIELDS.EnumStringBody;\n  validate(defs.members, node, \"members\", members, 1);\n  return node;\n}\nexport function enumSymbolBody(\n  members: Array<t.EnumDefaultedMember>,\n): t.EnumSymbolBody {\n  const node: t.EnumSymbolBody = {\n    type: \"EnumSymbolBody\",\n    members,\n    hasUnknownMembers: null,\n  };\n  const defs = NODE_FIELDS.EnumSymbolBody;\n  validate(defs.members, node, \"members\", members, 1);\n  return node;\n}\nexport function enumBooleanMember(id: t.Identifier): t.EnumBooleanMember {\n  const node: t.EnumBooleanMember = {\n    type: \"EnumBooleanMember\",\n    id,\n    init: null,\n  };\n  const defs = NODE_FIELDS.EnumBooleanMember;\n  validate(defs.id, node, \"id\", id, 1);\n  return node;\n}\nexport function enumNumberMember(\n  id: t.Identifier,\n  init: t.NumericLiteral,\n): t.EnumNumberMember {\n  const node: t.EnumNumberMember = {\n    type: \"EnumNumberMember\",\n    id,\n    init,\n  };\n  const defs = NODE_FIELDS.EnumNumberMember;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.init, node, \"init\", init, 1);\n  return node;\n}\nexport function enumStringMember(\n  id: t.Identifier,\n  init: t.StringLiteral,\n): t.EnumStringMember {\n  const node: t.EnumStringMember = {\n    type: \"EnumStringMember\",\n    id,\n    init,\n  };\n  const defs = NODE_FIELDS.EnumStringMember;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.init, node, \"init\", init, 1);\n  return node;\n}\nexport function enumDefaultedMember(id: t.Identifier): t.EnumDefaultedMember {\n  const node: t.EnumDefaultedMember = {\n    type: \"EnumDefaultedMember\",\n    id,\n  };\n  const defs = NODE_FIELDS.EnumDefaultedMember;\n  validate(defs.id, node, \"id\", id, 1);\n  return node;\n}\nexport function indexedAccessType(\n  objectType: t.FlowType,\n  indexType: t.FlowType,\n): t.IndexedAccessType {\n  const node: t.IndexedAccessType = {\n    type: \"IndexedAccessType\",\n    objectType,\n    indexType,\n  };\n  const defs = NODE_FIELDS.IndexedAccessType;\n  validate(defs.objectType, node, \"objectType\", objectType, 1);\n  validate(defs.indexType, node, \"indexType\", indexType, 1);\n  return node;\n}\nexport function optionalIndexedAccessType(\n  objectType: t.FlowType,\n  indexType: t.FlowType,\n): t.OptionalIndexedAccessType {\n  const node: t.OptionalIndexedAccessType = {\n    type: \"OptionalIndexedAccessType\",\n    objectType,\n    indexType,\n    optional: null,\n  };\n  const defs = NODE_FIELDS.OptionalIndexedAccessType;\n  validate(defs.objectType, node, \"objectType\", objectType, 1);\n  validate(defs.indexType, node, \"indexType\", indexType, 1);\n  return node;\n}\nexport function jsxAttribute(\n  name: t.JSXIdentifier | t.JSXNamespacedName,\n  value:\n    | t.JSXElement\n    | t.JSXFragment\n    | t.StringLiteral\n    | t.JSXExpressionContainer\n    | null = null,\n): t.JSXAttribute {\n  const node: t.JSXAttribute = {\n    type: \"JSXAttribute\",\n    name,\n    value,\n  };\n  const defs = NODE_FIELDS.JSXAttribute;\n  validate(defs.name, node, \"name\", name, 1);\n  validate(defs.value, node, \"value\", value, 1);\n  return node;\n}\nexport { jsxAttribute as jSXAttribute };\nexport function jsxClosingElement(\n  name: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName,\n): t.JSXClosingElement {\n  const node: t.JSXClosingElement = {\n    type: \"JSXClosingElement\",\n    name,\n  };\n  const defs = NODE_FIELDS.JSXClosingElement;\n  validate(defs.name, node, \"name\", name, 1);\n  return node;\n}\nexport { jsxClosingElement as jSXClosingElement };\nexport function jsxElement(\n  openingElement: t.JSXOpeningElement,\n  closingElement: t.JSXClosingElement | null | undefined = null,\n  children: Array<\n    | t.JSXText\n    | t.JSXExpressionContainer\n    | t.JSXSpreadChild\n    | t.JSXElement\n    | t.JSXFragment\n  >,\n  selfClosing: boolean | null = null,\n): t.JSXElement {\n  const node: t.JSXElement = {\n    type: \"JSXElement\",\n    openingElement,\n    closingElement,\n    children,\n    selfClosing,\n  };\n  const defs = NODE_FIELDS.JSXElement;\n  validate(defs.openingElement, node, \"openingElement\", openingElement, 1);\n  validate(defs.closingElement, node, \"closingElement\", closingElement, 1);\n  validate(defs.children, node, \"children\", children, 1);\n  validate(defs.selfClosing, node, \"selfClosing\", selfClosing);\n  return node;\n}\nexport { jsxElement as jSXElement };\nexport function jsxEmptyExpression(): t.JSXEmptyExpression {\n  return {\n    type: \"JSXEmptyExpression\",\n  };\n}\nexport { jsxEmptyExpression as jSXEmptyExpression };\nexport function jsxExpressionContainer(\n  expression: t.Expression | t.JSXEmptyExpression,\n): t.JSXExpressionContainer {\n  const node: t.JSXExpressionContainer = {\n    type: \"JSXExpressionContainer\",\n    expression,\n  };\n  const defs = NODE_FIELDS.JSXExpressionContainer;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport { jsxExpressionContainer as jSXExpressionContainer };\nexport function jsxSpreadChild(expression: t.Expression): t.JSXSpreadChild {\n  const node: t.JSXSpreadChild = {\n    type: \"JSXSpreadChild\",\n    expression,\n  };\n  const defs = NODE_FIELDS.JSXSpreadChild;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport { jsxSpreadChild as jSXSpreadChild };\nexport function jsxIdentifier(name: string): t.JSXIdentifier {\n  const node: t.JSXIdentifier = {\n    type: \"JSXIdentifier\",\n    name,\n  };\n  const defs = NODE_FIELDS.JSXIdentifier;\n  validate(defs.name, node, \"name\", name);\n  return node;\n}\nexport { jsxIdentifier as jSXIdentifier };\nexport function jsxMemberExpression(\n  object: t.JSXMemberExpression | t.JSXIdentifier,\n  property: t.JSXIdentifier,\n): t.JSXMemberExpression {\n  const node: t.JSXMemberExpression = {\n    type: \"JSXMemberExpression\",\n    object,\n    property,\n  };\n  const defs = NODE_FIELDS.JSXMemberExpression;\n  validate(defs.object, node, \"object\", object, 1);\n  validate(defs.property, node, \"property\", property, 1);\n  return node;\n}\nexport { jsxMemberExpression as jSXMemberExpression };\nexport function jsxNamespacedName(\n  namespace: t.JSXIdentifier,\n  name: t.JSXIdentifier,\n): t.JSXNamespacedName {\n  const node: t.JSXNamespacedName = {\n    type: \"JSXNamespacedName\",\n    namespace,\n    name,\n  };\n  const defs = NODE_FIELDS.JSXNamespacedName;\n  validate(defs.namespace, node, \"namespace\", namespace, 1);\n  validate(defs.name, node, \"name\", name, 1);\n  return node;\n}\nexport { jsxNamespacedName as jSXNamespacedName };\nexport function jsxOpeningElement(\n  name: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName,\n  attributes: Array<t.JSXAttribute | t.JSXSpreadAttribute>,\n  selfClosing: boolean = false,\n): t.JSXOpeningElement {\n  const node: t.JSXOpeningElement = {\n    type: \"JSXOpeningElement\",\n    name,\n    attributes,\n    selfClosing,\n  };\n  const defs = NODE_FIELDS.JSXOpeningElement;\n  validate(defs.name, node, \"name\", name, 1);\n  validate(defs.attributes, node, \"attributes\", attributes, 1);\n  validate(defs.selfClosing, node, \"selfClosing\", selfClosing);\n  return node;\n}\nexport { jsxOpeningElement as jSXOpeningElement };\nexport function jsxSpreadAttribute(\n  argument: t.Expression,\n): t.JSXSpreadAttribute {\n  const node: t.JSXSpreadAttribute = {\n    type: \"JSXSpreadAttribute\",\n    argument,\n  };\n  const defs = NODE_FIELDS.JSXSpreadAttribute;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  return node;\n}\nexport { jsxSpreadAttribute as jSXSpreadAttribute };\nexport function jsxText(value: string): t.JSXText {\n  const node: t.JSXText = {\n    type: \"JSXText\",\n    value,\n  };\n  const defs = NODE_FIELDS.JSXText;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport { jsxText as jSXText };\nexport function jsxFragment(\n  openingFragment: t.JSXOpeningFragment,\n  closingFragment: t.JSXClosingFragment,\n  children: Array<\n    | t.JSXText\n    | t.JSXExpressionContainer\n    | t.JSXSpreadChild\n    | t.JSXElement\n    | t.JSXFragment\n  >,\n): t.JSXFragment {\n  const node: t.JSXFragment = {\n    type: \"JSXFragment\",\n    openingFragment,\n    closingFragment,\n    children,\n  };\n  const defs = NODE_FIELDS.JSXFragment;\n  validate(defs.openingFragment, node, \"openingFragment\", openingFragment, 1);\n  validate(defs.closingFragment, node, \"closingFragment\", closingFragment, 1);\n  validate(defs.children, node, \"children\", children, 1);\n  return node;\n}\nexport { jsxFragment as jSXFragment };\nexport function jsxOpeningFragment(): t.JSXOpeningFragment {\n  return {\n    type: \"JSXOpeningFragment\",\n  };\n}\nexport { jsxOpeningFragment as jSXOpeningFragment };\nexport function jsxClosingFragment(): t.JSXClosingFragment {\n  return {\n    type: \"JSXClosingFragment\",\n  };\n}\nexport { jsxClosingFragment as jSXClosingFragment };\nexport function noop(): t.Noop {\n  return {\n    type: \"Noop\",\n  };\n}\nexport function placeholder(\n  expectedNode:\n    | \"Identifier\"\n    | \"StringLiteral\"\n    | \"Expression\"\n    | \"Statement\"\n    | \"Declaration\"\n    | \"BlockStatement\"\n    | \"ClassBody\"\n    | \"Pattern\",\n  name: t.Identifier,\n): t.Placeholder {\n  const node: t.Placeholder = {\n    type: \"Placeholder\",\n    expectedNode,\n    name,\n  };\n  const defs = NODE_FIELDS.Placeholder;\n  validate(defs.expectedNode, node, \"expectedNode\", expectedNode);\n  validate(defs.name, node, \"name\", name, 1);\n  return node;\n}\nexport function v8IntrinsicIdentifier(name: string): t.V8IntrinsicIdentifier {\n  const node: t.V8IntrinsicIdentifier = {\n    type: \"V8IntrinsicIdentifier\",\n    name,\n  };\n  const defs = NODE_FIELDS.V8IntrinsicIdentifier;\n  validate(defs.name, node, \"name\", name);\n  return node;\n}\nexport function argumentPlaceholder(): t.ArgumentPlaceholder {\n  return {\n    type: \"ArgumentPlaceholder\",\n  };\n}\nexport function bindExpression(\n  object: t.Expression,\n  callee: t.Expression,\n): t.BindExpression {\n  const node: t.BindExpression = {\n    type: \"BindExpression\",\n    object,\n    callee,\n  };\n  const defs = NODE_FIELDS.BindExpression;\n  validate(defs.object, node, \"object\", object, 1);\n  validate(defs.callee, node, \"callee\", callee, 1);\n  return node;\n}\nexport function importAttribute(\n  key: t.Identifier | t.StringLiteral,\n  value: t.StringLiteral,\n): t.ImportAttribute {\n  const node: t.ImportAttribute = {\n    type: \"ImportAttribute\",\n    key,\n    value,\n  };\n  const defs = NODE_FIELDS.ImportAttribute;\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.value, node, \"value\", value, 1);\n  return node;\n}\nexport function decorator(expression: t.Expression): t.Decorator {\n  const node: t.Decorator = {\n    type: \"Decorator\",\n    expression,\n  };\n  const defs = NODE_FIELDS.Decorator;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport function doExpression(\n  body: t.BlockStatement,\n  async: boolean = false,\n): t.DoExpression {\n  const node: t.DoExpression = {\n    type: \"DoExpression\",\n    body,\n    async,\n  };\n  const defs = NODE_FIELDS.DoExpression;\n  validate(defs.body, node, \"body\", body, 1);\n  validate(defs.async, node, \"async\", async);\n  return node;\n}\nexport function exportDefaultSpecifier(\n  exported: t.Identifier,\n): t.ExportDefaultSpecifier {\n  const node: t.ExportDefaultSpecifier = {\n    type: \"ExportDefaultSpecifier\",\n    exported,\n  };\n  const defs = NODE_FIELDS.ExportDefaultSpecifier;\n  validate(defs.exported, node, \"exported\", exported, 1);\n  return node;\n}\nexport function recordExpression(\n  properties: Array<t.ObjectProperty | t.SpreadElement>,\n): t.RecordExpression {\n  const node: t.RecordExpression = {\n    type: \"RecordExpression\",\n    properties,\n  };\n  const defs = NODE_FIELDS.RecordExpression;\n  validate(defs.properties, node, \"properties\", properties, 1);\n  return node;\n}\nexport function tupleExpression(\n  elements: Array<t.Expression | t.SpreadElement> = [],\n): t.TupleExpression {\n  const node: t.TupleExpression = {\n    type: \"TupleExpression\",\n    elements,\n  };\n  const defs = NODE_FIELDS.TupleExpression;\n  validate(defs.elements, node, \"elements\", elements, 1);\n  return node;\n}\nexport function decimalLiteral(value: string): t.DecimalLiteral {\n  const node: t.DecimalLiteral = {\n    type: \"DecimalLiteral\",\n    value,\n  };\n  const defs = NODE_FIELDS.DecimalLiteral;\n  validate(defs.value, node, \"value\", value);\n  return node;\n}\nexport function moduleExpression(body: t.Program): t.ModuleExpression {\n  const node: t.ModuleExpression = {\n    type: \"ModuleExpression\",\n    body,\n  };\n  const defs = NODE_FIELDS.ModuleExpression;\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport function topicReference(): t.TopicReference {\n  return {\n    type: \"TopicReference\",\n  };\n}\nexport function pipelineTopicExpression(\n  expression: t.Expression,\n): t.PipelineTopicExpression {\n  const node: t.PipelineTopicExpression = {\n    type: \"PipelineTopicExpression\",\n    expression,\n  };\n  const defs = NODE_FIELDS.PipelineTopicExpression;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport function pipelineBareFunction(\n  callee: t.Expression,\n): t.PipelineBareFunction {\n  const node: t.PipelineBareFunction = {\n    type: \"PipelineBareFunction\",\n    callee,\n  };\n  const defs = NODE_FIELDS.PipelineBareFunction;\n  validate(defs.callee, node, \"callee\", callee, 1);\n  return node;\n}\nexport function pipelinePrimaryTopicReference(): t.PipelinePrimaryTopicReference {\n  return {\n    type: \"PipelinePrimaryTopicReference\",\n  };\n}\nexport function tsParameterProperty(\n  parameter: t.Identifier | t.AssignmentPattern,\n): t.TSParameterProperty {\n  const node: t.TSParameterProperty = {\n    type: \"TSParameterProperty\",\n    parameter,\n  };\n  const defs = NODE_FIELDS.TSParameterProperty;\n  validate(defs.parameter, node, \"parameter\", parameter, 1);\n  return node;\n}\nexport { tsParameterProperty as tSParameterProperty };\nexport function tsDeclareFunction(\n  id: t.Identifier | null | undefined = null,\n  typeParameters:\n    | t.TSTypeParameterDeclaration\n    | t.Noop\n    | null\n    | undefined = null,\n  params: Array<t.Identifier | t.Pattern | t.RestElement>,\n  returnType: t.TSTypeAnnotation | t.Noop | null = null,\n): t.TSDeclareFunction {\n  const node: t.TSDeclareFunction = {\n    type: \"TSDeclareFunction\",\n    id,\n    typeParameters,\n    params,\n    returnType,\n  };\n  const defs = NODE_FIELDS.TSDeclareFunction;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.params, node, \"params\", params, 1);\n  validate(defs.returnType, node, \"returnType\", returnType, 1);\n  return node;\n}\nexport { tsDeclareFunction as tSDeclareFunction };\nexport function tsDeclareMethod(\n  decorators: Array<t.Decorator> | null | undefined = null,\n  key:\n    | t.Identifier\n    | t.StringLiteral\n    | t.NumericLiteral\n    | t.BigIntLiteral\n    | t.Expression,\n  typeParameters:\n    | t.TSTypeParameterDeclaration\n    | t.Noop\n    | null\n    | undefined = null,\n  params: Array<\n    t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty\n  >,\n  returnType: t.TSTypeAnnotation | t.Noop | null = null,\n): t.TSDeclareMethod {\n  const node: t.TSDeclareMethod = {\n    type: \"TSDeclareMethod\",\n    decorators,\n    key,\n    typeParameters,\n    params,\n    returnType,\n  };\n  const defs = NODE_FIELDS.TSDeclareMethod;\n  validate(defs.decorators, node, \"decorators\", decorators, 1);\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.params, node, \"params\", params, 1);\n  validate(defs.returnType, node, \"returnType\", returnType, 1);\n  return node;\n}\nexport { tsDeclareMethod as tSDeclareMethod };\nexport function tsQualifiedName(\n  left: t.TSEntityName,\n  right: t.Identifier,\n): t.TSQualifiedName {\n  const node: t.TSQualifiedName = {\n    type: \"TSQualifiedName\",\n    left,\n    right,\n  };\n  const defs = NODE_FIELDS.TSQualifiedName;\n  validate(defs.left, node, \"left\", left, 1);\n  validate(defs.right, node, \"right\", right, 1);\n  return node;\n}\nexport { tsQualifiedName as tSQualifiedName };\nexport function tsCallSignatureDeclaration(\n  typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n  parameters: Array<\n    t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n  >,\n  typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSCallSignatureDeclaration {\n  const node: t.TSCallSignatureDeclaration = {\n    type: \"TSCallSignatureDeclaration\",\n    typeParameters,\n    parameters,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSCallSignatureDeclaration;\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.parameters, node, \"parameters\", parameters, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsCallSignatureDeclaration as tSCallSignatureDeclaration };\nexport function tsConstructSignatureDeclaration(\n  typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n  parameters: Array<\n    t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n  >,\n  typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSConstructSignatureDeclaration {\n  const node: t.TSConstructSignatureDeclaration = {\n    type: \"TSConstructSignatureDeclaration\",\n    typeParameters,\n    parameters,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSConstructSignatureDeclaration;\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.parameters, node, \"parameters\", parameters, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsConstructSignatureDeclaration as tSConstructSignatureDeclaration };\nexport function tsPropertySignature(\n  key: t.Expression,\n  typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSPropertySignature {\n  const node: t.TSPropertySignature = {\n    type: \"TSPropertySignature\",\n    key,\n    typeAnnotation,\n    kind: null,\n  };\n  const defs = NODE_FIELDS.TSPropertySignature;\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsPropertySignature as tSPropertySignature };\nexport function tsMethodSignature(\n  key: t.Expression,\n  typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n  parameters: Array<\n    t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n  >,\n  typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSMethodSignature {\n  const node: t.TSMethodSignature = {\n    type: \"TSMethodSignature\",\n    key,\n    typeParameters,\n    parameters,\n    typeAnnotation,\n    kind: null,\n  };\n  const defs = NODE_FIELDS.TSMethodSignature;\n  validate(defs.key, node, \"key\", key, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.parameters, node, \"parameters\", parameters, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsMethodSignature as tSMethodSignature };\nexport function tsIndexSignature(\n  parameters: Array<t.Identifier>,\n  typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSIndexSignature {\n  const node: t.TSIndexSignature = {\n    type: \"TSIndexSignature\",\n    parameters,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSIndexSignature;\n  validate(defs.parameters, node, \"parameters\", parameters, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsIndexSignature as tSIndexSignature };\nexport function tsAnyKeyword(): t.TSAnyKeyword {\n  return {\n    type: \"TSAnyKeyword\",\n  };\n}\nexport { tsAnyKeyword as tSAnyKeyword };\nexport function tsBooleanKeyword(): t.TSBooleanKeyword {\n  return {\n    type: \"TSBooleanKeyword\",\n  };\n}\nexport { tsBooleanKeyword as tSBooleanKeyword };\nexport function tsBigIntKeyword(): t.TSBigIntKeyword {\n  return {\n    type: \"TSBigIntKeyword\",\n  };\n}\nexport { tsBigIntKeyword as tSBigIntKeyword };\nexport function tsIntrinsicKeyword(): t.TSIntrinsicKeyword {\n  return {\n    type: \"TSIntrinsicKeyword\",\n  };\n}\nexport { tsIntrinsicKeyword as tSIntrinsicKeyword };\nexport function tsNeverKeyword(): t.TSNeverKeyword {\n  return {\n    type: \"TSNeverKeyword\",\n  };\n}\nexport { tsNeverKeyword as tSNeverKeyword };\nexport function tsNullKeyword(): t.TSNullKeyword {\n  return {\n    type: \"TSNullKeyword\",\n  };\n}\nexport { tsNullKeyword as tSNullKeyword };\nexport function tsNumberKeyword(): t.TSNumberKeyword {\n  return {\n    type: \"TSNumberKeyword\",\n  };\n}\nexport { tsNumberKeyword as tSNumberKeyword };\nexport function tsObjectKeyword(): t.TSObjectKeyword {\n  return {\n    type: \"TSObjectKeyword\",\n  };\n}\nexport { tsObjectKeyword as tSObjectKeyword };\nexport function tsStringKeyword(): t.TSStringKeyword {\n  return {\n    type: \"TSStringKeyword\",\n  };\n}\nexport { tsStringKeyword as tSStringKeyword };\nexport function tsSymbolKeyword(): t.TSSymbolKeyword {\n  return {\n    type: \"TSSymbolKeyword\",\n  };\n}\nexport { tsSymbolKeyword as tSSymbolKeyword };\nexport function tsUndefinedKeyword(): t.TSUndefinedKeyword {\n  return {\n    type: \"TSUndefinedKeyword\",\n  };\n}\nexport { tsUndefinedKeyword as tSUndefinedKeyword };\nexport function tsUnknownKeyword(): t.TSUnknownKeyword {\n  return {\n    type: \"TSUnknownKeyword\",\n  };\n}\nexport { tsUnknownKeyword as tSUnknownKeyword };\nexport function tsVoidKeyword(): t.TSVoidKeyword {\n  return {\n    type: \"TSVoidKeyword\",\n  };\n}\nexport { tsVoidKeyword as tSVoidKeyword };\nexport function tsThisType(): t.TSThisType {\n  return {\n    type: \"TSThisType\",\n  };\n}\nexport { tsThisType as tSThisType };\nexport function tsFunctionType(\n  typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n  parameters: Array<\n    t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n  >,\n  typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSFunctionType {\n  const node: t.TSFunctionType = {\n    type: \"TSFunctionType\",\n    typeParameters,\n    parameters,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSFunctionType;\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.parameters, node, \"parameters\", parameters, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsFunctionType as tSFunctionType };\nexport function tsConstructorType(\n  typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n  parameters: Array<\n    t.ArrayPattern | t.Identifier | t.ObjectPattern | t.RestElement\n  >,\n  typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSConstructorType {\n  const node: t.TSConstructorType = {\n    type: \"TSConstructorType\",\n    typeParameters,\n    parameters,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSConstructorType;\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.parameters, node, \"parameters\", parameters, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsConstructorType as tSConstructorType };\nexport function tsTypeReference(\n  typeName: t.TSEntityName,\n  typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSTypeReference {\n  const node: t.TSTypeReference = {\n    type: \"TSTypeReference\",\n    typeName,\n    typeParameters,\n  };\n  const defs = NODE_FIELDS.TSTypeReference;\n  validate(defs.typeName, node, \"typeName\", typeName, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  return node;\n}\nexport { tsTypeReference as tSTypeReference };\nexport function tsTypePredicate(\n  parameterName: t.Identifier | t.TSThisType,\n  typeAnnotation: t.TSTypeAnnotation | null = null,\n  asserts: boolean | null = null,\n): t.TSTypePredicate {\n  const node: t.TSTypePredicate = {\n    type: \"TSTypePredicate\",\n    parameterName,\n    typeAnnotation,\n    asserts,\n  };\n  const defs = NODE_FIELDS.TSTypePredicate;\n  validate(defs.parameterName, node, \"parameterName\", parameterName, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  validate(defs.asserts, node, \"asserts\", asserts);\n  return node;\n}\nexport { tsTypePredicate as tSTypePredicate };\nexport function tsTypeQuery(\n  exprName: t.TSEntityName | t.TSImportType,\n  typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSTypeQuery {\n  const node: t.TSTypeQuery = {\n    type: \"TSTypeQuery\",\n    exprName,\n    typeParameters,\n  };\n  const defs = NODE_FIELDS.TSTypeQuery;\n  validate(defs.exprName, node, \"exprName\", exprName, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  return node;\n}\nexport { tsTypeQuery as tSTypeQuery };\nexport function tsTypeLiteral(\n  members: Array<t.TSTypeElement>,\n): t.TSTypeLiteral {\n  const node: t.TSTypeLiteral = {\n    type: \"TSTypeLiteral\",\n    members,\n  };\n  const defs = NODE_FIELDS.TSTypeLiteral;\n  validate(defs.members, node, \"members\", members, 1);\n  return node;\n}\nexport { tsTypeLiteral as tSTypeLiteral };\nexport function tsArrayType(elementType: t.TSType): t.TSArrayType {\n  const node: t.TSArrayType = {\n    type: \"TSArrayType\",\n    elementType,\n  };\n  const defs = NODE_FIELDS.TSArrayType;\n  validate(defs.elementType, node, \"elementType\", elementType, 1);\n  return node;\n}\nexport { tsArrayType as tSArrayType };\nexport function tsTupleType(\n  elementTypes: Array<t.TSType | t.TSNamedTupleMember>,\n): t.TSTupleType {\n  const node: t.TSTupleType = {\n    type: \"TSTupleType\",\n    elementTypes,\n  };\n  const defs = NODE_FIELDS.TSTupleType;\n  validate(defs.elementTypes, node, \"elementTypes\", elementTypes, 1);\n  return node;\n}\nexport { tsTupleType as tSTupleType };\nexport function tsOptionalType(typeAnnotation: t.TSType): t.TSOptionalType {\n  const node: t.TSOptionalType = {\n    type: \"TSOptionalType\",\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSOptionalType;\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsOptionalType as tSOptionalType };\nexport function tsRestType(typeAnnotation: t.TSType): t.TSRestType {\n  const node: t.TSRestType = {\n    type: \"TSRestType\",\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSRestType;\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsRestType as tSRestType };\nexport function tsNamedTupleMember(\n  label: t.Identifier,\n  elementType: t.TSType,\n  optional: boolean = false,\n): t.TSNamedTupleMember {\n  const node: t.TSNamedTupleMember = {\n    type: \"TSNamedTupleMember\",\n    label,\n    elementType,\n    optional,\n  };\n  const defs = NODE_FIELDS.TSNamedTupleMember;\n  validate(defs.label, node, \"label\", label, 1);\n  validate(defs.elementType, node, \"elementType\", elementType, 1);\n  validate(defs.optional, node, \"optional\", optional);\n  return node;\n}\nexport { tsNamedTupleMember as tSNamedTupleMember };\nexport function tsUnionType(types: Array<t.TSType>): t.TSUnionType {\n  const node: t.TSUnionType = {\n    type: \"TSUnionType\",\n    types,\n  };\n  const defs = NODE_FIELDS.TSUnionType;\n  validate(defs.types, node, \"types\", types, 1);\n  return node;\n}\nexport { tsUnionType as tSUnionType };\nexport function tsIntersectionType(\n  types: Array<t.TSType>,\n): t.TSIntersectionType {\n  const node: t.TSIntersectionType = {\n    type: \"TSIntersectionType\",\n    types,\n  };\n  const defs = NODE_FIELDS.TSIntersectionType;\n  validate(defs.types, node, \"types\", types, 1);\n  return node;\n}\nexport { tsIntersectionType as tSIntersectionType };\nexport function tsConditionalType(\n  checkType: t.TSType,\n  extendsType: t.TSType,\n  trueType: t.TSType,\n  falseType: t.TSType,\n): t.TSConditionalType {\n  const node: t.TSConditionalType = {\n    type: \"TSConditionalType\",\n    checkType,\n    extendsType,\n    trueType,\n    falseType,\n  };\n  const defs = NODE_FIELDS.TSConditionalType;\n  validate(defs.checkType, node, \"checkType\", checkType, 1);\n  validate(defs.extendsType, node, \"extendsType\", extendsType, 1);\n  validate(defs.trueType, node, \"trueType\", trueType, 1);\n  validate(defs.falseType, node, \"falseType\", falseType, 1);\n  return node;\n}\nexport { tsConditionalType as tSConditionalType };\nexport function tsInferType(typeParameter: t.TSTypeParameter): t.TSInferType {\n  const node: t.TSInferType = {\n    type: \"TSInferType\",\n    typeParameter,\n  };\n  const defs = NODE_FIELDS.TSInferType;\n  validate(defs.typeParameter, node, \"typeParameter\", typeParameter, 1);\n  return node;\n}\nexport { tsInferType as tSInferType };\nexport function tsParenthesizedType(\n  typeAnnotation: t.TSType,\n): t.TSParenthesizedType {\n  const node: t.TSParenthesizedType = {\n    type: \"TSParenthesizedType\",\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSParenthesizedType;\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsParenthesizedType as tSParenthesizedType };\nexport function tsTypeOperator(typeAnnotation: t.TSType): t.TSTypeOperator {\n  const node: t.TSTypeOperator = {\n    type: \"TSTypeOperator\",\n    typeAnnotation,\n    operator: null,\n  };\n  const defs = NODE_FIELDS.TSTypeOperator;\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsTypeOperator as tSTypeOperator };\nexport function tsIndexedAccessType(\n  objectType: t.TSType,\n  indexType: t.TSType,\n): t.TSIndexedAccessType {\n  const node: t.TSIndexedAccessType = {\n    type: \"TSIndexedAccessType\",\n    objectType,\n    indexType,\n  };\n  const defs = NODE_FIELDS.TSIndexedAccessType;\n  validate(defs.objectType, node, \"objectType\", objectType, 1);\n  validate(defs.indexType, node, \"indexType\", indexType, 1);\n  return node;\n}\nexport { tsIndexedAccessType as tSIndexedAccessType };\nexport function tsMappedType(\n  typeParameter: t.TSTypeParameter,\n  typeAnnotation: t.TSType | null = null,\n  nameType: t.TSType | null = null,\n): t.TSMappedType {\n  const node: t.TSMappedType = {\n    type: \"TSMappedType\",\n    typeParameter,\n    typeAnnotation,\n    nameType,\n  };\n  const defs = NODE_FIELDS.TSMappedType;\n  validate(defs.typeParameter, node, \"typeParameter\", typeParameter, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  validate(defs.nameType, node, \"nameType\", nameType, 1);\n  return node;\n}\nexport { tsMappedType as tSMappedType };\nexport function tsLiteralType(\n  literal:\n    | t.NumericLiteral\n    | t.StringLiteral\n    | t.BooleanLiteral\n    | t.BigIntLiteral\n    | t.TemplateLiteral\n    | t.UnaryExpression,\n): t.TSLiteralType {\n  const node: t.TSLiteralType = {\n    type: \"TSLiteralType\",\n    literal,\n  };\n  const defs = NODE_FIELDS.TSLiteralType;\n  validate(defs.literal, node, \"literal\", literal, 1);\n  return node;\n}\nexport { tsLiteralType as tSLiteralType };\nexport function tsExpressionWithTypeArguments(\n  expression: t.TSEntityName,\n  typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSExpressionWithTypeArguments {\n  const node: t.TSExpressionWithTypeArguments = {\n    type: \"TSExpressionWithTypeArguments\",\n    expression,\n    typeParameters,\n  };\n  const defs = NODE_FIELDS.TSExpressionWithTypeArguments;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  return node;\n}\nexport { tsExpressionWithTypeArguments as tSExpressionWithTypeArguments };\nexport function tsInterfaceDeclaration(\n  id: t.Identifier,\n  typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n  _extends: Array<t.TSExpressionWithTypeArguments> | null | undefined = null,\n  body: t.TSInterfaceBody,\n): t.TSInterfaceDeclaration {\n  const node: t.TSInterfaceDeclaration = {\n    type: \"TSInterfaceDeclaration\",\n    id,\n    typeParameters,\n    extends: _extends,\n    body,\n  };\n  const defs = NODE_FIELDS.TSInterfaceDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.extends, node, \"extends\", _extends, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport { tsInterfaceDeclaration as tSInterfaceDeclaration };\nexport function tsInterfaceBody(\n  body: Array<t.TSTypeElement>,\n): t.TSInterfaceBody {\n  const node: t.TSInterfaceBody = {\n    type: \"TSInterfaceBody\",\n    body,\n  };\n  const defs = NODE_FIELDS.TSInterfaceBody;\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport { tsInterfaceBody as tSInterfaceBody };\nexport function tsTypeAliasDeclaration(\n  id: t.Identifier,\n  typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n  typeAnnotation: t.TSType,\n): t.TSTypeAliasDeclaration {\n  const node: t.TSTypeAliasDeclaration = {\n    type: \"TSTypeAliasDeclaration\",\n    id,\n    typeParameters,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSTypeAliasDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsTypeAliasDeclaration as tSTypeAliasDeclaration };\nexport function tsInstantiationExpression(\n  expression: t.Expression,\n  typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSInstantiationExpression {\n  const node: t.TSInstantiationExpression = {\n    type: \"TSInstantiationExpression\",\n    expression,\n    typeParameters,\n  };\n  const defs = NODE_FIELDS.TSInstantiationExpression;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  return node;\n}\nexport { tsInstantiationExpression as tSInstantiationExpression };\nexport function tsAsExpression(\n  expression: t.Expression,\n  typeAnnotation: t.TSType,\n): t.TSAsExpression {\n  const node: t.TSAsExpression = {\n    type: \"TSAsExpression\",\n    expression,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSAsExpression;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsAsExpression as tSAsExpression };\nexport function tsSatisfiesExpression(\n  expression: t.Expression,\n  typeAnnotation: t.TSType,\n): t.TSSatisfiesExpression {\n  const node: t.TSSatisfiesExpression = {\n    type: \"TSSatisfiesExpression\",\n    expression,\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSSatisfiesExpression;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsSatisfiesExpression as tSSatisfiesExpression };\nexport function tsTypeAssertion(\n  typeAnnotation: t.TSType,\n  expression: t.Expression,\n): t.TSTypeAssertion {\n  const node: t.TSTypeAssertion = {\n    type: \"TSTypeAssertion\",\n    typeAnnotation,\n    expression,\n  };\n  const defs = NODE_FIELDS.TSTypeAssertion;\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport { tsTypeAssertion as tSTypeAssertion };\nexport function tsEnumDeclaration(\n  id: t.Identifier,\n  members: Array<t.TSEnumMember>,\n): t.TSEnumDeclaration {\n  const node: t.TSEnumDeclaration = {\n    type: \"TSEnumDeclaration\",\n    id,\n    members,\n  };\n  const defs = NODE_FIELDS.TSEnumDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.members, node, \"members\", members, 1);\n  return node;\n}\nexport { tsEnumDeclaration as tSEnumDeclaration };\nexport function tsEnumMember(\n  id: t.Identifier | t.StringLiteral,\n  initializer: t.Expression | null = null,\n): t.TSEnumMember {\n  const node: t.TSEnumMember = {\n    type: \"TSEnumMember\",\n    id,\n    initializer,\n  };\n  const defs = NODE_FIELDS.TSEnumMember;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.initializer, node, \"initializer\", initializer, 1);\n  return node;\n}\nexport { tsEnumMember as tSEnumMember };\nexport function tsModuleDeclaration(\n  id: t.Identifier | t.StringLiteral,\n  body: t.TSModuleBlock | t.TSModuleDeclaration,\n): t.TSModuleDeclaration {\n  const node: t.TSModuleDeclaration = {\n    type: \"TSModuleDeclaration\",\n    id,\n    body,\n    kind: null,\n  };\n  const defs = NODE_FIELDS.TSModuleDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport { tsModuleDeclaration as tSModuleDeclaration };\nexport function tsModuleBlock(body: Array<t.Statement>): t.TSModuleBlock {\n  const node: t.TSModuleBlock = {\n    type: \"TSModuleBlock\",\n    body,\n  };\n  const defs = NODE_FIELDS.TSModuleBlock;\n  validate(defs.body, node, \"body\", body, 1);\n  return node;\n}\nexport { tsModuleBlock as tSModuleBlock };\nexport function tsImportType(\n  argument: t.StringLiteral,\n  qualifier: t.TSEntityName | null = null,\n  typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSImportType {\n  const node: t.TSImportType = {\n    type: \"TSImportType\",\n    argument,\n    qualifier,\n    typeParameters,\n  };\n  const defs = NODE_FIELDS.TSImportType;\n  validate(defs.argument, node, \"argument\", argument, 1);\n  validate(defs.qualifier, node, \"qualifier\", qualifier, 1);\n  validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n  return node;\n}\nexport { tsImportType as tSImportType };\nexport function tsImportEqualsDeclaration(\n  id: t.Identifier,\n  moduleReference: t.TSEntityName | t.TSExternalModuleReference,\n): t.TSImportEqualsDeclaration {\n  const node: t.TSImportEqualsDeclaration = {\n    type: \"TSImportEqualsDeclaration\",\n    id,\n    moduleReference,\n    isExport: null,\n  };\n  const defs = NODE_FIELDS.TSImportEqualsDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  validate(defs.moduleReference, node, \"moduleReference\", moduleReference, 1);\n  return node;\n}\nexport { tsImportEqualsDeclaration as tSImportEqualsDeclaration };\nexport function tsExternalModuleReference(\n  expression: t.StringLiteral,\n): t.TSExternalModuleReference {\n  const node: t.TSExternalModuleReference = {\n    type: \"TSExternalModuleReference\",\n    expression,\n  };\n  const defs = NODE_FIELDS.TSExternalModuleReference;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport { tsExternalModuleReference as tSExternalModuleReference };\nexport function tsNonNullExpression(\n  expression: t.Expression,\n): t.TSNonNullExpression {\n  const node: t.TSNonNullExpression = {\n    type: \"TSNonNullExpression\",\n    expression,\n  };\n  const defs = NODE_FIELDS.TSNonNullExpression;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport { tsNonNullExpression as tSNonNullExpression };\nexport function tsExportAssignment(\n  expression: t.Expression,\n): t.TSExportAssignment {\n  const node: t.TSExportAssignment = {\n    type: \"TSExportAssignment\",\n    expression,\n  };\n  const defs = NODE_FIELDS.TSExportAssignment;\n  validate(defs.expression, node, \"expression\", expression, 1);\n  return node;\n}\nexport { tsExportAssignment as tSExportAssignment };\nexport function tsNamespaceExportDeclaration(\n  id: t.Identifier,\n): t.TSNamespaceExportDeclaration {\n  const node: t.TSNamespaceExportDeclaration = {\n    type: \"TSNamespaceExportDeclaration\",\n    id,\n  };\n  const defs = NODE_FIELDS.TSNamespaceExportDeclaration;\n  validate(defs.id, node, \"id\", id, 1);\n  return node;\n}\nexport { tsNamespaceExportDeclaration as tSNamespaceExportDeclaration };\nexport function tsTypeAnnotation(typeAnnotation: t.TSType): t.TSTypeAnnotation {\n  const node: t.TSTypeAnnotation = {\n    type: \"TSTypeAnnotation\",\n    typeAnnotation,\n  };\n  const defs = NODE_FIELDS.TSTypeAnnotation;\n  validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n  return node;\n}\nexport { tsTypeAnnotation as tSTypeAnnotation };\nexport function tsTypeParameterInstantiation(\n  params: Array<t.TSType>,\n): t.TSTypeParameterInstantiation {\n  const node: t.TSTypeParameterInstantiation = {\n    type: \"TSTypeParameterInstantiation\",\n    params,\n  };\n  const defs = NODE_FIELDS.TSTypeParameterInstantiation;\n  validate(defs.params, node, \"params\", params, 1);\n  return node;\n}\nexport { tsTypeParameterInstantiation as tSTypeParameterInstantiation };\nexport function tsTypeParameterDeclaration(\n  params: Array<t.TSTypeParameter>,\n): t.TSTypeParameterDeclaration {\n  const node: t.TSTypeParameterDeclaration = {\n    type: \"TSTypeParameterDeclaration\",\n    params,\n  };\n  const defs = NODE_FIELDS.TSTypeParameterDeclaration;\n  validate(defs.params, node, \"params\", params, 1);\n  return node;\n}\nexport { tsTypeParameterDeclaration as tSTypeParameterDeclaration };\nexport function tsTypeParameter(\n  constraint: t.TSType | null | undefined = null,\n  _default: t.TSType | null | undefined = null,\n  name: string,\n): t.TSTypeParameter {\n  const node: t.TSTypeParameter = {\n    type: \"TSTypeParameter\",\n    constraint,\n    default: _default,\n    name,\n  };\n  const defs = NODE_FIELDS.TSTypeParameter;\n  validate(defs.constraint, node, \"constraint\", constraint, 1);\n  validate(defs.default, node, \"default\", _default, 1);\n  validate(defs.name, node, \"name\", name);\n  return node;\n}\nexport { tsTypeParameter as tSTypeParameter };\n/** @deprecated */\nfunction NumberLiteral(value: number) {\n  deprecationWarning(\"NumberLiteral\", \"NumericLiteral\", \"The node type \");\n  return numericLiteral(value);\n}\nexport { NumberLiteral as numberLiteral };\n/** @deprecated */\nfunction RegexLiteral(pattern: string, flags: string = \"\") {\n  deprecationWarning(\"RegexLiteral\", \"RegExpLiteral\", \"The node type \");\n  return regExpLiteral(pattern, flags);\n}\nexport { RegexLiteral as regexLiteral };\n/** @deprecated */\nfunction RestProperty(argument: t.LVal) {\n  deprecationWarning(\"RestProperty\", \"RestElement\", \"The node type \");\n  return restElement(argument);\n}\nexport { RestProperty as restProperty };\n/** @deprecated */\nfunction SpreadProperty(argument: t.Expression) {\n  deprecationWarning(\"SpreadProperty\", \"SpreadElement\", \"The node type \");\n  return spreadElement(argument);\n}\nexport { SpreadProperty as spreadProperty };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,MAAM;EAAEG,gBAAgB,EAAEC;AAAS,CAAC,GAAGL,SAAS;AAChD,MAAM;EAAEM;AAAY,CAAC,GAAGH,KAAK;AAEtB,SAASI,eAAeA,CAC7BC,QAAsD,GAAG,EAAE,EACxC;EACnB,MAAMC,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBF;EACF,CAAC;EACD,MAAMG,IAAI,GAAGL,WAAW,CAACM,eAAe;EACxCP,QAAQ,CAACM,IAAI,CAACH,QAAQ,EAAEC,IAAI,EAAE,UAAU,EAAED,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOC,IAAI;AACb;AACO,SAASI,oBAAoBA,CAClCC,QAAgB,EAChBC,IAAyC,EACzCC,KAAmB,EACK;EACxB,MAAMP,IAA4B,GAAG;IACnCC,IAAI,EAAE,sBAAsB;IAC5BI,QAAQ;IACRC,IAAI;IACJC;EACF,CAAC;EACD,MAAML,IAAI,GAAGL,WAAW,CAACW,oBAAoB;EAC7CZ,QAAQ,CAACM,IAAI,CAACG,QAAQ,EAAEL,IAAI,EAAE,UAAU,EAAEK,QAAQ,CAAC;EACnDT,QAAQ,CAACM,IAAI,CAACI,IAAI,EAAEN,IAAI,EAAE,MAAM,EAAEM,IAAI,EAAE,CAAC,CAAC;EAC1CV,QAAQ,CAACM,IAAI,CAACK,KAAK,EAAEP,IAAI,EAAE,OAAO,EAAEO,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOP,IAAI;AACb;AACO,SAASS,gBAAgBA,CAC9BJ,QAuBQ,EACRC,IAAkC,EAClCC,KAAmB,EACC;EACpB,MAAMP,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBI,QAAQ;IACRC,IAAI;IACJC;EACF,CAAC;EACD,MAAML,IAAI,GAAGL,WAAW,CAACa,gBAAgB;EACzCd,QAAQ,CAACM,IAAI,CAACG,QAAQ,EAAEL,IAAI,EAAE,UAAU,EAAEK,QAAQ,CAAC;EACnDT,QAAQ,CAACM,IAAI,CAACI,IAAI,EAAEN,IAAI,EAAE,MAAM,EAAEM,IAAI,EAAE,CAAC,CAAC;EAC1CV,QAAQ,CAACM,IAAI,CAACK,KAAK,EAAEP,IAAI,EAAE,OAAO,EAAEO,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOP,IAAI;AACb;AACO,SAASW,oBAAoBA,CAACC,KAAa,EAA0B;EAC1E,MAAMZ,IAA4B,GAAG;IACnCC,IAAI,EAAE,sBAAsB;IAC5BW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAACgB,oBAAoB;EAC7CjB,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAASc,SAASA,CAACF,KAAyB,EAAe;EAChE,MAAMZ,IAAiB,GAAG;IACxBC,IAAI,EAAE,WAAW;IACjBW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAACkB,SAAS;EAClCnB,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOZ,IAAI;AACb;AACO,SAASgB,gBAAgBA,CAACJ,KAAa,EAAsB;EAClE,MAAMZ,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAACoB,gBAAgB;EACzCrB,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAASkB,cAAcA,CAC5BC,IAAwB,EACxBC,UAA8B,GAAG,EAAE,EACjB;EAClB,MAAMpB,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBkB,IAAI;IACJC;EACF,CAAC;EACD,MAAMlB,IAAI,GAAGL,WAAW,CAACwB,cAAc;EACvCzB,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAACkB,UAAU,EAAEpB,IAAI,EAAE,YAAY,EAAEoB,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAOpB,IAAI;AACb;AACO,SAASsB,cAAcA,CAC5BC,KAA0B,GAAG,IAAI,EACf;EAClB,MAAMvB,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBsB;EACF,CAAC;EACD,MAAMrB,IAAI,GAAGL,WAAW,CAAC2B,cAAc;EACvC5B,QAAQ,CAACM,IAAI,CAACqB,KAAK,EAAEvB,IAAI,EAAE,OAAO,EAAEuB,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOvB,IAAI;AACb;AACO,SAASyB,cAAcA,CAC5BC,MAAwD,EACxDC,UAAyE,EACvD;EAClB,MAAM3B,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtByB,MAAM;IACNE,SAAS,EAAED;EACb,CAAC;EACD,MAAMzB,IAAI,GAAGL,WAAW,CAACgC,cAAc;EACvCjC,QAAQ,CAACM,IAAI,CAACwB,MAAM,EAAE1B,IAAI,EAAE,QAAQ,EAAE0B,MAAM,EAAE,CAAC,CAAC;EAChD9B,QAAQ,CAACM,IAAI,CAAC0B,SAAS,EAAE5B,IAAI,EAAE,WAAW,EAAE2B,UAAU,EAAE,CAAC,CAAC;EAC1D,OAAO3B,IAAI;AACb;AACO,SAAS8B,WAAWA,CACzBC,KAKa,GAAG,IAAI,EACpBZ,IAAsB,EACP;EACf,MAAMnB,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnB8B,KAAK;IACLZ;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACmC,WAAW;EACpCpC,QAAQ,CAACM,IAAI,CAAC6B,KAAK,EAAE/B,IAAI,EAAE,OAAO,EAAE+B,KAAK,EAAE,CAAC,CAAC;EAC7CnC,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASiC,qBAAqBA,CACnCC,IAAkB,EAClBC,UAAwB,EACxBC,SAAuB,EACE;EACzB,MAAMpC,IAA6B,GAAG;IACpCC,IAAI,EAAE,uBAAuB;IAC7BiC,IAAI;IACJC,UAAU;IACVC;EACF,CAAC;EACD,MAAMlC,IAAI,GAAGL,WAAW,CAACwC,qBAAqB;EAC9CzC,QAAQ,CAACM,IAAI,CAACgC,IAAI,EAAElC,IAAI,EAAE,MAAM,EAAEkC,IAAI,EAAE,CAAC,CAAC;EAC1CtC,QAAQ,CAACM,IAAI,CAACiC,UAAU,EAAEnC,IAAI,EAAE,YAAY,EAAEmC,UAAU,EAAE,CAAC,CAAC;EAC5DvC,QAAQ,CAACM,IAAI,CAACkC,SAAS,EAAEpC,IAAI,EAAE,WAAW,EAAEoC,SAAS,EAAE,CAAC,CAAC;EACzD,OAAOpC,IAAI;AACb;AACO,SAASsC,iBAAiBA,CAC/Bf,KAA0B,GAAG,IAAI,EACZ;EACrB,MAAMvB,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBsB;EACF,CAAC;EACD,MAAMrB,IAAI,GAAGL,WAAW,CAAC0C,iBAAiB;EAC1C3C,QAAQ,CAACM,IAAI,CAACqB,KAAK,EAAEvB,IAAI,EAAE,OAAO,EAAEuB,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOvB,IAAI;AACb;AACO,SAASwC,iBAAiBA,CAAA,EAAwB;EACvD,OAAO;IACLvC,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASwC,gBAAgBA,CAC9BP,IAAkB,EAClBf,IAAiB,EACG;EACpB,MAAMnB,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBiC,IAAI;IACJf;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAAC6C,gBAAgB;EACzC9C,QAAQ,CAACM,IAAI,CAACgC,IAAI,EAAElC,IAAI,EAAE,MAAM,EAAEkC,IAAI,EAAE,CAAC,CAAC;EAC1CtC,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAAS2C,cAAcA,CAAA,EAAqB;EACjD,OAAO;IACL1C,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAAS2C,mBAAmBA,CACjCC,UAAwB,EACD;EACvB,MAAM7C,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3B4C;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAACiD,mBAAmB;EAC5ClD,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AACO,SAAS+C,IAAIA,CAClBC,OAAkB,EAClBC,QAAsD,GAAG,IAAI,EAC7DC,MAAyB,GAAG,IAAI,EACxB;EACR,MAAMlD,IAAY,GAAG;IACnBC,IAAI,EAAE,MAAM;IACZ+C,OAAO;IACPC,QAAQ;IACRC;EACF,CAAC;EACD,MAAMhD,IAAI,GAAGL,WAAW,CAACsD,IAAI;EAC7BvD,QAAQ,CAACM,IAAI,CAAC8C,OAAO,EAAEhD,IAAI,EAAE,SAAS,EAAEgD,OAAO,EAAE,CAAC,CAAC;EACnDpD,QAAQ,CAACM,IAAI,CAAC+C,QAAQ,EAAEjD,IAAI,EAAE,UAAU,EAAEiD,QAAQ,EAAE,CAAC,CAAC;EACtDrD,QAAQ,CAACM,IAAI,CAACgD,MAAM,EAAElD,IAAI,EAAE,QAAQ,EAAEkD,MAAM,CAAC;EAC7C,OAAOlD,IAAI;AACb;AACO,SAASoD,cAAcA,CAC5B9C,IAAoC,EACpCC,KAAmB,EACnBY,IAAiB,EACC;EAClB,MAAMnB,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBK,IAAI;IACJC,KAAK;IACLY;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACwD,cAAc;EACvCzD,QAAQ,CAACM,IAAI,CAACI,IAAI,EAAEN,IAAI,EAAE,MAAM,EAAEM,IAAI,EAAE,CAAC,CAAC;EAC1CV,QAAQ,CAACM,IAAI,CAACK,KAAK,EAAEP,IAAI,EAAE,OAAO,EAAEO,KAAK,EAAE,CAAC,CAAC;EAC7CX,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASsD,YAAYA,CAC1BC,IAA6D,GAAG,IAAI,EACpErB,IAAqC,GAAG,IAAI,EAC5CsB,MAAuC,GAAG,IAAI,EAC9CrC,IAAiB,EACD;EAChB,MAAMnB,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpBsD,IAAI;IACJrB,IAAI;IACJsB,MAAM;IACNrC;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAAC4D,YAAY;EACrC7D,QAAQ,CAACM,IAAI,CAACqD,IAAI,EAAEvD,IAAI,EAAE,MAAM,EAAEuD,IAAI,EAAE,CAAC,CAAC;EAC1C3D,QAAQ,CAACM,IAAI,CAACgC,IAAI,EAAElC,IAAI,EAAE,MAAM,EAAEkC,IAAI,EAAE,CAAC,CAAC;EAC1CtC,QAAQ,CAACM,IAAI,CAACsD,MAAM,EAAExD,IAAI,EAAE,QAAQ,EAAEwD,MAAM,EAAE,CAAC,CAAC;EAChD5D,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAAS0D,mBAAmBA,CACjCC,EAAmC,GAAG,IAAI,EAC1CC,MAAuD,EACvDzC,IAAsB,EACtB0C,SAAkB,GAAG,KAAK,EAC1BC,KAAc,GAAG,KAAK,EACC;EACvB,MAAM9D,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3B0D,EAAE;IACFC,MAAM;IACNzC,IAAI;IACJ0C,SAAS;IACTC;EACF,CAAC;EACD,MAAM5D,IAAI,GAAGL,WAAW,CAACkE,mBAAmB;EAC5CnE,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChDhE,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAAC2D,SAAS,EAAE7D,IAAI,EAAE,WAAW,EAAE6D,SAAS,CAAC;EACtDjE,QAAQ,CAACM,IAAI,CAAC4D,KAAK,EAAE9D,IAAI,EAAE,OAAO,EAAE8D,KAAK,CAAC;EAC1C,OAAO9D,IAAI;AACb;AACO,SAASgE,kBAAkBA,CAChCL,EAAmC,GAAG,IAAI,EAC1CC,MAAuD,EACvDzC,IAAsB,EACtB0C,SAAkB,GAAG,KAAK,EAC1BC,KAAc,GAAG,KAAK,EACA;EACtB,MAAM9D,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1B0D,EAAE;IACFC,MAAM;IACNzC,IAAI;IACJ0C,SAAS;IACTC;EACF,CAAC;EACD,MAAM5D,IAAI,GAAGL,WAAW,CAACoE,kBAAkB;EAC3CrE,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChDhE,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAAC2D,SAAS,EAAE7D,IAAI,EAAE,WAAW,EAAE6D,SAAS,CAAC;EACtDjE,QAAQ,CAACM,IAAI,CAAC4D,KAAK,EAAE9D,IAAI,EAAE,OAAO,EAAE8D,KAAK,CAAC;EAC1C,OAAO9D,IAAI;AACb;AACO,SAASkE,UAAUA,CAACC,IAAY,EAAgB;EACrD,MAAMnE,IAAkB,GAAG;IACzBC,IAAI,EAAE,YAAY;IAClBkE;EACF,CAAC;EACD,MAAMjE,IAAI,GAAGL,WAAW,CAACuE,UAAU;EACnCxE,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,CAAC;EACvC,OAAOnE,IAAI;AACb;AACO,SAASqE,WAAWA,CACzBnC,IAAkB,EAClBC,UAAuB,EACvBC,SAA6B,GAAG,IAAI,EACrB;EACf,MAAMpC,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnBiC,IAAI;IACJC,UAAU;IACVC;EACF,CAAC;EACD,MAAMlC,IAAI,GAAGL,WAAW,CAACyE,WAAW;EACpC1E,QAAQ,CAACM,IAAI,CAACgC,IAAI,EAAElC,IAAI,EAAE,MAAM,EAAEkC,IAAI,EAAE,CAAC,CAAC;EAC1CtC,QAAQ,CAACM,IAAI,CAACiC,UAAU,EAAEnC,IAAI,EAAE,YAAY,EAAEmC,UAAU,EAAE,CAAC,CAAC;EAC5DvC,QAAQ,CAACM,IAAI,CAACkC,SAAS,EAAEpC,IAAI,EAAE,WAAW,EAAEoC,SAAS,EAAE,CAAC,CAAC;EACzD,OAAOpC,IAAI;AACb;AACO,SAASuE,gBAAgBA,CAC9BhD,KAAmB,EACnBJ,IAAiB,EACG;EACpB,MAAMnB,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBsB,KAAK;IACLJ;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAAC2E,gBAAgB;EACzC5E,QAAQ,CAACM,IAAI,CAACqB,KAAK,EAAEvB,IAAI,EAAE,OAAO,EAAEuB,KAAK,EAAE,CAAC,CAAC;EAC7C3B,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASyE,aAAaA,CAAC7D,KAAa,EAAmB;EAC5D,MAAMZ,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAAC6E,aAAa;EACtC9E,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAAS2E,cAAcA,CAAC/D,KAAa,EAAoB;EAC9D,MAAMZ,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAAC+E,cAAc;EACvChF,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAAS6E,WAAWA,CAAA,EAAkB;EAC3C,OAAO;IACL5E,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAAS6E,cAAcA,CAAClE,KAAc,EAAoB;EAC/D,MAAMZ,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAACkF,cAAc;EACvCnF,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAASgF,aAAaA,CAC3BC,OAAe,EACfC,KAAa,GAAG,EAAE,EACD;EACjB,MAAMlF,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBgF,OAAO;IACPC;EACF,CAAC;EACD,MAAMhF,IAAI,GAAGL,WAAW,CAACsF,aAAa;EACtCvF,QAAQ,CAACM,IAAI,CAAC+E,OAAO,EAAEjF,IAAI,EAAE,SAAS,EAAEiF,OAAO,CAAC;EAChDrF,QAAQ,CAACM,IAAI,CAACgF,KAAK,EAAElF,IAAI,EAAE,OAAO,EAAEkF,KAAK,CAAC;EAC1C,OAAOlF,IAAI;AACb;AACO,SAASoF,iBAAiBA,CAC/B/E,QAA4B,EAC5BC,IAAkB,EAClBC,KAAmB,EACE;EACrB,MAAMP,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBI,QAAQ;IACRC,IAAI;IACJC;EACF,CAAC;EACD,MAAML,IAAI,GAAGL,WAAW,CAACwF,iBAAiB;EAC1CzF,QAAQ,CAACM,IAAI,CAACG,QAAQ,EAAEL,IAAI,EAAE,UAAU,EAAEK,QAAQ,CAAC;EACnDT,QAAQ,CAACM,IAAI,CAACI,IAAI,EAAEN,IAAI,EAAE,MAAM,EAAEM,IAAI,EAAE,CAAC,CAAC;EAC1CV,QAAQ,CAACM,IAAI,CAACK,KAAK,EAAEP,IAAI,EAAE,OAAO,EAAEO,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOP,IAAI;AACb;AACO,SAASsF,gBAAgBA,CAC9BC,MAA8B,EAC9BC,QAAqD,EACrDC,QAAiB,GAAG,KAAK,EACzBC,QAAwB,GAAG,IAAI,EACX;EACpB,MAAM1F,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBsF,MAAM;IACNC,QAAQ;IACRC,QAAQ;IACRC;EACF,CAAC;EACD,MAAMxF,IAAI,GAAGL,WAAW,CAAC8F,gBAAgB;EACzC/F,QAAQ,CAACM,IAAI,CAACqF,MAAM,EAAEvF,IAAI,EAAE,QAAQ,EAAEuF,MAAM,EAAE,CAAC,CAAC;EAChD3F,QAAQ,CAACM,IAAI,CAACsF,QAAQ,EAAExF,IAAI,EAAE,UAAU,EAAEwF,QAAQ,EAAE,CAAC,CAAC;EACtD5F,QAAQ,CAACM,IAAI,CAACuF,QAAQ,EAAEzF,IAAI,EAAE,UAAU,EAAEyF,QAAQ,CAAC;EACnD7F,QAAQ,CAACM,IAAI,CAACwF,QAAQ,EAAE1F,IAAI,EAAE,UAAU,EAAE0F,QAAQ,CAAC;EACnD,OAAO1F,IAAI;AACb;AACO,SAAS4F,aAAaA,CAC3BlE,MAAwD,EACxDC,UAAyE,EACxD;EACjB,MAAM3B,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrByB,MAAM;IACNE,SAAS,EAAED;EACb,CAAC;EACD,MAAMzB,IAAI,GAAGL,WAAW,CAACgG,aAAa;EACtCjG,QAAQ,CAACM,IAAI,CAACwB,MAAM,EAAE1B,IAAI,EAAE,QAAQ,EAAE0B,MAAM,EAAE,CAAC,CAAC;EAChD9B,QAAQ,CAACM,IAAI,CAAC0B,SAAS,EAAE5B,IAAI,EAAE,WAAW,EAAE2B,UAAU,EAAE,CAAC,CAAC;EAC1D,OAAO3B,IAAI;AACb;AACO,SAASgD,OAAOA,CACrB7B,IAAwB,EACxBC,UAA8B,GAAG,EAAE,EACnC0E,UAA+B,GAAG,QAAQ,EAC1CC,WAA0C,GAAG,IAAI,EACtC;EACX,MAAM/F,IAAe,GAAG;IACtBC,IAAI,EAAE,SAAS;IACfkB,IAAI;IACJC,UAAU;IACV0E,UAAU;IACVC;EACF,CAAC;EACD,MAAM7F,IAAI,GAAGL,WAAW,CAACmG,OAAO;EAChCpG,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAACkB,UAAU,EAAEpB,IAAI,EAAE,YAAY,EAAEoB,UAAU,EAAE,CAAC,CAAC;EAC5DxB,QAAQ,CAACM,IAAI,CAAC4F,UAAU,EAAE9F,IAAI,EAAE,YAAY,EAAE8F,UAAU,CAAC;EACzDlG,QAAQ,CAACM,IAAI,CAAC6F,WAAW,EAAE/F,IAAI,EAAE,aAAa,EAAE+F,WAAW,EAAE,CAAC,CAAC;EAC/D,OAAO/F,IAAI;AACb;AACO,SAASiG,gBAAgBA,CAC9BC,UAAsE,EAClD;EACpB,MAAMlG,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBiG;EACF,CAAC;EACD,MAAMhG,IAAI,GAAGL,WAAW,CAACsG,gBAAgB;EACzCvG,QAAQ,CAACM,IAAI,CAACgG,UAAU,EAAElG,IAAI,EAAE,YAAY,EAAEkG,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAOlG,IAAI;AACb;AACO,SAASoG,YAAYA,CAC1BC,IAA0C,GAAG,QAAQ,EACrDC,GAKmB,EACnB1C,MAAuD,EACvDzC,IAAsB,EACtBsE,QAAiB,GAAG,KAAK,EACzB5B,SAAkB,GAAG,KAAK,EAC1BC,KAAc,GAAG,KAAK,EACN;EAChB,MAAM9D,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpBoG,IAAI;IACJC,GAAG;IACH1C,MAAM;IACNzC,IAAI;IACJsE,QAAQ;IACR5B,SAAS;IACTC;EACF,CAAC;EACD,MAAM5D,IAAI,GAAGL,WAAW,CAAC0G,YAAY;EACrC3G,QAAQ,CAACM,IAAI,CAACmG,IAAI,EAAErG,IAAI,EAAE,MAAM,EAAEqG,IAAI,CAAC;EACvCzG,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChDhE,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAACuF,QAAQ,EAAEzF,IAAI,EAAE,UAAU,EAAEyF,QAAQ,CAAC;EACnD7F,QAAQ,CAACM,IAAI,CAAC2D,SAAS,EAAE7D,IAAI,EAAE,WAAW,EAAE6D,SAAS,CAAC;EACtDjE,QAAQ,CAACM,IAAI,CAAC4D,KAAK,EAAE9D,IAAI,EAAE,OAAO,EAAE8D,KAAK,CAAC;EAC1C,OAAO9D,IAAI;AACb;AACO,SAASwG,cAAcA,CAC5BF,GAOiB,EACjB1F,KAAmC,EACnC6E,QAAiB,GAAG,KAAK,EACzBgB,SAAkB,GAAG,KAAK,EAC1BC,UAAqC,GAAG,IAAI,EAC1B;EAClB,MAAM1G,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBqG,GAAG;IACH1F,KAAK;IACL6E,QAAQ;IACRgB,SAAS;IACTC;EACF,CAAC;EACD,MAAMxG,IAAI,GAAGL,WAAW,CAAC8G,cAAc;EACvC/G,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7ChB,QAAQ,CAACM,IAAI,CAACuF,QAAQ,EAAEzF,IAAI,EAAE,UAAU,EAAEyF,QAAQ,CAAC;EACnD7F,QAAQ,CAACM,IAAI,CAACuG,SAAS,EAAEzG,IAAI,EAAE,WAAW,EAAEyG,SAAS,CAAC;EACtD7G,QAAQ,CAACM,IAAI,CAACwG,UAAU,EAAE1G,IAAI,EAAE,YAAY,EAAE0G,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO1G,IAAI;AACb;AACO,SAAS4G,WAAWA,CAACC,QAAgB,EAAiB;EAC3D,MAAM7G,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnB4G;EACF,CAAC;EACD,MAAM3G,IAAI,GAAGL,WAAW,CAACiH,WAAW;EACpClH,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO7G,IAAI;AACb;AACO,SAAS+G,eAAeA,CAC7BF,QAA6B,GAAG,IAAI,EACjB;EACnB,MAAM7G,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB4G;EACF,CAAC;EACD,MAAM3G,IAAI,GAAGL,WAAW,CAACmH,eAAe;EACxCpH,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO7G,IAAI;AACb;AACO,SAASiH,kBAAkBA,CAChCC,WAAgC,EACV;EACtB,MAAMlH,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1BiH;EACF,CAAC;EACD,MAAMhH,IAAI,GAAGL,WAAW,CAACsH,kBAAkB;EAC3CvH,QAAQ,CAACM,IAAI,CAACgH,WAAW,EAAElH,IAAI,EAAE,aAAa,EAAEkH,WAAW,EAAE,CAAC,CAAC;EAC/D,OAAOlH,IAAI;AACb;AACO,SAASoH,uBAAuBA,CACrCvE,UAAwB,EACG;EAC3B,MAAM7C,IAA+B,GAAG;IACtCC,IAAI,EAAE,yBAAyB;IAC/B4C;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAACwH,uBAAuB;EAChDzH,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AACO,SAASsH,UAAUA,CACxBpF,IAAqC,GAAG,IAAI,EAC5CC,UAA8B,EAChB;EACd,MAAMnC,IAAkB,GAAG;IACzBC,IAAI,EAAE,YAAY;IAClBiC,IAAI;IACJC;EACF,CAAC;EACD,MAAMjC,IAAI,GAAGL,WAAW,CAAC0H,UAAU;EACnC3H,QAAQ,CAACM,IAAI,CAACgC,IAAI,EAAElC,IAAI,EAAE,MAAM,EAAEkC,IAAI,EAAE,CAAC,CAAC;EAC1CtC,QAAQ,CAACM,IAAI,CAACiC,UAAU,EAAEnC,IAAI,EAAE,YAAY,EAAEmC,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAOnC,IAAI;AACb;AACO,SAASwH,eAAeA,CAC7BC,YAA0B,EAC1BC,KAA0B,EACP;EACnB,MAAM1H,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBwH,YAAY;IACZC;EACF,CAAC;EACD,MAAMxH,IAAI,GAAGL,WAAW,CAAC8H,eAAe;EACxC/H,QAAQ,CAACM,IAAI,CAACuH,YAAY,EAAEzH,IAAI,EAAE,cAAc,EAAEyH,YAAY,EAAE,CAAC,CAAC;EAClE7H,QAAQ,CAACM,IAAI,CAACwH,KAAK,EAAE1H,IAAI,EAAE,OAAO,EAAE0H,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAO1H,IAAI;AACb;AACO,SAAS4H,cAAcA,CAAA,EAAqB;EACjD,OAAO;IACL3H,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAAS4H,cAAcA,CAAChB,QAAsB,EAAoB;EACvE,MAAM7G,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtB4G;EACF,CAAC;EACD,MAAM3G,IAAI,GAAGL,WAAW,CAACiI,cAAc;EACvClI,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO7G,IAAI;AACb;AACO,SAAS+H,YAAYA,CAC1BC,KAAuB,EACvBC,OAA6B,GAAG,IAAI,EACpCC,SAAkC,GAAG,IAAI,EACzB;EAChB,MAAMlI,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpB+H,KAAK;IACLC,OAAO;IACPC;EACF,CAAC;EACD,MAAMhI,IAAI,GAAGL,WAAW,CAACsI,YAAY;EACrCvI,QAAQ,CAACM,IAAI,CAAC8H,KAAK,EAAEhI,IAAI,EAAE,OAAO,EAAEgI,KAAK,EAAE,CAAC,CAAC;EAC7CpI,QAAQ,CAACM,IAAI,CAAC+H,OAAO,EAAEjI,IAAI,EAAE,SAAS,EAAEiI,OAAO,EAAE,CAAC,CAAC;EACnDrI,QAAQ,CAACM,IAAI,CAACgI,SAAS,EAAElI,IAAI,EAAE,WAAW,EAAEkI,SAAS,EAAE,CAAC,CAAC;EACzD,OAAOlI,IAAI;AACb;AACO,SAASoI,eAAeA,CAC7B/H,QAAwE,EACxEwG,QAAsB,EACtBwB,MAAe,GAAG,IAAI,EACH;EACnB,MAAMrI,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBI,QAAQ;IACRwG,QAAQ;IACRwB;EACF,CAAC;EACD,MAAMnI,IAAI,GAAGL,WAAW,CAACyI,eAAe;EACxC1I,QAAQ,CAACM,IAAI,CAACG,QAAQ,EAAEL,IAAI,EAAE,UAAU,EAAEK,QAAQ,CAAC;EACnDT,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtDjH,QAAQ,CAACM,IAAI,CAACmI,MAAM,EAAErI,IAAI,EAAE,QAAQ,EAAEqI,MAAM,CAAC;EAC7C,OAAOrI,IAAI;AACb;AACO,SAASuI,gBAAgBA,CAC9BlI,QAAqB,EACrBwG,QAAsB,EACtBwB,MAAe,GAAG,KAAK,EACH;EACpB,MAAMrI,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBI,QAAQ;IACRwG,QAAQ;IACRwB;EACF,CAAC;EACD,MAAMnI,IAAI,GAAGL,WAAW,CAAC2I,gBAAgB;EACzC5I,QAAQ,CAACM,IAAI,CAACG,QAAQ,EAAEL,IAAI,EAAE,UAAU,EAAEK,QAAQ,CAAC;EACnDT,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtDjH,QAAQ,CAACM,IAAI,CAACmI,MAAM,EAAErI,IAAI,EAAE,QAAQ,EAAEqI,MAAM,CAAC;EAC7C,OAAOrI,IAAI;AACb;AACO,SAASyI,mBAAmBA,CACjCpC,IAAuD,EACvDqC,YAAyC,EAClB;EACvB,MAAM1I,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3BoG,IAAI;IACJqC;EACF,CAAC;EACD,MAAMxI,IAAI,GAAGL,WAAW,CAAC8I,mBAAmB;EAC5C/I,QAAQ,CAACM,IAAI,CAACmG,IAAI,EAAErG,IAAI,EAAE,MAAM,EAAEqG,IAAI,CAAC;EACvCzG,QAAQ,CAACM,IAAI,CAACwI,YAAY,EAAE1I,IAAI,EAAE,cAAc,EAAE0I,YAAY,EAAE,CAAC,CAAC;EAClE,OAAO1I,IAAI;AACb;AACO,SAAS4I,kBAAkBA,CAChCjF,EAAU,EACVJ,IAAyB,GAAG,IAAI,EACV;EACtB,MAAMvD,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1B0D,EAAE;IACFJ;EACF,CAAC;EACD,MAAMrD,IAAI,GAAGL,WAAW,CAACgJ,kBAAkB;EAC3CjJ,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACqD,IAAI,EAAEvD,IAAI,EAAE,MAAM,EAAEuD,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOvD,IAAI;AACb;AACO,SAAS8I,cAAcA,CAC5B5G,IAAkB,EAClBf,IAAiB,EACC;EAClB,MAAMnB,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBiC,IAAI;IACJf;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACkJ,cAAc;EACvCnJ,QAAQ,CAACM,IAAI,CAACgC,IAAI,EAAElC,IAAI,EAAE,MAAM,EAAEkC,IAAI,EAAE,CAAC,CAAC;EAC1CtC,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASgJ,aAAaA,CAC3BzD,MAAoB,EACpBpE,IAAiB,EACA;EACjB,MAAMnB,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBsF,MAAM;IACNpE;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACoJ,aAAa;EACtCrJ,QAAQ,CAACM,IAAI,CAACqF,MAAM,EAAEvF,IAAI,EAAE,QAAQ,EAAEuF,MAAM,EAAE,CAAC,CAAC;EAChD3F,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASkJ,iBAAiBA,CAC/B5I,IAQyB,EACzBC,KAAmB,EACE;EACrB,MAAMP,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBK,IAAI;IACJC;EACF,CAAC;EACD,MAAML,IAAI,GAAGL,WAAW,CAACsJ,iBAAiB;EAC1CvJ,QAAQ,CAACM,IAAI,CAACI,IAAI,EAAEN,IAAI,EAAE,MAAM,EAAEM,IAAI,EAAE,CAAC,CAAC;EAC1CV,QAAQ,CAACM,IAAI,CAACK,KAAK,EAAEP,IAAI,EAAE,OAAO,EAAEO,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOP,IAAI;AACb;AACO,SAASoJ,YAAYA,CAC1BrJ,QAA8C,EAC9B;EAChB,MAAMC,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpBF;EACF,CAAC;EACD,MAAMG,IAAI,GAAGL,WAAW,CAACwJ,YAAY;EACrCzJ,QAAQ,CAACM,IAAI,CAACH,QAAQ,EAAEC,IAAI,EAAE,UAAU,EAAED,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOC,IAAI;AACb;AACO,SAASsJ,uBAAuBA,CACrC1F,MAAuD,EACvDzC,IAAqC,EACrC2C,KAAc,GAAG,KAAK,EACK;EAC3B,MAAM9D,IAA+B,GAAG;IACtCC,IAAI,EAAE,yBAAyB;IAC/B2D,MAAM;IACNzC,IAAI;IACJ2C,KAAK;IACLjB,UAAU,EAAE;EACd,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAAC0J,uBAAuB;EAChD3J,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChDhE,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAAC4D,KAAK,EAAE9D,IAAI,EAAE,OAAO,EAAE8D,KAAK,CAAC;EAC1C,OAAO9D,IAAI;AACb;AACO,SAASwJ,SAASA,CACvBrI,IASC,EACY;EACb,MAAMnB,IAAiB,GAAG;IACxBC,IAAI,EAAE,WAAW;IACjBkB;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAAC4J,SAAS;EAClC7J,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAAS0J,eAAeA,CAC7B/F,EAAmC,GAAG,IAAI,EAC1CgG,UAA2C,GAAG,IAAI,EAClDxI,IAAiB,EACjBuF,UAAqC,GAAG,IAAI,EACzB;EACnB,MAAM1G,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB0D,EAAE;IACFgG,UAAU;IACVxI,IAAI;IACJuF;EACF,CAAC;EACD,MAAMxG,IAAI,GAAGL,WAAW,CAAC+J,eAAe;EACxChK,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACyJ,UAAU,EAAE3J,IAAI,EAAE,YAAY,EAAE2J,UAAU,EAAE,CAAC,CAAC;EAC5D/J,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAACwG,UAAU,EAAE1G,IAAI,EAAE,YAAY,EAAE0G,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO1G,IAAI;AACb;AACO,SAAS6J,gBAAgBA,CAC9BlG,EAAmC,GAAG,IAAI,EAC1CgG,UAA2C,GAAG,IAAI,EAClDxI,IAAiB,EACjBuF,UAAqC,GAAG,IAAI,EACxB;EACpB,MAAM1G,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxB0D,EAAE;IACFgG,UAAU;IACVxI,IAAI;IACJuF;EACF,CAAC;EACD,MAAMxG,IAAI,GAAGL,WAAW,CAACiK,gBAAgB;EACzClK,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACyJ,UAAU,EAAE3J,IAAI,EAAE,YAAY,EAAE2J,UAAU,EAAE,CAAC,CAAC;EAC5D/J,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAACwG,UAAU,EAAE1G,IAAI,EAAE,YAAY,EAAE0G,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO1G,IAAI;AACb;AACO,SAAS+J,oBAAoBA,CAClCC,MAAuB,EACC;EACxB,MAAMhK,IAA4B,GAAG;IACnCC,IAAI,EAAE,sBAAsB;IAC5B+J;EACF,CAAC;EACD,MAAM9J,IAAI,GAAGL,WAAW,CAACoK,oBAAoB;EAC7CrK,QAAQ,CAACM,IAAI,CAAC8J,MAAM,EAAEhK,IAAI,EAAE,QAAQ,EAAEgK,MAAM,EAAE,CAAC,CAAC;EAChD,OAAOhK,IAAI;AACb;AACO,SAASkK,wBAAwBA,CACtCC,WAIgB,EACY;EAC5B,MAAMnK,IAAgC,GAAG;IACvCC,IAAI,EAAE,0BAA0B;IAChCkK;EACF,CAAC;EACD,MAAMjK,IAAI,GAAGL,WAAW,CAACuK,wBAAwB;EACjDxK,QAAQ,CAACM,IAAI,CAACiK,WAAW,EAAEnK,IAAI,EAAE,aAAa,EAAEmK,WAAW,EAAE,CAAC,CAAC;EAC/D,OAAOnK,IAAI;AACb;AACO,SAASqK,sBAAsBA,CACpCF,WAAiC,GAAG,IAAI,EACxCG,UAEC,GAAG,EAAE,EACNN,MAA8B,GAAG,IAAI,EACX;EAC1B,MAAMhK,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9BkK,WAAW;IACXG,UAAU;IACVN;EACF,CAAC;EACD,MAAM9J,IAAI,GAAGL,WAAW,CAAC0K,sBAAsB;EAC/C3K,QAAQ,CAACM,IAAI,CAACiK,WAAW,EAAEnK,IAAI,EAAE,aAAa,EAAEmK,WAAW,EAAE,CAAC,CAAC;EAC/DvK,QAAQ,CAACM,IAAI,CAACoK,UAAU,EAAEtK,IAAI,EAAE,YAAY,EAAEsK,UAAU,EAAE,CAAC,CAAC;EAC5D1K,QAAQ,CAACM,IAAI,CAAC8J,MAAM,EAAEhK,IAAI,EAAE,QAAQ,EAAEgK,MAAM,EAAE,CAAC,CAAC;EAChD,OAAOhK,IAAI;AACb;AACO,SAASwK,eAAeA,CAC7BC,KAAmB,EACnBC,QAAwC,EACrB;EACnB,MAAM1K,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBwK,KAAK;IACLC;EACF,CAAC;EACD,MAAMxK,IAAI,GAAGL,WAAW,CAAC8K,eAAe;EACxC/K,QAAQ,CAACM,IAAI,CAACuK,KAAK,EAAEzK,IAAI,EAAE,OAAO,EAAEyK,KAAK,EAAE,CAAC,CAAC;EAC7C7K,QAAQ,CAACM,IAAI,CAACwK,QAAQ,EAAE1K,IAAI,EAAE,UAAU,EAAE0K,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO1K,IAAI;AACb;AACO,SAAS4K,cAAcA,CAC5BtK,IAAoC,EACpCC,KAAmB,EACnBY,IAAiB,EACjB0J,MAAe,GAAG,KAAK,EACL;EAClB,MAAM7K,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBK,IAAI;IACJC,KAAK;IACLY,IAAI;IACJ2J,KAAK,EAAED;EACT,CAAC;EACD,MAAM3K,IAAI,GAAGL,WAAW,CAACkL,cAAc;EACvCnL,QAAQ,CAACM,IAAI,CAACI,IAAI,EAAEN,IAAI,EAAE,MAAM,EAAEM,IAAI,EAAE,CAAC,CAAC;EAC1CV,QAAQ,CAACM,IAAI,CAACK,KAAK,EAAEP,IAAI,EAAE,OAAO,EAAEO,KAAK,EAAE,CAAC,CAAC;EAC7CX,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAAC4K,KAAK,EAAE9K,IAAI,EAAE,OAAO,EAAE6K,MAAM,CAAC;EAC3C,OAAO7K,IAAI;AACb;AACO,SAASgL,iBAAiBA,CAC/BV,UAEC,EACDN,MAAuB,EACF;EACrB,MAAMhK,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBqK,UAAU;IACVN;EACF,CAAC;EACD,MAAM9J,IAAI,GAAGL,WAAW,CAACoL,iBAAiB;EAC1CrL,QAAQ,CAACM,IAAI,CAACoK,UAAU,EAAEtK,IAAI,EAAE,YAAY,EAAEsK,UAAU,EAAE,CAAC,CAAC;EAC5D1K,QAAQ,CAACM,IAAI,CAAC8J,MAAM,EAAEhK,IAAI,EAAE,QAAQ,EAAEgK,MAAM,EAAE,CAAC,CAAC;EAChD,OAAOhK,IAAI;AACb;AACO,SAASkL,sBAAsBA,CACpCT,KAAmB,EACO;EAC1B,MAAMzK,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9BwK;EACF,CAAC;EACD,MAAMvK,IAAI,GAAGL,WAAW,CAACsL,sBAAsB;EAC/CvL,QAAQ,CAACM,IAAI,CAACuK,KAAK,EAAEzK,IAAI,EAAE,OAAO,EAAEyK,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOzK,IAAI;AACb;AACO,SAASoL,wBAAwBA,CACtCX,KAAmB,EACS;EAC5B,MAAMzK,IAAgC,GAAG;IACvCC,IAAI,EAAE,0BAA0B;IAChCwK;EACF,CAAC;EACD,MAAMvK,IAAI,GAAGL,WAAW,CAACwL,wBAAwB;EACjDzL,QAAQ,CAACM,IAAI,CAACuK,KAAK,EAAEzK,IAAI,EAAE,OAAO,EAAEyK,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOzK,IAAI;AACb;AACO,SAASsL,eAAeA,CAC7Bb,KAAmB,EACnBc,QAAwC,EACrB;EACnB,MAAMvL,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBwK,KAAK;IACLc;EACF,CAAC;EACD,MAAMrL,IAAI,GAAGL,WAAW,CAAC2L,eAAe;EACxC5L,QAAQ,CAACM,IAAI,CAACuK,KAAK,EAAEzK,IAAI,EAAE,OAAO,EAAEyK,KAAK,EAAE,CAAC,CAAC;EAC7C7K,QAAQ,CAACM,IAAI,CAACqL,QAAQ,EAAEvL,IAAI,EAAE,UAAU,EAAEuL,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOvL,IAAI;AACb;AACO,SAASyL,gBAAgBA,CAC9BzB,MAAoB,EACpB0B,OAA4B,GAAG,IAAI,EACf;EACpB,MAAM1L,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxB+J,MAAM;IACN0B;EACF,CAAC;EACD,MAAMxL,IAAI,GAAGL,WAAW,CAAC8L,gBAAgB;EACzC/L,QAAQ,CAACM,IAAI,CAAC8J,MAAM,EAAEhK,IAAI,EAAE,QAAQ,EAAEgK,MAAM,EAAE,CAAC,CAAC;EAChDpK,QAAQ,CAACM,IAAI,CAACwL,OAAO,EAAE1L,IAAI,EAAE,SAAS,EAAE0L,OAAO,EAAE,CAAC,CAAC;EACnD,OAAO1L,IAAI;AACb;AACO,SAAS4L,YAAYA,CAC1BC,IAAkB,EAClBrG,QAAsB,EACN;EAChB,MAAMxF,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpB4L,IAAI;IACJrG;EACF,CAAC;EACD,MAAMtF,IAAI,GAAGL,WAAW,CAACiM,YAAY;EACrClM,QAAQ,CAACM,IAAI,CAAC2L,IAAI,EAAE7L,IAAI,EAAE,MAAM,EAAE6L,IAAI,EAAE,CAAC,CAAC;EAC1CjM,QAAQ,CAACM,IAAI,CAACsF,QAAQ,EAAExF,IAAI,EAAE,UAAU,EAAEwF,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOxF,IAAI;AACb;AACO,SAAS+L,WAAWA,CACzB1F,IAA0D,GAAG,QAAQ,EACrEC,GAKgB,EAChB1C,MAEC,EACDzC,IAAsB,EACtBsE,QAAiB,GAAG,KAAK,EACzBuG,OAAgB,GAAG,KAAK,EACxBnI,SAAkB,GAAG,KAAK,EAC1BC,KAAc,GAAG,KAAK,EACP;EACf,MAAM9D,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnBoG,IAAI;IACJC,GAAG;IACH1C,MAAM;IACNzC,IAAI;IACJsE,QAAQ;IACRwG,MAAM,EAAED,OAAO;IACfnI,SAAS;IACTC;EACF,CAAC;EACD,MAAM5D,IAAI,GAAGL,WAAW,CAACqM,WAAW;EACpCtM,QAAQ,CAACM,IAAI,CAACmG,IAAI,EAAErG,IAAI,EAAE,MAAM,EAAEqG,IAAI,CAAC;EACvCzG,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChDhE,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAACuF,QAAQ,EAAEzF,IAAI,EAAE,UAAU,EAAEyF,QAAQ,CAAC;EACnD7F,QAAQ,CAACM,IAAI,CAAC+L,MAAM,EAAEjM,IAAI,EAAE,QAAQ,EAAEgM,OAAO,CAAC;EAC9CpM,QAAQ,CAACM,IAAI,CAAC2D,SAAS,EAAE7D,IAAI,EAAE,WAAW,EAAE6D,SAAS,CAAC;EACtDjE,QAAQ,CAACM,IAAI,CAAC4D,KAAK,EAAE9D,IAAI,EAAE,OAAO,EAAE8D,KAAK,CAAC;EAC1C,OAAO9D,IAAI;AACb;AACO,SAASmM,aAAaA,CAC3BjG,UAAmD,EAClC;EACjB,MAAMlG,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBiG;EACF,CAAC;EACD,MAAMhG,IAAI,GAAGL,WAAW,CAACuM,aAAa;EACtCxM,QAAQ,CAACM,IAAI,CAACgG,UAAU,EAAElG,IAAI,EAAE,YAAY,EAAEkG,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAOlG,IAAI;AACb;AACO,SAASqM,aAAaA,CAACxF,QAAsB,EAAmB;EACrE,MAAM7G,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrB4G;EACF,CAAC;EACD,MAAM3G,IAAI,GAAGL,WAAW,CAACyM,aAAa;EACtC1M,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO7G,IAAI;AACb;AACA,SAASuM,MAAMA,CAAA,EAAY;EACzB,OAAO;IACLtM,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASuM,wBAAwBA,CACtCC,GAAiB,EACjBC,KAAwB,EACI;EAC5B,MAAM1M,IAAgC,GAAG;IACvCC,IAAI,EAAE,0BAA0B;IAChCwM,GAAG;IACHC;EACF,CAAC;EACD,MAAMxM,IAAI,GAAGL,WAAW,CAAC8M,wBAAwB;EACjD/M,QAAQ,CAACM,IAAI,CAACuM,GAAG,EAAEzM,IAAI,EAAE,KAAK,EAAEyM,GAAG,EAAE,CAAC,CAAC;EACvC7M,QAAQ,CAACM,IAAI,CAACwM,KAAK,EAAE1M,IAAI,EAAE,OAAO,EAAE0M,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAO1M,IAAI;AACb;AACO,SAAS4M,eAAeA,CAC7BhM,KAAuC,EACvCiM,IAAa,GAAG,KAAK,EACF;EACnB,MAAM7M,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBW,KAAK;IACLiM;EACF,CAAC;EACD,MAAM3M,IAAI,GAAGL,WAAW,CAACiN,eAAe;EACxClN,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1ChB,QAAQ,CAACM,IAAI,CAAC2M,IAAI,EAAE7M,IAAI,EAAE,MAAM,EAAE6M,IAAI,CAAC;EACvC,OAAO7M,IAAI;AACb;AACO,SAAS+M,eAAeA,CAC7BC,MAAgC,EAChC9F,WAA2C,EACxB;EACnB,MAAMlH,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB+M,MAAM;IACN9F;EACF,CAAC;EACD,MAAMhH,IAAI,GAAGL,WAAW,CAACoN,eAAe;EACxCrN,QAAQ,CAACM,IAAI,CAAC8M,MAAM,EAAEhN,IAAI,EAAE,QAAQ,EAAEgN,MAAM,EAAE,CAAC,CAAC;EAChDpN,QAAQ,CAACM,IAAI,CAACgH,WAAW,EAAElH,IAAI,EAAE,aAAa,EAAEkH,WAAW,EAAE,CAAC,CAAC;EAC/D,OAAOlH,IAAI;AACb;AACO,SAASkN,eAAeA,CAC7BrG,QAA6B,GAAG,IAAI,EACpCsG,QAAiB,GAAG,KAAK,EACN;EACnB,MAAMnN,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB4G,QAAQ;IACRsG;EACF,CAAC;EACD,MAAMjN,IAAI,GAAGL,WAAW,CAACuN,eAAe;EACxCxN,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtDjH,QAAQ,CAACM,IAAI,CAACiN,QAAQ,EAAEnN,IAAI,EAAE,UAAU,EAAEmN,QAAQ,CAAC;EACnD,OAAOnN,IAAI;AACb;AACO,SAASqN,eAAeA,CAACxG,QAAsB,EAAqB;EACzE,MAAM7G,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB4G;EACF,CAAC;EACD,MAAM3G,IAAI,GAAGL,WAAW,CAACyN,eAAe;EACxC1N,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO7G,IAAI;AACb;AACA,SAASuN,OAAOA,CAAA,EAAa;EAC3B,OAAO;IACLtN,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASuN,aAAaA,CAAC5M,KAAa,EAAmB;EAC5D,MAAMZ,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAAC4N,aAAa;EACtC7N,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAAS0N,wBAAwBA,CACtChD,QAAsB,EACM;EAC5B,MAAM1K,IAAgC,GAAG;IACvCC,IAAI,EAAE,0BAA0B;IAChCyK;EACF,CAAC;EACD,MAAMxK,IAAI,GAAGL,WAAW,CAAC8N,wBAAwB;EACjD/N,QAAQ,CAACM,IAAI,CAACwK,QAAQ,EAAE1K,IAAI,EAAE,UAAU,EAAE0K,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO1K,IAAI;AACb;AACO,SAAS4N,wBAAwBA,CACtCrI,MAAoB,EACpBC,QAAqC,EACrCC,QAA6B,GAAG,KAAK,EACrCC,QAAiB,EACW;EAC5B,MAAM1F,IAAgC,GAAG;IACvCC,IAAI,EAAE,0BAA0B;IAChCsF,MAAM;IACNC,QAAQ;IACRC,QAAQ;IACRC;EACF,CAAC;EACD,MAAMxF,IAAI,GAAGL,WAAW,CAACgO,wBAAwB;EACjDjO,QAAQ,CAACM,IAAI,CAACqF,MAAM,EAAEvF,IAAI,EAAE,QAAQ,EAAEuF,MAAM,EAAE,CAAC,CAAC;EAChD3F,QAAQ,CAACM,IAAI,CAACsF,QAAQ,EAAExF,IAAI,EAAE,UAAU,EAAEwF,QAAQ,EAAE,CAAC,CAAC;EACtD5F,QAAQ,CAACM,IAAI,CAACuF,QAAQ,EAAEzF,IAAI,EAAE,UAAU,EAAEyF,QAAQ,CAAC;EACnD7F,QAAQ,CAACM,IAAI,CAACwF,QAAQ,EAAE1F,IAAI,EAAE,UAAU,EAAE0F,QAAQ,CAAC;EACnD,OAAO1F,IAAI;AACb;AACO,SAAS8N,sBAAsBA,CACpCpM,MAAoB,EACpBC,UAAyE,EACzE+D,QAAiB,EACS;EAC1B,MAAM1F,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9ByB,MAAM;IACNE,SAAS,EAAED,UAAU;IACrB+D;EACF,CAAC;EACD,MAAMxF,IAAI,GAAGL,WAAW,CAACkO,sBAAsB;EAC/CnO,QAAQ,CAACM,IAAI,CAACwB,MAAM,EAAE1B,IAAI,EAAE,QAAQ,EAAE0B,MAAM,EAAE,CAAC,CAAC;EAChD9B,QAAQ,CAACM,IAAI,CAAC0B,SAAS,EAAE5B,IAAI,EAAE,WAAW,EAAE2B,UAAU,EAAE,CAAC,CAAC;EAC1D/B,QAAQ,CAACM,IAAI,CAACwF,QAAQ,EAAE1F,IAAI,EAAE,UAAU,EAAE0F,QAAQ,CAAC;EACnD,OAAO1F,IAAI;AACb;AACO,SAASgO,aAAaA,CAC3B1H,GAKgB,EAChB1F,KAA0B,GAAG,IAAI,EACjCqN,cAAqE,GAAG,IAAI,EAC5EvH,UAAqC,GAAG,IAAI,EAC5CjB,QAAiB,GAAG,KAAK,EACzBuG,OAAgB,GAAG,KAAK,EACP;EACjB,MAAMhM,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBqG,GAAG;IACH1F,KAAK;IACLqN,cAAc;IACdvH,UAAU;IACVjB,QAAQ;IACRwG,MAAM,EAAED;EACV,CAAC;EACD,MAAM9L,IAAI,GAAGL,WAAW,CAACqO,aAAa;EACtCtO,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7ChB,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxErO,QAAQ,CAACM,IAAI,CAACwG,UAAU,EAAE1G,IAAI,EAAE,YAAY,EAAE0G,UAAU,EAAE,CAAC,CAAC;EAC5D9G,QAAQ,CAACM,IAAI,CAACuF,QAAQ,EAAEzF,IAAI,EAAE,UAAU,EAAEyF,QAAQ,CAAC;EACnD7F,QAAQ,CAACM,IAAI,CAAC+L,MAAM,EAAEjM,IAAI,EAAE,QAAQ,EAAEgM,OAAO,CAAC;EAC9C,OAAOhM,IAAI;AACb;AACO,SAASmO,qBAAqBA,CACnC7H,GAMiB,EACjB1F,KAA0B,GAAG,IAAI,EACjCqN,cAAqE,GAAG,IAAI,EAC5EvH,UAAqC,GAAG,IAAI,EAC5CjB,QAAiB,GAAG,KAAK,EACzBuG,OAAgB,GAAG,KAAK,EACC;EACzB,MAAMhM,IAA6B,GAAG;IACpCC,IAAI,EAAE,uBAAuB;IAC7BqG,GAAG;IACH1F,KAAK;IACLqN,cAAc;IACdvH,UAAU;IACVjB,QAAQ;IACRwG,MAAM,EAAED;EACV,CAAC;EACD,MAAM9L,IAAI,GAAGL,WAAW,CAACuO,qBAAqB;EAC9CxO,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7ChB,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxErO,QAAQ,CAACM,IAAI,CAACwG,UAAU,EAAE1G,IAAI,EAAE,YAAY,EAAE0G,UAAU,EAAE,CAAC,CAAC;EAC5D9G,QAAQ,CAACM,IAAI,CAACuF,QAAQ,EAAEzF,IAAI,EAAE,UAAU,EAAEyF,QAAQ,CAAC;EACnD7F,QAAQ,CAACM,IAAI,CAAC+L,MAAM,EAAEjM,IAAI,EAAE,QAAQ,EAAEgM,OAAO,CAAC;EAC9C,OAAOhM,IAAI;AACb;AACO,SAASqO,oBAAoBA,CAClC/H,GAAkB,EAClB1F,KAA0B,GAAG,IAAI,EACjC8F,UAAqC,GAAG,IAAI,EAC5CsF,OAAgB,GAAG,KAAK,EACA;EACxB,MAAMhM,IAA4B,GAAG;IACnCC,IAAI,EAAE,sBAAsB;IAC5BqG,GAAG;IACH1F,KAAK;IACL8F,UAAU;IACVuF,MAAM,EAAED;EACV,CAAC;EACD,MAAM9L,IAAI,GAAGL,WAAW,CAACyO,oBAAoB;EAC7C1O,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7ChB,QAAQ,CAACM,IAAI,CAACwG,UAAU,EAAE1G,IAAI,EAAE,YAAY,EAAE0G,UAAU,EAAE,CAAC,CAAC;EAC5D9G,QAAQ,CAACM,IAAI,CAAC+L,MAAM,EAAEjM,IAAI,EAAE,QAAQ,EAAEgM,OAAO,CAAC;EAC9C,OAAOhM,IAAI;AACb;AACO,SAASuO,kBAAkBA,CAChClI,IAA0C,GAAG,QAAQ,EACrDC,GAAkB,EAClB1C,MAEC,EACDzC,IAAsB,EACtB6K,OAAgB,GAAG,KAAK,EACF;EACtB,MAAMhM,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1BoG,IAAI;IACJC,GAAG;IACH1C,MAAM;IACNzC,IAAI;IACJ8K,MAAM,EAAED;EACV,CAAC;EACD,MAAM9L,IAAI,GAAGL,WAAW,CAAC2O,kBAAkB;EAC3C5O,QAAQ,CAACM,IAAI,CAACmG,IAAI,EAAErG,IAAI,EAAE,MAAM,EAAEqG,IAAI,CAAC;EACvCzG,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChDhE,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAAC+L,MAAM,EAAEjM,IAAI,EAAE,QAAQ,EAAEgM,OAAO,CAAC;EAC9C,OAAOhM,IAAI;AACb;AACO,SAASyO,WAAWA,CAAC9K,EAAgB,EAAiB;EAC3D,MAAM3D,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnB0D;EACF,CAAC;EACD,MAAMzD,IAAI,GAAGL,WAAW,CAAC6O,WAAW;EACpC9O,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC,OAAO3D,IAAI;AACb;AACO,SAAS2O,WAAWA,CAACxN,IAAwB,EAAiB;EACnE,MAAMnB,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnBkB;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAAC+O,WAAW;EACpChP,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAAS6O,iBAAiBA,CAAA,EAAwB;EACvD,OAAO;IACL5O,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAAS6O,mBAAmBA,CACjCC,WAAuB,EACA;EACvB,MAAM/O,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3B8O;EACF,CAAC;EACD,MAAM7O,IAAI,GAAGL,WAAW,CAACmP,mBAAmB;EAC5CpP,QAAQ,CAACM,IAAI,CAAC6O,WAAW,EAAE/O,IAAI,EAAE,aAAa,EAAE+O,WAAW,EAAE,CAAC,CAAC;EAC/D,OAAO/O,IAAI;AACb;AACO,SAASiP,qBAAqBA,CAAA,EAA4B;EAC/D,OAAO;IACLhP,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASiP,4BAA4BA,CAC1CtO,KAAc,EACkB;EAChC,MAAMZ,IAAoC,GAAG;IAC3CC,IAAI,EAAE,8BAA8B;IACpCW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAACsP,4BAA4B;EACrDvP,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAASoP,yBAAyBA,CAAA,EAAgC;EACvE,OAAO;IACLnP,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASoP,eAAeA,CAC7B1L,EAAgB,EAChB2L,cAAmD,GAAG,IAAI,EACvC;EACnB,MAAMtP,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB0D,EAAE;IACF2L;EACF,CAAC;EACD,MAAMpP,IAAI,GAAGL,WAAW,CAAC0P,eAAe;EACxC3P,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOtP,IAAI;AACb;AACO,SAASwP,YAAYA,CAC1B7L,EAAgB,EAChB2L,cAA6D,GAAG,IAAI,EACpEG,QAAsD,GAAG,IAAI,EAC7DtO,IAA4B,EACZ;EAChB,MAAMnB,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpB0D,EAAE;IACF2L,cAAc;IACdI,OAAO,EAAED,QAAQ;IACjBtO;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAAC8P,YAAY;EACrC/P,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACwP,OAAO,EAAE1P,IAAI,EAAE,SAAS,EAAEyP,QAAQ,EAAE,CAAC,CAAC;EACpD7P,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAAS4P,eAAeA,CAACjM,EAAgB,EAAqB;EACnE,MAAM3D,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB0D;EACF,CAAC;EACD,MAAMzD,IAAI,GAAGL,WAAW,CAACgQ,eAAe;EACxCjQ,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC,OAAO3D,IAAI;AACb;AACO,SAAS8P,gBAAgBA,CAC9BnM,EAAgB,EAChB2L,cAA6D,GAAG,IAAI,EACpEG,QAAsD,GAAG,IAAI,EAC7DtO,IAA4B,EACR;EACpB,MAAMnB,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxB0D,EAAE;IACF2L,cAAc;IACdI,OAAO,EAAED,QAAQ;IACjBtO;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACkQ,gBAAgB;EACzCnQ,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACwP,OAAO,EAAE1P,IAAI,EAAE,SAAS,EAAEyP,QAAQ,EAAE,CAAC,CAAC;EACpD7P,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASgQ,aAAaA,CAC3BrM,EAAkC,EAClCxC,IAAsB,EACtBkF,IAA8B,GAAG,IAAI,EACpB;EACjB,MAAMrG,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrB0D,EAAE;IACFxC,IAAI;IACJkF;EACF,CAAC;EACD,MAAMnG,IAAI,GAAGL,WAAW,CAACoQ,aAAa;EACtCrQ,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAACmG,IAAI,EAAErG,IAAI,EAAE,MAAM,EAAEqG,IAAI,CAAC;EACvC,OAAOrG,IAAI;AACb;AACO,SAASkQ,oBAAoBA,CAClCjC,cAAgC,EACR;EACxB,MAAMjO,IAA4B,GAAG;IACnCC,IAAI,EAAE,sBAAsB;IAC5BgO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACsQ,oBAAoB;EAC7CvQ,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AACO,SAASoQ,gBAAgBA,CAC9BzM,EAAgB,EAChB2L,cAA6D,GAAG,IAAI,EACpE/O,KAAiB,EACG;EACpB,MAAMP,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxB0D,EAAE;IACF2L,cAAc;IACd/O;EACF,CAAC;EACD,MAAML,IAAI,GAAGL,WAAW,CAACwQ,gBAAgB;EACzCzQ,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACK,KAAK,EAAEP,IAAI,EAAE,OAAO,EAAEO,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOP,IAAI;AACb;AACO,SAASsQ,iBAAiBA,CAC/B3M,EAAgB,EAChB2L,cAAiD,GAAG,IAAI,EACxDiB,SAA4B,GAAG,IAAI,EACd;EACrB,MAAMvQ,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzB0D,EAAE;IACF2L,cAAc;IACdiB;EACF,CAAC;EACD,MAAMrQ,IAAI,GAAGL,WAAW,CAAC2Q,iBAAiB;EAC1C5Q,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACqQ,SAAS,EAAEvQ,IAAI,EAAE,WAAW,EAAEuQ,SAAS,EAAE,CAAC,CAAC;EACzD,OAAOvQ,IAAI;AACb;AACO,SAASyQ,eAAeA,CAAC9M,EAAgB,EAAqB;EACnE,MAAM3D,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB0D;EACF,CAAC;EACD,MAAMzD,IAAI,GAAGL,WAAW,CAAC6Q,eAAe;EACxC9Q,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC,OAAO3D,IAAI;AACb;AACO,SAAS2Q,wBAAwBA,CACtCxG,WAA0B,GAAG,IAAI,EACjCG,UAEQ,GAAG,IAAI,EACfN,MAA8B,GAAG,IAAI,EACrC4G,UAA2C,GAAG,IAAI,EACtB;EAC5B,MAAM5Q,IAAgC,GAAG;IACvCC,IAAI,EAAE,0BAA0B;IAChCkK,WAAW;IACXG,UAAU;IACVN,MAAM;IACN4G;EACF,CAAC;EACD,MAAM1Q,IAAI,GAAGL,WAAW,CAACgR,wBAAwB;EACjDjR,QAAQ,CAACM,IAAI,CAACiK,WAAW,EAAEnK,IAAI,EAAE,aAAa,EAAEmK,WAAW,EAAE,CAAC,CAAC;EAC/DvK,QAAQ,CAACM,IAAI,CAACoK,UAAU,EAAEtK,IAAI,EAAE,YAAY,EAAEsK,UAAU,EAAE,CAAC,CAAC;EAC5D1K,QAAQ,CAACM,IAAI,CAAC8J,MAAM,EAAEhK,IAAI,EAAE,QAAQ,EAAEgK,MAAM,EAAE,CAAC,CAAC;EAChDpK,QAAQ,CAACM,IAAI,CAAC0Q,UAAU,EAAE5Q,IAAI,EAAE,YAAY,EAAE4Q,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO5Q,IAAI;AACb;AACO,SAAS8Q,2BAA2BA,CACzC9G,MAAuB,EACvB4G,UAA2C,GAAG,IAAI,EACnB;EAC/B,MAAM5Q,IAAmC,GAAG;IAC1CC,IAAI,EAAE,6BAA6B;IACnC+J,MAAM;IACN4G;EACF,CAAC;EACD,MAAM1Q,IAAI,GAAGL,WAAW,CAACkR,2BAA2B;EACpDnR,QAAQ,CAACM,IAAI,CAAC8J,MAAM,EAAEhK,IAAI,EAAE,QAAQ,EAAEgK,MAAM,EAAE,CAAC,CAAC;EAChDpK,QAAQ,CAACM,IAAI,CAAC0Q,UAAU,EAAE5Q,IAAI,EAAE,YAAY,EAAE4Q,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO5Q,IAAI;AACb;AACO,SAASgR,iBAAiBA,CAACpQ,KAAa,EAAuB;EACpE,MAAMZ,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAACoR,iBAAiB;EAC1CrR,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOZ,IAAI;AACb;AACO,SAASkR,oBAAoBA,CAAA,EAA2B;EAC7D,OAAO;IACLjR,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASkR,sBAAsBA,CACpC7B,cAA6D,GAAG,IAAI,EACpE1L,MAAkC,EAClCwN,IAA4C,GAAG,IAAI,EACnDC,UAAsB,EACI;EAC1B,MAAMrR,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9BqP,cAAc;IACd1L,MAAM;IACNwN,IAAI;IACJC;EACF,CAAC;EACD,MAAMnR,IAAI,GAAGL,WAAW,CAACyR,sBAAsB;EAC/C1R,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChDhE,QAAQ,CAACM,IAAI,CAACkR,IAAI,EAAEpR,IAAI,EAAE,MAAM,EAAEoR,IAAI,EAAE,CAAC,CAAC;EAC1CxR,QAAQ,CAACM,IAAI,CAACmR,UAAU,EAAErR,IAAI,EAAE,YAAY,EAAEqR,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAOrR,IAAI;AACb;AACO,SAASuR,iBAAiBA,CAC/BpN,IAAqC,GAAG,IAAI,EAC5C8J,cAA0B,EACL;EACrB,MAAMjO,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBkE,IAAI;IACJ8J;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAAC2R,iBAAiB;EAC1C5R,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,EAAE,CAAC,CAAC;EAC1CvE,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AACO,SAASyR,qBAAqBA,CACnC9N,EAA4C,EAC5C2L,cAAmD,GAAG,IAAI,EACjC;EACzB,MAAMtP,IAA6B,GAAG;IACpCC,IAAI,EAAE,uBAAuB;IAC7B0D,EAAE;IACF2L;EACF,CAAC;EACD,MAAMpP,IAAI,GAAGL,WAAW,CAAC6R,qBAAqB;EAC9C9R,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOtP,IAAI;AACb;AACO,SAAS2R,iBAAiBA,CAAA,EAAwB;EACvD,OAAO;IACL1R,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAAS2R,gBAAgBA,CAC9BjO,EAA4C,EAC5C2L,cAAmD,GAAG,IAAI,EACtC;EACpB,MAAMtP,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxB0D,EAAE;IACF2L;EACF,CAAC;EACD,MAAMpP,IAAI,GAAGL,WAAW,CAACgS,gBAAgB;EACzCjS,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOtP,IAAI;AACb;AACO,SAAS8R,oBAAoBA,CAClCnO,EAAgB,EAChB2L,cAA6D,GAAG,IAAI,EACpEG,QAAsD,GAAG,IAAI,EAC7DtO,IAA4B,EACJ;EACxB,MAAMnB,IAA4B,GAAG;IACnCC,IAAI,EAAE,sBAAsB;IAC5B0D,EAAE;IACF2L,cAAc;IACdI,OAAO,EAAED,QAAQ;IACjBtO;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACkS,oBAAoB;EAC7CnS,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACwP,OAAO,EAAE1P,IAAI,EAAE,SAAS,EAAEyP,QAAQ,EAAE,CAAC,CAAC;EACpD7P,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASgS,uBAAuBA,CACrCvC,QAAsD,GAAG,IAAI,EAC7DtO,IAA4B,EACD;EAC3B,MAAMnB,IAA+B,GAAG;IACtCC,IAAI,EAAE,yBAAyB;IAC/ByP,OAAO,EAAED,QAAQ;IACjBtO;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACoS,uBAAuB;EAChDrS,QAAQ,CAACM,IAAI,CAACwP,OAAO,EAAE1P,IAAI,EAAE,SAAS,EAAEyP,QAAQ,EAAE,CAAC,CAAC;EACpD7P,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASkS,0BAA0BA,CACxCC,KAAwB,EACM;EAC9B,MAAMnS,IAAkC,GAAG;IACzCC,IAAI,EAAE,4BAA4B;IAClCkS;EACF,CAAC;EACD,MAAMjS,IAAI,GAAGL,WAAW,CAACuS,0BAA0B;EACnDxS,QAAQ,CAACM,IAAI,CAACiS,KAAK,EAAEnS,IAAI,EAAE,OAAO,EAAEmS,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOnS,IAAI;AACb;AACO,SAASqS,mBAAmBA,CAAA,EAA0B;EAC3D,OAAO;IACLpS,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASqS,mBAAmBA,CAAA,EAA0B;EAC3D,OAAO;IACLrS,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASsS,sBAAsBA,CACpCtE,cAA0B,EACA;EAC1B,MAAMjO,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9BgO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAAC2S,sBAAsB;EAC/C5S,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AACO,SAASyS,2BAA2BA,CACzC7R,KAAa,EACkB;EAC/B,MAAMZ,IAAmC,GAAG;IAC1CC,IAAI,EAAE,6BAA6B;IACnCW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAAC6S,2BAA2B;EACpD9S,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAAS2S,oBAAoBA,CAAA,EAA2B;EAC7D,OAAO;IACL1S,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAAS2S,oBAAoBA,CAClC1M,UAAoE,EACpE2M,QAAoC,GAAG,EAAE,EACzCC,cAA+C,GAAG,EAAE,EACpDC,aAA8C,GAAG,EAAE,EACnDC,KAAc,GAAG,KAAK,EACE;EACxB,MAAMhT,IAA4B,GAAG;IACnCC,IAAI,EAAE,sBAAsB;IAC5BiG,UAAU;IACV2M,QAAQ;IACRC,cAAc;IACdC,aAAa;IACbC;EACF,CAAC;EACD,MAAM9S,IAAI,GAAGL,WAAW,CAACoT,oBAAoB;EAC7CrT,QAAQ,CAACM,IAAI,CAACgG,UAAU,EAAElG,IAAI,EAAE,YAAY,EAAEkG,UAAU,EAAE,CAAC,CAAC;EAC5DtG,QAAQ,CAACM,IAAI,CAAC2S,QAAQ,EAAE7S,IAAI,EAAE,UAAU,EAAE6S,QAAQ,EAAE,CAAC,CAAC;EACtDjT,QAAQ,CAACM,IAAI,CAAC4S,cAAc,EAAE9S,IAAI,EAAE,gBAAgB,EAAE8S,cAAc,EAAE,CAAC,CAAC;EACxElT,QAAQ,CAACM,IAAI,CAAC6S,aAAa,EAAE/S,IAAI,EAAE,eAAe,EAAE+S,aAAa,EAAE,CAAC,CAAC;EACrEnT,QAAQ,CAACM,IAAI,CAAC8S,KAAK,EAAEhT,IAAI,EAAE,OAAO,EAAEgT,KAAK,CAAC;EAC1C,OAAOhT,IAAI;AACb;AACO,SAASkT,sBAAsBA,CACpCvP,EAAgB,EAChB/C,KAAiB,EACjB8E,QAAiB,EACjBsG,OAAgB,EAChBmH,MAAe,EACW;EAC1B,MAAMnT,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9B0D,EAAE;IACF/C,KAAK;IACL8E,QAAQ;IACRuG,MAAM,EAAED,OAAO;IACfmH;EACF,CAAC;EACD,MAAMjT,IAAI,GAAGL,WAAW,CAACuT,sBAAsB;EAC/CxT,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7ChB,QAAQ,CAACM,IAAI,CAACwF,QAAQ,EAAE1F,IAAI,EAAE,UAAU,EAAE0F,QAAQ,CAAC;EACnD9F,QAAQ,CAACM,IAAI,CAAC+L,MAAM,EAAEjM,IAAI,EAAE,QAAQ,EAAEgM,OAAO,CAAC;EAC9CpM,QAAQ,CAACM,IAAI,CAACiT,MAAM,EAAEnT,IAAI,EAAE,QAAQ,EAAEmT,MAAM,CAAC;EAC7C,OAAOnT,IAAI;AACb;AACO,SAASqT,sBAAsBA,CACpCzS,KAAiB,EACS;EAC1B,MAAMZ,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9BW,KAAK;IACLqL,MAAM,EAAE;EACV,CAAC;EACD,MAAM/L,IAAI,GAAGL,WAAW,CAACyT,sBAAsB;EAC/C1T,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOZ,IAAI;AACb;AACO,SAASuT,iBAAiBA,CAC/B5P,EAAmC,GAAG,IAAI,EAC1C2C,GAAe,EACf1F,KAAiB,EACjB4S,QAA2B,GAAG,IAAI,EACb;EACrB,MAAMxT,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzB0D,EAAE;IACF2C,GAAG;IACH1F,KAAK;IACL4S,QAAQ;IACRvH,MAAM,EAAE;EACV,CAAC;EACD,MAAM/L,IAAI,GAAGL,WAAW,CAAC4T,iBAAiB;EAC1C7T,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7ChB,QAAQ,CAACM,IAAI,CAACsT,QAAQ,EAAExT,IAAI,EAAE,UAAU,EAAEwT,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOxT,IAAI;AACb;AACO,SAAS0T,kBAAkBA,CAChCpN,GAAmC,EACnC1F,KAAiB,EACjB4S,QAA2B,GAAG,IAAI,EACZ;EACtB,MAAMxT,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1BqG,GAAG;IACH1F,KAAK;IACL4S,QAAQ;IACRnN,IAAI,EAAE,IAAI;IACV8M,MAAM,EAAE,IAAI;IACZzN,QAAQ,EAAE,IAAI;IACdiO,KAAK,EAAE,IAAI;IACX1H,MAAM,EAAE;EACV,CAAC;EACD,MAAM/L,IAAI,GAAGL,WAAW,CAAC+T,kBAAkB;EAC3ChU,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7ChB,QAAQ,CAACM,IAAI,CAACsT,QAAQ,EAAExT,IAAI,EAAE,UAAU,EAAEwT,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOxT,IAAI;AACb;AACO,SAAS6T,wBAAwBA,CACtChN,QAAoB,EACQ;EAC5B,MAAM7G,IAAgC,GAAG;IACvCC,IAAI,EAAE,0BAA0B;IAChC4G;EACF,CAAC;EACD,MAAM3G,IAAI,GAAGL,WAAW,CAACiU,wBAAwB;EACjDlU,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO7G,IAAI;AACb;AACO,SAAS+T,UAAUA,CACxBpQ,EAAgB,EAChB2L,cAA6D,GAAG,IAAI,EACpEiB,SAAwC,GAAG,IAAI,EAC/CyD,QAAoB,EACN;EACd,MAAMhU,IAAkB,GAAG;IACzBC,IAAI,EAAE,YAAY;IAClB0D,EAAE;IACF2L,cAAc;IACdiB,SAAS;IACTyD;EACF,CAAC;EACD,MAAM9T,IAAI,GAAGL,WAAW,CAACoU,UAAU;EACnCrU,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACqQ,SAAS,EAAEvQ,IAAI,EAAE,WAAW,EAAEuQ,SAAS,EAAE,CAAC,CAAC;EACzD3Q,QAAQ,CAACM,IAAI,CAAC8T,QAAQ,EAAEhU,IAAI,EAAE,UAAU,EAAEgU,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOhU,IAAI;AACb;AACO,SAASkU,uBAAuBA,CACrCvQ,EAAgB,EAChBwQ,aAAuD,EAC5B;EAC3B,MAAMnU,IAA+B,GAAG;IACtCC,IAAI,EAAE,yBAAyB;IAC/B0D,EAAE;IACFwQ;EACF,CAAC;EACD,MAAMjU,IAAI,GAAGL,WAAW,CAACuU,uBAAuB;EAChDxU,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACiU,aAAa,EAAEnU,IAAI,EAAE,eAAe,EAAEmU,aAAa,EAAE,CAAC,CAAC;EACrE,OAAOnU,IAAI;AACb;AACO,SAASqU,2BAA2BA,CACzCzT,KAAa,EACkB;EAC/B,MAAMZ,IAAmC,GAAG;IAC1CC,IAAI,EAAE,6BAA6B;IACnCW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAACyU,2BAA2B;EACpD1U,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAASuU,oBAAoBA,CAAA,EAA2B;EAC7D,OAAO;IACLtU,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASuU,oBAAoBA,CAAA,EAA2B;EAC7D,OAAO;IACLvU,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASwU,kBAAkBA,CAAA,EAAyB;EACzD,OAAO;IACLxU,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASyU,mBAAmBA,CACjCvC,KAAwB,EACD;EACvB,MAAMnS,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3BkS;EACF,CAAC;EACD,MAAMjS,IAAI,GAAGL,WAAW,CAAC8U,mBAAmB;EAC5C/U,QAAQ,CAACM,IAAI,CAACiS,KAAK,EAAEnS,IAAI,EAAE,OAAO,EAAEmS,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOnS,IAAI;AACb;AACO,SAAS4U,oBAAoBA,CAClC/N,QAAoB,EACI;EACxB,MAAM7G,IAA4B,GAAG;IACnCC,IAAI,EAAE,sBAAsB;IAC5B4G;EACF,CAAC;EACD,MAAM3G,IAAI,GAAGL,WAAW,CAACgV,oBAAoB;EAC7CjV,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO7G,IAAI;AACb;AACO,SAAS8U,SAASA,CACvBnR,EAAgB,EAChB2L,cAA6D,GAAG,IAAI,EACpE/O,KAAiB,EACJ;EACb,MAAMP,IAAiB,GAAG;IACxBC,IAAI,EAAE,WAAW;IACjB0D,EAAE;IACF2L,cAAc;IACd/O;EACF,CAAC;EACD,MAAML,IAAI,GAAGL,WAAW,CAACkV,SAAS;EAClCnV,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACK,KAAK,EAAEP,IAAI,EAAE,OAAO,EAAEO,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOP,IAAI;AACb;AACO,SAASiO,cAAcA,CAACA,cAA0B,EAAoB;EAC3E,MAAMjO,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBgO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACmV,cAAc;EACvCpV,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AACO,SAASiV,kBAAkBA,CAChCpS,UAAwB,EACxBoL,cAAgC,EACV;EACtB,MAAMjO,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1B4C,UAAU;IACVoL;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACqV,kBAAkB;EAC3CtV,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5DjD,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AACO,SAASmV,aAAaA,CAC3BC,KAA8B,GAAG,IAAI,EACrCC,QAA2B,GAAG,IAAI,EAClC7B,QAA2B,GAAG,IAAI,EACjB;EACjB,MAAMxT,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBmV,KAAK;IACLE,OAAO,EAAED,QAAQ;IACjB7B,QAAQ;IACRrP,IAAI,EAAE;EACR,CAAC;EACD,MAAMjE,IAAI,GAAGL,WAAW,CAAC0V,aAAa;EACtC3V,QAAQ,CAACM,IAAI,CAACkV,KAAK,EAAEpV,IAAI,EAAE,OAAO,EAAEoV,KAAK,EAAE,CAAC,CAAC;EAC7CxV,QAAQ,CAACM,IAAI,CAACoV,OAAO,EAAEtV,IAAI,EAAE,SAAS,EAAEqV,QAAQ,EAAE,CAAC,CAAC;EACpDzV,QAAQ,CAACM,IAAI,CAACsT,QAAQ,EAAExT,IAAI,EAAE,UAAU,EAAEwT,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOxT,IAAI;AACb;AACO,SAASwV,wBAAwBA,CACtC5R,MAA8B,EACF;EAC5B,MAAM5D,IAAgC,GAAG;IACvCC,IAAI,EAAE,0BAA0B;IAChC2D;EACF,CAAC;EACD,MAAM1D,IAAI,GAAGL,WAAW,CAAC4V,wBAAwB;EACjD7V,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChD,OAAO5D,IAAI;AACb;AACO,SAAS0V,0BAA0BA,CACxC9R,MAAyB,EACK;EAC9B,MAAM5D,IAAkC,GAAG;IACzCC,IAAI,EAAE,4BAA4B;IAClC2D;EACF,CAAC;EACD,MAAM1D,IAAI,GAAGL,WAAW,CAAC8V,0BAA0B;EACnD/V,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChD,OAAO5D,IAAI;AACb;AACO,SAAS4V,mBAAmBA,CACjCzD,KAAwB,EACD;EACvB,MAAMnS,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3BkS;EACF,CAAC;EACD,MAAMjS,IAAI,GAAGL,WAAW,CAACgW,mBAAmB;EAC5CjW,QAAQ,CAACM,IAAI,CAACiS,KAAK,EAAEnS,IAAI,EAAE,OAAO,EAAEmS,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOnS,IAAI;AACb;AACO,SAASwT,QAAQA,CAACnN,IAAsB,EAAc;EAC3D,MAAMrG,IAAgB,GAAG;IACvBC,IAAI,EAAE,UAAU;IAChBoG;EACF,CAAC;EACD,MAAMnG,IAAI,GAAGL,WAAW,CAACiW,QAAQ;EACjClW,QAAQ,CAACM,IAAI,CAACmG,IAAI,EAAErG,IAAI,EAAE,MAAM,EAAEqG,IAAI,CAAC;EACvC,OAAOrG,IAAI;AACb;AACO,SAAS+V,kBAAkBA,CAAA,EAAyB;EACzD,OAAO;IACL9V,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAAS+V,eAAeA,CAC7BrS,EAAgB,EAChBxC,IAIoB,EACD;EACnB,MAAMnB,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB0D,EAAE;IACFxC;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACoW,eAAe;EACxCrW,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASkW,eAAeA,CAC7BC,OAAmC,EAChB;EACnB,MAAMnW,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBkW,OAAO;IACPC,YAAY,EAAE,IAAI;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACD,MAAMnW,IAAI,GAAGL,WAAW,CAACyW,eAAe;EACxC1W,QAAQ,CAACM,IAAI,CAACiW,OAAO,EAAEnW,IAAI,EAAE,SAAS,EAAEmW,OAAO,EAAE,CAAC,CAAC;EACnD,OAAOnW,IAAI;AACb;AACO,SAASuW,cAAcA,CAC5BJ,OAAkC,EAChB;EAClB,MAAMnW,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBkW,OAAO;IACPC,YAAY,EAAE,IAAI;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACD,MAAMnW,IAAI,GAAGL,WAAW,CAAC2W,cAAc;EACvC5W,QAAQ,CAACM,IAAI,CAACiW,OAAO,EAAEnW,IAAI,EAAE,SAAS,EAAEmW,OAAO,EAAE,CAAC,CAAC;EACnD,OAAOnW,IAAI;AACb;AACO,SAASyW,cAAcA,CAC5BN,OAA0D,EACxC;EAClB,MAAMnW,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBkW,OAAO;IACPC,YAAY,EAAE,IAAI;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACD,MAAMnW,IAAI,GAAGL,WAAW,CAAC6W,cAAc;EACvC9W,QAAQ,CAACM,IAAI,CAACiW,OAAO,EAAEnW,IAAI,EAAE,SAAS,EAAEmW,OAAO,EAAE,CAAC,CAAC;EACnD,OAAOnW,IAAI;AACb;AACO,SAAS2W,cAAcA,CAC5BR,OAAqC,EACnB;EAClB,MAAMnW,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBkW,OAAO;IACPE,iBAAiB,EAAE;EACrB,CAAC;EACD,MAAMnW,IAAI,GAAGL,WAAW,CAAC+W,cAAc;EACvChX,QAAQ,CAACM,IAAI,CAACiW,OAAO,EAAEnW,IAAI,EAAE,SAAS,EAAEmW,OAAO,EAAE,CAAC,CAAC;EACnD,OAAOnW,IAAI;AACb;AACO,SAAS6W,iBAAiBA,CAAClT,EAAgB,EAAuB;EACvE,MAAM3D,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzB0D,EAAE;IACFJ,IAAI,EAAE;EACR,CAAC;EACD,MAAMrD,IAAI,GAAGL,WAAW,CAACiX,iBAAiB;EAC1ClX,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC,OAAO3D,IAAI;AACb;AACO,SAAS+W,gBAAgBA,CAC9BpT,EAAgB,EAChBJ,IAAsB,EACF;EACpB,MAAMvD,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxB0D,EAAE;IACFJ;EACF,CAAC;EACD,MAAMrD,IAAI,GAAGL,WAAW,CAACmX,gBAAgB;EACzCpX,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACqD,IAAI,EAAEvD,IAAI,EAAE,MAAM,EAAEuD,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOvD,IAAI;AACb;AACO,SAASiX,gBAAgBA,CAC9BtT,EAAgB,EAChBJ,IAAqB,EACD;EACpB,MAAMvD,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxB0D,EAAE;IACFJ;EACF,CAAC;EACD,MAAMrD,IAAI,GAAGL,WAAW,CAACqX,gBAAgB;EACzCtX,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACqD,IAAI,EAAEvD,IAAI,EAAE,MAAM,EAAEuD,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOvD,IAAI;AACb;AACO,SAASmX,mBAAmBA,CAACxT,EAAgB,EAAyB;EAC3E,MAAM3D,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3B0D;EACF,CAAC;EACD,MAAMzD,IAAI,GAAGL,WAAW,CAACuX,mBAAmB;EAC5CxX,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC,OAAO3D,IAAI;AACb;AACO,SAASqX,iBAAiBA,CAC/BC,UAAsB,EACtBC,SAAqB,EACA;EACrB,MAAMvX,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBqX,UAAU;IACVC;EACF,CAAC;EACD,MAAMrX,IAAI,GAAGL,WAAW,CAAC2X,iBAAiB;EAC1C5X,QAAQ,CAACM,IAAI,CAACoX,UAAU,EAAEtX,IAAI,EAAE,YAAY,EAAEsX,UAAU,EAAE,CAAC,CAAC;EAC5D1X,QAAQ,CAACM,IAAI,CAACqX,SAAS,EAAEvX,IAAI,EAAE,WAAW,EAAEuX,SAAS,EAAE,CAAC,CAAC;EACzD,OAAOvX,IAAI;AACb;AACO,SAASyX,yBAAyBA,CACvCH,UAAsB,EACtBC,SAAqB,EACQ;EAC7B,MAAMvX,IAAiC,GAAG;IACxCC,IAAI,EAAE,2BAA2B;IACjCqX,UAAU;IACVC,SAAS;IACT7R,QAAQ,EAAE;EACZ,CAAC;EACD,MAAMxF,IAAI,GAAGL,WAAW,CAAC6X,yBAAyB;EAClD9X,QAAQ,CAACM,IAAI,CAACoX,UAAU,EAAEtX,IAAI,EAAE,YAAY,EAAEsX,UAAU,EAAE,CAAC,CAAC;EAC5D1X,QAAQ,CAACM,IAAI,CAACqX,SAAS,EAAEvX,IAAI,EAAE,WAAW,EAAEuX,SAAS,EAAE,CAAC,CAAC;EACzD,OAAOvX,IAAI;AACb;AACO,SAAS2X,YAAYA,CAC1BxT,IAA2C,EAC3CvD,KAKQ,GAAG,IAAI,EACC;EAChB,MAAMZ,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpBkE,IAAI;IACJvD;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAAC+X,YAAY;EACrChY,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,EAAE,CAAC,CAAC;EAC1CvE,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOZ,IAAI;AACb;AAEO,SAAS6X,iBAAiBA,CAC/B1T,IAAmE,EAC9C;EACrB,MAAMnE,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBkE;EACF,CAAC;EACD,MAAMjE,IAAI,GAAGL,WAAW,CAACiY,iBAAiB;EAC1ClY,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnE,IAAI;AACb;AAEO,SAAS+X,UAAUA,CACxBC,cAAmC,EACnCC,cAAsD,GAAG,IAAI,EAC7DC,QAMC,EACDC,WAA2B,GAAG,IAAI,EACpB;EACd,MAAMnY,IAAkB,GAAG;IACzBC,IAAI,EAAE,YAAY;IAClB+X,cAAc;IACdC,cAAc;IACdC,QAAQ;IACRC;EACF,CAAC;EACD,MAAMjY,IAAI,GAAGL,WAAW,CAACuY,UAAU;EACnCxY,QAAQ,CAACM,IAAI,CAAC8X,cAAc,EAAEhY,IAAI,EAAE,gBAAgB,EAAEgY,cAAc,EAAE,CAAC,CAAC;EACxEpY,QAAQ,CAACM,IAAI,CAAC+X,cAAc,EAAEjY,IAAI,EAAE,gBAAgB,EAAEiY,cAAc,EAAE,CAAC,CAAC;EACxErY,QAAQ,CAACM,IAAI,CAACgY,QAAQ,EAAElY,IAAI,EAAE,UAAU,EAAEkY,QAAQ,EAAE,CAAC,CAAC;EACtDtY,QAAQ,CAACM,IAAI,CAACiY,WAAW,EAAEnY,IAAI,EAAE,aAAa,EAAEmY,WAAW,CAAC;EAC5D,OAAOnY,IAAI;AACb;AAEO,SAASqY,kBAAkBA,CAAA,EAAyB;EACzD,OAAO;IACLpY,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASqY,sBAAsBA,CACpCzV,UAA+C,EACrB;EAC1B,MAAM7C,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9B4C;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAAC0Y,sBAAsB;EAC/C3Y,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AAEO,SAASwY,cAAcA,CAAC3V,UAAwB,EAAoB;EACzE,MAAM7C,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtB4C;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAAC4Y,cAAc;EACvC7Y,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AAEO,SAAS0Y,aAAaA,CAACvU,IAAY,EAAmB;EAC3D,MAAMnE,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBkE;EACF,CAAC;EACD,MAAMjE,IAAI,GAAGL,WAAW,CAAC8Y,aAAa;EACtC/Y,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,CAAC;EACvC,OAAOnE,IAAI;AACb;AAEO,SAAS4Y,mBAAmBA,CACjCrT,MAA+C,EAC/CC,QAAyB,EACF;EACvB,MAAMxF,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3BsF,MAAM;IACNC;EACF,CAAC;EACD,MAAMtF,IAAI,GAAGL,WAAW,CAACgZ,mBAAmB;EAC5CjZ,QAAQ,CAACM,IAAI,CAACqF,MAAM,EAAEvF,IAAI,EAAE,QAAQ,EAAEuF,MAAM,EAAE,CAAC,CAAC;EAChD3F,QAAQ,CAACM,IAAI,CAACsF,QAAQ,EAAExF,IAAI,EAAE,UAAU,EAAEwF,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOxF,IAAI;AACb;AAEO,SAAS8Y,iBAAiBA,CAC/BC,SAA0B,EAC1B5U,IAAqB,EACA;EACrB,MAAMnE,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzB8Y,SAAS;IACT5U;EACF,CAAC;EACD,MAAMjE,IAAI,GAAGL,WAAW,CAACmZ,iBAAiB;EAC1CpZ,QAAQ,CAACM,IAAI,CAAC6Y,SAAS,EAAE/Y,IAAI,EAAE,WAAW,EAAE+Y,SAAS,EAAE,CAAC,CAAC;EACzDnZ,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnE,IAAI;AACb;AAEO,SAASiZ,iBAAiBA,CAC/B9U,IAAmE,EACnEyM,UAAwD,EACxDuH,WAAoB,GAAG,KAAK,EACP;EACrB,MAAMnY,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBkE,IAAI;IACJyM,UAAU;IACVuH;EACF,CAAC;EACD,MAAMjY,IAAI,GAAGL,WAAW,CAACqZ,iBAAiB;EAC1CtZ,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,EAAE,CAAC,CAAC;EAC1CvE,QAAQ,CAACM,IAAI,CAAC0Q,UAAU,EAAE5Q,IAAI,EAAE,YAAY,EAAE4Q,UAAU,EAAE,CAAC,CAAC;EAC5DhR,QAAQ,CAACM,IAAI,CAACiY,WAAW,EAAEnY,IAAI,EAAE,aAAa,EAAEmY,WAAW,CAAC;EAC5D,OAAOnY,IAAI;AACb;AAEO,SAASmZ,kBAAkBA,CAChCtS,QAAsB,EACA;EACtB,MAAM7G,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1B4G;EACF,CAAC;EACD,MAAM3G,IAAI,GAAGL,WAAW,CAACuZ,kBAAkB;EAC3CxZ,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO7G,IAAI;AACb;AAEO,SAASqZ,OAAOA,CAACzY,KAAa,EAAa;EAChD,MAAMZ,IAAe,GAAG;IACtBC,IAAI,EAAE,SAAS;IACfW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAACyZ,OAAO;EAChC1Z,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AAEO,SAASuZ,WAAWA,CACzBC,eAAqC,EACrCC,eAAqC,EACrCvB,QAMC,EACc;EACf,MAAMlY,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnBuZ,eAAe;IACfC,eAAe;IACfvB;EACF,CAAC;EACD,MAAMhY,IAAI,GAAGL,WAAW,CAAC6Z,WAAW;EACpC9Z,QAAQ,CAACM,IAAI,CAACsZ,eAAe,EAAExZ,IAAI,EAAE,iBAAiB,EAAEwZ,eAAe,EAAE,CAAC,CAAC;EAC3E5Z,QAAQ,CAACM,IAAI,CAACuZ,eAAe,EAAEzZ,IAAI,EAAE,iBAAiB,EAAEyZ,eAAe,EAAE,CAAC,CAAC;EAC3E7Z,QAAQ,CAACM,IAAI,CAACgY,QAAQ,EAAElY,IAAI,EAAE,UAAU,EAAEkY,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOlY,IAAI;AACb;AAEO,SAAS2Z,kBAAkBA,CAAA,EAAyB;EACzD,OAAO;IACL1Z,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAAS2Z,kBAAkBA,CAAA,EAAyB;EACzD,OAAO;IACL3Z,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAAS4Z,IAAIA,CAAA,EAAW;EAC7B,OAAO;IACL5Z,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAAS6Z,WAAWA,CACzBC,YAQa,EACb5V,IAAkB,EACH;EACf,MAAMnE,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnB8Z,YAAY;IACZ5V;EACF,CAAC;EACD,MAAMjE,IAAI,GAAGL,WAAW,CAACma,WAAW;EACpCpa,QAAQ,CAACM,IAAI,CAAC6Z,YAAY,EAAE/Z,IAAI,EAAE,cAAc,EAAE+Z,YAAY,CAAC;EAC/Dna,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnE,IAAI;AACb;AACO,SAASia,qBAAqBA,CAAC9V,IAAY,EAA2B;EAC3E,MAAMnE,IAA6B,GAAG;IACpCC,IAAI,EAAE,uBAAuB;IAC7BkE;EACF,CAAC;EACD,MAAMjE,IAAI,GAAGL,WAAW,CAACqa,qBAAqB;EAC9Cta,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,CAAC;EACvC,OAAOnE,IAAI;AACb;AACO,SAASma,mBAAmBA,CAAA,EAA0B;EAC3D,OAAO;IACLla,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASma,cAAcA,CAC5B7U,MAAoB,EACpB7D,MAAoB,EACF;EAClB,MAAM1B,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBsF,MAAM;IACN7D;EACF,CAAC;EACD,MAAMxB,IAAI,GAAGL,WAAW,CAACwa,cAAc;EACvCza,QAAQ,CAACM,IAAI,CAACqF,MAAM,EAAEvF,IAAI,EAAE,QAAQ,EAAEuF,MAAM,EAAE,CAAC,CAAC;EAChD3F,QAAQ,CAACM,IAAI,CAACwB,MAAM,EAAE1B,IAAI,EAAE,QAAQ,EAAE0B,MAAM,EAAE,CAAC,CAAC;EAChD,OAAO1B,IAAI;AACb;AACO,SAASsa,eAAeA,CAC7BhU,GAAmC,EACnC1F,KAAsB,EACH;EACnB,MAAMZ,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBqG,GAAG;IACH1F;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAAC0a,eAAe;EACxC3a,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOZ,IAAI;AACb;AACO,SAASwa,SAASA,CAAC3X,UAAwB,EAAe;EAC/D,MAAM7C,IAAiB,GAAG;IACxBC,IAAI,EAAE,WAAW;IACjB4C;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAAC4a,SAAS;EAClC7a,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AACO,SAAS0a,YAAYA,CAC1BvZ,IAAsB,EACtB2C,KAAc,GAAG,KAAK,EACN;EAChB,MAAM9D,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpBkB,IAAI;IACJ2C;EACF,CAAC;EACD,MAAM5D,IAAI,GAAGL,WAAW,CAAC8a,YAAY;EACrC/a,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1CvB,QAAQ,CAACM,IAAI,CAAC4D,KAAK,EAAE9D,IAAI,EAAE,OAAO,EAAE8D,KAAK,CAAC;EAC1C,OAAO9D,IAAI;AACb;AACO,SAAS4a,sBAAsBA,CACpClQ,QAAsB,EACI;EAC1B,MAAM1K,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9ByK;EACF,CAAC;EACD,MAAMxK,IAAI,GAAGL,WAAW,CAACgb,sBAAsB;EAC/Cjb,QAAQ,CAACM,IAAI,CAACwK,QAAQ,EAAE1K,IAAI,EAAE,UAAU,EAAE0K,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO1K,IAAI;AACb;AACO,SAAS8a,gBAAgBA,CAC9B5U,UAAqD,EACjC;EACpB,MAAMlG,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBiG;EACF,CAAC;EACD,MAAMhG,IAAI,GAAGL,WAAW,CAACkb,gBAAgB;EACzCnb,QAAQ,CAACM,IAAI,CAACgG,UAAU,EAAElG,IAAI,EAAE,YAAY,EAAEkG,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAOlG,IAAI;AACb;AACO,SAASgb,eAAeA,CAC7Bjb,QAA+C,GAAG,EAAE,EACjC;EACnB,MAAMC,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBF;EACF,CAAC;EACD,MAAMG,IAAI,GAAGL,WAAW,CAACob,eAAe;EACxCrb,QAAQ,CAACM,IAAI,CAACH,QAAQ,EAAEC,IAAI,EAAE,UAAU,EAAED,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAOC,IAAI;AACb;AACO,SAASkb,cAAcA,CAACta,KAAa,EAAoB;EAC9D,MAAMZ,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBW;EACF,CAAC;EACD,MAAMV,IAAI,GAAGL,WAAW,CAACsb,cAAc;EACvCvb,QAAQ,CAACM,IAAI,CAACU,KAAK,EAAEZ,IAAI,EAAE,OAAO,EAAEY,KAAK,CAAC;EAC1C,OAAOZ,IAAI;AACb;AACO,SAASob,gBAAgBA,CAACja,IAAe,EAAsB;EACpE,MAAMnB,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBkB;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACwb,gBAAgB;EACzCzb,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AACO,SAASsb,cAAcA,CAAA,EAAqB;EACjD,OAAO;IACLrb,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAASsb,uBAAuBA,CACrC1Y,UAAwB,EACG;EAC3B,MAAM7C,IAA+B,GAAG;IACtCC,IAAI,EAAE,yBAAyB;IAC/B4C;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAAC2b,uBAAuB;EAChD5b,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AACO,SAASyb,oBAAoBA,CAClC/Z,MAAoB,EACI;EACxB,MAAM1B,IAA4B,GAAG;IACnCC,IAAI,EAAE,sBAAsB;IAC5ByB;EACF,CAAC;EACD,MAAMxB,IAAI,GAAGL,WAAW,CAAC6b,oBAAoB;EAC7C9b,QAAQ,CAACM,IAAI,CAACwB,MAAM,EAAE1B,IAAI,EAAE,QAAQ,EAAE0B,MAAM,EAAE,CAAC,CAAC;EAChD,OAAO1B,IAAI;AACb;AACO,SAAS2b,6BAA6BA,CAAA,EAAoC;EAC/E,OAAO;IACL1b,IAAI,EAAE;EACR,CAAC;AACH;AACO,SAAS2b,mBAAmBA,CACjCC,SAA6C,EACtB;EACvB,MAAM7b,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3B4b;EACF,CAAC;EACD,MAAM3b,IAAI,GAAGL,WAAW,CAACic,mBAAmB;EAC5Clc,QAAQ,CAACM,IAAI,CAAC2b,SAAS,EAAE7b,IAAI,EAAE,WAAW,EAAE6b,SAAS,EAAE,CAAC,CAAC;EACzD,OAAO7b,IAAI;AACb;AAEO,SAAS+b,iBAAiBA,CAC/BpY,EAAmC,GAAG,IAAI,EAC1C2L,cAIa,GAAG,IAAI,EACpB1L,MAAuD,EACvDyN,UAA8C,GAAG,IAAI,EAChC;EACrB,MAAMrR,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzB0D,EAAE;IACF2L,cAAc;IACd1L,MAAM;IACNyN;EACF,CAAC;EACD,MAAMnR,IAAI,GAAGL,WAAW,CAACmc,iBAAiB;EAC1Cpc,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChDhE,QAAQ,CAACM,IAAI,CAACmR,UAAU,EAAErR,IAAI,EAAE,YAAY,EAAEqR,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAOrR,IAAI;AACb;AAEO,SAASic,eAAeA,CAC7BvV,UAAiD,GAAG,IAAI,EACxDJ,GAKgB,EAChBgJ,cAIa,GAAG,IAAI,EACpB1L,MAEC,EACDyN,UAA8C,GAAG,IAAI,EAClC;EACnB,MAAMrR,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvByG,UAAU;IACVJ,GAAG;IACHgJ,cAAc;IACd1L,MAAM;IACNyN;EACF,CAAC;EACD,MAAMnR,IAAI,GAAGL,WAAW,CAACqc,eAAe;EACxCtc,QAAQ,CAACM,IAAI,CAACwG,UAAU,EAAE1G,IAAI,EAAE,YAAY,EAAE0G,UAAU,EAAE,CAAC,CAAC;EAC5D9G,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChDhE,QAAQ,CAACM,IAAI,CAACmR,UAAU,EAAErR,IAAI,EAAE,YAAY,EAAEqR,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAOrR,IAAI;AACb;AAEO,SAASmc,eAAeA,CAC7B7b,IAAoB,EACpBC,KAAmB,EACA;EACnB,MAAMP,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBK,IAAI;IACJC;EACF,CAAC;EACD,MAAML,IAAI,GAAGL,WAAW,CAACuc,eAAe;EACxCxc,QAAQ,CAACM,IAAI,CAACI,IAAI,EAAEN,IAAI,EAAE,MAAM,EAAEM,IAAI,EAAE,CAAC,CAAC;EAC1CV,QAAQ,CAACM,IAAI,CAACK,KAAK,EAAEP,IAAI,EAAE,OAAO,EAAEO,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOP,IAAI;AACb;AAEO,SAASqc,0BAA0BA,CACxC/M,cAA+D,GAAG,IAAI,EACtEgN,UAEC,EACDrO,cAAyC,GAAG,IAAI,EAClB;EAC9B,MAAMjO,IAAkC,GAAG;IACzCC,IAAI,EAAE,4BAA4B;IAClCqP,cAAc;IACdgN,UAAU;IACVrO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAAC0c,0BAA0B;EACnD3c,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACoc,UAAU,EAAEtc,IAAI,EAAE,YAAY,EAAEsc,UAAU,EAAE,CAAC,CAAC;EAC5D1c,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAASwc,+BAA+BA,CAC7ClN,cAA+D,GAAG,IAAI,EACtEgN,UAEC,EACDrO,cAAyC,GAAG,IAAI,EACb;EACnC,MAAMjO,IAAuC,GAAG;IAC9CC,IAAI,EAAE,iCAAiC;IACvCqP,cAAc;IACdgN,UAAU;IACVrO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAAC4c,+BAA+B;EACxD7c,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACoc,UAAU,EAAEtc,IAAI,EAAE,YAAY,EAAEsc,UAAU,EAAE,CAAC,CAAC;EAC5D1c,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAAS0c,mBAAmBA,CACjCpW,GAAiB,EACjB2H,cAAyC,GAAG,IAAI,EACzB;EACvB,MAAMjO,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3BqG,GAAG;IACH2H,cAAc;IACd5H,IAAI,EAAE;EACR,CAAC;EACD,MAAMnG,IAAI,GAAGL,WAAW,CAAC8c,mBAAmB;EAC5C/c,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAAS4c,iBAAiBA,CAC/BtW,GAAiB,EACjBgJ,cAA+D,GAAG,IAAI,EACtEgN,UAEC,EACDrO,cAAyC,GAAG,IAAI,EAC3B;EACrB,MAAMjO,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBqG,GAAG;IACHgJ,cAAc;IACdgN,UAAU;IACVrO,cAAc;IACd5H,IAAI,EAAE;EACR,CAAC;EACD,MAAMnG,IAAI,GAAGL,WAAW,CAACgd,iBAAiB;EAC1Cjd,QAAQ,CAACM,IAAI,CAACoG,GAAG,EAAEtG,IAAI,EAAE,KAAK,EAAEsG,GAAG,EAAE,CAAC,CAAC;EACvC1G,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACoc,UAAU,EAAEtc,IAAI,EAAE,YAAY,EAAEsc,UAAU,EAAE,CAAC,CAAC;EAC5D1c,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAAS8c,gBAAgBA,CAC9BR,UAA+B,EAC/BrO,cAAyC,GAAG,IAAI,EAC5B;EACpB,MAAMjO,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBqc,UAAU;IACVrO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACkd,gBAAgB;EACzCnd,QAAQ,CAACM,IAAI,CAACoc,UAAU,EAAEtc,IAAI,EAAE,YAAY,EAAEsc,UAAU,EAAE,CAAC,CAAC;EAC5D1c,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAASgd,YAAYA,CAAA,EAAmB;EAC7C,OAAO;IACL/c,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASgd,gBAAgBA,CAAA,EAAuB;EACrD,OAAO;IACLhd,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASid,eAAeA,CAAA,EAAsB;EACnD,OAAO;IACLjd,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASkd,kBAAkBA,CAAA,EAAyB;EACzD,OAAO;IACLld,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASmd,cAAcA,CAAA,EAAqB;EACjD,OAAO;IACLnd,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASod,aAAaA,CAAA,EAAoB;EAC/C,OAAO;IACLpd,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASqd,eAAeA,CAAA,EAAsB;EACnD,OAAO;IACLrd,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASsd,eAAeA,CAAA,EAAsB;EACnD,OAAO;IACLtd,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASud,eAAeA,CAAA,EAAsB;EACnD,OAAO;IACLvd,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASwd,eAAeA,CAAA,EAAsB;EACnD,OAAO;IACLxd,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAASyd,kBAAkBA,CAAA,EAAyB;EACzD,OAAO;IACLzd,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAAS0d,gBAAgBA,CAAA,EAAuB;EACrD,OAAO;IACL1d,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAAS2d,aAAaA,CAAA,EAAoB;EAC/C,OAAO;IACL3d,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAAS4d,UAAUA,CAAA,EAAiB;EACzC,OAAO;IACL5d,IAAI,EAAE;EACR,CAAC;AACH;AAEO,SAAS6d,cAAcA,CAC5BxO,cAA+D,GAAG,IAAI,EACtEgN,UAEC,EACDrO,cAAyC,GAAG,IAAI,EAC9B;EAClB,MAAMjO,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBqP,cAAc;IACdgN,UAAU;IACVrO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACke,cAAc;EACvCne,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACoc,UAAU,EAAEtc,IAAI,EAAE,YAAY,EAAEsc,UAAU,EAAE,CAAC,CAAC;EAC5D1c,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAASge,iBAAiBA,CAC/B1O,cAA+D,GAAG,IAAI,EACtEgN,UAEC,EACDrO,cAAyC,GAAG,IAAI,EAC3B;EACrB,MAAMjO,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzBqP,cAAc;IACdgN,UAAU;IACVrO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACoe,iBAAiB;EAC1Cre,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACoc,UAAU,EAAEtc,IAAI,EAAE,YAAY,EAAEsc,UAAU,EAAE,CAAC,CAAC;EAC5D1c,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAASke,eAAeA,CAC7BC,QAAwB,EACxB7O,cAAqD,GAAG,IAAI,EACzC;EACnB,MAAMtP,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBke,QAAQ;IACR7O;EACF,CAAC;EACD,MAAMpP,IAAI,GAAGL,WAAW,CAACue,eAAe;EACxCxe,QAAQ,CAACM,IAAI,CAACie,QAAQ,EAAEne,IAAI,EAAE,UAAU,EAAEme,QAAQ,EAAE,CAAC,CAAC;EACtDve,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOtP,IAAI;AACb;AAEO,SAASqe,eAAeA,CAC7BC,aAA0C,EAC1CrQ,cAAyC,GAAG,IAAI,EAChDsQ,OAAuB,GAAG,IAAI,EACX;EACnB,MAAMve,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBqe,aAAa;IACbrQ,cAAc;IACdsQ;EACF,CAAC;EACD,MAAMre,IAAI,GAAGL,WAAW,CAAC2e,eAAe;EACxC5e,QAAQ,CAACM,IAAI,CAACoe,aAAa,EAAEte,IAAI,EAAE,eAAe,EAAEse,aAAa,EAAE,CAAC,CAAC;EACrE1e,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxErO,QAAQ,CAACM,IAAI,CAACqe,OAAO,EAAEve,IAAI,EAAE,SAAS,EAAEue,OAAO,CAAC;EAChD,OAAOve,IAAI;AACb;AAEO,SAASye,WAAWA,CACzBC,QAAyC,EACzCpP,cAAqD,GAAG,IAAI,EAC7C;EACf,MAAMtP,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnBye,QAAQ;IACRpP;EACF,CAAC;EACD,MAAMpP,IAAI,GAAGL,WAAW,CAAC8e,WAAW;EACpC/e,QAAQ,CAACM,IAAI,CAACwe,QAAQ,EAAE1e,IAAI,EAAE,UAAU,EAAE0e,QAAQ,EAAE,CAAC,CAAC;EACtD9e,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOtP,IAAI;AACb;AAEO,SAAS4e,aAAaA,CAC3BzI,OAA+B,EACd;EACjB,MAAMnW,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBkW;EACF,CAAC;EACD,MAAMjW,IAAI,GAAGL,WAAW,CAACgf,aAAa;EACtCjf,QAAQ,CAACM,IAAI,CAACiW,OAAO,EAAEnW,IAAI,EAAE,SAAS,EAAEmW,OAAO,EAAE,CAAC,CAAC;EACnD,OAAOnW,IAAI;AACb;AAEO,SAAS8e,WAAWA,CAAC/P,WAAqB,EAAiB;EAChE,MAAM/O,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnB8O;EACF,CAAC;EACD,MAAM7O,IAAI,GAAGL,WAAW,CAACkf,WAAW;EACpCnf,QAAQ,CAACM,IAAI,CAAC6O,WAAW,EAAE/O,IAAI,EAAE,aAAa,EAAE+O,WAAW,EAAE,CAAC,CAAC;EAC/D,OAAO/O,IAAI;AACb;AAEO,SAASgf,WAAWA,CACzBC,YAAoD,EACrC;EACf,MAAMjf,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnBgf;EACF,CAAC;EACD,MAAM/e,IAAI,GAAGL,WAAW,CAACqf,WAAW;EACpCtf,QAAQ,CAACM,IAAI,CAAC+e,YAAY,EAAEjf,IAAI,EAAE,cAAc,EAAEif,YAAY,EAAE,CAAC,CAAC;EAClE,OAAOjf,IAAI;AACb;AAEO,SAASmf,cAAcA,CAAClR,cAAwB,EAAoB;EACzE,MAAMjO,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBgO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACuf,cAAc;EACvCxf,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAASqf,UAAUA,CAACpR,cAAwB,EAAgB;EACjE,MAAMjO,IAAkB,GAAG;IACzBC,IAAI,EAAE,YAAY;IAClBgO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACyf,UAAU;EACnC1f,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAASuf,kBAAkBA,CAChChe,KAAmB,EACnBwN,WAAqB,EACrBrJ,QAAiB,GAAG,KAAK,EACH;EACtB,MAAM1F,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1BsB,KAAK;IACLwN,WAAW;IACXrJ;EACF,CAAC;EACD,MAAMxF,IAAI,GAAGL,WAAW,CAAC2f,kBAAkB;EAC3C5f,QAAQ,CAACM,IAAI,CAACqB,KAAK,EAAEvB,IAAI,EAAE,OAAO,EAAEuB,KAAK,EAAE,CAAC,CAAC;EAC7C3B,QAAQ,CAACM,IAAI,CAAC6O,WAAW,EAAE/O,IAAI,EAAE,aAAa,EAAE+O,WAAW,EAAE,CAAC,CAAC;EAC/DnP,QAAQ,CAACM,IAAI,CAACwF,QAAQ,EAAE1F,IAAI,EAAE,UAAU,EAAE0F,QAAQ,CAAC;EACnD,OAAO1F,IAAI;AACb;AAEO,SAASyf,WAAWA,CAACtN,KAAsB,EAAiB;EACjE,MAAMnS,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnBkS;EACF,CAAC;EACD,MAAMjS,IAAI,GAAGL,WAAW,CAAC6f,WAAW;EACpC9f,QAAQ,CAACM,IAAI,CAACiS,KAAK,EAAEnS,IAAI,EAAE,OAAO,EAAEmS,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOnS,IAAI;AACb;AAEO,SAAS2f,kBAAkBA,CAChCxN,KAAsB,EACA;EACtB,MAAMnS,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1BkS;EACF,CAAC;EACD,MAAMjS,IAAI,GAAGL,WAAW,CAAC+f,kBAAkB;EAC3ChgB,QAAQ,CAACM,IAAI,CAACiS,KAAK,EAAEnS,IAAI,EAAE,OAAO,EAAEmS,KAAK,EAAE,CAAC,CAAC;EAC7C,OAAOnS,IAAI;AACb;AAEO,SAAS6f,iBAAiBA,CAC/BC,SAAmB,EACnBC,WAAqB,EACrBC,QAAkB,EAClBC,SAAmB,EACE;EACrB,MAAMjgB,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzB6f,SAAS;IACTC,WAAW;IACXC,QAAQ;IACRC;EACF,CAAC;EACD,MAAM/f,IAAI,GAAGL,WAAW,CAACqgB,iBAAiB;EAC1CtgB,QAAQ,CAACM,IAAI,CAAC4f,SAAS,EAAE9f,IAAI,EAAE,WAAW,EAAE8f,SAAS,EAAE,CAAC,CAAC;EACzDlgB,QAAQ,CAACM,IAAI,CAAC6f,WAAW,EAAE/f,IAAI,EAAE,aAAa,EAAE+f,WAAW,EAAE,CAAC,CAAC;EAC/DngB,QAAQ,CAACM,IAAI,CAAC8f,QAAQ,EAAEhgB,IAAI,EAAE,UAAU,EAAEggB,QAAQ,EAAE,CAAC,CAAC;EACtDpgB,QAAQ,CAACM,IAAI,CAAC+f,SAAS,EAAEjgB,IAAI,EAAE,WAAW,EAAEigB,SAAS,EAAE,CAAC,CAAC;EACzD,OAAOjgB,IAAI;AACb;AAEO,SAASmgB,WAAWA,CAAChL,aAAgC,EAAiB;EAC3E,MAAMnV,IAAmB,GAAG;IAC1BC,IAAI,EAAE,aAAa;IACnBkV;EACF,CAAC;EACD,MAAMjV,IAAI,GAAGL,WAAW,CAACugB,WAAW;EACpCxgB,QAAQ,CAACM,IAAI,CAACiV,aAAa,EAAEnV,IAAI,EAAE,eAAe,EAAEmV,aAAa,EAAE,CAAC,CAAC;EACrE,OAAOnV,IAAI;AACb;AAEO,SAASqgB,mBAAmBA,CACjCpS,cAAwB,EACD;EACvB,MAAMjO,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3BgO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACygB,mBAAmB;EAC5C1gB,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAASugB,cAAcA,CAACtS,cAAwB,EAAoB;EACzE,MAAMjO,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtBgO,cAAc;IACd5N,QAAQ,EAAE;EACZ,CAAC;EACD,MAAMH,IAAI,GAAGL,WAAW,CAAC2gB,cAAc;EACvC5gB,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAASygB,mBAAmBA,CACjCnJ,UAAoB,EACpBC,SAAmB,EACI;EACvB,MAAMvX,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3BqX,UAAU;IACVC;EACF,CAAC;EACD,MAAMrX,IAAI,GAAGL,WAAW,CAAC6gB,mBAAmB;EAC5C9gB,QAAQ,CAACM,IAAI,CAACoX,UAAU,EAAEtX,IAAI,EAAE,YAAY,EAAEsX,UAAU,EAAE,CAAC,CAAC;EAC5D1X,QAAQ,CAACM,IAAI,CAACqX,SAAS,EAAEvX,IAAI,EAAE,WAAW,EAAEuX,SAAS,EAAE,CAAC,CAAC;EACzD,OAAOvX,IAAI;AACb;AAEO,SAAS2gB,YAAYA,CAC1BxL,aAAgC,EAChClH,cAA+B,GAAG,IAAI,EACtC2S,QAAyB,GAAG,IAAI,EAChB;EAChB,MAAM5gB,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpBkV,aAAa;IACblH,cAAc;IACd2S;EACF,CAAC;EACD,MAAM1gB,IAAI,GAAGL,WAAW,CAACghB,YAAY;EACrCjhB,QAAQ,CAACM,IAAI,CAACiV,aAAa,EAAEnV,IAAI,EAAE,eAAe,EAAEmV,aAAa,EAAE,CAAC,CAAC;EACrEvV,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxErO,QAAQ,CAACM,IAAI,CAAC0gB,QAAQ,EAAE5gB,IAAI,EAAE,UAAU,EAAE4gB,QAAQ,EAAE,CAAC,CAAC;EACtD,OAAO5gB,IAAI;AACb;AAEO,SAAS8gB,aAAaA,CAC3BC,OAMqB,EACJ;EACjB,MAAM/gB,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrB8gB;EACF,CAAC;EACD,MAAM7gB,IAAI,GAAGL,WAAW,CAACmhB,aAAa;EACtCphB,QAAQ,CAACM,IAAI,CAAC6gB,OAAO,EAAE/gB,IAAI,EAAE,SAAS,EAAE+gB,OAAO,EAAE,CAAC,CAAC;EACnD,OAAO/gB,IAAI;AACb;AAEO,SAASihB,6BAA6BA,CAC3Cpe,UAA0B,EAC1ByM,cAAqD,GAAG,IAAI,EAC3B;EACjC,MAAMtP,IAAqC,GAAG;IAC5CC,IAAI,EAAE,+BAA+B;IACrC4C,UAAU;IACVyM;EACF,CAAC;EACD,MAAMpP,IAAI,GAAGL,WAAW,CAACqhB,6BAA6B;EACtDthB,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5DjD,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOtP,IAAI;AACb;AAEO,SAASmhB,sBAAsBA,CACpCxd,EAAgB,EAChB2L,cAA+D,GAAG,IAAI,EACtEG,QAAmE,GAAG,IAAI,EAC1EtO,IAAuB,EACG;EAC1B,MAAMnB,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9B0D,EAAE;IACF2L,cAAc;IACdI,OAAO,EAAED,QAAQ;IACjBtO;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACuhB,sBAAsB;EAC/CxhB,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAACwP,OAAO,EAAE1P,IAAI,EAAE,SAAS,EAAEyP,QAAQ,EAAE,CAAC,CAAC;EACpD7P,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AAEO,SAASqhB,eAAeA,CAC7BlgB,IAA4B,EACT;EACnB,MAAMnB,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBkB;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAACyhB,eAAe;EACxC1hB,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AAEO,SAASuhB,sBAAsBA,CACpC5d,EAAgB,EAChB2L,cAA+D,GAAG,IAAI,EACtErB,cAAwB,EACE;EAC1B,MAAMjO,IAA8B,GAAG;IACrCC,IAAI,EAAE,wBAAwB;IAC9B0D,EAAE;IACF2L,cAAc;IACdrB;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAAC2hB,sBAAsB;EAC/C5hB,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE1P,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAASyhB,yBAAyBA,CACvC5e,UAAwB,EACxByM,cAAqD,GAAG,IAAI,EAC/B;EAC7B,MAAMtP,IAAiC,GAAG;IACxCC,IAAI,EAAE,2BAA2B;IACjC4C,UAAU;IACVyM;EACF,CAAC;EACD,MAAMpP,IAAI,GAAGL,WAAW,CAAC6hB,yBAAyB;EAClD9hB,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5DjD,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOtP,IAAI;AACb;AAEO,SAAS2hB,cAAcA,CAC5B9e,UAAwB,EACxBoL,cAAwB,EACN;EAClB,MAAMjO,IAAsB,GAAG;IAC7BC,IAAI,EAAE,gBAAgB;IACtB4C,UAAU;IACVoL;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAAC+hB,cAAc;EACvChiB,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5DjD,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAAS6hB,qBAAqBA,CACnChf,UAAwB,EACxBoL,cAAwB,EACC;EACzB,MAAMjO,IAA6B,GAAG;IACpCC,IAAI,EAAE,uBAAuB;IAC7B4C,UAAU;IACVoL;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAACiiB,qBAAqB;EAC9CliB,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5DjD,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAAS+hB,eAAeA,CAC7B9T,cAAwB,EACxBpL,UAAwB,EACL;EACnB,MAAM7C,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvBgO,cAAc;IACdpL;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAACmiB,eAAe;EACxCpiB,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxErO,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AAEO,SAASiiB,iBAAiBA,CAC/Bte,EAAgB,EAChBwS,OAA8B,EACT;EACrB,MAAMnW,IAAyB,GAAG;IAChCC,IAAI,EAAE,mBAAmB;IACzB0D,EAAE;IACFwS;EACF,CAAC;EACD,MAAMjW,IAAI,GAAGL,WAAW,CAACqiB,iBAAiB;EAC1CtiB,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACiW,OAAO,EAAEnW,IAAI,EAAE,SAAS,EAAEmW,OAAO,EAAE,CAAC,CAAC;EACnD,OAAOnW,IAAI;AACb;AAEO,SAASmiB,YAAYA,CAC1Bxe,EAAkC,EAClCye,WAAgC,GAAG,IAAI,EACvB;EAChB,MAAMpiB,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpB0D,EAAE;IACFye;EACF,CAAC;EACD,MAAMliB,IAAI,GAAGL,WAAW,CAACwiB,YAAY;EACrCziB,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACkiB,WAAW,EAAEpiB,IAAI,EAAE,aAAa,EAAEoiB,WAAW,EAAE,CAAC,CAAC;EAC/D,OAAOpiB,IAAI;AACb;AAEO,SAASsiB,mBAAmBA,CACjC3e,EAAkC,EAClCxC,IAA6C,EACtB;EACvB,MAAMnB,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3B0D,EAAE;IACFxC,IAAI;IACJkF,IAAI,EAAE;EACR,CAAC;EACD,MAAMnG,IAAI,GAAGL,WAAW,CAAC0iB,mBAAmB;EAC5C3iB,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AAEO,SAASwiB,aAAaA,CAACrhB,IAAwB,EAAmB;EACvE,MAAMnB,IAAqB,GAAG;IAC5BC,IAAI,EAAE,eAAe;IACrBkB;EACF,CAAC;EACD,MAAMjB,IAAI,GAAGL,WAAW,CAAC4iB,aAAa;EACtC7iB,QAAQ,CAACM,IAAI,CAACiB,IAAI,EAAEnB,IAAI,EAAE,MAAM,EAAEmB,IAAI,EAAE,CAAC,CAAC;EAC1C,OAAOnB,IAAI;AACb;AAEO,SAAS0iB,YAAYA,CAC1B7b,QAAyB,EACzB8b,SAAgC,GAAG,IAAI,EACvCrT,cAAqD,GAAG,IAAI,EAC5C;EAChB,MAAMtP,IAAoB,GAAG;IAC3BC,IAAI,EAAE,cAAc;IACpB4G,QAAQ;IACR8b,SAAS;IACTrT;EACF,CAAC;EACD,MAAMpP,IAAI,GAAGL,WAAW,CAAC+iB,YAAY;EACrChjB,QAAQ,CAACM,IAAI,CAAC2G,QAAQ,EAAE7G,IAAI,EAAE,UAAU,EAAE6G,QAAQ,EAAE,CAAC,CAAC;EACtDjH,QAAQ,CAACM,IAAI,CAACyiB,SAAS,EAAE3iB,IAAI,EAAE,WAAW,EAAE2iB,SAAS,EAAE,CAAC,CAAC;EACzD/iB,QAAQ,CAACM,IAAI,CAACoP,cAAc,EAAEtP,IAAI,EAAE,gBAAgB,EAAEsP,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOtP,IAAI;AACb;AAEO,SAAS6iB,yBAAyBA,CACvClf,EAAgB,EAChBmf,eAA6D,EAChC;EAC7B,MAAM9iB,IAAiC,GAAG;IACxCC,IAAI,EAAE,2BAA2B;IACjC0D,EAAE;IACFmf,eAAe;IACfC,QAAQ,EAAE;EACZ,CAAC;EACD,MAAM7iB,IAAI,GAAGL,WAAW,CAACmjB,yBAAyB;EAClDpjB,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC/D,QAAQ,CAACM,IAAI,CAAC4iB,eAAe,EAAE9iB,IAAI,EAAE,iBAAiB,EAAE8iB,eAAe,EAAE,CAAC,CAAC;EAC3E,OAAO9iB,IAAI;AACb;AAEO,SAASijB,yBAAyBA,CACvCpgB,UAA2B,EACE;EAC7B,MAAM7C,IAAiC,GAAG;IACxCC,IAAI,EAAE,2BAA2B;IACjC4C;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAACqjB,yBAAyB;EAClDtjB,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AAEO,SAASmjB,mBAAmBA,CACjCtgB,UAAwB,EACD;EACvB,MAAM7C,IAA2B,GAAG;IAClCC,IAAI,EAAE,qBAAqB;IAC3B4C;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAACujB,mBAAmB;EAC5CxjB,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AAEO,SAASqjB,kBAAkBA,CAChCxgB,UAAwB,EACF;EACtB,MAAM7C,IAA0B,GAAG;IACjCC,IAAI,EAAE,oBAAoB;IAC1B4C;EACF,CAAC;EACD,MAAM3C,IAAI,GAAGL,WAAW,CAACyjB,kBAAkB;EAC3C1jB,QAAQ,CAACM,IAAI,CAAC2C,UAAU,EAAE7C,IAAI,EAAE,YAAY,EAAE6C,UAAU,EAAE,CAAC,CAAC;EAC5D,OAAO7C,IAAI;AACb;AAEO,SAASujB,4BAA4BA,CAC1C5f,EAAgB,EACgB;EAChC,MAAM3D,IAAoC,GAAG;IAC3CC,IAAI,EAAE,8BAA8B;IACpC0D;EACF,CAAC;EACD,MAAMzD,IAAI,GAAGL,WAAW,CAAC2jB,4BAA4B;EACrD5jB,QAAQ,CAACM,IAAI,CAACyD,EAAE,EAAE3D,IAAI,EAAE,IAAI,EAAE2D,EAAE,EAAE,CAAC,CAAC;EACpC,OAAO3D,IAAI;AACb;AAEO,SAASyjB,gBAAgBA,CAACxV,cAAwB,EAAsB;EAC7E,MAAMjO,IAAwB,GAAG;IAC/BC,IAAI,EAAE,kBAAkB;IACxBgO;EACF,CAAC;EACD,MAAM/N,IAAI,GAAGL,WAAW,CAAC6jB,gBAAgB;EACzC9jB,QAAQ,CAACM,IAAI,CAAC+N,cAAc,EAAEjO,IAAI,EAAE,gBAAgB,EAAEiO,cAAc,EAAE,CAAC,CAAC;EACxE,OAAOjO,IAAI;AACb;AAEO,SAAS2jB,4BAA4BA,CAC1C/f,MAAuB,EACS;EAChC,MAAM5D,IAAoC,GAAG;IAC3CC,IAAI,EAAE,8BAA8B;IACpC2D;EACF,CAAC;EACD,MAAM1D,IAAI,GAAGL,WAAW,CAAC+jB,4BAA4B;EACrDhkB,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChD,OAAO5D,IAAI;AACb;AAEO,SAAS6jB,0BAA0BA,CACxCjgB,MAAgC,EACF;EAC9B,MAAM5D,IAAkC,GAAG;IACzCC,IAAI,EAAE,4BAA4B;IAClC2D;EACF,CAAC;EACD,MAAM1D,IAAI,GAAGL,WAAW,CAACikB,0BAA0B;EACnDlkB,QAAQ,CAACM,IAAI,CAAC0D,MAAM,EAAE5D,IAAI,EAAE,QAAQ,EAAE4D,MAAM,EAAE,CAAC,CAAC;EAChD,OAAO5D,IAAI;AACb;AAEO,SAAS+jB,eAAeA,CAC7BC,UAAuC,GAAG,IAAI,EAC9C3O,QAAqC,GAAG,IAAI,EAC5ClR,IAAY,EACO;EACnB,MAAMnE,IAAuB,GAAG;IAC9BC,IAAI,EAAE,iBAAiB;IACvB+jB,UAAU;IACV1O,OAAO,EAAED,QAAQ;IACjBlR;EACF,CAAC;EACD,MAAMjE,IAAI,GAAGL,WAAW,CAACokB,eAAe;EACxCrkB,QAAQ,CAACM,IAAI,CAAC8jB,UAAU,EAAEhkB,IAAI,EAAE,YAAY,EAAEgkB,UAAU,EAAE,CAAC,CAAC;EAC5DpkB,QAAQ,CAACM,IAAI,CAACoV,OAAO,EAAEtV,IAAI,EAAE,SAAS,EAAEqV,QAAQ,EAAE,CAAC,CAAC;EACpDzV,QAAQ,CAACM,IAAI,CAACiE,IAAI,EAAEnE,IAAI,EAAE,MAAM,EAAEmE,IAAI,CAAC;EACvC,OAAOnE,IAAI;AACb;AAGA,SAASkkB,aAAaA,CAACtjB,KAAa,EAAE;EACpC,IAAAujB,2BAAkB,EAAC,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;EACvE,OAAOxf,cAAc,CAAC/D,KAAK,CAAC;AAC9B;AAGA,SAASwjB,YAAYA,CAACnf,OAAe,EAAEC,KAAa,GAAG,EAAE,EAAE;EACzD,IAAAif,2BAAkB,EAAC,cAAc,EAAE,eAAe,EAAE,gBAAgB,CAAC;EACrE,OAAOnf,aAAa,CAACC,OAAO,EAAEC,KAAK,CAAC;AACtC;AAGA,SAASmf,YAAYA,CAACxd,QAAgB,EAAE;EACtC,IAAAsd,2BAAkB,EAAC,cAAc,EAAE,aAAa,EAAE,gBAAgB,CAAC;EACnE,OAAOvd,WAAW,CAACC,QAAQ,CAAC;AAC9B;AAGA,SAASyd,cAAcA,CAACzd,QAAsB,EAAE;EAC9C,IAAAsd,2BAAkB,EAAC,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,CAAC;EACvE,OAAO9X,aAAa,CAACxF,QAAQ,CAAC;AAChC","ignoreList":[]}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               {"version":3,"names":["_shallowEqual","require","_deprecationWarning","isArrayExpression","node","opts","type","shallowEqual","isAssignmentExpression","isBinaryExpression","isInterpreterDirective","isDirective","isDirectiveLiteral","isBlockStatement","isBreakStatement","isCallExpression","isCatchClause","isConditionalExpression","isContinueStatement","isDebuggerStatement","isDoWhileStatement","isEmptyStatement","isExpressionStatement","isFile","isForInStatement","isForStatement","isFunctionDeclaration","isFunctionExpression","isIdentifier","isIfStatement","isLabeledStatement","isStringLiteral","isNumericLiteral","isNullLiteral","isBooleanLiteral","isRegExpLiteral","isLogicalExpression","isMemberExpression","isNewExpression","isProgram","isObjectExpression","isObjectMethod","isObjectProperty","isRestElement","isReturnStatement","isSequenceExpression","isParenthesizedExpression","isSwitchCase","isSwitchStatement","isThisExpression","isThrowStatement","isTryStatement","isUnaryExpression","isUpdateExpression","isVariableDeclaration","isVariableDeclarator","isWhileStatement","isWithStatement","isAssignmentPattern","isArrayPattern","isArrowFunctionExpression","isClassBody","isClassExpression","isClassDeclaration","isExportAllDeclaration","isExportDefaultDeclaration","isExportNamedDeclaration","isExportSpecifier","isForOfStatement","isImportDeclaration","isImportDefaultSpecifier","isImportNamespaceSpecifier","isImportSpecifier","isImportExpression","isMetaProperty","isClassMethod","isObjectPattern","isSpreadElement","isSuper","isTaggedTemplateExpression","isTemplateElement","isTemplateLiteral","isYieldExpression","isAwaitExpression","isImport","isBigIntLiteral","isExportNamespaceSpecifier","isOptionalMemberExpression","isOptionalCallExpression","isClassProperty","isClassAccessorProperty","isClassPrivateProperty","isClassPrivateMethod","isPrivateName","isStaticBlock","isAnyTypeAnnotation","isArrayTypeAnnotation","isBooleanTypeAnnotation","isBooleanLiteralTypeAnnotation","isNullLiteralTypeAnnotation","isClassImplements","isDeclareClass","isDeclareFunction","isDeclareInterface","isDeclareModule","isDeclareModuleExports","isDeclareTypeAlias","isDeclareOpaqueType","isDeclareVariable","isDeclareExportDeclaration","isDeclareExportAllDeclaration","isDeclaredPredicate","isExistsTypeAnnotation","isFunctionTypeAnnotation","isFunctionTypeParam","isGenericTypeAnnotation","isInferredPredicate","isInterfaceExtends","isInterfaceDeclaration","isInterfaceTypeAnnotation","isIntersectionTypeAnnotation","isMixedTypeAnnotation","isEmptyTypeAnnotation","isNullableTypeAnnotation","isNumberLiteralTypeAnnotation","isNumberTypeAnnotation","isObjectTypeAnnotation","isObjectTypeInternalSlot","isObjectTypeCallProperty","isObjectTypeIndexer","isObjectTypeProperty","isObjectTypeSpreadProperty","isOpaqueType","isQualifiedTypeIdentifier","isStringLiteralTypeAnnotation","isStringTypeAnnotation","isSymbolTypeAnnotation","isThisTypeAnnotation","isTupleTypeAnnotation","isTypeofTypeAnnotation","isTypeAlias","isTypeAnnotation","isTypeCastExpression","isTypeParameter","isTypeParameterDeclaration","isTypeParameterInstantiation","isUnionTypeAnnotation","isVariance","isVoidTypeAnnotation","isEnumDeclaration","isEnumBooleanBody","isEnumNumberBody","isEnumStringBody","isEnumSymbolBody","isEnumBooleanMember","isEnumNumberMember","isEnumStringMember","isEnumDefaultedMember","isIndexedAccessType","isOptionalIndexedAccessType","isJSXAttribute","isJSXClosingElement","isJSXElement","isJSXEmptyExpression","isJSXExpressionContainer","isJSXSpreadChild","isJSXIdentifier","isJSXMemberExpression","isJSXNamespacedName","isJSXOpeningElement","isJSXSpreadAttribute","isJSXText","isJSXFragment","isJSXOpeningFragment","isJSXClosingFragment","isNoop","isPlaceholder","isV8IntrinsicIdentifier","isArgumentPlaceholder","isBindExpression","isImportAttribute","isDecorator","isDoExpression","isExportDefaultSpecifier","isRecordExpression","isTupleExpression","isDecimalLiteral","isModuleExpression","isTopicReference","isPipelineTopicExpression","isPipelineBareFunction","isPipelinePrimaryTopicReference","isTSParameterProperty","isTSDeclareFunction","isTSDeclareMethod","isTSQualifiedName","isTSCallSignatureDeclaration","isTSConstructSignatureDeclaration","isTSPropertySignature","isTSMethodSignature","isTSIndexSignature","isTSAnyKeyword","isTSBooleanKeyword","isTSBigIntKeyword","isTSIntrinsicKeyword","isTSNeverKeyword","isTSNullKeyword","isTSNumberKeyword","isTSObjectKeyword","isTSStringKeyword","isTSSymbolKeyword","isTSUndefinedKeyword","isTSUnknownKeyword","isTSVoidKeyword","isTSThisType","isTSFunctionType","isTSConstructorType","isTSTypeReference","isTSTypePredicate","isTSTypeQuery","isTSTypeLiteral","isTSArrayType","isTSTupleType","isTSOptionalType","isTSRestType","isTSNamedTupleMember","isTSUnionType","isTSIntersectionType","isTSConditionalType","isTSInferType","isTSParenthesizedType","isTSTypeOperator","isTSIndexedAccessType","isTSMappedType","isTSLiteralType","isTSExpressionWithTypeArguments","isTSInterfaceDeclaration","isTSInterfaceBody","isTSTypeAliasDeclaration","isTSInstantiationExpression","isTSAsExpression","isTSSatisfiesExpression","isTSTypeAssertion","isTSEnumDeclaration","isTSEnumMember","isTSModuleDeclaration","isTSModuleBlock","isTSImportType","isTSImportEqualsDeclaration","isTSExternalModuleReference","isTSNonNullExpression","isTSExportAssignment","isTSNamespaceExportDeclaration","isTSTypeAnnotation","isTSTypeParameterInstantiation","isTSTypeParameterDeclaration","isTSTypeParameter","isStandardized","expectedNode","isExpression","isBinary","isScopable","isBlockParent","isBlock","isStatement","isTerminatorless","isCompletionStatement","isConditional","isLoop","isWhile","isExpressionWrapper","isFor","isForXStatement","isFunction","isFunctionParent","isPureish","isDeclaration","isPatternLike","isLVal","isTSEntityName","isLiteral","isImmutable","isUserWhitespacable","isMethod","isObjectMember","isProperty","isUnaryLike","isPattern","isClass","isImportOrExportDeclaration","isExportDeclaration","isModuleSpecifier","isAccessor","isPrivate","isFlow","isFlowType","isFlowBaseAnnotation","isFlowDeclaration","isFlowPredicate","isEnumBody","isEnumMember","isJSX","isMiscellaneous","isTypeScript","isTSTypeElement","isTSType","isTSBaseType","isNumberLiteral","deprecationWarning","isRegexLiteral","isRestProperty","isSpreadProperty","isModuleDeclaration"],"sources":["../../../src/validators/generated/index.ts"],"sourcesContent":["/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\n\n/* eslint-disable no-fallthrough */\n\nimport shallowEqual from \"../../utils/shallowEqual.ts\";\nimport type * as t from \"../../index.ts\";\nimport deprecationWarning from \"../../utils/deprecationWarning.ts\";\n\ntype Opts<Obj> = Partial<{\n  [Prop in keyof Obj]: Obj[Prop] extends t.Node\n    ? t.Node\n    : Obj[Prop] extends t.Node[]\n      ? t.Node[]\n      : Obj[Prop];\n}>;\n\nexport function isArrayExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ArrayExpression> | null,\n): node is t.ArrayExpression {\n  if (!node) return false;\n\n  if (node.type !== \"ArrayExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isAssignmentExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.AssignmentExpression> | null,\n): node is t.AssignmentExpression {\n  if (!node) return false;\n\n  if (node.type !== \"AssignmentExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBinaryExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.BinaryExpression> | null,\n): node is t.BinaryExpression {\n  if (!node) return false;\n\n  if (node.type !== \"BinaryExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isInterpreterDirective(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.InterpreterDirective> | null,\n): node is t.InterpreterDirective {\n  if (!node) return false;\n\n  if (node.type !== \"InterpreterDirective\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDirective(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Directive> | null,\n): node is t.Directive {\n  if (!node) return false;\n\n  if (node.type !== \"Directive\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDirectiveLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DirectiveLiteral> | null,\n): node is t.DirectiveLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"DirectiveLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBlockStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.BlockStatement> | null,\n): node is t.BlockStatement {\n  if (!node) return false;\n\n  if (node.type !== \"BlockStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBreakStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.BreakStatement> | null,\n): node is t.BreakStatement {\n  if (!node) return false;\n\n  if (node.type !== \"BreakStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isCallExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.CallExpression> | null,\n): node is t.CallExpression {\n  if (!node) return false;\n\n  if (node.type !== \"CallExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isCatchClause(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.CatchClause> | null,\n): node is t.CatchClause {\n  if (!node) return false;\n\n  if (node.type !== \"CatchClause\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isConditionalExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ConditionalExpression> | null,\n): node is t.ConditionalExpression {\n  if (!node) return false;\n\n  if (node.type !== \"ConditionalExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isContinueStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ContinueStatement> | null,\n): node is t.ContinueStatement {\n  if (!node) return false;\n\n  if (node.type !== \"ContinueStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDebuggerStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DebuggerStatement> | null,\n): node is t.DebuggerStatement {\n  if (!node) return false;\n\n  if (node.type !== \"DebuggerStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDoWhileStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DoWhileStatement> | null,\n): node is t.DoWhileStatement {\n  if (!node) return false;\n\n  if (node.type !== \"DoWhileStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEmptyStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EmptyStatement> | null,\n): node is t.EmptyStatement {\n  if (!node) return false;\n\n  if (node.type !== \"EmptyStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExpressionStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExpressionStatement> | null,\n): node is t.ExpressionStatement {\n  if (!node) return false;\n\n  if (node.type !== \"ExpressionStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFile(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.File> | null,\n): node is t.File {\n  if (!node) return false;\n\n  if (node.type !== \"File\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isForInStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ForInStatement> | null,\n): node is t.ForInStatement {\n  if (!node) return false;\n\n  if (node.type !== \"ForInStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isForStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ForStatement> | null,\n): node is t.ForStatement {\n  if (!node) return false;\n\n  if (node.type !== \"ForStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.FunctionDeclaration> | null,\n): node is t.FunctionDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"FunctionDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.FunctionExpression> | null,\n): node is t.FunctionExpression {\n  if (!node) return false;\n\n  if (node.type !== \"FunctionExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isIdentifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Identifier> | null,\n): node is t.Identifier {\n  if (!node) return false;\n\n  if (node.type !== \"Identifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isIfStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.IfStatement> | null,\n): node is t.IfStatement {\n  if (!node) return false;\n\n  if (node.type !== \"IfStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isLabeledStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.LabeledStatement> | null,\n): node is t.LabeledStatement {\n  if (!node) return false;\n\n  if (node.type !== \"LabeledStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isStringLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.StringLiteral> | null,\n): node is t.StringLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"StringLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isNumericLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.NumericLiteral> | null,\n): node is t.NumericLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"NumericLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isNullLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.NullLiteral> | null,\n): node is t.NullLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"NullLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBooleanLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.BooleanLiteral> | null,\n): node is t.BooleanLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"BooleanLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isRegExpLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.RegExpLiteral> | null,\n): node is t.RegExpLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"RegExpLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isLogicalExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.LogicalExpression> | null,\n): node is t.LogicalExpression {\n  if (!node) return false;\n\n  if (node.type !== \"LogicalExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isMemberExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.MemberExpression> | null,\n): node is t.MemberExpression {\n  if (!node) return false;\n\n  if (node.type !== \"MemberExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isNewExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.NewExpression> | null,\n): node is t.NewExpression {\n  if (!node) return false;\n\n  if (node.type !== \"NewExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isProgram(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Program> | null,\n): node is t.Program {\n  if (!node) return false;\n\n  if (node.type !== \"Program\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectExpression> | null,\n): node is t.ObjectExpression {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectMethod(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectMethod> | null,\n): node is t.ObjectMethod {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectMethod\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectProperty> | null,\n): node is t.ObjectProperty {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isRestElement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.RestElement> | null,\n): node is t.RestElement {\n  if (!node) return false;\n\n  if (node.type !== \"RestElement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isReturnStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ReturnStatement> | null,\n): node is t.ReturnStatement {\n  if (!node) return false;\n\n  if (node.type !== \"ReturnStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isSequenceExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.SequenceExpression> | null,\n): node is t.SequenceExpression {\n  if (!node) return false;\n\n  if (node.type !== \"SequenceExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isParenthesizedExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ParenthesizedExpression> | null,\n): node is t.ParenthesizedExpression {\n  if (!node) return false;\n\n  if (node.type !== \"ParenthesizedExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isSwitchCase(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.SwitchCase> | null,\n): node is t.SwitchCase {\n  if (!node) return false;\n\n  if (node.type !== \"SwitchCase\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isSwitchStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.SwitchStatement> | null,\n): node is t.SwitchStatement {\n  if (!node) return false;\n\n  if (node.type !== \"SwitchStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isThisExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ThisExpression> | null,\n): node is t.ThisExpression {\n  if (!node) return false;\n\n  if (node.type !== \"ThisExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isThrowStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ThrowStatement> | null,\n): node is t.ThrowStatement {\n  if (!node) return false;\n\n  if (node.type !== \"ThrowStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTryStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TryStatement> | null,\n): node is t.TryStatement {\n  if (!node) return false;\n\n  if (node.type !== \"TryStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isUnaryExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.UnaryExpression> | null,\n): node is t.UnaryExpression {\n  if (!node) return false;\n\n  if (node.type !== \"UnaryExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isUpdateExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.UpdateExpression> | null,\n): node is t.UpdateExpression {\n  if (!node) return false;\n\n  if (node.type !== \"UpdateExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isVariableDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.VariableDeclaration> | null,\n): node is t.VariableDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"VariableDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isVariableDeclarator(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.VariableDeclarator> | null,\n): node is t.VariableDeclarator {\n  if (!node) return false;\n\n  if (node.type !== \"VariableDeclarator\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isWhileStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.WhileStatement> | null,\n): node is t.WhileStatement {\n  if (!node) return false;\n\n  if (node.type !== \"WhileStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isWithStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.WithStatement> | null,\n): node is t.WithStatement {\n  if (!node) return false;\n\n  if (node.type !== \"WithStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isAssignmentPattern(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.AssignmentPattern> | null,\n): node is t.AssignmentPattern {\n  if (!node) return false;\n\n  if (node.type !== \"AssignmentPattern\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isArrayPattern(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ArrayPattern> | null,\n): node is t.ArrayPattern {\n  if (!node) return false;\n\n  if (node.type !== \"ArrayPattern\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isArrowFunctionExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ArrowFunctionExpression> | null,\n): node is t.ArrowFunctionExpression {\n  if (!node) return false;\n\n  if (node.type !== \"ArrowFunctionExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClassBody(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ClassBody> | null,\n): node is t.ClassBody {\n  if (!node) return false;\n\n  if (node.type !== \"ClassBody\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClassExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ClassExpression> | null,\n): node is t.ClassExpression {\n  if (!node) return false;\n\n  if (node.type !== \"ClassExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClassDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ClassDeclaration> | null,\n): node is t.ClassDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"ClassDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExportAllDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExportAllDeclaration> | null,\n): node is t.ExportAllDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"ExportAllDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExportDefaultDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExportDefaultDeclaration> | null,\n): node is t.ExportDefaultDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"ExportDefaultDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExportNamedDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExportNamedDeclaration> | null,\n): node is t.ExportNamedDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"ExportNamedDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExportSpecifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExportSpecifier> | null,\n): node is t.ExportSpecifier {\n  if (!node) return false;\n\n  if (node.type !== \"ExportSpecifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isForOfStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ForOfStatement> | null,\n): node is t.ForOfStatement {\n  if (!node) return false;\n\n  if (node.type !== \"ForOfStatement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isImportDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ImportDeclaration> | null,\n): node is t.ImportDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"ImportDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isImportDefaultSpecifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ImportDefaultSpecifier> | null,\n): node is t.ImportDefaultSpecifier {\n  if (!node) return false;\n\n  if (node.type !== \"ImportDefaultSpecifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isImportNamespaceSpecifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ImportNamespaceSpecifier> | null,\n): node is t.ImportNamespaceSpecifier {\n  if (!node) return false;\n\n  if (node.type !== \"ImportNamespaceSpecifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isImportSpecifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ImportSpecifier> | null,\n): node is t.ImportSpecifier {\n  if (!node) return false;\n\n  if (node.type !== \"ImportSpecifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isImportExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ImportExpression> | null,\n): node is t.ImportExpression {\n  if (!node) return false;\n\n  if (node.type !== \"ImportExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isMetaProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.MetaProperty> | null,\n): node is t.MetaProperty {\n  if (!node) return false;\n\n  if (node.type !== \"MetaProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClassMethod(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ClassMethod> | null,\n): node is t.ClassMethod {\n  if (!node) return false;\n\n  if (node.type !== \"ClassMethod\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectPattern(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectPattern> | null,\n): node is t.ObjectPattern {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectPattern\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isSpreadElement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.SpreadElement> | null,\n): node is t.SpreadElement {\n  if (!node) return false;\n\n  if (node.type !== \"SpreadElement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isSuper(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Super> | null,\n): node is t.Super {\n  if (!node) return false;\n\n  if (node.type !== \"Super\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTaggedTemplateExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TaggedTemplateExpression> | null,\n): node is t.TaggedTemplateExpression {\n  if (!node) return false;\n\n  if (node.type !== \"TaggedTemplateExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTemplateElement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TemplateElement> | null,\n): node is t.TemplateElement {\n  if (!node) return false;\n\n  if (node.type !== \"TemplateElement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTemplateLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TemplateLiteral> | null,\n): node is t.TemplateLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"TemplateLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isYieldExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.YieldExpression> | null,\n): node is t.YieldExpression {\n  if (!node) return false;\n\n  if (node.type !== \"YieldExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isAwaitExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.AwaitExpression> | null,\n): node is t.AwaitExpression {\n  if (!node) return false;\n\n  if (node.type !== \"AwaitExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isImport(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Import> | null,\n): node is t.Import {\n  if (!node) return false;\n\n  if (node.type !== \"Import\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBigIntLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.BigIntLiteral> | null,\n): node is t.BigIntLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"BigIntLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExportNamespaceSpecifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExportNamespaceSpecifier> | null,\n): node is t.ExportNamespaceSpecifier {\n  if (!node) return false;\n\n  if (node.type !== \"ExportNamespaceSpecifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isOptionalMemberExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.OptionalMemberExpression> | null,\n): node is t.OptionalMemberExpression {\n  if (!node) return false;\n\n  if (node.type !== \"OptionalMemberExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isOptionalCallExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.OptionalCallExpression> | null,\n): node is t.OptionalCallExpression {\n  if (!node) return false;\n\n  if (node.type !== \"OptionalCallExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClassProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ClassProperty> | null,\n): node is t.ClassProperty {\n  if (!node) return false;\n\n  if (node.type !== \"ClassProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClassAccessorProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ClassAccessorProperty> | null,\n): node is t.ClassAccessorProperty {\n  if (!node) return false;\n\n  if (node.type !== \"ClassAccessorProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClassPrivateProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ClassPrivateProperty> | null,\n): node is t.ClassPrivateProperty {\n  if (!node) return false;\n\n  if (node.type !== \"ClassPrivateProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClassPrivateMethod(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ClassPrivateMethod> | null,\n): node is t.ClassPrivateMethod {\n  if (!node) return false;\n\n  if (node.type !== \"ClassPrivateMethod\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isPrivateName(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.PrivateName> | null,\n): node is t.PrivateName {\n  if (!node) return false;\n\n  if (node.type !== \"PrivateName\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isStaticBlock(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.StaticBlock> | null,\n): node is t.StaticBlock {\n  if (!node) return false;\n\n  if (node.type !== \"StaticBlock\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isAnyTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.AnyTypeAnnotation> | null,\n): node is t.AnyTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"AnyTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isArrayTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ArrayTypeAnnotation> | null,\n): node is t.ArrayTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"ArrayTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBooleanTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.BooleanTypeAnnotation> | null,\n): node is t.BooleanTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"BooleanTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBooleanLiteralTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.BooleanLiteralTypeAnnotation> | null,\n): node is t.BooleanLiteralTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"BooleanLiteralTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isNullLiteralTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.NullLiteralTypeAnnotation> | null,\n): node is t.NullLiteralTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"NullLiteralTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClassImplements(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ClassImplements> | null,\n): node is t.ClassImplements {\n  if (!node) return false;\n\n  if (node.type !== \"ClassImplements\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareClass(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareClass> | null,\n): node is t.DeclareClass {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareClass\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareFunction(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareFunction> | null,\n): node is t.DeclareFunction {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareFunction\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareInterface(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareInterface> | null,\n): node is t.DeclareInterface {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareInterface\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareModule(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareModule> | null,\n): node is t.DeclareModule {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareModule\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareModuleExports(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareModuleExports> | null,\n): node is t.DeclareModuleExports {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareModuleExports\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareTypeAlias(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareTypeAlias> | null,\n): node is t.DeclareTypeAlias {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareTypeAlias\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareOpaqueType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareOpaqueType> | null,\n): node is t.DeclareOpaqueType {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareOpaqueType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareVariable(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareVariable> | null,\n): node is t.DeclareVariable {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareVariable\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareExportDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareExportDeclaration> | null,\n): node is t.DeclareExportDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareExportDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclareExportAllDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclareExportAllDeclaration> | null,\n): node is t.DeclareExportAllDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"DeclareExportAllDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclaredPredicate(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DeclaredPredicate> | null,\n): node is t.DeclaredPredicate {\n  if (!node) return false;\n\n  if (node.type !== \"DeclaredPredicate\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExistsTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExistsTypeAnnotation> | null,\n): node is t.ExistsTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"ExistsTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.FunctionTypeAnnotation> | null,\n): node is t.FunctionTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"FunctionTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionTypeParam(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.FunctionTypeParam> | null,\n): node is t.FunctionTypeParam {\n  if (!node) return false;\n\n  if (node.type !== \"FunctionTypeParam\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isGenericTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.GenericTypeAnnotation> | null,\n): node is t.GenericTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"GenericTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isInferredPredicate(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.InferredPredicate> | null,\n): node is t.InferredPredicate {\n  if (!node) return false;\n\n  if (node.type !== \"InferredPredicate\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isInterfaceExtends(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.InterfaceExtends> | null,\n): node is t.InterfaceExtends {\n  if (!node) return false;\n\n  if (node.type !== \"InterfaceExtends\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isInterfaceDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.InterfaceDeclaration> | null,\n): node is t.InterfaceDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"InterfaceDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isInterfaceTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.InterfaceTypeAnnotation> | null,\n): node is t.InterfaceTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"InterfaceTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isIntersectionTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.IntersectionTypeAnnotation> | null,\n): node is t.IntersectionTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"IntersectionTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isMixedTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.MixedTypeAnnotation> | null,\n): node is t.MixedTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"MixedTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEmptyTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EmptyTypeAnnotation> | null,\n): node is t.EmptyTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"EmptyTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isNullableTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.NullableTypeAnnotation> | null,\n): node is t.NullableTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"NullableTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isNumberLiteralTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.NumberLiteralTypeAnnotation> | null,\n): node is t.NumberLiteralTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"NumberLiteralTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isNumberTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.NumberTypeAnnotation> | null,\n): node is t.NumberTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"NumberTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectTypeAnnotation> | null,\n): node is t.ObjectTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeInternalSlot(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectTypeInternalSlot> | null,\n): node is t.ObjectTypeInternalSlot {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectTypeInternalSlot\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeCallProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectTypeCallProperty> | null,\n): node is t.ObjectTypeCallProperty {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectTypeCallProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeIndexer(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectTypeIndexer> | null,\n): node is t.ObjectTypeIndexer {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectTypeIndexer\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectTypeProperty> | null,\n): node is t.ObjectTypeProperty {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectTypeProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectTypeSpreadProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectTypeSpreadProperty> | null,\n): node is t.ObjectTypeSpreadProperty {\n  if (!node) return false;\n\n  if (node.type !== \"ObjectTypeSpreadProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isOpaqueType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.OpaqueType> | null,\n): node is t.OpaqueType {\n  if (!node) return false;\n\n  if (node.type !== \"OpaqueType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isQualifiedTypeIdentifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.QualifiedTypeIdentifier> | null,\n): node is t.QualifiedTypeIdentifier {\n  if (!node) return false;\n\n  if (node.type !== \"QualifiedTypeIdentifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isStringLiteralTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.StringLiteralTypeAnnotation> | null,\n): node is t.StringLiteralTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"StringLiteralTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isStringTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.StringTypeAnnotation> | null,\n): node is t.StringTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"StringTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isSymbolTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.SymbolTypeAnnotation> | null,\n): node is t.SymbolTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"SymbolTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isThisTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ThisTypeAnnotation> | null,\n): node is t.ThisTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"ThisTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTupleTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TupleTypeAnnotation> | null,\n): node is t.TupleTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"TupleTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeofTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TypeofTypeAnnotation> | null,\n): node is t.TypeofTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"TypeofTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeAlias(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TypeAlias> | null,\n): node is t.TypeAlias {\n  if (!node) return false;\n\n  if (node.type !== \"TypeAlias\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TypeAnnotation> | null,\n): node is t.TypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"TypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeCastExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TypeCastExpression> | null,\n): node is t.TypeCastExpression {\n  if (!node) return false;\n\n  if (node.type !== \"TypeCastExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeParameter(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TypeParameter> | null,\n): node is t.TypeParameter {\n  if (!node) return false;\n\n  if (node.type !== \"TypeParameter\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeParameterDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TypeParameterDeclaration> | null,\n): node is t.TypeParameterDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TypeParameterDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeParameterInstantiation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TypeParameterInstantiation> | null,\n): node is t.TypeParameterInstantiation {\n  if (!node) return false;\n\n  if (node.type !== \"TypeParameterInstantiation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isUnionTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.UnionTypeAnnotation> | null,\n): node is t.UnionTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"UnionTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isVariance(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Variance> | null,\n): node is t.Variance {\n  if (!node) return false;\n\n  if (node.type !== \"Variance\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isVoidTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.VoidTypeAnnotation> | null,\n): node is t.VoidTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"VoidTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumDeclaration> | null,\n): node is t.EnumDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"EnumDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumBooleanBody(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumBooleanBody> | null,\n): node is t.EnumBooleanBody {\n  if (!node) return false;\n\n  if (node.type !== \"EnumBooleanBody\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumNumberBody(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumNumberBody> | null,\n): node is t.EnumNumberBody {\n  if (!node) return false;\n\n  if (node.type !== \"EnumNumberBody\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumStringBody(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumStringBody> | null,\n): node is t.EnumStringBody {\n  if (!node) return false;\n\n  if (node.type !== \"EnumStringBody\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumSymbolBody(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumSymbolBody> | null,\n): node is t.EnumSymbolBody {\n  if (!node) return false;\n\n  if (node.type !== \"EnumSymbolBody\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumBooleanMember(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumBooleanMember> | null,\n): node is t.EnumBooleanMember {\n  if (!node) return false;\n\n  if (node.type !== \"EnumBooleanMember\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumNumberMember(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumNumberMember> | null,\n): node is t.EnumNumberMember {\n  if (!node) return false;\n\n  if (node.type !== \"EnumNumberMember\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumStringMember(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumStringMember> | null,\n): node is t.EnumStringMember {\n  if (!node) return false;\n\n  if (node.type !== \"EnumStringMember\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumDefaultedMember(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumDefaultedMember> | null,\n): node is t.EnumDefaultedMember {\n  if (!node) return false;\n\n  if (node.type !== \"EnumDefaultedMember\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isIndexedAccessType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.IndexedAccessType> | null,\n): node is t.IndexedAccessType {\n  if (!node) return false;\n\n  if (node.type !== \"IndexedAccessType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isOptionalIndexedAccessType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.OptionalIndexedAccessType> | null,\n): node is t.OptionalIndexedAccessType {\n  if (!node) return false;\n\n  if (node.type !== \"OptionalIndexedAccessType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXAttribute(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXAttribute> | null,\n): node is t.JSXAttribute {\n  if (!node) return false;\n\n  if (node.type !== \"JSXAttribute\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXClosingElement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXClosingElement> | null,\n): node is t.JSXClosingElement {\n  if (!node) return false;\n\n  if (node.type !== \"JSXClosingElement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXElement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXElement> | null,\n): node is t.JSXElement {\n  if (!node) return false;\n\n  if (node.type !== \"JSXElement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXEmptyExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXEmptyExpression> | null,\n): node is t.JSXEmptyExpression {\n  if (!node) return false;\n\n  if (node.type !== \"JSXEmptyExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXExpressionContainer(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXExpressionContainer> | null,\n): node is t.JSXExpressionContainer {\n  if (!node) return false;\n\n  if (node.type !== \"JSXExpressionContainer\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXSpreadChild(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXSpreadChild> | null,\n): node is t.JSXSpreadChild {\n  if (!node) return false;\n\n  if (node.type !== \"JSXSpreadChild\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXIdentifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXIdentifier> | null,\n): node is t.JSXIdentifier {\n  if (!node) return false;\n\n  if (node.type !== \"JSXIdentifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXMemberExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXMemberExpression> | null,\n): node is t.JSXMemberExpression {\n  if (!node) return false;\n\n  if (node.type !== \"JSXMemberExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXNamespacedName(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXNamespacedName> | null,\n): node is t.JSXNamespacedName {\n  if (!node) return false;\n\n  if (node.type !== \"JSXNamespacedName\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXOpeningElement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXOpeningElement> | null,\n): node is t.JSXOpeningElement {\n  if (!node) return false;\n\n  if (node.type !== \"JSXOpeningElement\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXSpreadAttribute(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXSpreadAttribute> | null,\n): node is t.JSXSpreadAttribute {\n  if (!node) return false;\n\n  if (node.type !== \"JSXSpreadAttribute\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXText(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXText> | null,\n): node is t.JSXText {\n  if (!node) return false;\n\n  if (node.type !== \"JSXText\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXFragment(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXFragment> | null,\n): node is t.JSXFragment {\n  if (!node) return false;\n\n  if (node.type !== \"JSXFragment\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXOpeningFragment(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXOpeningFragment> | null,\n): node is t.JSXOpeningFragment {\n  if (!node) return false;\n\n  if (node.type !== \"JSXOpeningFragment\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSXClosingFragment(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSXClosingFragment> | null,\n): node is t.JSXClosingFragment {\n  if (!node) return false;\n\n  if (node.type !== \"JSXClosingFragment\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isNoop(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Noop> | null,\n): node is t.Noop {\n  if (!node) return false;\n\n  if (node.type !== \"Noop\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isPlaceholder(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Placeholder> | null,\n): node is t.Placeholder {\n  if (!node) return false;\n\n  if (node.type !== \"Placeholder\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isV8IntrinsicIdentifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.V8IntrinsicIdentifier> | null,\n): node is t.V8IntrinsicIdentifier {\n  if (!node) return false;\n\n  if (node.type !== \"V8IntrinsicIdentifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isArgumentPlaceholder(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ArgumentPlaceholder> | null,\n): node is t.ArgumentPlaceholder {\n  if (!node) return false;\n\n  if (node.type !== \"ArgumentPlaceholder\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBindExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.BindExpression> | null,\n): node is t.BindExpression {\n  if (!node) return false;\n\n  if (node.type !== \"BindExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isImportAttribute(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ImportAttribute> | null,\n): node is t.ImportAttribute {\n  if (!node) return false;\n\n  if (node.type !== \"ImportAttribute\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDecorator(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Decorator> | null,\n): node is t.Decorator {\n  if (!node) return false;\n\n  if (node.type !== \"Decorator\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDoExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DoExpression> | null,\n): node is t.DoExpression {\n  if (!node) return false;\n\n  if (node.type !== \"DoExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExportDefaultSpecifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExportDefaultSpecifier> | null,\n): node is t.ExportDefaultSpecifier {\n  if (!node) return false;\n\n  if (node.type !== \"ExportDefaultSpecifier\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isRecordExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.RecordExpression> | null,\n): node is t.RecordExpression {\n  if (!node) return false;\n\n  if (node.type !== \"RecordExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTupleExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TupleExpression> | null,\n): node is t.TupleExpression {\n  if (!node) return false;\n\n  if (node.type !== \"TupleExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDecimalLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.DecimalLiteral> | null,\n): node is t.DecimalLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"DecimalLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isModuleExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ModuleExpression> | null,\n): node is t.ModuleExpression {\n  if (!node) return false;\n\n  if (node.type !== \"ModuleExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTopicReference(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TopicReference> | null,\n): node is t.TopicReference {\n  if (!node) return false;\n\n  if (node.type !== \"TopicReference\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isPipelineTopicExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.PipelineTopicExpression> | null,\n): node is t.PipelineTopicExpression {\n  if (!node) return false;\n\n  if (node.type !== \"PipelineTopicExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isPipelineBareFunction(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.PipelineBareFunction> | null,\n): node is t.PipelineBareFunction {\n  if (!node) return false;\n\n  if (node.type !== \"PipelineBareFunction\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isPipelinePrimaryTopicReference(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.PipelinePrimaryTopicReference> | null,\n): node is t.PipelinePrimaryTopicReference {\n  if (!node) return false;\n\n  if (node.type !== \"PipelinePrimaryTopicReference\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSParameterProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSParameterProperty> | null,\n): node is t.TSParameterProperty {\n  if (!node) return false;\n\n  if (node.type !== \"TSParameterProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSDeclareFunction(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSDeclareFunction> | null,\n): node is t.TSDeclareFunction {\n  if (!node) return false;\n\n  if (node.type !== \"TSDeclareFunction\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSDeclareMethod(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSDeclareMethod> | null,\n): node is t.TSDeclareMethod {\n  if (!node) return false;\n\n  if (node.type !== \"TSDeclareMethod\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSQualifiedName(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSQualifiedName> | null,\n): node is t.TSQualifiedName {\n  if (!node) return false;\n\n  if (node.type !== \"TSQualifiedName\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSCallSignatureDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSCallSignatureDeclaration> | null,\n): node is t.TSCallSignatureDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TSCallSignatureDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSConstructSignatureDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSConstructSignatureDeclaration> | null,\n): node is t.TSConstructSignatureDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TSConstructSignatureDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSPropertySignature(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSPropertySignature> | null,\n): node is t.TSPropertySignature {\n  if (!node) return false;\n\n  if (node.type !== \"TSPropertySignature\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSMethodSignature(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSMethodSignature> | null,\n): node is t.TSMethodSignature {\n  if (!node) return false;\n\n  if (node.type !== \"TSMethodSignature\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSIndexSignature(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSIndexSignature> | null,\n): node is t.TSIndexSignature {\n  if (!node) return false;\n\n  if (node.type !== \"TSIndexSignature\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSAnyKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSAnyKeyword> | null,\n): node is t.TSAnyKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSAnyKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSBooleanKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSBooleanKeyword> | null,\n): node is t.TSBooleanKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSBooleanKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSBigIntKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSBigIntKeyword> | null,\n): node is t.TSBigIntKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSBigIntKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSIntrinsicKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSIntrinsicKeyword> | null,\n): node is t.TSIntrinsicKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSIntrinsicKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNeverKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSNeverKeyword> | null,\n): node is t.TSNeverKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSNeverKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNullKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSNullKeyword> | null,\n): node is t.TSNullKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSNullKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNumberKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSNumberKeyword> | null,\n): node is t.TSNumberKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSNumberKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSObjectKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSObjectKeyword> | null,\n): node is t.TSObjectKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSObjectKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSStringKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSStringKeyword> | null,\n): node is t.TSStringKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSStringKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSSymbolKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSSymbolKeyword> | null,\n): node is t.TSSymbolKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSSymbolKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSUndefinedKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSUndefinedKeyword> | null,\n): node is t.TSUndefinedKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSUndefinedKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSUnknownKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSUnknownKeyword> | null,\n): node is t.TSUnknownKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSUnknownKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSVoidKeyword(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSVoidKeyword> | null,\n): node is t.TSVoidKeyword {\n  if (!node) return false;\n\n  if (node.type !== \"TSVoidKeyword\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSThisType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSThisType> | null,\n): node is t.TSThisType {\n  if (!node) return false;\n\n  if (node.type !== \"TSThisType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSFunctionType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSFunctionType> | null,\n): node is t.TSFunctionType {\n  if (!node) return false;\n\n  if (node.type !== \"TSFunctionType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSConstructorType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSConstructorType> | null,\n): node is t.TSConstructorType {\n  if (!node) return false;\n\n  if (node.type !== \"TSConstructorType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeReference(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeReference> | null,\n): node is t.TSTypeReference {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeReference\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypePredicate(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypePredicate> | null,\n): node is t.TSTypePredicate {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypePredicate\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeQuery(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeQuery> | null,\n): node is t.TSTypeQuery {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeQuery\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeLiteral> | null,\n): node is t.TSTypeLiteral {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSArrayType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSArrayType> | null,\n): node is t.TSArrayType {\n  if (!node) return false;\n\n  if (node.type !== \"TSArrayType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTupleType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTupleType> | null,\n): node is t.TSTupleType {\n  if (!node) return false;\n\n  if (node.type !== \"TSTupleType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSOptionalType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSOptionalType> | null,\n): node is t.TSOptionalType {\n  if (!node) return false;\n\n  if (node.type !== \"TSOptionalType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSRestType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSRestType> | null,\n): node is t.TSRestType {\n  if (!node) return false;\n\n  if (node.type !== \"TSRestType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNamedTupleMember(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSNamedTupleMember> | null,\n): node is t.TSNamedTupleMember {\n  if (!node) return false;\n\n  if (node.type !== \"TSNamedTupleMember\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSUnionType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSUnionType> | null,\n): node is t.TSUnionType {\n  if (!node) return false;\n\n  if (node.type !== \"TSUnionType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSIntersectionType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSIntersectionType> | null,\n): node is t.TSIntersectionType {\n  if (!node) return false;\n\n  if (node.type !== \"TSIntersectionType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSConditionalType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSConditionalType> | null,\n): node is t.TSConditionalType {\n  if (!node) return false;\n\n  if (node.type !== \"TSConditionalType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSInferType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSInferType> | null,\n): node is t.TSInferType {\n  if (!node) return false;\n\n  if (node.type !== \"TSInferType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSParenthesizedType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSParenthesizedType> | null,\n): node is t.TSParenthesizedType {\n  if (!node) return false;\n\n  if (node.type !== \"TSParenthesizedType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeOperator(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeOperator> | null,\n): node is t.TSTypeOperator {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeOperator\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSIndexedAccessType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSIndexedAccessType> | null,\n): node is t.TSIndexedAccessType {\n  if (!node) return false;\n\n  if (node.type !== \"TSIndexedAccessType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSMappedType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSMappedType> | null,\n): node is t.TSMappedType {\n  if (!node) return false;\n\n  if (node.type !== \"TSMappedType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSLiteralType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSLiteralType> | null,\n): node is t.TSLiteralType {\n  if (!node) return false;\n\n  if (node.type !== \"TSLiteralType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSExpressionWithTypeArguments(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSExpressionWithTypeArguments> | null,\n): node is t.TSExpressionWithTypeArguments {\n  if (!node) return false;\n\n  if (node.type !== \"TSExpressionWithTypeArguments\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSInterfaceDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSInterfaceDeclaration> | null,\n): node is t.TSInterfaceDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TSInterfaceDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSInterfaceBody(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSInterfaceBody> | null,\n): node is t.TSInterfaceBody {\n  if (!node) return false;\n\n  if (node.type !== \"TSInterfaceBody\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeAliasDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeAliasDeclaration> | null,\n): node is t.TSTypeAliasDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeAliasDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSInstantiationExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSInstantiationExpression> | null,\n): node is t.TSInstantiationExpression {\n  if (!node) return false;\n\n  if (node.type !== \"TSInstantiationExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSAsExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSAsExpression> | null,\n): node is t.TSAsExpression {\n  if (!node) return false;\n\n  if (node.type !== \"TSAsExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSSatisfiesExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSSatisfiesExpression> | null,\n): node is t.TSSatisfiesExpression {\n  if (!node) return false;\n\n  if (node.type !== \"TSSatisfiesExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeAssertion(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeAssertion> | null,\n): node is t.TSTypeAssertion {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeAssertion\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSEnumDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSEnumDeclaration> | null,\n): node is t.TSEnumDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TSEnumDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSEnumMember(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSEnumMember> | null,\n): node is t.TSEnumMember {\n  if (!node) return false;\n\n  if (node.type !== \"TSEnumMember\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSModuleDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSModuleDeclaration> | null,\n): node is t.TSModuleDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TSModuleDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSModuleBlock(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSModuleBlock> | null,\n): node is t.TSModuleBlock {\n  if (!node) return false;\n\n  if (node.type !== \"TSModuleBlock\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSImportType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSImportType> | null,\n): node is t.TSImportType {\n  if (!node) return false;\n\n  if (node.type !== \"TSImportType\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSImportEqualsDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSImportEqualsDeclaration> | null,\n): node is t.TSImportEqualsDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TSImportEqualsDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSExternalModuleReference(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSExternalModuleReference> | null,\n): node is t.TSExternalModuleReference {\n  if (!node) return false;\n\n  if (node.type !== \"TSExternalModuleReference\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNonNullExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSNonNullExpression> | null,\n): node is t.TSNonNullExpression {\n  if (!node) return false;\n\n  if (node.type !== \"TSNonNullExpression\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSExportAssignment(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSExportAssignment> | null,\n): node is t.TSExportAssignment {\n  if (!node) return false;\n\n  if (node.type !== \"TSExportAssignment\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSNamespaceExportDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSNamespaceExportDeclaration> | null,\n): node is t.TSNamespaceExportDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TSNamespaceExportDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeAnnotation> | null,\n): node is t.TSTypeAnnotation {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeAnnotation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeParameterInstantiation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeParameterInstantiation> | null,\n): node is t.TSTypeParameterInstantiation {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeParameterInstantiation\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeParameterDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeParameterDeclaration> | null,\n): node is t.TSTypeParameterDeclaration {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeParameterDeclaration\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeParameter(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeParameter> | null,\n): node is t.TSTypeParameter {\n  if (!node) return false;\n\n  if (node.type !== \"TSTypeParameter\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isStandardized(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Standardized> | null,\n): node is t.Standardized {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ArrayExpression\":\n    case \"AssignmentExpression\":\n    case \"BinaryExpression\":\n    case \"InterpreterDirective\":\n    case \"Directive\":\n    case \"DirectiveLiteral\":\n    case \"BlockStatement\":\n    case \"BreakStatement\":\n    case \"CallExpression\":\n    case \"CatchClause\":\n    case \"ConditionalExpression\":\n    case \"ContinueStatement\":\n    case \"DebuggerStatement\":\n    case \"DoWhileStatement\":\n    case \"EmptyStatement\":\n    case \"ExpressionStatement\":\n    case \"File\":\n    case \"ForInStatement\":\n    case \"ForStatement\":\n    case \"FunctionDeclaration\":\n    case \"FunctionExpression\":\n    case \"Identifier\":\n    case \"IfStatement\":\n    case \"LabeledStatement\":\n    case \"StringLiteral\":\n    case \"NumericLiteral\":\n    case \"NullLiteral\":\n    case \"BooleanLiteral\":\n    case \"RegExpLiteral\":\n    case \"LogicalExpression\":\n    case \"MemberExpression\":\n    case \"NewExpression\":\n    case \"Program\":\n    case \"ObjectExpression\":\n    case \"ObjectMethod\":\n    case \"ObjectProperty\":\n    case \"RestElement\":\n    case \"ReturnStatement\":\n    case \"SequenceExpression\":\n    case \"ParenthesizedExpression\":\n    case \"SwitchCase\":\n    case \"SwitchStatement\":\n    case \"ThisExpression\":\n    case \"ThrowStatement\":\n    case \"TryStatement\":\n    case \"UnaryExpression\":\n    case \"UpdateExpression\":\n    case \"VariableDeclaration\":\n    case \"VariableDeclarator\":\n    case \"WhileStatement\":\n    case \"WithStatement\":\n    case \"AssignmentPattern\":\n    case \"ArrayPattern\":\n    case \"ArrowFunctionExpression\":\n    case \"ClassBody\":\n    case \"ClassExpression\":\n    case \"ClassDeclaration\":\n    case \"ExportAllDeclaration\":\n    case \"ExportDefaultDeclaration\":\n    case \"ExportNamedDeclaration\":\n    case \"ExportSpecifier\":\n    case \"ForOfStatement\":\n    case \"ImportDeclaration\":\n    case \"ImportDefaultSpecifier\":\n    case \"ImportNamespaceSpecifier\":\n    case \"ImportSpecifier\":\n    case \"ImportExpression\":\n    case \"MetaProperty\":\n    case \"ClassMethod\":\n    case \"ObjectPattern\":\n    case \"SpreadElement\":\n    case \"Super\":\n    case \"TaggedTemplateExpression\":\n    case \"TemplateElement\":\n    case \"TemplateLiteral\":\n    case \"YieldExpression\":\n    case \"AwaitExpression\":\n    case \"Import\":\n    case \"BigIntLiteral\":\n    case \"ExportNamespaceSpecifier\":\n    case \"OptionalMemberExpression\":\n    case \"OptionalCallExpression\":\n    case \"ClassProperty\":\n    case \"ClassAccessorProperty\":\n    case \"ClassPrivateProperty\":\n    case \"ClassPrivateMethod\":\n    case \"PrivateName\":\n    case \"StaticBlock\":\n      break;\n    case \"Placeholder\":\n      switch (node.expectedNode) {\n        case \"Identifier\":\n        case \"StringLiteral\":\n        case \"BlockStatement\":\n        case \"ClassBody\":\n          break;\n        default:\n          return false;\n      }\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExpression(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Expression> | null,\n): node is t.Expression {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ArrayExpression\":\n    case \"AssignmentExpression\":\n    case \"BinaryExpression\":\n    case \"CallExpression\":\n    case \"ConditionalExpression\":\n    case \"FunctionExpression\":\n    case \"Identifier\":\n    case \"StringLiteral\":\n    case \"NumericLiteral\":\n    case \"NullLiteral\":\n    case \"BooleanLiteral\":\n    case \"RegExpLiteral\":\n    case \"LogicalExpression\":\n    case \"MemberExpression\":\n    case \"NewExpression\":\n    case \"ObjectExpression\":\n    case \"SequenceExpression\":\n    case \"ParenthesizedExpression\":\n    case \"ThisExpression\":\n    case \"UnaryExpression\":\n    case \"UpdateExpression\":\n    case \"ArrowFunctionExpression\":\n    case \"ClassExpression\":\n    case \"ImportExpression\":\n    case \"MetaProperty\":\n    case \"Super\":\n    case \"TaggedTemplateExpression\":\n    case \"TemplateLiteral\":\n    case \"YieldExpression\":\n    case \"AwaitExpression\":\n    case \"Import\":\n    case \"BigIntLiteral\":\n    case \"OptionalMemberExpression\":\n    case \"OptionalCallExpression\":\n    case \"TypeCastExpression\":\n    case \"JSXElement\":\n    case \"JSXFragment\":\n    case \"BindExpression\":\n    case \"DoExpression\":\n    case \"RecordExpression\":\n    case \"TupleExpression\":\n    case \"DecimalLiteral\":\n    case \"ModuleExpression\":\n    case \"TopicReference\":\n    case \"PipelineTopicExpression\":\n    case \"PipelineBareFunction\":\n    case \"PipelinePrimaryTopicReference\":\n    case \"TSInstantiationExpression\":\n    case \"TSAsExpression\":\n    case \"TSSatisfiesExpression\":\n    case \"TSTypeAssertion\":\n    case \"TSNonNullExpression\":\n      break;\n    case \"Placeholder\":\n      switch (node.expectedNode) {\n        case \"Expression\":\n        case \"Identifier\":\n        case \"StringLiteral\":\n          break;\n        default:\n          return false;\n      }\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBinary(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Binary> | null,\n): node is t.Binary {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"BinaryExpression\":\n    case \"LogicalExpression\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isScopable(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Scopable> | null,\n): node is t.Scopable {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"BlockStatement\":\n    case \"CatchClause\":\n    case \"DoWhileStatement\":\n    case \"ForInStatement\":\n    case \"ForStatement\":\n    case \"FunctionDeclaration\":\n    case \"FunctionExpression\":\n    case \"Program\":\n    case \"ObjectMethod\":\n    case \"SwitchStatement\":\n    case \"WhileStatement\":\n    case \"ArrowFunctionExpression\":\n    case \"ClassExpression\":\n    case \"ClassDeclaration\":\n    case \"ForOfStatement\":\n    case \"ClassMethod\":\n    case \"ClassPrivateMethod\":\n    case \"StaticBlock\":\n    case \"TSModuleBlock\":\n      break;\n    case \"Placeholder\":\n      if (node.expectedNode === \"BlockStatement\") break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBlockParent(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.BlockParent> | null,\n): node is t.BlockParent {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"BlockStatement\":\n    case \"CatchClause\":\n    case \"DoWhileStatement\":\n    case \"ForInStatement\":\n    case \"ForStatement\":\n    case \"FunctionDeclaration\":\n    case \"FunctionExpression\":\n    case \"Program\":\n    case \"ObjectMethod\":\n    case \"SwitchStatement\":\n    case \"WhileStatement\":\n    case \"ArrowFunctionExpression\":\n    case \"ForOfStatement\":\n    case \"ClassMethod\":\n    case \"ClassPrivateMethod\":\n    case \"StaticBlock\":\n    case \"TSModuleBlock\":\n      break;\n    case \"Placeholder\":\n      if (node.expectedNode === \"BlockStatement\") break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isBlock(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Block> | null,\n): node is t.Block {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"BlockStatement\":\n    case \"Program\":\n    case \"TSModuleBlock\":\n      break;\n    case \"Placeholder\":\n      if (node.expectedNode === \"BlockStatement\") break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Statement> | null,\n): node is t.Statement {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"BlockStatement\":\n    case \"BreakStatement\":\n    case \"ContinueStatement\":\n    case \"DebuggerStatement\":\n    case \"DoWhileStatement\":\n    case \"EmptyStatement\":\n    case \"ExpressionStatement\":\n    case \"ForInStatement\":\n    case \"ForStatement\":\n    case \"FunctionDeclaration\":\n    case \"IfStatement\":\n    case \"LabeledStatement\":\n    case \"ReturnStatement\":\n    case \"SwitchStatement\":\n    case \"ThrowStatement\":\n    case \"TryStatement\":\n    case \"VariableDeclaration\":\n    case \"WhileStatement\":\n    case \"WithStatement\":\n    case \"ClassDeclaration\":\n    case \"ExportAllDeclaration\":\n    case \"ExportDefaultDeclaration\":\n    case \"ExportNamedDeclaration\":\n    case \"ForOfStatement\":\n    case \"ImportDeclaration\":\n    case \"DeclareClass\":\n    case \"DeclareFunction\":\n    case \"DeclareInterface\":\n    case \"DeclareModule\":\n    case \"DeclareModuleExports\":\n    case \"DeclareTypeAlias\":\n    case \"DeclareOpaqueType\":\n    case \"DeclareVariable\":\n    case \"DeclareExportDeclaration\":\n    case \"DeclareExportAllDeclaration\":\n    case \"InterfaceDeclaration\":\n    case \"OpaqueType\":\n    case \"TypeAlias\":\n    case \"EnumDeclaration\":\n    case \"TSDeclareFunction\":\n    case \"TSInterfaceDeclaration\":\n    case \"TSTypeAliasDeclaration\":\n    case \"TSEnumDeclaration\":\n    case \"TSModuleDeclaration\":\n    case \"TSImportEqualsDeclaration\":\n    case \"TSExportAssignment\":\n    case \"TSNamespaceExportDeclaration\":\n      break;\n    case \"Placeholder\":\n      switch (node.expectedNode) {\n        case \"Statement\":\n        case \"Declaration\":\n        case \"BlockStatement\":\n          break;\n        default:\n          return false;\n      }\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTerminatorless(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Terminatorless> | null,\n): node is t.Terminatorless {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"BreakStatement\":\n    case \"ContinueStatement\":\n    case \"ReturnStatement\":\n    case \"ThrowStatement\":\n    case \"YieldExpression\":\n    case \"AwaitExpression\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isCompletionStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.CompletionStatement> | null,\n): node is t.CompletionStatement {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"BreakStatement\":\n    case \"ContinueStatement\":\n    case \"ReturnStatement\":\n    case \"ThrowStatement\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isConditional(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Conditional> | null,\n): node is t.Conditional {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ConditionalExpression\":\n    case \"IfStatement\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isLoop(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Loop> | null,\n): node is t.Loop {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"DoWhileStatement\":\n    case \"ForInStatement\":\n    case \"ForStatement\":\n    case \"WhileStatement\":\n    case \"ForOfStatement\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isWhile(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.While> | null,\n): node is t.While {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"DoWhileStatement\":\n    case \"WhileStatement\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExpressionWrapper(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExpressionWrapper> | null,\n): node is t.ExpressionWrapper {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ExpressionStatement\":\n    case \"ParenthesizedExpression\":\n    case \"TypeCastExpression\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFor(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.For> | null,\n): node is t.For {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ForInStatement\":\n    case \"ForStatement\":\n    case \"ForOfStatement\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isForXStatement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ForXStatement> | null,\n): node is t.ForXStatement {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ForInStatement\":\n    case \"ForOfStatement\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFunction(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Function> | null,\n): node is t.Function {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"FunctionDeclaration\":\n    case \"FunctionExpression\":\n    case \"ObjectMethod\":\n    case \"ArrowFunctionExpression\":\n    case \"ClassMethod\":\n    case \"ClassPrivateMethod\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFunctionParent(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.FunctionParent> | null,\n): node is t.FunctionParent {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"FunctionDeclaration\":\n    case \"FunctionExpression\":\n    case \"ObjectMethod\":\n    case \"ArrowFunctionExpression\":\n    case \"ClassMethod\":\n    case \"ClassPrivateMethod\":\n    case \"StaticBlock\":\n    case \"TSModuleBlock\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isPureish(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Pureish> | null,\n): node is t.Pureish {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"FunctionDeclaration\":\n    case \"FunctionExpression\":\n    case \"StringLiteral\":\n    case \"NumericLiteral\":\n    case \"NullLiteral\":\n    case \"BooleanLiteral\":\n    case \"RegExpLiteral\":\n    case \"ArrowFunctionExpression\":\n    case \"BigIntLiteral\":\n    case \"DecimalLiteral\":\n      break;\n    case \"Placeholder\":\n      if (node.expectedNode === \"StringLiteral\") break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Declaration> | null,\n): node is t.Declaration {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"FunctionDeclaration\":\n    case \"VariableDeclaration\":\n    case \"ClassDeclaration\":\n    case \"ExportAllDeclaration\":\n    case \"ExportDefaultDeclaration\":\n    case \"ExportNamedDeclaration\":\n    case \"ImportDeclaration\":\n    case \"DeclareClass\":\n    case \"DeclareFunction\":\n    case \"DeclareInterface\":\n    case \"DeclareModule\":\n    case \"DeclareModuleExports\":\n    case \"DeclareTypeAlias\":\n    case \"DeclareOpaqueType\":\n    case \"DeclareVariable\":\n    case \"DeclareExportDeclaration\":\n    case \"DeclareExportAllDeclaration\":\n    case \"InterfaceDeclaration\":\n    case \"OpaqueType\":\n    case \"TypeAlias\":\n    case \"EnumDeclaration\":\n    case \"TSDeclareFunction\":\n    case \"TSInterfaceDeclaration\":\n    case \"TSTypeAliasDeclaration\":\n    case \"TSEnumDeclaration\":\n    case \"TSModuleDeclaration\":\n      break;\n    case \"Placeholder\":\n      if (node.expectedNode === \"Declaration\") break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isPatternLike(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.PatternLike> | null,\n): node is t.PatternLike {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"Identifier\":\n    case \"RestElement\":\n    case \"AssignmentPattern\":\n    case \"ArrayPattern\":\n    case \"ObjectPattern\":\n    case \"TSAsExpression\":\n    case \"TSSatisfiesExpression\":\n    case \"TSTypeAssertion\":\n    case \"TSNonNullExpression\":\n      break;\n    case \"Placeholder\":\n      switch (node.expectedNode) {\n        case \"Pattern\":\n        case \"Identifier\":\n          break;\n        default:\n          return false;\n      }\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isLVal(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.LVal> | null,\n): node is t.LVal {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"Identifier\":\n    case \"MemberExpression\":\n    case \"RestElement\":\n    case \"AssignmentPattern\":\n    case \"ArrayPattern\":\n    case \"ObjectPattern\":\n    case \"TSParameterProperty\":\n    case \"TSAsExpression\":\n    case \"TSSatisfiesExpression\":\n    case \"TSTypeAssertion\":\n    case \"TSNonNullExpression\":\n      break;\n    case \"Placeholder\":\n      switch (node.expectedNode) {\n        case \"Pattern\":\n        case \"Identifier\":\n          break;\n        default:\n          return false;\n      }\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSEntityName(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSEntityName> | null,\n): node is t.TSEntityName {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"Identifier\":\n    case \"TSQualifiedName\":\n      break;\n    case \"Placeholder\":\n      if (node.expectedNode === \"Identifier\") break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Literal> | null,\n): node is t.Literal {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"StringLiteral\":\n    case \"NumericLiteral\":\n    case \"NullLiteral\":\n    case \"BooleanLiteral\":\n    case \"RegExpLiteral\":\n    case \"TemplateLiteral\":\n    case \"BigIntLiteral\":\n    case \"DecimalLiteral\":\n      break;\n    case \"Placeholder\":\n      if (node.expectedNode === \"StringLiteral\") break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isImmutable(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Immutable> | null,\n): node is t.Immutable {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"StringLiteral\":\n    case \"NumericLiteral\":\n    case \"NullLiteral\":\n    case \"BooleanLiteral\":\n    case \"BigIntLiteral\":\n    case \"JSXAttribute\":\n    case \"JSXClosingElement\":\n    case \"JSXElement\":\n    case \"JSXExpressionContainer\":\n    case \"JSXSpreadChild\":\n    case \"JSXOpeningElement\":\n    case \"JSXText\":\n    case \"JSXFragment\":\n    case \"JSXOpeningFragment\":\n    case \"JSXClosingFragment\":\n    case \"DecimalLiteral\":\n      break;\n    case \"Placeholder\":\n      if (node.expectedNode === \"StringLiteral\") break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isUserWhitespacable(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.UserWhitespacable> | null,\n): node is t.UserWhitespacable {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ObjectMethod\":\n    case \"ObjectProperty\":\n    case \"ObjectTypeInternalSlot\":\n    case \"ObjectTypeCallProperty\":\n    case \"ObjectTypeIndexer\":\n    case \"ObjectTypeProperty\":\n    case \"ObjectTypeSpreadProperty\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isMethod(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Method> | null,\n): node is t.Method {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ObjectMethod\":\n    case \"ClassMethod\":\n    case \"ClassPrivateMethod\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isObjectMember(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ObjectMember> | null,\n): node is t.ObjectMember {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ObjectMethod\":\n    case \"ObjectProperty\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Property> | null,\n): node is t.Property {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ObjectProperty\":\n    case \"ClassProperty\":\n    case \"ClassAccessorProperty\":\n    case \"ClassPrivateProperty\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isUnaryLike(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.UnaryLike> | null,\n): node is t.UnaryLike {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"UnaryExpression\":\n    case \"SpreadElement\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isPattern(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Pattern> | null,\n): node is t.Pattern {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"AssignmentPattern\":\n    case \"ArrayPattern\":\n    case \"ObjectPattern\":\n      break;\n    case \"Placeholder\":\n      if (node.expectedNode === \"Pattern\") break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isClass(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Class> | null,\n): node is t.Class {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ClassExpression\":\n    case \"ClassDeclaration\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isImportOrExportDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ImportOrExportDeclaration> | null,\n): node is t.ImportOrExportDeclaration {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ExportAllDeclaration\":\n    case \"ExportDefaultDeclaration\":\n    case \"ExportNamedDeclaration\":\n    case \"ImportDeclaration\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isExportDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ExportDeclaration> | null,\n): node is t.ExportDeclaration {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ExportAllDeclaration\":\n    case \"ExportDefaultDeclaration\":\n    case \"ExportNamedDeclaration\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isModuleSpecifier(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ModuleSpecifier> | null,\n): node is t.ModuleSpecifier {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ExportSpecifier\":\n    case \"ImportDefaultSpecifier\":\n    case \"ImportNamespaceSpecifier\":\n    case \"ImportSpecifier\":\n    case \"ExportNamespaceSpecifier\":\n    case \"ExportDefaultSpecifier\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isAccessor(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Accessor> | null,\n): node is t.Accessor {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ClassAccessorProperty\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isPrivate(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Private> | null,\n): node is t.Private {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"ClassPrivateProperty\":\n    case \"ClassPrivateMethod\":\n    case \"PrivateName\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFlow(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Flow> | null,\n): node is t.Flow {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"AnyTypeAnnotation\":\n    case \"ArrayTypeAnnotation\":\n    case \"BooleanTypeAnnotation\":\n    case \"BooleanLiteralTypeAnnotation\":\n    case \"NullLiteralTypeAnnotation\":\n    case \"ClassImplements\":\n    case \"DeclareClass\":\n    case \"DeclareFunction\":\n    case \"DeclareInterface\":\n    case \"DeclareModule\":\n    case \"DeclareModuleExports\":\n    case \"DeclareTypeAlias\":\n    case \"DeclareOpaqueType\":\n    case \"DeclareVariable\":\n    case \"DeclareExportDeclaration\":\n    case \"DeclareExportAllDeclaration\":\n    case \"DeclaredPredicate\":\n    case \"ExistsTypeAnnotation\":\n    case \"FunctionTypeAnnotation\":\n    case \"FunctionTypeParam\":\n    case \"GenericTypeAnnotation\":\n    case \"InferredPredicate\":\n    case \"InterfaceExtends\":\n    case \"InterfaceDeclaration\":\n    case \"InterfaceTypeAnnotation\":\n    case \"IntersectionTypeAnnotation\":\n    case \"MixedTypeAnnotation\":\n    case \"EmptyTypeAnnotation\":\n    case \"NullableTypeAnnotation\":\n    case \"NumberLiteralTypeAnnotation\":\n    case \"NumberTypeAnnotation\":\n    case \"ObjectTypeAnnotation\":\n    case \"ObjectTypeInternalSlot\":\n    case \"ObjectTypeCallProperty\":\n    case \"ObjectTypeIndexer\":\n    case \"ObjectTypeProperty\":\n    case \"ObjectTypeSpreadProperty\":\n    case \"OpaqueType\":\n    case \"QualifiedTypeIdentifier\":\n    case \"StringLiteralTypeAnnotation\":\n    case \"StringTypeAnnotation\":\n    case \"SymbolTypeAnnotation\":\n    case \"ThisTypeAnnotation\":\n    case \"TupleTypeAnnotation\":\n    case \"TypeofTypeAnnotation\":\n    case \"TypeAlias\":\n    case \"TypeAnnotation\":\n    case \"TypeCastExpression\":\n    case \"TypeParameter\":\n    case \"TypeParameterDeclaration\":\n    case \"TypeParameterInstantiation\":\n    case \"UnionTypeAnnotation\":\n    case \"Variance\":\n    case \"VoidTypeAnnotation\":\n    case \"EnumDeclaration\":\n    case \"EnumBooleanBody\":\n    case \"EnumNumberBody\":\n    case \"EnumStringBody\":\n    case \"EnumSymbolBody\":\n    case \"EnumBooleanMember\":\n    case \"EnumNumberMember\":\n    case \"EnumStringMember\":\n    case \"EnumDefaultedMember\":\n    case \"IndexedAccessType\":\n    case \"OptionalIndexedAccessType\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFlowType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.FlowType> | null,\n): node is t.FlowType {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"AnyTypeAnnotation\":\n    case \"ArrayTypeAnnotation\":\n    case \"BooleanTypeAnnotation\":\n    case \"BooleanLiteralTypeAnnotation\":\n    case \"NullLiteralTypeAnnotation\":\n    case \"ExistsTypeAnnotation\":\n    case \"FunctionTypeAnnotation\":\n    case \"GenericTypeAnnotation\":\n    case \"InterfaceTypeAnnotation\":\n    case \"IntersectionTypeAnnotation\":\n    case \"MixedTypeAnnotation\":\n    case \"EmptyTypeAnnotation\":\n    case \"NullableTypeAnnotation\":\n    case \"NumberLiteralTypeAnnotation\":\n    case \"NumberTypeAnnotation\":\n    case \"ObjectTypeAnnotation\":\n    case \"StringLiteralTypeAnnotation\":\n    case \"StringTypeAnnotation\":\n    case \"SymbolTypeAnnotation\":\n    case \"ThisTypeAnnotation\":\n    case \"TupleTypeAnnotation\":\n    case \"TypeofTypeAnnotation\":\n    case \"UnionTypeAnnotation\":\n    case \"VoidTypeAnnotation\":\n    case \"IndexedAccessType\":\n    case \"OptionalIndexedAccessType\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFlowBaseAnnotation(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.FlowBaseAnnotation> | null,\n): node is t.FlowBaseAnnotation {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"AnyTypeAnnotation\":\n    case \"BooleanTypeAnnotation\":\n    case \"NullLiteralTypeAnnotation\":\n    case \"MixedTypeAnnotation\":\n    case \"EmptyTypeAnnotation\":\n    case \"NumberTypeAnnotation\":\n    case \"StringTypeAnnotation\":\n    case \"SymbolTypeAnnotation\":\n    case \"ThisTypeAnnotation\":\n    case \"VoidTypeAnnotation\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFlowDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.FlowDeclaration> | null,\n): node is t.FlowDeclaration {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"DeclareClass\":\n    case \"DeclareFunction\":\n    case \"DeclareInterface\":\n    case \"DeclareModule\":\n    case \"DeclareModuleExports\":\n    case \"DeclareTypeAlias\":\n    case \"DeclareOpaqueType\":\n    case \"DeclareVariable\":\n    case \"DeclareExportDeclaration\":\n    case \"DeclareExportAllDeclaration\":\n    case \"InterfaceDeclaration\":\n    case \"OpaqueType\":\n    case \"TypeAlias\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isFlowPredicate(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.FlowPredicate> | null,\n): node is t.FlowPredicate {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"DeclaredPredicate\":\n    case \"InferredPredicate\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumBody(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumBody> | null,\n): node is t.EnumBody {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"EnumBooleanBody\":\n    case \"EnumNumberBody\":\n    case \"EnumStringBody\":\n    case \"EnumSymbolBody\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isEnumMember(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.EnumMember> | null,\n): node is t.EnumMember {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"EnumBooleanMember\":\n    case \"EnumNumberMember\":\n    case \"EnumStringMember\":\n    case \"EnumDefaultedMember\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isJSX(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.JSX> | null,\n): node is t.JSX {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"JSXAttribute\":\n    case \"JSXClosingElement\":\n    case \"JSXElement\":\n    case \"JSXEmptyExpression\":\n    case \"JSXExpressionContainer\":\n    case \"JSXSpreadChild\":\n    case \"JSXIdentifier\":\n    case \"JSXMemberExpression\":\n    case \"JSXNamespacedName\":\n    case \"JSXOpeningElement\":\n    case \"JSXSpreadAttribute\":\n    case \"JSXText\":\n    case \"JSXFragment\":\n    case \"JSXOpeningFragment\":\n    case \"JSXClosingFragment\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isMiscellaneous(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.Miscellaneous> | null,\n): node is t.Miscellaneous {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"Noop\":\n    case \"Placeholder\":\n    case \"V8IntrinsicIdentifier\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTypeScript(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TypeScript> | null,\n): node is t.TypeScript {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"TSParameterProperty\":\n    case \"TSDeclareFunction\":\n    case \"TSDeclareMethod\":\n    case \"TSQualifiedName\":\n    case \"TSCallSignatureDeclaration\":\n    case \"TSConstructSignatureDeclaration\":\n    case \"TSPropertySignature\":\n    case \"TSMethodSignature\":\n    case \"TSIndexSignature\":\n    case \"TSAnyKeyword\":\n    case \"TSBooleanKeyword\":\n    case \"TSBigIntKeyword\":\n    case \"TSIntrinsicKeyword\":\n    case \"TSNeverKeyword\":\n    case \"TSNullKeyword\":\n    case \"TSNumberKeyword\":\n    case \"TSObjectKeyword\":\n    case \"TSStringKeyword\":\n    case \"TSSymbolKeyword\":\n    case \"TSUndefinedKeyword\":\n    case \"TSUnknownKeyword\":\n    case \"TSVoidKeyword\":\n    case \"TSThisType\":\n    case \"TSFunctionType\":\n    case \"TSConstructorType\":\n    case \"TSTypeReference\":\n    case \"TSTypePredicate\":\n    case \"TSTypeQuery\":\n    case \"TSTypeLiteral\":\n    case \"TSArrayType\":\n    case \"TSTupleType\":\n    case \"TSOptionalType\":\n    case \"TSRestType\":\n    case \"TSNamedTupleMember\":\n    case \"TSUnionType\":\n    case \"TSIntersectionType\":\n    case \"TSConditionalType\":\n    case \"TSInferType\":\n    case \"TSParenthesizedType\":\n    case \"TSTypeOperator\":\n    case \"TSIndexedAccessType\":\n    case \"TSMappedType\":\n    case \"TSLiteralType\":\n    case \"TSExpressionWithTypeArguments\":\n    case \"TSInterfaceDeclaration\":\n    case \"TSInterfaceBody\":\n    case \"TSTypeAliasDeclaration\":\n    case \"TSInstantiationExpression\":\n    case \"TSAsExpression\":\n    case \"TSSatisfiesExpression\":\n    case \"TSTypeAssertion\":\n    case \"TSEnumDeclaration\":\n    case \"TSEnumMember\":\n    case \"TSModuleDeclaration\":\n    case \"TSModuleBlock\":\n    case \"TSImportType\":\n    case \"TSImportEqualsDeclaration\":\n    case \"TSExternalModuleReference\":\n    case \"TSNonNullExpression\":\n    case \"TSExportAssignment\":\n    case \"TSNamespaceExportDeclaration\":\n    case \"TSTypeAnnotation\":\n    case \"TSTypeParameterInstantiation\":\n    case \"TSTypeParameterDeclaration\":\n    case \"TSTypeParameter\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSTypeElement(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSTypeElement> | null,\n): node is t.TSTypeElement {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"TSCallSignatureDeclaration\":\n    case \"TSConstructSignatureDeclaration\":\n    case \"TSPropertySignature\":\n    case \"TSMethodSignature\":\n    case \"TSIndexSignature\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSType> | null,\n): node is t.TSType {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"TSAnyKeyword\":\n    case \"TSBooleanKeyword\":\n    case \"TSBigIntKeyword\":\n    case \"TSIntrinsicKeyword\":\n    case \"TSNeverKeyword\":\n    case \"TSNullKeyword\":\n    case \"TSNumberKeyword\":\n    case \"TSObjectKeyword\":\n    case \"TSStringKeyword\":\n    case \"TSSymbolKeyword\":\n    case \"TSUndefinedKeyword\":\n    case \"TSUnknownKeyword\":\n    case \"TSVoidKeyword\":\n    case \"TSThisType\":\n    case \"TSFunctionType\":\n    case \"TSConstructorType\":\n    case \"TSTypeReference\":\n    case \"TSTypePredicate\":\n    case \"TSTypeQuery\":\n    case \"TSTypeLiteral\":\n    case \"TSArrayType\":\n    case \"TSTupleType\":\n    case \"TSOptionalType\":\n    case \"TSRestType\":\n    case \"TSUnionType\":\n    case \"TSIntersectionType\":\n    case \"TSConditionalType\":\n    case \"TSInferType\":\n    case \"TSParenthesizedType\":\n    case \"TSTypeOperator\":\n    case \"TSIndexedAccessType\":\n    case \"TSMappedType\":\n    case \"TSLiteralType\":\n    case \"TSExpressionWithTypeArguments\":\n    case \"TSImportType\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\nexport function isTSBaseType(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.TSBaseType> | null,\n): node is t.TSBaseType {\n  if (!node) return false;\n\n  switch (node.type) {\n    case \"TSAnyKeyword\":\n    case \"TSBooleanKeyword\":\n    case \"TSBigIntKeyword\":\n    case \"TSIntrinsicKeyword\":\n    case \"TSNeverKeyword\":\n    case \"TSNullKeyword\":\n    case \"TSNumberKeyword\":\n    case \"TSObjectKeyword\":\n    case \"TSStringKeyword\":\n    case \"TSSymbolKeyword\":\n    case \"TSUndefinedKeyword\":\n    case \"TSUnknownKeyword\":\n    case \"TSVoidKeyword\":\n    case \"TSThisType\":\n    case \"TSLiteralType\":\n      break;\n    default:\n      return false;\n  }\n\n  return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isNumericLiteral`\n */\nexport function isNumberLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.NumberLiteral> | null,\n): boolean {\n  deprecationWarning(\"isNumberLiteral\", \"isNumericLiteral\");\n  if (!node) return false;\n\n  if (node.type !== \"NumberLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isRegExpLiteral`\n */\nexport function isRegexLiteral(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.RegexLiteral> | null,\n): boolean {\n  deprecationWarning(\"isRegexLiteral\", \"isRegExpLiteral\");\n  if (!node) return false;\n\n  if (node.type !== \"RegexLiteral\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isRestElement`\n */\nexport function isRestProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.RestProperty> | null,\n): boolean {\n  deprecationWarning(\"isRestProperty\", \"isRestElement\");\n  if (!node) return false;\n\n  if (node.type !== \"RestProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isSpreadElement`\n */\nexport function isSpreadProperty(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.SpreadProperty> | null,\n): boolean {\n  deprecationWarning(\"isSpreadProperty\", \"isSpreadElement\");\n  if (!node) return false;\n\n  if (node.type !== \"SpreadProperty\") return false;\n\n  return opts == null || shallowEqual(node, opts);\n}\n/**\n * @deprecated Use `isImportOrExportDeclaration`\n */\nexport function isModuleDeclaration(\n  node: t.Node | null | undefined,\n  opts?: Opts<t.ModuleDeclaration> | null,\n): node is t.ImportOrExportDeclaration {\n  deprecationWarning(\"isModuleDeclaration\", \"isImportOrExportDeclaration\");\n  return isImportOrExportDeclaration(node, opts);\n}\n"],"mappings":"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","ignoreList":[]}                                                                                                                                                                                                                                           {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../../../src/generated/src/models/mappers.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const BlobServiceProperties: coreClient.CompositeMapper = {\n  serializedName: \"BlobServiceProperties\",\n  xmlName: \"StorageServiceProperties\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobServiceProperties\",\n    modelProperties: {\n      blobAnalyticsLogging: {\n        serializedName: \"Logging\",\n        xmlName: \"Logging\",\n        type: {\n          name: \"Composite\",\n          className: \"Logging\",\n        },\n      },\n      hourMetrics: {\n        serializedName: \"HourMetrics\",\n        xmlName: \"HourMetrics\",\n        type: {\n          name: \"Composite\",\n          className: \"Metrics\",\n        },\n      },\n      minuteMetrics: {\n        serializedName: \"MinuteMetrics\",\n        xmlName: \"MinuteMetrics\",\n        type: {\n          name: \"Composite\",\n          className: \"Metrics\",\n        },\n      },\n      cors: {\n        serializedName: \"Cors\",\n        xmlName: \"Cors\",\n        xmlIsWrapped: true,\n        xmlElementName: \"CorsRule\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"CorsRule\",\n            },\n          },\n        },\n      },\n      defaultServiceVersion: {\n        serializedName: \"DefaultServiceVersion\",\n        xmlName: \"DefaultServiceVersion\",\n        type: {\n          name: \"String\",\n        },\n      },\n      deleteRetentionPolicy: {\n        serializedName: \"DeleteRetentionPolicy\",\n        xmlName: \"DeleteRetentionPolicy\",\n        type: {\n          name: \"Composite\",\n          className: \"RetentionPolicy\",\n        },\n      },\n      staticWebsite: {\n        serializedName: \"StaticWebsite\",\n        xmlName: \"StaticWebsite\",\n        type: {\n          name: \"Composite\",\n          className: \"StaticWebsite\",\n        },\n      },\n    },\n  },\n};\n\nexport const Logging: coreClient.CompositeMapper = {\n  serializedName: \"Logging\",\n  type: {\n    name: \"Composite\",\n    className: \"Logging\",\n    modelProperties: {\n      version: {\n        serializedName: \"Version\",\n        required: true,\n        xmlName: \"Version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      deleteProperty: {\n        serializedName: \"Delete\",\n        required: true,\n        xmlName: \"Delete\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      read: {\n        serializedName: \"Read\",\n        required: true,\n        xmlName: \"Read\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      write: {\n        serializedName: \"Write\",\n        required: true,\n        xmlName: \"Write\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      retentionPolicy: {\n        serializedName: \"RetentionPolicy\",\n        xmlName: \"RetentionPolicy\",\n        type: {\n          name: \"Composite\",\n          className: \"RetentionPolicy\",\n        },\n      },\n    },\n  },\n};\n\nexport const RetentionPolicy: coreClient.CompositeMapper = {\n  serializedName: \"RetentionPolicy\",\n  type: {\n    name: \"Composite\",\n    className: \"RetentionPolicy\",\n    modelProperties: {\n      enabled: {\n        serializedName: \"Enabled\",\n        required: true,\n        xmlName: \"Enabled\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      days: {\n        constraints: {\n          InclusiveMinimum: 1,\n        },\n        serializedName: \"Days\",\n        xmlName: \"Days\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Metrics: coreClient.CompositeMapper = {\n  serializedName: \"Metrics\",\n  type: {\n    name: \"Composite\",\n    className: \"Metrics\",\n    modelProperties: {\n      version: {\n        serializedName: \"Version\",\n        xmlName: \"Version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      enabled: {\n        serializedName: \"Enabled\",\n        required: true,\n        xmlName: \"Enabled\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      includeAPIs: {\n        serializedName: \"IncludeAPIs\",\n        xmlName: \"IncludeAPIs\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      retentionPolicy: {\n        serializedName: \"RetentionPolicy\",\n        xmlName: \"RetentionPolicy\",\n        type: {\n          name: \"Composite\",\n          className: \"RetentionPolicy\",\n        },\n      },\n    },\n  },\n};\n\nexport const CorsRule: coreClient.CompositeMapper = {\n  serializedName: \"CorsRule\",\n  type: {\n    name: \"Composite\",\n    className: \"CorsRule\",\n    modelProperties: {\n      allowedOrigins: {\n        serializedName: \"AllowedOrigins\",\n        required: true,\n        xmlName: \"AllowedOrigins\",\n        type: {\n          name: \"String\",\n        },\n      },\n      allowedMethods: {\n        serializedName: \"AllowedMethods\",\n        required: true,\n        xmlName: \"AllowedMethods\",\n        type: {\n          name: \"String\",\n        },\n      },\n      allowedHeaders: {\n        serializedName: \"AllowedHeaders\",\n        required: true,\n        xmlName: \"AllowedHeaders\",\n        type: {\n          name: \"String\",\n        },\n      },\n      exposedHeaders: {\n        serializedName: \"ExposedHeaders\",\n        required: true,\n        xmlName: \"ExposedHeaders\",\n        type: {\n          name: \"String\",\n        },\n      },\n      maxAgeInSeconds: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"MaxAgeInSeconds\",\n        required: true,\n        xmlName: \"MaxAgeInSeconds\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const StaticWebsite: coreClient.CompositeMapper = {\n  serializedName: \"StaticWebsite\",\n  type: {\n    name: \"Composite\",\n    className: \"StaticWebsite\",\n    modelProperties: {\n      enabled: {\n        serializedName: \"Enabled\",\n        required: true,\n        xmlName: \"Enabled\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      indexDocument: {\n        serializedName: \"IndexDocument\",\n        xmlName: \"IndexDocument\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorDocument404Path: {\n        serializedName: \"ErrorDocument404Path\",\n        xmlName: \"ErrorDocument404Path\",\n        type: {\n          name: \"String\",\n        },\n      },\n      defaultIndexDocumentPath: {\n        serializedName: \"DefaultIndexDocumentPath\",\n        xmlName: \"DefaultIndexDocumentPath\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const StorageError: coreClient.CompositeMapper = {\n  serializedName: \"StorageError\",\n  type: {\n    name: \"Composite\",\n    className: \"StorageError\",\n    modelProperties: {\n      message: {\n        serializedName: \"Message\",\n        xmlName: \"Message\",\n        type: {\n          name: \"String\",\n        },\n      },\n      code: {\n        serializedName: \"Code\",\n        xmlName: \"Code\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authenticationErrorDetail: {\n        serializedName: \"AuthenticationErrorDetail\",\n        xmlName: \"AuthenticationErrorDetail\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobServiceStatistics: coreClient.CompositeMapper = {\n  serializedName: \"BlobServiceStatistics\",\n  xmlName: \"StorageServiceStats\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobServiceStatistics\",\n    modelProperties: {\n      geoReplication: {\n        serializedName: \"GeoReplication\",\n        xmlName: \"GeoReplication\",\n        type: {\n          name: \"Composite\",\n          className: \"GeoReplication\",\n        },\n      },\n    },\n  },\n};\n\nexport const GeoReplication: coreClient.CompositeMapper = {\n  serializedName: \"GeoReplication\",\n  type: {\n    name: \"Composite\",\n    className: \"GeoReplication\",\n    modelProperties: {\n      status: {\n        serializedName: \"Status\",\n        required: true,\n        xmlName: \"Status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"live\", \"bootstrap\", \"unavailable\"],\n        },\n      },\n      lastSyncOn: {\n        serializedName: \"LastSyncTime\",\n        required: true,\n        xmlName: \"LastSyncTime\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const ListContainersSegmentResponse: coreClient.CompositeMapper = {\n  serializedName: \"ListContainersSegmentResponse\",\n  xmlName: \"EnumerationResults\",\n  type: {\n    name: \"Composite\",\n    className: \"ListContainersSegmentResponse\",\n    modelProperties: {\n      serviceEndpoint: {\n        serializedName: \"ServiceEndpoint\",\n        required: true,\n        xmlName: \"ServiceEndpoint\",\n        xmlIsAttribute: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prefix: {\n        serializedName: \"Prefix\",\n        xmlName: \"Prefix\",\n        type: {\n          name: \"String\",\n        },\n      },\n      marker: {\n        serializedName: \"Marker\",\n        xmlName: \"Marker\",\n        type: {\n          name: \"String\",\n        },\n      },\n      maxPageSize: {\n        serializedName: \"MaxResults\",\n        xmlName: \"MaxResults\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      containerItems: {\n        serializedName: \"ContainerItems\",\n        required: true,\n        xmlName: \"Containers\",\n        xmlIsWrapped: true,\n        xmlElementName: \"Container\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"ContainerItem\",\n            },\n          },\n        },\n      },\n      continuationToken: {\n        serializedName: \"NextMarker\",\n        xmlName: \"NextMarker\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerItem: coreClient.CompositeMapper = {\n  serializedName: \"ContainerItem\",\n  xmlName: \"Container\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerItem\",\n    modelProperties: {\n      name: {\n        serializedName: \"Name\",\n        required: true,\n        xmlName: \"Name\",\n        type: {\n          name: \"String\",\n        },\n      },\n      deleted: {\n        serializedName: \"Deleted\",\n        xmlName: \"Deleted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      version: {\n        serializedName: \"Version\",\n        xmlName: \"Version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      properties: {\n        serializedName: \"Properties\",\n        xmlName: \"Properties\",\n        type: {\n          name: \"Composite\",\n          className: \"ContainerProperties\",\n        },\n      },\n      metadata: {\n        serializedName: \"Metadata\",\n        xmlName: \"Metadata\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"String\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerProperties: coreClient.CompositeMapper = {\n  serializedName: \"ContainerProperties\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerProperties\",\n    modelProperties: {\n      lastModified: {\n        serializedName: \"Last-Modified\",\n        required: true,\n        xmlName: \"Last-Modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      etag: {\n        serializedName: \"Etag\",\n        required: true,\n        xmlName: \"Etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      leaseStatus: {\n        serializedName: \"LeaseStatus\",\n        xmlName: \"LeaseStatus\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"locked\", \"unlocked\"],\n        },\n      },\n      leaseState: {\n        serializedName: \"LeaseState\",\n        xmlName: \"LeaseState\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"available\",\n            \"leased\",\n            \"expired\",\n            \"breaking\",\n            \"broken\",\n          ],\n        },\n      },\n      leaseDuration: {\n        serializedName: \"LeaseDuration\",\n        xmlName: \"LeaseDuration\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"infinite\", \"fixed\"],\n        },\n      },\n      publicAccess: {\n        serializedName: \"PublicAccess\",\n        xmlName: \"PublicAccess\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"container\", \"blob\"],\n        },\n      },\n      hasImmutabilityPolicy: {\n        serializedName: \"HasImmutabilityPolicy\",\n        xmlName: \"HasImmutabilityPolicy\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      hasLegalHold: {\n        serializedName: \"HasLegalHold\",\n        xmlName: \"HasLegalHold\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      defaultEncryptionScope: {\n        serializedName: \"DefaultEncryptionScope\",\n        xmlName: \"DefaultEncryptionScope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      preventEncryptionScopeOverride: {\n        serializedName: \"DenyEncryptionScopeOverride\",\n        xmlName: \"DenyEncryptionScopeOverride\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      deletedOn: {\n        serializedName: \"DeletedTime\",\n        xmlName: \"DeletedTime\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      remainingRetentionDays: {\n        serializedName: \"RemainingRetentionDays\",\n        xmlName: \"RemainingRetentionDays\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      isImmutableStorageWithVersioningEnabled: {\n        serializedName: \"ImmutableStorageWithVersioningEnabled\",\n        xmlName: \"ImmutableStorageWithVersioningEnabled\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const KeyInfo: coreClient.CompositeMapper = {\n  serializedName: \"KeyInfo\",\n  type: {\n    name: \"Composite\",\n    className: \"KeyInfo\",\n    modelProperties: {\n      startsOn: {\n        serializedName: \"Start\",\n        required: true,\n        xmlName: \"Start\",\n        type: {\n          name: \"String\",\n        },\n      },\n      expiresOn: {\n        serializedName: \"Expiry\",\n        required: true,\n        xmlName: \"Expiry\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const UserDelegationKey: coreClient.CompositeMapper = {\n  serializedName: \"UserDelegationKey\",\n  type: {\n    name: \"Composite\",\n    className: \"UserDelegationKey\",\n    modelProperties: {\n      signedObjectId: {\n        serializedName: \"SignedOid\",\n        required: true,\n        xmlName: \"SignedOid\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signedTenantId: {\n        serializedName: \"SignedTid\",\n        required: true,\n        xmlName: \"SignedTid\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signedStartsOn: {\n        serializedName: \"SignedStart\",\n        required: true,\n        xmlName: \"SignedStart\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signedExpiresOn: {\n        serializedName: \"SignedExpiry\",\n        required: true,\n        xmlName: \"SignedExpiry\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signedService: {\n        serializedName: \"SignedService\",\n        required: true,\n        xmlName: \"SignedService\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signedVersion: {\n        serializedName: \"SignedVersion\",\n        required: true,\n        xmlName: \"SignedVersion\",\n        type: {\n          name: \"String\",\n        },\n      },\n      value: {\n        serializedName: \"Value\",\n        required: true,\n        xmlName: \"Value\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const FilterBlobSegment: coreClient.CompositeMapper = {\n  serializedName: \"FilterBlobSegment\",\n  xmlName: \"EnumerationResults\",\n  type: {\n    name: \"Composite\",\n    className: \"FilterBlobSegment\",\n    modelProperties: {\n      serviceEndpoint: {\n        serializedName: \"ServiceEndpoint\",\n        required: true,\n        xmlName: \"ServiceEndpoint\",\n        xmlIsAttribute: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      where: {\n        serializedName: \"Where\",\n        required: true,\n        xmlName: \"Where\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobs: {\n        serializedName: \"Blobs\",\n        required: true,\n        xmlName: \"Blobs\",\n        xmlIsWrapped: true,\n        xmlElementName: \"Blob\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"FilterBlobItem\",\n            },\n          },\n        },\n      },\n      continuationToken: {\n        serializedName: \"NextMarker\",\n        xmlName: \"NextMarker\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const FilterBlobItem: coreClient.CompositeMapper = {\n  serializedName: \"FilterBlobItem\",\n  xmlName: \"Blob\",\n  type: {\n    name: \"Composite\",\n    className: \"FilterBlobItem\",\n    modelProperties: {\n      name: {\n        serializedName: \"Name\",\n        required: true,\n        xmlName: \"Name\",\n        type: {\n          name: \"String\",\n        },\n      },\n      containerName: {\n        serializedName: \"ContainerName\",\n        required: true,\n        xmlName: \"ContainerName\",\n        type: {\n          name: \"String\",\n        },\n      },\n      tags: {\n        serializedName: \"Tags\",\n        xmlName: \"Tags\",\n        type: {\n          name: \"Composite\",\n          className: \"BlobTags\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobTags: coreClient.CompositeMapper = {\n  serializedName: \"BlobTags\",\n  xmlName: \"Tags\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobTags\",\n    modelProperties: {\n      blobTagSet: {\n        serializedName: \"BlobTagSet\",\n        required: true,\n        xmlName: \"TagSet\",\n        xmlIsWrapped: true,\n        xmlElementName: \"Tag\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"BlobTag\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const BlobTag: coreClient.CompositeMapper = {\n  serializedName: \"BlobTag\",\n  xmlName: \"Tag\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobTag\",\n    modelProperties: {\n      key: {\n        serializedName: \"Key\",\n        required: true,\n        xmlName: \"Key\",\n        type: {\n          name: \"String\",\n        },\n      },\n      value: {\n        serializedName: \"Value\",\n        required: true,\n        xmlName: \"Value\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const SignedIdentifier: coreClient.CompositeMapper = {\n  serializedName: \"SignedIdentifier\",\n  xmlName: \"SignedIdentifier\",\n  type: {\n    name: \"Composite\",\n    className: \"SignedIdentifier\",\n    modelProperties: {\n      id: {\n        serializedName: \"Id\",\n        required: true,\n        xmlName: \"Id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      accessPolicy: {\n        serializedName: \"AccessPolicy\",\n        xmlName: \"AccessPolicy\",\n        type: {\n          name: \"Composite\",\n          className: \"AccessPolicy\",\n        },\n      },\n    },\n  },\n};\n\nexport const AccessPolicy: coreClient.CompositeMapper = {\n  serializedName: \"AccessPolicy\",\n  type: {\n    name: \"Composite\",\n    className: \"AccessPolicy\",\n    modelProperties: {\n      startsOn: {\n        serializedName: \"Start\",\n        xmlName: \"Start\",\n        type: {\n          name: \"String\",\n        },\n      },\n      expiresOn: {\n        serializedName: \"Expiry\",\n        xmlName: \"Expiry\",\n        type: {\n          name: \"String\",\n        },\n      },\n      permissions: {\n        serializedName: \"Permission\",\n        xmlName: \"Permission\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ListBlobsFlatSegmentResponse: coreClient.CompositeMapper = {\n  serializedName: \"ListBlobsFlatSegmentResponse\",\n  xmlName: \"EnumerationResults\",\n  type: {\n    name: \"Composite\",\n    className: \"ListBlobsFlatSegmentResponse\",\n    modelProperties: {\n      serviceEndpoint: {\n        serializedName: \"ServiceEndpoint\",\n        required: true,\n        xmlName: \"ServiceEndpoint\",\n        xmlIsAttribute: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      containerName: {\n        serializedName: \"ContainerName\",\n        required: true,\n        xmlName: \"ContainerName\",\n        xmlIsAttribute: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prefix: {\n        serializedName: \"Prefix\",\n        xmlName: \"Prefix\",\n        type: {\n          name: \"String\",\n        },\n      },\n      marker: {\n        serializedName: \"Marker\",\n        xmlName: \"Marker\",\n        type: {\n          name: \"String\",\n        },\n      },\n      maxPageSize: {\n        serializedName: \"MaxResults\",\n        xmlName: \"MaxResults\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      segment: {\n        serializedName: \"Segment\",\n        xmlName: \"Blobs\",\n        type: {\n          name: \"Composite\",\n          className: \"BlobFlatListSegment\",\n        },\n      },\n      continuationToken: {\n        serializedName: \"NextMarker\",\n        xmlName: \"NextMarker\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobFlatListSegment: coreClient.CompositeMapper = {\n  serializedName: \"BlobFlatListSegment\",\n  xmlName: \"Blobs\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobFlatListSegment\",\n    modelProperties: {\n      blobItems: {\n        serializedName: \"BlobItems\",\n        required: true,\n        xmlName: \"BlobItems\",\n        xmlElementName: \"Blob\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"BlobItemInternal\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const BlobItemInternal: coreClient.CompositeMapper = {\n  serializedName: \"BlobItemInternal\",\n  xmlName: \"Blob\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobItemInternal\",\n    modelProperties: {\n      name: {\n        serializedName: \"Name\",\n        xmlName: \"Name\",\n        type: {\n          name: \"Composite\",\n          className: \"BlobName\",\n        },\n      },\n      deleted: {\n        serializedName: \"Deleted\",\n        required: true,\n        xmlName: \"Deleted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      snapshot: {\n        serializedName: \"Snapshot\",\n        required: true,\n        xmlName: \"Snapshot\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"VersionId\",\n        xmlName: \"VersionId\",\n        type: {\n          name: \"String\",\n        },\n      },\n      isCurrentVersion: {\n        serializedName: \"IsCurrentVersion\",\n        xmlName: \"IsCurrentVersion\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      properties: {\n        serializedName: \"Properties\",\n        xmlName: \"Properties\",\n        type: {\n          name: \"Composite\",\n          className: \"BlobPropertiesInternal\",\n        },\n      },\n      metadata: {\n        serializedName: \"Metadata\",\n        xmlName: \"Metadata\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"String\" } },\n        },\n      },\n      blobTags: {\n        serializedName: \"BlobTags\",\n        xmlName: \"Tags\",\n        type: {\n          name: \"Composite\",\n          className: \"BlobTags\",\n        },\n      },\n      objectReplicationMetadata: {\n        serializedName: \"ObjectReplicationMetadata\",\n        xmlName: \"OrMetadata\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"String\" } },\n        },\n      },\n      hasVersionsOnly: {\n        serializedName: \"HasVersionsOnly\",\n        xmlName: \"HasVersionsOnly\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobName: coreClient.CompositeMapper = {\n  serializedName: \"BlobName\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobName\",\n    modelProperties: {\n      encoded: {\n        serializedName: \"Encoded\",\n        xmlName: \"Encoded\",\n        xmlIsAttribute: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      content: {\n        serializedName: \"content\",\n        xmlName: \"content\",\n        xmlIsMsText: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobPropertiesInternal: coreClient.CompositeMapper = {\n  serializedName: \"BlobPropertiesInternal\",\n  xmlName: \"Properties\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobPropertiesInternal\",\n    modelProperties: {\n      createdOn: {\n        serializedName: \"Creation-Time\",\n        xmlName: \"Creation-Time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      lastModified: {\n        serializedName: \"Last-Modified\",\n        required: true,\n        xmlName: \"Last-Modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      etag: {\n        serializedName: \"Etag\",\n        required: true,\n        xmlName: \"Etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentLength: {\n        serializedName: \"Content-Length\",\n        xmlName: \"Content-Length\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contentType: {\n        serializedName: \"Content-Type\",\n        xmlName: \"Content-Type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentEncoding: {\n        serializedName: \"Content-Encoding\",\n        xmlName: \"Content-Encoding\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentLanguage: {\n        serializedName: \"Content-Language\",\n        xmlName: \"Content-Language\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"Content-MD5\",\n        xmlName: \"Content-MD5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      contentDisposition: {\n        serializedName: \"Content-Disposition\",\n        xmlName: \"Content-Disposition\",\n        type: {\n          name: \"String\",\n        },\n      },\n      cacheControl: {\n        serializedName: \"Cache-Control\",\n        xmlName: \"Cache-Control\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      blobType: {\n        serializedName: \"BlobType\",\n        xmlName: \"BlobType\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"BlockBlob\", \"PageBlob\", \"AppendBlob\"],\n        },\n      },\n      leaseStatus: {\n        serializedName: \"LeaseStatus\",\n        xmlName: \"LeaseStatus\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"locked\", \"unlocked\"],\n        },\n      },\n      leaseState: {\n        serializedName: \"LeaseState\",\n        xmlName: \"LeaseState\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"available\",\n            \"leased\",\n            \"expired\",\n            \"breaking\",\n            \"broken\",\n          ],\n        },\n      },\n      leaseDuration: {\n        serializedName: \"LeaseDuration\",\n        xmlName: \"LeaseDuration\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"infinite\", \"fixed\"],\n        },\n      },\n      copyId: {\n        serializedName: \"CopyId\",\n        xmlName: \"CopyId\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyStatus: {\n        serializedName: \"CopyStatus\",\n        xmlName: \"CopyStatus\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"pending\", \"success\", \"aborted\", \"failed\"],\n        },\n      },\n      copySource: {\n        serializedName: \"CopySource\",\n        xmlName: \"CopySource\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyProgress: {\n        serializedName: \"CopyProgress\",\n        xmlName: \"CopyProgress\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyCompletedOn: {\n        serializedName: \"CopyCompletionTime\",\n        xmlName: \"CopyCompletionTime\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      copyStatusDescription: {\n        serializedName: \"CopyStatusDescription\",\n        xmlName: \"CopyStatusDescription\",\n        type: {\n          name: \"String\",\n        },\n      },\n      serverEncrypted: {\n        serializedName: \"ServerEncrypted\",\n        xmlName: \"ServerEncrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      incrementalCopy: {\n        serializedName: \"IncrementalCopy\",\n        xmlName: \"IncrementalCopy\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      destinationSnapshot: {\n        serializedName: \"DestinationSnapshot\",\n        xmlName: \"DestinationSnapshot\",\n        type: {\n          name: \"String\",\n        },\n      },\n      deletedOn: {\n        serializedName: \"DeletedTime\",\n        xmlName: \"DeletedTime\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      remainingRetentionDays: {\n        serializedName: \"RemainingRetentionDays\",\n        xmlName: \"RemainingRetentionDays\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accessTier: {\n        serializedName: \"AccessTier\",\n        xmlName: \"AccessTier\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"P4\",\n            \"P6\",\n            \"P10\",\n            \"P15\",\n            \"P20\",\n            \"P30\",\n            \"P40\",\n            \"P50\",\n            \"P60\",\n            \"P70\",\n            \"P80\",\n            \"Hot\",\n            \"Cool\",\n            \"Archive\",\n            \"Cold\",\n          ],\n        },\n      },\n      accessTierInferred: {\n        serializedName: \"AccessTierInferred\",\n        xmlName: \"AccessTierInferred\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      archiveStatus: {\n        serializedName: \"ArchiveStatus\",\n        xmlName: \"ArchiveStatus\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"rehydrate-pending-to-hot\",\n            \"rehydrate-pending-to-cool\",\n            \"rehydrate-pending-to-cold\",\n          ],\n        },\n      },\n      customerProvidedKeySha256: {\n        serializedName: \"CustomerProvidedKeySha256\",\n        xmlName: \"CustomerProvidedKeySha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"EncryptionScope\",\n        xmlName: \"EncryptionScope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      accessTierChangedOn: {\n        serializedName: \"AccessTierChangeTime\",\n        xmlName: \"AccessTierChangeTime\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      tagCount: {\n        serializedName: \"TagCount\",\n        xmlName: \"TagCount\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      expiresOn: {\n        serializedName: \"Expiry-Time\",\n        xmlName: \"Expiry-Time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isSealed: {\n        serializedName: \"Sealed\",\n        xmlName: \"Sealed\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      rehydratePriority: {\n        serializedName: \"RehydratePriority\",\n        xmlName: \"RehydratePriority\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"High\", \"Standard\"],\n        },\n      },\n      lastAccessedOn: {\n        serializedName: \"LastAccessTime\",\n        xmlName: \"LastAccessTime\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      immutabilityPolicyExpiresOn: {\n        serializedName: \"ImmutabilityPolicyUntilDate\",\n        xmlName: \"ImmutabilityPolicyUntilDate\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      immutabilityPolicyMode: {\n        serializedName: \"ImmutabilityPolicyMode\",\n        xmlName: \"ImmutabilityPolicyMode\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"Mutable\", \"Unlocked\", \"Locked\"],\n        },\n      },\n      legalHold: {\n        serializedName: \"LegalHold\",\n        xmlName: \"LegalHold\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const ListBlobsHierarchySegmentResponse: coreClient.CompositeMapper = {\n  serializedName: \"ListBlobsHierarchySegmentResponse\",\n  xmlName: \"EnumerationResults\",\n  type: {\n    name: \"Composite\",\n    className: \"ListBlobsHierarchySegmentResponse\",\n    modelProperties: {\n      serviceEndpoint: {\n        serializedName: \"ServiceEndpoint\",\n        required: true,\n        xmlName: \"ServiceEndpoint\",\n        xmlIsAttribute: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      containerName: {\n        serializedName: \"ContainerName\",\n        required: true,\n        xmlName: \"ContainerName\",\n        xmlIsAttribute: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prefix: {\n        serializedName: \"Prefix\",\n        xmlName: \"Prefix\",\n        type: {\n          name: \"String\",\n        },\n      },\n      marker: {\n        serializedName: \"Marker\",\n        xmlName: \"Marker\",\n        type: {\n          name: \"String\",\n        },\n      },\n      maxPageSize: {\n        serializedName: \"MaxResults\",\n        xmlName: \"MaxResults\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      delimiter: {\n        serializedName: \"Delimiter\",\n        xmlName: \"Delimiter\",\n        type: {\n          name: \"String\",\n        },\n      },\n      segment: {\n        serializedName: \"Segment\",\n        xmlName: \"Blobs\",\n        type: {\n          name: \"Composite\",\n          className: \"BlobHierarchyListSegment\",\n        },\n      },\n      continuationToken: {\n        serializedName: \"NextMarker\",\n        xmlName: \"NextMarker\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobHierarchyListSegment: coreClient.CompositeMapper = {\n  serializedName: \"BlobHierarchyListSegment\",\n  xmlName: \"Blobs\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobHierarchyListSegment\",\n    modelProperties: {\n      blobPrefixes: {\n        serializedName: \"BlobPrefixes\",\n        xmlName: \"BlobPrefixes\",\n        xmlElementName: \"BlobPrefix\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"BlobPrefix\",\n            },\n          },\n        },\n      },\n      blobItems: {\n        serializedName: \"BlobItems\",\n        required: true,\n        xmlName: \"BlobItems\",\n        xmlElementName: \"Blob\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"BlobItemInternal\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const BlobPrefix: coreClient.CompositeMapper = {\n  serializedName: \"BlobPrefix\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobPrefix\",\n    modelProperties: {\n      name: {\n        serializedName: \"Name\",\n        xmlName: \"Name\",\n        type: {\n          name: \"Composite\",\n          className: \"BlobName\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlockLookupList: coreClient.CompositeMapper = {\n  serializedName: \"BlockLookupList\",\n  xmlName: \"BlockList\",\n  type: {\n    name: \"Composite\",\n    className: \"BlockLookupList\",\n    modelProperties: {\n      committed: {\n        serializedName: \"Committed\",\n        xmlName: \"Committed\",\n        xmlElementName: \"Committed\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      uncommitted: {\n        serializedName: \"Uncommitted\",\n        xmlName: \"Uncommitted\",\n        xmlElementName: \"Uncommitted\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      latest: {\n        serializedName: \"Latest\",\n        xmlName: \"Latest\",\n        xmlElementName: \"Latest\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const BlockList: coreClient.CompositeMapper = {\n  serializedName: \"BlockList\",\n  type: {\n    name: \"Composite\",\n    className: \"BlockList\",\n    modelProperties: {\n      committedBlocks: {\n        serializedName: \"CommittedBlocks\",\n        xmlName: \"CommittedBlocks\",\n        xmlIsWrapped: true,\n        xmlElementName: \"Block\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"Block\",\n            },\n          },\n        },\n      },\n      uncommittedBlocks: {\n        serializedName: \"UncommittedBlocks\",\n        xmlName: \"UncommittedBlocks\",\n        xmlIsWrapped: true,\n        xmlElementName: \"Block\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"Block\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const Block: coreClient.CompositeMapper = {\n  serializedName: \"Block\",\n  type: {\n    name: \"Composite\",\n    className: \"Block\",\n    modelProperties: {\n      name: {\n        serializedName: \"Name\",\n        required: true,\n        xmlName: \"Name\",\n        type: {\n          name: \"String\",\n        },\n      },\n      size: {\n        serializedName: \"Size\",\n        required: true,\n        xmlName: \"Size\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageList: coreClient.CompositeMapper = {\n  serializedName: \"PageList\",\n  type: {\n    name: \"Composite\",\n    className: \"PageList\",\n    modelProperties: {\n      pageRange: {\n        serializedName: \"PageRange\",\n        xmlName: \"PageRange\",\n        xmlElementName: \"PageRange\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"PageRange\",\n            },\n          },\n        },\n      },\n      clearRange: {\n        serializedName: \"ClearRange\",\n        xmlName: \"ClearRange\",\n        xmlElementName: \"ClearRange\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"ClearRange\",\n            },\n          },\n        },\n      },\n      continuationToken: {\n        serializedName: \"NextMarker\",\n        xmlName: \"NextMarker\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageRange: coreClient.CompositeMapper = {\n  serializedName: \"PageRange\",\n  xmlName: \"PageRange\",\n  type: {\n    name: \"Composite\",\n    className: \"PageRange\",\n    modelProperties: {\n      start: {\n        serializedName: \"Start\",\n        required: true,\n        xmlName: \"Start\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      end: {\n        serializedName: \"End\",\n        required: true,\n        xmlName: \"End\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ClearRange: coreClient.CompositeMapper = {\n  serializedName: \"ClearRange\",\n  xmlName: \"ClearRange\",\n  type: {\n    name: \"Composite\",\n    className: \"ClearRange\",\n    modelProperties: {\n      start: {\n        serializedName: \"Start\",\n        required: true,\n        xmlName: \"Start\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      end: {\n        serializedName: \"End\",\n        required: true,\n        xmlName: \"End\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const QueryRequest: coreClient.CompositeMapper = {\n  serializedName: \"QueryRequest\",\n  xmlName: \"QueryRequest\",\n  type: {\n    name: \"Composite\",\n    className: \"QueryRequest\",\n    modelProperties: {\n      queryType: {\n        serializedName: \"QueryType\",\n        required: true,\n        xmlName: \"QueryType\",\n        type: {\n          name: \"String\",\n        },\n      },\n      expression: {\n        serializedName: \"Expression\",\n        required: true,\n        xmlName: \"Expression\",\n        type: {\n          name: \"String\",\n        },\n      },\n      inputSerialization: {\n        serializedName: \"InputSerialization\",\n        xmlName: \"InputSerialization\",\n        type: {\n          name: \"Composite\",\n          className: \"QuerySerialization\",\n        },\n      },\n      outputSerialization: {\n        serializedName: \"OutputSerialization\",\n        xmlName: \"OutputSerialization\",\n        type: {\n          name: \"Composite\",\n          className: \"QuerySerialization\",\n        },\n      },\n    },\n  },\n};\n\nexport const QuerySerialization: coreClient.CompositeMapper = {\n  serializedName: \"QuerySerialization\",\n  type: {\n    name: \"Composite\",\n    className: \"QuerySerialization\",\n    modelProperties: {\n      format: {\n        serializedName: \"Format\",\n        xmlName: \"Format\",\n        type: {\n          name: \"Composite\",\n          className: \"QueryFormat\",\n        },\n      },\n    },\n  },\n};\n\nexport const QueryFormat: coreClient.CompositeMapper = {\n  serializedName: \"QueryFormat\",\n  type: {\n    name: \"Composite\",\n    className: \"QueryFormat\",\n    modelProperties: {\n      type: {\n        serializedName: \"Type\",\n        required: true,\n        xmlName: \"Type\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"delimited\", \"json\", \"arrow\", \"parquet\"],\n        },\n      },\n      delimitedTextConfiguration: {\n        serializedName: \"DelimitedTextConfiguration\",\n        xmlName: \"DelimitedTextConfiguration\",\n        type: {\n          name: \"Composite\",\n          className: \"DelimitedTextConfiguration\",\n        },\n      },\n      jsonTextConfiguration: {\n        serializedName: \"JsonTextConfiguration\",\n        xmlName: \"JsonTextConfiguration\",\n        type: {\n          name: \"Composite\",\n          className: \"JsonTextConfiguration\",\n        },\n      },\n      arrowConfiguration: {\n        serializedName: \"ArrowConfiguration\",\n        xmlName: \"ArrowConfiguration\",\n        type: {\n          name: \"Composite\",\n          className: \"ArrowConfiguration\",\n        },\n      },\n      parquetTextConfiguration: {\n        serializedName: \"ParquetTextConfiguration\",\n        xmlName: \"ParquetTextConfiguration\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const DelimitedTextConfiguration: coreClient.CompositeMapper = {\n  serializedName: \"DelimitedTextConfiguration\",\n  xmlName: \"DelimitedTextConfiguration\",\n  type: {\n    name: \"Composite\",\n    className: \"DelimitedTextConfiguration\",\n    modelProperties: {\n      columnSeparator: {\n        serializedName: \"ColumnSeparator\",\n        xmlName: \"ColumnSeparator\",\n        type: {\n          name: \"String\",\n        },\n      },\n      fieldQuote: {\n        serializedName: \"FieldQuote\",\n        xmlName: \"FieldQuote\",\n        type: {\n          name: \"String\",\n        },\n      },\n      recordSeparator: {\n        serializedName: \"RecordSeparator\",\n        xmlName: \"RecordSeparator\",\n        type: {\n          name: \"String\",\n        },\n      },\n      escapeChar: {\n        serializedName: \"EscapeChar\",\n        xmlName: \"EscapeChar\",\n        type: {\n          name: \"String\",\n        },\n      },\n      headersPresent: {\n        serializedName: \"HeadersPresent\",\n        xmlName: \"HasHeaders\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const JsonTextConfiguration: coreClient.CompositeMapper = {\n  serializedName: \"JsonTextConfiguration\",\n  xmlName: \"JsonTextConfiguration\",\n  type: {\n    name: \"Composite\",\n    className: \"JsonTextConfiguration\",\n    modelProperties: {\n      recordSeparator: {\n        serializedName: \"RecordSeparator\",\n        xmlName: \"RecordSeparator\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ArrowConfiguration: coreClient.CompositeMapper = {\n  serializedName: \"ArrowConfiguration\",\n  xmlName: \"ArrowConfiguration\",\n  type: {\n    name: \"Composite\",\n    className: \"ArrowConfiguration\",\n    modelProperties: {\n      schema: {\n        serializedName: \"Schema\",\n        required: true,\n        xmlName: \"Schema\",\n        xmlIsWrapped: true,\n        xmlElementName: \"Field\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"ArrowField\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const ArrowField: coreClient.CompositeMapper = {\n  serializedName: \"ArrowField\",\n  xmlName: \"Field\",\n  type: {\n    name: \"Composite\",\n    className: \"ArrowField\",\n    modelProperties: {\n      type: {\n        serializedName: \"Type\",\n        required: true,\n        xmlName: \"Type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      name: {\n        serializedName: \"Name\",\n        xmlName: \"Name\",\n        type: {\n          name: \"String\",\n        },\n      },\n      precision: {\n        serializedName: \"Precision\",\n        xmlName: \"Precision\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      scale: {\n        serializedName: \"Scale\",\n        xmlName: \"Scale\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceSetPropertiesHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_setPropertiesHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceSetPropertiesHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceSetPropertiesExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Service_setPropertiesExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ServiceSetPropertiesExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ServiceGetPropertiesHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_getPropertiesHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceGetPropertiesHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceGetPropertiesExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Service_getPropertiesExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ServiceGetPropertiesExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ServiceGetStatisticsHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_getStatisticsHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceGetStatisticsHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceGetStatisticsExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Service_getStatisticsExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ServiceGetStatisticsExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ServiceListContainersSegmentHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_listContainersSegmentHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceListContainersSegmentHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceListContainersSegmentExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Service_listContainersSegmentExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ServiceListContainersSegmentExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ServiceGetUserDelegationKeyHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_getUserDelegationKeyHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceGetUserDelegationKeyHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceGetUserDelegationKeyExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Service_getUserDelegationKeyExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ServiceGetUserDelegationKeyExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ServiceGetAccountInfoHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_getAccountInfoHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceGetAccountInfoHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      skuName: {\n        serializedName: \"x-ms-sku-name\",\n        xmlName: \"x-ms-sku-name\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"Standard_LRS\",\n            \"Standard_GRS\",\n            \"Standard_RAGRS\",\n            \"Standard_ZRS\",\n            \"Premium_LRS\",\n          ],\n        },\n      },\n      accountKind: {\n        serializedName: \"x-ms-account-kind\",\n        xmlName: \"x-ms-account-kind\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"Storage\",\n            \"BlobStorage\",\n            \"StorageV2\",\n            \"FileStorage\",\n            \"BlockBlobStorage\",\n          ],\n        },\n      },\n      isHierarchicalNamespaceEnabled: {\n        serializedName: \"x-ms-is-hns-enabled\",\n        xmlName: \"x-ms-is-hns-enabled\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceGetAccountInfoExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Service_getAccountInfoExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ServiceGetAccountInfoExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ServiceSubmitBatchHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_submitBatchHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceSubmitBatchHeaders\",\n    modelProperties: {\n      contentType: {\n        serializedName: \"content-type\",\n        xmlName: \"content-type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceSubmitBatchExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_submitBatchExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceSubmitBatchExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceFilterBlobsHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_filterBlobsHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceFilterBlobsHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ServiceFilterBlobsExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Service_filterBlobsExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ServiceFilterBlobsExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerCreateHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_createHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerCreateHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerCreateExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_createExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerCreateExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerGetPropertiesHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_getPropertiesHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerGetPropertiesHeaders\",\n    modelProperties: {\n      metadata: {\n        serializedName: \"x-ms-meta\",\n        headerCollectionPrefix: \"x-ms-meta-\",\n        xmlName: \"x-ms-meta\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"String\" } },\n        },\n      },\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      leaseDuration: {\n        serializedName: \"x-ms-lease-duration\",\n        xmlName: \"x-ms-lease-duration\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"infinite\", \"fixed\"],\n        },\n      },\n      leaseState: {\n        serializedName: \"x-ms-lease-state\",\n        xmlName: \"x-ms-lease-state\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"available\",\n            \"leased\",\n            \"expired\",\n            \"breaking\",\n            \"broken\",\n          ],\n        },\n      },\n      leaseStatus: {\n        serializedName: \"x-ms-lease-status\",\n        xmlName: \"x-ms-lease-status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"locked\", \"unlocked\"],\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      blobPublicAccess: {\n        serializedName: \"x-ms-blob-public-access\",\n        xmlName: \"x-ms-blob-public-access\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"container\", \"blob\"],\n        },\n      },\n      hasImmutabilityPolicy: {\n        serializedName: \"x-ms-has-immutability-policy\",\n        xmlName: \"x-ms-has-immutability-policy\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      hasLegalHold: {\n        serializedName: \"x-ms-has-legal-hold\",\n        xmlName: \"x-ms-has-legal-hold\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      defaultEncryptionScope: {\n        serializedName: \"x-ms-default-encryption-scope\",\n        xmlName: \"x-ms-default-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      denyEncryptionScopeOverride: {\n        serializedName: \"x-ms-deny-encryption-scope-override\",\n        xmlName: \"x-ms-deny-encryption-scope-override\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      isImmutableStorageWithVersioningEnabled: {\n        serializedName: \"x-ms-immutable-storage-with-versioning-enabled\",\n        xmlName: \"x-ms-immutable-storage-with-versioning-enabled\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerGetPropertiesExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_getPropertiesExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerGetPropertiesExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerDeleteHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_deleteHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerDeleteHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerDeleteExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_deleteExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerDeleteExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerSetMetadataHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_setMetadataHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerSetMetadataHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerSetMetadataExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_setMetadataExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerSetMetadataExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerGetAccessPolicyHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_getAccessPolicyHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerGetAccessPolicyHeaders\",\n    modelProperties: {\n      blobPublicAccess: {\n        serializedName: \"x-ms-blob-public-access\",\n        xmlName: \"x-ms-blob-public-access\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"container\", \"blob\"],\n        },\n      },\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerGetAccessPolicyExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_getAccessPolicyExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerGetAccessPolicyExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerSetAccessPolicyHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_setAccessPolicyHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerSetAccessPolicyHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerSetAccessPolicyExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_setAccessPolicyExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerSetAccessPolicyExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerRestoreHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_restoreHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerRestoreHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerRestoreExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_restoreExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerRestoreExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerRenameHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_renameHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerRenameHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerRenameExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_renameExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerRenameExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerSubmitBatchHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_submitBatchHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerSubmitBatchHeaders\",\n    modelProperties: {\n      contentType: {\n        serializedName: \"content-type\",\n        xmlName: \"content-type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerSubmitBatchExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_submitBatchExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerSubmitBatchExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerFilterBlobsHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_filterBlobsHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerFilterBlobsHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerFilterBlobsExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_filterBlobsExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerFilterBlobsExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerAcquireLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_acquireLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerAcquireLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      leaseId: {\n        serializedName: \"x-ms-lease-id\",\n        xmlName: \"x-ms-lease-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerAcquireLeaseExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_acquireLeaseExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerAcquireLeaseExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerReleaseLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_releaseLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerReleaseLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerReleaseLeaseExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_releaseLeaseExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerReleaseLeaseExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerRenewLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_renewLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerRenewLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      leaseId: {\n        serializedName: \"x-ms-lease-id\",\n        xmlName: \"x-ms-lease-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerRenewLeaseExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_renewLeaseExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerRenewLeaseExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerBreakLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_breakLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerBreakLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      leaseTime: {\n        serializedName: \"x-ms-lease-time\",\n        xmlName: \"x-ms-lease-time\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerBreakLeaseExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_breakLeaseExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerBreakLeaseExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerChangeLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_changeLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerChangeLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      leaseId: {\n        serializedName: \"x-ms-lease-id\",\n        xmlName: \"x-ms-lease-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerChangeLeaseExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_changeLeaseExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerChangeLeaseExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerListBlobFlatSegmentHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_listBlobFlatSegmentHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerListBlobFlatSegmentHeaders\",\n    modelProperties: {\n      contentType: {\n        serializedName: \"content-type\",\n        xmlName: \"content-type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerListBlobFlatSegmentExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_listBlobFlatSegmentExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerListBlobFlatSegmentExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerListBlobHierarchySegmentHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_listBlobHierarchySegmentHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerListBlobHierarchySegmentHeaders\",\n      modelProperties: {\n        contentType: {\n          serializedName: \"content-type\",\n          xmlName: \"content-type\",\n          type: {\n            name: \"String\",\n          },\n        },\n        clientRequestId: {\n          serializedName: \"x-ms-client-request-id\",\n          xmlName: \"x-ms-client-request-id\",\n          type: {\n            name: \"String\",\n          },\n        },\n        requestId: {\n          serializedName: \"x-ms-request-id\",\n          xmlName: \"x-ms-request-id\",\n          type: {\n            name: \"String\",\n          },\n        },\n        version: {\n          serializedName: \"x-ms-version\",\n          xmlName: \"x-ms-version\",\n          type: {\n            name: \"String\",\n          },\n        },\n        date: {\n          serializedName: \"date\",\n          xmlName: \"date\",\n          type: {\n            name: \"DateTimeRfc1123\",\n          },\n        },\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerListBlobHierarchySegmentExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_listBlobHierarchySegmentExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerListBlobHierarchySegmentExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const ContainerGetAccountInfoHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Container_getAccountInfoHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"ContainerGetAccountInfoHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      skuName: {\n        serializedName: \"x-ms-sku-name\",\n        xmlName: \"x-ms-sku-name\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"Standard_LRS\",\n            \"Standard_GRS\",\n            \"Standard_RAGRS\",\n            \"Standard_ZRS\",\n            \"Premium_LRS\",\n          ],\n        },\n      },\n      accountKind: {\n        serializedName: \"x-ms-account-kind\",\n        xmlName: \"x-ms-account-kind\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"Storage\",\n            \"BlobStorage\",\n            \"StorageV2\",\n            \"FileStorage\",\n            \"BlockBlobStorage\",\n          ],\n        },\n      },\n      isHierarchicalNamespaceEnabled: {\n        serializedName: \"x-ms-is-hns-enabled\",\n        xmlName: \"x-ms-is-hns-enabled\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContainerGetAccountInfoExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Container_getAccountInfoExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"ContainerGetAccountInfoExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const BlobDownloadHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_downloadHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobDownloadHeaders\",\n    modelProperties: {\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      createdOn: {\n        serializedName: \"x-ms-creation-time\",\n        xmlName: \"x-ms-creation-time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      metadata: {\n        serializedName: \"x-ms-meta\",\n        headerCollectionPrefix: \"x-ms-meta-\",\n        xmlName: \"x-ms-meta\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"String\" } },\n        },\n      },\n      objectReplicationPolicyId: {\n        serializedName: \"x-ms-or-policy-id\",\n        xmlName: \"x-ms-or-policy-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      objectReplicationRules: {\n        serializedName: \"x-ms-or\",\n        headerCollectionPrefix: \"x-ms-or-\",\n        xmlName: \"x-ms-or\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"String\" } },\n        },\n      },\n      contentLength: {\n        serializedName: \"content-length\",\n        xmlName: \"content-length\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contentType: {\n        serializedName: \"content-type\",\n        xmlName: \"content-type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentRange: {\n        serializedName: \"content-range\",\n        xmlName: \"content-range\",\n        type: {\n          name: \"String\",\n        },\n      },\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      contentEncoding: {\n        serializedName: \"content-encoding\",\n        xmlName: \"content-encoding\",\n        type: {\n          name: \"String\",\n        },\n      },\n      cacheControl: {\n        serializedName: \"cache-control\",\n        xmlName: \"cache-control\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentDisposition: {\n        serializedName: \"content-disposition\",\n        xmlName: \"content-disposition\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentLanguage: {\n        serializedName: \"content-language\",\n        xmlName: \"content-language\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      blobType: {\n        serializedName: \"x-ms-blob-type\",\n        xmlName: \"x-ms-blob-type\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"BlockBlob\", \"PageBlob\", \"AppendBlob\"],\n        },\n      },\n      copyCompletedOn: {\n        serializedName: \"x-ms-copy-completion-time\",\n        xmlName: \"x-ms-copy-completion-time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      copyStatusDescription: {\n        serializedName: \"x-ms-copy-status-description\",\n        xmlName: \"x-ms-copy-status-description\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyId: {\n        serializedName: \"x-ms-copy-id\",\n        xmlName: \"x-ms-copy-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyProgress: {\n        serializedName: \"x-ms-copy-progress\",\n        xmlName: \"x-ms-copy-progress\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copySource: {\n        serializedName: \"x-ms-copy-source\",\n        xmlName: \"x-ms-copy-source\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyStatus: {\n        serializedName: \"x-ms-copy-status\",\n        xmlName: \"x-ms-copy-status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"pending\", \"success\", \"aborted\", \"failed\"],\n        },\n      },\n      leaseDuration: {\n        serializedName: \"x-ms-lease-duration\",\n        xmlName: \"x-ms-lease-duration\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"infinite\", \"fixed\"],\n        },\n      },\n      leaseState: {\n        serializedName: \"x-ms-lease-state\",\n        xmlName: \"x-ms-lease-state\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"available\",\n            \"leased\",\n            \"expired\",\n            \"breaking\",\n            \"broken\",\n          ],\n        },\n      },\n      leaseStatus: {\n        serializedName: \"x-ms-lease-status\",\n        xmlName: \"x-ms-lease-status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"locked\", \"unlocked\"],\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      isCurrentVersion: {\n        serializedName: \"x-ms-is-current-version\",\n        xmlName: \"x-ms-is-current-version\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      acceptRanges: {\n        serializedName: \"accept-ranges\",\n        xmlName: \"accept-ranges\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      blobCommittedBlockCount: {\n        serializedName: \"x-ms-blob-committed-block-count\",\n        xmlName: \"x-ms-blob-committed-block-count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-server-encrypted\",\n        xmlName: \"x-ms-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobContentMD5: {\n        serializedName: \"x-ms-blob-content-md5\",\n        xmlName: \"x-ms-blob-content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      tagCount: {\n        serializedName: \"x-ms-tag-count\",\n        xmlName: \"x-ms-tag-count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      isSealed: {\n        serializedName: \"x-ms-blob-sealed\",\n        xmlName: \"x-ms-blob-sealed\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      lastAccessed: {\n        serializedName: \"x-ms-last-access-time\",\n        xmlName: \"x-ms-last-access-time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      immutabilityPolicyExpiresOn: {\n        serializedName: \"x-ms-immutability-policy-until-date\",\n        xmlName: \"x-ms-immutability-policy-until-date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      immutabilityPolicyMode: {\n        serializedName: \"x-ms-immutability-policy-mode\",\n        xmlName: \"x-ms-immutability-policy-mode\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"Mutable\", \"Unlocked\", \"Locked\"],\n        },\n      },\n      legalHold: {\n        serializedName: \"x-ms-legal-hold\",\n        xmlName: \"x-ms-legal-hold\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentCrc64: {\n        serializedName: \"x-ms-content-crc64\",\n        xmlName: \"x-ms-content-crc64\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobDownloadExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_downloadExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobDownloadExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobGetPropertiesHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_getPropertiesHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobGetPropertiesHeaders\",\n    modelProperties: {\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      createdOn: {\n        serializedName: \"x-ms-creation-time\",\n        xmlName: \"x-ms-creation-time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      metadata: {\n        serializedName: \"x-ms-meta\",\n        headerCollectionPrefix: \"x-ms-meta-\",\n        xmlName: \"x-ms-meta\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"String\" } },\n        },\n      },\n      objectReplicationPolicyId: {\n        serializedName: \"x-ms-or-policy-id\",\n        xmlName: \"x-ms-or-policy-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      objectReplicationRules: {\n        serializedName: \"x-ms-or\",\n        headerCollectionPrefix: \"x-ms-or-\",\n        xmlName: \"x-ms-or\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"String\" } },\n        },\n      },\n      blobType: {\n        serializedName: \"x-ms-blob-type\",\n        xmlName: \"x-ms-blob-type\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"BlockBlob\", \"PageBlob\", \"AppendBlob\"],\n        },\n      },\n      copyCompletedOn: {\n        serializedName: \"x-ms-copy-completion-time\",\n        xmlName: \"x-ms-copy-completion-time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      copyStatusDescription: {\n        serializedName: \"x-ms-copy-status-description\",\n        xmlName: \"x-ms-copy-status-description\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyId: {\n        serializedName: \"x-ms-copy-id\",\n        xmlName: \"x-ms-copy-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyProgress: {\n        serializedName: \"x-ms-copy-progress\",\n        xmlName: \"x-ms-copy-progress\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copySource: {\n        serializedName: \"x-ms-copy-source\",\n        xmlName: \"x-ms-copy-source\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyStatus: {\n        serializedName: \"x-ms-copy-status\",\n        xmlName: \"x-ms-copy-status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"pending\", \"success\", \"aborted\", \"failed\"],\n        },\n      },\n      isIncrementalCopy: {\n        serializedName: \"x-ms-incremental-copy\",\n        xmlName: \"x-ms-incremental-copy\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      destinationSnapshot: {\n        serializedName: \"x-ms-copy-destination-snapshot\",\n        xmlName: \"x-ms-copy-destination-snapshot\",\n        type: {\n          name: \"String\",\n        },\n      },\n      leaseDuration: {\n        serializedName: \"x-ms-lease-duration\",\n        xmlName: \"x-ms-lease-duration\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"infinite\", \"fixed\"],\n        },\n      },\n      leaseState: {\n        serializedName: \"x-ms-lease-state\",\n        xmlName: \"x-ms-lease-state\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"available\",\n            \"leased\",\n            \"expired\",\n            \"breaking\",\n            \"broken\",\n          ],\n        },\n      },\n      leaseStatus: {\n        serializedName: \"x-ms-lease-status\",\n        xmlName: \"x-ms-lease-status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"locked\", \"unlocked\"],\n        },\n      },\n      contentLength: {\n        serializedName: \"content-length\",\n        xmlName: \"content-length\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contentType: {\n        serializedName: \"content-type\",\n        xmlName: \"content-type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      contentEncoding: {\n        serializedName: \"content-encoding\",\n        xmlName: \"content-encoding\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentDisposition: {\n        serializedName: \"content-disposition\",\n        xmlName: \"content-disposition\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentLanguage: {\n        serializedName: \"content-language\",\n        xmlName: \"content-language\",\n        type: {\n          name: \"String\",\n        },\n      },\n      cacheControl: {\n        serializedName: \"cache-control\",\n        xmlName: \"cache-control\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      acceptRanges: {\n        serializedName: \"accept-ranges\",\n        xmlName: \"accept-ranges\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobCommittedBlockCount: {\n        serializedName: \"x-ms-blob-committed-block-count\",\n        xmlName: \"x-ms-blob-committed-block-count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-server-encrypted\",\n        xmlName: \"x-ms-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      accessTier: {\n        serializedName: \"x-ms-access-tier\",\n        xmlName: \"x-ms-access-tier\",\n        type: {\n          name: \"String\",\n        },\n      },\n      accessTierInferred: {\n        serializedName: \"x-ms-access-tier-inferred\",\n        xmlName: \"x-ms-access-tier-inferred\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      archiveStatus: {\n        serializedName: \"x-ms-archive-status\",\n        xmlName: \"x-ms-archive-status\",\n        type: {\n          name: \"String\",\n        },\n      },\n      accessTierChangedOn: {\n        serializedName: \"x-ms-access-tier-change-time\",\n        xmlName: \"x-ms-access-tier-change-time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      isCurrentVersion: {\n        serializedName: \"x-ms-is-current-version\",\n        xmlName: \"x-ms-is-current-version\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      tagCount: {\n        serializedName: \"x-ms-tag-count\",\n        xmlName: \"x-ms-tag-count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      expiresOn: {\n        serializedName: \"x-ms-expiry-time\",\n        xmlName: \"x-ms-expiry-time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isSealed: {\n        serializedName: \"x-ms-blob-sealed\",\n        xmlName: \"x-ms-blob-sealed\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      rehydratePriority: {\n        serializedName: \"x-ms-rehydrate-priority\",\n        xmlName: \"x-ms-rehydrate-priority\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"High\", \"Standard\"],\n        },\n      },\n      lastAccessed: {\n        serializedName: \"x-ms-last-access-time\",\n        xmlName: \"x-ms-last-access-time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      immutabilityPolicyExpiresOn: {\n        serializedName: \"x-ms-immutability-policy-until-date\",\n        xmlName: \"x-ms-immutability-policy-until-date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      immutabilityPolicyMode: {\n        serializedName: \"x-ms-immutability-policy-mode\",\n        xmlName: \"x-ms-immutability-policy-mode\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"Mutable\", \"Unlocked\", \"Locked\"],\n        },\n      },\n      legalHold: {\n        serializedName: \"x-ms-legal-hold\",\n        xmlName: \"x-ms-legal-hold\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobGetPropertiesExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_getPropertiesExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobGetPropertiesExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobDeleteHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_deleteHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobDeleteHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobDeleteExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_deleteExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobDeleteExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobUndeleteHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_undeleteHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobUndeleteHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobUndeleteExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_undeleteExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobUndeleteExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetExpiryHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setExpiryHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetExpiryHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetExpiryExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setExpiryExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetExpiryExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetHttpHeadersHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setHttpHeadersHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetHttpHeadersHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetHttpHeadersExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setHttpHeadersExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetHttpHeadersExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetImmutabilityPolicyHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setImmutabilityPolicyHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetImmutabilityPolicyHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      immutabilityPolicyExpiry: {\n        serializedName: \"x-ms-immutability-policy-until-date\",\n        xmlName: \"x-ms-immutability-policy-until-date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      immutabilityPolicyMode: {\n        serializedName: \"x-ms-immutability-policy-mode\",\n        xmlName: \"x-ms-immutability-policy-mode\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"Mutable\", \"Unlocked\", \"Locked\"],\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetImmutabilityPolicyExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Blob_setImmutabilityPolicyExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"BlobSetImmutabilityPolicyExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const BlobDeleteImmutabilityPolicyHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_deleteImmutabilityPolicyHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobDeleteImmutabilityPolicyHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobDeleteImmutabilityPolicyExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Blob_deleteImmutabilityPolicyExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"BlobDeleteImmutabilityPolicyExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const BlobSetLegalHoldHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setLegalHoldHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetLegalHoldHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      legalHold: {\n        serializedName: \"x-ms-legal-hold\",\n        xmlName: \"x-ms-legal-hold\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetLegalHoldExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setLegalHoldExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetLegalHoldExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetMetadataHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setMetadataHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetMetadataHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetMetadataExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setMetadataExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetMetadataExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobAcquireLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_acquireLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobAcquireLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      leaseId: {\n        serializedName: \"x-ms-lease-id\",\n        xmlName: \"x-ms-lease-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobAcquireLeaseExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_acquireLeaseExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobAcquireLeaseExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobReleaseLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_releaseLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobReleaseLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobReleaseLeaseExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_releaseLeaseExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobReleaseLeaseExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobRenewLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_renewLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobRenewLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      leaseId: {\n        serializedName: \"x-ms-lease-id\",\n        xmlName: \"x-ms-lease-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobRenewLeaseExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_renewLeaseExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobRenewLeaseExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobChangeLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_changeLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobChangeLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      leaseId: {\n        serializedName: \"x-ms-lease-id\",\n        xmlName: \"x-ms-lease-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobChangeLeaseExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_changeLeaseExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobChangeLeaseExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobBreakLeaseHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_breakLeaseHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobBreakLeaseHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      leaseTime: {\n        serializedName: \"x-ms-lease-time\",\n        xmlName: \"x-ms-lease-time\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobBreakLeaseExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_breakLeaseExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobBreakLeaseExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobCreateSnapshotHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_createSnapshotHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobCreateSnapshotHeaders\",\n    modelProperties: {\n      snapshot: {\n        serializedName: \"x-ms-snapshot\",\n        xmlName: \"x-ms-snapshot\",\n        type: {\n          name: \"String\",\n        },\n      },\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobCreateSnapshotExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_createSnapshotExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobCreateSnapshotExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobStartCopyFromURLHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_startCopyFromURLHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobStartCopyFromURLHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      copyId: {\n        serializedName: \"x-ms-copy-id\",\n        xmlName: \"x-ms-copy-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyStatus: {\n        serializedName: \"x-ms-copy-status\",\n        xmlName: \"x-ms-copy-status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"pending\", \"success\", \"aborted\", \"failed\"],\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobStartCopyFromURLExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Blob_startCopyFromURLExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"BlobStartCopyFromURLExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const BlobCopyFromURLHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_copyFromURLHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobCopyFromURLHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      copyId: {\n        serializedName: \"x-ms-copy-id\",\n        xmlName: \"x-ms-copy-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyStatus: {\n        defaultValue: \"success\",\n        isConstant: true,\n        serializedName: \"x-ms-copy-status\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      xMsContentCrc64: {\n        serializedName: \"x-ms-content-crc64\",\n        xmlName: \"x-ms-content-crc64\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobCopyFromURLExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_copyFromURLExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobCopyFromURLExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobAbortCopyFromURLHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_abortCopyFromURLHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobAbortCopyFromURLHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobAbortCopyFromURLExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"Blob_abortCopyFromURLExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"BlobAbortCopyFromURLExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const BlobSetTierHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setTierHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetTierHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetTierExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setTierExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetTierExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobGetAccountInfoHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_getAccountInfoHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobGetAccountInfoHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      skuName: {\n        serializedName: \"x-ms-sku-name\",\n        xmlName: \"x-ms-sku-name\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"Standard_LRS\",\n            \"Standard_GRS\",\n            \"Standard_RAGRS\",\n            \"Standard_ZRS\",\n            \"Premium_LRS\",\n          ],\n        },\n      },\n      accountKind: {\n        serializedName: \"x-ms-account-kind\",\n        xmlName: \"x-ms-account-kind\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"Storage\",\n            \"BlobStorage\",\n            \"StorageV2\",\n            \"FileStorage\",\n            \"BlockBlobStorage\",\n          ],\n        },\n      },\n      isHierarchicalNamespaceEnabled: {\n        serializedName: \"x-ms-is-hns-enabled\",\n        xmlName: \"x-ms-is-hns-enabled\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobGetAccountInfoExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_getAccountInfoExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobGetAccountInfoExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobQueryHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_queryHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobQueryHeaders\",\n    modelProperties: {\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      metadata: {\n        serializedName: \"x-ms-meta\",\n        headerCollectionPrefix: \"x-ms-meta-\",\n        xmlName: \"x-ms-meta\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"String\" } },\n        },\n      },\n      contentLength: {\n        serializedName: \"content-length\",\n        xmlName: \"content-length\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contentType: {\n        serializedName: \"content-type\",\n        xmlName: \"content-type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentRange: {\n        serializedName: \"content-range\",\n        xmlName: \"content-range\",\n        type: {\n          name: \"String\",\n        },\n      },\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      contentEncoding: {\n        serializedName: \"content-encoding\",\n        xmlName: \"content-encoding\",\n        type: {\n          name: \"String\",\n        },\n      },\n      cacheControl: {\n        serializedName: \"cache-control\",\n        xmlName: \"cache-control\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentDisposition: {\n        serializedName: \"content-disposition\",\n        xmlName: \"content-disposition\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentLanguage: {\n        serializedName: \"content-language\",\n        xmlName: \"content-language\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      blobType: {\n        serializedName: \"x-ms-blob-type\",\n        xmlName: \"x-ms-blob-type\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"BlockBlob\", \"PageBlob\", \"AppendBlob\"],\n        },\n      },\n      copyCompletionTime: {\n        serializedName: \"x-ms-copy-completion-time\",\n        xmlName: \"x-ms-copy-completion-time\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      copyStatusDescription: {\n        serializedName: \"x-ms-copy-status-description\",\n        xmlName: \"x-ms-copy-status-description\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyId: {\n        serializedName: \"x-ms-copy-id\",\n        xmlName: \"x-ms-copy-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyProgress: {\n        serializedName: \"x-ms-copy-progress\",\n        xmlName: \"x-ms-copy-progress\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copySource: {\n        serializedName: \"x-ms-copy-source\",\n        xmlName: \"x-ms-copy-source\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyStatus: {\n        serializedName: \"x-ms-copy-status\",\n        xmlName: \"x-ms-copy-status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"pending\", \"success\", \"aborted\", \"failed\"],\n        },\n      },\n      leaseDuration: {\n        serializedName: \"x-ms-lease-duration\",\n        xmlName: \"x-ms-lease-duration\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"infinite\", \"fixed\"],\n        },\n      },\n      leaseState: {\n        serializedName: \"x-ms-lease-state\",\n        xmlName: \"x-ms-lease-state\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"available\",\n            \"leased\",\n            \"expired\",\n            \"breaking\",\n            \"broken\",\n          ],\n        },\n      },\n      leaseStatus: {\n        serializedName: \"x-ms-lease-status\",\n        xmlName: \"x-ms-lease-status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"locked\", \"unlocked\"],\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      acceptRanges: {\n        serializedName: \"accept-ranges\",\n        xmlName: \"accept-ranges\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      blobCommittedBlockCount: {\n        serializedName: \"x-ms-blob-committed-block-count\",\n        xmlName: \"x-ms-blob-committed-block-count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-server-encrypted\",\n        xmlName: \"x-ms-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobContentMD5: {\n        serializedName: \"x-ms-blob-content-md5\",\n        xmlName: \"x-ms-blob-content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contentCrc64: {\n        serializedName: \"x-ms-content-crc64\",\n        xmlName: \"x-ms-content-crc64\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobQueryExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_queryExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobQueryExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobGetTagsHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_getTagsHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobGetTagsHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobGetTagsExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_getTagsExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobGetTagsExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetTagsHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setTagsHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetTagsHeaders\",\n    modelProperties: {\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlobSetTagsExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"Blob_setTagsExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlobSetTagsExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobCreateHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_createHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobCreateHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobCreateExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_createExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobCreateExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobUploadPagesHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_uploadPagesHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobUploadPagesHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      xMsContentCrc64: {\n        serializedName: \"x-ms-content-crc64\",\n        xmlName: \"x-ms-content-crc64\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobUploadPagesExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_uploadPagesExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobUploadPagesExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobClearPagesHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_clearPagesHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobClearPagesHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      xMsContentCrc64: {\n        serializedName: \"x-ms-content-crc64\",\n        xmlName: \"x-ms-content-crc64\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobClearPagesExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_clearPagesExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobClearPagesExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobUploadPagesFromURLHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_uploadPagesFromURLHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobUploadPagesFromURLHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      xMsContentCrc64: {\n        serializedName: \"x-ms-content-crc64\",\n        xmlName: \"x-ms-content-crc64\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobUploadPagesFromURLExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"PageBlob_uploadPagesFromURLExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"PageBlobUploadPagesFromURLExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PageBlobGetPageRangesHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_getPageRangesHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobGetPageRangesHeaders\",\n    modelProperties: {\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobContentLength: {\n        serializedName: \"x-ms-blob-content-length\",\n        xmlName: \"x-ms-blob-content-length\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobGetPageRangesExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"PageBlob_getPageRangesExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"PageBlobGetPageRangesExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PageBlobGetPageRangesDiffHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_getPageRangesDiffHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobGetPageRangesDiffHeaders\",\n    modelProperties: {\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobContentLength: {\n        serializedName: \"x-ms-blob-content-length\",\n        xmlName: \"x-ms-blob-content-length\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobGetPageRangesDiffExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"PageBlob_getPageRangesDiffExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"PageBlobGetPageRangesDiffExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PageBlobResizeHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_resizeHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobResizeHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobResizeExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_resizeExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobResizeExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobUpdateSequenceNumberHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_updateSequenceNumberHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobUpdateSequenceNumberHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      blobSequenceNumber: {\n        serializedName: \"x-ms-blob-sequence-number\",\n        xmlName: \"x-ms-blob-sequence-number\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobUpdateSequenceNumberExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"PageBlob_updateSequenceNumberExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"PageBlobUpdateSequenceNumberExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PageBlobCopyIncrementalHeaders: coreClient.CompositeMapper = {\n  serializedName: \"PageBlob_copyIncrementalHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"PageBlobCopyIncrementalHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      copyId: {\n        serializedName: \"x-ms-copy-id\",\n        xmlName: \"x-ms-copy-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      copyStatus: {\n        serializedName: \"x-ms-copy-status\",\n        xmlName: \"x-ms-copy-status\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"pending\", \"success\", \"aborted\", \"failed\"],\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PageBlobCopyIncrementalExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"PageBlob_copyIncrementalExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"PageBlobCopyIncrementalExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const AppendBlobCreateHeaders: coreClient.CompositeMapper = {\n  serializedName: \"AppendBlob_createHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"AppendBlobCreateHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const AppendBlobCreateExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"AppendBlob_createExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"AppendBlobCreateExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const AppendBlobAppendBlockHeaders: coreClient.CompositeMapper = {\n  serializedName: \"AppendBlob_appendBlockHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"AppendBlobAppendBlockHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      xMsContentCrc64: {\n        serializedName: \"x-ms-content-crc64\",\n        xmlName: \"x-ms-content-crc64\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      blobAppendOffset: {\n        serializedName: \"x-ms-blob-append-offset\",\n        xmlName: \"x-ms-blob-append-offset\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobCommittedBlockCount: {\n        serializedName: \"x-ms-blob-committed-block-count\",\n        xmlName: \"x-ms-blob-committed-block-count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const AppendBlobAppendBlockExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"AppendBlob_appendBlockExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"AppendBlobAppendBlockExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const AppendBlobAppendBlockFromUrlHeaders: coreClient.CompositeMapper = {\n  serializedName: \"AppendBlob_appendBlockFromUrlHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"AppendBlobAppendBlockFromUrlHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      xMsContentCrc64: {\n        serializedName: \"x-ms-content-crc64\",\n        xmlName: \"x-ms-content-crc64\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      blobAppendOffset: {\n        serializedName: \"x-ms-blob-append-offset\",\n        xmlName: \"x-ms-blob-append-offset\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blobCommittedBlockCount: {\n        serializedName: \"x-ms-blob-committed-block-count\",\n        xmlName: \"x-ms-blob-committed-block-count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const AppendBlobAppendBlockFromUrlExceptionHeaders: coreClient.CompositeMapper =\n  {\n    serializedName: \"AppendBlob_appendBlockFromUrlExceptionHeaders\",\n    type: {\n      name: \"Composite\",\n      className: \"AppendBlobAppendBlockFromUrlExceptionHeaders\",\n      modelProperties: {\n        errorCode: {\n          serializedName: \"x-ms-error-code\",\n          xmlName: \"x-ms-error-code\",\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const AppendBlobSealHeaders: coreClient.CompositeMapper = {\n  serializedName: \"AppendBlob_sealHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"AppendBlobSealHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isSealed: {\n        serializedName: \"x-ms-blob-sealed\",\n        xmlName: \"x-ms-blob-sealed\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const AppendBlobSealExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"AppendBlob_sealExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"AppendBlobSealExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlockBlobUploadHeaders: coreClient.CompositeMapper = {\n  serializedName: \"BlockBlob_uploadHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlockBlobUploadHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      encryptionKeySha256: {\n        serializedName: \"x-ms-encryption-key-sha256\",\n        xmlName: \"x-ms-encryption-key-sha256\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encryptionScope: {\n        serializedName: \"x-ms-encryption-scope\",\n        xmlName: \"x-ms-encryption-scope\",\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlockBlobUploadExceptionHeaders: coreClient.CompositeMapper = {\n  serializedName: \"BlockBlob_uploadExceptionHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlockBlobUploadExceptionHeaders\",\n    modelProperties: {\n      errorCode: {\n        serializedName: \"x-ms-error-code\",\n        xmlName: \"x-ms-error-code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BlockBlobPutBlobFromUrlHeaders: coreClient.CompositeMapper = {\n  serializedName: \"BlockBlob_putBlobFromUrlHeaders\",\n  type: {\n    name: \"Composite\",\n    className: \"BlockBlobPutBlobFromUrlHeaders\",\n    modelProperties: {\n      etag: {\n        serializedName: \"etag\",\n        xmlName: \"etag\",\n        type: {\n          name: \"String\",\n        },\n      },\n      lastModified: {\n        serializedName: \"last-modified\",\n        xmlName: \"last-modified\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      contentMD5: {\n        serializedName: \"content-md5\",\n        xmlName: \"content-md5\",\n        type: {\n          name: \"ByteArray\",\n        },\n      },\n      clientRequestId: {\n        serializedName: \"x-ms-client-request-id\",\n        xmlName: \"x-ms-client-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      requestId: {\n        serializedName: \"x-ms-request-id\",\n        xmlName: \"x-ms-request-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        serializedName: \"x-ms-version\",\n        xmlName: \"x-ms-version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      versionId: {\n        serializedName: \"x-ms-version-id\",\n        xmlName: \"x-ms-version-id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      date: {\n        serializedName: \"date\",\n        xmlName: \"date\",\n        type: {\n          name: \"DateTimeRfc1123\",\n        },\n      },\n      isServerEncrypted: {\n        serializedName: \"x-ms-request-server-encrypted\",\n        xmlName: \"x-ms-request-server-encrypted\",\n        type: {\n    