@theseam/ui-common 0.4.10 → 0.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/buttons/badge-button/badge-button.component.d.ts +7 -7
  2. package/buttons/button/button.component.d.ts +6 -6
  3. package/buttons/buttons.module.d.ts +1 -1
  4. package/buttons/progress-circle-button/progress-circle-button.component.d.ts +4 -4
  5. package/buttons/toggle-button/toggle-button.component.d.ts +4 -4
  6. package/esm2020/buttons/badge-button/badge-button.component.mjs +10 -10
  7. package/esm2020/buttons/button/button.component.mjs +9 -9
  8. package/esm2020/buttons/buttons.module.mjs +29 -29
  9. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +10 -10
  10. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +8 -8
  11. package/esm2020/carousel/carousel.component.mjs +3 -2
  12. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +1 -1
  13. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +1 -1
  14. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +1 -1
  15. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +11 -3
  16. package/esm2020/framework/side-nav/side-nav.component.mjs +29 -4
  17. package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
  18. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  19. package/esm2020/loading/loading/loading.component.mjs +5 -5
  20. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  21. package/esm2020/loading/loading.module.mjs +6 -6
  22. package/esm2020/services/preferences/preferences-accessor.mjs +1 -1
  23. package/esm2020/services/preferences/preferences-manager.service.mjs +1 -1
  24. package/esm2020/services/preferences/preferences-record.mjs +1 -1
  25. package/esm2020/services/preferences/preferences.models.mjs +1 -1
  26. package/esm2020/story-helpers/arg-type-helpers.mjs +5 -9
  27. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +1 -1
  28. package/esm2020/testing/get-harness.mjs +8 -2
  29. package/esm2020/testing/story-expect.mjs +3 -2
  30. package/esm2020/toggle-edit/toggle-edit.component.mjs +1 -1
  31. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  32. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  33. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  34. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  35. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  36. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  37. package/esm2020/widget/preferences/widget-preferences.models.mjs +1 -1
  38. package/esm2020/widget/preferences/widget-preferences.service.mjs +1 -1
  39. package/esm2020/widget/preferences/widget-preferences.token.mjs +1 -1
  40. package/esm2020/widget/widget/widget.component.mjs +3 -3
  41. package/esm2020/widget/widget.models.mjs +1 -1
  42. package/fesm2015/theseam-ui-common-buttons.mjs +55 -55
  43. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  44. package/fesm2015/theseam-ui-common-carousel.mjs +2 -1
  45. package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
  46. package/fesm2015/theseam-ui-common-datatable.mjs +1 -1
  47. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  48. package/fesm2015/theseam-ui-common-framework.mjs +41 -8
  49. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  50. package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
  51. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  52. package/fesm2015/theseam-ui-common-loading.mjs +10 -10
  53. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  54. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  55. package/fesm2015/theseam-ui-common-story-helpers.mjs +4 -8
  56. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  57. package/fesm2015/theseam-ui-common-testing.mjs +9 -2
  58. package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
  59. package/fesm2015/theseam-ui-common-toggle-edit.mjs +1 -1
  60. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  61. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  62. package/fesm2015/theseam-ui-common-widget.mjs +2 -2
  63. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  64. package/fesm2020/theseam-ui-common-buttons.mjs +55 -55
  65. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  66. package/fesm2020/theseam-ui-common-carousel.mjs +2 -1
  67. package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
  68. package/fesm2020/theseam-ui-common-datatable.mjs +1 -1
  69. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  70. package/fesm2020/theseam-ui-common-framework.mjs +40 -7
  71. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  72. package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
  73. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  74. package/fesm2020/theseam-ui-common-loading.mjs +10 -10
  75. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  76. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  77. package/fesm2020/theseam-ui-common-story-helpers.mjs +4 -8
  78. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  79. package/fesm2020/theseam-ui-common-testing.mjs +9 -2
  80. package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
  81. package/fesm2020/theseam-ui-common-toggle-edit.mjs +1 -1
  82. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  83. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  84. package/fesm2020/theseam-ui-common-widget.mjs +2 -2
  85. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  86. package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +5 -2
  87. package/framework/side-nav/side-nav.component.d.ts +6 -2
  88. package/framework/side-nav/side-nav.models.d.ts +12 -0
  89. package/loading/loading/loading.component.d.ts +3 -3
  90. package/loading/loading.module.d.ts +1 -1
  91. package/package.json +1 -1
  92. package/testing/get-harness.d.ts +2 -2
  93. package/testing/story-expect.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-widget.mjs","sources":["../../../projects/ui-common/widget/directives/widget-drag-handle.directive.ts","../../../projects/ui-common/widget/directives/widget-icon-tpl.directive.ts","../../../projects/ui-common/widget/directives/widget-title-tpl.directive.ts","../../../projects/ui-common/widget/preferences/widget-preferences.models.ts","../../../projects/ui-common/widget/preferences/widget-preferences.token.ts","../../../projects/ui-common/widget/preferences/widget-preferences.service.ts","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.component.html","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.component.html","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.component.html","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.component.html","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.component.html","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.component.html","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.html","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.component.html","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.module.ts","../../../projects/ui-common/widget/widget-token.ts","../../../projects/ui-common/widget/widget/widget.component.ts","../../../projects/ui-common/widget/widget/widget.component.html","../../../projects/ui-common/widget/widget-footer/widget-footer.component.ts","../../../projects/ui-common/widget/widget-footer/widget-footer.component.html","../../../projects/ui-common/widget/widget-registry.service.ts","../../../projects/ui-common/widget/widget.module.ts","../../../projects/ui-common/widget/theseam-ui-common-widget.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop'\nimport {\n AfterViewInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core'\nimport { BehaviorSubject, Subject } from 'rxjs'\nimport { auditTime, filter, switchMap, take, takeUntil } from 'rxjs/operators'\n\nimport { getClosestWidgetCdkDrag } from '@theseam/ui-common/utils'\n\n//\n// NOTE: This will probably NOT be used long term, unless more of the\n// CdkDragDrop code is rewritten.\n//\n// This directive is meant to be a HACK replacement directive for CdkDragHandle.\n// The reason this was made is because CdkDragHandle doesn't work in child\n// components, since it uses ContentChildren to query for the handles.\n//\n// This could easily break, because I am forcing the handles query list to emit\n// changes manually. So, if the query list actually changes, then my changes\n// will be broken.\n//\n\n// Helper type that ignores `readonly` properties. This is used in\n// `extendStyles` to ignore the readonly properties on CSSStyleDeclaration\n// since we won't be touching those anyway.\ntype Writeable<T> = { -readonly [P in keyof T]-?: T[P] }\n\n/**\n * Extended CSSStyleDeclaration that includes a couple of drag-related\n * properties that aren't in the built-in TS typings.\n */\ninterface DragCSSStyleDeclaration extends CSSStyleDeclaration {\n webkitUserDrag: string\n MozUserSelect: string // For some reason the Firefox property is in PascalCase.\n msScrollSnapType: string\n scrollSnapType: string\n msUserSelect: string\n}\n\nexport function extendStyles(\n dest: Writeable<CSSStyleDeclaration>,\n source: Partial<DragCSSStyleDeclaration>\n) {\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n dest[key] = source[key]!\n }\n }\n\n return dest\n}\n\nexport function toggleNativeDragInteractions(element: HTMLElement, enable: boolean) {\n const userSelect = enable ? '' : 'none'\n\n extendStyles(element.style, {\n touchAction: enable ? '' : 'none',\n webkitUserDrag: enable ? '' : 'none',\n userSelect,\n msUserSelect: userSelect,\n webkitUserSelect: userSelect,\n MozUserSelect: userSelect\n })\n}\n\nexport interface TheSeamWidgetAccessor<TItem> {\n widgetsChange: EventEmitter<TItem[]>\n cdkDragDirectives: QueryList<CdkDrag>\n}\n\nexport const THESEAM_WIDGET_ACCESSOR = new InjectionToken<TheSeamWidgetAccessor<any>>(\n 'TheSeamWidgetAccessor'\n)\n\n@Directive({\n selector: '[seamWidgetDragHandle]',\n host: {\n 'class': 'cdk-drag-handle'\n }\n})\nexport class WidgetDragHandleDirective implements OnInit, OnDestroy, AfterViewInit, DoCheck {\n static ngAcceptInputType_disabled: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _attachedToDom = new BehaviorSubject<boolean>(false)\n private _doneCheckingAttached = false\n private _knownParentDrag: any /* CdkDrag | undefined */\n\n /** Needed because CdkDrag reads this variable */\n get _parentDrag() { return this.getParentCdkDrag() }\n\n /** Emits when the state of the handle has changed. */\n _stateChanges = new Subject<CdkDragHandle>()\n\n /** Whether starting to drag through this handle is disabled. */\n @Input('cdkDragHandleDisabled')\n get disabled(): boolean { return this._disabled }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n this._stateChanges.next(this as any)\n }\n private _disabled = false\n\n constructor(\n public element: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n @Optional() @Inject(THESEAM_WIDGET_ACCESSOR) private _dashboardWidgets?: TheSeamWidgetAccessor<any>,\n @Optional() private __parentDrag?: CdkDrag\n ) {\n toggleNativeDragInteractions(element.nativeElement, false)\n }\n\n ngOnInit() {\n if (this._dashboardWidgets) {\n this._dashboardWidgets.widgetsChange.pipe(\n auditTime(0),\n takeUntil(this._ngUnsubscribe)\n ).subscribe(() => {\n if (this._knownParentDrag) {\n const isAttached = this.isAttachedToDom()\n if (isAttached) {\n const parent = this.getParentCdkDrag() as any\n if (this._knownParentDrag !== parent) {\n this._attachedToDom.next(isAttached)\n }\n }\n }\n })\n }\n }\n\n ngAfterViewInit() {\n if (this.__parentDrag || this._dashboardWidgets) {\n // FIXME: This only works until the widget is moved to another template\n // outlet. Now that the component isn't reinitialized when moving between\n // lists the handle needs to now reflex that change to its new CdkDrag\n // parent and possibly tell its previous parent to forget it.\n\n // HACK: This is a hack to allow the `CdkDrag` directive to manage a\n // handle that is not visible to `ContentChildren` query.\n this._ngZone.onStable.asObservable()\n // .pipe(take(1), untilDestroyed(this))\n .pipe(\n take(1),\n // With the weird trick being done to keep widgets initialized when switching columns\n switchMap(() => this._attachedToDom.pipe(filter(v => v === true))),\n // take(1)\n takeUntil(this._ngUnsubscribe)\n )\n .subscribe(() => {\n const parent = this.getParentCdkDrag() as any\n\n if (this._knownParentDrag && this._knownParentDrag !== parent) {\n this._knownParentDrag._dragRef.disableHandle(this.element.nativeElement)\n this._knownParentDrag = undefined\n }\n\n if (parent) {\n this._knownParentDrag = parent\n parent._handles.reset([ ...parent._handles._results, this ])\n parent._handles.notifyOnChanges()\n parent._dragRef.enableHandle(this.element.nativeElement)\n }\n })\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete()\n this._attachedToDom.complete()\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngDoCheck() {\n // The attached observable only emits once, so we can stop checking if\n // attached.\n if (this._doneCheckingAttached) { return }\n\n const isAttached = this.isAttachedToDom()\n if (isAttached !== this._attachedToDom.value) {\n this._attachedToDom.next(isAttached)\n this._doneCheckingAttached = true\n }\n }\n\n public isAttachedToDom(): boolean {\n return document.body.contains(this.element.nativeElement)\n }\n\n /** Closest parent draggable instance. */\n public getParentCdkDrag(): CdkDrag | undefined {\n if (this.__parentDrag) {\n return this.__parentDrag\n } else if (this._dashboardWidgets && this._dashboardWidgets.cdkDragDirectives) {\n const dragsArr = this._dashboardWidgets.cdkDragDirectives.toArray()\n const closest = getClosestWidgetCdkDrag(this.element, dragsArr)\n return (closest !== undefined && closest !== null) ? closest : undefined\n }\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetIconTpl]'\n})\nexport class WidgetIconTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetTitleTpl]'\n})\nexport class WidgetTitleTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { TheSeamPreferencesBase } from '@theseam/ui-common/services'\r\n\r\nexport interface TheSeamWidgetPreferences_v1 extends TheSeamPreferencesBase {\r\n version: 1\r\n collapsed?: boolean\r\n}\r\n\r\nexport type TheSeamWidgetPreferences = TheSeamWidgetPreferences_v1\r\n\r\nexport const CURRENT_WIDGET_PREFERENCES_VERSION = 1\r\n\r\nexport const EMPTY_WIDGET_PREFERENCES: TheSeamWidgetPreferences = {\r\n version: 1,\r\n}\r\n","import { InjectionToken } from '@angular/core'\r\n\r\nimport { TheSeamPreferencesAccessor } from '@theseam/ui-common/services'\r\n\r\nexport const THESEAM_WIDGET_PREFERENCES_ACCESSOR = new InjectionToken<TheSeamPreferencesAccessor>(\r\n 'TheSeamWidgetPreferencesAccessor'\r\n)\r\n","import { Inject, Injectable, Optional } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\nimport { map, take, tap } from 'rxjs/operators'\r\n\r\nimport { TheSeamPreferencesAccessor, TheSeamPreferencesBase, TheSeamPreferencesManagerService } from '@theseam/ui-common/services'\r\nimport { THESEAM_WIDGET_PREFERENCES_ACCESSOR } from './widget-preferences.token'\r\nimport { CURRENT_WIDGET_PREFERENCES_VERSION, EMPTY_WIDGET_PREFERENCES, TheSeamWidgetPreferences } from './widget-preferences.models'\r\n\r\ntype TheSeamWidgetPreferencesPatch = Omit<TheSeamWidgetPreferences, 'version'>\r\n\r\n// TODO: Rethink this. I originally implemented this to be shared widget's then\r\n// changed it to be per widget, for the accessor injection.\r\n\r\n// @Injectable({ providedIn: 'root' })\r\n@Injectable()\r\nexport class WidgetPreferencesService {\r\n\r\n private _pendingPatches: { [preferencesKey: string]: TheSeamWidgetPreferencesPatch[] } = { }\r\n\r\n constructor(\r\n private readonly _preferencesManager: TheSeamPreferencesManagerService,\r\n @Optional() @Inject(THESEAM_WIDGET_PREFERENCES_ACCESSOR) private _prefsAccessor?: TheSeamPreferencesAccessor\r\n ) { }\r\n\r\n public isPatchPending(preferenceKey: string): boolean {\r\n return this._pendingPatches[preferenceKey] && this._pendingPatches[preferenceKey].length > 0\r\n }\r\n\r\n public isPending(preferenceKey: string): boolean {\r\n return this._preferencesManager.isPending(preferenceKey)\r\n }\r\n\r\n public isLoaded(preferenceKey: string): boolean {\r\n return this._preferencesManager.isLoaded(preferenceKey)\r\n }\r\n\r\n public preferences(preferenceKey: string): Observable<TheSeamWidgetPreferences> {\r\n if (!this._prefsAccessor) {\r\n return of(JSON.parse(JSON.stringify(EMPTY_WIDGET_PREFERENCES)))\r\n }\r\n\r\n return this._preferencesManager.preferences(preferenceKey, this._prefsAccessor, EMPTY_WIDGET_PREFERENCES).pipe(\r\n map(prefs => {\r\n if (this._isValidPreferences(prefs)) {\r\n return prefs\r\n }\r\n\r\n throw Error(`Preferences for key '${preferenceKey}' is not a valid widget preferences.`)\r\n })\r\n )\r\n }\r\n\r\n public refresh(preferenceKey: string): void {\r\n this._preferencesManager.refresh(preferenceKey)\r\n }\r\n\r\n public patchPreferences(preferenceKey: string, preferences: TheSeamWidgetPreferencesPatch): void {\r\n if (!this._prefsAccessor) {\r\n return\r\n }\r\n\r\n if (!this._pendingPatches[preferenceKey]) {\r\n this._pendingPatches[preferenceKey] = []\r\n }\r\n\r\n if (this._pendingPatches[preferenceKey].length > 0) {\r\n this._pendingPatches[preferenceKey].push(preferences)\r\n return\r\n }\r\n\r\n this._pendingPatches[preferenceKey].push(preferences)\r\n\r\n this.preferences(preferenceKey).pipe(\r\n take(1),\r\n map(prefs => {\r\n const pendingPatches = this._pendingPatches[preferenceKey]\r\n this._pendingPatches[preferenceKey] = []\r\n const newPrefs: TheSeamWidgetPreferences = pendingPatches.reduce((acc, patch) => {\r\n return { ...acc, ...patch }\r\n }, prefs) as TheSeamWidgetPreferences // Typescript isn't recognizing that 'version' is included in the initial value.\r\n\r\n if (!this._isValidPreferences(newPrefs)) {\r\n throw Error(`Attempted to patch preferences for key '${preferenceKey}' with invalid preferences.`)\r\n }\r\n\r\n this._preferencesManager.update(preferenceKey, newPrefs)\r\n }),\r\n tap(() => this.refresh(preferenceKey)),\r\n ).subscribe()\r\n }\r\n\r\n private _isValidPreferences(prefs: TheSeamPreferencesBase): prefs is TheSeamWidgetPreferences {\r\n return prefs.version === CURRENT_WIDGET_PREFERENCES_VERSION\r\n }\r\n\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-button-group',\n templateUrl: './widget-button-group.component.html',\n styleUrls: ['./widget-button-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetButtonGroupComponent { }\n","<ng-content select=\"[seamButton]\"></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\n\nimport { WidgetButtonGroupComponent } from './widget-button-group.component'\n\n@NgModule({\n declarations: [\n WidgetButtonGroupComponent\n ],\n imports: [\n CommonModule,\n TheSeamButtonsModule\n ],\n exports: [\n WidgetButtonGroupComponent,\n\n TheSeamButtonsModule\n ]\n})\nexport class TheSeamWidgetButtonGroupModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-content-header',\n templateUrl: './widget-content-header.component.html',\n styleUrls: ['./widget-content-header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetContentHeaderComponent { }\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetContentHeaderComponent } from './widget-content-header.component'\n\n@NgModule({\n declarations: [\n WidgetContentHeaderComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetContentHeaderComponent\n ]\n})\nexport class TheSeamWidgetContentHeaderModule { }\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-description',\n templateUrl: './widget-description.component.html',\n styleUrls: ['./widget-description.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetDescriptionComponent { }\n","<p><ng-content></ng-content></p>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetDescriptionComponent } from './widget-description.component'\n\n@NgModule({\n declarations: [\n WidgetDescriptionComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetDescriptionComponent\n ]\n})\nexport class TheSeamWidgetDescriptionModule { }\n","import { Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-empty-label,a[seam-widget-empty-label],button[seam-widget-empty-label]',\n templateUrl: './widget-empty-label.component.html',\n styleUrls: ['./widget-empty-label.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetEmptyLabelComponent {\n\n private _type: string | undefined | null\n\n @HostBinding('class.btn')\n get _btnCss() { return !!this._isButton() }\n\n @HostBinding('class.btn-link')\n get _btnLinkCss() { return !!this._isButton() }\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n constructor(\n public _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>\n ) { }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n /** Determines if the component host is an anchor. */\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetEmptyLabelComponent } from './widget-empty-label.component'\n\n@NgModule({\n declarations: [\n WidgetEmptyLabelComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetEmptyLabelComponent\n ]\n})\nexport class TheSeamWidgetEmptyLabelModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seam-widget-footer-link]',\n templateUrl: './widget-footer-link.component.html',\n styleUrls: ['./widget-footer-link.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetFooterLinkComponent { }\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetFooterLinkComponent } from './widget-footer-link.component'\n\n@NgModule({\n declarations: [\n WidgetFooterLinkComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetFooterLinkComponent\n ]\n})\nexport class TheSeamWidgetFooterLinkModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-footer-text',\n templateUrl: './widget-footer-text.component.html',\n styleUrls: ['./widget-footer-text.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetFooterTextComponent { }\n","<em>\n <ng-content></ng-content>\n</em>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetFooterTextComponent } from './widget-footer-text.component'\n\n@NgModule({\n declarations: [\n WidgetFooterTextComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetFooterTextComponent\n ]\n})\nexport class TheSeamWidgetFooterTextModule { }\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation } from '@angular/core'\n\nimport {\n CanThemeCtor,\n mixinTheme\n} from '@theseam/ui-common/core'\n\nclass WidgetHeaderBadgeBase {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n\nconst _WidgetHeaderBadgeMixinBase: CanThemeCtor &\n typeof WidgetHeaderBadgeBase = mixinTheme(WidgetHeaderBadgeBase, 'badge')\n\n@Component({\n selector: 'seam-widget-header-badge',\n templateUrl: './widget-header-badge.component.html',\n styleUrls: ['./widget-header-badge.component.scss'],\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'theme' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'class': 'badge float-right'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetHeaderBadgeComponent extends _WidgetHeaderBadgeMixinBase {\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef\n ) { super(_elementRef) }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetHeaderBadgeComponent } from './widget-header-badge.component'\n\n@NgModule({\n declarations: [\n WidgetHeaderBadgeComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetHeaderBadgeComponent\n ]\n})\nexport class TheSeamWidgetHeaderBadgeModule { }\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetListGroupItemIconTpl]',\n exportAs: 'seamWidgetListGroupItemIconTpl'\n})\nexport class WidgetListGroupItemIconTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, ContentChild, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanBeActive,\n CanBeActiveCtor,\n CanDisable,\n CanDisableCtor,\n CanTheme,\n CanThemeCtor,\n HasElementRef,\n mixinActive,\n mixinDisabled,\n mixinTheme\n} from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { WidgetListGroupItemIconTplDirective } from './widget-list-group-item-icon-tpl.directive'\n\n// tslint:disable-next-line: max-line-length\nconst WIDGET_LIST_GROUP_ITEM_INPUTS = [ 'disabled', 'theme', 'active', 'icon', 'iconClass', 'label', 'secondaryIcon', 'secondaryIconClass', 'secondaryIconTitle' ]\n\n@Directive()\n// tslint:disable-next-line: directive-class-suffix\nclass WidgetListGroupItemBase {\n\n @ContentChild(WidgetListGroupItemIconTplDirective, { static: true }) iconTpl?: WidgetListGroupItemIconTplDirective\n\n icon?: SeamIcon\n iconClass?: string\n secondaryIcon?: SeamIcon\n secondaryIconClass?: string\n secondaryIconTitle?: string\n\n label?: string\n\n constructor(\n public _elementRef: ElementRef,\n public _renderer: Renderer2\n ) { }\n\n /** Focuses the element. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\n@Directive()\n// tslint:disable-next-line: directive-class-suffix\nclass WidgetListGroupItemActionableBase extends WidgetListGroupItemBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _renderer)\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n}\n\nconst _WidgetListGroupItemBase: CanDisableCtor & CanThemeCtor & CanBeActiveCtor &\n typeof WidgetListGroupItemBase = mixinActive(mixinTheme(mixinDisabled(WidgetListGroupItemBase), 'list-group-item'))\n\nconst _WidgetListGroupItemActionableBase: CanDisableCtor & CanThemeCtor & CanBeActiveCtor &\n typeof WidgetListGroupItemActionableBase = mixinActive(mixinTheme(mixinDisabled(WidgetListGroupItemActionableBase), 'list-group-item'))\n\n@Component({\n selector: 'seam-widget-list-group-item',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n 'class': 'list-group-item',\n '[class.active]': 'active',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemComponent extends _WidgetListGroupItemBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive {\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _renderer)\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seam-widget-list-group-item],button[seamWidgetListGroupItem]',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n '[attr.type]': 'type',\n 'class': 'list-group-item list-group-item-action',\n '[class.active]': 'active',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemButtonComponent extends _WidgetListGroupItemActionableBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive, OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' | undefined | null = 'button'\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seam-widget-list-group-item],a[seamWidgetListGroupItem]',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n 'class': 'list-group-item list-group-item-action',\n '[class.active]': 'active',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemAnchorComponent extends _WidgetListGroupItemActionableBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive, OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<div class=\"d-flex flex-row\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <span class=\"pr-2\">\n <ng-container *ngTemplateOutlet=\"$any(iconTpl)\"></ng-container>\n </span>\n </ng-container>\n <ng-template #noIconTpl>\n <span class=\"pr-2\">\n <seam-icon *ngIf=\"icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n iconType=\"borderless-styled-square\">\n </seam-icon>\n </span>\n </ng-template>\n\n <div class=\"d-flex flex-column justify-content-center flex-grow-1\">\n {{ label }}\n </div>\n\n <seam-icon *ngIf=\"secondaryIcon\"\n iconType=\"borderless-styled-square\"\n class=\"secondary-icon align-self-center ml-1\"\n [icon]=\"secondaryIcon\"\n [iconClass]=\"secondaryIconClass\"\n [title]=\"secondaryIconTitle\"\n size=\"lg\">\n </seam-icon>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n// TODO: Make `ListGroup` a root component and wrap it with `WidgetListGroup`.\n\n@Component({\n selector: 'seam-widget-list-group',\n templateUrl: './widget-list-group.component.html',\n styleUrls: ['./widget-list-group.component.scss'],\n host: {\n 'class': 'list-group'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupComponent { }\n","<ng-content select=\"seam-widget-list-group-item,\n a[seam-widget-list-group-item],\n a[seamWidgetListGroupItem],\n button[seam-widget-list-group-item],\n button[seamWidgetListGroupItem]\">\n</ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { WidgetListGroupItemIconTplDirective } from './widget-list-group-item/widget-list-group-item-icon-tpl.directive'\nimport {\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent\n} from './widget-list-group-item/widget-list-group-item.component'\nimport { WidgetListGroupComponent } from './widget-list-group.component'\n\n@NgModule({\n declarations: [\n WidgetListGroupComponent,\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent,\n WidgetListGroupItemIconTplDirective\n ],\n imports: [\n CommonModule,\n TheSeamIconModule\n ],\n exports: [\n WidgetListGroupComponent,\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent,\n WidgetListGroupItemIconTplDirective\n ]\n})\nexport class TheSeamWidgetListGroupModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport type { ITableColumn, TrackByFunction } from '@theseam/ui-common/table'\n\n@Component({\n selector: 'seam-widget-table',\n templateUrl: './widget-table.component.html',\n styleUrls: ['./widget-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetTableComponent<T> {\n static ngAcceptInputType_hasHeader: BooleanInput\n\n @Input() columns: (string | ITableColumn)[] | undefined | null\n @Input() rows: T[] | undefined | null = []\n @Input() trackBy: TrackByFunction<T> | undefined | null\n @Input() size: 'sm' | 'md' | undefined | null = 'sm'\n @Input() @InputBoolean() hasHeader = true\n\n @Output() readonly actionRefreshRequest = new EventEmitter<any>()\n\n _actionRefreshRequest() {\n this.actionRefreshRequest.emit()\n }\n\n}\n","<seam-table\n [columns]=\"columns\"\n [rows]=\"rows\"\n [trackBy]=\"trackBy\"\n [size]=\"size\"\n [hasHeader]=\"hasHeader\"\n (actionRefreshRequest)=\"_actionRefreshRequest()\">\n</seam-table>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamTableModule } from '@theseam/ui-common/table'\nimport { TheSeamTableCellTypesModule } from '@theseam/ui-common/table-cell-types'\n\nimport { WidgetTableComponent } from './widget-table.component'\n\n@NgModule({\n declarations: [\n WidgetTableComponent\n ],\n imports: [\n CommonModule,\n TheSeamTableModule,\n TheSeamTableCellTypesModule\n ],\n exports: [\n WidgetTableComponent\n ]\n})\nexport class TheSeamWidgetTableModule { }\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-footer,[seam-widget-tile-footer]',\n templateUrl: './widget-tile-footer.component.html',\n styleUrls: ['./widget-tile-footer.component.scss'],\n host: {\n class: 'd-flex flex-row justify-content-end',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetTileFooterComponent { }\n","\n <ng-content select=\"seam-widget-tile-footer-item,[seam-widget-tile-footer-item]\"></ng-content>\n\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-widget-tile-footer-item,a[seam-widget-tile-footer-item],button[seam-widget-tile-footer-item]',\n templateUrl: './widget-tile-footer-item.component.html',\n styleUrls: ['./widget-tile-footer-item.component.scss'],\n host: {\n class: 'btn btn-link py-0 px-1',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetTileFooterItemComponent {\n static ngAcceptInputType_disabled: BooleanInput\n\n private _type: string | undefined | null\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @HostBinding('class.disabled')\n get _DisabledCss() { return this.disabled }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n @Input() @InputBoolean() disabled = false\n\n constructor(\n public _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>,\n ) { }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-group',\n templateUrl: './widget-tile-group.component.html',\n styleUrls: ['./widget-tile-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetTileGroupComponent { }\n","<ng-content select=\"[seam-widget-tile],seam-widget-tile\"></ng-content>\n<ng-content select=\"seam-widget-tile-footer\"></ng-content>\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetTileSecondaryIcon]',\n exportAs: 'seamWidgetTileSecondaryIcon',\n})\nexport class WidgetTileSecondaryIconDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, ElementRef, HostBinding, Input, OnDestroy, OnInit, Renderer2, ViewEncapsulation } from '@angular/core'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\n\nimport {\n CanDisableCtor,\n HasElementRef,\n HasRenderer2,\n HasTabIndexCtor,\n InputBoolean,\n mixinDisabled,\n mixinTabIndex,\n} from '@theseam/ui-common/core'\nimport { TheSeamIconType } from '@theseam/ui-common/icon'\n\nimport { WidgetTileSecondaryIconDirective } from './widget-tile-secondary-icon.directive'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamWidgetTileBase implements OnDestroy, HasRenderer2, HasElementRef {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2,\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamWidgetTileMixinBase: CanDisableCtor & HasTabIndexCtor &\n typeof TheSeamWidgetTileBase = mixinTabIndex(mixinDisabled(TheSeamWidgetTileBase))\n\n// TODO: Should this component be split into separate components for button and anchor.\n@Component({\n selector: 'seam-widget-tile, a[seam-widget-tile], button[seam-widget-tile]',\n templateUrl: './widget-tile.component.html',\n styleUrls: ['./widget-tile.component.scss'],\n inputs: [ 'disabled' ],\n exportAs: 'seamWidgetTile',\n encapsulation: ViewEncapsulation.None,\n})\nexport class WidgetTileComponent extends _TheSeamWidgetTileMixinBase implements OnInit, OnDestroy {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n\n private _clickUnListen: (() => void | undefined | null) | undefined | null\n\n private _type: string | undefined | null\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @HostBinding('class.btn')\n get _btnCss() { return !!this._isButton() }\n\n @HostBinding('class.disabled')\n get _disabledCss() { return this.disabled }\n\n @HostBinding('attr.aria-disabled')\n get _ariaDisabled() { return this.disabled.toString() }\n\n @HostBinding('attr.disabled')\n get _attrDisabled() { return this.disabled || null }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() { return this.disabled ? -1 : (this.tabIndex || 0) }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n @Input() icon: string | IconProp | undefined | null\n\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n @Input() iconClass: string | undefined | null\n\n @Input() iconType: TheSeamIconType | undefined | null = 'styled-square'\n\n @Input() notificationIcon: string | IconProp | undefined | null\n @Input() notificationIconClass: string | undefined | null\n\n @ContentChild(WidgetTileSecondaryIconDirective, { static: true }) secondaryIcon?: WidgetTileSecondaryIconDirective\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2,\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnInit() {\n if (this._isAnchor()) {\n this._clickUnListen = this._renderer.listen(this._getHostElement(), 'click', this._haltDisabledEvents)\n }\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n if (this._clickUnListen) {\n this._clickUnListen()\n }\n }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n /** Determines if the component host is an anchor. */\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n _haltDisabledEvents = (event: Event) => {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<div class=\"d-flex flex-row\">\n <div style=\"position: relative\">\n <seam-icon\n [icon]=\"icon\"\n [iconType]=\"iconType\"\n [iconClass]=\"iconClass\"\n [disabled]=\"disabled\">\n </seam-icon>\n\n <seam-icon *ngIf=\"notificationIcon\"\n class=\"widget-tile--notification-icon\"\n [icon]=\"notificationIcon\"\n iconType=\"image-fill\"\n [iconClass]=\"notificationIconClass\"\n [disabled]=\"disabled\">\n </seam-icon>\n </div>\n <div class=\"flex-grow-1 text-left pl-2\" style=\"margin: auto 0;\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"secondaryIcon\">\n <ng-template [ngTemplateOutlet]=\"secondaryIcon.template\"></ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { WidgetTileFooterComponent } from './widget-tile-footer/widget-tile-footer.component'\nimport { WidgetTileFooterItemComponent } from './widget-tile-footer-item/widget-tile-footer-item.component'\nimport { WidgetTileGroupComponent } from './widget-tile-group/widget-tile-group.component'\nimport { WidgetTileSecondaryIconDirective } from './widget-tile-secondary-icon.directive'\nimport { WidgetTileComponent } from './widget-tile.component'\n\n@NgModule({\n declarations: [\n WidgetTileComponent,\n WidgetTileSecondaryIconDirective,\n WidgetTileFooterComponent,\n WidgetTileGroupComponent,\n WidgetTileFooterItemComponent,\n ],\n imports: [\n CommonModule,\n TheSeamIconModule,\n ],\n exports: [\n WidgetTileComponent,\n WidgetTileSecondaryIconDirective,\n WidgetTileFooterComponent,\n WidgetTileGroupComponent,\n WidgetTileFooterItemComponent,\n ],\n})\nexport class TheSeamWidgetTileModule { }\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-list',\n templateUrl: './widget-tile-list.component.html',\n styleUrls: ['./widget-tile-list.component.scss'],\n})\nexport class WidgetTileListComponent { }\n","<ng-content select=\"[seam-widget-tile],seam-widget-tile,seam-widget-tile-group\"></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamWidgetTileModule } from '../widget-tile/widget-tile.module'\n\nimport { WidgetTileListComponent } from './widget-tile-list.component'\n\n@NgModule({\n declarations: [\n WidgetTileListComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetTileListComponent,\n TheSeamWidgetTileModule\n ]\n})\nexport class TheSeamWidgetTileListModule { }\n","import { InjectionToken } from '@angular/core'\n\nimport { IWidgetRegistryRecord } from './widget-registry.models'\nimport { TheSeamWidgetData, TheSeamWidgetDefaults } from './widget.models'\n\nexport const THESEAM_WIDGETS = new InjectionToken<IWidgetRegistryRecord>('TheSeamWidgets')\n\nexport const THESEAM_WIDGET_DATA = new InjectionToken<TheSeamWidgetData>('TheSeamWidgetData')\n\nexport const THESEAM_WIDGET_DEFAULTS = new InjectionToken<TheSeamWidgetDefaults>('TheSeamWidgetDefaults')\n","import { animate, state, style, transition, trigger } from '@angular/animations'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, Inject, Input, isDevMode, OnDestroy, Optional, ViewEncapsulation } from '@angular/core'\nimport { Subject, takeUntil, tap } from 'rxjs'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\nimport { faAngleDown, faCog } from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport { WidgetIconTplDirective } from '../directives/widget-icon-tpl.directive'\nimport { WidgetTitleTplDirective } from '../directives/widget-title-tpl.directive'\nimport { WidgetPreferencesService } from '../preferences/widget-preferences.service'\nimport { THESEAM_WIDGET_DATA, THESEAM_WIDGET_DEFAULTS } from '../widget-token'\nimport { TheSeamWidgetData, TheSeamWidgetDefaults } from '../widget.models'\n\nconst EXPANDED_STATE = 'expanded'\nconst COLLAPSED_STATE = 'collapsed'\n\nconst EXPAND_TRANSITION = `${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`\n\nconst loadingAnimation = trigger('loadingAnim', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('250ms ease-in-out', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n style({ opacity: 1 }),\n animate('250ms ease-in-out', style({ opacity: 0 })),\n ]),\n])\n\n/**\n * I was having an issue getting the content to not be removed from the DOM,\n * before the animation was complete. This animation is a hack to keep the\n * content in the DOM until the animation is complete.\n */\nconst keepContentAnimation = trigger('keepContentAnim', [\n transition(':leave', [\n style({ opacity: 1 }),\n animate('0ms', style({ opacity: 0 })),\n ]),\n])\n\nconst collapseAnimation = trigger('collapseAnim', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: '0' })),\n transition(EXPAND_TRANSITION, animate('0.3s ease-in-out')),\n])\n\n/**\n * Widget\n *\n * Widgets are designed with the intention of being on a dashboard. Other uses\n * may be supported as the need arises.\n *\n * The only HTML/CSS use should be a widget content component, unless there is a\n * case requiring more advanced design. This is so that we can manage a common\n * style for our widgets. If a case requiring non widget content components is\n * used then the situation should be considered for becoming a widget component.\n */\n@Component({\n selector: 'seam-widget',\n templateUrl: './widget.component.html',\n styleUrls: ['./widget.component.scss'],\n providers: [\n WidgetPreferencesService,\n ],\n encapsulation: ViewEncapsulation.None,\n animations: [\n loadingAnimation,\n collapseAnimation,\n keepContentAnimation,\n ],\n})\nexport class WidgetComponent implements OnDestroy {\n\n static ngAcceptInputType_hasHeader: BooleanInput\n static ngAcceptInputType_loading: BooleanInput\n static ngAcceptInputType_hasConfig: BooleanInput\n static ngAcceptInputType_canCollapse: BooleanInput\n\n readonly configIcon = faCog\n readonly collapseIcon = faAngleDown\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _preferencesKey?: string\n\n /**\n * Toggles the collapsed state of a widget.\n */\n @Input() @InputBoolean() collapsed = false\n\n /**\n * Toggles the top header bar of a widget. This should be true for most\n * widgets.\n */\n @Input() @InputBoolean() hasHeader = true\n\n /**\n * Title displayed in the top header.\n *\n * If a more advanced title is needed you can use `seamWidgetTitleTpl`\n * template directive, but text is recommended, because allowing custom styles\n * can lead to inconsitency quickly as different developers keep making\n * tweaks.\n */\n @Input() titleText: string | undefined | null\n\n /**\n * Icon displayed in the top header.\n *\n * If a more advanced icon is needed you can use `seamWidgetIconTpl` template\n * directive, but a `SeamIcon` input is recommended, because allowing custom\n * icons that do not follow the tested types can lead to inconsitency quickly\n * as different developers keep making tweaks.\n */\n @Input()\n get icon(): SeamIcon | undefined { return this._iconUrl || this._iconObj }\n set icon(value: SeamIcon | undefined) {\n if (typeof value === 'string') {\n this._iconUrl = value\n this._iconObj = undefined\n } else {\n this._iconUrl = undefined\n this._iconObj = value\n }\n }\n\n _iconUrl: string | undefined\n _iconObj: IconProp | undefined\n\n /** Add a css class to the header icon. */\n @Input() iconClass: string | undefined | null\n\n /** Shows widget loading instead of content. */\n @Input() @InputBoolean() loading = false\n\n /** @ignore */\n // NOTE: Config is still being worked on.\n @Input() @InputBoolean() hasConfig = false\n\n /**\n * Toggles the ability to collapse a widget. An icon will be displayed in the\n * header to toggle the collapsed state.\n */\n @Input() @InputBoolean() canCollapse = false\n\n @ContentChild(WidgetIconTplDirective, { static: true }) iconTpl?: WidgetIconTplDirective\n @ContentChild(WidgetTitleTplDirective, { static: true }) titleTpl?: WidgetTitleTplDirective\n\n constructor(\n private readonly _widgetPreferences: WidgetPreferencesService,\n @Optional() @Inject(THESEAM_WIDGET_DEFAULTS) private readonly _defaults?: TheSeamWidgetDefaults,\n @Optional() @Inject(THESEAM_WIDGET_DATA) private readonly _data?: TheSeamWidgetData,\n ) {\n if (this._defaults) {\n if (hasProperty(this._defaults, 'canCollapse')) {\n this.canCollapse = this._defaults.canCollapse\n }\n if (hasProperty(this._defaults, 'collapsed')) {\n this.collapsed = this._defaults.collapsed\n }\n }\n\n if (this._data && this._data.widgetId) {\n this._preferencesKey = `widget:${this._data.widgetId}`\n this._widgetPreferences.preferences(this._preferencesKey).pipe(\n tap(prefs => {\n if (hasProperty(prefs, 'collapsed')) {\n this.collapsed = prefs.collapsed\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n /**\n * Toggles a widget's collapsed state.\n */\n public collapse() {\n if (!this.canCollapse) {\n if (isDevMode()) {\n console.warn('WidgetComponent: collapse() called when canCollapse is false.')\n }\n return\n }\n\n this.collapsed = !this.collapsed\n\n // Only update the preference, if collapse method is called, because it is\n // assumed that the user is collapsing the widget. If the collapsed state is\n // changed by other means, such using the widget's `collapsed` input, then\n // the preference should not be updated, because that is assumed to be an\n // app controlled change that should not be persisted.\n if (this._preferencesKey) {\n this._widgetPreferences.patchPreferences(this._preferencesKey, { collapsed: this.collapsed })\n }\n }\n\n get collapseState(): string { return this.collapsed ? COLLAPSED_STATE : EXPANDED_STATE }\n\n}\n","<div class=\"seam-widget border rounded overflow-hidden\">\n <div class=\"widget-header\" seamWidgetDragHandle *ngIf=\"hasHeader\">\n <div class=\"widget-header-content p-2 text-nowrap\">\n <span class=\"mr-1 widget-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"widget-header-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"widget-header-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n <span class=\"widget-header-title text-truncate\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </div>\n <div class=\"widget-header-btns-container\" *ngIf=\"hasConfig || canCollapse\">\n <!-- <div *ngIf=\"hasConfig\">\n <button seamIconBtn [icon]=\"configIcon\"\n class=\"widget-header-btn-config\"\n [iconType]=\"null\">\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n <button seamButton class=\"widget-header-btn-config p-0\">\n <seam-icon class=\"d-block\" [icon]=\"configIcon\" iconClass=\"text-secondary\"></seam-icon>\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n </div> -->\n\n <div *ngIf=\"canCollapse\" class=\"px-0\">\n\n <button seamButton class=\"widget-header-btn-collapse p-0 mr-1 h-100\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\">\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\">\n </seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button>\n <!-- iconType=\"borderless-styled-square\" -->\n <!-- style=\"margin-left: -10px; margin-right: -5px;\" -->\n\n <!-- <button seamIconBtn class=\"widget-header-btn-collapse\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\"\n btnTheme=\"secondary\"\n [icon]=\"collapseIcon\"\n iconType=\"borderless-styled-square\"\n size=\"xs\"\n btnSize=\"sm\"\n >\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\"\n style=\"margin-left: -10px; margin-right: -5px;\"\n iconType=\"borderless-styled-square\"></seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button> -->\n </div>\n </div>\n </div>\n <div class=\"position-relative overflow-hidden\" [style.height.px]=\"loading ? 150 : undefined\" [@collapseAnim]=\"collapseState\">\n <ng-container *ngIf=\"!collapsed\">\n <div class=\"p-2\" *ngIf=\"!loading else loadingTpl\" @keepContentAnim>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"seam-widget-footer\"></ng-content>\n <ng-template #loadingTpl>\n <div class=\"position-absolute\" @loadingAnim style=\"top:0;right:0;bottom:0;left:0\">\n <seam-loading [theme]=\"'primary'\"></seam-loading>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-footer',\n templateUrl: './widget-footer.component.html',\n styleUrls: ['./widget-footer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class WidgetFooterComponent { }\n","<div class=\"widget-footer--left\">\n <ng-content select=\"seam-widget-footer-text\"></ng-content>\n</div>\n<div class=\"widget-footer--right\">\n <ng-content select=\"seam-widget-button-group\"></ng-content>\n</div>\n","import { ComponentPortal } from '@angular/cdk/portal'\nimport { ComponentFactoryResolver, Inject, Injectable, Injector, ViewContainerRef } from '@angular/core'\nimport { Observable, of, throwError } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\n\nimport { IWidgetRegistryRecord } from './widget-registry.models'\nimport { THESEAM_WIDGETS } from './widget-token'\n\n/**\n * Registry is to provide a way to manage widgets in a way that we can load them\n * the same way throughout the app, whether the component itself is registered,\n * the component is lazy-loaded, or referenced by an id stored in the database.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class WidgetRegistryService {\n\n constructor(\n @Inject(THESEAM_WIDGETS) private _widgets: IWidgetRegistryRecord[],\n private _dynamicComponentLoader: TheSeamDynamicComponentLoader,\n ) { }\n\n public createWidgetPortal<T>(\n widgetId: string,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n componentFactoryResolver?: ComponentFactoryResolver | null | undefined,\n ): Observable<ComponentPortal<T>> {\n const widgetDef = (this._widgets || []).find(w => w.widgetId === widgetId)\n\n if (!widgetDef) {\n return throwError(`WidgetRegstry: Unknown widgetId \"${widgetId}\"`)\n }\n\n if (typeof widgetDef.componentOrComponentId === 'string') {\n return this._dynamicComponentLoader\n .getComponentFactory<T>(widgetDef.componentOrComponentId)\n .pipe(\n map(componentFactory => {\n let resolver: ComponentFactoryResolver | null | undefined = componentFactoryResolver\n if (!resolver) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const m = (componentFactory as any /* ComponentFactoryBoundToModule */).ngModule\n if (m && m.componentFactoryResolver) {\n resolver = m.componentFactoryResolver\n }\n }\n\n const portal = new ComponentPortal(\n componentFactory.componentType,\n viewContainerRef,\n injector,\n resolver,\n )\n\n return portal\n }),\n )\n } else {\n const portal = new ComponentPortal(\n widgetDef.componentOrComponentId,\n viewContainerRef,\n injector,\n componentFactoryResolver,\n )\n\n return of(portal)\n }\n }\n\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop'\nimport { CdkTableModule } from '@angular/cdk/table'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\n\nimport { WidgetDragHandleDirective } from './directives/widget-drag-handle.directive'\nimport { WidgetIconTplDirective } from './directives/widget-icon-tpl.directive'\nimport { WidgetTitleTplDirective } from './directives/widget-title-tpl.directive'\nimport { WidgetComponent } from './widget/widget.component'\n\nimport { TheSeamWidgetButtonGroupModule } from './widget-content-components/widget-button-group/widget-button-group.module'\nimport { TheSeamWidgetContentHeaderModule } from './widget-content-components/widget-content-header/widget-content-header.module'\nimport { TheSeamWidgetDescriptionModule } from './widget-content-components/widget-description/widget-description.module'\nimport { TheSeamWidgetEmptyLabelModule } from './widget-content-components/widget-empty-label/widget-empty-label.module'\nimport { TheSeamWidgetFooterLinkModule } from './widget-content-components/widget-footer-link/widget-footer-link.module'\nimport { TheSeamWidgetFooterTextModule } from './widget-content-components/widget-footer-text/widget-footer-text.module'\nimport { TheSeamWidgetHeaderBadgeModule } from './widget-content-components/widget-header-badge/widget-header-badge.module'\nimport { TheSeamWidgetListGroupModule } from './widget-content-components/widget-list-group/widget-list-group.module'\nimport { TheSeamWidgetTableModule } from './widget-content-components/widget-table/widget-table.module'\nimport { TheSeamWidgetTileModule } from './widget-content-components/widget-tile/widget-tile.module'\nimport { TheSeamWidgetTileListModule } from './widget-content-components/widget-tile-list/widget-tile-list.module'\nimport { WidgetFooterComponent } from './widget-footer/widget-footer.component'\n\nconst contentModules = [\n TheSeamWidgetButtonGroupModule,\n TheSeamWidgetContentHeaderModule,\n TheSeamWidgetDescriptionModule,\n TheSeamWidgetEmptyLabelModule,\n TheSeamWidgetFooterLinkModule,\n TheSeamWidgetFooterTextModule,\n TheSeamWidgetHeaderBadgeModule,\n TheSeamWidgetListGroupModule,\n TheSeamWidgetTableModule,\n TheSeamWidgetTileListModule,\n TheSeamWidgetTileModule,\n]\n\n@NgModule({\n declarations: [\n WidgetComponent,\n WidgetIconTplDirective,\n WidgetTitleTplDirective,\n WidgetDragHandleDirective,\n WidgetFooterComponent,\n ],\n imports: [\n CommonModule,\n FontAwesomeModule,\n TheSeamIconModule,\n TheSeamLoadingModule,\n DragDropModule,\n TheSeamButtonsModule,\n CdkTableModule,\n\n ...contentModules,\n ],\n exports: [\n RouterModule,\n\n WidgetComponent,\n WidgetIconTplDirective,\n WidgetTitleTplDirective,\n WidgetFooterComponent,\n\n ...contentModules,\n ],\n})\nexport class TheSeamWidgetModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","tap","takeUntil","i1.WidgetPreferencesService","i3","i4","i7.WidgetDragHandleDirective"],"mappings":"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"}
