{"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/modules/alert/alert-harness.ts","../../../../../libs/components/indicators/testing/src/modules/chevron/chevron-harness.ts","../../../../../libs/components/indicators/testing/src/modules/help-inline/help-inline-harness.ts","../../../../../libs/components/indicators/testing/src/modules/illustration/illustration-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-value-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-harness.ts","../../../../../libs/components/indicators/testing/src/modules/label/label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/status-indicator/status-indicator-harness.ts","../../../../../libs/components/indicators/testing/src/modules/text-highlight/text-highlight-harness.ts","../../../../../libs/components/indicators/testing/src/modules/tokens/token-harness.ts","../../../../../libs/components/indicators/testing/src/modules/tokens/tokens-harness.ts","../../../../../libs/components/indicators/testing/src/modules/wait/wait-harness.ts","../../../../../libs/components/indicators/testing/src/legacy/alert-fixture.ts","../../../../../libs/components/indicators/testing/src/legacy/label-fixture.ts","../../../../../libs/components/indicators/testing/src/legacy/wait-fixture.ts","../../../../../libs/components/indicators/testing/src/skyux-indicators-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n  SkyIndicatorDescriptionType,\n  SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyAlertHarnessFilters } from './alert-harness-filters';\n\n/**\n * Harness for interacting with an alert component in tests.\n */\nexport class SkyAlertHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-alert';\n\n  #getAlert = this.locatorFor('.sky-alert');\n  #getContent = this.locatorFor('.sky-alert-content');\n  #getCloseButton = this.locatorFor('.sky-alert-close');\n  #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyAlertHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyAlertHarnessFilters,\n  ): HarnessPredicate<SkyAlertHarness> {\n    return SkyAlertHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the current alert type.\n   */\n  public async getAlertType(): Promise<SkyIndicatorIconType | undefined> {\n    const alert = await this.#getAlert();\n\n    if (await alert.hasClass('sky-alert-danger')) {\n      return 'danger';\n    }\n\n    if (await alert.hasClass('sky-alert-info')) {\n      return 'info';\n    }\n\n    if (await alert.hasClass('sky-alert-success')) {\n      return 'success';\n    }\n\n    return 'warning';\n  }\n\n  /**\n   * Gets the current alert text.\n   */\n  public async getText(): Promise<string> {\n    return await (await this.#getContent()).text();\n  }\n\n  /**\n   * Closes the alert.\n   */\n  public async close(): Promise<void> {\n    if (!(await this.isCloseable())) {\n      throw new Error('The alert is not closeable.');\n    }\n\n    await (await this.#getCloseButton()).click();\n  }\n\n  /**\n   * Whether the user closed the alert.\n   */\n  public async isClosed(): Promise<boolean> {\n    const alert = await this.#getAlert();\n\n    return await alert.getProperty('hidden');\n  }\n\n  /**\n   * Whether the user can close the alert.\n   */\n  public async isCloseable(): Promise<boolean> {\n    const closeBtn = await this.#getCloseButton();\n    return !(await closeBtn.getProperty('hidden'));\n  }\n\n  /**\n   * Gets the `descriptionType` of the label component.\n   */\n  public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n    const srEl = await this.#getScreenReaderTextEl();\n\n    if (!srEl) {\n      return 'none';\n    }\n\n    const srText = await srEl.text();\n\n    switch (srText) {\n      case 'Attention:':\n        return 'attention';\n      case 'Caution:':\n        return 'caution';\n      case 'Completed:':\n        return 'completed';\n      case 'Danger:':\n        return 'danger';\n      case 'Error:':\n        return 'error';\n      case 'Important information:':\n        return 'important-info';\n      case 'Important warning:':\n        return 'important-warning';\n      case 'Success:':\n        return 'success';\n      case 'Warning:':\n        return 'warning';\n      default:\n        return 'custom';\n    }\n  }\n\n  /**\n   * Gets the custom text used for the screen reader description of the label component icon.\n   */\n  public async getCustomDescription(): Promise<string> {\n    const descriptionType = await this.getDescriptionType();\n\n    if (descriptionType === 'custom') {\n      const srEl = await this.#getScreenReaderTextEl();\n\n      if (srEl) {\n        return await srEl.text();\n      }\n    }\n\n    return '';\n  }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a chevron component in tests.\n * @internal\n */\nexport class SkyChevronHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-chevron';\n\n  #getButton = this.locatorFor('button.sky-chevron');\n\n  /**\n   * Gets the chevron direction.\n   */\n  public async getDirection(): Promise<string> {\n    return (await (await this.#getButton()).hasClass('sky-chevron-up'))\n      ? 'up'\n      : 'down';\n  }\n\n  /**\n   * Whether the chevron is disabled.\n   */\n  public async isDisabled(): Promise<boolean> {\n    const disabled = await (await this.#getButton()).getAttribute('disabled');\n    return disabled !== null;\n  }\n\n  /**\n   * Toggles the chevron.\n   */\n  public async toggle(): Promise<void> {\n    if (await this.isDisabled()) {\n      throw new Error('Could not toggle the checkbox because it is disabled.');\n    } else {\n      await (await this.#getButton()).click();\n    }\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyHelpInlineHarnessFilters } from './help-inline-harness-filters';\n\n/**\n * Harness for interacting with a help inline component in tests.\n * @docsId SkyHelpInlineHarnessLegacy\n * @deprecated Use the `SkyHelpInlineHarness` from `@skyux/help-inline/testing` instead.\n */\nexport class SkyHelpInlineHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-help-inline';\n\n  #getInlineHelpButton = this.locatorFor('.sky-help-inline');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyInlineHelpHarness` that meets certain criteria\n   */\n  public static with(\n    filters: SkyHelpInlineHarnessFilters,\n  ): HarnessPredicate<SkyHelpInlineHarness> {\n    return SkyHelpInlineHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Clicks the help inline icon button\n   */\n  public async click(): Promise<void> {\n    await (await this.#getInlineHelpButton()).click();\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyIllustrationSize } from '@skyux/indicators';\n\nimport { SkyIllustrationHarnessFilters } from './illustration-harness-filters';\n\n/**\n * Harness for interacting with an illustration component in tests.\n */\nexport class SkyIllustrationHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-illustration';\n\n  #getImage = this.locatorFor('.sky-illustration-img');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyIllustrationHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyIllustrationHarnessFilters,\n  ): HarnessPredicate<SkyIllustrationHarness> {\n    return SkyIllustrationHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the specified name of the illustration.\n   */\n  public async getName(): Promise<string> {\n    const img = await this.#getImage();\n    const name = await img.getAttribute('data-sky-illustration-name');\n\n    if (name === null) {\n      throw new Error('Name was not set.');\n    }\n\n    return name;\n  }\n\n  /**\n   * Gets the specified size of the illustration.\n   */\n  public async getSize(): Promise<SkyIllustrationSize> {\n    const img = await this.#getImage();\n    const height = await img.getAttribute('height');\n    const width = await img.getAttribute('width');\n\n    if (height !== width) {\n      throw new Error('The image height and width do not match.');\n    }\n\n    switch (height) {\n      case '0':\n        throw new Error('Size was not set.');\n      case '48':\n        return 'sm';\n      case '64':\n        return 'md';\n      case '80':\n        return 'lg';\n      case '96':\n        return 'xl';\n    }\n\n    throw new Error(\n      'The image dimensions do not match the specified illustration size.',\n    );\n  }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info label component in tests.\n * @internal\n */\nexport class SkyKeyInfoLabelHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-key-info-label';\n\n  /**\n   * Gets the text value of the component content.\n   */\n  public async getText(): Promise<string> {\n    return await (await this.host()).text();\n  }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info value component in tests.\n * @internal\n */\nexport class SkyKeyInfoValueHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-key-info-value';\n\n  /**\n   * Gets the text value of the component content.\n   */\n  public async getText(): Promise<string> {\n    return await (await this.host()).text();\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyKeyInfoLayoutType } from '@skyux/indicators';\n\nimport { SkyKeyInfoHarnessFilters } from './key-info-harness-filters';\nimport { SkyKeyInfoLabelHarness } from './key-info-label-harness';\nimport { SkyKeyInfoValueHarness } from './key-info-value-harness';\n\n/**\n * Harness for interacting with a key info component in tests.\n */\nexport class SkyKeyInfoHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-key-info';\n\n  #getLabel = this.locatorFor(SkyKeyInfoLabelHarness);\n  #getValue = this.locatorFor(SkyKeyInfoValueHarness);\n  #getWrapper = this.locatorFor('.sky-key-info');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyKeyInfoHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyKeyInfoHarnessFilters,\n  ): HarnessPredicate<SkyKeyInfoHarness> {\n    return SkyKeyInfoHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the current value text.\n   */\n  public async getValueText(): Promise<string> {\n    return await (await this.#getValue()).getText();\n  }\n\n  /**\n   * Gets the current label text.\n   */\n  public async getLabelText(): Promise<string> {\n    return await (await this.#getLabel()).getText();\n  }\n\n  /**\n   * Gets the current layout type.\n   */\n  public async getLayout(): Promise<SkyKeyInfoLayoutType> {\n    return (await (\n      await this.#getWrapper()\n    ).hasClass('sky-key-info-horizontal'))\n      ? 'horizontal'\n      : 'vertical';\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n  SkyIndicatorDescriptionType,\n  SkyLabelType,\n} from '@skyux/indicators';\n\nimport { SkyLabelHarnessFilters } from './label-harness-filters';\n\n/**\n * Harness for interacting with a label component in tests.\n */\nexport class SkyLabelHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-label';\n\n  #getWrapper = this.locatorFor('.sky-label');\n  #getTextEl = this.locatorFor('.sky-label-text');\n  #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyLookupHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyLabelHarnessFilters,\n  ): HarnessPredicate<SkyLabelHarness> {\n    return SkyLabelHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the text of the label component.\n   */\n  public async getLabelText(): Promise<string> {\n    return await (await this.#getTextEl()).text();\n  }\n\n  /**\n   * Gets the `labelType` of the label component.\n   */\n  public async getLabelType(): Promise<SkyLabelType> {\n    const labelClasses: DOMTokenList = await (\n      await this.#getWrapper()\n    ).getProperty('classList');\n\n    if (labelClasses.contains('sky-label-success')) {\n      return 'success';\n    }\n\n    if (labelClasses.contains('sky-label-danger')) {\n      return 'danger';\n    }\n\n    if (labelClasses.contains('sky-label-warning')) {\n      return 'warning';\n    }\n\n    return 'info';\n  }\n\n  /**\n   * Gets the `descriptionType` of the label component.\n   */\n  public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n    const srEl = await this.#getScreenReaderTextEl();\n\n    if (!srEl) {\n      return 'none';\n    }\n\n    const srText = await srEl.text();\n\n    switch (srText) {\n      case 'Attention:':\n        return 'attention';\n      case 'Caution:':\n        return 'caution';\n      case 'Completed:':\n        return 'completed';\n      case 'Danger:':\n        return 'danger';\n      case 'Error:':\n        return 'error';\n      case 'Important information:':\n        return 'important-info';\n      case 'Important warning:':\n        return 'important-warning';\n      case 'Success:':\n        return 'success';\n      case 'Warning:':\n        return 'warning';\n      default:\n        return 'custom';\n    }\n  }\n\n  /**\n   * Gets the custom text used for the screen reader description of the label component icon.\n   */\n  public async getCustomDescription(): Promise<string> {\n    const descriptionType = await this.getDescriptionType();\n\n    if (descriptionType === 'custom') {\n      const srEl = await this.#getScreenReaderTextEl();\n\n      if (srEl) {\n        return await srEl.text();\n      }\n    }\n\n    return '';\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport type {\n  SkyIndicatorDescriptionType,\n  SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyStatusIndicatorHarnessFilters } from './status-indicator-harness-filters';\n\n/**\n * Harness for interacting with a status indicator component in tests.\n */\nexport class SkyStatusIndicatorHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-status-indicator';\n\n  #getIconWrapper = this.locatorFor('.sky-status-indicator-icon');\n  #getMessage = this.locatorForOptional('.sky-status-indicator-message');\n  #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyStatusIndicatorHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyStatusIndicatorHarnessFilters,\n  ): HarnessPredicate<SkyStatusIndicatorHarness> {\n    return SkyStatusIndicatorHarness.getDataSkyIdPredicate(filters);\n  }\n\n  async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n    const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n\n    if (harness) {\n      return harness;\n    }\n\n    throw Error('No help inline found.');\n  }\n\n  /**\n   * Gets the current status indicator type.\n   */\n  public async getIndicatorType(): Promise<SkyIndicatorIconType | undefined> {\n    const wrapper = await this.#getIconWrapper();\n\n    if (await wrapper.hasClass('sky-status-indicator-icon-danger')) {\n      return 'danger';\n    }\n\n    if (await wrapper.hasClass('sky-status-indicator-icon-info')) {\n      return 'info';\n    }\n\n    if (await wrapper.hasClass('sky-status-indicator-icon-success')) {\n      return 'success';\n    }\n\n    return 'warning';\n  }\n\n  /**\n   * Gets the current status indicator text.\n   */\n  public async getText(): Promise<string> {\n    const message = await this.#getMessage();\n\n    if (message) {\n      return await message.text();\n    }\n\n    throw new Error(\n      'Status indicator text was not found. Did you set the descriptionType input?',\n    );\n  }\n\n  /**\n   * Gets the `descriptionType` of the status indicator component.\n   */\n  public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n    const srEl = await this.#getScreenReaderTextEl();\n\n    if (!srEl) {\n      return 'none';\n    }\n\n    const srText = await srEl.text();\n\n    switch (srText) {\n      case 'Attention:':\n        return 'attention';\n      case 'Caution:':\n        return 'caution';\n      case 'Completed:':\n        return 'completed';\n      case 'Danger:':\n        return 'danger';\n      case 'Error:':\n        return 'error';\n      case 'Important information:':\n        return 'important-info';\n      case 'Important warning:':\n        return 'important-warning';\n      case 'Success:':\n        return 'success';\n      case 'Warning:':\n        return 'warning';\n      default:\n        return 'custom';\n    }\n  }\n\n  /**\n   * Gets the custom text used for the screen reader description of the status indicator component icon.\n   */\n  public async getCustomDescription(): Promise<string> {\n    const descriptionType = await this.getDescriptionType();\n\n    if (descriptionType === 'custom') {\n      const srEl = await this.#getScreenReaderTextEl();\n\n      if (srEl) {\n        return await srEl.text();\n      }\n    }\n\n    return '';\n  }\n\n  /**\n   * Clicks the help inline button.\n   */\n  public async clickHelpInline(): Promise<void> {\n    return await (await this.#getHelpInline()).click();\n  }\n\n  /**\n   * Gets the help inline popover content.\n   */\n  public async getHelpPopoverContent(): Promise<string | undefined> {\n    return await (await this.#getHelpInline()).getPopoverContent();\n  }\n\n  /**\n   * Gets the help inline popover title.\n   */\n  public async getHelpPopoverTitle(): Promise<string | undefined> {\n    return await (await this.#getHelpInline()).getPopoverTitle();\n  }\n}\n","import { HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTextHighlightHarnessFilters } from './text-highlight-harness-filters';\n\n/**\n * Harness to interact with a text highlight directive in tests.\n */\nexport class SkyTextHighlightHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = '[skyHighlight]';\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyTextHighlightHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyTextHighlightHarnessFilters,\n  ): HarnessPredicate<SkyTextHighlightHarness> {\n    return SkyTextHighlightHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets an array of all instances of highlighted text.\n   */\n  public async getHighlights(): Promise<TestElement[]> {\n    return await this.locatorForAll('mark.sky-highlight-mark')();\n  }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\n\n/**\n * Harness for interacting with a token component in tests.\n */\nexport class SkyTokenHarness extends ComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-token';\n\n  #getActionButton = this.locatorFor('button.sky-token-btn-action');\n\n  #getDismissButton = this.locatorFor('button.sky-token-btn-close');\n\n  #getWrapper = this.locatorFor('.sky-token');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyTokenHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyTokenHarnessFilters,\n  ): HarnessPredicate<SkyTokenHarness> {\n    return new HarnessPredicate(this, filters).addOption(\n      'text',\n      filters.text,\n      async (harness, test) =>\n        await HarnessPredicate.stringMatches(\n          await (await harness.host()).text(),\n          test,\n        ),\n    );\n  }\n\n  /**\n   * Selects the token.\n   */\n  public async select(): Promise<void> {\n    if (await this.isDisabled()) {\n      throw new Error('Could not select the token because it is disabled.');\n    }\n\n    await (await this.host()).click();\n  }\n\n  /**\n   * Dismisses the token.\n   */\n  public async dismiss(): Promise<void> {\n    if (!(await this.isDismissible())) {\n      throw new Error(\n        'Could not dismiss the token because it is not dismissible.',\n      );\n    }\n\n    await (await this.#getDismissButton()).click();\n  }\n\n  /**\n   * Returns the text content of the token.\n   */\n  public async getText(): Promise<string> {\n    return await (await this.host()).text();\n  }\n\n  /**\n   * Whether the token is disabled.\n   */\n  public async isDisabled(): Promise<boolean> {\n    return await (await this.#getWrapper()).hasClass('sky-token-disabled');\n  }\n\n  /**\n   * Whether the token is dismissible.\n   */\n  public async isDismissible(): Promise<boolean> {\n    return await (await this.#getWrapper()).hasClass('sky-token-dismissible');\n  }\n\n  /**\n   * Whether the token is focused.\n   */\n  public async isFocused(): Promise<boolean> {\n    return await (await this.#getActionButton()).isFocused();\n  }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTokenHarness } from './token-harness';\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\nimport { SkyTokensHarnessFilters } from './tokens-harness-filters';\n\n/**\n * Harness for interacting with a tokens component in tests.\n */\nexport class SkyTokensHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-tokens';\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyTokensHarness` that meets certain criteria.\n   */\n  public static with(filters: SkyTokensHarnessFilters) {\n    return SkyTokensHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Dismisses all tokens, or tokens that meet certain criteria.\n   */\n  public async dismissTokens(filters?: SkyTokenHarnessFilters): Promise<void> {\n    const tokens = await this.getTokens(filters);\n    for (const token of tokens) {\n      await token.dismiss();\n    }\n  }\n\n  /**\n   * Returns a list of tokens.\n   */\n  public async getTokens(\n    filters?: SkyTokenHarnessFilters,\n  ): Promise<SkyTokenHarness[]> {\n    return await this.locatorForAll(SkyTokenHarness.with(filters || {}))();\n  }\n\n  /**\n   * Returns the text content of all tokens.\n   */\n  public async getTokensText(): Promise<string[]> {\n    const tokens = await this.getTokens();\n    const values: string[] = [];\n\n    for (const token of tokens) {\n      values.push(await token.getText());\n    }\n\n    return values;\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyWaitHarnessFilters } from './wait-harness-filters';\n\n/**\n * Harness for interacting with a wait component in tests.\n */\nexport class SkyWaitHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-wait';\n\n  #getWaitMask = this.locatorForOptional('.sky-wait-mask');\n  #getWaitContainer = this.locatorFor('.sky-wait-container');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyWaitHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyWaitHarnessFilters,\n  ): HarnessPredicate<SkyWaitHarness> {\n    if (filters.servicePageWaitType === 'blocking') {\n      return SkyWaitHarness.getDataSkyIdPredicate({\n        dataSkyId: 'page-wait-blocking',\n      });\n    } else if (filters.servicePageWaitType === 'non-blocking') {\n      return SkyWaitHarness.getDataSkyIdPredicate({\n        dataSkyId: 'page-wait-non-blocking',\n      });\n    }\n    return SkyWaitHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the ARIA label for the wait component or throws an error if not waiting.\n   */\n  public async getAriaLabel(): Promise<string> {\n    const waitMask = await this.#getWaitMask();\n    if (waitMask) {\n      return (\n        (await waitMask.getAttribute('aria-label')) ||\n        /* istanbul ignore next */\n        ''\n      );\n    }\n    throw new Error(\n      'An ARIA label cannot be determined because the wait component is not visible.',\n    );\n  }\n\n  /**\n   * Gets the waiting state of the wait component.\n   */\n  public async isWaiting(): Promise<boolean> {\n    return !!(await this.#getWaitMask());\n  }\n\n  /**\n   * Gets the full page state of the wait component.\n   */\n  public async isFullPage(): Promise<boolean> {\n    return await (\n      await this.#getWaitContainer()\n    ).hasClass('sky-wait-full-page');\n  }\n\n  /**\n   * Gets the blocking state of the wait component.\n   */\n  public async isNonBlocking(): Promise<boolean> {\n    return await (\n      await this.#getWaitContainer()\n    ).hasClass('sky-wait-non-blocking');\n  }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX alert component.\n * @deprecated Use `SkyAlertHarness` instead.\n * @internal\n */\nexport class SkyAlertFixture {\n  /**\n   * The alert's current text.\n   */\n  public get text(): string | undefined {\n    return SkyAppTestUtility.getText(this.#debugEl);\n  }\n\n  /**\n   * A flag indicating whether the alert can be closed.\n   */\n  public get closeable(): boolean | undefined {\n    const closeBtnEl = this.#getCloseBtnEl();\n\n    return SkyAppTestUtility.isVisible(closeBtnEl);\n  }\n\n  /**\n   * Returns a flag indicating whether the alert is closed.\n   */\n  public get closed(): boolean {\n    return !SkyAppTestUtility.isVisible(this.#getAlertEl());\n  }\n\n  /**\n   * The alert's current type.\n   */\n  public get alertType(): string | undefined {\n    const clsList = this.#getAlertEl().nativeElement.classList;\n\n    if (clsList.contains('sky-alert-danger')) {\n      return 'danger';\n    }\n\n    if (clsList.contains('sky-alert-info')) {\n      return 'info';\n    }\n\n    if (clsList.contains('sky-alert-success')) {\n      return 'success';\n    }\n\n    if (clsList.contains('sky-alert-warning')) {\n      return 'warning';\n    }\n\n    return undefined;\n  }\n\n  #debugEl: DebugElement;\n\n  constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n    this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n      fixture,\n      skyTestId,\n      'sky-alert',\n    );\n  }\n\n  /**\n   * Closes the alert.  If the alert is not closeable, an error is thrown.\n   */\n  public close(): void {\n    if (this.closeable) {\n      const closeBtnEl = this.#getCloseBtnEl();\n\n      closeBtnEl.triggerEventHandler('click', {});\n    } else {\n      throw new Error('The alert is not closeable.');\n    }\n  }\n\n  #getAlertEl(): DebugElement {\n    return this.#debugEl.query(By.css('.sky-alert'));\n  }\n\n  #getCloseBtnEl(): DebugElement {\n    return this.#debugEl.query(By.css('.sky-alert-close'));\n  }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX label component.\n * @internal\n */\nexport class SkyLabelFixture {\n  /**\n   * The label's current type.\n   */\n  public get labelType(): string | undefined {\n    const clsList = this.#getLabelEl().nativeElement.classList;\n\n    if (clsList.contains('sky-label-danger')) {\n      return 'danger';\n    }\n\n    if (clsList.contains('sky-label-info')) {\n      return 'info';\n    }\n\n    if (clsList.contains('sky-label-success')) {\n      return 'success';\n    }\n\n    if (clsList.contains('sky-label-warning')) {\n      return 'warning';\n    }\n\n    return undefined;\n  }\n\n  /**\n   * The label's current text.\n   */\n  public get text(): string | undefined {\n    const labelEl = this.#getLabelEl();\n\n    return SkyAppTestUtility.getText(labelEl);\n  }\n\n  #debugEl: DebugElement;\n\n  constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n    this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n      fixture,\n      skyTestId,\n      'sky-label',\n    );\n  }\n\n  #getLabelEl(): DebugElement {\n    return this.#debugEl.query(By.css('.sky-label'));\n  }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * @internal\n */\nexport class SkyWaitFixture {\n  public get isWaiting(): boolean {\n    return this.#innerWaitComponentContainsClass('.sky-wait-mask');\n  }\n\n  public get isFullPage(): boolean {\n    return this.#innerWaitComponentContainsClass(\n      '.sky-wait-mask-loading-fixed',\n    );\n  }\n\n  public get ariaLabel(): string {\n    const div = this.#debugEl.nativeElement.querySelector('.sky-wait-mask');\n    return div.getAttribute('aria-label');\n  }\n\n  public get isNonBlocking(): boolean {\n    return this.#innerWaitComponentContainsClass(\n      '.sky-wait-mask-loading-non-blocking',\n    );\n  }\n\n  #debugEl: DebugElement;\n\n  constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n    this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n      fixture,\n      skyTestId,\n      'sky-wait',\n    );\n  }\n\n  #innerWaitComponentContainsClass(className: string): boolean {\n    const element: HTMLDivElement =\n      this.#debugEl.nativeElement.querySelector(className);\n    return element !== null;\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SkyHelpInlineHarness"],"mappings":";;;;;;AASA;;AAEG;AACG,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AACtD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,WAAW,CAAC;AAEzC,IAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;AACzC,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;AACnD,IAAA,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;AACrD,IAAA,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC;AAE3E;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA+B,EAAA;AAE/B,QAAA,OAAO,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGvD;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;QAEpC,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AAC5C,YAAA,OAAO,QAAQ;;QAGjB,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AAC1C,YAAA,OAAO,MAAM;;QAGf,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAC7C,YAAA,OAAO,SAAS;;AAGlB,QAAA,OAAO,SAAS;;AAGlB;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE;;AAGhD;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;QAChB,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;AAC/B,YAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;;QAGhD,MAAM,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE;;AAG9C;;AAEG;AACI,IAAA,MAAM,QAAQ,GAAA;AACnB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;AAEpC,QAAA,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC;;AAG1C;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE;QAC7C,OAAO,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;;AAGhD;;AAEG;AACI,IAAA,MAAM,kBAAkB,GAAA;AAC7B,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE;QAEhD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,MAAM;;AAGf,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAEhC,QAAQ,MAAM;AACZ,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW;AACpB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS;AAClB,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW;AACpB,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,QAAQ;AACjB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO;AAChB,YAAA,KAAK,wBAAwB;AAC3B,gBAAA,OAAO,gBAAgB;AACzB,YAAA,KAAK,oBAAoB;AACvB,gBAAA,OAAO,mBAAmB;AAC5B,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS;AAClB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS;AAClB,YAAA;AACE,gBAAA,OAAO,QAAQ;;;AAIrB;;AAEG;AACI,IAAA,MAAM,oBAAoB,GAAA;AAC/B,QAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAEvD,QAAA,IAAI,eAAe,KAAK,QAAQ,EAAE;AAChC,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE;YAEhD,IAAI,IAAI,EAAE;AACR,gBAAA,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE;;;AAI5B,QAAA,OAAO,EAAE;;;;ACzIb;;;AAGG;AACG,MAAO,iBAAkB,SAAQ,mBAAmB,CAAA;AACxD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,aAAa,CAAC;AAE3C,IAAA,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;AAElD;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,gBAAgB,CAAC;AAChE,cAAE;cACA,MAAM;;AAGZ;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC;QACzE,OAAO,QAAQ,KAAK,IAAI;;AAG1B;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;AACjB,QAAA,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;;aACnE;YACL,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE;;;;;ACjC7C;;;;AAIG;AACG,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AAC3D;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,iBAAiB,CAAC;AAE/C,IAAA,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAE1D;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAoC,EAAA;AAEpC,QAAA,OAAO,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAG5D;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;QAChB,MAAM,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE;;;;AC1BrD;;AAEG;AACG,MAAO,sBAAuB,SAAQ,mBAAmB,CAAA;AAC7D;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,kBAAkB,CAAC;AAEhD,IAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;AAEpD;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAsC,EAAA;AAEtC,QAAA,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAG9D;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,4BAA4B,CAAC;AAEjE,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;;AAGtC,QAAA,OAAO,IAAI;;AAGb;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;QAClC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC;AAE7C,QAAA,IAAI,MAAM,KAAK,KAAK,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;;QAG7D,QAAQ,MAAM;AACZ,YAAA,KAAK,GAAG;AACN,gBAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;AACtC,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,IAAI;AACb,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,IAAI;AACb,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,IAAI;AACb,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,IAAI;;AAGf,QAAA,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE;;;;AClEL;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,mBAAmB,CAAA;AAC7D;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,oBAAoB,CAAC;AAElD;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;;;;ACd3C;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,mBAAmB,CAAA;AAC7D;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,oBAAoB,CAAC;AAElD;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;;;;ACR3C;;AAEG;AACG,MAAO,iBAAkB,SAAQ,mBAAmB,CAAA;AACxD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;AAE5C,IAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;AACnD,IAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;AACnD,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;AAE9C;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAiC,EAAA;AAEjC,QAAA,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGzD;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;QACvB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE;;AAGjD;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;QACvB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE;;AAGjD;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;AACpB,QAAA,OAAO,CAAC,MAAM,CACZ,MAAM,IAAI,CAAC,WAAW,EAAE,EACxB,QAAQ,CAAC,yBAAyB,CAAC;AACnC,cAAE;cACA,UAAU;;;;AC5ClB;;AAEG;AACG,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AACtD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,WAAW,CAAC;AAEzC,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;AAC3C,IAAA,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;AAC/C,IAAA,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC;AAE3E;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA+B,EAAA;AAE/B,QAAA,OAAO,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGvD;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;QACvB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE;;AAG/C;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,YAAY,GAAiB,MAAM,CACvC,MAAM,IAAI,CAAC,WAAW,EAAE,EACxB,WAAW,CAAC,WAAW,CAAC;AAE1B,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAC9C,YAAA,OAAO,SAAS;;AAGlB,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AAC7C,YAAA,OAAO,QAAQ;;AAGjB,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAC9C,YAAA,OAAO,SAAS;;AAGlB,QAAA,OAAO,MAAM;;AAGf;;AAEG;AACI,IAAA,MAAM,kBAAkB,GAAA;AAC7B,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE;QAEhD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,MAAM;;AAGf,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAEhC,QAAQ,MAAM;AACZ,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW;AACpB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS;AAClB,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW;AACpB,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,QAAQ;AACjB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO;AAChB,YAAA,KAAK,wBAAwB;AAC3B,gBAAA,OAAO,gBAAgB;AACzB,YAAA,KAAK,oBAAoB;AACvB,gBAAA,OAAO,mBAAmB;AAC5B,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS;AAClB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS;AAClB,YAAA;AACE,gBAAA,OAAO,QAAQ;;;AAIrB;;AAEG;AACI,IAAA,MAAM,oBAAoB,GAAA;AAC/B,QAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAEvD,QAAA,IAAI,eAAe,KAAK,QAAQ,EAAE;AAChC,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE;YAEhD,IAAI,IAAI,EAAE;AACR,gBAAA,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE;;;AAI5B,QAAA,OAAO,EAAE;;;;ACtGb;;AAEG;AACG,MAAO,yBAA0B,SAAQ,mBAAmB,CAAA;AAChE;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,sBAAsB,CAAC;AAEpD,IAAA,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;AAC/D,IAAA,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,+BAA+B,CAAC;AACtE,IAAA,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC;AAE3E;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAyC,EAAA;AAEzC,QAAA,OAAO,yBAAyB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGjE,IAAA,MAAM,cAAc,GAAA;QAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAACA,sBAAoB,CAAC,EAAE;QAErE,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,OAAO;;AAGhB,QAAA,MAAM,KAAK,CAAC,uBAAuB,CAAC;;AAGtC;;AAEG;AACI,IAAA,MAAM,gBAAgB,GAAA;AAC3B,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE;QAE5C,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE;AAC9D,YAAA,OAAO,QAAQ;;QAGjB,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;AAC5D,YAAA,OAAO,MAAM;;QAGf,IAAI,MAAM,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE;AAC/D,YAAA,OAAO,SAAS;;AAGlB,QAAA,OAAO,SAAS;;AAGlB;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;AAClB,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;QAExC,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,MAAM,OAAO,CAAC,IAAI,EAAE;;AAG7B,QAAA,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E;;AAGH;;AAEG;AACI,IAAA,MAAM,kBAAkB,GAAA;AAC7B,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE;QAEhD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,MAAM;;AAGf,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAEhC,QAAQ,MAAM;AACZ,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW;AACpB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS;AAClB,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW;AACpB,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,QAAQ;AACjB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO;AAChB,YAAA,KAAK,wBAAwB;AAC3B,gBAAA,OAAO,gBAAgB;AACzB,YAAA,KAAK,oBAAoB;AACvB,gBAAA,OAAO,mBAAmB;AAC5B,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS;AAClB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS;AAClB,YAAA;AACE,gBAAA,OAAO,QAAQ;;;AAIrB;;AAEG;AACI,IAAA,MAAM,oBAAoB,GAAA;AAC/B,QAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAEvD,QAAA,IAAI,eAAe,KAAK,QAAQ,EAAE;AAChC,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE;YAEhD,IAAI,IAAI,EAAE;AACR,gBAAA,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE;;;AAI5B,QAAA,OAAO,EAAE;;AAGX;;AAEG;AACI,IAAA,MAAM,eAAe,GAAA;QAC1B,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;;AAGpD;;AAEG;AACI,IAAA,MAAM,qBAAqB,GAAA;QAChC,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;;AAGhE;;AAEG;AACI,IAAA,MAAM,mBAAmB,GAAA;QAC9B,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;;;;ACjJhE;;AAEG;AACG,MAAO,uBAAwB,SAAQ,mBAAmB,CAAA;AAC9D;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,gBAAgB,CAAC;AAE9C;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAuC,EAAA;AAEvC,QAAA,OAAO,uBAAuB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAG/D;;AAEG;AACI,IAAA,MAAM,aAAa,GAAA;QACxB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE;;;;ACxBhE;;AAEG;AACG,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;AACnD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,WAAW,CAAC;AAEzC,IAAA,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;AAEjE,IAAA,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;AAEjE,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;AAE3C;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA+B,EAAA;QAE/B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAClD,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,OAAO,EAAE,IAAI,KAClB,MAAM,gBAAgB,CAAC,aAAa,CAClC,MAAM,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EACnC,IAAI,CACL,CACJ;;AAGH;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;AACjB,QAAA,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC;;QAGvE,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE;;AAGnC;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,IAAI,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;AACjC,YAAA,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D;;QAGH,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE;;AAGhD;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;;AAGzC;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,oBAAoB,CAAC;;AAGxE;;AAEG;AACI,IAAA,MAAM,aAAa,GAAA;AACxB,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,uBAAuB,CAAC;;AAG3E;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;QACpB,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE;;;;AChF5D;;AAEG;AACG,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;AACvD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC;AAE1C;;;AAGG;IACI,OAAO,IAAI,CAAC,OAAgC,EAAA;AACjD,QAAA,OAAO,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGxD;;AAEG;IACI,MAAM,aAAa,CAAC,OAAgC,EAAA;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AAC5C,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,MAAM,KAAK,CAAC,OAAO,EAAE;;;AAIzB;;AAEG;IACI,MAAM,SAAS,CACpB,OAAgC,EAAA;AAEhC,QAAA,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE;;AAGxE;;AAEG;AACI,IAAA,MAAM,aAAa,GAAA;AACxB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE;AAE3B,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;;AAGpC,QAAA,OAAO,MAAM;;;;AChDjB;;AAEG;AACG,MAAO,cAAe,SAAQ,mBAAmB,CAAA;AACrD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;AAExC,IAAA,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;AACxD,IAAA,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;AAE1D;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA8B,EAAA;AAE9B,QAAA,IAAI,OAAO,CAAC,mBAAmB,KAAK,UAAU,EAAE;YAC9C,OAAO,cAAc,CAAC,qBAAqB,CAAC;AAC1C,gBAAA,SAAS,EAAE,oBAAoB;AAChC,aAAA,CAAC;;AACG,aAAA,IAAI,OAAO,CAAC,mBAAmB,KAAK,cAAc,EAAE;YACzD,OAAO,cAAc,CAAC,qBAAqB,CAAC;AAC1C,gBAAA,SAAS,EAAE,wBAAwB;AACpC,aAAA,CAAC;;AAEJ,QAAA,OAAO,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGtD;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;QAC1C,IAAI,QAAQ,EAAE;YACZ,QACE,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC;;AAE1C,gBAAA,EAAE;;AAGN,QAAA,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF;;AAGH;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;QACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;;AAGtC;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAC9B,QAAQ,CAAC,oBAAoB,CAAC;;AAGlC;;AAEG;AACI,IAAA,MAAM,aAAa,GAAA;AACxB,QAAA,OAAO,MAAM,CACX,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAC9B,QAAQ,CAAC,uBAAuB,CAAC;;;;ACtEvC;;;;AAIG;MACU,eAAe,CAAA;AAC1B;;AAEG;AACH,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAGjD;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;AAExC,QAAA,OAAO,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC;;AAGhD;;AAEG;AACH,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;AAGzD;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,SAAS;AAE1D,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AACxC,YAAA,OAAO,QAAQ;;AAGjB,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AACtC,YAAA,OAAO,MAAM;;AAGf,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AACzC,YAAA,OAAO,SAAS;;AAGlB,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AACzC,YAAA,OAAO,SAAS;;AAGlB,QAAA,OAAO,SAAS;;AAGlB,IAAA,QAAQ;IAER,WAAY,CAAA,OAAkC,EAAE,SAAiB,EAAA;AAC/D,QAAA,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,uBAAuB,CACvD,OAAO,EACP,SAAS,EACT,WAAW,CACZ;;AAGH;;AAEG;IACI,KAAK,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;AAExC,YAAA,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;;aACtC;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;;;IAIlD,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;;IAGlD,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;;AAEzD;;ACpFD;;;AAGG;MACU,eAAe,CAAA;AAC1B;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,SAAS;AAE1D,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AACxC,YAAA,OAAO,QAAQ;;AAGjB,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AACtC,YAAA,OAAO,MAAM;;AAGf,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AACzC,YAAA,OAAO,SAAS;;AAGlB,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AACzC,YAAA,OAAO,SAAS;;AAGlB,QAAA,OAAO,SAAS;;AAGlB;;AAEG;AACH,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;AAElC,QAAA,OAAO,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;;AAG3C,IAAA,QAAQ;IAER,WAAY,CAAA,OAA8B,EAAE,SAAiB,EAAA;AAC3D,QAAA,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,uBAAuB,CACvD,OAAO,EACP,SAAS,EACT,WAAW,CACZ;;IAGH,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;;AAEnD;;ACrDD;;AAEG;MACU,cAAc,CAAA;AACzB,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC;;AAGhE,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,gCAAgC,CAC1C,8BAA8B,CAC/B;;AAGH,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC;AACvE,QAAA,OAAO,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC;;AAGvC,IAAA,IAAW,aAAa,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,gCAAgC,CAC1C,qCAAqC,CACtC;;AAGH,IAAA,QAAQ;IAER,WAAY,CAAA,OAAkC,EAAE,SAAiB,EAAA;AAC/D,QAAA,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,uBAAuB,CACvD,OAAO,EACP,SAAS,EACT,UAAU,CACX;;AAGH,IAAA,gCAAgC,CAAC,SAAiB,EAAA;AAChD,QAAA,MAAM,OAAO,GACX,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC;QACtD,OAAO,OAAO,KAAK,IAAI;;AAE1B;;AC5CD;;AAEG;;;;"}