@testgorilla/tgo-ui 3.14.13 → 4.0.0

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 (247) hide show
  1. package/components/donut-chart/donut-chart.component.d.ts +2 -2
  2. package/components/filter-button/filter-button.component.d.ts +2 -2
  3. package/components/icon/icon-svg-content.d.ts +1 -1
  4. package/components/table/table.component.d.ts +1 -1
  5. package/fesm2022/testgorilla-tgo-ui.mjs +731 -715
  6. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  7. package/package.json +17 -20
  8. package/projects/tgo-canopy-ui/theme/_palette.scss +2 -1
  9. package/utils/color-contrast.d.ts +1 -1
  10. package/esm2022/assets/i18n/da-dk.json +0 -820
  11. package/esm2022/assets/i18n/de.json +0 -820
  12. package/esm2022/assets/i18n/en.json +0 -827
  13. package/esm2022/assets/i18n/es.json +0 -820
  14. package/esm2022/assets/i18n/fr.json +0 -820
  15. package/esm2022/assets/i18n/it-it.json +0 -820
  16. package/esm2022/assets/i18n/ja-jp.json +0 -820
  17. package/esm2022/assets/i18n/nb-no.json +0 -820
  18. package/esm2022/assets/i18n/nl.json +0 -820
  19. package/esm2022/assets/i18n/pl-pl.json +0 -820
  20. package/esm2022/assets/i18n/pt-br.json +0 -820
  21. package/esm2022/assets/i18n/sv-se.json +0 -820
  22. package/esm2022/components/accordion/accordion.component.mjs +0 -135
  23. package/esm2022/components/accordion/accordion.component.module.mjs +0 -40
  24. package/esm2022/components/accordion/accordion.model.mjs +0 -2
  25. package/esm2022/components/ai-feedback/ai-feedback.component.mjs +0 -35
  26. package/esm2022/components/ai-feedback/ai-feedback.model.mjs +0 -2
  27. package/esm2022/components/ai-feedback/ai-feedback.module.mjs +0 -20
  28. package/esm2022/components/alert-banner/alert-banner.component.mjs +0 -198
  29. package/esm2022/components/alert-banner/alert-banner.component.module.mjs +0 -21
  30. package/esm2022/components/alert-banner/alert-banner.model.mjs +0 -2
  31. package/esm2022/components/autocomplete/autocomplete.component.mjs +0 -837
  32. package/esm2022/components/autocomplete/autocomplete.component.module.mjs +0 -77
  33. package/esm2022/components/autocomplete/autocomplete.model.mjs +0 -25
  34. package/esm2022/components/autocomplete/includes.pipe.mjs +0 -25
  35. package/esm2022/components/autocomplete/prevent-input.directive.mjs +0 -27
  36. package/esm2022/components/autocomplete/transform-Item.pipe.mjs +0 -32
  37. package/esm2022/components/avatar/avatar.component.mjs +0 -104
  38. package/esm2022/components/avatar/avatar.component.module.mjs +0 -23
  39. package/esm2022/components/avatar/avatar.model.mjs +0 -21
  40. package/esm2022/components/badge/badge.component.mjs +0 -118
  41. package/esm2022/components/badge/badge.component.module.mjs +0 -20
  42. package/esm2022/components/badge/badge.model.mjs +0 -39
  43. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -191
  44. package/esm2022/components/breadcrumb/breadcrumb.component.module.mjs +0 -45
  45. package/esm2022/components/breadcrumb/breadcrumb.model.mjs +0 -2
  46. package/esm2022/components/button/button.component.mjs +0 -452
  47. package/esm2022/components/button/button.component.module.mjs +0 -51
  48. package/esm2022/components/button/button.model.mjs +0 -2
  49. package/esm2022/components/card/card.component.mjs +0 -141
  50. package/esm2022/components/card/card.component.module.mjs +0 -19
  51. package/esm2022/components/card/card.model.mjs +0 -2
  52. package/esm2022/components/checkbox/checkbox.component.mjs +0 -336
  53. package/esm2022/components/checkbox/checkbox.component.module.mjs +0 -28
  54. package/esm2022/components/checkbox/focus-visible.directive.mjs +0 -40
  55. package/esm2022/components/checklist/checklist.component.mjs +0 -157
  56. package/esm2022/components/checklist/checklist.model.mjs +0 -2
  57. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -73
  58. package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +0 -29
  59. package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +0 -2
  60. package/esm2022/components/datepicker/date-adapter.mjs +0 -39
  61. package/esm2022/components/datepicker/datepicker.component.mjs +0 -353
  62. package/esm2022/components/datepicker/datepicker.component.module.mjs +0 -60
  63. package/esm2022/components/datepicker/datepicker.service.mjs +0 -20
  64. package/esm2022/components/datepicker/no-date-format.directive.mjs +0 -56
  65. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +0 -55
  66. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +0 -20
  67. package/esm2022/components/dialog/dialog.component.mjs +0 -275
  68. package/esm2022/components/dialog/dialog.component.module.mjs +0 -23
  69. package/esm2022/components/dialog/dialog.model.mjs +0 -2
  70. package/esm2022/components/dialog/dialog.service.mjs +0 -36
  71. package/esm2022/components/divider/divider.component.mjs +0 -65
  72. package/esm2022/components/divider/divider.component.module.mjs +0 -19
  73. package/esm2022/components/divider/divider.model.mjs +0 -2
  74. package/esm2022/components/donut-chart/donut-chart.component.mjs +0 -122
  75. package/esm2022/components/donut-chart/donut-chart.component.model.mjs +0 -2
  76. package/esm2022/components/donut-chart/donut-chart.component.module.mjs +0 -20
  77. package/esm2022/components/dropdown/dropdown.component.mjs +0 -378
  78. package/esm2022/components/dropdown/dropdown.component.module.mjs +0 -57
  79. package/esm2022/components/dropdown/dropdown.model.mjs +0 -2
  80. package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +0 -45
  81. package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +0 -18
  82. package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +0 -9
  83. package/esm2022/components/empty-state/empty-state.component.mjs +0 -301
  84. package/esm2022/components/empty-state/empty-state.component.module.mjs +0 -21
  85. package/esm2022/components/empty-state/empty-state.model.mjs +0 -2
  86. package/esm2022/components/field/field.component.mjs +0 -574
  87. package/esm2022/components/field/field.component.module.mjs +0 -64
  88. package/esm2022/components/field/field.model.mjs +0 -2
  89. package/esm2022/components/file-upload/file-upload.component.mjs +0 -307
  90. package/esm2022/components/file-upload/file-upload.component.module.mjs +0 -40
  91. package/esm2022/components/filter-button/filter-button.component.mjs +0 -255
  92. package/esm2022/components/filter-button/filter-button.component.module.mjs +0 -58
  93. package/esm2022/components/filter-button/filter-button.model.mjs +0 -2
  94. package/esm2022/components/gaussian-chart/gaussian-chart.component.mjs +0 -254
  95. package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +0 -42
  96. package/esm2022/components/icon/icon-svg-content.mjs +0 -491
  97. package/esm2022/components/icon/icon.component.mjs +0 -178
  98. package/esm2022/components/icon/icon.component.module.mjs +0 -21
  99. package/esm2022/components/icon/icon.config.mjs +0 -780
  100. package/esm2022/components/icon/icon.model.mjs +0 -2
  101. package/esm2022/components/icon-label/icon-label.component.mjs +0 -74
  102. package/esm2022/components/icon-label/icon-label.component.module.mjs +0 -20
  103. package/esm2022/components/inline-field/inline-field.component.mjs +0 -320
  104. package/esm2022/components/inline-field/inline-field.component.module.mjs +0 -43
  105. package/esm2022/components/inline-field/inline-field.model.mjs +0 -2
  106. package/esm2022/components/logo/logo.component.mjs +0 -165
  107. package/esm2022/components/logo/logo.component.module.mjs +0 -18
  108. package/esm2022/components/logo/logo.model.mjs +0 -32
  109. package/esm2022/components/media-card/media-card.component.mjs +0 -47
  110. package/esm2022/components/media-dialog/media-dialog.component.mjs +0 -75
  111. package/esm2022/components/media-dialog/media-dialog.model.mjs +0 -2
  112. package/esm2022/components/multi-input/multi-input.component.mjs +0 -271
  113. package/esm2022/components/multi-input/multi-input.component.module.mjs +0 -58
  114. package/esm2022/components/multi-input/multi-input.model.mjs +0 -2
  115. package/esm2022/components/multi-input/required-multi-input.validator.mjs +0 -14
  116. package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +0 -86
  117. package/esm2022/components/navbar/navbar.component.mjs +0 -212
  118. package/esm2022/components/navbar/navbar.component.module.mjs +0 -71
  119. package/esm2022/components/navbar/navbar.model.mjs +0 -2
  120. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +0 -254
  121. package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +0 -25
  122. package/esm2022/components/overflow-menu/overflow-menu.model.mjs +0 -2
  123. package/esm2022/components/page-header/page-header.component.mjs +0 -71
  124. package/esm2022/components/page-header/page-header.component.module.mjs +0 -20
  125. package/esm2022/components/paginator/paginator.component.mjs +0 -87
  126. package/esm2022/components/paginator/paginator.component.module.mjs +0 -19
  127. package/esm2022/components/password-criteria/password.component.mjs +0 -111
  128. package/esm2022/components/password-criteria/password.component.module.mjs +0 -39
  129. package/esm2022/components/password-strength/password-strength.component.mjs +0 -93
  130. package/esm2022/components/password-strength/password-strength.component.module.mjs +0 -21
  131. package/esm2022/components/phone-input/join-strings.pipe.mjs +0 -14
  132. package/esm2022/components/phone-input/phone-input.component.mjs +0 -354
  133. package/esm2022/components/phone-input/phone-input.component.module.mjs +0 -63
  134. package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
  135. package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -103
  136. package/esm2022/components/progress-bar/progress-bar.component.module.mjs +0 -21
  137. package/esm2022/components/prompt/prompt.component.mjs +0 -187
  138. package/esm2022/components/prompt/prompt.model.mjs +0 -2
  139. package/esm2022/components/prompt/prompt.module.mjs +0 -62
  140. package/esm2022/components/radial-progress/radial-progress.component.mjs +0 -118
  141. package/esm2022/components/radial-progress/radial-progress.component.module.mjs +0 -20
  142. package/esm2022/components/radial-progress/radial-progress.model.mjs +0 -11
  143. package/esm2022/components/radio-button/radio-button.component.mjs +0 -344
  144. package/esm2022/components/radio-button/radio-button.component.module.mjs +0 -25
  145. package/esm2022/components/radio-button/radio-button.model.mjs +0 -2
  146. package/esm2022/components/rating/half-star.pipe.mjs +0 -23
  147. package/esm2022/components/rating/rating.component.mjs +0 -106
  148. package/esm2022/components/rating/rating.component.module.mjs +0 -20
  149. package/esm2022/components/scale/scale.component.mjs +0 -136
  150. package/esm2022/components/scale/scale.component.module.mjs +0 -18
  151. package/esm2022/components/scale-table/scale-table.component.mjs +0 -61
  152. package/esm2022/components/scale-table/scale-table.model.mjs +0 -2
  153. package/esm2022/components/segmented-bar/segmented-bar.component.mjs +0 -111
  154. package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +0 -22
  155. package/esm2022/components/segmented-bar/segmented-bar.model.mjs +0 -2
  156. package/esm2022/components/segmented-button/segmented-button.component.mjs +0 -104
  157. package/esm2022/components/segmented-button/segmented-button.component.module.mjs +0 -21
  158. package/esm2022/components/segmented-button/segmented-button.model.mjs +0 -2
  159. package/esm2022/components/selectable-card/selectable-card.component.mjs +0 -53
  160. package/esm2022/components/selectable-card/selectable-card.component.module.mjs +0 -20
  161. package/esm2022/components/side-panel/side-panel-data-injection-token.mjs +0 -3
  162. package/esm2022/components/side-panel/side-panel.animations.mjs +0 -26
  163. package/esm2022/components/side-panel/side-panel.component.mjs +0 -55
  164. package/esm2022/components/side-panel/side-panel.model.mjs +0 -54
  165. package/esm2022/components/side-panel/side-panel.service.mjs +0 -98
  166. package/esm2022/components/side-sheet/side-sheet.component.mjs +0 -105
  167. package/esm2022/components/side-sheet/side-sheet.component.module.mjs +0 -43
  168. package/esm2022/components/side-sheet/side-sheet.model.mjs +0 -2
  169. package/esm2022/components/side-sheet/side-sheet.service.mjs +0 -31
  170. package/esm2022/components/skeleton/skeleton.component.mjs +0 -74
  171. package/esm2022/components/skeleton/skeleton.model.mjs +0 -2
  172. package/esm2022/components/slider/slider.component.mjs +0 -256
  173. package/esm2022/components/slider/slider.component.module.mjs +0 -16
  174. package/esm2022/components/slider/slider.model.mjs +0 -2
  175. package/esm2022/components/snackbar/snackbar.component.mjs +0 -235
  176. package/esm2022/components/snackbar/snackbar.component.module.mjs +0 -25
  177. package/esm2022/components/snackbar/snackbar.model.mjs +0 -2
  178. package/esm2022/components/snackbar/snackbar.service.mjs +0 -42
  179. package/esm2022/components/spider-chart/spider-chart.component.mjs +0 -443
  180. package/esm2022/components/spider-chart/spider-chart.model.mjs +0 -4
  181. package/esm2022/components/spider-chart/spider-chart.module.mjs +0 -44
  182. package/esm2022/components/spinner/spinner.component.mjs +0 -84
  183. package/esm2022/components/spinner/spinner.model.mjs +0 -2
  184. package/esm2022/components/spinner/spinner.module.mjs +0 -20
  185. package/esm2022/components/step/step.component.mjs +0 -209
  186. package/esm2022/components/step/step.component.module.mjs +0 -21
  187. package/esm2022/components/stepper/stepper.component.mjs +0 -198
  188. package/esm2022/components/stepper/stepper.component.module.mjs +0 -44
  189. package/esm2022/components/stepper/stepper.model.mjs +0 -2
  190. package/esm2022/components/table/sentence-case.pipe.mjs +0 -19
  191. package/esm2022/components/table/table.component.mjs +0 -273
  192. package/esm2022/components/table/table.component.module.mjs +0 -61
  193. package/esm2022/components/table/table.model.mjs +0 -25
  194. package/esm2022/components/tabs/tab.directive.mjs +0 -63
  195. package/esm2022/components/tabs/tabs.component.mjs +0 -219
  196. package/esm2022/components/tabs/tabs.component.module.mjs +0 -23
  197. package/esm2022/components/tabs/tabs.model.mjs +0 -2
  198. package/esm2022/components/tag/tag.component.mjs +0 -212
  199. package/esm2022/components/tag/tag.component.module.mjs +0 -24
  200. package/esm2022/components/tag/tag.model.mjs +0 -2
  201. package/esm2022/components/toggle/toggle.component.mjs +0 -190
  202. package/esm2022/components/toggle/toggle.component.module.mjs +0 -24
  203. package/esm2022/components/toggle/toggle.model.mjs +0 -2
  204. package/esm2022/components/tooltip/tooltip-template.directive.mjs +0 -133
  205. package/esm2022/components/tooltip/tooltip.component.mjs +0 -108
  206. package/esm2022/components/tooltip/tooltip.component.module.mjs +0 -27
  207. package/esm2022/components/tooltip/tooltip.model.mjs +0 -8
  208. package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +0 -80
  209. package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +0 -43
  210. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.mjs +0 -109
  211. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.mjs +0 -52
  212. package/esm2022/components/validation-error/validation-error.component.mjs +0 -55
  213. package/esm2022/components/validation-error/validation-error.model.mjs +0 -2
  214. package/esm2022/components/validation-error/validation-error.module.mjs +0 -20
  215. package/esm2022/directives/digits-only.directive.mjs +0 -77
  216. package/esm2022/directives/drag-drop.directive.mjs +0 -55
  217. package/esm2022/directives/dynamic-component.directive.mjs +0 -40
  218. package/esm2022/directives/ellipse-text.directive.mjs +0 -51
  219. package/esm2022/directives/select-text.directive.mjs +0 -40
  220. package/esm2022/directives/step-line-element.directive.mjs +0 -51
  221. package/esm2022/models/application-theme.model.mjs +0 -2
  222. package/esm2022/models/checkbox.model.mjs +0 -2
  223. package/esm2022/models/colors.model.mjs +0 -78
  224. package/esm2022/models/keyboard-events.model.mjs +0 -13
  225. package/esm2022/models/screen-breakpoints.model.mjs +0 -7
  226. package/esm2022/models/universal-skills-report.model.mjs +0 -33
  227. package/esm2022/pipes/data-property-getter.mjs +0 -33
  228. package/esm2022/pipes/has-validation-error.pipe.mjs +0 -27
  229. package/esm2022/pipes/memoize-func.pipe.mjs +0 -39
  230. package/esm2022/pipes/name-initials.pipe.mjs +0 -25
  231. package/esm2022/pipes/truncate.pipe.mjs +0 -34
  232. package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +0 -31
  233. package/esm2022/pipes/ui-translate.pipe.mjs +0 -81
  234. package/esm2022/providers/is-large-tablet.mjs +0 -11
  235. package/esm2022/providers/is-mobile.mjs +0 -11
  236. package/esm2022/public-api.mjs +0 -259
  237. package/esm2022/services/icons.service.mjs +0 -22
  238. package/esm2022/services/universal-skills.service.mjs +0 -85
  239. package/esm2022/testgorilla-tgo-ui.mjs +0 -5
  240. package/esm2022/utils/alert-bar.model.mjs +0 -2
  241. package/esm2022/utils/alert-bars.utils.mjs +0 -34
  242. package/esm2022/utils/autocomplete-utils.mjs +0 -78
  243. package/esm2022/utils/color-contrast.mjs +0 -131
  244. package/esm2022/utils/hex-to-rgb.mjs +0 -9
  245. package/esm2022/utils/localization/language.model.mjs +0 -16
  246. package/esm2022/utils/localization/language.service.mjs +0 -44
  247. package/esm2022/utils/table.utils.mjs +0 -25