1
+ {"version":3,"file":"theseam-ui-common-widget.mjs","sources":["../../../projects/ui-common/widget/directives/widget-drag-handle.directive.ts","../../../projects/ui-common/widget/directives/widget-icon-tpl.directive.ts","../../../projects/ui-common/widget/directives/widget-title-tpl.directive.ts","../../../projects/ui-common/widget/preferences/widget-preferences.models.ts","../../../projects/ui-common/widget/preferences/widget-preferences.token.ts","../../../projects/ui-common/widget/preferences/widget-preferences.service.ts","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-button-group/widget-button-group.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.component.html","../../../projects/ui-common/widget/widget-content-components/widget-content-header/widget-content-header.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.component.html","../../../projects/ui-common/widget/widget-content-components/widget-description/widget-description.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.component.html","../../../projects/ui-common/widget/widget-content-components/widget-empty-label/widget-empty-label.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.component.html","../../../projects/ui-common/widget/widget-content-components/widget-footer-link/widget-footer-link.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.component.html","../../../projects/ui-common/widget/widget-content-components/widget-footer-text/widget-footer-text.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.component.html","../../../projects/ui-common/widget/widget-content-components/widget-header-badge/widget-header-badge.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.html","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-list-group/widget-list-group.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.component.html","../../../projects/ui-common/widget/widget-content-components/widget-table/widget-table.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile/widget-tile.module.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.component.ts","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.component.html","../../../projects/ui-common/widget/widget-content-components/widget-tile-list/widget-tile-list.module.ts","../../../projects/ui-common/widget/widget-token.ts","../../../projects/ui-common/widget/widget/widget.component.ts","../../../projects/ui-common/widget/widget/widget.component.html","../../../projects/ui-common/widget/widget-footer/widget-footer.component.ts","../../../projects/ui-common/widget/widget-footer/widget-footer.component.html","../../../projects/ui-common/widget/widget-registry.service.ts","../../../projects/ui-common/widget/widget.module.ts","../../../projects/ui-common/widget/theseam-ui-common-widget.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop'\nimport {\n AfterViewInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core'\nimport { BehaviorSubject, Subject } from 'rxjs'\nimport { auditTime, filter, switchMap, take, takeUntil } from 'rxjs/operators'\n\nimport { getClosestWidgetCdkDrag } from '@theseam/ui-common/utils'\n\n//\n// NOTE: This will probably NOT be used long term, unless more of the\n// CdkDragDrop code is rewritten.\n//\n// This directive is meant to be a HACK replacement directive for CdkDragHandle.\n// The reason this was made is because CdkDragHandle doesn't work in child\n// components, since it uses ContentChildren to query for the handles.\n//\n// This could easily break, because I am forcing the handles query list to emit\n// changes manually. So, if the query list actually changes, then my changes\n// will be broken.\n//\n\n// Helper type that ignores `readonly` properties. This is used in\n// `extendStyles` to ignore the readonly properties on CSSStyleDeclaration\n// since we won't be touching those anyway.\ntype Writeable<T> = { -readonly [P in keyof T]-?: T[P] }\n\n/**\n * Extended CSSStyleDeclaration that includes a couple of drag-related\n * properties that aren't in the built-in TS typings.\n */\ninterface DragCSSStyleDeclaration extends CSSStyleDeclaration {\n webkitUserDrag: string\n MozUserSelect: string // For some reason the Firefox property is in PascalCase.\n msScrollSnapType: string\n scrollSnapType: string\n msUserSelect: string\n}\n\nexport function extendStyles(\n dest: Writeable<CSSStyleDeclaration>,\n source: Partial<DragCSSStyleDeclaration>\n) {\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n dest[key] = source[key]!\n }\n }\n\n return dest\n}\n\nexport function toggleNativeDragInteractions(element: HTMLElement, enable: boolean) {\n const userSelect = enable ? '' : 'none'\n\n extendStyles(element.style, {\n touchAction: enable ? '' : 'none',\n webkitUserDrag: enable ? '' : 'none',\n userSelect,\n msUserSelect: userSelect,\n webkitUserSelect: userSelect,\n MozUserSelect: userSelect\n })\n}\n\nexport interface TheSeamWidgetAccessor<TItem> {\n widgetsChange: EventEmitter<TItem[]>\n cdkDragDirectives: QueryList<CdkDrag>\n}\n\nexport const THESEAM_WIDGET_ACCESSOR = new InjectionToken<TheSeamWidgetAccessor<any>>(\n 'TheSeamWidgetAccessor'\n)\n\n@Directive({\n selector: '[seamWidgetDragHandle]',\n host: {\n 'class': 'cdk-drag-handle'\n }\n})\nexport class WidgetDragHandleDirective implements OnInit, OnDestroy, AfterViewInit, DoCheck {\n static ngAcceptInputType_disabled: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _attachedToDom = new BehaviorSubject<boolean>(false)\n private _doneCheckingAttached = false\n private _knownParentDrag: any /* CdkDrag | undefined */\n\n /** Needed because CdkDrag reads this variable */\n get _parentDrag() { return this.getParentCdkDrag() }\n\n /** Emits when the state of the handle has changed. */\n _stateChanges = new Subject<CdkDragHandle>()\n\n /** Whether starting to drag through this handle is disabled. */\n @Input('cdkDragHandleDisabled')\n get disabled(): boolean { return this._disabled }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n this._stateChanges.next(this as any)\n }\n private _disabled = false\n\n constructor(\n public element: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n @Optional() @Inject(THESEAM_WIDGET_ACCESSOR) private _dashboardWidgets?: TheSeamWidgetAccessor<any>,\n @Optional() private __parentDrag?: CdkDrag\n ) {\n toggleNativeDragInteractions(element.nativeElement, false)\n }\n\n ngOnInit() {\n if (this._dashboardWidgets) {\n this._dashboardWidgets.widgetsChange.pipe(\n auditTime(0),\n takeUntil(this._ngUnsubscribe)\n ).subscribe(() => {\n if (this._knownParentDrag) {\n const isAttached = this.isAttachedToDom()\n if (isAttached) {\n const parent = this.getParentCdkDrag() as any\n if (this._knownParentDrag !== parent) {\n this._attachedToDom.next(isAttached)\n }\n }\n }\n })\n }\n }\n\n ngAfterViewInit() {\n if (this.__parentDrag || this._dashboardWidgets) {\n // FIXME: This only works until the widget is moved to another template\n // outlet. Now that the component isn't reinitialized when moving between\n // lists the handle needs to now reflex that change to its new CdkDrag\n // parent and possibly tell its previous parent to forget it.\n\n // HACK: This is a hack to allow the `CdkDrag` directive to manage a\n // handle that is not visible to `ContentChildren` query.\n this._ngZone.onStable.asObservable()\n // .pipe(take(1), untilDestroyed(this))\n .pipe(\n take(1),\n // With the weird trick being done to keep widgets initialized when switching columns\n switchMap(() => this._attachedToDom.pipe(filter(v => v === true))),\n // take(1)\n takeUntil(this._ngUnsubscribe)\n )\n .subscribe(() => {\n const parent = this.getParentCdkDrag() as any\n\n if (this._knownParentDrag && this._knownParentDrag !== parent) {\n this._knownParentDrag._dragRef.disableHandle(this.element.nativeElement)\n this._knownParentDrag = undefined\n }\n\n if (parent) {\n this._knownParentDrag = parent\n parent._handles.reset([ ...parent._handles._results, this ])\n parent._handles.notifyOnChanges()\n parent._dragRef.enableHandle(this.element.nativeElement)\n }\n })\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete()\n this._attachedToDom.complete()\n\n this._ngUnsubscribe.next(undefined)\n this._ngUnsubscribe.complete()\n }\n\n ngDoCheck() {\n // The attached observable only emits once, so we can stop checking if\n // attached.\n if (this._doneCheckingAttached) { return }\n\n const isAttached = this.isAttachedToDom()\n if (isAttached !== this._attachedToDom.value) {\n this._attachedToDom.next(isAttached)\n this._doneCheckingAttached = true\n }\n }\n\n public isAttachedToDom(): boolean {\n return document.body.contains(this.element.nativeElement)\n }\n\n /** Closest parent draggable instance. */\n public getParentCdkDrag(): CdkDrag | undefined {\n if (this.__parentDrag) {\n return this.__parentDrag\n } else if (this._dashboardWidgets && this._dashboardWidgets.cdkDragDirectives) {\n const dragsArr = this._dashboardWidgets.cdkDragDirectives.toArray()\n const closest = getClosestWidgetCdkDrag(this.element, dragsArr)\n return (closest !== undefined && closest !== null) ? closest : undefined\n }\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetIconTpl]'\n})\nexport class WidgetIconTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetTitleTpl]'\n})\nexport class WidgetTitleTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { TheSeamPreferencesBase } from '@theseam/ui-common/services'\n\nexport interface TheSeamWidgetPreferences_v1 extends TheSeamPreferencesBase {\n version: 1\n collapsed?: boolean\n}\n\nexport type TheSeamWidgetPreferences = TheSeamWidgetPreferences_v1\n\nexport const CURRENT_WIDGET_PREFERENCES_VERSION = 1\n\nexport const EMPTY_WIDGET_PREFERENCES: TheSeamWidgetPreferences = {\n version: 1,\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { TheSeamPreferencesAccessor } from '@theseam/ui-common/services'\n\nexport const THESEAM_WIDGET_PREFERENCES_ACCESSOR = new InjectionToken<TheSeamPreferencesAccessor>(\n 'TheSeamWidgetPreferencesAccessor'\n)\n","import { Inject, Injectable, Optional } from '@angular/core'\nimport { Observable, of } from 'rxjs'\nimport { map, take, tap } from 'rxjs/operators'\n\nimport { TheSeamPreferencesAccessor, TheSeamPreferencesBase, TheSeamPreferencesManagerService } from '@theseam/ui-common/services'\nimport { THESEAM_WIDGET_PREFERENCES_ACCESSOR } from './widget-preferences.token'\nimport { CURRENT_WIDGET_PREFERENCES_VERSION, EMPTY_WIDGET_PREFERENCES, TheSeamWidgetPreferences } from './widget-preferences.models'\n\ntype TheSeamWidgetPreferencesPatch = Omit<TheSeamWidgetPreferences, 'version'>\n\n// TODO: Rethink this. I originally implemented this to be shared widget's then\n// changed it to be per widget, for the accessor injection.\n\n// @Injectable({ providedIn: 'root' })\n@Injectable()\nexport class WidgetPreferencesService {\n\n private _pendingPatches: { [preferencesKey: string]: TheSeamWidgetPreferencesPatch[] } = { }\n\n constructor(\n private readonly _preferencesManager: TheSeamPreferencesManagerService,\n @Optional() @Inject(THESEAM_WIDGET_PREFERENCES_ACCESSOR) private _prefsAccessor?: TheSeamPreferencesAccessor\n ) { }\n\n public isPatchPending(preferenceKey: string): boolean {\n return this._pendingPatches[preferenceKey] && this._pendingPatches[preferenceKey].length > 0\n }\n\n public isPending(preferenceKey: string): boolean {\n return this._preferencesManager.isPending(preferenceKey)\n }\n\n public isLoaded(preferenceKey: string): boolean {\n return this._preferencesManager.isLoaded(preferenceKey)\n }\n\n public preferences(preferenceKey: string): Observable<TheSeamWidgetPreferences> {\n if (!this._prefsAccessor) {\n return of(JSON.parse(JSON.stringify(EMPTY_WIDGET_PREFERENCES)))\n }\n\n return this._preferencesManager.preferences(preferenceKey, this._prefsAccessor, EMPTY_WIDGET_PREFERENCES).pipe(\n map(prefs => {\n if (this._isValidPreferences(prefs)) {\n return prefs\n }\n\n throw Error(`Preferences for key '${preferenceKey}' is not a valid widget preferences.`)\n })\n )\n }\n\n public refresh(preferenceKey: string): void {\n this._preferencesManager.refresh(preferenceKey)\n }\n\n public patchPreferences(preferenceKey: string, preferences: TheSeamWidgetPreferencesPatch): void {\n if (!this._prefsAccessor) {\n return\n }\n\n if (!this._pendingPatches[preferenceKey]) {\n this._pendingPatches[preferenceKey] = []\n }\n\n if (this._pendingPatches[preferenceKey].length > 0) {\n this._pendingPatches[preferenceKey].push(preferences)\n return\n }\n\n this._pendingPatches[preferenceKey].push(preferences)\n\n this.preferences(preferenceKey).pipe(\n take(1),\n map(prefs => {\n const pendingPatches = this._pendingPatches[preferenceKey]\n this._pendingPatches[preferenceKey] = []\n const newPrefs: TheSeamWidgetPreferences = pendingPatches.reduce((acc, patch) => {\n return { ...acc, ...patch }\n }, prefs) as TheSeamWidgetPreferences // Typescript isn't recognizing that 'version' is included in the initial value.\n\n if (!this._isValidPreferences(newPrefs)) {\n throw Error(`Attempted to patch preferences for key '${preferenceKey}' with invalid preferences.`)\n }\n\n this._preferencesManager.update(preferenceKey, newPrefs)\n }),\n tap(() => this.refresh(preferenceKey)),\n ).subscribe()\n }\n\n private _isValidPreferences(prefs: TheSeamPreferencesBase): prefs is TheSeamWidgetPreferences {\n return prefs.version === CURRENT_WIDGET_PREFERENCES_VERSION\n }\n\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-button-group',\n templateUrl: './widget-button-group.component.html',\n styleUrls: ['./widget-button-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetButtonGroupComponent { }\n","<ng-content select=\"[seamButton]\"></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\n\nimport { WidgetButtonGroupComponent } from './widget-button-group.component'\n\n@NgModule({\n declarations: [\n WidgetButtonGroupComponent\n ],\n imports: [\n CommonModule,\n TheSeamButtonsModule\n ],\n exports: [\n WidgetButtonGroupComponent,\n\n TheSeamButtonsModule\n ]\n})\nexport class TheSeamWidgetButtonGroupModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-content-header',\n templateUrl: './widget-content-header.component.html',\n styleUrls: ['./widget-content-header.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetContentHeaderComponent { }\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetContentHeaderComponent } from './widget-content-header.component'\n\n@NgModule({\n declarations: [\n WidgetContentHeaderComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetContentHeaderComponent\n ]\n})\nexport class TheSeamWidgetContentHeaderModule { }\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-description',\n templateUrl: './widget-description.component.html',\n styleUrls: ['./widget-description.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetDescriptionComponent { }\n","<p><ng-content></ng-content></p>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetDescriptionComponent } from './widget-description.component'\n\n@NgModule({\n declarations: [\n WidgetDescriptionComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetDescriptionComponent\n ]\n})\nexport class TheSeamWidgetDescriptionModule { }\n","import { Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-empty-label,a[seam-widget-empty-label],button[seam-widget-empty-label]',\n templateUrl: './widget-empty-label.component.html',\n styleUrls: ['./widget-empty-label.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetEmptyLabelComponent {\n\n private _type: string | undefined | null\n\n @HostBinding('class.btn')\n get _btnCss() { return !!this._isButton() }\n\n @HostBinding('class.btn-link')\n get _btnLinkCss() { return !!this._isButton() }\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n constructor(\n public _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>\n ) { }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n /** Determines if the component host is an anchor. */\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetEmptyLabelComponent } from './widget-empty-label.component'\n\n@NgModule({\n declarations: [\n WidgetEmptyLabelComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetEmptyLabelComponent\n ]\n})\nexport class TheSeamWidgetEmptyLabelModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seam-widget-footer-link]',\n templateUrl: './widget-footer-link.component.html',\n styleUrls: ['./widget-footer-link.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetFooterLinkComponent { }\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetFooterLinkComponent } from './widget-footer-link.component'\n\n@NgModule({\n declarations: [\n WidgetFooterLinkComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetFooterLinkComponent\n ]\n})\nexport class TheSeamWidgetFooterLinkModule { }\n","import { Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-footer-text',\n templateUrl: './widget-footer-text.component.html',\n styleUrls: ['./widget-footer-text.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class WidgetFooterTextComponent { }\n","<em>\n <ng-content></ng-content>\n</em>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetFooterTextComponent } from './widget-footer-text.component'\n\n@NgModule({\n declarations: [\n WidgetFooterTextComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetFooterTextComponent\n ]\n})\nexport class TheSeamWidgetFooterTextModule { }\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation } from '@angular/core'\n\nimport {\n CanThemeCtor,\n mixinTheme\n} from '@theseam/ui-common/core'\n\nclass WidgetHeaderBadgeBase {\n\n constructor(\n public _elementRef: ElementRef\n ) { }\n\n}\n\nconst _WidgetHeaderBadgeMixinBase: CanThemeCtor &\n typeof WidgetHeaderBadgeBase = mixinTheme(WidgetHeaderBadgeBase, 'badge')\n\n@Component({\n selector: 'seam-widget-header-badge',\n templateUrl: './widget-header-badge.component.html',\n styleUrls: ['./widget-header-badge.component.scss'],\n // tslint:disable-next-line:use-input-property-decorator\n inputs: [ 'theme' ],\n // tslint:disable-next-line:use-host-property-decorator\n host: {\n 'class': 'badge float-right'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetHeaderBadgeComponent extends _WidgetHeaderBadgeMixinBase {\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef\n ) { super(_elementRef) }\n\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { WidgetHeaderBadgeComponent } from './widget-header-badge.component'\n\n@NgModule({\n declarations: [\n WidgetHeaderBadgeComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetHeaderBadgeComponent\n ]\n})\nexport class TheSeamWidgetHeaderBadgeModule { }\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetListGroupItemIconTpl]',\n exportAs: 'seamWidgetListGroupItemIconTpl'\n})\nexport class WidgetListGroupItemIconTplDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { ChangeDetectionStrategy, Component, ContentChild, Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core'\n\nimport {\n CanBeActive,\n CanBeActiveCtor,\n CanDisable,\n CanDisableCtor,\n CanTheme,\n CanThemeCtor,\n HasElementRef,\n mixinActive,\n mixinDisabled,\n mixinTheme\n} from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\n\nimport { WidgetListGroupItemIconTplDirective } from './widget-list-group-item-icon-tpl.directive'\n\n// tslint:disable-next-line: max-line-length\nconst WIDGET_LIST_GROUP_ITEM_INPUTS = [ 'disabled', 'theme', 'active', 'icon', 'iconClass', 'label', 'secondaryIcon', 'secondaryIconClass', 'secondaryIconTitle' ]\n\n@Directive()\n// tslint:disable-next-line: directive-class-suffix\nclass WidgetListGroupItemBase {\n\n @ContentChild(WidgetListGroupItemIconTplDirective, { static: true }) iconTpl?: WidgetListGroupItemIconTplDirective\n\n icon?: SeamIcon\n iconClass?: string\n secondaryIcon?: SeamIcon\n secondaryIconClass?: string\n secondaryIconTitle?: string\n\n label?: string\n\n constructor(\n public _elementRef: ElementRef,\n public _renderer: Renderer2\n ) { }\n\n /** Focuses the element. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\n@Directive()\n// tslint:disable-next-line: directive-class-suffix\nclass WidgetListGroupItemActionableBase extends WidgetListGroupItemBase implements OnDestroy {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _renderer)\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n}\n\nconst _WidgetListGroupItemBase: CanDisableCtor & CanThemeCtor & CanBeActiveCtor &\n typeof WidgetListGroupItemBase = mixinActive(mixinTheme(mixinDisabled(WidgetListGroupItemBase), 'list-group-item'))\n\nconst _WidgetListGroupItemActionableBase: CanDisableCtor & CanThemeCtor & CanBeActiveCtor &\n typeof WidgetListGroupItemActionableBase = mixinActive(mixinTheme(mixinDisabled(WidgetListGroupItemActionableBase), 'list-group-item'))\n\n@Component({\n selector: 'seam-widget-list-group-item',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n 'class': 'list-group-item',\n '[class.active]': 'active',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemComponent extends _WidgetListGroupItemBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive {\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _renderer)\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[seam-widget-list-group-item],button[seamWidgetListGroupItem]',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n '[attr.type]': 'type',\n 'class': 'list-group-item list-group-item-action',\n '[class.active]': 'active',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemButtonComponent extends _WidgetListGroupItemActionableBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive, OnDestroy {\n\n /** ARIA type for the button. */\n @Input() type: 'button' | 'submit' | 'reset' | undefined | null = 'button'\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[seam-widget-list-group-item],a[seamWidgetListGroupItem]',\n templateUrl: './widget-list-group-item.component.html',\n styleUrls: ['./widget-list-group-item.component.scss'],\n exportAs: 'seamWidgetListGroupItem',\n inputs: WIDGET_LIST_GROUP_ITEM_INPUTS,\n host: {\n 'class': 'list-group-item list-group-item-action',\n '[class.active]': 'active',\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.disabled]': 'disabled || null',\n '(click)': '_haltDisabledEvents($event)',\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupItemAnchorComponent extends _WidgetListGroupItemActionableBase\n implements HasElementRef, CanTheme, CanDisable, CanBeActive, OnDestroy {\n\n /** Tabindex of the button. */\n @Input() tabIndex: number | undefined | null\n\n constructor(\n public _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2\n ) {\n super(_elementRef, _focusMonitor, _renderer)\n }\n\n ngOnDestroy() { super.ngOnDestroy() }\n\n _haltDisabledEvents(event: Event) {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<div class=\"d-flex flex-row\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <span class=\"pr-2\">\n <ng-container *ngTemplateOutlet=\"$any(iconTpl)\"></ng-container>\n </span>\n </ng-container>\n <ng-template #noIconTpl>\n <span class=\"pr-2\">\n <seam-icon *ngIf=\"icon\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n iconType=\"borderless-styled-square\">\n </seam-icon>\n </span>\n </ng-template>\n\n <div class=\"d-flex flex-column justify-content-center flex-grow-1\">\n {{ label }}\n </div>\n\n <seam-icon *ngIf=\"secondaryIcon\"\n iconType=\"borderless-styled-square\"\n class=\"secondary-icon align-self-center ml-1\"\n [icon]=\"secondaryIcon\"\n [iconClass]=\"secondaryIconClass\"\n [title]=\"secondaryIconTitle\"\n size=\"lg\">\n </seam-icon>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n// TODO: Make `ListGroup` a root component and wrap it with `WidgetListGroup`.\n\n@Component({\n selector: 'seam-widget-list-group',\n templateUrl: './widget-list-group.component.html',\n styleUrls: ['./widget-list-group.component.scss'],\n host: {\n 'class': 'list-group'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetListGroupComponent { }\n","<ng-content select=\"seam-widget-list-group-item,\n a[seam-widget-list-group-item],\n a[seamWidgetListGroupItem],\n button[seam-widget-list-group-item],\n button[seamWidgetListGroupItem]\">\n</ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { WidgetListGroupItemIconTplDirective } from './widget-list-group-item/widget-list-group-item-icon-tpl.directive'\nimport {\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent\n} from './widget-list-group-item/widget-list-group-item.component'\nimport { WidgetListGroupComponent } from './widget-list-group.component'\n\n@NgModule({\n declarations: [\n WidgetListGroupComponent,\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent,\n WidgetListGroupItemIconTplDirective\n ],\n imports: [\n CommonModule,\n TheSeamIconModule\n ],\n exports: [\n WidgetListGroupComponent,\n WidgetListGroupItemAnchorComponent,\n WidgetListGroupItemButtonComponent,\n WidgetListGroupItemComponent,\n WidgetListGroupItemIconTplDirective\n ]\n})\nexport class TheSeamWidgetListGroupModule { }\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport type { ITableColumn, TrackByFunction } from '@theseam/ui-common/table'\n\n@Component({\n selector: 'seam-widget-table',\n templateUrl: './widget-table.component.html',\n styleUrls: ['./widget-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetTableComponent<T> {\n static ngAcceptInputType_hasHeader: BooleanInput\n\n @Input() columns: (string | ITableColumn)[] | undefined | null\n @Input() rows: T[] | undefined | null = []\n @Input() trackBy: TrackByFunction<T> | undefined | null\n @Input() size: 'sm' | 'md' | undefined | null = 'sm'\n @Input() @InputBoolean() hasHeader = true\n\n @Output() readonly actionRefreshRequest = new EventEmitter<any>()\n\n _actionRefreshRequest() {\n this.actionRefreshRequest.emit()\n }\n\n}\n","<seam-table\n [columns]=\"columns\"\n [rows]=\"rows\"\n [trackBy]=\"trackBy\"\n [size]=\"size\"\n [hasHeader]=\"hasHeader\"\n (actionRefreshRequest)=\"_actionRefreshRequest()\">\n</seam-table>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamTableModule } from '@theseam/ui-common/table'\nimport { TheSeamTableCellTypesModule } from '@theseam/ui-common/table-cell-types'\n\nimport { WidgetTableComponent } from './widget-table.component'\n\n@NgModule({\n declarations: [\n WidgetTableComponent\n ],\n imports: [\n CommonModule,\n TheSeamTableModule,\n TheSeamTableCellTypesModule\n ],\n exports: [\n WidgetTableComponent\n ]\n})\nexport class TheSeamWidgetTableModule { }\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-footer,[seam-widget-tile-footer]',\n templateUrl: './widget-tile-footer.component.html',\n styleUrls: ['./widget-tile-footer.component.scss'],\n host: {\n class: 'd-flex flex-row justify-content-end',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetTileFooterComponent { }\n","\n <ng-content select=\"seam-widget-tile-footer-item,[seam-widget-tile-footer-item]\"></ng-content>\n\n","import { BooleanInput } from '@angular/cdk/coercion'\nimport { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\n@Component({\n selector: 'seam-widget-tile-footer-item,a[seam-widget-tile-footer-item],button[seam-widget-tile-footer-item]',\n templateUrl: './widget-tile-footer-item.component.html',\n styleUrls: ['./widget-tile-footer-item.component.scss'],\n host: {\n class: 'btn btn-link py-0 px-1',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WidgetTileFooterItemComponent {\n static ngAcceptInputType_disabled: BooleanInput\n\n private _type: string | undefined | null\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @HostBinding('class.disabled')\n get _DisabledCss() { return this.disabled }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n @Input() @InputBoolean() disabled = false\n\n constructor(\n public _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>,\n ) { }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-group',\n templateUrl: './widget-tile-group.component.html',\n styleUrls: ['./widget-tile-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetTileGroupComponent { }\n","<ng-content select=\"[seam-widget-tile],seam-widget-tile\"></ng-content>\n<ng-content select=\"seam-widget-tile-footer\"></ng-content>\n","import { Directive, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamWidgetTileSecondaryIcon]',\n exportAs: 'seamWidgetTileSecondaryIcon',\n})\nexport class WidgetTileSecondaryIconDirective {\n\n constructor(public template: TemplateRef<any>) { }\n\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, ElementRef, HostBinding, Input, OnDestroy, OnInit, Renderer2, ViewEncapsulation } from '@angular/core'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\n\nimport {\n CanDisableCtor,\n HasElementRef,\n HasRenderer2,\n HasTabIndexCtor,\n InputBoolean,\n mixinDisabled,\n mixinTabIndex,\n} from '@theseam/ui-common/core'\nimport { TheSeamIconType } from '@theseam/ui-common/icon'\n\nimport { WidgetTileSecondaryIconDirective } from './widget-tile-secondary-icon.directive'\n\n@Component({ template: '' })\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nclass TheSeamWidgetTileBase implements OnDestroy, HasRenderer2, HasElementRef {\n constructor(\n public _elementRef: ElementRef,\n public _focusMonitor: FocusMonitor,\n public _renderer: Renderer2,\n ) {\n this._focusMonitor.monitor(this._elementRef, true)\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n /** Focuses the button. */\n focus(): void {\n this._getHostElement().focus()\n }\n\n _getHostElement() {\n return this._elementRef.nativeElement\n }\n}\n\nconst _TheSeamWidgetTileMixinBase: CanDisableCtor & HasTabIndexCtor &\n typeof TheSeamWidgetTileBase = mixinTabIndex(mixinDisabled(TheSeamWidgetTileBase))\n\n// TODO: Should this component be split into separate components for button and anchor.\n@Component({\n selector: 'seam-widget-tile, a[seam-widget-tile], button[seam-widget-tile]',\n templateUrl: './widget-tile.component.html',\n styleUrls: ['./widget-tile.component.scss'],\n inputs: [ 'disabled' ],\n exportAs: 'seamWidgetTile',\n encapsulation: ViewEncapsulation.None,\n})\nexport class WidgetTileComponent extends _TheSeamWidgetTileMixinBase implements OnInit, OnDestroy {\n static ngAcceptInputType_grayscaleOnDisable: BooleanInput\n\n private _clickUnListen: (() => void | undefined | null) | undefined | null\n\n private _type: string | undefined | null\n\n @HostBinding('attr.type')\n get _attrType() {\n return this._type || this._isButton() ? 'button' : undefined\n }\n\n @HostBinding('class.btn')\n get _btnCss() { return !!this._isButton() }\n\n @HostBinding('class.disabled')\n get _disabledCss() { return this.disabled }\n\n @HostBinding('attr.aria-disabled')\n get _ariaDisabled() { return this.disabled.toString() }\n\n @HostBinding('attr.disabled')\n get _attrDisabled() { return this.disabled || null }\n\n @HostBinding('attr.tabindex')\n get _attrTabIndex() { return this.disabled ? -1 : (this.tabIndex || 0) }\n\n @Input()\n get type(): string | undefined | null { return this._type }\n\n @Input() icon: string | IconProp | undefined | null\n\n @Input() @InputBoolean() grayscaleOnDisable = true\n\n @Input() iconClass: string | undefined | null\n\n @Input() iconType: TheSeamIconType | undefined | null = 'styled-square'\n\n @Input() notificationIcon: string | IconProp | undefined | null\n @Input() notificationIconClass: string | undefined | null\n\n @ContentChild(WidgetTileSecondaryIconDirective, { static: true }) secondaryIcon?: WidgetTileSecondaryIconDirective\n\n // eslint-disable-next-line @typescript-eslint/no-useless-constructor\n constructor(\n _elementRef: ElementRef<HTMLElement | HTMLAnchorElement | HTMLButtonElement>,\n _focusMonitor: FocusMonitor,\n _renderer: Renderer2,\n ) { super(_elementRef, _focusMonitor, _renderer) }\n\n ngOnInit() {\n if (this._isAnchor()) {\n this._clickUnListen = this._renderer.listen(this._getHostElement(), 'click', this._haltDisabledEvents)\n }\n }\n\n ngOnDestroy() {\n super.ngOnDestroy()\n if (this._clickUnListen) {\n this._clickUnListen()\n }\n }\n\n /** Determines if the component host is a button. */\n private _isButton(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'button'\n }\n\n /** Determines if the component host is an anchor. */\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n _haltDisabledEvents = (event: Event) => {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault()\n event.stopImmediatePropagation()\n }\n }\n\n}\n","<div class=\"d-flex flex-row\">\n <div style=\"position: relative\">\n <seam-icon\n [icon]=\"icon\"\n [iconType]=\"iconType\"\n [iconClass]=\"iconClass\"\n [disabled]=\"disabled\">\n </seam-icon>\n\n <seam-icon *ngIf=\"notificationIcon\"\n class=\"widget-tile--notification-icon\"\n [icon]=\"notificationIcon\"\n iconType=\"image-fill\"\n [iconClass]=\"notificationIconClass\"\n [disabled]=\"disabled\">\n </seam-icon>\n </div>\n <div class=\"flex-grow-1 text-left pl-2\" style=\"margin: auto 0;\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"secondaryIcon\">\n <ng-template [ngTemplateOutlet]=\"secondaryIcon.template\"></ng-template>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\n\nimport { WidgetTileFooterComponent } from './widget-tile-footer/widget-tile-footer.component'\nimport { WidgetTileFooterItemComponent } from './widget-tile-footer-item/widget-tile-footer-item.component'\nimport { WidgetTileGroupComponent } from './widget-tile-group/widget-tile-group.component'\nimport { WidgetTileSecondaryIconDirective } from './widget-tile-secondary-icon.directive'\nimport { WidgetTileComponent } from './widget-tile.component'\n\n@NgModule({\n declarations: [\n WidgetTileComponent,\n WidgetTileSecondaryIconDirective,\n WidgetTileFooterComponent,\n WidgetTileGroupComponent,\n WidgetTileFooterItemComponent,\n ],\n imports: [\n CommonModule,\n TheSeamIconModule,\n ],\n exports: [\n WidgetTileComponent,\n WidgetTileSecondaryIconDirective,\n WidgetTileFooterComponent,\n WidgetTileGroupComponent,\n WidgetTileFooterItemComponent,\n ],\n})\nexport class TheSeamWidgetTileModule { }\n","import { Component } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-tile-list',\n templateUrl: './widget-tile-list.component.html',\n styleUrls: ['./widget-tile-list.component.scss'],\n})\nexport class WidgetTileListComponent { }\n","<ng-content select=\"[seam-widget-tile],seam-widget-tile,seam-widget-tile-group\"></ng-content>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamWidgetTileModule } from '../widget-tile/widget-tile.module'\n\nimport { WidgetTileListComponent } from './widget-tile-list.component'\n\n@NgModule({\n declarations: [\n WidgetTileListComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n WidgetTileListComponent,\n TheSeamWidgetTileModule\n ]\n})\nexport class TheSeamWidgetTileListModule { }\n","import { InjectionToken } from '@angular/core'\n\nimport { IWidgetRegistryRecord } from './widget-registry.models'\nimport { TheSeamWidgetData, TheSeamWidgetDefaults } from './widget.models'\n\nexport const THESEAM_WIDGETS = new InjectionToken<IWidgetRegistryRecord>('TheSeamWidgets')\n\nexport const THESEAM_WIDGET_DATA = new InjectionToken<TheSeamWidgetData>('TheSeamWidgetData')\n\nexport const THESEAM_WIDGET_DEFAULTS = new InjectionToken<TheSeamWidgetDefaults>('TheSeamWidgetDefaults')\n","import { animate, state, style, transition, trigger } from '@angular/animations'\nimport { BooleanInput } from '@angular/cdk/coercion'\nimport { Component, ContentChild, Inject, Input, isDevMode, OnDestroy, Optional, ViewEncapsulation } from '@angular/core'\nimport { Subject, takeUntil, tap } from 'rxjs'\n\nimport { IconProp } from '@fortawesome/fontawesome-svg-core'\nimport { faAngleDown, faCog } from '@fortawesome/free-solid-svg-icons'\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { SeamIcon } from '@theseam/ui-common/icon'\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport { WidgetIconTplDirective } from '../directives/widget-icon-tpl.directive'\nimport { WidgetTitleTplDirective } from '../directives/widget-title-tpl.directive'\nimport { WidgetPreferencesService } from '../preferences/widget-preferences.service'\nimport { THESEAM_WIDGET_DATA, THESEAM_WIDGET_DEFAULTS } from '../widget-token'\nimport { TheSeamWidgetData, TheSeamWidgetDefaults } from '../widget.models'\n\nconst EXPANDED_STATE = 'expanded'\nconst COLLAPSED_STATE = 'collapsed'\n\nconst EXPAND_TRANSITION = `${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`\n\nconst loadingAnimation = trigger('loadingAnim', [\n transition(':enter', [\n style({ opacity: 0 }),\n animate('250ms ease-in-out', style({ opacity: 1 })),\n ]),\n transition(':leave', [\n style({ opacity: 1 }),\n animate('250ms ease-in-out', style({ opacity: 0 })),\n ]),\n])\n\n/**\n * I was having an issue getting the content to not be removed from the DOM,\n * before the animation was complete. This animation is a hack to keep the\n * content in the DOM until the animation is complete.\n */\nconst keepContentAnimation = trigger('keepContentAnim', [\n transition(':leave', [\n style({ opacity: 1 }),\n animate('0ms', style({ opacity: 0 })),\n ]),\n])\n\nconst collapseAnimation = trigger('collapseAnim', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: '0' })),\n transition(EXPAND_TRANSITION, animate('0.3s ease-in-out')),\n])\n\n/**\n * Widget\n *\n * Widgets are designed with the intention of being on a dashboard. Other uses\n * may be supported as the need arises.\n *\n * The only HTML/CSS use should be a widget content component, unless there is a\n * case requiring more advanced design. This is so that we can manage a common\n * style for our widgets. If a case requiring non widget content components is\n * used then the situation should be considered for becoming a widget component.\n */\n@Component({\n selector: 'seam-widget',\n templateUrl: './widget.component.html',\n styleUrls: ['./widget.component.scss'],\n providers: [\n WidgetPreferencesService,\n ],\n encapsulation: ViewEncapsulation.None,\n animations: [\n loadingAnimation,\n collapseAnimation,\n keepContentAnimation,\n ],\n})\nexport class WidgetComponent implements OnDestroy {\n\n static ngAcceptInputType_hasHeader: BooleanInput\n static ngAcceptInputType_loading: BooleanInput\n static ngAcceptInputType_hasConfig: BooleanInput\n static ngAcceptInputType_canCollapse: BooleanInput\n\n readonly configIcon = faCog\n readonly collapseIcon = faAngleDown\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n private _preferencesKey?: string\n\n /**\n * Toggles the collapsed state of a widget.\n */\n @Input() @InputBoolean() collapsed = false\n\n /**\n * Toggles the top header bar of a widget. This should be true for most\n * widgets.\n */\n @Input() @InputBoolean() hasHeader = true\n\n /**\n * Title displayed in the top header.\n *\n * If a more advanced title is needed you can use `seamWidgetTitleTpl`\n * template directive, but text is recommended, because allowing custom styles\n * can lead to inconsitency quickly as different developers keep making\n * tweaks.\n */\n @Input() titleText: string | undefined | null\n\n /**\n * Icon displayed in the top header.\n *\n * If a more advanced icon is needed you can use `seamWidgetIconTpl` template\n * directive, but a `SeamIcon` input is recommended, because allowing custom\n * icons that do not follow the tested types can lead to inconsitency quickly\n * as different developers keep making tweaks.\n */\n @Input()\n get icon(): SeamIcon | undefined { return this._iconUrl || this._iconObj }\n set icon(value: SeamIcon | undefined) {\n if (typeof value === 'string') {\n this._iconUrl = value\n this._iconObj = undefined\n } else {\n this._iconUrl = undefined\n this._iconObj = value\n }\n }\n\n _iconUrl: string | undefined\n _iconObj: IconProp | undefined\n\n /** Add a css class to the header icon. */\n @Input() iconClass: string | undefined | null\n\n /** Shows widget loading instead of content. */\n @Input() @InputBoolean() loading = false\n\n /** @ignore */\n // NOTE: Config is still being worked on.\n @Input() @InputBoolean() hasConfig = false\n\n /**\n * Toggles the ability to collapse a widget. An icon will be displayed in the\n * header to toggle the collapsed state.\n */\n @Input() @InputBoolean() canCollapse = false\n\n @ContentChild(WidgetIconTplDirective, { static: true }) iconTpl?: WidgetIconTplDirective\n @ContentChild(WidgetTitleTplDirective, { static: true }) titleTpl?: WidgetTitleTplDirective\n\n constructor(\n private readonly _widgetPreferences: WidgetPreferencesService,\n @Optional() @Inject(THESEAM_WIDGET_DEFAULTS) private readonly _defaults?: TheSeamWidgetDefaults,\n @Optional() @Inject(THESEAM_WIDGET_DATA) private readonly _data?: TheSeamWidgetData,\n ) {\n if (this._defaults) {\n if (hasProperty(this._defaults, 'canCollapse')) {\n this.canCollapse = this._defaults.canCollapse\n }\n if (hasProperty(this._defaults, 'collapsed')) {\n this.collapsed = this._defaults.collapsed\n }\n }\n\n if (this._data && this._data.widgetId) {\n this._preferencesKey = `widget:${this._data.widgetId}`\n this._widgetPreferences.preferences(this._preferencesKey).pipe(\n tap(prefs => {\n if (hasProperty(prefs, 'collapsed')) {\n this.collapsed = prefs.collapsed\n }\n }),\n takeUntil(this._ngUnsubscribe)\n ).subscribe()\n }\n }\n\n ngOnDestroy() {\n this._ngUnsubscribe.next()\n this._ngUnsubscribe.complete()\n }\n\n /**\n * Toggles a widget's collapsed state.\n */\n public collapse() {\n if (!this.canCollapse) {\n if (isDevMode()) {\n console.warn('WidgetComponent: collapse() called when canCollapse is false.')\n }\n return\n }\n\n this.collapsed = !this.collapsed\n\n // Only update the preference, if collapse method is called, because it is\n // assumed that the user is collapsing the widget. If the collapsed state is\n // changed by other means, such using the widget's `collapsed` input, then\n // the preference should not be updated, because that is assumed to be an\n // app controlled change that should not be persisted.\n if (this._preferencesKey) {\n this._widgetPreferences.patchPreferences(this._preferencesKey, { collapsed: this.collapsed })\n }\n }\n\n get collapseState(): string { return this.collapsed ? COLLAPSED_STATE : EXPANDED_STATE }\n\n}\n","<div class=\"seam-widget border rounded overflow-hidden\">\n <div class=\"widget-header\" seamWidgetDragHandle *ngIf=\"hasHeader\">\n <div class=\"widget-header-content p-2 text-nowrap\">\n <span class=\"mr-1 widget-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"widget-header-icon--fa {{ iconClass }}\"\n [icon]=\"_iconObj\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"widget-header-icon--img {{ iconClass }}\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n <span class=\"widget-header-title text-truncate\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl.template\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, icon: icon, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </div>\n <div class=\"widget-header-btns-container\" *ngIf=\"hasConfig || canCollapse\">\n <!-- <div *ngIf=\"hasConfig\">\n <button seamIconBtn [icon]=\"configIcon\"\n class=\"widget-header-btn-config\"\n [iconType]=\"null\">\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n <button seamButton class=\"widget-header-btn-config p-0\">\n <seam-icon class=\"d-block\" [icon]=\"configIcon\" iconClass=\"text-secondary\"></seam-icon>\n <span class=\"sr-only\">Widget configuration menu</span>\n </button>\n </div> -->\n\n <div *ngIf=\"canCollapse\" class=\"px-0\">\n <button seamButton class=\"widget-header-btn-collapse p-0 mr-1 h-100\" (click)=\"collapse()\" [class.widget-header-btn-collapse--active]=\"collapsed\">\n <seam-icon class=\"d-block\"\n [icon]=\"collapseIcon\"\n iconClass=\"text-secondary\">\n </seam-icon>\n <span class=\"sr-only\">Widget collapse</span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"position-relative overflow-hidden\" [style.height.px]=\"loading ? 150 : undefined\" [@collapseAnim]=\"collapseState\">\n <ng-container *ngIf=\"!collapsed\">\n <div class=\"p-2\" *ngIf=\"!loading else loadingTpl\" @keepContentAnim>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"seam-widget-footer\"></ng-content>\n <ng-template #loadingTpl>\n <div class=\"position-absolute\" @loadingAnim style=\"top:0;right:0;bottom:0;left:0\">\n <seam-loading [theme]=\"'primary'\"></seam-loading>\n </div>\n </ng-template>\n </ng-container>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'\n\n@Component({\n selector: 'seam-widget-footer',\n templateUrl: './widget-footer.component.html',\n styleUrls: ['./widget-footer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class WidgetFooterComponent { }\n","<div class=\"widget-footer--left\">\n <ng-content select=\"seam-widget-footer-text\"></ng-content>\n</div>\n<div class=\"widget-footer--right\">\n <ng-content select=\"seam-widget-button-group\"></ng-content>\n</div>\n","import { ComponentPortal } from '@angular/cdk/portal'\nimport { ComponentFactoryResolver, Inject, Injectable, Injector, ViewContainerRef } from '@angular/core'\nimport { Observable, of, throwError } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\n\nimport { IWidgetRegistryRecord } from './widget-registry.models'\nimport { THESEAM_WIDGETS } from './widget-token'\n\n/**\n * Registry is to provide a way to manage widgets in a way that we can load them\n * the same way throughout the app, whether the component itself is registered,\n * the component is lazy-loaded, or referenced by an id stored in the database.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class WidgetRegistryService {\n\n constructor(\n @Inject(THESEAM_WIDGETS) private _widgets: IWidgetRegistryRecord[],\n private _dynamicComponentLoader: TheSeamDynamicComponentLoader,\n ) { }\n\n public createWidgetPortal<T>(\n widgetId: string,\n viewContainerRef?: ViewContainerRef | null,\n injector?: Injector | null,\n componentFactoryResolver?: ComponentFactoryResolver | null | undefined,\n ): Observable<ComponentPortal<T>> {\n const widgetDef = (this._widgets || []).find(w => w.widgetId === widgetId)\n\n if (!widgetDef) {\n return throwError(`WidgetRegstry: Unknown widgetId \"${widgetId}\"`)\n }\n\n if (typeof widgetDef.componentOrComponentId === 'string') {\n return this._dynamicComponentLoader\n .getComponentFactory<T>(widgetDef.componentOrComponentId)\n .pipe(\n map(componentFactory => {\n let resolver: ComponentFactoryResolver | null | undefined = componentFactoryResolver\n if (!resolver) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const m = (componentFactory as any /* ComponentFactoryBoundToModule */).ngModule\n if (m && m.componentFactoryResolver) {\n resolver = m.componentFactoryResolver\n }\n }\n\n const portal = new ComponentPortal(\n componentFactory.componentType,\n viewContainerRef,\n injector,\n resolver,\n )\n\n return portal\n }),\n )\n } else {\n const portal = new ComponentPortal(\n widgetDef.componentOrComponentId,\n viewContainerRef,\n injector,\n componentFactoryResolver,\n )\n\n return of(portal)\n }\n }\n\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop'\nimport { CdkTableModule } from '@angular/cdk/table'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamLoadingModule } from '@theseam/ui-common/loading'\n\nimport { WidgetDragHandleDirective } from './directives/widget-drag-handle.directive'\nimport { WidgetIconTplDirective } from './directives/widget-icon-tpl.directive'\nimport { WidgetTitleTplDirective } from './directives/widget-title-tpl.directive'\nimport { WidgetComponent } from './widget/widget.component'\n\nimport { TheSeamWidgetButtonGroupModule } from './widget-content-components/widget-button-group/widget-button-group.module'\nimport { TheSeamWidgetContentHeaderModule } from './widget-content-components/widget-content-header/widget-content-header.module'\nimport { TheSeamWidgetDescriptionModule } from './widget-content-components/widget-description/widget-description.module'\nimport { TheSeamWidgetEmptyLabelModule } from './widget-content-components/widget-empty-label/widget-empty-label.module'\nimport { TheSeamWidgetFooterLinkModule } from './widget-content-components/widget-footer-link/widget-footer-link.module'\nimport { TheSeamWidgetFooterTextModule } from './widget-content-components/widget-footer-text/widget-footer-text.module'\nimport { TheSeamWidgetHeaderBadgeModule } from './widget-content-components/widget-header-badge/widget-header-badge.module'\nimport { TheSeamWidgetListGroupModule } from './widget-content-components/widget-list-group/widget-list-group.module'\nimport { TheSeamWidgetTableModule } from './widget-content-components/widget-table/widget-table.module'\nimport { TheSeamWidgetTileModule } from './widget-content-components/widget-tile/widget-tile.module'\nimport { TheSeamWidgetTileListModule } from './widget-content-components/widget-tile-list/widget-tile-list.module'\nimport { WidgetFooterComponent } from './widget-footer/widget-footer.component'\n\nconst contentModules = [\n TheSeamWidgetButtonGroupModule,\n TheSeamWidgetContentHeaderModule,\n TheSeamWidgetDescriptionModule,\n TheSeamWidgetEmptyLabelModule,\n TheSeamWidgetFooterLinkModule,\n TheSeamWidgetFooterTextModule,\n TheSeamWidgetHeaderBadgeModule,\n TheSeamWidgetListGroupModule,\n TheSeamWidgetTableModule,\n TheSeamWidgetTileListModule,\n TheSeamWidgetTileModule,\n]\n\n@NgModule({\n declarations: [\n WidgetComponent,\n WidgetIconTplDirective,\n WidgetTitleTplDirective,\n WidgetDragHandleDirective,\n WidgetFooterComponent,\n ],\n imports: [\n CommonModule,\n FontAwesomeModule,\n TheSeamIconModule,\n TheSeamLoadingModule,\n DragDropModule,\n TheSeamButtonsModule,\n CdkTableModule,\n\n ...contentModules,\n ],\n exports: [\n RouterModule,\n\n WidgetComponent,\n WidgetIconTplDirective,\n WidgetTitleTplDirective,\n WidgetFooterComponent,\n\n ...contentModules,\n ],\n})\nexport class TheSeamWidgetModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","tap","takeUntil","i1.WidgetPreferencesService","i3","i4","i7.WidgetDragHandleDirective"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDgB,SAAA,YAAY,CAC1B,IAAoC,EACpC,MAAwC,EAAA;AAExC,IAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACxB,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;;YAErD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAE,CAAA;AACzB,SAAA;AACF,KAAA;AAED,IAAA,OAAO,IAAI,CAAA;AACb,CAAC;AAEe,SAAA,4BAA4B,CAAC,OAAoB,EAAE,MAAe,EAAA;IAChF,MAAM,UAAU,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAA;AAEvC,IAAA,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;QAC1B,WAAW,EAAE,MAAM,GAAG,EAAE,GAAG,MAAM;QACjC,cAAc,EAAE,MAAM,GAAG,EAAE,GAAG,MAAM;QACpC,UAAU;AACV,QAAA,YAAY,EAAE,UAAU;AACxB,QAAA,gBAAgB,EAAE,UAAU;AAC5B,QAAA,aAAa,EAAE,UAAU;AAC1B,KAAA,CAAC,CAAA;AACJ,CAAC;MAOY,uBAAuB,GAAG,IAAI,cAAc,CACvD,uBAAuB,EACxB;MAQY,yBAAyB,CAAA;;IAUpC,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAA,EAAE;;IAMpD,IACI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAA,EAAE;IACjD,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;AAC7C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAW,CAAC,CAAA;KACrC;AAGD,IAAA,WAAA,CACS,OAAgC,EAC/B,OAAe,EAC8B,iBAA8C,EAC/E,YAAsB,EAAA;QAHnC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAyB;QAC/B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QAC8B,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAA6B;QAC/E,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAU;AAzB3B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAA;AAE7C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;QACpD,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAA;;AAOrC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAiB,CAAA;QASpC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAA;AAQvB,QAAA,4BAA4B,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;KAC3D;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CACvC,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC,SAAS,CAAC,MAAK;gBACf,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,oBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;AACzC,oBAAA,IAAI,UAAU,EAAE;AACd,wBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAS,CAAA;AAC7C,wBAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,EAAE;AACpC,4BAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACrC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACH,aAAC,CAAC,CAAA;AACH,SAAA;KACF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,EAAE;;;;;;;AAQ/C,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;;AAEjC,iBAAA,IAAI,CACH,IAAI,CAAC,CAAC,CAAC;;YAEP,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;;AAElE,YAAA,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B;iBACA,SAAS,CAAC,MAAK;AACd,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAS,CAAA;gBAE7C,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,EAAE;AAC7D,oBAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;AACxE,oBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;AAClC,iBAAA;AAED,gBAAA,IAAI,MAAM,EAAE;AACV,oBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAA;AAC9B,oBAAA,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAE,CAAC,CAAA;AAC5D,oBAAA,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAA;oBACjC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;AACzD,iBAAA;AACH,aAAC,CAAC,CAAA;AACL,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAA;AAC7B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;AAE9B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACnC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;KAC/B;IAED,SAAS,GAAA;;;QAGP,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAM;AAAE,SAAA;AAE1C,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;AACzC,QAAA,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC5C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACpC,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;AAClC,SAAA;KACF;IAEM,eAAe,GAAA;AACpB,QAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;KAC1D;;IAGM,gBAAgB,GAAA;QACrB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAA;AACzB,SAAA;aAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAA;YACnE,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAC/D,YAAA,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,GAAG,SAAS,CAAA;AACzE,SAAA;KACF;;AAzHU,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kEA2Bd,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GA3BlC,yBAAyB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,uBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC3B,qBAAA;AACF,iBAAA,CAAA;;0BA4BI,QAAQ;;0BAAI,MAAM;2BAAC,uBAAuB,CAAA;;0BAC1C,QAAQ;4CAXP,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,uBAAuB,CAAA;;;MCzGnB,sBAAsB,CAAA;AAEjC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;;mHAFvC,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAtB,sBAAsB,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA,CAAA;;;MCCY,uBAAuB,CAAA;AAElC,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;;oHAFvC,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA,CAAA;;;ACKM,MAAM,kCAAkC,GAAG,EAAC;AAEtC,MAAA,wBAAwB,GAA6B;AAChE,IAAA,OAAO,EAAE,CAAC;;;MCRC,mCAAmC,GAAG,IAAI,cAAc,CACnE,kCAAkC;;ACKpC;AACA;AAEA;MAEa,wBAAwB,CAAA;IAInC,WACmB,CAAA,mBAAqD,EACL,cAA2C,EAAA;QAD3F,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAkC;QACL,IAAc,CAAA,cAAA,GAAd,cAAc,CAA6B;QAJtG,IAAe,CAAA,eAAA,GAAkE,EAAG,CAAA;KAKvF;AAEE,IAAA,cAAc,CAAC,aAAqB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;KAC7F;AAEM,IAAA,SAAS,CAAC,aAAqB,EAAA;QACpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;KACzD;AAEM,IAAA,QAAQ,CAAC,aAAqB,EAAA;QACnC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;KACxD;AAEM,IAAA,WAAW,CAAC,aAAqB,EAAA;AACtC,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAA;AAChE,SAAA;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAC5G,GAAG,CAAC,KAAK,IAAG;AACV,YAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;AACnC,gBAAA,OAAO,KAAK,CAAA;AACb,aAAA;AAED,YAAA,MAAM,KAAK,CAAC,CAAA,qBAAA,EAAwB,aAAa,CAAA,oCAAA,CAAsC,CAAC,CAAA;SACzF,CAAC,CACH,CAAA;KACF;AAEM,IAAA,OAAO,CAAC,aAAqB,EAAA;AAClC,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;KAChD;IAEM,gBAAgB,CAAC,aAAqB,EAAE,WAA0C,EAAA;AACvF,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAM;AACP,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;AACxC,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,EAAE,CAAA;AACzC,SAAA;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAClD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACrD,OAAM;AACP,SAAA;QAED,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAErD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,IAAI,CAClC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,KAAK,IAAG;YACV,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;AAC1D,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,EAAE,CAAA;YACxC,MAAM,QAAQ,GAA6B,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAI;AAC9E,gBAAA,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;AAC7B,aAAC,EAAE,KAAK,CAA6B,CAAA;AAErC,YAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;AACvC,gBAAA,MAAM,KAAK,CAAC,CAAA,wCAAA,EAA2C,aAAa,CAAA,2BAAA,CAA6B,CAAC,CAAA;AACnG,aAAA;YAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;AAC1D,SAAC,CAAC,EACF,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CACvC,CAAC,SAAS,EAAE,CAAA;KACd;AAEO,IAAA,mBAAmB,CAAC,KAA6B,EAAA;AACvD,QAAA,OAAO,KAAK,CAAC,OAAO,KAAK,kCAAkC,CAAA;KAC5D;;AA9EU,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,oEAMb,mCAAmC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;yHAN9C,wBAAwB,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;;0BAON,QAAQ;;0BAAI,MAAM;2BAAC,mCAAmC,CAAA;;;MCb9C,0BAA0B,CAAA;;uHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,gECRvC,qDACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDOa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;+BACE,0BAA0B,EAAA,eAAA,EAGnB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;;;MEepC,8BAA8B,CAAA;;2HAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4HAA9B,8BAA8B,EAAA,YAAA,EAAA,CAZvC,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAG1B,YAAY;AACZ,QAAA,oBAAoB,aAGpB,0BAA0B;QAE1B,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAGX,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,YATvC,YAAY;AACZ,QAAA,oBAAoB,EAKpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;2FAGX,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAd1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAE1B,oBAAoB;AACrB,qBAAA;AACF,iBAAA,CAAA;;;MCZY,4BAA4B,CAAA;;yHAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,kECRzC,6BACA,EAAA,MAAA,EAAA,CAAA,sEAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDOa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;+BACE,4BAA4B,EAAA,aAAA,EAGvB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,sEAAA,CAAA,EAAA,CAAA;;;MEU1B,gCAAgC,CAAA;;6HAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhC,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,EATzC,YAAA,EAAA,CAAA,4BAA4B,CAG5B,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAGnB,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,YANzC,YAAY,CAAA,EAAA,CAAA,CAAA;2FAMH,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAX5C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,4BAA4B;AAC7B,qBAAA;AACF,iBAAA,CAAA;;;MCPY,0BAA0B,CAAA;;uHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,+DCRvC,oCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDOa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;+BACE,yBAAyB,EAAA,eAAA,EAGlB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,oCAAA,EAAA,CAAA;;;MEUpC,8BAA8B,CAAA;;2HAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA9B,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,EATvC,YAAA,EAAA,CAAA,0BAA0B,CAG1B,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAGjB,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,YANvC,YAAY,CAAA,EAAA,CAAA,CAAA;2FAMH,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAX1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;AAC3B,qBAAA;AACF,iBAAA,CAAA;;;MCPY,yBAAyB,CAAA;IAIpC,IACI,OAAO,GAAK,EAAA,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA,EAAE;IAE3C,IACI,WAAW,GAAK,EAAA,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA,EAAE;AAE/C,IAAA,IACI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAA;KAC7D;IAED,IACI,IAAI,KAAgC,OAAO,IAAI,CAAC,KAAK,CAAA,EAAE;AAE3D,IAAA,WAAA,CACS,WAA4E,EAAA;QAA5E,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiE;KAChF;;IAGG,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAA;KAC1E;;IAGO,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,CAAA;KACrE;;sHA9BU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,gRCRtC,6BACA,EAAA,MAAA,EAAA,CAAA,kGAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDOa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;+BACE,oFAAoF,EAAA,aAAA,EAG/E,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,kGAAA,CAAA,EAAA,CAAA;iGAOjC,OAAO,EAAA,CAAA;sBADV,WAAW;uBAAC,WAAW,CAAA;gBAIpB,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,gBAAgB,CAAA;gBAIzB,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,WAAW,CAAA;gBAMpB,IAAI,EAAA,CAAA;sBADP,KAAK;;;MEPK,6BAA6B,CAAA;;0HAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,EATtC,YAAA,EAAA,CAAA,yBAAyB,CAGzB,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAGhB,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YANtC,YAAY,CAAA,EAAA,CAAA,CAAA;2FAMH,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAXzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;MCNY,yBAAyB,CAAA;;sHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,kECTtC,6BACA,EAAA,MAAA,EAAA,CAAA,gFAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDQa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;+BAEE,4BAA4B,EAAA,aAAA,EAGvB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,gFAAA,CAAA,EAAA,CAAA;;;MES1B,6BAA6B,CAAA;;0HAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,EATtC,YAAA,EAAA,CAAA,yBAAyB,CAGzB,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAGhB,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YANtC,YAAY,CAAA,EAAA,CAAA,CAAA;2FAMH,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAXzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;MCPY,yBAAyB,CAAA;;sHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,+DCRtC,4CAGA,EAAA,MAAA,EAAA,CAAA,0EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDKa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;+BACE,yBAAyB,EAAA,aAAA,EAGpB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4CAAA,EAAA,MAAA,EAAA,CAAA,0EAAA,CAAA,EAAA,CAAA;;;MEU1B,6BAA6B,CAAA;;0HAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,EATtC,YAAA,EAAA,CAAA,yBAAyB,CAGzB,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAGhB,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YANtC,YAAY,CAAA,EAAA,CAAA,CAAA;2FAMH,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAXzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;ACRD,MAAM,qBAAqB,CAAA;AAEzB,IAAA,WAAA,CACS,WAAuB,EAAA;QAAvB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;KAC3B;AAEN,CAAA;AAED,MAAM,2BAA2B,GACE,UAAU,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;AAevE,MAAO,0BAA2B,SAAQ,2BAA2B,CAAA;;IAGzE,WACE,CAAA,WAAuB,IACrB,KAAK,CAAC,WAAW,CAAC,CAAA,EAAE;;uHALb,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,kKC/BvC,6BACA,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FD8Ba,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAbtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAI5B,MAAA,EAAA,CAAE,OAAO,CAAE,EAEb,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA,CAAA;;;MEbpC,8BAA8B,CAAA;;2HAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA9B,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,EATvC,YAAA,EAAA,CAAA,0BAA0B,CAG1B,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAGjB,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,YANvC,YAAY,CAAA,EAAA,CAAA,CAAA;2FAMH,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAX1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;AAC3B,qBAAA;AACF,iBAAA,CAAA;;;MCTY,mCAAmC,CAAA;AAE9C,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;;gIAFvC,mCAAmC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oHAAnC,mCAAmC,EAAA,QAAA,EAAA,kCAAA,EAAA,QAAA,EAAA,CAAA,gCAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAJ/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,gCAAgC;AAC3C,iBAAA,CAAA;;;ACcD;AACA,MAAM,6BAA6B,GAAG,CAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,oBAAoB,CAAE,CAAA;AAElK,MAEM,uBAAuB,CAAA;IAY3B,WACS,CAAA,WAAuB,EACvB,SAAoB,EAAA;QADpB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KACxB;;IAGL,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAA;KAC/B;IAED,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAA;KACtC;;oHAxBG,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,+DAEb,mCAAmC,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAF7C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAF5B,SAAS;yHAI6D,OAAO,EAAA,CAAA;sBAA3E,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,mCAAmC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;AAyBrE,MAEM,iCAAkC,SAAQ,uBAAuB,CAAA;AACrE,IAAA,WAAA,CACS,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;AAE3B,QAAA,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAJtB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;QAC3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAG3B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;KACnD;IAED,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;KACpD;;8HAZG,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kHAAjC,iCAAiC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAFtC,SAAS;;AAiBV,MAAM,wBAAwB,GACK,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAA;AAErH,MAAM,kCAAkC,GACK,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,iCAAiC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAA;AAgBnI,MAAO,4BAA6B,SAAQ,wBAAwB,CAAA;IAGxE,WACS,CAAA,WAAmF,EACnF,SAAoB,EAAA;AAE3B,QAAA,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAHtB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAwE;QACnF,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAG5B;;yHARU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,whBCxFzC,o1BA6BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FD2Da,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAdxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAG7B,QAAA,EAAA,yBAAyB,EAC3B,MAAA,EAAA,6BAA6B,EAC/B,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,gBAAgB,EAAE,QAAQ;AAC1B,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;qBACtC,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,o1BAAA,EAAA,CAAA;;AA6B3C,MAAO,kCAAmC,SAAQ,kCAAkC,CAAA;AAMxF,IAAA,WAAA,CACS,WAAmF,EACnF,aAA2B,EAC3B,SAAoB,EAAA;AAE3B,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAJrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAwE;QACnF,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;QAC3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;;QALpB,IAAI,CAAA,IAAA,GAAqD,QAAQ,CAAA;KAQzE;AAED,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;;+HAd1B,kCAAkC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,0nBCnH/C,o1BA6BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDsFa,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAhB9C,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qEAAqE,EAGrE,QAAA,EAAA,yBAAyB,EAC3B,MAAA,EAAA,6BAA6B,EAC/B,IAAA,EAAA;AACJ,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,OAAO,EAAE,wCAAwC;AACjD,wBAAA,gBAAgB,EAAE,QAAQ;AAC1B,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;qBACtC,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,o1BAAA,EAAA,CAAA;sJAMtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;;AA+BF,MAAO,kCAAmC,SAAQ,kCAAkC,CAAA;AAMxF,IAAA,WAAA,CACS,WAAmF,EACnF,aAA2B,EAC3B,SAAoB,EAAA;AAE3B,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAJrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAwE;QACnF,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;QAC3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAG5B;AAED,IAAA,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA,EAAE;AAErC,IAAA,mBAAmB,CAAC,KAAY,EAAA;;QAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,KAAK,CAAC,wBAAwB,EAAE,CAAA;AACjC,SAAA;KACF;;+HAtBU,kCAAkC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,8sBCtJ/C,o1BA6BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDyHa,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAjB9C,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2DAA2D,EAG3D,QAAA,EAAA,yBAAyB,EAC3B,MAAA,EAAA,6BAA6B,EAC/B,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,wCAAwC;AACjD,wBAAA,gBAAgB,EAAE,QAAQ;AAC1B,wBAAA,iBAAiB,EAAE,iCAAiC;AACpD,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,iBAAiB,EAAE,kBAAkB;AACrC,wBAAA,SAAS,EAAE,6BAA6B;qBACzC,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,o1BAAA,EAAA,CAAA;sJAMtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AExJR;MAWa,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,sGCbrC,oNAMA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDOa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAG5B,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,YAAY;qBACtB,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,oNAAA,EAAA,CAAA;;;MEsBpC,4BAA4B,CAAA;;yHAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,iBAlBrC,wBAAwB;QACxB,kCAAkC;QAClC,kCAAkC;QAClC,4BAA4B;AAC5B,QAAA,mCAAmC,aAGnC,YAAY;AACZ,QAAA,iBAAiB,aAGjB,wBAAwB;QACxB,kCAAkC;QAClC,kCAAkC;QAClC,4BAA4B;QAC5B,mCAAmC,CAAA,EAAA,CAAA,CAAA;AAG1B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YAXrC,YAAY;QACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;2FAUR,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBApBxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,kCAAkC;wBAClC,kCAAkC;wBAClC,4BAA4B;wBAC5B,mCAAmC;AACpC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,kCAAkC;wBAClC,kCAAkC;wBAClC,4BAA4B;wBAC5B,mCAAmC;AACpC,qBAAA;AACF,iBAAA,CAAA;;;MCpBY,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;QAUW,IAAI,CAAA,IAAA,GAA2B,EAAE,CAAA;QAEjC,IAAI,CAAA,IAAA,GAAmC,IAAI,CAAA;QAC3B,IAAS,CAAA,SAAA,GAAG,IAAI,CAAA;AAEtB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAO,CAAA;AAMlE,KAAA;IAJC,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAA;KACjC;;iHAbU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,4NCZjC,0MAQA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADW2B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAP9B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,mBAAmB,EAAA,eAAA,EAGZ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0MAAA,EAAA,CAAA;8BAKtC,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACmB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBAEa,oBAAoB,EAAA,CAAA;sBAAtC,MAAM;;;MEAI,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAxB,wBAAwB,EAAA,YAAA,EAAA,CAXjC,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAGpB,YAAY;QACZ,kBAAkB;AAClB,QAAA,2BAA2B,aAG3B,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAGX,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YARjC,YAAY;QACZ,kBAAkB;QAClB,2BAA2B,CAAA,EAAA,CAAA,CAAA;2FAMlB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,kBAAkB;wBAClB,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;AACrB,qBAAA;AACF,iBAAA,CAAA;;;MCTY,yBAAyB,CAAA;;sHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,0JCXtC,0GAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDQa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mDAAmD,EAGvD,IAAA,EAAA;AACJ,wBAAA,KAAK,EAAE,qCAAqC;qBAC7C,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0GAAA,EAAA,CAAA;;;MEKpC,6BAA6B,CAAA;AAKxC,IAAA,IACI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAA;KAC7D;IAED,IACI,YAAY,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAA,EAAE;IAE3C,IACI,IAAI,KAAgC,OAAO,IAAI,CAAC,KAAK,CAAA,EAAE;AAI3D,IAAA,WAAA,CACS,WAA4E,EAAA;QAA5E,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiE;QAH5D,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;KAIpC;;IAGG,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAA;KAC1E;;0HAzBU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,mUCd1C,6BACA,EAAA,MAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AD6B2B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,6BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAhB9B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBATzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mGAAmG,EAGvG,IAAA,EAAA;AACJ,wBAAA,KAAK,EAAE,wBAAwB;qBAChC,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,CAAA;iGAQ3C,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,WAAW,CAAA;gBAMpB,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,gBAAgB,CAAA;gBAIzB,IAAI,EAAA,CAAA;sBADP,KAAK;gBAGmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;;;MEtBK,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,8DCRrC,0IAEA,EAAA,MAAA,EAAA,CAAA,gIAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDMa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACE,wBAAwB,EAAA,eAAA,EAGjB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0IAAA,EAAA,MAAA,EAAA,CAAA,gIAAA,CAAA,EAAA,CAAA;;;MEApC,gCAAgC,CAAA;AAE3C,IAAA,WAAA,CAAmB,QAA0B,EAAA;QAA1B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;;6HAFvC,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iHAAhC,gCAAgC,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAJ5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,QAAQ,EAAE,6BAA6B;AACxC,iBAAA,CAAA;;;ACcD,MAEM,qBAAqB,CAAA;AACzB,IAAA,WAAA,CACS,WAAuB,EACvB,aAA2B,EAC3B,SAAoB,EAAA;QAFpB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;QAC3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAE3B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;KACnD;IAED,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;KACpD;;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAA;KAC/B;IAED,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAA;KACtC;;kHApBG,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,oDAFJ,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAEnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAF1B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;;AAyB3B,MAAM,2BAA2B,GACE,aAAa,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAEtF;AASM,MAAO,mBAAoB,SAAQ,2BAA2B,CAAA;AAOlE,IAAA,IACI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAA;KAC7D;IAED,IACI,OAAO,GAAK,EAAA,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA,EAAE;IAE3C,IACI,YAAY,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAA,EAAE;IAE3C,IACI,aAAa,GAAK,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA,EAAE;IAEvD,IACI,aAAa,GAAK,EAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAA,EAAE;IAEpD,IACI,aAAa,KAAK,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA,EAAE;IAExE,IACI,IAAI,KAAgC,OAAO,IAAI,CAAC,KAAK,CAAA,EAAE;;AAgB3D,IAAA,WAAA,CACE,WAA4E,EAC5E,aAA2B,EAC3B,SAAoB,EAAA;AAClB,QAAA,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAhBvB,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAA;QAIzC,IAAQ,CAAA,QAAA,GAAuC,eAAe,CAAA;AAqCvE,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,KAAY,KAAI;;YAErC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,KAAK,CAAC,wBAAwB,EAAE,CAAA;AACjC,aAAA;AACH,SAAC,CAAA;KA/BiD;IAElD,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;AACvG,SAAA;KACF;IAED,WAAW,GAAA;QACT,KAAK,CAAC,WAAW,EAAE,CAAA;QACnB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,EAAE,CAAA;AACtB,SAAA;KACF;;IAGO,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAA;KAC1E;;IAGO,SAAS,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,CAAA;KACrE;;gHAvEU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oGAAnB,mBAAmB,EAAA,QAAA,EAAA,iEAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAyChB,gCAAgC,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjGhD,6tBAwBA,EAAA,MAAA,EAAA,CAAA,s8CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;ADgE2B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAA0B,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAhCvC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;+BACE,iEAAiE,EAAA,MAAA,EAGnE,CAAE,UAAU,CAAE,YACZ,gBAAgB,EAAA,aAAA,EACX,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6tBAAA,EAAA,MAAA,EAAA,CAAA,s8CAAA,CAAA,EAAA,CAAA;sJAUjC,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,WAAW,CAAA;gBAMpB,OAAO,EAAA,CAAA;sBADV,WAAW;uBAAC,WAAW,CAAA;gBAIpB,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,gBAAgB,CAAA;gBAIzB,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,oBAAoB,CAAA;gBAI7B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,eAAe,CAAA;gBAIxB,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,eAAe,CAAA;gBAIxB,IAAI,EAAA,CAAA;sBADP,KAAK;gBAGG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEmB,kBAAkB,EAAA,CAAA;sBAA1C,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBAE4D,aAAa,EAAA,CAAA;sBAA9E,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,gCAAgC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MElErD,uBAAuB,CAAA;;oHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAlBhC,mBAAmB;QACnB,gCAAgC;QAChC,yBAAyB;QACzB,wBAAwB;AACxB,QAAA,6BAA6B,aAG7B,YAAY;AACZ,QAAA,iBAAiB,aAGjB,mBAAmB;QACnB,gCAAgC;QAChC,yBAAyB;QACzB,wBAAwB;QACxB,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAGpB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAXhC,YAAY;QACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;2FAUR,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBApBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,gCAAgC;wBAChC,yBAAyB;wBACzB,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,gCAAgC;wBAChC,yBAAyB;wBACzB,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACF,iBAAA,CAAA;;;MCvBY,uBAAuB,CAAA;;oHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,6DCPpC,mGACA,EAAA,MAAA,EAAA,CAAA,6CAAA,CAAA,EAAA,CAAA,CAAA;2FDMa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,mGAAA,EAAA,MAAA,EAAA,CAAA,6CAAA,CAAA,EAAA,CAAA;;;MEgBtB,2BAA2B,CAAA;;wHAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,EAVpC,YAAA,EAAA,CAAA,uBAAuB,CAGvB,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,uBAAuB;QACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;yHAGd,2BAA2B,EAAA,OAAA,EAAA,CAPpC,YAAY,EAIZ,uBAAuB,CAAA,EAAA,CAAA,CAAA;2FAGd,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,uBAAuB;wBACvB,uBAAuB;AACxB,qBAAA;AACF,iBAAA,CAAA;;;MCbY,eAAe,GAAG,IAAI,cAAc,CAAwB,gBAAgB,EAAC;MAE7E,mBAAmB,GAAG,IAAI,cAAc,CAAoB,mBAAmB,EAAC;MAEhF,uBAAuB,GAAG,IAAI,cAAc,CAAwB,uBAAuB;;ACQxG,MAAM,cAAc,GAAG,UAAU,CAAA;AACjC,MAAM,eAAe,GAAG,WAAW,CAAA;AAEnC,MAAM,iBAAiB,GAAG,CAAA,EAAG,cAAc,CAAQ,KAAA,EAAA,eAAe,EAAE,CAAA;AAEpE,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,EAAE;IAC9C,UAAU,CAAC,QAAQ,EAAE;AACnB,QAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACpD,CAAC;IACF,UAAU,CAAC,QAAQ,EAAE;AACnB,QAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACpD,CAAC;AACH,CAAA,CAAC,CAAA;AAEF;;;;AAIG;AACH,MAAM,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IACtD,UAAU,CAAC,QAAQ,EAAE;AACnB,QAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACtC,CAAC;AACH,CAAA,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE;IAChD,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9C,IAAA,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC3D,CAAA,CAAC,CAAA;AAEF;;;;;;;;;;AAUG;MAeU,eAAe,CAAA;AAmC1B;;;;;;;AAOG;AACH,IAAA,IACI,IAAI,GAAA,EAA2B,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAA,EAAE;IAC1E,IAAI,IAAI,CAAC,KAA2B,EAAA;AAClC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;AACzB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;AACtB,SAAA;KACF;AAwBD,IAAA,WAAA,CACmB,kBAA4C,EACC,SAAiC,EACrC,KAAyB,EAAA;QAFlE,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAA0B;QACC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAwB;QACrC,IAAK,CAAA,KAAA,GAAL,KAAK,CAAoB;QAzE5E,IAAU,CAAA,UAAA,GAAG,KAAK,CAAA;QAClB,IAAY,CAAA,YAAA,GAAG,WAAW,CAAA;AAElB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAA;AAIrD;;AAEG;QACsB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAA;AAE1C;;;AAGG;QACsB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAA;;QAuChB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAA;;;QAIf,IAAS,CAAA,SAAA,GAAG,KAAK,CAAA;AAE1C;;;AAGG;QACsB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAA;QAU1C,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE;gBAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAA;AAC9C,aAAA;YACD,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE;gBAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAA;AAC1C,aAAA;AACF,SAAA;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACrC,IAAI,CAAC,eAAe,GAAG,CAAU,OAAA,EAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA,CAAE,CAAA;AACtD,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAC5DC,KAAG,CAAC,KAAK,IAAG;AACV,gBAAA,IAAI,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;AACnC,oBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;AACjC,iBAAA;AACH,aAAC,CAAC,EACFC,WAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAC/B,CAAC,SAAS,EAAE,CAAA;AACd,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAA;KAC/B;AAED;;AAEG;IACI,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,SAAS,EAAE,EAAE;AACf,gBAAA,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAA;AAC9E,aAAA;YACD,OAAM;AACP,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAA;;;;;;QAOhC,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;AAC9F,SAAA;KACF;AAED,IAAA,IAAI,aAAa,GAAa,EAAA,OAAO,IAAI,CAAC,SAAS,GAAG,eAAe,GAAG,cAAc,CAAA,EAAE;;4GApI7E,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,EAAA,EAAA,KAAA,EA+EJ,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EACvB,mBAAmB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAhF9B,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAVf,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAAA;QACT,wBAAwB;AACzB,KAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAkFa,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACtB,uBAAuB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvJvC,2+FAmEA,EDGc,MAAA,EAAA,CAAA,ilEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACV,gBAAgB;QAChB,iBAAiB;QACjB,oBAAoB;AACrB,KAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAmBwB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAkB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMjB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAuChB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAgB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIf,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAkB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMjB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAoB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAxEjC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAd3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAGZ,SAAA,EAAA;wBACT,wBAAwB;qBACzB,EACc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACzB,UAAA,EAAA;wBACV,gBAAgB;wBAChB,iBAAiB;wBACjB,oBAAoB;AACrB,qBAAA,EAAA,QAAA,EAAA,2+FAAA,EAAA,MAAA,EAAA,CAAA,ilEAAA,CAAA,EAAA,CAAA;;0BAiFE,QAAQ;;0BAAI,MAAM;2BAAC,uBAAuB,CAAA;;0BAC1C,QAAQ;;0BAAI,MAAM;2BAAC,mBAAmB,CAAA;4CA/DhB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBAMmB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBAUG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAWF,IAAI,EAAA,CAAA;sBADP,KAAK;gBAgBG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAGmB,OAAO,EAAA,CAAA;sBAA/B,KAAK;gBAImB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBAMmB,WAAW,EAAA,CAAA;sBAAnC,KAAK;gBAEkD,OAAO,EAAA,CAAA;sBAA9D,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACG,QAAQ,EAAA,CAAA;sBAAhE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;ME9I5C,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,0DCTlC,8NAMA,EAAA,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDGa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,mBAGb,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,8NAAA,EAAA,MAAA,EAAA,CAAA,kLAAA,CAAA,EAAA,CAAA;;;AEGvC;;;;AAIG;MAIU,qBAAqB,CAAA;IAEhC,WACmC,CAAA,QAAiC,EAC1D,uBAAsD,EAAA;QAD7B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAyB;QAC1D,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAA+B;KAC3D;AAEE,IAAA,kBAAkB,CACvB,QAAgB,EAChB,gBAA0C,EAC1C,QAA0B,EAC1B,wBAAsE,EAAA;QAEtE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;QAE1E,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,OAAO,UAAU,CAAC,CAAA,iCAAA,EAAoC,QAAQ,CAAA,CAAA,CAAG,CAAC,CAAA;AACnE,SAAA;AAED,QAAA,IAAI,OAAO,SAAS,CAAC,sBAAsB,KAAK,QAAQ,EAAE;YACxD,OAAO,IAAI,CAAC,uBAAuB;AAChC,iBAAA,mBAAmB,CAAI,SAAS,CAAC,sBAAsB,CAAC;AACxD,iBAAA,IAAI,CACH,GAAG,CAAC,gBAAgB,IAAG;gBACrB,IAAI,QAAQ,GAAgD,wBAAwB,CAAA;gBACpF,IAAI,CAAC,QAAQ,EAAE;;AAEb,oBAAA,MAAM,CAAC,GAAI,gBAAuB,qCAAsC,QAAQ,CAAA;AAChF,oBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,wBAAwB,EAAE;AACnC,wBAAA,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAA;AACtC,qBAAA;AACF,iBAAA;AAED,gBAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,gBAAgB,CAAC,aAAa,EAC9B,gBAAgB,EAChB,QAAQ,EACR,QAAQ,CACT,CAAA;AAED,gBAAA,OAAO,MAAM,CAAA;aACd,CAAC,CACH,CAAA;AACJ,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,SAAS,CAAC,sBAAsB,EAChC,gBAAgB,EAChB,QAAQ,EACR,wBAAwB,CACzB,CAAA;AAED,YAAA,OAAO,EAAE,CAAC,MAAM,CAAC,CAAA;AAClB,SAAA;KACF;;AArDU,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAGtB,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAN,IAAA,CAAA,6BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAHd,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAII,MAAM;2BAAC,eAAe,CAAA;;;ACS3B,MAAM,cAAc,GAAG;IACrB,8BAA8B;IAC9B,gCAAgC;IAChC,8BAA8B;IAC9B,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,8BAA8B;IAC9B,4BAA4B;IAC5B,wBAAwB;IACxB,2BAA2B;IAC3B,uBAAuB;CACxB,CAAA;MAgCY,mBAAmB,CAAA;;gHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBA5B5B,eAAe;QACf,sBAAsB;QACtB,uBAAuB;QACvB,yBAAyB;AACzB,QAAA,qBAAqB,aAGrB,YAAY;QACZ,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,cAAc;QACd,oBAAoB;AACpB,QAAA,cAAc,EA5BhB,8BAA8B;QAC9B,gCAAgC;QAChC,8BAA8B;QAC9B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,8BAA8B;QAC9B,4BAA4B;QAC5B,wBAAwB;QACxB,2BAA2B;AAC3B,QAAA,uBAAuB,aAuBrB,YAAY;QAEZ,eAAe;QACf,sBAAsB;QACtB,uBAAuB;AACvB,QAAA,qBAAqB,EAtCvB,8BAA8B;QAC9B,gCAAgC;QAChC,8BAA8B;QAC9B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,8BAA8B;QAC9B,4BAA4B;QAC5B,wBAAwB;QACxB,2BAA2B;QAC3B,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAiCZ,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YArB5B,YAAY;QACZ,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,cAAc;QACd,oBAAoB;AACpB,QAAA,cAAc,EAEX,cAAc,EAGjB,YAAY,EAjCd,8BAA8B;QAC9B,gCAAgC;QAChC,8BAA8B;QAC9B,6BAA6B;QAC7B,6BAA6B;QAC7B,6BAA6B;QAC7B,8BAA8B;QAC9B,4BAA4B;QAC5B,wBAAwB;QACxB,2BAA2B;QAC3B,uBAAuB,CAAA,EAAA,CAAA,CAAA;2FAiCZ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBA9B/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf,sBAAsB;wBACtB,uBAAuB;wBACvB,yBAAyB;wBACzB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,iBAAiB;wBACjB,oBAAoB;wBACpB,cAAc;wBACd,oBAAoB;wBACpB,cAAc;AAEd,wBAAA,GAAG,cAAc;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBAEZ,eAAe;wBACf,sBAAsB;wBACtB,uBAAuB;wBACvB,qBAAqB;AAErB,wBAAA,GAAG,cAAc;AAClB,qBAAA;AACF,iBAAA,CAAA;;;ACzED;;AAEG;;;;"}