@@ -1,452 +0,0 @@
1
- /* eslint-disable @angular-eslint/use-lifecycle-interface */
2
- import { booleanAttribute, Component, EventEmitter, HostBinding, Inject, Input, Optional, Output, ViewChild, } from '@angular/core';
3
- import { adjustLightness } from '../../utils/color-contrast';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/material/button";
7
- import * as i3 from "../icon/icon.component";
8
- import * as i4 from "@angular/material/progress-spinner";
9
- import * as i5 from "@angular/material/tooltip";
10
- import * as i6 from "../badge/badge.component";
11
- import * as i7 from "../../directives/ellipse-text.directive";
12
- import * as i8 from "../../pipes/ui-translate.pipe";
13
- export class ButtonComponent {
14
- get enabled() {
15
- return this.disabled ? 'none' : 'all';
16
- }
17
- get isDisabled() {
18
- return this.disabled;
19
- }
20
- get compColor() {
21
- return this.getCompanyColor;
22
- }
23
- static { this.nextAriaLabelledId = 0; }
24
- get typeIncluded() {
25
- return this.allowButtonTypeForPremium.includes(this.variant);
26
- }
27
- constructor(defaultAppTheme) {
28
- this.defaultAppTheme = defaultAppTheme;
29
- /**
30
- * Define button height
31
- *
32
- * @type {ButtonSize}
33
- * @memberof ButtonComponent
34
- */
35
- this.size = 'big';
36
- /**
37
- * Background color of the button while in active state
38
- *
39
- * @type {ButtonColor}
40
- * @memberof ButtonComponent
41
- */
42
- this.variant = 'primary';
43
- /**
44
- * Text content to appear on the button
45
- *
46
- * @memberof ButtonComponent
47
- */
48
- this.label = '';
49
- /**
50
- * Positioning of the icon (when existant)
51
- *
52
- * @type {ButtonIconPosition}
53
- * @memberof ButtonComponent
54
- */
55
- this.iconPosition = 'right';
56
- /**
57
- * Define if button has only icon without text
58
- *
59
- * @memberof ButtonComponent
60
- */
61
- this.justIcon = false;
62
- /**
63
- * Indicator if the button should be disabled
64
- *
65
- * @memberof ButtonComponent
66
- */
67
- this.disabled = false;
68
- /**
69
- * Indicator if the loading icon should be shown
70
- *
71
- * @memberof ButtonComponent
72
- */
73
- this.loading = false;
74
- /**
75
- * Indicator of the button width
76
- *
77
- * @memberof ButtonComponent
78
- */
79
- this.fullWidth = false;
80
- /**
81
- * @property tooltip
82
- * @description The tooltip that is displayed on hover. Required for icon-button type
83
- * @type {string}
84
- * @memberof ButtonComponent
85
- */
86
- this.tooltip = '';
87
- /**
88
- * @property isPremium
89
- * @description The icon that is displayed for Premium button
90
- * @type {boolean}
91
- * @memberof ButtonComponent
92
- */
93
- this.isPremium = false;
94
- /**
95
- * The type of the button.
96
- *
97
- * @type {ButtonType}
98
- * @memberof ButtonComponent
99
- * @default 'button'
100
- */
101
- this.type = 'button';
102
- /**
103
- * Color of the button.
104
- * Defaults to Test Gorilla primary color.
105
- *
106
- * @type {string}
107
- * @memberof ButtonComponent
108
- */
109
- this.companyColor = '';
110
- /**
111
- *
112
- * Defines the application theme where buttons is used
113
- *
114
- * @type {ApplicationTheme}
115
- * @memberof ButtonComponent
116
- */
117
- this.applicationTheme = 'light';
118
- /**
119
- *
120
- * Disabled button scale on click
121
- *
122
- * @type {boolean}
123
- * @memberof ButtonComponent
124
- */
125
- this.disabledScaleOnClick = false;
126
- /**
127
- * A string representing the ARIA requirement for accessibility.
128
- * This attribute is used to indicate whether an input field is required for form submission.
129
- * @type {boolean}
130
- * @memberof ButtonComponent
131
- */
132
- this.ariaRequired = false;
133
- /**
134
- * A string representing the ARIA requirement for accessibility.
135
- * This attribute is used to indicate whether an input field is required for form submission.
136
- * @type {string}
137
- * @memberof ButtonComponent
138
- */
139
- this.ariaLabelledby = '';
140
- /**
141
- * A string representing the ARIA requirement for accessibility.
142
- * This attribute is used to indicate whether an input field is required for form submission.
143
- * @type {string}
144
- * @memberof ButtonComponent
145
- */
146
- this.ariaDescribedby = '';
147
- /**
148
- * Prevents default button click behavior
149
- * @type {boolean}
150
- * @memberof ButtonComponent
151
- */
152
- this.preventDefault = false;
153
- /**
154
- * Ghost variant with white background
155
- * @type {boolean}
156
- * @memberof ButtonComponent
157
- */
158
- this.hasBackground = false;
159
- /**
160
- * Sets tooltip position
161
- *
162
- * @type {TooltipPosition}
163
- * @memberof ButtonComponent
164
- */
165
- this.tooltipPosition = 'below';
166
- this.role = 'button';
167
- this.iconFilled = false;
168
- this.buttonClickEvent = new EventEmitter();
169
- this.buttonHoverEvent = new EventEmitter();
170
- this.hover = false;
171
- this.iconButtonSize = '40';
172
- this.allowButtonTypeForPremium = ['secondary', 'secondary-inverted', 'primary', 'ghost', 'outlined', 'destructive'];
173
- this.coloredIcons = ['Google-in-line', 'Google', 'Google-filled'];
174
- this.labelEllipsis = false;
175
- this.icon = '';
176
- this.ariaLabelledbyId = '';
177
- if (defaultAppTheme) {
178
- this.applicationTheme = defaultAppTheme;
179
- }
180
- }
181
- ngOnInit() {
182
- this.classCss = this.setCssClass();
183
- this.styleCss = this.setCssStyle();
184
- this.isButtonLink = this.showButtonLink();
185
- this.isLabel = this.showLabel();
186
- this.createAriaLabelledById();
187
- }
188
- ngOnChanges(changes) {
189
- if (changes['disabled']) {
190
- this.buttonState = 'default';
191
- }
192
- if (!this.applicationTheme) {
193
- this.applicationTheme = 'light';
194
- }
195
- if (changes['type']) {
196
- this.isButtonLink = this.showButtonLink();
197
- }
198
- if (changes['loading']) {
199
- this.isLabel = this.showLabel();
200
- }
201
- if (changes['iconName']) {
202
- this.icon = changes['iconName'].currentValue;
203
- }
204
- if (changes['type'] ||
205
- changes['fullWidth'] ||
206
- changes['iconName'] ||
207
- changes['justIcon'] ||
208
- changes['iconPosition'] ||
209
- changes['disabled'] ||
210
- changes['companyColor'] ||
211
- changes['variant'] ||
212
- changes['applicationTheme']) {
213
- this.classCss = this.setCssClass();
214
- this.styleCss = this.setCssStyle();
215
- }
216
- if (changes['variant']?.currentValue === 'icon-button' || (changes['variant']?.currentValue === 'menuTrigger' && this.applicationTheme !== 'classic')) {
217
- this.iconButtonSize = this.setIconButtonSize();
218
- }
219
- this.isFilledIcon = this.applicationTheme !== 'classic' && (this.variant === 'primary' || this.variant === 'secondary' || this.variant === 'secondary-inverted');
220
- }
221
- ngAfterViewInit() {
222
- this.tooltipElement.nativeElement.onclick = ev => {
223
- ev.preventDefault();
224
- ev.stopPropagation();
225
- };
226
- if (this.variant === 'icon-button' && !this.tooltip) {
227
- console.warn('ui-button ButtonComponent\n [tooltip] is required for [type] icon-button!');
228
- }
229
- else if (this.variant === 'destructive' && !this.icon && !this.loading && this.applicationTheme !== 'classic') {
230
- console.warn('ui-button ButtonComponent\n [icon] is required for [type] destructive');
231
- }
232
- }
233
- buttonClick(event) {
234
- if (this.preventDefault) {
235
- event.preventDefault();
236
- event.stopPropagation();
237
- }
238
- this.buttonClickEvent.emit(event);
239
- }
240
- buttonHover(event) {
241
- if (event.type === 'mouseenter') {
242
- this.hover = true;
243
- this.buttonHoverEvent.emit(event);
244
- this.buttonState = 'hover';
245
- if (this.shouldChangeFilledStatus && this.icon) {
246
- this.icon = this.getIconName(this.iconName, '-filled');
247
- }
248
- }
249
- else {
250
- this.hover = false;
251
- if (this.shouldChangeFilledStatus && this.icon) {
252
- this.icon = this.iconName;
253
- }
254
- this.buttonState = 'default';
255
- }
256
- this.styleCss = this.setCssStyle();
257
- }
258
- //Show or hide label
259
- showLabel() {
260
- return !this.loading;
261
- }
262
- //Set css class according inputs
263
- setCssClass() {
264
- const width = this.fullWidth ? 'full-width' : '';
265
- const hasIcon = this.iconName === null ? '' : 'icon';
266
- const justIcon = this.justIcon || this.variant === 'icon-button' ? 'only-icon' : '';
267
- const iconPosition = this.iconPosition === undefined ? '' : this.iconPosition;
268
- const disabled = this.disabled && this.variant === 'primary' ? 'primary-disabled' : '';
269
- const variant = this.variant === 'ghost' && this.applicationTheme === 'classic' ? 'outlined' : this.variant;
270
- const companyColor = this.companyColor ? 'has-company-color' : '';
271
- return `${this.size} ${iconPosition} ${variant} ${width} ${hasIcon} ${justIcon} ${disabled} ${companyColor} ${this.applicationTheme}-theme`;
272
- }
273
- setCssStyle() {
274
- this.buttonState = this.disabled ? 'disabled' : this.buttonState;
275
- const styleObj = {};
276
- if ((this.variant === 'primary' || this.variant === 'text' || this.variant === 'text-inline') && this.applicationTheme !== 'classic' && (this.buttonState === 'hover' || this.buttonState === 'pressed')) {
277
- styleObj[this.variant === 'primary' ? 'background-color' : 'color'] = adjustLightness(this.getCompanyColor, this.buttonState);
278
- if (this.variant === 'text' || this.variant === 'text-inline') {
279
- styleObj['--active-color'] = this.companyColor ? adjustLightness(this.getCompanyColor, this.buttonState) : '#666666';
280
- }
281
- }
282
- else if ((this.variant === 'primary' || this.variant === 'text' || this.variant === 'text-inline') && this.applicationTheme === 'classic' && this.buttonState !== 'default') {
283
- styleObj[this.variant === 'primary' ? 'background-color' : 'color'] = adjustLightness(this.getCompanyColor, this.buttonState, 'classic');
284
- }
285
- else if (this.getCompanyColor && (this.variant === 'link' || this.variant === 'tertiary' || this.variant === 'icon-button')) {
286
- styleObj['color'] = this.getCompanyColor;
287
- }
288
- else if (this.hasBackground) {
289
- styleObj['--ghost-background'] = '#ffffff';
290
- }
291
- return styleObj;
292
- }
293
- //Show or hide spinner
294
- get showSpinner() {
295
- const isNotTab = this.variant !== 'tab';
296
- const isNotLink = this.variant !== 'link';
297
- const isLoading = this.loading === true;
298
- return isLoading && isNotTab && isNotLink;
299
- }
300
- //Show button with <button> or <a> tag
301
- showButtonLink() {
302
- return this.variant !== 'link';
303
- }
304
- setIconButtonSize() {
305
- return this.size === 'big' ? '40' : this.size === 'small' ? '24' : '32';
306
- }
307
- onPressed(ev) {
308
- if (ev.type === 'mousedown') {
309
- this.buttonState = 'pressed';
310
- }
311
- else {
312
- this.buttonState = this.hover ? 'hover' : 'default';
313
- }
314
- this.styleCss = this.setCssStyle();
315
- }
316
- focus(origin) {
317
- this.buttonElement.focus(origin);
318
- }
319
- get getCompanyColor() {
320
- return this.companyColor || ((this.variant === 'text' || this.variant === 'text-inline') ? this.applicationTheme === 'dark' ? '#ffffff' : '#242424' : (this.applicationTheme === 'classic' ? '#46A997' : '#D410AA'));
321
- }
322
- get shouldChangeFilledStatus() {
323
- return this.applicationTheme !== 'classic' && this.variant !== 'primary' && this.variant !== 'secondary' && !this.coloredIcons.includes(this.icon);
324
- }
325
- onKeydown(event) {
326
- if (event.key === ' ') {
327
- event.preventDefault();
328
- const target = event.target;
329
- target.click();
330
- }
331
- if (event.key === 'Enter' || event.key === ' ') {
332
- this.buttonState = 'pressed';
333
- this.styleCss = this.setCssStyle();
334
- }
335
- }
336
- onKeyup(event) {
337
- if (event.key === 'Enter' || event.key === ' ') {
338
- this.buttonState = this.hover ? 'hover' : 'default';
339
- this.styleCss = this.setCssStyle();
340
- }
341
- }
342
- onLabelEllipsisChange(state) {
343
- this.labelEllipsis = state;
344
- }
345
- getIconName(iconName, defaultValue) {
346
- if (iconName.includes('filled')) {
347
- return iconName.replace(/filled/, 'in-line');
348
- }
349
- else if (iconName.includes('in-line')) {
350
- return iconName.replace(/in-line/, 'filled');
351
- }
352
- else {
353
- return (iconName + defaultValue);
354
- }
355
- }
356
- createAriaLabelledById() {
357
- const labelledByValue = this.variant === 'link' ? 'labelledby-link' : 'labelledby';
358
- this.ariaLabelledbyId = `${labelledByValue}-uiButton-${++ButtonComponent.nextAriaLabelledId}`;
359
- }
360
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
361
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: ButtonComponent, selector: "ui-button", inputs: { size: "size", variant: "variant", label: "label", iconPosition: "iconPosition", justIcon: "justIcon", iconName: "iconName", disabled: "disabled", loading: "loading", fullWidth: "fullWidth", url: "url", urlTarget: "urlTarget", value: "value", tooltip: "tooltip", isPremium: "isPremium", type: "type", companyColor: "companyColor", buttonBadgeConfig: "buttonBadgeConfig", applicationTheme: "applicationTheme", disabledScaleOnClick: "disabledScaleOnClick", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", ariaLabelledby: "ariaLabelledby", ariaDescribedby: "ariaDescribedby", preventDefault: ["preventDefault", "preventDefault", booleanAttribute], hasBackground: ["hasBackground", "hasBackground", booleanAttribute], tooltipPosition: "tooltipPosition", role: "role", iconFilled: "iconFilled" }, outputs: { buttonClickEvent: "buttonClickEvent", buttonHoverEvent: "buttonHoverEvent" }, host: { properties: { "style.pointer-events": "this.enabled", "attr.btn-variant": "this.variant", "attr.theme": "this.applicationTheme", "style.--color": "this.compColor" } }, viewQueries: [{ propertyName: "tooltipElement", first: true, predicate: ["tooltipElement"], descendants: true }, { propertyName: "buttonElement", first: true, predicate: ["buttonElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #tooltipElement class=\"tooltip\"\n [matTooltip]=\"tooltip ? tooltip : labelEllipsis ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n></div>\n<div\n class=\"button-wrapper\"\n [ngClass]=\"{ 'full-width': fullWidth, 'rounded-icon': applicationTheme !== 'classic' && icon && !label, link: !isButtonLink }\"\n>\n <div class=\"button-container\"\n [ngClass]=\"{ 'disabled': disabled, 'button-scale': buttonState === 'pressed' && applicationTheme !== 'classic' && !disabledScaleOnClick }\"\n >\n <span *ngIf=\"isPremium && typeIncluded\" class=\"right-top\">\n <img [attr.src]=\"'/images/premium.svg'\" [alt]=\"'premium-icon'\">\n </span>\n <ui-badge\n id=\"badge\"\n *ngIf=\"buttonBadgeConfig?.badgeType\"\n [rebrandColor]=\"buttonBadgeConfig?.rebrandColor ?? 'brand'\"\n [variant]=\"buttonBadgeConfig!.badgeType!\"\n [label]=\"buttonBadgeConfig?.badgeLabel ?? ''\"\n [notificationsAmount]=\"buttonBadgeConfig?.badgeNotificationAmount ?? 0\"\n class=\"right-top\"\n [ngClass]=\"[\n buttonBadgeConfig?.badgeType === 'primary' ? 'badge-primary' : '',\n buttonBadgeConfig?.badgeType === 'notification' ? 'badge-notification' : '',\n variant\n ]\"\n ></ui-badge>\n <button\n [style]=\"'--icon-button-size:' + iconButtonSize + 'px'\"\n [ngClass]=\"classCss\"\n [ngStyle]=\"styleCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseleave)=\"buttonHover($event)\"\n (mouseenter)=\"buttonHover($event)\"\n (mousedown)=\"onPressed($event)\"\n (mouseup)=\"onPressed($event)\"\n (keydown)=\"onKeydown($event)\"\n (keyup)=\"onKeyup($event)\"\n *ngIf=\"isButtonLink\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledbyId\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-disabled]=\"disabled\"\n [type]=\"type\"\n [disableRipple]=\"applicationTheme !== 'classic'\"\n [matTooltip]=\"tooltip ? tooltip : labelEllipsis ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n [matTooltipPosition]=\"tooltipPosition\"\n #buttonElement\n [attr.role]=\"role\"\n mat-flat-button>\n <span id=\"describedby\" [style.display]=\"'none'\">\n {{ (isPremium ? (label + ' ' + ('BUTTON.PREMIUM_FEATURE' | uiTranslate | async)) : ariaDescribedby) }}\n </span>\n <span [id]=\"ariaLabelledbyId\" [style.display]=\"'none'\">\n {{ ariaLabelledby }}\n </span>\n <ng-container *ngIf=\"showSpinner; else icons\">\n <span class=\"spinner-wrapper\">\n <mat-spinner class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"24\"></mat-spinner>\n </span>\n </ng-container>\n <ng-template #icons>\n <span class=\"icon-only-wrapper\" *ngIf=\"justIcon && !!icon\">\n <span\n class=\"icon only\"\n role=\"label\"\n >\n <ui-icon\n [color]=\"variant === 'ghost-ai' ? 'ai' : 'inherit'\"\n [applicationTheme]=\"applicationTheme\"\n [name]=\"icon\"\n [filled]=\"isFilledIcon || iconFilled\"\n [useFullIconName]=\"this.variant === 'primary' || this.variant === 'secondary'\"\n [size]=\"size === 'small' ? '16' : '24'\"\n ></ui-icon>\n </span>\n </span>\n\n <span class=\"icon-label-wrapper\" [ngClass]=\"{'center-text': iconName === ''}\" *ngIf=\"!justIcon\">\n <span\n class=\"icon\"\n *ngIf=\"iconPosition === 'left' && !!iconName\"\n aria-hidden=\"true\"\n >\n <ui-icon\n [color]=\"variant === 'ghost-ai' ? 'ai' : 'inherit'\"\n [applicationTheme]=\"applicationTheme\"\n [name]=\"icon\"\n [filled]=\"isFilledIcon || iconFilled\"\n [useFullIconName]=\"this.variant === 'primary' || this.variant === 'secondary'\"\n [size]=\"size === 'small' ? '16' : '24'\"\n ></ui-icon>\n </span>\n <span\n *ngIf=\"isLabel\"\n class=\"label\"\n id=\"label\"\n uiEllipseText\n [isMultiline]=\"true\"\n (onChangeTextState)=\"onLabelEllipsisChange($event)\"\n >\n {{ label }}\n </span>\n <span class=\"icon\" *ngIf=\"iconPosition === 'right' && !!icon\" aria-hidden=\"true\"><ui-icon\n [color]=\"variant === 'ghost-ai' ? 'ai' : 'inherit'\"\n [applicationTheme]=\"applicationTheme\"\n [name]=\"icon\"\n [filled]=\"isFilledIcon || iconFilled\"\n [size]=\"size === 'small' ? '16' : '24'\"\n [useFullIconName]=\"this.variant === 'primary' || this.variant === 'secondary'\"></ui-icon></span>\n </span>\n </ng-template>\n </button>\n <a\n #buttonElement\n [ngClass]=\"classCss\"\n [ngStyle]=\"styleCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n (mouseleave)=\"buttonHover($event)\"\n (mousedown)=\"onPressed($event)\"\n (mouseup)=\"onPressed($event)\"\n (keydown)=\"onKeydown($event);\"\n (keyup)=\"onKeyup($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"!isButtonLink\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledbyId\"\n [attr.aria-describedby]=\"'describedby-link'\"\n [attr.aria-disabled]=\"disabled\"\n [matTooltip]=\"tooltip ? tooltip : labelEllipsis ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n role=\"link\"\n [href]=\"url\"\n [target]=\"urlTarget\"\n mat-flat-button>\n <span id=\"describedby-link\" [style.display]=\"'none'\">\n {{ ariaDescribedby }}\n </span>\n <span [id]=\"ariaLabelledbyId\" [style.display]=\"'none'\">\n {{ ariaLabelledby }}\n </span>\n <span class=\"icon-label-wrapper\">\n {{ label }}\n </span>\n </a>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}::ng-deep .mat-mdc-button-persistent-ripple:before{opacity:0!important}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host{position:relative}:host ::ng-deep button.cdk-keyboard-focused:not(.text,.text-inline),:host a:focus-visible.cdk-keyboard-focused:not(.text,.text-inline){outline-color:#242424!important;outline-style:solid!important;outline-offset:2px;animation:focus-ring-animation .4s forwards}:host ::ng-deep button.icon-button.cdk-keyboard-focused,:host ::ng-deep button.menuTrigger.cdk-keyboard-focused,:host a:focus-visible.icon-button.cdk-keyboard-focused,:host a:focus-visible.menuTrigger.cdk-keyboard-focused{border:unset!important}:host a:focus-visible{border-radius:2px!important}:host .tooltip{position:absolute;top:0;left:0;width:fit-content;height:100%;pointer-events:auto}.rounded-icon button{min-width:unset}.rounded-icon .mdc-button{width:48px!important;min-width:unset}.rounded-icon .mdc-button .icon{margin:0!important}.rounded-icon .big,.rounded-icon .small{padding:0!important}:host{display:flex}:host .button-container{width:100%}:host .button-container.button-scale{transform:scale(.98)}:host .button-wrapper.full-width{width:100%}:host .button-wrapper ::ng-deep .mdc-button__label,:host .button-wrapper ::ng-deep .icon-label-wrapper{width:100%}:host .button-wrapper ::ng-deep .label{text-align:left;overflow:hidden;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;text-overflow:ellipsis;white-space:normal}:host .button-wrapper ::ng-deep button{width:100%}button.mat-mdc-unelevated-button,a.mat-mdc-unelevated-button{font-size:14px;font-weight:600;line-height:normal;letter-spacing:normal}button.mat-mdc-unelevated-button .spinner-wrapper,a.mat-mdc-unelevated-button .spinner-wrapper{display:flex;align-items:center;flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon,a.mat-mdc-unelevated-button .icon{display:flex;height:100%;align-items:center}button.mat-mdc-unelevated-button .icon.only,a.mat-mdc-unelevated-button .icon.only{align-items:center;flex-flow:column;justify-content:center;margin-left:0}button.mat-mdc-unelevated-button .icon-label-wrapper,a.mat-mdc-unelevated-button .icon-label-wrapper{display:flex;align-items:center;justify-content:center;height:100%}button.mat-mdc-unelevated-button .icon-label-wrapper.center-text,a.mat-mdc-unelevated-button .icon-label-wrapper.center-text{flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon-label-wrapper .label,a.mat-mdc-unelevated-button .icon-label-wrapper .label{display:flex;height:100%;align-items:center;text-align:center;font-weight:500}button.mat-mdc-unelevated-button.big,a.mat-mdc-unelevated-button.big{height:48px;padding:12px 24px}button.mat-mdc-unelevated-button.small,a.mat-mdc-unelevated-button.small{height:38px;padding:7px 11px}button.mat-mdc-unelevated-button.classic-theme.big,a.mat-mdc-unelevated-button.classic-theme.big{height:48px;padding:12px 16px}button.mat-mdc-unelevated-button.small.left .icon,button.mat-mdc-unelevated-button.big.left .icon,a.mat-mdc-unelevated-button.small.left .icon,a.mat-mdc-unelevated-button.big.left .icon{margin-right:8px}button.mat-mdc-unelevated-button.small.right .icon,button.mat-mdc-unelevated-button.big.right .icon,a.mat-mdc-unelevated-button.small.right .icon,a.mat-mdc-unelevated-button.big.right .icon{margin-left:8px}button.mat-mdc-unelevated-button.small.only-icon .icon,button.mat-mdc-unelevated-button.big.only-icon .icon,a.mat-mdc-unelevated-button.small.only-icon .icon,a.mat-mdc-unelevated-button.big.only-icon .icon{margin-left:0}button.mat-mdc-unelevated-button.primary,button.mat-mdc-unelevated-button.secondary,button.mat-mdc-unelevated-button.secondary-inverted,button.mat-mdc-unelevated-button.ghost,button.mat-mdc-unelevated-button.ghost-ai,button.mat-mdc-unelevated-button.outlined,button.mat-mdc-unelevated-button.destructive,button.mat-mdc-unelevated-button.tertiary,button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.secondary-inverted,a.mat-mdc-unelevated-button.ghost,a.mat-mdc-unelevated-button.ghost-ai,a.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.link{min-width:80px}button.mat-mdc-unelevated-button.primary.only-icon,button.mat-mdc-unelevated-button.secondary.only-icon,button.mat-mdc-unelevated-button.secondary-inverted.only-icon,button.mat-mdc-unelevated-button.ghost.only-icon,button.mat-mdc-unelevated-button.ghost-ai.only-icon,button.mat-mdc-unelevated-button.outlined.only-icon,button.mat-mdc-unelevated-button.destructive.only-icon,button.mat-mdc-unelevated-button.tertiary.only-icon,button.mat-mdc-unelevated-button.link.only-icon,a.mat-mdc-unelevated-button.primary.only-icon,a.mat-mdc-unelevated-button.secondary.only-icon,a.mat-mdc-unelevated-button.secondary-inverted.only-icon,a.mat-mdc-unelevated-button.ghost.only-icon,a.mat-mdc-unelevated-button.ghost-ai.only-icon,a.mat-mdc-unelevated-button.outlined.only-icon,a.mat-mdc-unelevated-button.destructive.only-icon,a.mat-mdc-unelevated-button.tertiary.only-icon,a.mat-mdc-unelevated-button.link.only-icon{min-width:1px}button.mat-mdc-unelevated-button.primary.full-width,button.mat-mdc-unelevated-button.secondary.full-width,button.mat-mdc-unelevated-button.secondary-inverted.full-width,button.mat-mdc-unelevated-button.ghost.full-width,button.mat-mdc-unelevated-button.ghost-ai.full-width,button.mat-mdc-unelevated-button.outlined.full-width,button.mat-mdc-unelevated-button.destructive.full-width,button.mat-mdc-unelevated-button.tertiary.full-width,button.mat-mdc-unelevated-button.link.full-width,a.mat-mdc-unelevated-button.primary.full-width,a.mat-mdc-unelevated-button.secondary.full-width,a.mat-mdc-unelevated-button.secondary-inverted.full-width,a.mat-mdc-unelevated-button.ghost.full-width,a.mat-mdc-unelevated-button.ghost-ai.full-width,a.mat-mdc-unelevated-button.outlined.full-width,a.mat-mdc-unelevated-button.destructive.full-width,a.mat-mdc-unelevated-button.tertiary.full-width,a.mat-mdc-unelevated-button.link.full-width{width:100%;min-width:100%}button.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.secondary-inverted.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.ghost.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.ghost-ai.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.secondary-inverted.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.ghost.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.ghost-ai.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper{justify-content:center}button.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.primary{background-color:var(--color);color:#fff;border-radius:1000px}button.mat-mdc-unelevated-button.primary-disabled,a.mat-mdc-unelevated-button.primary-disabled{opacity:.75}button.mat-mdc-unelevated-button.primary.classic-theme,a.mat-mdc-unelevated-button.primary.classic-theme{border-radius:4px}button.mat-mdc-unelevated-button.primary.classic-theme:disabled,button.mat-mdc-unelevated-button.primary.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.primary.classic-theme:disabled,a.mat-mdc-unelevated-button.primary.classic-theme:disabled:hover{background-color:#b5ddd5}button.mat-mdc-unelevated-button.primary.light-theme:disabled,button.mat-mdc-unelevated-button.primary.light-theme:disabled:hover,a.mat-mdc-unelevated-button.primary.light-theme:disabled,a.mat-mdc-unelevated-button.primary.light-theme:disabled:hover{background-color:#e9e9e9;color:#666}button.mat-mdc-unelevated-button.primary.light-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.primary.light-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.light-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.light-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#666}button.mat-mdc-unelevated-button.primary.dark-theme:disabled,button.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover,a.mat-mdc-unelevated-button.primary.dark-theme:disabled,a.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover{background-color:#666;color:#d3d3d3}button.mat-mdc-unelevated-button.primary.dark-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.dark-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#fff}button.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.secondary{border-radius:1000px}button.mat-mdc-unelevated-button.secondary.light-theme,a.mat-mdc-unelevated-button.secondary.light-theme{background-color:#242424;color:#fff}button.mat-mdc-unelevated-button.secondary.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.light-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.secondary.light-theme:disabled,button.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary.light-theme:disabled,a.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover{opacity:.75;background-color:#e9e9e9;color:#666}button.mat-mdc-unelevated-button.secondary.light-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.light-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3!important}button.mat-mdc-unelevated-button.secondary.dark-theme,a.mat-mdc-unelevated-button.secondary.dark-theme{background-color:#fff;color:#242424}button.mat-mdc-unelevated-button.secondary.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.dark-theme ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.secondary.dark-theme:disabled,button.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover{opacity:.75;background-color:#666;color:#d3d3d3}button.mat-mdc-unelevated-button.secondary.dark-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.secondary:hover,a.mat-mdc-unelevated-button.secondary:hover{background-color:#666;color:#fff}button.mat-mdc-unelevated-button.secondary:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary:hover ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#fff}button.mat-mdc-unelevated-button.secondary.classic-theme,a.mat-mdc-unelevated-button.secondary.classic-theme{border-radius:4px;background-color:#ededed;color:#000}button.mat-mdc-unelevated-button.secondary.classic-theme:hover,a.mat-mdc-unelevated-button.secondary.classic-theme:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.secondary.classic-theme:disabled,button.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.secondary.classic-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.secondary.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.secondary-inverted,a.mat-mdc-unelevated-button.secondary-inverted{border-radius:1000px}button.mat-mdc-unelevated-button.secondary-inverted.light-theme,a.mat-mdc-unelevated-button.secondary-inverted.light-theme{background-color:#fff;color:#242424;box-shadow:0 2px 16px #24242433}button.mat-mdc-unelevated-button.secondary-inverted.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.light-theme ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled,button.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled,a.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled:hover{opacity:.75;background-color:#f4f4f4;color:#666;border-color:#666}button.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#666}button.mat-mdc-unelevated-button.secondary-inverted.dark-theme,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme{background-color:#242424;color:#fff;box-shadow:0 2px 16px #ffffff4d}button.mat-mdc-unelevated-button.secondary-inverted.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled,button.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled:hover{opacity:.75;background-color:#666;color:#d3d3d3;border-color:#d3d3d3}button.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.secondary-inverted:hover,a.mat-mdc-unelevated-button.secondary-inverted:hover{background-color:#f4f4f4;color:#242424}button.mat-mdc-unelevated-button.secondary-inverted:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted:hover ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.secondary-inverted .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary-inverted .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.outlined{background-color:#fff;color:#000;border-width:1px;border-style:solid;border-color:#000}button.mat-mdc-unelevated-button.outlined:hover,a.mat-mdc-unelevated-button.outlined:hover{background-color:#f6f6f6}button.mat-mdc-unelevated-button.outlined:disabled,button.mat-mdc-unelevated-button.outlined:disabled:hover,a.mat-mdc-unelevated-button.outlined:disabled,a.mat-mdc-unelevated-button.outlined:disabled:hover{color:#ededed;border-color:#ededed}button.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.outlined:focus.cdk-focused,a.mat-mdc-unelevated-button.outlined:focus.cdk-focused{background-color:#e0e0e0}button.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.ghost,button.mat-mdc-unelevated-button.ghost-ai,a.mat-mdc-unelevated-button.ghost,a.mat-mdc-unelevated-button.ghost-ai{border-width:1px;border-style:solid;border-radius:1000px}button.mat-mdc-unelevated-button.ghost.light-theme,button.mat-mdc-unelevated-button.ghost-ai.light-theme,a.mat-mdc-unelevated-button.ghost.light-theme,a.mat-mdc-unelevated-button.ghost-ai.light-theme{background-color:var(--ghost-background);color:#242424;border-color:#242424}button.mat-mdc-unelevated-button.ghost.light-theme.only-icon,button.mat-mdc-unelevated-button.ghost-ai.light-theme.only-icon,a.mat-mdc-unelevated-button.ghost.light-theme.only-icon,a.mat-mdc-unelevated-button.ghost-ai.light-theme.only-icon{width:48px;height:48px;padding:0}button.mat-mdc-unelevated-button.ghost.light-theme ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.ghost-ai.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost-ai.light-theme ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.ghost.light-theme:hover,button.mat-mdc-unelevated-button.ghost-ai.light-theme:hover,a.mat-mdc-unelevated-button.ghost.light-theme:hover,a.mat-mdc-unelevated-button.ghost-ai.light-theme:hover{background-color:#f4f4f4}button.mat-mdc-unelevated-button.ghost.dark-theme,button.mat-mdc-unelevated-button.ghost-ai.dark-theme,a.mat-mdc-unelevated-button.ghost.dark-theme,a.mat-mdc-unelevated-button.ghost-ai.dark-theme{background-color:transparent;color:#fff;border-color:#fff}button.mat-mdc-unelevated-button.ghost.dark-theme.only-icon,button.mat-mdc-unelevated-button.ghost-ai.dark-theme.only-icon,a.mat-mdc-unelevated-button.ghost.dark-theme.only-icon,a.mat-mdc-unelevated-button.ghost-ai.dark-theme.only-icon{width:48px;height:48px;padding:0}button.mat-mdc-unelevated-button.ghost.dark-theme ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.ghost-ai.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost-ai.dark-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.ghost.dark-theme:hover,button.mat-mdc-unelevated-button.ghost-ai.dark-theme:hover,a.mat-mdc-unelevated-button.ghost.dark-theme:hover,a.mat-mdc-unelevated-button.ghost-ai.dark-theme:hover{background-color:#666}button.mat-mdc-unelevated-button.ghost.ghost-ai,button.mat-mdc-unelevated-button.ghost-ai.ghost-ai,a.mat-mdc-unelevated-button.ghost.ghost-ai,a.mat-mdc-unelevated-button.ghost-ai.ghost-ai{background:linear-gradient(to left,#fff,#fff),linear-gradient(to right,#d410aa 25%,#0165fc);background-clip:padding-box,border-box;background-origin:padding-box,border-box;border-color:transparent}button.mat-mdc-unelevated-button.ghost.ghost-ai:hover,button.mat-mdc-unelevated-button.ghost-ai.ghost-ai:hover,a.mat-mdc-unelevated-button.ghost.ghost-ai:hover,a.mat-mdc-unelevated-button.ghost-ai.ghost-ai:hover{background:linear-gradient(to left,#e9e9e9,#e9e9e9),linear-gradient(to right,#d410aa 25%,#0165fc);background-clip:padding-box,border-box;background-origin:padding-box,border-box}button.mat-mdc-unelevated-button.ghost:disabled,button.mat-mdc-unelevated-button.ghost:disabled:hover,button.mat-mdc-unelevated-button.ghost-ai:disabled,button.mat-mdc-unelevated-button.ghost-ai:disabled:hover,a.mat-mdc-unelevated-button.ghost:disabled,a.mat-mdc-unelevated-button.ghost:disabled:hover,a.mat-mdc-unelevated-button.ghost-ai:disabled,a.mat-mdc-unelevated-button.ghost-ai:disabled:hover{opacity:.5;background-color:transparent}button.mat-mdc-unelevated-button.ghost .mat-mdc-progress-spinner ::ng-deep circle,button.mat-mdc-unelevated-button.ghost-ai .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.ghost .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.ghost-ai .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.destructive{border:1px solid #E02800;background-color:#fff;color:#e02800;border-radius:1000px}button.mat-mdc-unelevated-button.destructive:hover,a.mat-mdc-unelevated-button.destructive:hover{background-color:#e02800;color:#fff}button.mat-mdc-unelevated-button.destructive:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive:hover ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.destructive:disabled,button.mat-mdc-unelevated-button.destructive:disabled:hover,a.mat-mdc-unelevated-button.destructive:disabled,a.mat-mdc-unelevated-button.destructive:disabled:hover{border-color:#919191;color:#919191;background:transparent}button.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg{color:#e02800}button.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.destructive.classic-theme,a.mat-mdc-unelevated-button.destructive.classic-theme{border:unset;border-radius:4px;background-color:#cb7b7a;color:#fff}button.mat-mdc-unelevated-button.destructive.classic-theme:hover,a.mat-mdc-unelevated-button.destructive.classic-theme:hover{background-color:#8e5655}button.mat-mdc-unelevated-button.destructive.classic-theme:disabled,button.mat-mdc-unelevated-button.destructive.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.destructive.classic-theme:disabled,a.mat-mdc-unelevated-button.destructive.classic-theme:disabled:hover{background-color:#e3c3c6}button.mat-mdc-unelevated-button.destructive.classic-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive.classic-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.tertiary{background-color:transparent;color:#46a997}button.mat-mdc-unelevated-button.tertiary:hover,a.mat-mdc-unelevated-button.tertiary:hover{background-color:#f6f6f6;color:#31766a}button.mat-mdc-unelevated-button.tertiary:disabled,button.mat-mdc-unelevated-button.tertiary:disabled:hover,a.mat-mdc-unelevated-button.tertiary:disabled,a.mat-mdc-unelevated-button.tertiary:disabled:hover{opacity:.75;background-color:#fff;color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg{color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg{color:var(--color)}button.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.link{background-color:transparent;color:#d410aa;border-radius:0}button.mat-mdc-unelevated-button.link ::ng-deep .mat-mdc-button-persistent-ripple,a.mat-mdc-unelevated-button.link ::ng-deep .mat-mdc-button-persistent-ripple{display:none}button.mat-mdc-unelevated-button.link span.icon-label-wrapper,a.mat-mdc-unelevated-button.link span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.link:hover,a.mat-mdc-unelevated-button.link:hover{color:#a90686!important}button.mat-mdc-unelevated-button.link:active,a.mat-mdc-unelevated-button.link:active{color:#ff54da!important}button.mat-mdc-unelevated-button.link ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.link ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.link:active ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.link:active ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.link:disabled,button.mat-mdc-unelevated-button.link:disabled:hover,a.mat-mdc-unelevated-button.link:disabled,a.mat-mdc-unelevated-button.link:disabled:hover{color:#d3d3d3}button.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg{color:var(--color)}button.mat-mdc-unelevated-button.link.classic-theme,a.mat-mdc-unelevated-button.link.classic-theme{background-color:transparent;color:#46a997;border-radius:0}button.mat-mdc-unelevated-button.link.classic-theme span.icon-label-wrapper,a.mat-mdc-unelevated-button.link.classic-theme span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.link.classic-theme:hover,a.mat-mdc-unelevated-button.link.classic-theme:hover{color:#31766a}button.mat-mdc-unelevated-button.link.classic-theme:disabled,button.mat-mdc-unelevated-button.link.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.link.classic-theme:disabled,a.mat-mdc-unelevated-button.link.classic-theme:disabled:hover{color:#b5ddd5}button.mat-mdc-unelevated-button.link.classic-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.link.classic-theme ::ng-deep mat-icon.black svg{color:var(--color)}button.mat-mdc-unelevated-button.text,button.mat-mdc-unelevated-button.text-inline,a.mat-mdc-unelevated-button.text,a.mat-mdc-unelevated-button.text-inline{background-color:transparent;border-radius:0;text-decoration:underline}button.mat-mdc-unelevated-button.text:is(.text-inline),button.mat-mdc-unelevated-button.text-inline:is(.text-inline),a.mat-mdc-unelevated-button.text:is(.text-inline),a.mat-mdc-unelevated-button.text-inline:is(.text-inline){padding:0;height:auto}button.mat-mdc-unelevated-button.text:is(.text-inline) ::ng-deep .mdc-button__label,button.mat-mdc-unelevated-button.text-inline:is(.text-inline) ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text:is(.text-inline) ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text-inline:is(.text-inline) ::ng-deep .mdc-button__label{padding:0}button.mat-mdc-unelevated-button.text:is(.text-inline) ::ng-deep .mat-mdc-button-touch-target,button.mat-mdc-unelevated-button.text-inline:is(.text-inline) ::ng-deep .mat-mdc-button-touch-target,a.mat-mdc-unelevated-button.text:is(.text-inline) ::ng-deep .mat-mdc-button-touch-target,a.mat-mdc-unelevated-button.text-inline:is(.text-inline) ::ng-deep .mat-mdc-button-touch-target{height:100%}button.mat-mdc-unelevated-button.text:is(.text-inline).small .label,button.mat-mdc-unelevated-button.text-inline:is(.text-inline).small .label,a.mat-mdc-unelevated-button.text:is(.text-inline).small .label,a.mat-mdc-unelevated-button.text-inline:is(.text-inline).small .label{font-size:12px;line-height:16px}button.mat-mdc-unelevated-button.text:is(.text-inline).medium .label,button.mat-mdc-unelevated-button.text-inline:is(.text-inline).medium .label,a.mat-mdc-unelevated-button.text:is(.text-inline).medium .label,a.mat-mdc-unelevated-button.text-inline:is(.text-inline).medium .label{font-size:14px;line-height:22px}button.mat-mdc-unelevated-button.text:is(.text-inline).big .label,button.mat-mdc-unelevated-button.text-inline:is(.text-inline).big .label,a.mat-mdc-unelevated-button.text:is(.text-inline).big .label,a.mat-mdc-unelevated-button.text-inline:is(.text-inline).big .label{font-size:16px;line-height:24px}button.mat-mdc-unelevated-button.text.light-theme,button.mat-mdc-unelevated-button.text-inline.light-theme,a.mat-mdc-unelevated-button.text.light-theme,a.mat-mdc-unelevated-button.text-inline.light-theme{color:var(--color)}button.mat-mdc-unelevated-button.text.light-theme:active,button.mat-mdc-unelevated-button.text-inline.light-theme:active,a.mat-mdc-unelevated-button.text.light-theme:active,a.mat-mdc-unelevated-button.text-inline.light-theme:active,button.mat-mdc-unelevated-button.text.light-theme:hover,button.mat-mdc-unelevated-button.text-inline.light-theme:hover,a.mat-mdc-unelevated-button.text.light-theme:hover,a.mat-mdc-unelevated-button.text-inline.light-theme:hover{color:var(--active-color)!important}button.mat-mdc-unelevated-button.text.dark-theme,button.mat-mdc-unelevated-button.text-inline.dark-theme,a.mat-mdc-unelevated-button.text.dark-theme,a.mat-mdc-unelevated-button.text-inline.dark-theme{color:var(--color)}button.mat-mdc-unelevated-button.text.dark-theme:active,button.mat-mdc-unelevated-button.text-inline.dark-theme:active,a.mat-mdc-unelevated-button.text.dark-theme:active,a.mat-mdc-unelevated-button.text-inline.dark-theme:active{color:var(--active-color)!important}button.mat-mdc-unelevated-button.text.dark-theme:hover,button.mat-mdc-unelevated-button.text-inline.dark-theme:hover,a.mat-mdc-unelevated-button.text.dark-theme:hover,a.mat-mdc-unelevated-button.text-inline.dark-theme:hover{color:var(--active-color)}button.mat-mdc-unelevated-button.text ::ng-deep .mat-mdc-button-persistent-ripple,button.mat-mdc-unelevated-button.text-inline ::ng-deep .mat-mdc-button-persistent-ripple,a.mat-mdc-unelevated-button.text ::ng-deep .mat-mdc-button-persistent-ripple,a.mat-mdc-unelevated-button.text-inline ::ng-deep .mat-mdc-button-persistent-ripple{display:none}button.mat-mdc-unelevated-button.text span.icon-label-wrapper,button.mat-mdc-unelevated-button.text-inline span.icon-label-wrapper,a.mat-mdc-unelevated-button.text span.icon-label-wrapper,a.mat-mdc-unelevated-button.text-inline span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.text:disabled,button.mat-mdc-unelevated-button.text:disabled:hover,button.mat-mdc-unelevated-button.text-inline:disabled,button.mat-mdc-unelevated-button.text-inline:disabled:hover,a.mat-mdc-unelevated-button.text:disabled,a.mat-mdc-unelevated-button.text:disabled:hover,a.mat-mdc-unelevated-button.text-inline:disabled,a.mat-mdc-unelevated-button.text-inline:disabled:hover{color:#d3d3d3}button.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text-inline:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text-inline:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text-inline:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text-inline:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.text ::ng-deep .mdc-button__label,button.mat-mdc-unelevated-button.text-inline ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text-inline ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.text:focus:not(.text-inline) ::ng-deep .mdc-button__label,button.mat-mdc-unelevated-button.text-inline:focus:not(.text-inline) ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text:focus:not(.text-inline) ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text-inline:focus:not(.text-inline) ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.text:focus-visible ::ng-deep .mdc-button__label,button.mat-mdc-unelevated-button.text-inline:focus-visible ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text:focus-visible ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text-inline:focus-visible ::ng-deep .mdc-button__label{border-radius:2px;outline-color:#242424!important;outline-style:solid!important;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}button.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle,button.mat-mdc-unelevated-button.text-inline .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text-inline .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.text.classic-theme,button.mat-mdc-unelevated-button.text-inline.classic-theme,a.mat-mdc-unelevated-button.text.classic-theme,a.mat-mdc-unelevated-button.text-inline.classic-theme{background-color:transparent;color:#000;border-radius:0;text-decoration:underline}button.mat-mdc-unelevated-button.text.classic-theme span.icon-label-wrapper,button.mat-mdc-unelevated-button.text-inline.classic-theme span.icon-label-wrapper,a.mat-mdc-unelevated-button.text.classic-theme span.icon-label-wrapper,a.mat-mdc-unelevated-button.text-inline.classic-theme span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.text.classic-theme:hover,button.mat-mdc-unelevated-button.text-inline.classic-theme:hover,a.mat-mdc-unelevated-button.text.classic-theme:hover,a.mat-mdc-unelevated-button.text-inline.classic-theme:hover{color:#000}button.mat-mdc-unelevated-button.text.classic-theme:disabled,button.mat-mdc-unelevated-button.text.classic-theme:disabled:hover,button.mat-mdc-unelevated-button.text-inline.classic-theme:disabled,button.mat-mdc-unelevated-button.text-inline.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.text.classic-theme:disabled,a.mat-mdc-unelevated-button.text.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.text-inline.classic-theme:disabled,a.mat-mdc-unelevated-button.text-inline.classic-theme:disabled:hover{color:#888}button.mat-mdc-unelevated-button.text.classic-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text-inline.classic-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text-inline.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text.classic-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text-inline.classic-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text-inline.classic-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.text.classic-theme:focus.cdk-focused,button.mat-mdc-unelevated-button.text-inline.classic-theme:focus.cdk-focused,a.mat-mdc-unelevated-button.text.classic-theme:focus.cdk-focused,a.mat-mdc-unelevated-button.text-inline.classic-theme:focus.cdk-focused{color:#000}button.mat-mdc-unelevated-button.text.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,button.mat-mdc-unelevated-button.text-inline.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text-inline.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon,a.mat-mdc-unelevated-button.squareicon{background-color:#ededed;color:#000;min-width:56px}button.mat-mdc-unelevated-button.squareicon:hover,a.mat-mdc-unelevated-button.squareicon:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.squareicon:disabled,button.mat-mdc-unelevated-button.squareicon:disabled:hover,a.mat-mdc-unelevated-button.squareicon:disabled,a.mat-mdc-unelevated-button.squareicon:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused{background-color:#ededed}button.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon .icon-label-wrapper,a.mat-mdc-unelevated-button.squareicon .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.squareicon.left .icon,button.mat-mdc-unelevated-button.squareicon.right .icon,a.mat-mdc-unelevated-button.squareicon.left .icon,a.mat-mdc-unelevated-button.squareicon.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.tab,a.mat-mdc-unelevated-button.tab{background-color:#fff;color:#000;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e0e0e0;border-radius:0}button.mat-mdc-unelevated-button.tab:hover .label,button.mat-mdc-unelevated-button.tab:hover .icon.only,a.mat-mdc-unelevated-button.tab:hover .label,a.mat-mdc-unelevated-button.tab:hover .icon.only{text-decoration:underline}button.mat-mdc-unelevated-button.tab:disabled,button.mat-mdc-unelevated-button.tab:disabled:hover,a.mat-mdc-unelevated-button.tab:disabled,a.mat-mdc-unelevated-button.tab:disabled:hover{color:#888}button.mat-mdc-unelevated-button.tab:disabled .label,button.mat-mdc-unelevated-button.tab:disabled:hover .label,a.mat-mdc-unelevated-button.tab:disabled .label,a.mat-mdc-unelevated-button.tab:disabled:hover .label{text-decoration:none}button.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused{font-weight:700;border-color:#276678}button.mat-mdc-unelevated-button.menuTrigger.classic-theme,a.mat-mdc-unelevated-button.menuTrigger.classic-theme{background:transparent;min-width:24px;height:24px;padding:0}button.mat-mdc-unelevated-button.menuTrigger.classic-theme:hover,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled,button.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuTrigger.classic-theme:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:focus.cdk-focused.cdk-mouse-focused{background-color:transparent}button.mat-mdc-unelevated-button.menuTrigger.classic-theme .icon-label-wrapper,a.mat-mdc-unelevated-button.menuTrigger.classic-theme .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.menuTrigger.classic-theme.left .icon,button.mat-mdc-unelevated-button.menuTrigger.classic-theme.right .icon,a.mat-mdc-unelevated-button.menuTrigger.classic-theme.left .icon,a.mat-mdc-unelevated-button.menuTrigger.classic-theme.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.menuCell,a.mat-mdc-unelevated-button.menuCell{background-color:#fff;color:#000;font-weight:400;border-radius:0;min-width:100%;justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell.classic-theme.big.left .icon,a.mat-mdc-unelevated-button.menuCell.classic-theme.big.left .icon{margin-right:16px}button.mat-mdc-unelevated-button.menuCell.big.left .icon,a.mat-mdc-unelevated-button.menuCell.big.left .icon{margin-right:8px}button.mat-mdc-unelevated-button.menuCell .icon-label-wrapper,a.mat-mdc-unelevated-button.menuCell .icon-label-wrapper{justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell:hover,a.mat-mdc-unelevated-button.menuCell:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuCell:disabled,button.mat-mdc-unelevated-button.menuCell:disabled:hover,a.mat-mdc-unelevated-button.menuCell:disabled,a.mat-mdc-unelevated-button.menuCell:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}.button-wrapper{position:relative;height:fit-content}.button-wrapper .menuTrigger:not(.classic-theme),.button-wrapper .icon-button{border:none;border-radius:100%;width:var(--icon-button-size)!important;height:var(--icon-button-size)!important;cursor:pointer;background-color:unset}::ng-deep .button-wrapper .menuTrigger:not(.classic-theme).mat-mdc-unelevated-button:not(:disabled),::ng-deep .button-wrapper .icon-button.mat-mdc-unelevated-button:not(:disabled){background-color:unset}::ng-deep .button-wrapper .menuTrigger:not(.classic-theme).mdc-button,::ng-deep .button-wrapper .icon-button.mdc-button{min-width:var(--icon-button-size)!important}.button-wrapper .menuTrigger:not(.classic-theme) ::ng-deep .mat-mdc-button-touch-target,.button-wrapper .icon-button ::ng-deep .mat-mdc-button-touch-target{height:var(--icon-button-size)!important}.button-wrapper .menuTrigger:not(.classic-theme):disabled,.button-wrapper .icon-button:disabled{pointer-events:none;background:unset}.button-wrapper .menuTrigger:not(.classic-theme):disabled.classic-theme ::ng-deep mat-icon svg,.button-wrapper .icon-button:disabled.classic-theme ::ng-deep mat-icon svg{color:#888}.button-wrapper .menuTrigger:not(.classic-theme):hover,.button-wrapper .icon-button:hover{background-color:#f6f6f6}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:disabled,.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:disabled:hover ::ng-deep mat-icon svg,.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:disabled,.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:disabled:hover ::ng-deep mat-icon svg,.button-wrapper .icon-button:not(.has-company-color).light-theme:disabled,.button-wrapper .icon-button:not(.has-company-color).light-theme:disabled:hover ::ng-deep mat-icon svg,.button-wrapper .icon-button:not(.has-company-color).dark-theme:disabled,.button-wrapper .icon-button:not(.has-company-color).dark-theme:disabled:hover ::ng-deep mat-icon svg{color:#919191!important}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme,.button-wrapper .icon-button:not(.has-company-color).light-theme{color:#242424!important}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:hover,.button-wrapper .icon-button:not(.has-company-color).light-theme:hover{background-color:#e9e9e9}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:focus.cdk-focused,.button-wrapper .icon-button:not(.has-company-color).light-theme:focus.cdk-focused{border-color:#666}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme,.button-wrapper .icon-button:not(.has-company-color).dark-theme{color:#fff!important}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:hover,.button-wrapper .icon-button:not(.has-company-color).dark-theme:hover{background-color:#666}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:focus.cdk-focused,.button-wrapper .icon-button:not(.has-company-color).dark-theme:focus.cdk-focused{border-color:#e9e9e9}.button-wrapper .menuTrigger:focus.cdk-focused.cdk-mouse-focused.light-theme{border:none;background-color:#e9e9e9;color:#242424}.button-wrapper .menuTrigger:focus.cdk-focused.cdk-mouse-focused.dark-theme{border:none;background-color:#666;color:#fff}.button-wrapper .right-top{position:absolute;right:-8px;top:-8px;z-index:1}.button-wrapper .right-top.badge-notification{top:-4px;right:0;border:1px solid #ffffff;border-radius:100%}.button-wrapper .right-top.badge-primary{right:-4px}.button-wrapper .right-top.menuCell{top:12px;right:12px}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}:host[btn-variant=link]{display:inline-flex}::ng-deep .link .button-container{display:flex}::ng-deep .link a.mat-mdc-unelevated-button.link{height:unset!important;min-width:unset!important;border-radius:10px}::ng-deep .link a.mat-mdc-unelevated-button.link:active .mdc-button__label{padding:0!important;outline:none!important}::ng-deep .link a.mat-mdc-unelevated-button{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button .mdc-button__label{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button.big,::ng-deep .link a.mat-mdc-unelevated-button.small{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button.big .mdc-button__label,::ng-deep .link a.mat-mdc-unelevated-button.small .mdc-button__label{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button.big .mdc-button__label .icon-label-wrapper{font-size:16px!important;line-height:24px!important}::ng-deep .link a.mat-mdc-unelevated-button.small .mdc-button__label .icon-label-wrapper{font-size:12px!important;line-height:16px!important}::ng-deep .link a.mat-mdc-unelevated-button .mat-mdc-button-touch-target{height:unset!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6.BadgeComponent, selector: "ui-badge", inputs: ["label", "icon", "color", "variant", "notificationsAmount", "applicationTheme", "rebrandColor", "truncateLabel", "enableAnimation"] }, { kind: "directive", type: i7.EllipseTextDirective, selector: "[uiEllipseText]", inputs: ["isMultiline", "maxDiffPixels", "refresh"], outputs: ["onChangeTextState"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.UiTranslatePipe, name: "uiTranslate" }] }); }
362
- }
363
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, decorators: [{
364
- type: Component,
365
- args: [{ selector: 'ui-button', template: "<div #tooltipElement class=\"tooltip\"\n [matTooltip]=\"tooltip ? tooltip : labelEllipsis ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n></div>\n<div\n class=\"button-wrapper\"\n [ngClass]=\"{ 'full-width': fullWidth, 'rounded-icon': applicationTheme !== 'classic' && icon && !label, link: !isButtonLink }\"\n>\n <div class=\"button-container\"\n [ngClass]=\"{ 'disabled': disabled, 'button-scale': buttonState === 'pressed' && applicationTheme !== 'classic' && !disabledScaleOnClick }\"\n >\n <span *ngIf=\"isPremium && typeIncluded\" class=\"right-top\">\n <img [attr.src]=\"'/images/premium.svg'\" [alt]=\"'premium-icon'\">\n </span>\n <ui-badge\n id=\"badge\"\n *ngIf=\"buttonBadgeConfig?.badgeType\"\n [rebrandColor]=\"buttonBadgeConfig?.rebrandColor ?? 'brand'\"\n [variant]=\"buttonBadgeConfig!.badgeType!\"\n [label]=\"buttonBadgeConfig?.badgeLabel ?? ''\"\n [notificationsAmount]=\"buttonBadgeConfig?.badgeNotificationAmount ?? 0\"\n class=\"right-top\"\n [ngClass]=\"[\n buttonBadgeConfig?.badgeType === 'primary' ? 'badge-primary' : '',\n buttonBadgeConfig?.badgeType === 'notification' ? 'badge-notification' : '',\n variant\n ]\"\n ></ui-badge>\n <button\n [style]=\"'--icon-button-size:' + iconButtonSize + 'px'\"\n [ngClass]=\"classCss\"\n [ngStyle]=\"styleCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseleave)=\"buttonHover($event)\"\n (mouseenter)=\"buttonHover($event)\"\n (mousedown)=\"onPressed($event)\"\n (mouseup)=\"onPressed($event)\"\n (keydown)=\"onKeydown($event)\"\n (keyup)=\"onKeyup($event)\"\n *ngIf=\"isButtonLink\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledbyId\"\n [attr.aria-describedby]=\"'describedby'\"\n [attr.aria-disabled]=\"disabled\"\n [type]=\"type\"\n [disableRipple]=\"applicationTheme !== 'classic'\"\n [matTooltip]=\"tooltip ? tooltip : labelEllipsis ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n [matTooltipPosition]=\"tooltipPosition\"\n #buttonElement\n [attr.role]=\"role\"\n mat-flat-button>\n <span id=\"describedby\" [style.display]=\"'none'\">\n {{ (isPremium ? (label + ' ' + ('BUTTON.PREMIUM_FEATURE' | uiTranslate | async)) : ariaDescribedby) }}\n </span>\n <span [id]=\"ariaLabelledbyId\" [style.display]=\"'none'\">\n {{ ariaLabelledby }}\n </span>\n <ng-container *ngIf=\"showSpinner; else icons\">\n <span class=\"spinner-wrapper\">\n <mat-spinner class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"24\"></mat-spinner>\n </span>\n </ng-container>\n <ng-template #icons>\n <span class=\"icon-only-wrapper\" *ngIf=\"justIcon && !!icon\">\n <span\n class=\"icon only\"\n role=\"label\"\n >\n <ui-icon\n [color]=\"variant === 'ghost-ai' ? 'ai' : 'inherit'\"\n [applicationTheme]=\"applicationTheme\"\n [name]=\"icon\"\n [filled]=\"isFilledIcon || iconFilled\"\n [useFullIconName]=\"this.variant === 'primary' || this.variant === 'secondary'\"\n [size]=\"size === 'small' ? '16' : '24'\"\n ></ui-icon>\n </span>\n </span>\n\n <span class=\"icon-label-wrapper\" [ngClass]=\"{'center-text': iconName === ''}\" *ngIf=\"!justIcon\">\n <span\n class=\"icon\"\n *ngIf=\"iconPosition === 'left' && !!iconName\"\n aria-hidden=\"true\"\n >\n <ui-icon\n [color]=\"variant === 'ghost-ai' ? 'ai' : 'inherit'\"\n [applicationTheme]=\"applicationTheme\"\n [name]=\"icon\"\n [filled]=\"isFilledIcon || iconFilled\"\n [useFullIconName]=\"this.variant === 'primary' || this.variant === 'secondary'\"\n [size]=\"size === 'small' ? '16' : '24'\"\n ></ui-icon>\n </span>\n <span\n *ngIf=\"isLabel\"\n class=\"label\"\n id=\"label\"\n uiEllipseText\n [isMultiline]=\"true\"\n (onChangeTextState)=\"onLabelEllipsisChange($event)\"\n >\n {{ label }}\n </span>\n <span class=\"icon\" *ngIf=\"iconPosition === 'right' && !!icon\" aria-hidden=\"true\"><ui-icon\n [color]=\"variant === 'ghost-ai' ? 'ai' : 'inherit'\"\n [applicationTheme]=\"applicationTheme\"\n [name]=\"icon\"\n [filled]=\"isFilledIcon || iconFilled\"\n [size]=\"size === 'small' ? '16' : '24'\"\n [useFullIconName]=\"this.variant === 'primary' || this.variant === 'secondary'\"></ui-icon></span>\n </span>\n </ng-template>\n </button>\n <a\n #buttonElement\n [ngClass]=\"classCss\"\n [ngStyle]=\"styleCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n (mouseleave)=\"buttonHover($event)\"\n (mousedown)=\"onPressed($event)\"\n (mouseup)=\"onPressed($event)\"\n (keydown)=\"onKeydown($event);\"\n (keyup)=\"onKeyup($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"!isButtonLink\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledbyId\"\n [attr.aria-describedby]=\"'describedby-link'\"\n [attr.aria-disabled]=\"disabled\"\n [matTooltip]=\"tooltip ? tooltip : labelEllipsis ? label : ''\"\n [matTooltipClass]=\"applicationTheme\"\n role=\"link\"\n [href]=\"url\"\n [target]=\"urlTarget\"\n mat-flat-button>\n <span id=\"describedby-link\" [style.display]=\"'none'\">\n {{ ariaDescribedby }}\n </span>\n <span [id]=\"ariaLabelledbyId\" [style.display]=\"'none'\">\n {{ ariaLabelledby }}\n </span>\n <span class=\"icon-label-wrapper\">\n {{ label }}\n </span>\n </a>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}::ng-deep .mat-mdc-button-persistent-ripple:before{opacity:0!important}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host{position:relative}:host ::ng-deep button.cdk-keyboard-focused:not(.text,.text-inline),:host a:focus-visible.cdk-keyboard-focused:not(.text,.text-inline){outline-color:#242424!important;outline-style:solid!important;outline-offset:2px;animation:focus-ring-animation .4s forwards}:host ::ng-deep button.icon-button.cdk-keyboard-focused,:host ::ng-deep button.menuTrigger.cdk-keyboard-focused,:host a:focus-visible.icon-button.cdk-keyboard-focused,:host a:focus-visible.menuTrigger.cdk-keyboard-focused{border:unset!important}:host a:focus-visible{border-radius:2px!important}:host .tooltip{position:absolute;top:0;left:0;width:fit-content;height:100%;pointer-events:auto}.rounded-icon button{min-width:unset}.rounded-icon .mdc-button{width:48px!important;min-width:unset}.rounded-icon .mdc-button .icon{margin:0!important}.rounded-icon .big,.rounded-icon .small{padding:0!important}:host{display:flex}:host .button-container{width:100%}:host .button-container.button-scale{transform:scale(.98)}:host .button-wrapper.full-width{width:100%}:host .button-wrapper ::ng-deep .mdc-button__label,:host .button-wrapper ::ng-deep .icon-label-wrapper{width:100%}:host .button-wrapper ::ng-deep .label{text-align:left;overflow:hidden;-webkit-line-clamp:2;display:-webkit-box!important;-webkit-box-orient:vertical;text-overflow:ellipsis;white-space:normal}:host .button-wrapper ::ng-deep button{width:100%}button.mat-mdc-unelevated-button,a.mat-mdc-unelevated-button{font-size:14px;font-weight:600;line-height:normal;letter-spacing:normal}button.mat-mdc-unelevated-button .spinner-wrapper,a.mat-mdc-unelevated-button .spinner-wrapper{display:flex;align-items:center;flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon,a.mat-mdc-unelevated-button .icon{display:flex;height:100%;align-items:center}button.mat-mdc-unelevated-button .icon.only,a.mat-mdc-unelevated-button .icon.only{align-items:center;flex-flow:column;justify-content:center;margin-left:0}button.mat-mdc-unelevated-button .icon-label-wrapper,a.mat-mdc-unelevated-button .icon-label-wrapper{display:flex;align-items:center;justify-content:center;height:100%}button.mat-mdc-unelevated-button .icon-label-wrapper.center-text,a.mat-mdc-unelevated-button .icon-label-wrapper.center-text{flex-flow:column;width:100%}button.mat-mdc-unelevated-button .icon-label-wrapper .label,a.mat-mdc-unelevated-button .icon-label-wrapper .label{display:flex;height:100%;align-items:center;text-align:center;font-weight:500}button.mat-mdc-unelevated-button.big,a.mat-mdc-unelevated-button.big{height:48px;padding:12px 24px}button.mat-mdc-unelevated-button.small,a.mat-mdc-unelevated-button.small{height:38px;padding:7px 11px}button.mat-mdc-unelevated-button.classic-theme.big,a.mat-mdc-unelevated-button.classic-theme.big{height:48px;padding:12px 16px}button.mat-mdc-unelevated-button.small.left .icon,button.mat-mdc-unelevated-button.big.left .icon,a.mat-mdc-unelevated-button.small.left .icon,a.mat-mdc-unelevated-button.big.left .icon{margin-right:8px}button.mat-mdc-unelevated-button.small.right .icon,button.mat-mdc-unelevated-button.big.right .icon,a.mat-mdc-unelevated-button.small.right .icon,a.mat-mdc-unelevated-button.big.right .icon{margin-left:8px}button.mat-mdc-unelevated-button.small.only-icon .icon,button.mat-mdc-unelevated-button.big.only-icon .icon,a.mat-mdc-unelevated-button.small.only-icon .icon,a.mat-mdc-unelevated-button.big.only-icon .icon{margin-left:0}button.mat-mdc-unelevated-button.primary,button.mat-mdc-unelevated-button.secondary,button.mat-mdc-unelevated-button.secondary-inverted,button.mat-mdc-unelevated-button.ghost,button.mat-mdc-unelevated-button.ghost-ai,button.mat-mdc-unelevated-button.outlined,button.mat-mdc-unelevated-button.destructive,button.mat-mdc-unelevated-button.tertiary,button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.secondary-inverted,a.mat-mdc-unelevated-button.ghost,a.mat-mdc-unelevated-button.ghost-ai,a.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.link{min-width:80px}button.mat-mdc-unelevated-button.primary.only-icon,button.mat-mdc-unelevated-button.secondary.only-icon,button.mat-mdc-unelevated-button.secondary-inverted.only-icon,button.mat-mdc-unelevated-button.ghost.only-icon,button.mat-mdc-unelevated-button.ghost-ai.only-icon,button.mat-mdc-unelevated-button.outlined.only-icon,button.mat-mdc-unelevated-button.destructive.only-icon,button.mat-mdc-unelevated-button.tertiary.only-icon,button.mat-mdc-unelevated-button.link.only-icon,a.mat-mdc-unelevated-button.primary.only-icon,a.mat-mdc-unelevated-button.secondary.only-icon,a.mat-mdc-unelevated-button.secondary-inverted.only-icon,a.mat-mdc-unelevated-button.ghost.only-icon,a.mat-mdc-unelevated-button.ghost-ai.only-icon,a.mat-mdc-unelevated-button.outlined.only-icon,a.mat-mdc-unelevated-button.destructive.only-icon,a.mat-mdc-unelevated-button.tertiary.only-icon,a.mat-mdc-unelevated-button.link.only-icon{min-width:1px}button.mat-mdc-unelevated-button.primary.full-width,button.mat-mdc-unelevated-button.secondary.full-width,button.mat-mdc-unelevated-button.secondary-inverted.full-width,button.mat-mdc-unelevated-button.ghost.full-width,button.mat-mdc-unelevated-button.ghost-ai.full-width,button.mat-mdc-unelevated-button.outlined.full-width,button.mat-mdc-unelevated-button.destructive.full-width,button.mat-mdc-unelevated-button.tertiary.full-width,button.mat-mdc-unelevated-button.link.full-width,a.mat-mdc-unelevated-button.primary.full-width,a.mat-mdc-unelevated-button.secondary.full-width,a.mat-mdc-unelevated-button.secondary-inverted.full-width,a.mat-mdc-unelevated-button.ghost.full-width,a.mat-mdc-unelevated-button.ghost-ai.full-width,a.mat-mdc-unelevated-button.outlined.full-width,a.mat-mdc-unelevated-button.destructive.full-width,a.mat-mdc-unelevated-button.tertiary.full-width,a.mat-mdc-unelevated-button.link.full-width{width:100%;min-width:100%}button.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.secondary-inverted.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.ghost.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.ghost-ai.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,button.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.primary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.secondary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.secondary-inverted.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.ghost.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.ghost-ai.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.outlined.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.destructive.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.tertiary.full-width .icon-label-wrapper,a.mat-mdc-unelevated-button.link.full-width .icon-label-wrapper{justify-content:center}button.mat-mdc-unelevated-button.primary,a.mat-mdc-unelevated-button.primary{background-color:var(--color);color:#fff;border-radius:1000px}button.mat-mdc-unelevated-button.primary-disabled,a.mat-mdc-unelevated-button.primary-disabled{opacity:.75}button.mat-mdc-unelevated-button.primary.classic-theme,a.mat-mdc-unelevated-button.primary.classic-theme{border-radius:4px}button.mat-mdc-unelevated-button.primary.classic-theme:disabled,button.mat-mdc-unelevated-button.primary.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.primary.classic-theme:disabled,a.mat-mdc-unelevated-button.primary.classic-theme:disabled:hover{background-color:#b5ddd5}button.mat-mdc-unelevated-button.primary.light-theme:disabled,button.mat-mdc-unelevated-button.primary.light-theme:disabled:hover,a.mat-mdc-unelevated-button.primary.light-theme:disabled,a.mat-mdc-unelevated-button.primary.light-theme:disabled:hover{background-color:#e9e9e9;color:#666}button.mat-mdc-unelevated-button.primary.light-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.primary.light-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.light-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.light-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#666}button.mat-mdc-unelevated-button.primary.dark-theme:disabled,button.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover,a.mat-mdc-unelevated-button.primary.dark-theme:disabled,a.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover{background-color:#666;color:#d3d3d3}button.mat-mdc-unelevated-button.primary.dark-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.dark-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.primary ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.primary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#fff}button.mat-mdc-unelevated-button.secondary,a.mat-mdc-unelevated-button.secondary{border-radius:1000px}button.mat-mdc-unelevated-button.secondary.light-theme,a.mat-mdc-unelevated-button.secondary.light-theme{background-color:#242424;color:#fff}button.mat-mdc-unelevated-button.secondary.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.light-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.secondary.light-theme:disabled,button.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary.light-theme:disabled,a.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover{opacity:.75;background-color:#e9e9e9;color:#666}button.mat-mdc-unelevated-button.secondary.light-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.light-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.light-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3!important}button.mat-mdc-unelevated-button.secondary.dark-theme,a.mat-mdc-unelevated-button.secondary.dark-theme{background-color:#fff;color:#242424}button.mat-mdc-unelevated-button.secondary.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.dark-theme ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.secondary.dark-theme:disabled,button.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover{opacity:.75;background-color:#666;color:#d3d3d3}button.mat-mdc-unelevated-button.secondary.dark-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.dark-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.secondary:hover,a.mat-mdc-unelevated-button.secondary:hover{background-color:#666;color:#fff}button.mat-mdc-unelevated-button.secondary:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary:hover ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#fff}button.mat-mdc-unelevated-button.secondary.classic-theme,a.mat-mdc-unelevated-button.secondary.classic-theme{border-radius:4px;background-color:#ededed;color:#000}button.mat-mdc-unelevated-button.secondary.classic-theme:hover,a.mat-mdc-unelevated-button.secondary.classic-theme:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.secondary.classic-theme:disabled,button.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.secondary.classic-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary.classic-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.secondary.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.secondary-inverted,a.mat-mdc-unelevated-button.secondary-inverted{border-radius:1000px}button.mat-mdc-unelevated-button.secondary-inverted.light-theme,a.mat-mdc-unelevated-button.secondary-inverted.light-theme{background-color:#fff;color:#242424;box-shadow:0 2px 16px #24242433}button.mat-mdc-unelevated-button.secondary-inverted.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.light-theme ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled,button.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled,a.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled:hover{opacity:.75;background-color:#f4f4f4;color:#666;border-color:#666}button.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.light-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#666}button.mat-mdc-unelevated-button.secondary-inverted.dark-theme,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme{background-color:#242424;color:#fff;box-shadow:0 2px 16px #ffffff4d}button.mat-mdc-unelevated-button.secondary-inverted.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled,button.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled:hover,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled:hover{opacity:.75;background-color:#666;color:#d3d3d3;border-color:#d3d3d3}button.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted.dark-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.secondary-inverted:hover,a.mat-mdc-unelevated-button.secondary-inverted:hover{background-color:#f4f4f4;color:#242424}button.mat-mdc-unelevated-button.secondary-inverted:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.secondary-inverted:hover ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.secondary-inverted .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.secondary-inverted .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.outlined,a.mat-mdc-unelevated-button.outlined{background-color:#fff;color:#000;border-width:1px;border-style:solid;border-color:#000}button.mat-mdc-unelevated-button.outlined:hover,a.mat-mdc-unelevated-button.outlined:hover{background-color:#f6f6f6}button.mat-mdc-unelevated-button.outlined:disabled,button.mat-mdc-unelevated-button.outlined:disabled:hover,a.mat-mdc-unelevated-button.outlined:disabled,a.mat-mdc-unelevated-button.outlined:disabled:hover{color:#ededed;border-color:#ededed}button.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.outlined:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.outlined:focus.cdk-focused,a.mat-mdc-unelevated-button.outlined:focus.cdk-focused{background-color:#e0e0e0}button.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.outlined .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.ghost,button.mat-mdc-unelevated-button.ghost-ai,a.mat-mdc-unelevated-button.ghost,a.mat-mdc-unelevated-button.ghost-ai{border-width:1px;border-style:solid;border-radius:1000px}button.mat-mdc-unelevated-button.ghost.light-theme,button.mat-mdc-unelevated-button.ghost-ai.light-theme,a.mat-mdc-unelevated-button.ghost.light-theme,a.mat-mdc-unelevated-button.ghost-ai.light-theme{background-color:var(--ghost-background);color:#242424;border-color:#242424}button.mat-mdc-unelevated-button.ghost.light-theme.only-icon,button.mat-mdc-unelevated-button.ghost-ai.light-theme.only-icon,a.mat-mdc-unelevated-button.ghost.light-theme.only-icon,a.mat-mdc-unelevated-button.ghost-ai.light-theme.only-icon{width:48px;height:48px;padding:0}button.mat-mdc-unelevated-button.ghost.light-theme ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.ghost-ai.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost.light-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost-ai.light-theme ::ng-deep mat-icon.black svg{color:#242424}button.mat-mdc-unelevated-button.ghost.light-theme:hover,button.mat-mdc-unelevated-button.ghost-ai.light-theme:hover,a.mat-mdc-unelevated-button.ghost.light-theme:hover,a.mat-mdc-unelevated-button.ghost-ai.light-theme:hover{background-color:#f4f4f4}button.mat-mdc-unelevated-button.ghost.dark-theme,button.mat-mdc-unelevated-button.ghost-ai.dark-theme,a.mat-mdc-unelevated-button.ghost.dark-theme,a.mat-mdc-unelevated-button.ghost-ai.dark-theme{background-color:transparent;color:#fff;border-color:#fff}button.mat-mdc-unelevated-button.ghost.dark-theme.only-icon,button.mat-mdc-unelevated-button.ghost-ai.dark-theme.only-icon,a.mat-mdc-unelevated-button.ghost.dark-theme.only-icon,a.mat-mdc-unelevated-button.ghost-ai.dark-theme.only-icon{width:48px;height:48px;padding:0}button.mat-mdc-unelevated-button.ghost.dark-theme ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.ghost-ai.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost.dark-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.ghost-ai.dark-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.ghost.dark-theme:hover,button.mat-mdc-unelevated-button.ghost-ai.dark-theme:hover,a.mat-mdc-unelevated-button.ghost.dark-theme:hover,a.mat-mdc-unelevated-button.ghost-ai.dark-theme:hover{background-color:#666}button.mat-mdc-unelevated-button.ghost.ghost-ai,button.mat-mdc-unelevated-button.ghost-ai.ghost-ai,a.mat-mdc-unelevated-button.ghost.ghost-ai,a.mat-mdc-unelevated-button.ghost-ai.ghost-ai{background:linear-gradient(to left,#fff,#fff),linear-gradient(to right,#d410aa 25%,#0165fc);background-clip:padding-box,border-box;background-origin:padding-box,border-box;border-color:transparent}button.mat-mdc-unelevated-button.ghost.ghost-ai:hover,button.mat-mdc-unelevated-button.ghost-ai.ghost-ai:hover,a.mat-mdc-unelevated-button.ghost.ghost-ai:hover,a.mat-mdc-unelevated-button.ghost-ai.ghost-ai:hover{background:linear-gradient(to left,#e9e9e9,#e9e9e9),linear-gradient(to right,#d410aa 25%,#0165fc);background-clip:padding-box,border-box;background-origin:padding-box,border-box}button.mat-mdc-unelevated-button.ghost:disabled,button.mat-mdc-unelevated-button.ghost:disabled:hover,button.mat-mdc-unelevated-button.ghost-ai:disabled,button.mat-mdc-unelevated-button.ghost-ai:disabled:hover,a.mat-mdc-unelevated-button.ghost:disabled,a.mat-mdc-unelevated-button.ghost:disabled:hover,a.mat-mdc-unelevated-button.ghost-ai:disabled,a.mat-mdc-unelevated-button.ghost-ai:disabled:hover{opacity:.5;background-color:transparent}button.mat-mdc-unelevated-button.ghost .mat-mdc-progress-spinner ::ng-deep circle,button.mat-mdc-unelevated-button.ghost-ai .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.ghost .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.ghost-ai .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.destructive,a.mat-mdc-unelevated-button.destructive{border:1px solid #E02800;background-color:#fff;color:#e02800;border-radius:1000px}button.mat-mdc-unelevated-button.destructive:hover,a.mat-mdc-unelevated-button.destructive:hover{background-color:#e02800;color:#fff}button.mat-mdc-unelevated-button.destructive:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive:hover ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.destructive:disabled,button.mat-mdc-unelevated-button.destructive:disabled:hover,a.mat-mdc-unelevated-button.destructive:disabled,a.mat-mdc-unelevated-button.destructive:disabled:hover{border-color:#919191;color:#919191;background:transparent}button.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive ::ng-deep mat-icon.black svg{color:#e02800}button.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.destructive .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.destructive.classic-theme,a.mat-mdc-unelevated-button.destructive.classic-theme{border:unset;border-radius:4px;background-color:#cb7b7a;color:#fff}button.mat-mdc-unelevated-button.destructive.classic-theme:hover,a.mat-mdc-unelevated-button.destructive.classic-theme:hover{background-color:#8e5655}button.mat-mdc-unelevated-button.destructive.classic-theme:disabled,button.mat-mdc-unelevated-button.destructive.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.destructive.classic-theme:disabled,a.mat-mdc-unelevated-button.destructive.classic-theme:disabled:hover{background-color:#e3c3c6}button.mat-mdc-unelevated-button.destructive.classic-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.destructive.classic-theme ::ng-deep mat-icon.black svg{color:#fff}button.mat-mdc-unelevated-button.destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.destructive.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.tertiary,a.mat-mdc-unelevated-button.tertiary{background-color:transparent;color:#46a997}button.mat-mdc-unelevated-button.tertiary:hover,a.mat-mdc-unelevated-button.tertiary:hover{background-color:#f6f6f6;color:#31766a}button.mat-mdc-unelevated-button.tertiary:disabled,button.mat-mdc-unelevated-button.tertiary:disabled:hover,a.mat-mdc-unelevated-button.tertiary:disabled,a.mat-mdc-unelevated-button.tertiary:disabled:hover{opacity:.75;background-color:#fff;color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary:disabled:hover ::ng-deep mat-icon.black svg{color:#b5ddd5}button.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tertiary ::ng-deep mat-icon.black svg{color:var(--color)}button.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.tertiary .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.link,a.mat-mdc-unelevated-button.link{background-color:transparent;color:#d410aa;border-radius:0}button.mat-mdc-unelevated-button.link ::ng-deep .mat-mdc-button-persistent-ripple,a.mat-mdc-unelevated-button.link ::ng-deep .mat-mdc-button-persistent-ripple{display:none}button.mat-mdc-unelevated-button.link span.icon-label-wrapper,a.mat-mdc-unelevated-button.link span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.link:hover,a.mat-mdc-unelevated-button.link:hover{color:#a90686!important}button.mat-mdc-unelevated-button.link:active,a.mat-mdc-unelevated-button.link:active{color:#ff54da!important}button.mat-mdc-unelevated-button.link ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.link ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.link:active ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.link:active ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.link:disabled,button.mat-mdc-unelevated-button.link:disabled:hover,a.mat-mdc-unelevated-button.link:disabled,a.mat-mdc-unelevated-button.link:disabled:hover{color:#d3d3d3}button.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.link ::ng-deep mat-icon.black svg{color:var(--color)}button.mat-mdc-unelevated-button.link.classic-theme,a.mat-mdc-unelevated-button.link.classic-theme{background-color:transparent;color:#46a997;border-radius:0}button.mat-mdc-unelevated-button.link.classic-theme span.icon-label-wrapper,a.mat-mdc-unelevated-button.link.classic-theme span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.link.classic-theme:hover,a.mat-mdc-unelevated-button.link.classic-theme:hover{color:#31766a}button.mat-mdc-unelevated-button.link.classic-theme:disabled,button.mat-mdc-unelevated-button.link.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.link.classic-theme:disabled,a.mat-mdc-unelevated-button.link.classic-theme:disabled:hover{color:#b5ddd5}button.mat-mdc-unelevated-button.link.classic-theme ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.link.classic-theme ::ng-deep mat-icon.black svg{color:var(--color)}button.mat-mdc-unelevated-button.text,button.mat-mdc-unelevated-button.text-inline,a.mat-mdc-unelevated-button.text,a.mat-mdc-unelevated-button.text-inline{background-color:transparent;border-radius:0;text-decoration:underline}button.mat-mdc-unelevated-button.text:is(.text-inline),button.mat-mdc-unelevated-button.text-inline:is(.text-inline),a.mat-mdc-unelevated-button.text:is(.text-inline),a.mat-mdc-unelevated-button.text-inline:is(.text-inline){padding:0;height:auto}button.mat-mdc-unelevated-button.text:is(.text-inline) ::ng-deep .mdc-button__label,button.mat-mdc-unelevated-button.text-inline:is(.text-inline) ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text:is(.text-inline) ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text-inline:is(.text-inline) ::ng-deep .mdc-button__label{padding:0}button.mat-mdc-unelevated-button.text:is(.text-inline) ::ng-deep .mat-mdc-button-touch-target,button.mat-mdc-unelevated-button.text-inline:is(.text-inline) ::ng-deep .mat-mdc-button-touch-target,a.mat-mdc-unelevated-button.text:is(.text-inline) ::ng-deep .mat-mdc-button-touch-target,a.mat-mdc-unelevated-button.text-inline:is(.text-inline) ::ng-deep .mat-mdc-button-touch-target{height:100%}button.mat-mdc-unelevated-button.text:is(.text-inline).small .label,button.mat-mdc-unelevated-button.text-inline:is(.text-inline).small .label,a.mat-mdc-unelevated-button.text:is(.text-inline).small .label,a.mat-mdc-unelevated-button.text-inline:is(.text-inline).small .label{font-size:12px;line-height:16px}button.mat-mdc-unelevated-button.text:is(.text-inline).medium .label,button.mat-mdc-unelevated-button.text-inline:is(.text-inline).medium .label,a.mat-mdc-unelevated-button.text:is(.text-inline).medium .label,a.mat-mdc-unelevated-button.text-inline:is(.text-inline).medium .label{font-size:14px;line-height:22px}button.mat-mdc-unelevated-button.text:is(.text-inline).big .label,button.mat-mdc-unelevated-button.text-inline:is(.text-inline).big .label,a.mat-mdc-unelevated-button.text:is(.text-inline).big .label,a.mat-mdc-unelevated-button.text-inline:is(.text-inline).big .label{font-size:16px;line-height:24px}button.mat-mdc-unelevated-button.text.light-theme,button.mat-mdc-unelevated-button.text-inline.light-theme,a.mat-mdc-unelevated-button.text.light-theme,a.mat-mdc-unelevated-button.text-inline.light-theme{color:var(--color)}button.mat-mdc-unelevated-button.text.light-theme:active,button.mat-mdc-unelevated-button.text-inline.light-theme:active,a.mat-mdc-unelevated-button.text.light-theme:active,a.mat-mdc-unelevated-button.text-inline.light-theme:active,button.mat-mdc-unelevated-button.text.light-theme:hover,button.mat-mdc-unelevated-button.text-inline.light-theme:hover,a.mat-mdc-unelevated-button.text.light-theme:hover,a.mat-mdc-unelevated-button.text-inline.light-theme:hover{color:var(--active-color)!important}button.mat-mdc-unelevated-button.text.dark-theme,button.mat-mdc-unelevated-button.text-inline.dark-theme,a.mat-mdc-unelevated-button.text.dark-theme,a.mat-mdc-unelevated-button.text-inline.dark-theme{color:var(--color)}button.mat-mdc-unelevated-button.text.dark-theme:active,button.mat-mdc-unelevated-button.text-inline.dark-theme:active,a.mat-mdc-unelevated-button.text.dark-theme:active,a.mat-mdc-unelevated-button.text-inline.dark-theme:active{color:var(--active-color)!important}button.mat-mdc-unelevated-button.text.dark-theme:hover,button.mat-mdc-unelevated-button.text-inline.dark-theme:hover,a.mat-mdc-unelevated-button.text.dark-theme:hover,a.mat-mdc-unelevated-button.text-inline.dark-theme:hover{color:var(--active-color)}button.mat-mdc-unelevated-button.text ::ng-deep .mat-mdc-button-persistent-ripple,button.mat-mdc-unelevated-button.text-inline ::ng-deep .mat-mdc-button-persistent-ripple,a.mat-mdc-unelevated-button.text ::ng-deep .mat-mdc-button-persistent-ripple,a.mat-mdc-unelevated-button.text-inline ::ng-deep .mat-mdc-button-persistent-ripple{display:none}button.mat-mdc-unelevated-button.text span.icon-label-wrapper,button.mat-mdc-unelevated-button.text-inline span.icon-label-wrapper,a.mat-mdc-unelevated-button.text span.icon-label-wrapper,a.mat-mdc-unelevated-button.text-inline span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.text:disabled,button.mat-mdc-unelevated-button.text:disabled:hover,button.mat-mdc-unelevated-button.text-inline:disabled,button.mat-mdc-unelevated-button.text-inline:disabled:hover,a.mat-mdc-unelevated-button.text:disabled,a.mat-mdc-unelevated-button.text:disabled:hover,a.mat-mdc-unelevated-button.text-inline:disabled,a.mat-mdc-unelevated-button.text-inline:disabled:hover{color:#d3d3d3}button.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text-inline:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text-inline:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text-inline:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text-inline:disabled:hover ::ng-deep mat-icon.black svg{color:#d3d3d3}button.mat-mdc-unelevated-button.text ::ng-deep .mdc-button__label,button.mat-mdc-unelevated-button.text-inline ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text-inline ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.text:focus:not(.text-inline) ::ng-deep .mdc-button__label,button.mat-mdc-unelevated-button.text-inline:focus:not(.text-inline) ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text:focus:not(.text-inline) ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text-inline:focus:not(.text-inline) ::ng-deep .mdc-button__label{padding:4px}button.mat-mdc-unelevated-button.text:focus-visible ::ng-deep .mdc-button__label,button.mat-mdc-unelevated-button.text-inline:focus-visible ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text:focus-visible ::ng-deep .mdc-button__label,a.mat-mdc-unelevated-button.text-inline:focus-visible ::ng-deep .mdc-button__label{border-radius:2px;outline-color:#242424!important;outline-style:solid!important;outline-offset:2px!important;animation:focus-ring-animation .4s forwards}button.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle,button.mat-mdc-unelevated-button.text-inline .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text-inline .mat-mdc-progress-spinner ::ng-deep circle{stroke:#242424}button.mat-mdc-unelevated-button.text.classic-theme,button.mat-mdc-unelevated-button.text-inline.classic-theme,a.mat-mdc-unelevated-button.text.classic-theme,a.mat-mdc-unelevated-button.text-inline.classic-theme{background-color:transparent;color:#000;border-radius:0;text-decoration:underline}button.mat-mdc-unelevated-button.text.classic-theme span.icon-label-wrapper,button.mat-mdc-unelevated-button.text-inline.classic-theme span.icon-label-wrapper,a.mat-mdc-unelevated-button.text.classic-theme span.icon-label-wrapper,a.mat-mdc-unelevated-button.text-inline.classic-theme span.icon-label-wrapper{text-decoration:underline}button.mat-mdc-unelevated-button.text.classic-theme:hover,button.mat-mdc-unelevated-button.text-inline.classic-theme:hover,a.mat-mdc-unelevated-button.text.classic-theme:hover,a.mat-mdc-unelevated-button.text-inline.classic-theme:hover{color:#000}button.mat-mdc-unelevated-button.text.classic-theme:disabled,button.mat-mdc-unelevated-button.text.classic-theme:disabled:hover,button.mat-mdc-unelevated-button.text-inline.classic-theme:disabled,button.mat-mdc-unelevated-button.text-inline.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.text.classic-theme:disabled,a.mat-mdc-unelevated-button.text.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.text-inline.classic-theme:disabled,a.mat-mdc-unelevated-button.text-inline.classic-theme:disabled:hover{color:#888}button.mat-mdc-unelevated-button.text.classic-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text-inline.classic-theme:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.text-inline.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text.classic-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text.classic-theme:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text-inline.classic-theme:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.text-inline.classic-theme:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.text.classic-theme:focus.cdk-focused,button.mat-mdc-unelevated-button.text-inline.classic-theme:focus.cdk-focused,a.mat-mdc-unelevated-button.text.classic-theme:focus.cdk-focused,a.mat-mdc-unelevated-button.text-inline.classic-theme:focus.cdk-focused{color:#000}button.mat-mdc-unelevated-button.text.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,button.mat-mdc-unelevated-button.text-inline.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text.classic-theme .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.text-inline.classic-theme .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon,a.mat-mdc-unelevated-button.squareicon{background-color:#ededed;color:#000;min-width:56px}button.mat-mdc-unelevated-button.squareicon:hover,a.mat-mdc-unelevated-button.squareicon:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.squareicon:disabled,button.mat-mdc-unelevated-button.squareicon:disabled:hover,a.mat-mdc-unelevated-button.squareicon:disabled,a.mat-mdc-unelevated-button.squareicon:disabled:hover{background-color:#ededed;color:#888}button.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.squareicon:focus.cdk-focused.cdk-mouse-focused{background-color:#ededed}button.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.squareicon .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}button.mat-mdc-unelevated-button.squareicon .icon-label-wrapper,a.mat-mdc-unelevated-button.squareicon .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.squareicon.left .icon,button.mat-mdc-unelevated-button.squareicon.right .icon,a.mat-mdc-unelevated-button.squareicon.left .icon,a.mat-mdc-unelevated-button.squareicon.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.tab,a.mat-mdc-unelevated-button.tab{background-color:#fff;color:#000;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e0e0e0;border-radius:0}button.mat-mdc-unelevated-button.tab:hover .label,button.mat-mdc-unelevated-button.tab:hover .icon.only,a.mat-mdc-unelevated-button.tab:hover .label,a.mat-mdc-unelevated-button.tab:hover .icon.only{text-decoration:underline}button.mat-mdc-unelevated-button.tab:disabled,button.mat-mdc-unelevated-button.tab:disabled:hover,a.mat-mdc-unelevated-button.tab:disabled,a.mat-mdc-unelevated-button.tab:disabled:hover{color:#888}button.mat-mdc-unelevated-button.tab:disabled .label,button.mat-mdc-unelevated-button.tab:disabled:hover .label,a.mat-mdc-unelevated-button.tab:disabled .label,a.mat-mdc-unelevated-button.tab:disabled:hover .label{text-decoration:none}button.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.tab:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.tab:focus.cdk-focused.cdk-mouse-focused{font-weight:700;border-color:#276678}button.mat-mdc-unelevated-button.menuTrigger.classic-theme,a.mat-mdc-unelevated-button.menuTrigger.classic-theme{background:transparent;min-width:24px;height:24px;padding:0}button.mat-mdc-unelevated-button.menuTrigger.classic-theme:hover,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled,button.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled:hover,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuTrigger.classic-theme:focus.cdk-focused.cdk-mouse-focused,a.mat-mdc-unelevated-button.menuTrigger.classic-theme:focus.cdk-focused.cdk-mouse-focused{background-color:transparent}button.mat-mdc-unelevated-button.menuTrigger.classic-theme .icon-label-wrapper,a.mat-mdc-unelevated-button.menuTrigger.classic-theme .icon-label-wrapper{flex-flow:column}button.mat-mdc-unelevated-button.menuTrigger.classic-theme.left .icon,button.mat-mdc-unelevated-button.menuTrigger.classic-theme.right .icon,a.mat-mdc-unelevated-button.menuTrigger.classic-theme.left .icon,a.mat-mdc-unelevated-button.menuTrigger.classic-theme.right .icon{margin:0 auto}button.mat-mdc-unelevated-button.menuCell,a.mat-mdc-unelevated-button.menuCell{background-color:#fff;color:#000;font-weight:400;border-radius:0;min-width:100%;justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell.classic-theme.big.left .icon,a.mat-mdc-unelevated-button.menuCell.classic-theme.big.left .icon{margin-right:16px}button.mat-mdc-unelevated-button.menuCell.big.left .icon,a.mat-mdc-unelevated-button.menuCell.big.left .icon{margin-right:8px}button.mat-mdc-unelevated-button.menuCell .icon-label-wrapper,a.mat-mdc-unelevated-button.menuCell .icon-label-wrapper{justify-content:flex-start}button.mat-mdc-unelevated-button.menuCell:hover,a.mat-mdc-unelevated-button.menuCell:hover{background-color:#e0e0e0}button.mat-mdc-unelevated-button.menuCell:disabled,button.mat-mdc-unelevated-button.menuCell:disabled:hover,a.mat-mdc-unelevated-button.menuCell:disabled,a.mat-mdc-unelevated-button.menuCell:disabled:hover{background-color:#fff;color:#888}button.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,button.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled ::ng-deep mat-icon.black svg,a.mat-mdc-unelevated-button.menuCell:disabled:hover ::ng-deep mat-icon.black svg{color:#888}button.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle,a.mat-mdc-unelevated-button.menuCell .mat-mdc-progress-spinner ::ng-deep circle{stroke:#000}.button-wrapper{position:relative;height:fit-content}.button-wrapper .menuTrigger:not(.classic-theme),.button-wrapper .icon-button{border:none;border-radius:100%;width:var(--icon-button-size)!important;height:var(--icon-button-size)!important;cursor:pointer;background-color:unset}::ng-deep .button-wrapper .menuTrigger:not(.classic-theme).mat-mdc-unelevated-button:not(:disabled),::ng-deep .button-wrapper .icon-button.mat-mdc-unelevated-button:not(:disabled){background-color:unset}::ng-deep .button-wrapper .menuTrigger:not(.classic-theme).mdc-button,::ng-deep .button-wrapper .icon-button.mdc-button{min-width:var(--icon-button-size)!important}.button-wrapper .menuTrigger:not(.classic-theme) ::ng-deep .mat-mdc-button-touch-target,.button-wrapper .icon-button ::ng-deep .mat-mdc-button-touch-target{height:var(--icon-button-size)!important}.button-wrapper .menuTrigger:not(.classic-theme):disabled,.button-wrapper .icon-button:disabled{pointer-events:none;background:unset}.button-wrapper .menuTrigger:not(.classic-theme):disabled.classic-theme ::ng-deep mat-icon svg,.button-wrapper .icon-button:disabled.classic-theme ::ng-deep mat-icon svg{color:#888}.button-wrapper .menuTrigger:not(.classic-theme):hover,.button-wrapper .icon-button:hover{background-color:#f6f6f6}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:disabled,.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:disabled:hover ::ng-deep mat-icon svg,.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:disabled,.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:disabled:hover ::ng-deep mat-icon svg,.button-wrapper .icon-button:not(.has-company-color).light-theme:disabled,.button-wrapper .icon-button:not(.has-company-color).light-theme:disabled:hover ::ng-deep mat-icon svg,.button-wrapper .icon-button:not(.has-company-color).dark-theme:disabled,.button-wrapper .icon-button:not(.has-company-color).dark-theme:disabled:hover ::ng-deep mat-icon svg{color:#919191!important}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme,.button-wrapper .icon-button:not(.has-company-color).light-theme{color:#242424!important}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:hover,.button-wrapper .icon-button:not(.has-company-color).light-theme:hover{background-color:#e9e9e9}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).light-theme:focus.cdk-focused,.button-wrapper .icon-button:not(.has-company-color).light-theme:focus.cdk-focused{border-color:#666}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme,.button-wrapper .icon-button:not(.has-company-color).dark-theme{color:#fff!important}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:hover,.button-wrapper .icon-button:not(.has-company-color).dark-theme:hover{background-color:#666}.button-wrapper .menuTrigger:not(.classic-theme):not(.has-company-color).dark-theme:focus.cdk-focused,.button-wrapper .icon-button:not(.has-company-color).dark-theme:focus.cdk-focused{border-color:#e9e9e9}.button-wrapper .menuTrigger:focus.cdk-focused.cdk-mouse-focused.light-theme{border:none;background-color:#e9e9e9;color:#242424}.button-wrapper .menuTrigger:focus.cdk-focused.cdk-mouse-focused.dark-theme{border:none;background-color:#666;color:#fff}.button-wrapper .right-top{position:absolute;right:-8px;top:-8px;z-index:1}.button-wrapper .right-top.badge-notification{top:-4px;right:0;border:1px solid #ffffff;border-radius:100%}.button-wrapper .right-top.badge-primary{right:-4px}.button-wrapper .right-top.menuCell{top:12px;right:12px}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}:host[btn-variant=link]{display:inline-flex}::ng-deep .link .button-container{display:flex}::ng-deep .link a.mat-mdc-unelevated-button.link{height:unset!important;min-width:unset!important;border-radius:10px}::ng-deep .link a.mat-mdc-unelevated-button.link:active .mdc-button__label{padding:0!important;outline:none!important}::ng-deep .link a.mat-mdc-unelevated-button{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button .mdc-button__label{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button.big,::ng-deep .link a.mat-mdc-unelevated-button.small{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button.big .mdc-button__label,::ng-deep .link a.mat-mdc-unelevated-button.small .mdc-button__label{padding:0!important}::ng-deep .link a.mat-mdc-unelevated-button.big .mdc-button__label .icon-label-wrapper{font-size:16px!important;line-height:24px!important}::ng-deep .link a.mat-mdc-unelevated-button.small .mdc-button__label .icon-label-wrapper{font-size:12px!important;line-height:16px!important}::ng-deep .link a.mat-mdc-unelevated-button .mat-mdc-button-touch-target{height:unset!important}\n"] }]
366
- }], ctorParameters: () => [{ type: undefined, decorators: [{
367
- type: Optional
368
- }, {
369
- type: Inject,
370
- args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
371
- }] }], propDecorators: { enabled: [{
372
- type: HostBinding,
373
- args: ['style.pointer-events']
374
- }], tooltipElement: [{
375
- type: ViewChild,
376
- args: ['tooltipElement']
377
- }], size: [{
378
- type: Input
379
- }], variant: [{
380
- type: HostBinding,
381
- args: ['attr.btn-variant']
382
- }, {
383
- type: Input
384
- }], label: [{
385
- type: Input
386
- }], iconPosition: [{
387
- type: Input
388
- }], justIcon: [{
389
- type: Input
390
- }], iconName: [{
391
- type: Input
392
- }], disabled: [{
393
- type: Input
394
- }], loading: [{
395
- type: Input
396
- }], fullWidth: [{
397
- type: Input
398
- }], url: [{
399
- type: Input
400
- }], urlTarget: [{
401
- type: Input
402
- }], value: [{
403
- type: Input
404
- }], tooltip: [{
405
- type: Input
406
- }], isPremium: [{
407
- type: Input
408
- }], type: [{
409
- type: Input
410
- }], companyColor: [{
411
- type: Input
412
- }], buttonBadgeConfig: [{
413
- type: Input
414
- }], applicationTheme: [{
415
- type: HostBinding,
416
- args: ['attr.theme']
417
- }, {
418
- type: Input
419
- }], disabledScaleOnClick: [{
420
- type: Input
421
- }], ariaLabel: [{
422
- type: Input
423
- }], ariaRequired: [{
424
- type: Input
425
- }], ariaLabelledby: [{
426
- type: Input
427
- }], ariaDescribedby: [{
428
- type: Input
429
- }], preventDefault: [{
430
- type: Input,
431
- args: [{ transform: booleanAttribute }]
432
- }], hasBackground: [{
433
- type: Input,
434
- args: [{ transform: booleanAttribute }]
435
- }], tooltipPosition: [{
436
- type: Input
437
- }], role: [{
438
- type: Input
439
- }], iconFilled: [{
440
- type: Input
441
- }], buttonClickEvent: [{
442
- type: Output
443
- }], buttonHoverEvent: [{
444
- type: Output
445
- }], buttonElement: [{
446
- type: ViewChild,
447
- args: ['buttonElement', { static: false }]
448
- }], compColor: [{
449
- type: HostBinding,
450
- args: ['style.--color']
451
- }] } });
452
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFZdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBVzdELE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQStORCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO2FBZWMsdUJBQWtCLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFHdEMsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFDNkUsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBelA5Rzs7Ozs7V0FLRztRQUNNLFNBQUksR0FBZSxLQUFLLENBQUM7UUFDbEM7Ozs7O1dBS0c7UUFH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Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFd0MsYUFBYTtzQkFBM0QsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQVF6QyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC91c2UtbGlmZWN5Y2xlLWludGVyZmFjZSAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2RlbCc7XG5pbXBvcnQge1xuICBCdXR0b25CYWRnZUNvbmZpZyxcbiAgQnV0dG9uQ29sb3IsXG4gIEJ1dHRvbkljb25Qb3NpdGlvbixcbiAgQnV0dG9uU2l6ZSxcbiAgQnV0dG9uU3RhdGUsXG4gIEJ1dHRvblR5cGUsXG4gIEljb25CdXR0b25TaXplLFxuICBMaW5rVXJsVGFyZ2V0LFxufSBmcm9tICcuL2J1dHRvbi5tb2RlbCc7XG5pbXBvcnQgeyBhZGp1c3RMaWdodG5lc3MgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvci1jb250cmFzdCc7XG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9pbnRlci1ldmVudHMnKVxuICBnZXQgZW5hYmxlZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCc7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0b29sdGlwRWxlbWVudCcpIHRvb2x0aXBFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogRGVmaW5lIGJ1dHRvbiBoZWlnaHRcbiAgICpcbiAgICogQHR5cGUge0J1dHRvblNpemV9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNpemU6IEJ1dHRvblNpemUgPSAnYmlnJztcbiAgLyoqXG4gICAqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiB3aGlsZSBpbiBhY3RpdmUgc3RhdGVcbiAgICpcbiAgICogQHR5cGUge0J1dHRvbkNvbG9yfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYnRuLXZhcmlhbnQnKVxuICBASW5wdXQoKVxuICB2YXJpYW50OiBCdXR0b25Db2xvciA9ICdwcmltYXJ5JztcblxuICAvKipcbiAgICogVGV4dCBjb250ZW50IHRvIGFwcGVhciBvbiB0aGUgYnV0dG9uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uaW5nIG9mIHRoZSBpY29uICh3aGVuIGV4aXN0YW50KVxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uSWNvblBvc2l0aW9ufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpY29uUG9zaXRpb24/OiBCdXR0b25JY29uUG9zaXRpb24gPSAncmlnaHQnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgaWYgYnV0dG9uIGhhcyBvbmx5IGljb24gd2l0aG91dCB0ZXh0XG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGp1c3RJY29uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdWktaWNvblxuICAgKlxuICAgKiBAdHlwZSB7SWNvbk5hbWV9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25OYW1lOiBJY29uTmFtZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdG9yIGlmIHRoZSBidXR0b24gc2hvdWxkIGJlIGRpc2FibGVkXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgbG9hZGluZyBpY29uIHNob3VsZCBiZSBzaG93blxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBvZiB0aGUgYnV0dG9uIHdpZHRoXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBVcmwgb2YgYnV0dG9uIGlmIGl0IGlzIGEgbGlua1xuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVybCdzIHRhcmdldCBvZiBidXR0b24gaWYgaXQgaXMgYSBsaW5rXG4gICAqXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1VybFRhcmdldH19XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHVybFRhcmdldD86IExpbmtVcmxUYXJnZXQ7XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiB2YWx1ZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IHRvb2x0aXBcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB0b29sdGlwIHRoYXQgaXMgZGlzcGxheWVkIG9uIGhvdmVyLiBSZXF1aXJlZCBmb3IgaWNvbi1idXR0b24gdHlwZVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwID0gJyc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBpc1ByZW1pdW1cbiAgICogQGRlc2NyaXB0aW9uIFRoZSBpY29uIHRoYXQgaXMgZGlzcGxheWVkIGZvciBQcmVtaXVtIGJ1dHRvblxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaXNQcmVtaXVtID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBidXR0b24uXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25UeXBlfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqIEBkZWZhdWx0ICdidXR0b24nXG4gICAqL1xuICBASW5wdXQoKSB0eXBlOiBCdXR0b25UeXBlID0gJ2J1dHRvbic7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBidXR0b24uXG4gICAqIERlZmF1bHRzIHRvIFRlc3QgR29yaWxsYSBwcmltYXJ5IGNvbG9yLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjb21wYW55Q29sb3I6IHN0cmluZyB8IG51bGwgPSAnJztcblxuICAvKipcbiAgICogQ29uZmlnIGZvciB0aGUgYnV0dG9uIGJhZGdlIHZhcmlhdGlvblxuICAgKiBAdHlwZSB7QnV0dG9uQmFkZ2VDb25maWd9XG4gICAqIEBwcm9wZXJ0eSBiYWRnZVR5cGUgVHlwZSBvZiBiYWRnZSBvbiB0aGUgYnV0dG9uXG4gICAqIEBwcm9wZXJ0eSBiYWRnZUxhYmVsIExhYmVsIHRleHQgZm9yIHRoZSBiYWRnZVxuICAgKiBAcHJvcGVydHkgYmFkZ2VOb3RpZmljYXRpb25BbW91bnQgVGhlIGFtb3VudCBmb3Igbm90aWZpY2F0aW9uIGluIHRoZSBiYWRnZVxuICAgKi9cbiAgQElucHV0KCkgYnV0dG9uQmFkZ2VDb25maWc6IEJ1dHRvbkJhZGdlQ29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZSB3aGVyZSBidXR0b25zIGlzIHVzZWRcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci50aGVtZScpXG4gIEBJbnB1dCgpXG4gIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEaXNhYmxlZCBidXR0b24gc2NhbGUgb24gY2xpY2tcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkU2NhbGVPbkNsaWNrID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSBsYWJlbCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBsYWJlbCBpcyB1c2VkIHRvIHByb3ZpZGUgYW4gYWNjZXNzaWJsZSBuYW1lIGZvciB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhUmVxdWlyZWQgPSBmYWxzZTtcblxuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxsZWRieSA9ICcnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkYnkgPSAnJztcblxuICAvKipcbiAgICogUHJldmVudHMgZGVmYXVsdCBidXR0b24gY2xpY2sgYmVoYXZpb3JcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcmV2ZW50RGVmYXVsdCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBHaG9zdCB2YXJpYW50IHdpdGggd2hpdGUgYmFja2dyb3VuZFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0JhY2tncm91bmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0cyB0b29sdGlwIHBvc2l0aW9uXG4gICAqXG4gICAqIEB0eXBlIHtUb29sdGlwUG9zaXRpb259XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ2JlbG93JztcblxuICBASW5wdXQoKSByb2xlID0gJ2J1dHRvbic7XG5cbiAgQElucHV0KCkgaWNvbkZpbGxlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja0V2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgYnV0dG9uSG92ZXJFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYnV0dG9uRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBidXR0b25FbGVtZW50OiBNYXRCdXR0b247XG5cblxuICBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS1jb2xvcicpXG4gIGdldCBjb21wQ29sb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29tcGFueUNvbG9yO1xuICB9XG5cbiAgY2xhc3NDc3M6IHN0cmluZztcbiAgc3R5bGVDc3M6IGFueTtcbiAgaXNCdXR0b25MaW5rOiBib29sZWFuO1xuICBpc0xhYmVsOiBib29sZWFuO1xuICBidXR0b25TdGF0ZTogQnV0dG9uU3RhdGU7XG4gIGhvdmVyID0gZmFsc2U7XG4gIGljb25CdXR0b25TaXplOiBJY29uQnV0dG9uU2l6ZSA9ICc0MCc7XG4gIGFsbG93QnV0dG9uVHlwZUZvclByZW1pdW06IEJ1dHRvbkNvbG9yW10gPSBbJ3NlY29uZGFyeScsICdzZWNvbmRhcnktaW52ZXJ0ZWQnLCAncHJpbWFyeScsICdnaG9zdCcsICdvdXRsaW5lZCcsICdkZXN0cnVjdGl2ZSddO1xuICBpc0ZpbGxlZEljb246IGJvb2xlYW47XG4gIGNvbG9yZWRJY29ucyA9IFsnR29vZ2xlLWluLWxpbmUnLCAnR29vZ2xlJywgJ0dvb2dsZS1maWxsZWQnXTtcbiAgbGFiZWxFbGxpcHNpcyA9IGZhbHNlO1xuICBpY29uOiBJY29uTmFtZSA9ICcnO1xuXG4gIHByaXZhdGUgc3RhdGljIG5leHRBcmlhTGFiZWxsZWRJZCA9IDA7XG4gIGFyaWFMYWJlbGxlZGJ5SWQgPSAnJztcblxuICBnZXQgdHlwZUluY2x1ZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFsbG93QnV0dG9uVHlwZUZvclByZW1pdW0uaW5jbHVkZXModGhpcy52YXJpYW50KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NDc3MgPSB0aGlzLnNldENzc0NsYXNzKCk7XG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB0aGlzLmlzQnV0dG9uTGluayA9IHRoaXMuc2hvd0J1dHRvbkxpbmsoKTtcbiAgICB0aGlzLmlzTGFiZWwgPSB0aGlzLnNob3dMYWJlbCgpO1xuICAgIHRoaXMuY3JlYXRlQXJpYUxhYmVsbGVkQnlJZCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYXBwbGljYXRpb25UaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3R5cGUnXSkge1xuICAgICAgdGhpcy5pc0J1dHRvbkxpbmsgPSB0aGlzLnNob3dCdXR0b25MaW5rKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydsb2FkaW5nJ10pIHtcbiAgICAgIHRoaXMuaXNMYWJlbCA9IHRoaXMuc2hvd0xhYmVsKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydpY29uTmFtZSddKSB7XG4gICAgICB0aGlzLmljb24gPSBjaGFuZ2VzWydpY29uTmFtZSddLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1sndHlwZSddIHx8XG4gICAgICBjaGFuZ2VzWydmdWxsV2lkdGgnXSB8fFxuICAgICAgY2hhbmdlc1snaWNvbk5hbWUnXSB8fFxuICAgICAgY2hhbmdlc1snanVzdEljb24nXSB8fFxuICAgICAgY2hhbmdlc1snaWNvblBvc2l0aW9uJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2Rpc2FibGVkJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2NvbXBhbnlDb2xvciddIHx8XG4gICAgICBjaGFuZ2VzWyd2YXJpYW50J10gfHxcbiAgICAgIGNoYW5nZXNbJ2FwcGxpY2F0aW9uVGhlbWUnXVxuICAgICkge1xuICAgICAgdGhpcy5jbGFzc0NzcyA9IHRoaXMuc2V0Q3NzQ2xhc3MoKTtcbiAgICAgIHRoaXMuc3R5bGVDc3MgPSB0aGlzLnNldENzc1N0eWxlKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWyd2YXJpYW50J10/LmN1cnJlbnRWYWx1ZSA9PT0gJ2ljb24tYnV0dG9uJyB8fCAoY2hhbmdlc1sndmFyaWFudCddPy5jdXJyZW50VmFsdWUgPT09ICdtZW51VHJpZ2dlcicgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycpKSB7XG4gICAgICB0aGlzLmljb25CdXR0b25TaXplID0gdGhpcy5zZXRJY29uQnV0dG9uU2l6ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuaXNGaWxsZWRJY29uID0gdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgKHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3NlY29uZGFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5LWludmVydGVkJyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50b29sdGlwRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9uY2xpY2sgPSBldiA9PiB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnaWNvbi1idXR0b24nICYmICF0aGlzLnRvb2x0aXApIHtcbiAgICAgIGNvbnNvbGUud2FybigndWktYnV0dG9uIEJ1dHRvbkNvbXBvbmVudFxcbiAgICBbdG9vbHRpcF0gaXMgcmVxdWlyZWQgZm9yIFt0eXBlXSBpY29uLWJ1dHRvbiEnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ2Rlc3RydWN0aXZlJyAmJiAhdGhpcy5pY29uICYmICF0aGlzLmxvYWRpbmcgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycpIHtcbiAgICAgIGNvbnNvbGUud2FybigndWktYnV0dG9uIEJ1dHRvbkNvbXBvbmVudFxcbiAgW2ljb25dIGlzIHJlcXVpcmVkIGZvciBbdHlwZV0gZGVzdHJ1Y3RpdmUnKTtcbiAgICB9XG4gIH1cblxuICBidXR0b25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcmV2ZW50RGVmYXVsdCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICB0aGlzLmJ1dHRvbkNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBidXR0b25Ib3ZlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ21vdXNlZW50ZXInKSB7XG4gICAgICB0aGlzLmhvdmVyID0gdHJ1ZTtcbiAgICAgIHRoaXMuYnV0dG9uSG92ZXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnaG92ZXInO1xuICAgICAgaWYgKHRoaXMuc2hvdWxkQ2hhbmdlRmlsbGVkU3RhdHVzICYmIHRoaXMuaWNvbikge1xuICAgICAgICB0aGlzLmljb24gPSB0aGlzLmdldEljb25OYW1lKHRoaXMuaWNvbk5hbWUgYXMgSWNvbk5hbWUsICctZmlsbGVkJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG92ZXIgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnNob3VsZENoYW5nZUZpbGxlZFN0YXR1cyAmJiB0aGlzLmljb24pIHtcbiAgICAgICAgdGhpcy5pY29uID0gdGhpcy5pY29uTmFtZSBhcyBJY29uTmFtZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgfVxuXG4gIC8vU2hvdyBvciBoaWRlIGxhYmVsXG4gIHNob3dMYWJlbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMubG9hZGluZztcbiAgfVxuXG4gIC8vU2V0IGNzcyBjbGFzcyBhY2NvcmRpbmcgaW5wdXRzXG4gIHNldENzc0NsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmZ1bGxXaWR0aCA/ICdmdWxsLXdpZHRoJyA6ICcnO1xuICAgIGNvbnN0IGhhc0ljb24gPSB0aGlzLmljb25OYW1lID09PSBudWxsID8gJycgOiAnaWNvbic7XG4gICAgY29uc3QganVzdEljb24gPSB0aGlzLmp1c3RJY29uIHx8IHRoaXMudmFyaWFudCA9PT0gJ2ljb24tYnV0dG9uJyA/ICdvbmx5LWljb24nIDogJyc7XG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gdGhpcy5pY29uUG9zaXRpb24gPT09IHVuZGVmaW5lZCA/ICcnIDogdGhpcy5pY29uUG9zaXRpb247XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkICYmIHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknID8gJ3ByaW1hcnktZGlzYWJsZWQnIDogJyc7XG4gICAgY29uc3QgdmFyaWFudCA9IHRoaXMudmFyaWFudCA9PT0gJ2dob3N0JyAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdvdXRsaW5lZCcgOiB0aGlzLnZhcmlhbnQ7XG4gICAgY29uc3QgY29tcGFueUNvbG9yID0gdGhpcy5jb21wYW55Q29sb3IgPyAnaGFzLWNvbXBhbnktY29sb3InIDogJyc7XG4gICAgcmV0dXJuIGAke3RoaXMuc2l6ZX0gJHtpY29uUG9zaXRpb259ICR7dmFyaWFudH0gJHt3aWR0aH0gJHtoYXNJY29ufSAke2p1c3RJY29ufSAke2Rpc2FibGVkfSAke2NvbXBhbnlDb2xvcn0gJHt0aGlzLmFwcGxpY2F0aW9uVGhlbWV9LXRoZW1lYDtcbiAgfVxuXG4gIHNldENzc1N0eWxlKCk6IGFueSB7XG4gICAgdGhpcy5idXR0b25TdGF0ZSA9IHRoaXMuZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogdGhpcy5idXR0b25TdGF0ZTtcbiAgICBjb25zdCBzdHlsZU9iajogYW55ID0ge307XG5cbiAgICBpZiAoKHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQnIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQtaW5saW5lJykgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgKHRoaXMuYnV0dG9uU3RhdGUgPT09ICdob3ZlcicgfHwgdGhpcy5idXR0b25TdGF0ZSA9PT0gJ3ByZXNzZWQnKSkge1xuICAgICAgc3R5bGVPYmpbdGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgPyAnYmFja2dyb3VuZC1jb2xvcicgOiAnY29sb3InXSA9IGFkanVzdExpZ2h0bmVzcyh0aGlzLmdldENvbXBhbnlDb2xvciwgdGhpcy5idXR0b25TdGF0ZSk7XG4gICAgICBpZiAodGhpcy52YXJpYW50ID09PSAndGV4dCcgfHwgdGhpcy52YXJpYW50ID09PSAndGV4dC1pbmxpbmUnKSB7XG4gICAgICAgIHN0eWxlT2JqWyctLWFjdGl2ZS1jb2xvciddID0gdGhpcy5jb21wYW55Q29sb3IgPyBhZGp1c3RMaWdodG5lc3ModGhpcy5nZXRDb21wYW55Q29sb3IsIHRoaXMuYnV0dG9uU3RhdGUpIDogJyM2NjY2NjYnO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoKHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQnIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQtaW5saW5lJykgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgJiYgdGhpcy5idXR0b25TdGF0ZSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICBzdHlsZU9ialt0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyA/ICdiYWNrZ3JvdW5kLWNvbG9yJyA6ICdjb2xvciddID0gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlLCAnY2xhc3NpYycpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5nZXRDb21wYW55Q29sb3IgJiYgKHRoaXMudmFyaWFudCA9PT0gJ2xpbmsnIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RlcnRpYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdpY29uLWJ1dHRvbicpKSB7XG4gICAgICBzdHlsZU9ialsnY29sb3InXSA9IHRoaXMuZ2V0Q29tcGFueUNvbG9yO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNCYWNrZ3JvdW5kKSB7XG4gICAgICBzdHlsZU9ialsnLS1naG9zdC1iYWNrZ3JvdW5kJ10gPSAnI2ZmZmZmZic7XG4gICAgfVxuICAgIHJldHVybiBzdHlsZU9iajtcbiAgfVxuXG4gIC8vU2hvdyBvciBoaWRlIHNwaW5uZXJcbiAgZ2V0IHNob3dTcGlubmVyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzTm90VGFiID0gdGhpcy52YXJpYW50ICE9PSAndGFiJztcbiAgICBjb25zdCBpc05vdExpbmsgPSB0aGlzLnZhcmlhbnQgIT09ICdsaW5rJztcbiAgICBjb25zdCBpc0xvYWRpbmcgPSB0aGlzLmxvYWRpbmcgPT09IHRydWU7XG4gICAgcmV0dXJuIGlzTG9hZGluZyAmJiBpc05vdFRhYiAmJiBpc05vdExpbms7XG4gIH1cblxuICAvL1Nob3cgYnV0dG9uIHdpdGggPGJ1dHRvbj4gb3IgPGE+IHRhZ1xuICBzaG93QnV0dG9uTGluaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYW50ICE9PSAnbGluayc7XG4gIH1cblxuICBzZXRJY29uQnV0dG9uU2l6ZSgpOiBJY29uQnV0dG9uU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2JpZycgPyAnNDAnIDogdGhpcy5zaXplID09PSAnc21hbGwnID8gJzI0JyA6ICczMic7XG4gIH1cblxuICBvblByZXNzZWQoZXY6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2LnR5cGUgPT09ICdtb3VzZWRvd24nKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ3ByZXNzZWQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gdGhpcy5ob3ZlciA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgfVxuXG4gIGZvY3VzKG9yaWdpbj86IEZvY3VzT3JpZ2luKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25FbGVtZW50LmZvY3VzKG9yaWdpbik7XG4gIH1cblxuICBnZXQgZ2V0Q29tcGFueUNvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29tcGFueUNvbG9yIHx8ICgodGhpcy52YXJpYW50ID09PSAndGV4dCcgfHwgdGhpcy52YXJpYW50ID09PSAndGV4dC1pbmxpbmUnKSA/IHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2RhcmsnID8gJyNmZmZmZmYnIDogJyMyNDI0MjQnIDogKHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnID8gJyM0NkE5OTcnIDogJyNENDEwQUEnKSk7XG4gIH1cblxuICBnZXQgc2hvdWxkQ2hhbmdlRmlsbGVkU3RhdHVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiB0aGlzLnZhcmlhbnQgIT09ICdwcmltYXJ5JyAmJiB0aGlzLnZhcmlhbnQgIT09ICdzZWNvbmRhcnknICYmICF0aGlzLmNvbG9yZWRJY29ucy5pbmNsdWRlcyh0aGlzLmljb24pO1xuICB9XG5cbiAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgdGFyZ2V0LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgdGhpcy5idXR0b25TdGF0ZSA9ICdwcmVzc2VkJztcbiAgICAgIHRoaXMuc3R5bGVDc3MgPSB0aGlzLnNldENzc1N0eWxlKCk7XG4gICAgfVxuICB9XG5cbiAgb25LZXl1cChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSB0aGlzLmhvdmVyID8gJ2hvdmVyJyA6ICdkZWZhdWx0JztcbiAgICAgIHRoaXMuc3R5bGVDc3MgPSB0aGlzLnNldENzc1N0eWxlKCk7XG4gICAgfVxuICB9XG5cbiAgb25MYWJlbEVsbGlwc2lzQ2hhbmdlKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbEVsbGlwc2lzID0gc3RhdGU7XG4gIH1cblxuICBnZXRJY29uTmFtZShpY29uTmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZyk6IEljb25OYW1lIHtcbiAgICBpZiAoaWNvbk5hbWUuaW5jbHVkZXMoJ2ZpbGxlZCcpKSB7XG4gICAgICByZXR1cm4gaWNvbk5hbWUucmVwbGFjZSgvZmlsbGVkLywgJ2luLWxpbmUnKSBhcyBJY29uTmFtZTtcbiAgICB9IGVsc2UgaWYgKGljb25OYW1lLmluY2x1ZGVzKCdpbi1saW5lJykpIHtcbiAgICAgIHJldHVybiBpY29uTmFtZS5yZXBsYWNlKC9pbi1saW5lLywgJ2ZpbGxlZCcpIGFzIEljb25OYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKGljb25OYW1lICsgZGVmYXVsdFZhbHVlKSBhcyBJY29uTmFtZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFyaWFMYWJlbGxlZEJ5SWQoKTogdm9pZCB7XG4gICAgY29uc3QgbGFiZWxsZWRCeVZhbHVlID0gdGhpcy52YXJpYW50ID09PSAnbGluaycgPyAnbGFiZWxsZWRieS1saW5rJyA6ICdsYWJlbGxlZGJ5JztcbiAgICB0aGlzLmFyaWFMYWJlbGxlZGJ5SWQgPSBgJHtsYWJlbGxlZEJ5VmFsdWV9LXVpQnV0dG9uLSR7KytCdXR0b25Db21wb25lbnQubmV4dEFyaWFMYWJlbGxlZElkfWA7XG4gIH1cbn1cbiIsIjxkaXYgI3Rvb2x0aXBFbGVtZW50IGNsYXNzPVwidG9vbHRpcFwiXG4gICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuPjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cImJ1dHRvbi13cmFwcGVyXCJcbiAgW25nQ2xhc3NdPVwieyAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aCwgJ3JvdW5kZWQtaWNvbic6IGFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiBpY29uICYmICFsYWJlbCwgbGluazogIWlzQnV0dG9uTGluayB9XCJcbj5cbiAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ2Rpc2FibGVkJzogZGlzYWJsZWQsICdidXR0b24tc2NhbGUnOiBidXR0b25TdGF0ZSA9PT0gJ3ByZXNzZWQnICYmIGFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiAhZGlzYWJsZWRTY2FsZU9uQ2xpY2sgfVwiXG4gID5cbiAgICAgPHNwYW4gKm5nSWY9XCJpc1ByZW1pdW0gJiYgdHlwZUluY2x1ZGVkXCIgY2xhc3M9XCJyaWdodC10b3BcIj5cbiAgICAgPGltZyBbYXR0ci5zcmNdPVwiJy9pbWFnZXMvcHJlbWl1bS5zdmcnXCIgW2FsdF09XCIncHJlbWl1bS1pY29uJ1wiPlxuICAgPC9zcGFuPlxuICAgIDx1aS1iYWRnZVxuICAgICAgaWQ9XCJiYWRnZVwiXG4gICAgICAqbmdJZj1cImJ1dHRvbkJhZGdlQ29uZmlnPy5iYWRnZVR5cGVcIlxuICAgICAgW3JlYnJhbmRDb2xvcl09XCJidXR0b25CYWRnZUNvbmZpZz8ucmVicmFuZENvbG9yID8/ICdicmFuZCdcIlxuICAgICAgW3ZhcmlhbnRdPVwiYnV0dG9uQmFkZ2VDb25maWchLmJhZGdlVHlwZSFcIlxuICAgICAgW2xhYmVsXT1cImJ1dHRvbkJhZGdlQ29uZmlnPy5iYWRnZUxhYmVsID8/ICcnXCJcbiAgICAgIFtub3RpZmljYXRpb25zQW1vdW50XT1cImJ1dHRvbkJhZGdlQ29uZmlnPy5iYWRnZU5vdGlmaWNhdGlvbkFtb3VudCA/PyAwXCJcbiAgICAgIGNsYXNzPVwicmlnaHQtdG9wXCJcbiAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZSA9PT0gJ3ByaW1hcnknID8gJ2JhZGdlLXByaW1hcnknIDogJycsXG4gICAgICAgIGJ1dHRvbkJhZGdlQ29uZmlnPy5iYWRnZVR5cGUgPT09ICdub3RpZmljYXRpb24nID8gJ2JhZGdlLW5vdGlmaWNhdGlvbicgOiAnJyxcbiAgICAgICAgdmFyaWFudFxuICAgICAgXVwiXG4gICAgPjwvdWktYmFkZ2U+XG4gICAgPGJ1dHRvblxuICAgICAgW3N0eWxlXT1cIictLWljb24tYnV0dG9uLXNpemU6JyArIGljb25CdXR0b25TaXplICsgJ3B4J1wiXG4gICAgICBbbmdDbGFzc109XCJjbGFzc0Nzc1wiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZUNzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2VlbnRlcik9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAqbmdJZj1cImlzQnV0dG9uTGlua1wiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlJZFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieSdcIlxuICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgIFtkaXNhYmxlUmlwcGxlXT1cImFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJ1wiXG4gICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwID8gdG9vbHRpcCA6IGxhYmVsRWxsaXBzaXMgPyBsYWJlbCA6ICcnXCJcbiAgICAgIFttYXRUb29sdGlwQ2xhc3NdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiXG4gICAgICAjYnV0dG9uRWxlbWVudFxuICAgICAgW2F0dHIucm9sZV09XCJyb2xlXCJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvbj5cbiAgICAgIDxzcGFuIGlkPVwiZGVzY3JpYmVkYnlcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj5cbiAgICAgICAge3sgKGlzUHJlbWl1bSA/IChsYWJlbCArICcgJyArICgnQlVUVE9OLlBSRU1JVU1fRkVBVFVSRScgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSkgOiBhcmlhRGVzY3JpYmVkYnkpIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBbaWRdPVwiYXJpYUxhYmVsbGVkYnlJZFwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhTGFiZWxsZWRieSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dTcGlubmVyOyBlbHNlIGljb25zXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci13cmFwcGVyXCI+XG4gICAgICAgICAgPG1hdC1zcGlubmVyIGNsYXNzPVwicG9zaXRpb24tc3Bpbm5lclwiIGFyaWEtbGFiZWw9XCJsb2FkaW5nXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBkaWFtZXRlcj1cIjI0XCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2ljb25zPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLW9ubHktd3JhcHBlclwiICpuZ0lmPVwianVzdEljb24gJiYgISFpY29uXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJpY29uIG9ubHlcIlxuICAgICAgICAgIHJvbGU9XCJsYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8dWktaWNvblxuICAgICAgICAgICAgW2NvbG9yXT1cInZhcmlhbnQgPT09ICdnaG9zdC1haScgPyAnYWknIDogJ2luaGVyaXQnXCJcbiAgICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgICAgW25hbWVdPVwiaWNvblwiXG4gICAgICAgICAgICBbZmlsbGVkXT1cImlzRmlsbGVkSWNvbiB8fCBpY29uRmlsbGVkXCJcbiAgICAgICAgICAgIFt1c2VGdWxsSWNvbk5hbWVdPVwidGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnc21hbGwnID8gJzE2JyA6ICcyNCdcIlxuICAgICAgICAgID48L3VpLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tbGFiZWwtd3JhcHBlclwiIFtuZ0NsYXNzXT1cInsnY2VudGVyLXRleHQnOiBpY29uTmFtZSA9PT0gJyd9XCIgKm5nSWY9XCIhanVzdEljb25cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImljb25cIlxuICAgICAgICAgICpuZ0lmPVwiaWNvblBvc2l0aW9uID09PSAnbGVmdCcgJiYgISFpY29uTmFtZVwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1aS1pY29uXG4gICAgICAgICAgICBbY29sb3JdPVwidmFyaWFudCA9PT0gJ2dob3N0LWFpJyA/ICdhaScgOiAnaW5oZXJpdCdcIlxuICAgICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJpY29uXCJcbiAgICAgICAgICAgIFtmaWxsZWRdPVwiaXNGaWxsZWRJY29uIHx8IGljb25GaWxsZWRcIlxuICAgICAgICAgICAgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemUgPT09ICdzbWFsbCcgPyAnMTYnIDogJzI0J1wiXG4gICAgICAgICAgPjwvdWktaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiaXNMYWJlbFwiXG4gICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgaWQ9XCJsYWJlbFwiXG4gICAgICAgICAgdWlFbGxpcHNlVGV4dFxuICAgICAgICAgIFtpc011bHRpbGluZV09XCJ0cnVlXCJcbiAgICAgICAgICAob25DaGFuZ2VUZXh0U3RhdGUpPVwib25MYWJlbEVsbGlwc2lzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb25cIiAqbmdJZj1cImljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiAhIWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dWktaWNvblxuICAgICAgICAgIFtjb2xvcl09XCJ2YXJpYW50ID09PSAnZ2hvc3QtYWknID8gJ2FpJyA6ICdpbmhlcml0J1wiXG4gICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgW25hbWVdPVwiaWNvblwiXG4gICAgICAgICAgW2ZpbGxlZF09XCJpc0ZpbGxlZEljb24gfHwgaWNvbkZpbGxlZFwiXG4gICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ3NtYWxsJyA/ICcxNicgOiAnMjQnXCJcbiAgICAgICAgICBbdXNlRnVsbEljb25OYW1lXT1cInRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3NlY29uZGFyeSdcIj48L3VpLWljb24+PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2J1dHRvbj5cbiAgICA8YVxuICAgICAgI2J1dHRvbkVsZW1lbnRcbiAgICAgIFtuZ0NsYXNzXT1cImNsYXNzQ3NzXCJcbiAgICAgIFtuZ1N0eWxlXT1cInN0eWxlQ3NzXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAobW91c2VlbnRlcik9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWxlYXZlKT1cImJ1dHRvbkhvdmVyKCRldmVudClcIlxuICAgICAgKG1vdXNlZG93bik9XCJvblByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAobW91c2V1cCk9XCJvblByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KTtcIlxuICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcbiAgICAgICpuZ0lmPVwiIWlzQnV0dG9uTGlua1wiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlJZFwiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieS1saW5rJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIHJvbGU9XCJsaW5rXCJcbiAgICAgIFtocmVmXT1cInVybFwiXG4gICAgICBbdGFyZ2V0XT1cInVybFRhcmdldFwiXG4gICAgICBtYXQtZmxhdC1idXR0b24+XG4gICAgICA8c3BhbiBpZD1cImRlc2NyaWJlZGJ5LWxpbmtcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj5cbiAgICAgICAge3sgYXJpYURlc2NyaWJlZGJ5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBbaWRdPVwiYXJpYUxhYmVsbGVkYnlJZFwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhTGFiZWxsZWRieSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=