ids-enterprise-wc 1.15.9-patch.10 → 1.15.9-patch.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/chunks/{ids-chunk-UD2BRVFR-full.js → ids-chunk-5GV6Y3WM-full.js} +2 -2
  2. package/chunks/{ids-chunk-4MSGTAOV-full.js → ids-chunk-5XYPHVID-full.js} +1 -1
  3. package/chunks/{ids-chunk-4MSGTAOV-full.js.map → ids-chunk-5XYPHVID-full.js.map} +2 -2
  4. package/chunks/{ids-chunk-HR4HAGMR-full.js → ids-chunk-A5IOTIO6-full.js} +163 -11
  5. package/chunks/ids-chunk-A5IOTIO6-full.js.map +7 -0
  6. package/chunks/{ids-chunk-SPEJ6VZH-full.js → ids-chunk-EGZI5ZV3-full.js} +9 -2
  7. package/chunks/ids-chunk-EGZI5ZV3-full.js.map +7 -0
  8. package/chunks/{ids-chunk-7NHSNXHZ-full.js → ids-chunk-FV5W3K6S-full.js} +2 -2
  9. package/components/ids-accordion/ids-accordion.css +9 -93
  10. package/components/ids-app-menu/ids-app-menu.css +132 -23
  11. package/components/ids-button/ids-button.css +43 -392
  12. package/components/ids-calendar/ids-calendar.css +265 -190
  13. package/components/ids-checkbox/ids-checkbox.css +580 -7
  14. package/components/ids-data-grid/ids-data-grid-cell.js +1 -1
  15. package/components/ids-data-grid/ids-data-grid-column.d.ts +2 -0
  16. package/components/ids-data-grid/ids-data-grid-column.js +1 -1
  17. package/components/ids-data-grid/ids-data-grid-filters.js +2 -2
  18. package/components/ids-data-grid/ids-data-grid-row.js +2 -2
  19. package/components/ids-data-grid/ids-data-grid.css +54 -1
  20. package/components/ids-data-grid/ids-data-grid.d.ts +18 -0
  21. package/components/ids-data-grid/ids-data-grid.js +5 -5
  22. package/components/ids-menu/ids-menu.css +17 -11
  23. package/components/ids-module-nav/ids-module-nav.css +276 -29
  24. package/components/ids-pager/ids-pager.css +25 -28
  25. package/components/ids-swappable/ids-swappable.css +19 -84
  26. package/components/ids-time-picker/ids-time-picker.css +67 -49
  27. package/components/ids-trigger-field/ids-trigger-field.css +1681 -1165
  28. package/custom-elements.json +1920 -1846
  29. package/enterprise-wc.all.iife.js +166 -7
  30. package/enterprise-wc.all.iife.js.map +2 -2
  31. package/enterprise-wc.js +5 -5
  32. package/package.json +1 -1
  33. package/vscode.html-custom-data.json +1 -1
  34. package/chunks/ids-chunk-HR4HAGMR-full.js.map +0 -7
  35. package/chunks/ids-chunk-SPEJ6VZH-full.js.map +0 -7
  36. /package/chunks/{ids-chunk-UD2BRVFR-full.js.map → ids-chunk-5GV6Y3WM-full.js.map} +0 -0
  37. /package/chunks/{ids-chunk-7NHSNXHZ-full.js.map → ids-chunk-FV5W3K6S-full.js.map} +0 -0
@@ -1,1415 +1,1931 @@
1
- @charset "UTF-8";
2
1
  /**
3
- * Css for clearable mixin
2
+ * Ids Button Component CSS
3
+ * (Includes standard and icon button rules)
4
4
  */
5
- .ids-input .ids-input-field .btn-clear,
6
- .ids-input .ids-textarea-field .btn-clear,
7
- .ids-textarea .ids-input-field .btn-clear,
8
- .ids-textarea .ids-textarea-field .btn-clear {
9
- outline: 0;
10
- }
11
- .ids-input .ids-input-field .btn-clear.is-empty,
12
- .ids-input .ids-textarea-field .btn-clear.is-empty,
13
- .ids-textarea .ids-input-field .btn-clear.is-empty,
14
- .ids-textarea .ids-textarea-field .btn-clear.is-empty {
15
- display: none;
16
- }
17
- .ids-input .ids-input-field .btn-clear [slot=icon],
18
- .ids-input .ids-textarea-field .btn-clear [slot=icon],
19
- .ids-textarea .ids-input-field .btn-clear [slot=icon],
20
- .ids-textarea .ids-textarea-field .btn-clear [slot=icon] {
21
- margin-inline-start: 0;
22
- color: inherit;
5
+ /**
6
+ * Ids Button Sass mixins, used in Ids Button CSS to define base styles.
7
+ */
8
+ /**
9
+ * Provides standardized padding rules for certain button types
10
+ */
11
+ /**
12
+ * Provides the standard color rules for all regular buttons
13
+ */
14
+ /**
15
+ * Provides the standard color rules for buttons that need box shadow
16
+ */
17
+ :root {
18
+ display: inline-flex;
19
+ vertical-align: middle;
23
20
  }
24
- .ids-input.has-clearable .btn-clear.is-empty,
25
- .ids-textarea.has-clearable .btn-clear.is-empty {
26
- display: none;
27
- pointer-events: none;
21
+ :host ::slotted(span) {
22
+ vertical-align: bottom;
28
23
  }
29
-
30
- .ids-trigger-field .ids-input-field.has-clearable {
31
- padding-inline-end: 55px;
24
+ :host ::slotted(span),
25
+ :host ::slotted(ids-text) {
26
+ color: currentColor;
27
+ align-self: center;
32
28
  }
33
- .ids-trigger-field .ids-input-field.has-clearable ~ .btn-clear {
34
- margin-top: 0;
35
- right: -8px;
29
+ :host ::slotted(ids-icon) {
30
+ vertical-align: middle;
31
+ color: currentColor;
36
32
  }
37
-
38
- .btn-clear[part=clearable-button] [slot=icon] {
39
- padding: 2px;
33
+ :host ::slotted(ids-icon[compact=true]) {
34
+ margin-inline-end: var(--ids-space-2xs);
40
35
  }
41
-
42
- .icon-dirty {
43
- --ids-icon-height-default: 12px !important;
44
- --ids-icon-width-default: 12px !important;
36
+ :host ::slotted(span.audible) {
37
+ clip: rect(0, 0, 0, 0);
38
+ height: 0;
39
+ line-height: 0;
40
+ min-height: 0;
41
+ overflow: hidden;
42
+ padding: 0;
45
43
  position: absolute;
46
- color: var(--ids-input-dirty-indicator-color-background-dirty);
47
- top: 0;
48
- }
49
- .icon-dirty[dir=rtl] {
50
- transform: rotate(90deg);
51
- top: 0;
44
+ width: 1px;
52
45
  }
53
-
54
- .ids-color-picker .icon-dirty {
55
- margin-inline-start: 35px;
46
+ :host button,
47
+ :host .ids-icon-button {
48
+ justify-content: center;
49
+ height: 100%;
50
+ width: 100%;
56
51
  }
57
52
 
58
- .ids-color-picker.compact .icon-dirty {
59
- margin-inline-start: 27px;
53
+ :host(.hidden) {
54
+ display: none;
60
55
  }
61
56
 
62
- .ids-textarea .icon-dirty {
63
- top: 1px;
64
- margin-inline-start: 1px;
65
- }
66
- .ids-textarea .icon-dirty[dir=rtl] {
67
- top: 2px;
57
+ :host([system-button]) button:not(.is-active):hover {
58
+ background-color: var(--ids-color-transparent);
59
+ border-color: var(--ids-color-transparent);
60
+ color: var(--ids-button-system-color-text-hover);
68
61
  }
69
62
 
70
- .label-state-hidden .ids-label-text.empty::before {
71
- content: " ";
63
+ :host([hidden]) {
64
+ display: none;
72
65
  }
73
66
 
74
- .label-state-collapsed .ids-label-text {
75
- display: none;
67
+ button {
68
+ display: block;
76
69
  }
77
70
 
78
- .validation-message {
71
+ .ids-button,
72
+ .ids-toggle-button,
73
+ .ids-menu-button:not(.ids-icon-button),
74
+ .ids-modal-button {
79
75
  -webkit-font-smoothing: antialiased;
80
76
  -moz-osx-font-smoothing: grayscale;
81
- display: flex;
82
- font-family: var(--ids-font-family-default), var(--ids-font-family-system-sans);
83
- margin-top: var(--ids-space-2xs);
84
- max-width: var(--ids-input-width-full);
85
77
  }
86
- .validation-message.has-custom-icon {
87
- color: var(--ids-icon-color-default);
88
- }
89
- .validation-message.disabled {
90
- color: var(--ids-input-color-text-disabled);
91
- }
92
- .validation-message .ids-icon {
93
- margin-inline-end: var(--ids-space-2xs);
78
+ .ids-button .ids-icon,
79
+ .ids-toggle-button .ids-icon,
80
+ .ids-menu-button:not(.ids-icon-button) .ids-icon,
81
+ .ids-modal-button .ids-icon {
82
+ display: inline-flex;
83
+ place-self: center;
84
+ vertical-align: middle;
94
85
  }
95
- .validation-message.alert {
96
- color: var(--ids-color-caution-default);
97
- }
98
- .validation-message.alert.disabled {
99
- color: var(--ids-color-yellow-30);
100
- }
101
- .validation-message.warning {
102
- color: var(--ids-color-warning-default);
103
- }
104
- .validation-message.warning.disabled {
105
- color: var(--ids-color-orange-30);
106
- }
107
- .validation-message.error {
108
- color: var(--ids-color-error-default);
86
+
87
+ .ids-button.compact,
88
+ .ids-icon-button.compact {
89
+ font-size: var(--ids-font-size-2xs);
90
+ height: var(--ids-button-compact-width);
91
+ line-height: 16px;
109
92
  }
110
- .validation-message.error.disabled {
111
- color: var(--ids-color-red-30);
93
+
94
+ .ids-button.ellipsis ::slotted(span),
95
+ .ids-modal-button.ellipsis ::slotted(span) {
96
+ display: block;
97
+ max-width: 100%;
98
+ overflow: hidden;
99
+ text-overflow: ellipsis;
100
+ white-space: nowrap;
101
+ width: inherit;
102
+ height: inherit;
112
103
  }
113
- .validation-message.info {
114
- color: var(--ids-color-info-default);
104
+
105
+ .ids-button,
106
+ .ids-toggle-button,
107
+ .ids-menu-button {
108
+ box-shadow: var(--ids-shadow-none);
109
+ font-weight: var(--ids-font-weight-normal);
110
+ font-family: var(--ids-font-family-default), var(--ids-font-family-system-sans);
111
+ font-size: var(--ids-font-size-sm);
112
+ overflow: hidden;
113
+ padding-bottom: calc(var(--ids-space-xs) - 2px);
114
+ padding-top: calc(var(--ids-space-xs) - 2px);
115
+ position: relative;
115
116
  }
116
- .validation-message.info.disabled {
117
- color: var(--ids-color-blue-30);
117
+ .ids-button, .ids-button::before, .ids-button::after,
118
+ .ids-toggle-button,
119
+ .ids-toggle-button::before,
120
+ .ids-toggle-button::after,
121
+ .ids-menu-button,
122
+ .ids-menu-button::before,
123
+ .ids-menu-button::after {
124
+ box-sizing: border-box;
118
125
  }
119
- .validation-message.success {
120
- color: var(--ids-color-success-default);
126
+ .ids-button *,
127
+ .ids-toggle-button *,
128
+ .ids-menu-button * {
129
+ pointer-events: none;
121
130
  }
122
- .validation-message.success.disabled {
123
- color: var(--ids-color-green-30);
131
+ .ids-button,
132
+ .ids-toggle-button,
133
+ .ids-menu-button {
134
+ border: 1px solid transparent;
135
+ background-color: var(--ids-color-transparent);
136
+ color: var(--ids-button-color-text-default);
137
+ transition: background-color var(--ids-motion-duration) var(--ids-motion-ease), border-color var(--ids-motion-duration) var(--ids-motion-ease), color var(--ids-motion-duration) var(--ids-motion-ease), opacity var(--ids-motion-duration) var(--ids-motion-ease);
138
+ white-space: nowrap;
124
139
  }
125
- .validation-message[hidden] {
126
- display: none;
140
+ .ids-button:focus,
141
+ .ids-toggle-button:focus,
142
+ .ids-menu-button:focus {
143
+ outline: none;
144
+ outline-color: var(--ids-color-transparent);
127
145
  }
128
-
129
- :host([label-position=inline-start]) .ids-input,
130
- :host([label-position=inline-start]) .ids-textarea {
131
- display: flex;
132
- flex-wrap: wrap;
133
- align-items: var(--ids-label-align-y, baseline);
134
- }
135
- :host([label-position=inline-start]) .ids-input label,
136
- :host([label-position=inline-start]) .ids-textarea label {
137
- width: var(--ids-label-width);
138
- padding-block: var(--ids-label-padding-block);
139
- padding-inline-end: var(--ids-label-padding-inline-end);
140
- box-sizing: border-box;
146
+ .ids-button:not([disabled]),
147
+ .ids-toggle-button:not([disabled]),
148
+ .ids-menu-button:not([disabled]) {
149
+ cursor: var(--ids-cursor-pointer);
141
150
  }
142
- :host([label-position=inline-start]) .ids-input .validation-message,
143
- :host([label-position=inline-start]) .ids-textarea .validation-message {
144
- width: 100%;
145
- margin-inline-start: calc(var(--ids-label-width) - 2px);
146
- margin-block-start: var(--ids-space-2xs);
151
+ .ids-button span,
152
+ .ids-toggle-button span,
153
+ .ids-menu-button span {
154
+ vertical-align: bottom;
147
155
  }
148
-
149
- :host([label-position=inline-start]) {
150
- --ids-label-width: var(--ids-label-width-inline-start);
156
+ .ids-button span.audible,
157
+ .ids-toggle-button span.audible,
158
+ .ids-menu-button span.audible {
159
+ clip: rect(0, 0, 0, 0);
160
+ height: 0;
161
+ line-height: 0;
162
+ min-height: 0;
163
+ overflow: hidden;
164
+ padding: 0;
165
+ position: absolute;
166
+ width: 1px;
151
167
  }
152
-
153
- @media (min-width: 600px) {
154
- :host([label-position=inline-start]) .ids-textarea {
155
- max-width: calc(362px + var(--ids-label-width));
156
- }
157
- :host([label-position=inline-start]) .ids-textarea .textarea-field {
158
- width: calc(362px + var(--ids-label-width));
159
- }
168
+ .ids-button:not(.color-variant-module-nav):not(.ids-icon-button):not(.align-icon-end):not(.compact) ::slotted(ids-icon:not([icon=genai])),
169
+ .ids-toggle-button:not(.color-variant-module-nav):not(.ids-icon-button):not(.align-icon-end):not(.compact) ::slotted(ids-icon:not([icon=genai])),
170
+ .ids-menu-button:not(.color-variant-module-nav):not(.ids-icon-button):not(.align-icon-end):not(.compact) ::slotted(ids-icon:not([icon=genai])) {
171
+ margin-inline-end: calc(var(--ids-space-2xs) + 3px);
160
172
  }
161
- @media (min-width: 600px) {
162
- :host([label-position=inline-start]) .ids-filter-field {
163
- display: flex;
164
- flex-wrap: wrap;
165
- align-items: var(--ids-label-align-y, baseline);
166
- }
167
- :host([label-position=inline-start]) .ids-filter-field label {
168
- width: var(--ids-label-width);
169
- padding-block: var(--ids-label-padding-block);
170
- padding-inline-end: var(--ids-label-padding-inline-end);
171
- box-sizing: border-box;
172
- }
173
- :host([label-position=inline-start]) .ids-filter-field #operator-button {
174
- position: relative;
175
- inset-inline-start: var(--ids-label-width);
176
- }
177
- :host([label-position=inline-start]) .ids-filter-field .validation-message {
178
- width: 100%;
179
- margin-inline-start: calc(var(--ids-label-width) - 2px);
180
- margin-block-start: var(--ids-space-2xs);
181
- }
173
+ .ids-button .ids-icon,
174
+ .ids-toggle-button .ids-icon,
175
+ .ids-menu-button .ids-icon {
176
+ vertical-align: middle;
182
177
  }
183
- @media (min-width: 600px) {
184
- :host([label-position=inline-start]) .ids-checkbox {
185
- display: flex;
186
- flex-wrap: wrap;
187
- align-items: var(--ids-label-align-y, baseline);
188
- }
189
- :host([label-position=inline-start]) .ids-checkbox label {
190
- --ids-checkbox-padding-inline-start: 0;
191
- width: var(--ids-label-width);
192
- padding-block: var(--ids-label-padding-block);
193
- padding-inline-end: var(--ids-label-padding-inline-end);
194
- box-sizing: border-box;
195
- }
196
- :host([label-position=inline-start]) .ids-checkbox .field-container {
197
- flex: 1;
198
- }
199
- :host([label-position=inline-start]) .ids-checkbox .validation-message {
200
- width: 100%;
201
- margin-inline-start: calc(var(--ids-label-width) - 3px);
202
- margin-block-start: 3px;
203
- }
204
- :host([label-position=inline-start]) .ids-checkbox input[type=checkbox] ~ .checkmark {
205
- left: unset;
206
- right: -15px;
207
- }
208
- :host([label-position=inline-start]) .ids-checkbox label.required .label-checkbox::after {
209
- right: 30px;
210
- }
211
- :host([label-position=inline-start][dir=rtl]) .ids-checkbox input[type=checkbox] ~ .checkmark {
212
- left: -16px;
213
- right: initial;
214
- }
215
- :host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message {
216
- margin-inline-start: calc(var(--ids-label-width) - 4px);
217
- margin-block-start: 0;
218
- }
178
+ .ids-button.align-icon-end ::slotted(ids-icon),
179
+ .ids-toggle-button.align-icon-end ::slotted(ids-icon),
180
+ .ids-menu-button.align-icon-end ::slotted(ids-icon) {
181
+ margin-inline-start: var(--ids-space-2xs);
219
182
  }
220
- @media (min-width: 600px) {
221
- :host([label-position=inline-start]) .ids-radio {
222
- display: flex;
223
- flex-wrap: wrap;
224
- align-items: var(--ids-label-align-y, baseline);
225
- }
226
- :host([label-position=inline-start]) .ids-radio label {
227
- width: var(--ids-label-width);
228
- padding-block: var(--ids-label-padding-block);
229
- padding-inline-end: var(--ids-label-padding-inline-end);
230
- padding-inline-start: 0;
231
- box-sizing: border-box;
232
- }
233
- :host([label-position=inline-start]) .ids-radio input[type=radio] ~ .circle {
234
- left: unset;
235
- right: -15px;
236
- }
237
- :host([label-position=inline-start]) .ids-radio label.required .label-text::after {
238
- right: 30px;
239
- }
240
- :host([label-position=inline-start][dir=rtl]) .ids-radio input[type=radio] ~ .circle {
241
- left: -16px;
242
- right: initial;
183
+ .ids-button.content-align-start,
184
+ .ids-toggle-button.content-align-start,
185
+ .ids-menu-button.content-align-start {
186
+ justify-content: start;
187
+ }
188
+ .ids-button.content-align-end,
189
+ .ids-toggle-button.content-align-end,
190
+ .ids-menu-button.content-align-end {
191
+ justify-content: end;
192
+ }
193
+ .ids-button.no-margins,
194
+ .ids-toggle-button.no-margins,
195
+ .ids-menu-button.no-margins {
196
+ margin-inline: var(--ids-space-none);
197
+ }
198
+ .ids-button.field-height-xxs:not(.btn-secondary):not(.no-margins),
199
+ .ids-toggle-button.field-height-xxs:not(.btn-secondary):not(.no-margins),
200
+ .ids-menu-button.field-height-xxs:not(.btn-secondary):not(.no-margins) {
201
+ margin-block-start: 3px;
202
+ margin-inline-end: -2px;
203
+ height: 22px;
204
+ width: 22px;
205
+ }
206
+ .ids-button ::slotted(span),
207
+ .ids-toggle-button ::slotted(span),
208
+ .ids-menu-button ::slotted(span) {
209
+ font-weight: inherit !important;
210
+ }
211
+ .ids-button,
212
+ .ids-toggle-button,
213
+ .ids-menu-button {
214
+ display: inline-flex;
215
+ font-weight: var(--ids-button-tertiary-font-weight);
216
+ border-radius: var(--ids-button-radius);
217
+ background-color: var(--ids-button-tertiary-color-background-default);
218
+ border-color: var(--ids-button-tertiary-color-border-default);
219
+ color: var(--ids-button-tertiary-color-text-default);
220
+ }
221
+ .ids-button:not(.hide-focus).is-active:not([readonly]), .ids-button:not(.hide-focus).is-focused:not([readonly]), .ids-button:not(.hide-focus):focus:not([readonly]), .ids-button:not(.hide-focus):focus-within:not([readonly]),
222
+ .ids-toggle-button:not(.hide-focus).is-active:not([readonly]),
223
+ .ids-toggle-button:not(.hide-focus).is-focused:not([readonly]),
224
+ .ids-toggle-button:not(.hide-focus):focus:not([readonly]),
225
+ .ids-toggle-button:not(.hide-focus):focus-within:not([readonly]),
226
+ .ids-menu-button:not(.hide-focus).is-active:not([readonly]),
227
+ .ids-menu-button:not(.hide-focus).is-focused:not([readonly]),
228
+ .ids-menu-button:not(.hide-focus):focus:not([readonly]),
229
+ .ids-menu-button:not(.hide-focus):focus-within:not([readonly]) {
230
+ border-color: var(--ids-button-tertiary-color-border-focus);
231
+ }
232
+ .ids-button:hover,
233
+ .ids-toggle-button:hover,
234
+ .ids-menu-button:hover {
235
+ color: var(--ids-button-tertiary-color-text-hover);
236
+ background-color: var(--ids-button-tertiary-color-background-hover);
237
+ border-color: var(--ids-button-tertiary-color-border-hover);
238
+ }
239
+ .ids-button[disabled],
240
+ .ids-toggle-button[disabled],
241
+ .ids-menu-button[disabled] {
242
+ color: var(--ids-button-tertiary-color-text-disabled);
243
+ background-color: var(--ids-button-tertiary-color-background-disabled);
244
+ border-color: var(--ids-button-tertiary-color-border-disabled);
245
+ opacity: var(--ids-button-tertiary-opacity-disabled);
246
+ }
247
+ .ids-button:active:not([disabled]),
248
+ .ids-toggle-button:active:not([disabled]),
249
+ .ids-menu-button:active:not([disabled]) {
250
+ background-color: var(--ids-button-tertiary-color-background-pressed);
251
+ border-color: var(--ids-button-tertiary-color-border-pressed);
252
+ color: var(--ids-button-tertiary-color-text-pressed);
253
+ }
254
+ .ids-button.btn-tertiary-destructive,
255
+ .ids-toggle-button.btn-tertiary-destructive,
256
+ .ids-menu-button.btn-tertiary-destructive {
257
+ background-color: var(--ids-button-destructive-tertiary-color-background-default);
258
+ border-color: var(--ids-button-destructive-tertiary-color-border-default);
259
+ color: var(--ids-button-destructive-tertiary-color-text-default);
260
+ }
261
+ .ids-button.btn-tertiary-destructive:not(.hide-focus).is-active, .ids-button.btn-tertiary-destructive:not(.hide-focus).is-focused, .ids-button.btn-tertiary-destructive:not(.hide-focus).focus-within, .ids-button.btn-tertiary-destructive:not(.hide-focus):focus,
262
+ .ids-toggle-button.btn-tertiary-destructive:not(.hide-focus).is-active,
263
+ .ids-toggle-button.btn-tertiary-destructive:not(.hide-focus).is-focused,
264
+ .ids-toggle-button.btn-tertiary-destructive:not(.hide-focus).focus-within,
265
+ .ids-toggle-button.btn-tertiary-destructive:not(.hide-focus):focus,
266
+ .ids-menu-button.btn-tertiary-destructive:not(.hide-focus).is-active,
267
+ .ids-menu-button.btn-tertiary-destructive:not(.hide-focus).is-focused,
268
+ .ids-menu-button.btn-tertiary-destructive:not(.hide-focus).focus-within,
269
+ .ids-menu-button.btn-tertiary-destructive:not(.hide-focus):focus {
270
+ border-color: var(--ids-button-destructive-tertiary-color-border-focus);
271
+ }
272
+ .ids-button.btn-tertiary-destructive:hover,
273
+ .ids-toggle-button.btn-tertiary-destructive:hover,
274
+ .ids-menu-button.btn-tertiary-destructive:hover {
275
+ background-color: var(--ids-button-destructive-tertiary-color-background-hover);
276
+ border-color: var(--ids-button-destructive-tertiary-color-border-hover);
277
+ color: var(--ids-button-destructive-tertiary-color-text-hover);
278
+ }
279
+ .ids-button.btn-tertiary-destructive[disabled],
280
+ .ids-toggle-button.btn-tertiary-destructive[disabled],
281
+ .ids-menu-button.btn-tertiary-destructive[disabled] {
282
+ color: var(--ids-button-destructive-tertiary-color-text-disabled);
283
+ background-color: var(--ids-button-destructive-tertiary-color-background-disabled);
284
+ border-color: var(--ids-button-destructive-tertiary-color-border-disabled);
285
+ }
286
+ .ids-button.btn-primary,
287
+ .ids-toggle-button.btn-primary,
288
+ .ids-menu-button.btn-primary {
289
+ background-color: var(--ids-button-primary-color-background-default);
290
+ border-color: var(--ids-button-primary-color-border-default);
291
+ border: 1px solid var(--ids-button-primary-color-border-default);
292
+ color: var(--ids-button-primary-color-text-default);
293
+ padding-bottom: calc(var(--ids-space-xs) - 2px);
294
+ padding-top: calc(var(--ids-space-xs) - 2px);
295
+ }
296
+ .ids-button.btn-primary:not(.hide-focus).is-active, .ids-button.btn-primary:not(.hide-focus).is-focused, .ids-button.btn-primary:not(.hide-focus).focus-within, .ids-button.btn-primary:not(.hide-focus):focus,
297
+ .ids-toggle-button.btn-primary:not(.hide-focus).is-active,
298
+ .ids-toggle-button.btn-primary:not(.hide-focus).is-focused,
299
+ .ids-toggle-button.btn-primary:not(.hide-focus).focus-within,
300
+ .ids-toggle-button.btn-primary:not(.hide-focus):focus,
301
+ .ids-menu-button.btn-primary:not(.hide-focus).is-active,
302
+ .ids-menu-button.btn-primary:not(.hide-focus).is-focused,
303
+ .ids-menu-button.btn-primary:not(.hide-focus).focus-within,
304
+ .ids-menu-button.btn-primary:not(.hide-focus):focus {
305
+ border-color: var(--ids-button-primary-color-border-focus);
306
+ }
307
+ .ids-button.btn-primary:hover,
308
+ .ids-toggle-button.btn-primary:hover,
309
+ .ids-menu-button.btn-primary:hover {
310
+ background-color: var(--ids-button-primary-color-background-hover);
311
+ border-color: var(--ids-button-primary-color-border-hover);
312
+ }
313
+ .ids-button.btn-primary[disabled],
314
+ .ids-toggle-button.btn-primary[disabled],
315
+ .ids-menu-button.btn-primary[disabled] {
316
+ background-color: var(--ids-button-primary-color-background-disabled);
317
+ border-color: var(--ids-button-primary-color-border-disabled);
318
+ color: var(--ids-button-primary-color-text-disabled);
319
+ opacity: var(--ids-button-primary-opacity-disabled);
320
+ }
321
+ .ids-button.btn-primary:active:not([disabled]),
322
+ .ids-toggle-button.btn-primary:active:not([disabled]),
323
+ .ids-menu-button.btn-primary:active:not([disabled]) {
324
+ background-color: var(--ids-button-primary-color-background-pressed);
325
+ border-color: var(--ids-button-primary-color-border-pressed);
326
+ color: var(--ids-button-primary-color-text-pressed);
327
+ }
328
+ .ids-button.btn-primary-destructive,
329
+ .ids-toggle-button.btn-primary-destructive,
330
+ .ids-menu-button.btn-primary-destructive {
331
+ background-color: var(--ids-button-destructive-color-background-default);
332
+ border-color: var(--ids-button-destructive-color-border-default);
333
+ color: var(--ids-button-destructive-color-text-default);
334
+ }
335
+ .ids-button.btn-primary-destructive:not(.hide-focus).is-active, .ids-button.btn-primary-destructive:not(.hide-focus).is-focused, .ids-button.btn-primary-destructive:not(.hide-focus).focus-within, .ids-button.btn-primary-destructive:not(.hide-focus):focus,
336
+ .ids-toggle-button.btn-primary-destructive:not(.hide-focus).is-active,
337
+ .ids-toggle-button.btn-primary-destructive:not(.hide-focus).is-focused,
338
+ .ids-toggle-button.btn-primary-destructive:not(.hide-focus).focus-within,
339
+ .ids-toggle-button.btn-primary-destructive:not(.hide-focus):focus,
340
+ .ids-menu-button.btn-primary-destructive:not(.hide-focus).is-active,
341
+ .ids-menu-button.btn-primary-destructive:not(.hide-focus).is-focused,
342
+ .ids-menu-button.btn-primary-destructive:not(.hide-focus).focus-within,
343
+ .ids-menu-button.btn-primary-destructive:not(.hide-focus):focus {
344
+ border-color: var(--ids-button-destructive-color-border-focus);
345
+ }
346
+ .ids-button.btn-primary-destructive:hover,
347
+ .ids-toggle-button.btn-primary-destructive:hover,
348
+ .ids-menu-button.btn-primary-destructive:hover {
349
+ background-color: var(--ids-button-destructive-color-background-hover);
350
+ border-color: var(--ids-button-destructive-color-border-hover);
351
+ color: var(--ids-button-destructive-color-text-hover);
352
+ }
353
+ .ids-button.btn-primary-destructive[disabled],
354
+ .ids-toggle-button.btn-primary-destructive[disabled],
355
+ .ids-menu-button.btn-primary-destructive[disabled] {
356
+ background-color: var(--ids-button-destructive-color-background-disabled);
357
+ border-color: var(--ids-button-destructive-color-border-disabled);
358
+ color: var(--ids-button-destructive-color-text-disabled);
359
+ opacity: var(--ids-button-destructive-opacity-disabled);
360
+ }
361
+ @keyframes dot-flashing {
362
+ 0% {
363
+ background-color: var(--ids-button-ai-color-loading-dot-primary-step-1);
243
364
  }
244
- :host([label-position=inline-start]) .ids-radio-group .group-label-text {
245
- margin-inline-start: -2px;
365
+ 50%, 100% {
366
+ background-color: var(--ids-button-ai-color-loading-dot-primary-step-2);
246
367
  }
247
368
  }
248
- @media (min-width: 600px) {
249
- :host([label-position=inline-start]) .ids-switch {
250
- display: flex;
251
- flex-wrap: wrap;
252
- align-items: var(--ids-label-align-y, baseline);
369
+ @keyframes dot-flashing-colors-secondary {
370
+ 0% {
371
+ background-color: var(--ids-button-ai-color-loading-dot-secondary-step-1);
253
372
  }
254
- :host([label-position=inline-start]) .ids-switch label {
255
- width: var(--ids-label-width);
256
- padding-block: var(--ids-label-padding-block);
257
- padding-inline-end: var(--ids-label-padding-inline-end);
258
- padding-inline-start: 0;
259
- box-sizing: border-box;
260
- }
261
- :host([label-position=inline-start]) .ids-switch input[type=checkbox] ~ .slider {
262
- left: unset;
263
- right: -45px;
264
- }
265
- :host([label-position=inline-start][dir=rtl]) .ids-switch input[type=checkbox] ~ .slider {
266
- left: 45px;
267
- right: initial;
373
+ 50%, 100% {
374
+ background-color: var(--ids-button-ai-color-loading-dot-secondary-step-2);
268
375
  }
269
376
  }
270
- @media (min-width: 600px) {
271
- :host([label-position=inline-start]) .ids-data-label {
272
- display: flex;
273
- flex-direction: row;
274
- align-items: var(--ids-label-align-y, baseline);
275
- }
276
- :host([label-position=inline-start]) .ids-data-label .label {
277
- width: var(--ids-label-width);
278
- padding-block: var(--ids-label-padding-block);
279
- padding-inline-end: var(--ids-label-padding-inline-end);
280
- box-sizing: border-box;
281
- margin-block-end: 0;
282
- white-space: nowrap;
377
+ @keyframes dot-flashing-colors-tertiary {
378
+ 0% {
379
+ background-color: var(--ids-button-ai-color-loading-dot-tertiary-step-1);
283
380
  }
284
- :host([label-position=inline-start]) .ids-data-label .data,
285
- :host([label-position=inline-start]) .ids-data-label .description {
286
- display: flex;
287
- padding-block: var(--ids-label-padding-block);
381
+ 50%, 100% {
382
+ background-color: var(--ids-button-ai-color-loading-dot-tertiary-step-2);
288
383
  }
289
384
  }
290
- @media (max-width: 600px) {
291
- :host([label-position=inline-start]) .ids-input,
292
- :host([label-position=inline-start]) .ids-textarea,
293
- :host([label-position=inline-start]) .ids-filter-field {
294
- display: block;
295
- flex-direction: column;
296
- }
297
- :host([label-position=inline-start]) .ids-input label,
298
- :host([label-position=inline-start]) .ids-textarea label,
299
- :host([label-position=inline-start]) .ids-filter-field label {
300
- width: auto;
301
- text-align: start;
302
- padding-inline: 0;
303
- }
304
- :host([label-position=inline-start]) .ids-input .validation-message,
305
- :host([label-position=inline-start]) .ids-textarea .validation-message,
306
- :host([label-position=inline-start]) .ids-filter-field .validation-message {
307
- margin-inline-start: 0;
308
- }
385
+ .ids-button .loading-dots-start,
386
+ .ids-toggle-button .loading-dots-start,
387
+ .ids-menu-button .loading-dots-start {
388
+ padding-inline-start: 3px !important;
389
+ padding-inline-end: 7px !important;
390
+ gap: 2px;
309
391
  }
310
- :host .ids-input label,
311
- :host .ids-input .label,
312
- :host .ids-textarea label,
313
- :host .ids-textarea .label,
314
- :host .ids-checkbox label,
315
- :host .ids-checkbox .label,
316
- :host .ids-radio label,
317
- :host .ids-radio .label,
318
- :host .ids-switch label,
319
- :host .ids-switch .label,
320
- :host .ids-data-label label,
321
- :host .ids-data-label .label,
322
- :host .ids-filter-field label,
323
- :host .ids-filter-field .label {
324
- width: var(--ids-label-width);
325
- }
326
-
327
- /* stylelint-disable */
328
- /* stylelint-enable */
329
- /* in case of external label in compound component */
330
- .ids-label-text {
331
- -webkit-font-smoothing: antialiased;
332
- -moz-osx-font-smoothing: grayscale;
333
- font-family: var(--ids-font-family-default), var(--ids-font-family-system-sans);
334
- color: var(--ids-input-label-color-text-default);
335
- display: flex;
336
- margin-block-end: var(--ids-input-margin-bottom);
337
- align-items: baseline;
338
- justify-content: inherit;
339
- }
340
- .ids-label-text.empty::before {
341
- content: " ";
342
- }
343
- .ids-label-text.required::after {
392
+ .ids-button .loading-dots,
393
+ .ids-toggle-button .loading-dots,
394
+ .ids-menu-button .loading-dots {
395
+ display: none;
344
396
  position: relative;
345
- font-family: var(--ids-font-family-default), var(--ids-font-family-system-sans);
346
- margin-inline-start: var(--ids-space-3xs);
347
- margin-inline-end: var(--ids-space-3xs);
348
- font-size: var(--ids-font-size-md);
349
- color: var(--ids-input-required-indicator-color-text-default);
350
- content: "*";
351
- margin-top: -10px;
352
- top: 1px;
353
- line-height: 0;
354
- }
355
- .ids-label-text.required.no-required-indicator::after, .ids-label-text.required.empty::after {
356
- content: "";
397
+ flex-direction: row;
398
+ gap: 2px;
399
+ padding-inline-start: 7px;
400
+ padding-inline-end: 3px;
401
+ }
402
+ .ids-button .loading-dots .dot,
403
+ .ids-toggle-button .loading-dots .dot,
404
+ .ids-menu-button .loading-dots .dot {
405
+ display: inline-flex;
406
+ position: relative;
407
+ width: 3px;
408
+ height: 3px;
409
+ border-radius: 5px;
410
+ background-color: var(--ids-button-ai-color-loading-dot-default);
411
+ color: var(--ids-button-ai-color-loading-dot-default);
412
+ }
413
+ .ids-button.btn-primary-generative-ai,
414
+ .ids-toggle-button.btn-primary-generative-ai,
415
+ .ids-menu-button.btn-primary-generative-ai {
416
+ --ids-button-ai-sparkle-icon-color-fill: var(--ids-button-ai-primary-sparkle-icon-color-fill);
417
+ background: border-box var(--ids-button-ai-color-background-default);
418
+ border: none;
419
+ color: var(--ids-button-ai-color-text-default);
420
+ align-items: center;
421
+ min-width: 34px;
422
+ min-height: 34px;
423
+ }
424
+ .ids-button.btn-primary-generative-ai.compact,
425
+ .ids-toggle-button.btn-primary-generative-ai.compact,
426
+ .ids-menu-button.btn-primary-generative-ai.compact {
427
+ min-width: var(--ids-button-compact-width);
428
+ min-height: var(--ids-button-compact-width);
429
+ }
430
+ .ids-button.btn-primary-generative-ai:hover,
431
+ .ids-toggle-button.btn-primary-generative-ai:hover,
432
+ .ids-menu-button.btn-primary-generative-ai:hover {
433
+ background: border-box var(--ids-button-ai-color-background-hover);
434
+ }
435
+ .ids-button.btn-primary-generative-ai:active, .ids-button.btn-primary-generative-ai.gen-ai-active,
436
+ .ids-toggle-button.btn-primary-generative-ai:active,
437
+ .ids-toggle-button.btn-primary-generative-ai.gen-ai-active,
438
+ .ids-menu-button.btn-primary-generative-ai:active,
439
+ .ids-menu-button.btn-primary-generative-ai.gen-ai-active {
440
+ background: border-box var(--ids-button-ai-color-background-active);
441
+ color: var(--ids-button-ai-color-text-active);
442
+ }
443
+ .ids-button.btn-primary-generative-ai[disabled],
444
+ .ids-toggle-button.btn-primary-generative-ai[disabled],
445
+ .ids-menu-button.btn-primary-generative-ai[disabled] {
446
+ background: border-box var(--ids-button-ai-color-background-disabled);
447
+ }
448
+ .ids-button.btn-primary-generative-ai.color-variant-alternate-formatter, .ids-button.btn-primary-generative-ai.color-variant-alternate-formatter:hover,
449
+ .ids-toggle-button.btn-primary-generative-ai.color-variant-alternate-formatter,
450
+ .ids-toggle-button.btn-primary-generative-ai.color-variant-alternate-formatter:hover,
451
+ .ids-menu-button.btn-primary-generative-ai.color-variant-alternate-formatter,
452
+ .ids-menu-button.btn-primary-generative-ai.color-variant-alternate-formatter:hover {
453
+ color: var(--ids-color-white-100);
454
+ min-height: var(--ids-button-formatter-size);
455
+ min-width: 34px;
456
+ }
457
+ .ids-button.btn-primary-generative-ai .loading-dots .dot:nth-child(1),
458
+ .ids-toggle-button.btn-primary-generative-ai .loading-dots .dot:nth-child(1),
459
+ .ids-menu-button.btn-primary-generative-ai .loading-dots .dot:nth-child(1) {
460
+ animation: dot-flashing 1s infinite alternate;
461
+ animation-delay: 0s;
462
+ }
463
+ .ids-button.btn-primary-generative-ai .loading-dots .dot:nth-child(2),
464
+ .ids-toggle-button.btn-primary-generative-ai .loading-dots .dot:nth-child(2),
465
+ .ids-menu-button.btn-primary-generative-ai .loading-dots .dot:nth-child(2) {
466
+ animation: dot-flashing 1s infinite linear alternate;
467
+ animation-delay: 0.5s;
468
+ }
469
+ .ids-button.btn-primary-generative-ai .loading-dots .dot:nth-child(3),
470
+ .ids-toggle-button.btn-primary-generative-ai .loading-dots .dot:nth-child(3),
471
+ .ids-menu-button.btn-primary-generative-ai .loading-dots .dot:nth-child(3) {
472
+ animation: dot-flashing 1s infinite alternate;
473
+ animation-delay: 1s;
474
+ }
475
+ .ids-button.btn-secondary-generative-ai,
476
+ .ids-toggle-button.btn-secondary-generative-ai,
477
+ .ids-menu-button.btn-secondary-generative-ai {
478
+ --ids-button-ai-sparkle-icon-color-fill: var(--ids-button-ai-secondary-sparkle-icon-color-fill);
479
+ background: var(--ids-button-ai-secondary-color-background-default);
480
+ border: 1px solid var(--ids-button-ai-secondary-color-border-default);
481
+ color: var(--ids-button-ai-secondary-color-default);
482
+ align-items: center;
357
483
  }
358
- .ids-label-text ids-text::part(text),
359
- .ids-label-text .ids-text {
360
- display: inline;
484
+ .ids-button.btn-secondary-generative-ai:hover:not([disabled]),
485
+ .ids-toggle-button.btn-secondary-generative-ai:hover:not([disabled]),
486
+ .ids-menu-button.btn-secondary-generative-ai:hover:not([disabled]) {
487
+ background: var(--ids-button-ai-secondary-color-background-hover);
488
+ color: var(--ids-button-ai-secondary-color-hover);
489
+ border-color: var(--ids-button-ai-secondary-color-border-hover);
490
+ }
491
+ .ids-button.btn-secondary-generative-ai:active:not([disabled]),
492
+ .ids-toggle-button.btn-secondary-generative-ai:active:not([disabled]),
493
+ .ids-menu-button.btn-secondary-generative-ai:active:not([disabled]) {
494
+ background: var(--ids-button-ai-secondary-color-background-active);
495
+ color: var(--ids-button-ai-secondary-color-active);
496
+ border-color: var(--ids-button-ai-secondary-color-border-active);
497
+ }
498
+ .ids-button.btn-secondary-generative-ai ::slotted(ids-icon[icon=genai]),
499
+ .ids-toggle-button.btn-secondary-generative-ai ::slotted(ids-icon[icon=genai]),
500
+ .ids-menu-button.btn-secondary-generative-ai ::slotted(ids-icon[icon=genai]) {
501
+ --ids-button-ai-color-icon-primary: var(--ids-button-ai-color-icon-primary-hover);
502
+ --ids-button-ai-color-icon-secondary: var(--ids-button-ai-color-icon-secondary-hover);
503
+ }
504
+ .ids-button.btn-secondary-generative-ai.gen-ai-active,
505
+ .ids-toggle-button.btn-secondary-generative-ai.gen-ai-active,
506
+ .ids-menu-button.btn-secondary-generative-ai.gen-ai-active {
507
+ background: var(--ids-button-ai-secondary-color-background-active);
508
+ }
509
+ .ids-button.btn-secondary-generative-ai[disabled],
510
+ .ids-toggle-button.btn-secondary-generative-ai[disabled],
511
+ .ids-menu-button.btn-secondary-generative-ai[disabled] {
512
+ opacity: var(--ids-button-ai-opacity-disabled);
513
+ }
514
+ .ids-button.btn-secondary-generative-ai .loading-dots .dot,
515
+ .ids-toggle-button.btn-secondary-generative-ai .loading-dots .dot,
516
+ .ids-menu-button.btn-secondary-generative-ai .loading-dots .dot {
517
+ background-color: var(--ids-button-ai-color-loading-dot-secondary);
518
+ color: var(--ids-button-ai-color-loading-dot-secondary);
519
+ }
520
+ .ids-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(1),
521
+ .ids-toggle-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(1),
522
+ .ids-menu-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(1) {
523
+ animation: dot-flashing-colors-secondary 1s infinite alternate;
524
+ animation-delay: 0s;
525
+ }
526
+ .ids-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(2),
527
+ .ids-toggle-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(2),
528
+ .ids-menu-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(2) {
529
+ animation: dot-flashing-colors-secondary 1s infinite linear alternate;
530
+ animation-delay: 0.5s;
531
+ }
532
+ .ids-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(3),
533
+ .ids-toggle-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(3),
534
+ .ids-menu-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(3) {
535
+ animation: dot-flashing-colors-secondary 1s infinite alternate;
536
+ animation-delay: 1s;
537
+ }
538
+ .ids-button.btn-tertiary-generative-ai,
539
+ .ids-toggle-button.btn-tertiary-generative-ai,
540
+ .ids-menu-button.btn-tertiary-generative-ai {
541
+ --ids-button-tertiary-ai-shadow-focus: var(--ids-button-tertiary-shadow-focus);
542
+ --ids-button-ai-color-icon-secondary-hover: var(--ids-color-action-stronger);
543
+ --ids-button-ai-sparkle-icon-color-fill: var(--ids-button-ai-tertiary-sparkle-icon-color-fill);
544
+ background: var(--ids-button-ai-tertiary-color-background-default);
545
+ background-clip: text;
546
+ align-items: center;
547
+ color: var(--ids-button-ai-tertiary-color-text-default);
548
+ }
549
+ .ids-button.btn-tertiary-generative-ai:hover,
550
+ .ids-toggle-button.btn-tertiary-generative-ai:hover,
551
+ .ids-menu-button.btn-tertiary-generative-ai:hover {
552
+ background: var(--ids-button-ai-tertiary-color-background-hover);
553
+ }
554
+ .ids-button.btn-tertiary-generative-ai ::slotted(ids-icon[icon=genai]),
555
+ .ids-toggle-button.btn-tertiary-generative-ai ::slotted(ids-icon[icon=genai]),
556
+ .ids-menu-button.btn-tertiary-generative-ai ::slotted(ids-icon[icon=genai]) {
557
+ --ids-button-ai-color-icon-primary: var(--ids-button-ai-tertiary-color-text-default);
558
+ --ids-button-ai-color-icon-secondary: var(--ids-button-ai-tertiary-color-text-default);
559
+ }
560
+ .ids-button.btn-tertiary-generative-ai:active, .ids-button.btn-tertiary-generative-ai.gen-ai-active,
561
+ .ids-toggle-button.btn-tertiary-generative-ai:active,
562
+ .ids-toggle-button.btn-tertiary-generative-ai.gen-ai-active,
563
+ .ids-menu-button.btn-tertiary-generative-ai:active,
564
+ .ids-menu-button.btn-tertiary-generative-ai.gen-ai-active {
565
+ background: var(--ids-button-ai-tertiary-color-background-active);
566
+ }
567
+ .ids-button.btn-tertiary-generative-ai[disabled],
568
+ .ids-toggle-button.btn-tertiary-generative-ai[disabled],
569
+ .ids-menu-button.btn-tertiary-generative-ai[disabled] {
570
+ background: var(--ids-button-tertiary-ai-color-background-disabled);
571
+ opacity: var(--ids-button-ai-opacity-disabled);
572
+ }
573
+ .ids-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(1),
574
+ .ids-toggle-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(1),
575
+ .ids-menu-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(1) {
576
+ animation: dot-flashing-colors-tertiary 1s infinite alternate;
577
+ animation-delay: 0s;
578
+ }
579
+ .ids-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(2),
580
+ .ids-toggle-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(2),
581
+ .ids-menu-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(2) {
582
+ animation: dot-flashing-colors-tertiary 1s infinite linear alternate;
583
+ animation-delay: 0.5s;
584
+ }
585
+ .ids-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(3),
586
+ .ids-toggle-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(3),
587
+ .ids-menu-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(3) {
588
+ animation: dot-flashing-colors-tertiary 1s infinite alternate;
589
+ animation-delay: 1s;
590
+ }
591
+ .ids-button.btn-secondary,
592
+ .ids-toggle-button.btn-secondary,
593
+ .ids-menu-button.btn-secondary {
594
+ background-color: var(--ids-button-secondary-color-background-default);
595
+ border-width: var(--ids-button-secondary-border-width);
596
+ border-color: var(--ids-button-secondary-color-border-default);
597
+ color: var(--ids-button-secondary-color-text-default);
598
+ }
599
+ .ids-button.btn-secondary:not(.hide-focus).is-active, .ids-button.btn-secondary:not(.hide-focus).is-focused, .ids-button.btn-secondary:not(.hide-focus).focus-within, .ids-button.btn-secondary:not(.hide-focus):focus,
600
+ .ids-toggle-button.btn-secondary:not(.hide-focus).is-active,
601
+ .ids-toggle-button.btn-secondary:not(.hide-focus).is-focused,
602
+ .ids-toggle-button.btn-secondary:not(.hide-focus).focus-within,
603
+ .ids-toggle-button.btn-secondary:not(.hide-focus):focus,
604
+ .ids-menu-button.btn-secondary:not(.hide-focus).is-active,
605
+ .ids-menu-button.btn-secondary:not(.hide-focus).is-focused,
606
+ .ids-menu-button.btn-secondary:not(.hide-focus).focus-within,
607
+ .ids-menu-button.btn-secondary:not(.hide-focus):focus {
608
+ background-color: var(--ids-button-secondary-color-background-focus);
609
+ border-color: var(--ids-button-secondary-color-border-focus);
610
+ }
611
+ .ids-button.btn-secondary:hover:not([disabled]),
612
+ .ids-toggle-button.btn-secondary:hover:not([disabled]),
613
+ .ids-menu-button.btn-secondary:hover:not([disabled]) {
614
+ background-color: var(--ids-button-secondary-color-background-hover);
615
+ border-color: var(--ids-button-secondary-color-border-hover);
616
+ color: var(--ids-button-secondary-color-text-hover);
617
+ }
618
+ .ids-button.btn-secondary[disabled],
619
+ .ids-toggle-button.btn-secondary[disabled],
620
+ .ids-menu-button.btn-secondary[disabled] {
621
+ background-color: var(--ids-button-secondary-color-background-disabled);
622
+ border-color: var(--ids-button-secondary-color-border-disabled);
623
+ color: var(--ids-button-secondary-color-text-disabled);
624
+ opacity: var(--ids-button-secondary-opacity-disabled);
625
+ }
626
+ .ids-button.btn-secondary:active:not([disabled]),
627
+ .ids-toggle-button.btn-secondary:active:not([disabled]),
628
+ .ids-menu-button.btn-secondary:active:not([disabled]) {
629
+ background-color: var(--ids-button-secondary-color-background-pressed);
630
+ border-color: var(--ids-button-secondary-color-border-pressed);
631
+ color: var(--ids-button-secondary-color-text-pressed);
632
+ }
633
+ .ids-button.color-variant-alternate:hover,
634
+ .ids-toggle-button.color-variant-alternate:hover,
635
+ .ids-menu-button.color-variant-alternate:hover {
636
+ background-color: rgba(0, 0, 0, 0.3);
637
+ }
638
+ .ids-button.color-variant-alternate.ids-trigger-button:not([readonly]):hover,
639
+ .ids-toggle-button.color-variant-alternate.ids-trigger-button:not([readonly]):hover,
640
+ .ids-menu-button.color-variant-alternate.ids-trigger-button:not([readonly]):hover {
641
+ background-color: var(--ids-search-field-header-color-icon-hover);
642
+ }
643
+ .ids-button.color-variant-app-menu:hover,
644
+ .ids-toggle-button.color-variant-app-menu:hover,
645
+ .ids-menu-button.color-variant-app-menu:hover {
646
+ background-color: rgba(255, 255, 255, 0.15);
647
+ }
648
+ .ids-button.color-variant-alternate, .ids-button.color-variant-alternate-formatter,
649
+ .ids-toggle-button.color-variant-alternate,
650
+ .ids-toggle-button.color-variant-alternate-formatter,
651
+ .ids-menu-button.color-variant-alternate,
652
+ .ids-menu-button.color-variant-alternate-formatter {
653
+ color: var(--ids-button-alternate-color-text-default);
654
+ opacity: 0.8;
655
+ }
656
+ .ids-button.color-variant-alternate:not(.hide-focus).is-active, .ids-button.color-variant-alternate:not(.hide-focus).is-focused, .ids-button.color-variant-alternate:not(.hide-focus).focus-within, .ids-button.color-variant-alternate:not(.hide-focus):focus, .ids-button.color-variant-alternate-formatter:not(.hide-focus).is-active, .ids-button.color-variant-alternate-formatter:not(.hide-focus).is-focused, .ids-button.color-variant-alternate-formatter:not(.hide-focus).focus-within, .ids-button.color-variant-alternate-formatter:not(.hide-focus):focus,
657
+ .ids-toggle-button.color-variant-alternate:not(.hide-focus).is-active,
658
+ .ids-toggle-button.color-variant-alternate:not(.hide-focus).is-focused,
659
+ .ids-toggle-button.color-variant-alternate:not(.hide-focus).focus-within,
660
+ .ids-toggle-button.color-variant-alternate:not(.hide-focus):focus,
661
+ .ids-toggle-button.color-variant-alternate-formatter:not(.hide-focus).is-active,
662
+ .ids-toggle-button.color-variant-alternate-formatter:not(.hide-focus).is-focused,
663
+ .ids-toggle-button.color-variant-alternate-formatter:not(.hide-focus).focus-within,
664
+ .ids-toggle-button.color-variant-alternate-formatter:not(.hide-focus):focus,
665
+ .ids-menu-button.color-variant-alternate:not(.hide-focus).is-active,
666
+ .ids-menu-button.color-variant-alternate:not(.hide-focus).is-focused,
667
+ .ids-menu-button.color-variant-alternate:not(.hide-focus).focus-within,
668
+ .ids-menu-button.color-variant-alternate:not(.hide-focus):focus,
669
+ .ids-menu-button.color-variant-alternate-formatter:not(.hide-focus).is-active,
670
+ .ids-menu-button.color-variant-alternate-formatter:not(.hide-focus).is-focused,
671
+ .ids-menu-button.color-variant-alternate-formatter:not(.hide-focus).focus-within,
672
+ .ids-menu-button.color-variant-alternate-formatter:not(.hide-focus):focus {
673
+ border-color: var(--ids-button-formatter-color-border-focus);
674
+ opacity: 1;
675
+ }
676
+ .ids-button.color-variant-alternate:hover, .ids-button.color-variant-alternate-formatter:hover,
677
+ .ids-toggle-button.color-variant-alternate:hover,
678
+ .ids-toggle-button.color-variant-alternate-formatter:hover,
679
+ .ids-menu-button.color-variant-alternate:hover,
680
+ .ids-menu-button.color-variant-alternate-formatter:hover {
681
+ background-color: var(--ids-button-formatter-color-background-hover);
682
+ border-color: var(--ids-color-transparent);
683
+ color: var(--ids-button-formatter-color-text-hover);
684
+ opacity: 1;
685
+ }
686
+ .ids-button.color-variant-alternate[disabled], .ids-button.color-variant-alternate-formatter[disabled],
687
+ .ids-toggle-button.color-variant-alternate[disabled],
688
+ .ids-toggle-button.color-variant-alternate-formatter[disabled],
689
+ .ids-menu-button.color-variant-alternate[disabled],
690
+ .ids-menu-button.color-variant-alternate-formatter[disabled] {
691
+ background-color: var(--ids-color-transparent);
692
+ opacity: var(--ids-button-formatter-opacity-disabled);
693
+ }
694
+ .ids-button.color-variant-alternate-formatter,
695
+ .ids-toggle-button.color-variant-alternate-formatter,
696
+ .ids-menu-button.color-variant-alternate-formatter {
697
+ background-color: var(--ids-button-formatter-color-background-default);
698
+ border-color: var(--ids-button-formatter-color-border-default);
699
+ color: var(--ids-button-formatter-color-text-default);
700
+ height: var(--ids-button-formatter-size);
701
+ min-width: var(--ids-button-formatter-size);
702
+ }
703
+ .ids-button.color-variant-alternate-formatter:not(.hide-focus).is-active, .ids-button.color-variant-alternate-formatter:not(.hide-focus).is-focused, .ids-button.color-variant-alternate-formatter:not(.hide-focus).focus-within, .ids-button.color-variant-alternate-formatter:not(.hide-focus):focus,
704
+ .ids-toggle-button.color-variant-alternate-formatter:not(.hide-focus).is-active,
705
+ .ids-toggle-button.color-variant-alternate-formatter:not(.hide-focus).is-focused,
706
+ .ids-toggle-button.color-variant-alternate-formatter:not(.hide-focus).focus-within,
707
+ .ids-toggle-button.color-variant-alternate-formatter:not(.hide-focus):focus,
708
+ .ids-menu-button.color-variant-alternate-formatter:not(.hide-focus).is-active,
709
+ .ids-menu-button.color-variant-alternate-formatter:not(.hide-focus).is-focused,
710
+ .ids-menu-button.color-variant-alternate-formatter:not(.hide-focus).focus-within,
711
+ .ids-menu-button.color-variant-alternate-formatter:not(.hide-focus):focus {
712
+ border-color: var(--ids-color-border-focus);
361
713
  }
362
-
363
- .disabled .ids-label-text {
364
- color: var(--ids-input-label-color-text-disabled);
365
- opacity: var(--ids-input-disabled-opacity);
714
+ .ids-button.color-variant-alternate-formatter[disabled],
715
+ .ids-toggle-button.color-variant-alternate-formatter[disabled],
716
+ .ids-menu-button.color-variant-alternate-formatter[disabled] {
717
+ color: var(--ids-button-formatter-color-text-disabled);
718
+ }
719
+ .ids-button.color-variant-alternate-formatter:hover,
720
+ .ids-toggle-button.color-variant-alternate-formatter:hover,
721
+ .ids-menu-button.color-variant-alternate-formatter:hover {
722
+ background-color: var(--ids-button-formatter-color-background-hover);
723
+ color: var(--ids-button-formatter-color-text-hover);
724
+ }
725
+ .ids-button.color-variant-alternate-formatter.is-active,
726
+ .ids-toggle-button.color-variant-alternate-formatter.is-active,
727
+ .ids-menu-button.color-variant-alternate-formatter.is-active {
728
+ color: var(--ids-button-formatter-color-active);
729
+ }
730
+ .ids-button.color-variant-alternate-formatter.ids-menu-button.compact,
731
+ .ids-toggle-button.color-variant-alternate-formatter.ids-menu-button.compact,
732
+ .ids-menu-button.color-variant-alternate-formatter.ids-menu-button.compact {
733
+ padding: var(--ids-space-2xs);
734
+ padding-inline: var(--ids-space-2xs);
366
735
  }
367
- .disabled .ids-label-text.required::after {
368
- color: var(--ids-input-required-indicator-color-text-disabled);
736
+ .ids-button.color-variant-alternate-formatter.ids-menu-button.compact.square,
737
+ .ids-toggle-button.color-variant-alternate-formatter.ids-menu-button.compact.square,
738
+ .ids-menu-button.color-variant-alternate-formatter.ids-menu-button.compact.square {
739
+ border-radius: var(--ids-border-radius-xs);
740
+ width: 34px;
741
+ }
742
+ .ids-button.color-variant-alternate-formatter[editor-action=sourcemode], .ids-button.color-variant-alternate-formatter[editor-action=editormode],
743
+ .ids-toggle-button.color-variant-alternate-formatter[editor-action=sourcemode],
744
+ .ids-toggle-button.color-variant-alternate-formatter[editor-action=editormode],
745
+ .ids-menu-button.color-variant-alternate-formatter[editor-action=sourcemode],
746
+ .ids-menu-button.color-variant-alternate-formatter[editor-action=editormode] {
747
+ --ids-button-icon-width: 54px;
748
+ }
749
+ .ids-button.color-variant-module,
750
+ .ids-toggle-button.color-variant-module,
751
+ .ids-menu-button.color-variant-module {
752
+ border: 0;
753
+ color: var(--ids-button-module-color-text-default);
754
+ }
755
+ .ids-button.color-variant-module:not(.square),
756
+ .ids-toggle-button.color-variant-module:not(.square),
757
+ .ids-menu-button.color-variant-module:not(.square) {
758
+ border-radius: var(--ids-button-module-border-radius);
759
+ }
760
+ .ids-button.color-variant-module:hover,
761
+ .ids-toggle-button.color-variant-module:hover,
762
+ .ids-menu-button.color-variant-module:hover {
763
+ background-color: var(--ids-button-module-color-background-hover);
764
+ color: var(--ids-button-module-color-text-hover);
765
+ }
766
+ .ids-button:not(.no-padding),
767
+ .ids-toggle-button:not(.no-padding),
768
+ .ids-menu-button:not(.no-padding) {
769
+ padding-inline: var(--ids-button-padding-inline);
770
+ }
771
+ .ids-button.btn-tertiary, .ids-button.btn-tertiary-destructive,
772
+ .ids-toggle-button.btn-tertiary,
773
+ .ids-toggle-button.btn-tertiary-destructive,
774
+ .ids-menu-button.btn-tertiary,
775
+ .ids-menu-button.btn-tertiary-destructive {
776
+ padding-inline: var(--ids-space-12);
777
+ }
778
+ .ids-button.no-padding,
779
+ .ids-toggle-button.no-padding,
780
+ .ids-menu-button.no-padding {
781
+ padding-inline: var(--ids-space-12);
369
782
  }
370
783
 
371
- :root {
372
- display: block;
373
- max-width: var(--ids-input-width-full);
374
- }
375
- :host .ids-input {
376
- display: inline-block;
784
+ .ids-menu-button.sub-tab-button.is-active {
785
+ background-color: unset;
377
786
  }
378
787
 
379
- :host([size=full]) {
380
- width: 100%;
788
+ .ids-menu-button.is-active,
789
+ .ids-menu-button.is-active:hover {
790
+ background-color: var(--ids-button-menu-background-color-active);
791
+ color: var(--ids-button-menu-color-text-active);
381
792
  }
382
793
 
383
- :host([label-wrap=ellipsis]) .ids-label-text {
384
- display: block;
385
- overflow: hidden;
386
- text-overflow: ellipsis;
387
- white-space: nowrap;
388
- }
389
- :host([label-wrap=ellipsis]) .ids-label-text ids-text {
390
- display: block;
391
- width: 100%;
392
- max-width: 100%;
393
- overflow: hidden;
394
- text-overflow: ellipsis;
395
- white-space: nowrap;
396
- min-width: 0;
397
- flex-shrink: 1;
794
+ .ids-menu-button.formatter-width:not(.no-padding):not(.ids-icon-button) {
795
+ padding-inline-start: calc(var(--ids-space-xs) - 1px);
796
+ padding-inline-end: calc(var(--ids-space-xs) - 1px);
398
797
  }
399
- :host([label-wrap=ellipsis]) .ids-label-text.required {
400
- padding-inline-end: var(--ids-space-xs);
798
+ .ids-menu-button.formatter-width:not(.formatter-width-percentage) {
799
+ justify-content: normal;
401
800
  }
402
- :host([label-wrap=ellipsis]) .ids-label-text.required::after {
403
- display: block;
404
- margin-top: unset;
405
- margin-inline-start: 100%;
406
- top: -8px;
801
+ .ids-menu-button.formatter-width:not(.formatter-width-percentage) .ids-icon {
802
+ position: absolute;
803
+ inset-inline-end: var(--ids-space-2xs);
407
804
  }
408
805
 
409
- :host([label-wrap=ellipsis-no-stretch]) .ids-label-text {
410
- display: block;
411
- overflow: hidden;
412
- text-overflow: ellipsis;
413
- white-space: nowrap;
806
+ ::slotted(ids-icon[icon=logo]) {
807
+ height: 30px;
808
+ opacity: 0.8;
414
809
  }
415
- :host([label-wrap=ellipsis-no-stretch]) .ids-label-text ids-text {
416
- display: block;
417
- width: 100%;
418
- max-width: 100%;
810
+
811
+ .ids-icon-button {
812
+ box-shadow: var(--ids-shadow-none);
813
+ font-weight: var(--ids-font-weight-normal);
814
+ font-family: var(--ids-font-family-default), var(--ids-font-family-system-sans);
815
+ font-size: var(--ids-font-size-sm);
419
816
  overflow: hidden;
420
- text-overflow: ellipsis;
421
- white-space: nowrap;
422
- min-width: 0;
423
- flex-shrink: 1;
817
+ padding-bottom: calc(var(--ids-space-xs) - 2px);
818
+ padding-top: calc(var(--ids-space-xs) - 2px);
819
+ position: relative;
820
+ /* stylelint-disable-next-line no-duplicate-selectors */
424
821
  }
425
- :host([label-wrap=ellipsis-no-stretch]) .ids-label-text.required {
426
- padding-inline-end: var(--ids-space-xs);
822
+ .ids-icon-button, .ids-icon-button::before, .ids-icon-button::after {
823
+ box-sizing: border-box;
427
824
  }
428
- :host([label-wrap=ellipsis-no-stretch]) .ids-label-text.required::after {
429
- display: block;
430
- margin-top: unset;
431
- margin-inline-start: 100%;
432
- top: -8px;
825
+ .ids-icon-button * {
826
+ pointer-events: none;
433
827
  }
434
- :host([label-wrap=ellipsis-no-stretch]) .xs .ids-label-text {
435
- max-width: calc(var(--ids-input-width-10));
828
+ .ids-icon-button {
829
+ border: 1px solid transparent;
830
+ background-color: var(--ids-color-transparent);
831
+ color: var(--ids-button-color-text-default);
832
+ transition: background-color var(--ids-motion-duration) var(--ids-motion-ease), border-color var(--ids-motion-duration) var(--ids-motion-ease), color var(--ids-motion-duration) var(--ids-motion-ease), opacity var(--ids-motion-duration) var(--ids-motion-ease);
833
+ white-space: nowrap;
436
834
  }
437
- :host([label-wrap=ellipsis-no-stretch]) .sm .ids-label-text {
438
- max-width: calc((var(--ids-input-width-20)) - 8px);
835
+ .ids-icon-button:focus {
836
+ outline: none;
837
+ outline-color: var(--ids-color-transparent);
439
838
  }
440
- :host([label-wrap=ellipsis-no-stretch]) .mm .ids-label-text {
441
- max-width: calc((var(--ids-input-width-30)) - 8px);
839
+ .ids-icon-button:not([disabled]) {
840
+ cursor: var(--ids-cursor-pointer);
442
841
  }
443
- :host([label-wrap=ellipsis-no-stretch]) .md .ids-label-text {
444
- max-width: calc((var(--ids-input-width-40)) - 8px);
842
+ .ids-icon-button span {
843
+ vertical-align: bottom;
445
844
  }
446
- :host([label-wrap=ellipsis-no-stretch]) .lg .ids-label-text {
447
- max-width: calc((var(--ids-input-width-50)) - 8px);
845
+ .ids-icon-button span.audible {
846
+ clip: rect(0, 0, 0, 0);
847
+ height: 0;
848
+ line-height: 0;
849
+ min-height: 0;
850
+ overflow: hidden;
851
+ padding: 0;
852
+ position: absolute;
853
+ width: 1px;
448
854
  }
449
- :host([label-wrap=ellipsis-no-stretch]) .full .ids-label-text {
450
- max-width: calc(100% - 8px);
855
+ .ids-icon-button:not(.color-variant-module-nav):not(.ids-icon-button):not(.align-icon-end):not(.compact) ::slotted(ids-icon:not([icon=genai])) {
856
+ margin-inline-end: calc(var(--ids-space-2xs) + 3px);
451
857
  }
452
-
453
- :host([label-wrap=wrap-no-stretch]) .xs .ids-label-text {
454
- max-width: calc(var(--ids-input-width-10));
858
+ .ids-icon-button .ids-icon {
859
+ vertical-align: middle;
455
860
  }
456
- :host([label-wrap=wrap-no-stretch]) .sm .ids-label-text {
457
- max-width: calc((var(--ids-input-width-20)) - 8px);
861
+ .ids-icon-button.align-icon-end ::slotted(ids-icon) {
862
+ margin-inline-start: var(--ids-space-2xs);
458
863
  }
459
- :host([label-wrap=wrap-no-stretch]) .mm .ids-label-text {
460
- max-width: calc((var(--ids-input-width-30)) - 8px);
864
+ .ids-icon-button.content-align-start {
865
+ justify-content: start;
866
+ }
867
+ .ids-icon-button.content-align-end {
868
+ justify-content: end;
869
+ }
870
+ .ids-icon-button.no-margins {
871
+ margin-inline: var(--ids-space-none);
872
+ }
873
+ .ids-icon-button.field-height-xxs:not(.btn-secondary):not(.no-margins) {
874
+ margin-block-start: 3px;
875
+ margin-inline-end: -2px;
876
+ height: 22px;
877
+ width: 22px;
878
+ }
879
+ .ids-icon-button ::slotted(span) {
880
+ font-weight: inherit !important;
881
+ }
882
+ .ids-icon-button {
883
+ display: inline-flex;
884
+ font-weight: var(--ids-button-tertiary-font-weight);
885
+ border-radius: var(--ids-button-radius);
886
+ background-color: var(--ids-button-tertiary-color-background-default);
887
+ border-color: var(--ids-button-tertiary-color-border-default);
888
+ color: var(--ids-button-tertiary-color-text-default);
889
+ }
890
+ .ids-icon-button:not(.hide-focus).is-active:not([readonly]), .ids-icon-button:not(.hide-focus).is-focused:not([readonly]), .ids-icon-button:not(.hide-focus):focus:not([readonly]), .ids-icon-button:not(.hide-focus):focus-within:not([readonly]) {
891
+ border-color: var(--ids-button-tertiary-color-border-focus);
892
+ }
893
+ .ids-icon-button:hover {
894
+ color: var(--ids-button-tertiary-color-text-hover);
895
+ background-color: var(--ids-button-tertiary-color-background-hover);
896
+ border-color: var(--ids-button-tertiary-color-border-hover);
897
+ }
898
+ .ids-icon-button[disabled] {
899
+ color: var(--ids-button-tertiary-color-text-disabled);
900
+ background-color: var(--ids-button-tertiary-color-background-disabled);
901
+ border-color: var(--ids-button-tertiary-color-border-disabled);
902
+ opacity: var(--ids-button-tertiary-opacity-disabled);
903
+ }
904
+ .ids-icon-button:active:not([disabled]) {
905
+ background-color: var(--ids-button-tertiary-color-background-pressed);
906
+ border-color: var(--ids-button-tertiary-color-border-pressed);
907
+ color: var(--ids-button-tertiary-color-text-pressed);
908
+ }
909
+ .ids-icon-button.btn-tertiary-destructive {
910
+ background-color: var(--ids-button-destructive-tertiary-color-background-default);
911
+ border-color: var(--ids-button-destructive-tertiary-color-border-default);
912
+ color: var(--ids-button-destructive-tertiary-color-text-default);
913
+ }
914
+ .ids-icon-button.btn-tertiary-destructive:not(.hide-focus).is-active, .ids-icon-button.btn-tertiary-destructive:not(.hide-focus).is-focused, .ids-icon-button.btn-tertiary-destructive:not(.hide-focus).focus-within, .ids-icon-button.btn-tertiary-destructive:not(.hide-focus):focus {
915
+ border-color: var(--ids-button-destructive-tertiary-color-border-focus);
916
+ }
917
+ .ids-icon-button.btn-tertiary-destructive:hover {
918
+ background-color: var(--ids-button-destructive-tertiary-color-background-hover);
919
+ border-color: var(--ids-button-destructive-tertiary-color-border-hover);
920
+ color: var(--ids-button-destructive-tertiary-color-text-hover);
921
+ }
922
+ .ids-icon-button.btn-tertiary-destructive[disabled] {
923
+ color: var(--ids-button-destructive-tertiary-color-text-disabled);
924
+ background-color: var(--ids-button-destructive-tertiary-color-background-disabled);
925
+ border-color: var(--ids-button-destructive-tertiary-color-border-disabled);
926
+ }
927
+ .ids-icon-button.btn-primary {
928
+ background-color: var(--ids-button-primary-color-background-default);
929
+ border-color: var(--ids-button-primary-color-border-default);
930
+ border: 1px solid var(--ids-button-primary-color-border-default);
931
+ color: var(--ids-button-primary-color-text-default);
932
+ padding-bottom: calc(var(--ids-space-xs) - 2px);
933
+ padding-top: calc(var(--ids-space-xs) - 2px);
934
+ }
935
+ .ids-icon-button.btn-primary:not(.hide-focus).is-active, .ids-icon-button.btn-primary:not(.hide-focus).is-focused, .ids-icon-button.btn-primary:not(.hide-focus).focus-within, .ids-icon-button.btn-primary:not(.hide-focus):focus {
936
+ border-color: var(--ids-button-primary-color-border-focus);
937
+ }
938
+ .ids-icon-button.btn-primary:hover {
939
+ background-color: var(--ids-button-primary-color-background-hover);
940
+ border-color: var(--ids-button-primary-color-border-hover);
941
+ }
942
+ .ids-icon-button.btn-primary[disabled] {
943
+ background-color: var(--ids-button-primary-color-background-disabled);
944
+ border-color: var(--ids-button-primary-color-border-disabled);
945
+ color: var(--ids-button-primary-color-text-disabled);
946
+ opacity: var(--ids-button-primary-opacity-disabled);
947
+ }
948
+ .ids-icon-button.btn-primary:active:not([disabled]) {
949
+ background-color: var(--ids-button-primary-color-background-pressed);
950
+ border-color: var(--ids-button-primary-color-border-pressed);
951
+ color: var(--ids-button-primary-color-text-pressed);
952
+ }
953
+ .ids-icon-button.btn-primary-destructive {
954
+ background-color: var(--ids-button-destructive-color-background-default);
955
+ border-color: var(--ids-button-destructive-color-border-default);
956
+ color: var(--ids-button-destructive-color-text-default);
957
+ }
958
+ .ids-icon-button.btn-primary-destructive:not(.hide-focus).is-active, .ids-icon-button.btn-primary-destructive:not(.hide-focus).is-focused, .ids-icon-button.btn-primary-destructive:not(.hide-focus).focus-within, .ids-icon-button.btn-primary-destructive:not(.hide-focus):focus {
959
+ border-color: var(--ids-button-destructive-color-border-focus);
960
+ }
961
+ .ids-icon-button.btn-primary-destructive:hover {
962
+ background-color: var(--ids-button-destructive-color-background-hover);
963
+ border-color: var(--ids-button-destructive-color-border-hover);
964
+ color: var(--ids-button-destructive-color-text-hover);
965
+ }
966
+ .ids-icon-button.btn-primary-destructive[disabled] {
967
+ background-color: var(--ids-button-destructive-color-background-disabled);
968
+ border-color: var(--ids-button-destructive-color-border-disabled);
969
+ color: var(--ids-button-destructive-color-text-disabled);
970
+ opacity: var(--ids-button-destructive-opacity-disabled);
971
+ }
972
+ @keyframes dot-flashing {
973
+ 0% {
974
+ background-color: var(--ids-button-ai-color-loading-dot-primary-step-1);
975
+ }
976
+ 50%, 100% {
977
+ background-color: var(--ids-button-ai-color-loading-dot-primary-step-2);
978
+ }
461
979
  }
462
- :host([label-wrap=wrap-no-stretch]) .md .ids-label-text {
463
- max-width: calc((var(--ids-input-width-40)) - 8px);
980
+ @keyframes dot-flashing-colors-secondary {
981
+ 0% {
982
+ background-color: var(--ids-button-ai-color-loading-dot-secondary-step-1);
983
+ }
984
+ 50%, 100% {
985
+ background-color: var(--ids-button-ai-color-loading-dot-secondary-step-2);
986
+ }
464
987
  }
465
- :host([label-wrap=wrap-no-stretch]) .lg .ids-label-text {
466
- max-width: calc((var(--ids-input-width-50)) - 8px);
988
+ @keyframes dot-flashing-colors-tertiary {
989
+ 0% {
990
+ background-color: var(--ids-button-ai-color-loading-dot-tertiary-step-1);
991
+ }
992
+ 50%, 100% {
993
+ background-color: var(--ids-button-ai-color-loading-dot-tertiary-step-2);
994
+ }
467
995
  }
468
- :host([label-wrap=wrap-no-stretch]) .full .ids-label-text {
469
- max-width: calc(100% - 8px);
996
+ .ids-icon-button .loading-dots-start {
997
+ padding-inline-start: 3px !important;
998
+ padding-inline-end: 7px !important;
999
+ gap: 2px;
470
1000
  }
471
-
472
- .ids-input {
1001
+ .ids-icon-button .loading-dots {
1002
+ display: none;
473
1003
  position: relative;
474
- display: block;
475
- margin-block-end: var(--ids-space-sm);
476
- max-width: var(--ids-input-width-full);
477
- /* stylelint-disable-next-line no-duplicate-selectors */
1004
+ flex-direction: row;
1005
+ gap: 2px;
1006
+ padding-inline-start: 7px;
1007
+ padding-inline-end: 3px;
478
1008
  }
479
- .ids-input .field-container {
480
- border: 1px solid;
481
- border-collapse: separate;
482
- border-radius: var(--ids-border-radius-2xs);
483
- box-sizing: border-box;
484
- color: inherit;
485
- display: flex;
486
- align-items: center;
487
- margin: var(--ids-space-none);
488
- max-width: var(--ids-input-width-full);
489
- padding: var(--ids-space-none);
1009
+ .ids-icon-button .loading-dots .dot {
1010
+ display: inline-flex;
490
1011
  position: relative;
491
- resize: none;
492
- text-align: left;
493
- }
494
- .ids-input .field-container.square {
495
- border-radius: var(--ids-border-radius-none);
496
- }
497
- .ids-input:focus-within .ids-input-field, .ids-input.readonly:focus-within .ids-input-field, .ids-input.is-active .ids-input-field {
498
- outline: none;
499
- outline-color: var(--ids-color-transparent);
500
- }
501
- .ids-input:focus-within .field-container, .ids-input.readonly:focus-within .field-container, .ids-input.is-active .field-container {
502
- border-color: var(--ids-input-color-border-focus);
503
- box-shadow: var(--ids-input-color-border-shadow);
504
- background-color: var(--ids-input-color-background-default);
505
- }
506
- .ids-input .ids-icon.starting-icon {
507
- margin-inline-start: var(--ids-space-xs);
508
- }
509
- .ids-input .ids-icon.ending-icon {
510
- margin-inline-end: var(--ids-space-xs);
511
- }
512
- .ids-input .ids-input-field {
513
- -webkit-font-smoothing: antialiased;
514
- -moz-osx-font-smoothing: grayscale;
515
- box-sizing: border-box;
516
- background-color: var(--ids-color-transparent);
1012
+ width: 3px;
1013
+ height: 3px;
1014
+ border-radius: 5px;
1015
+ background-color: var(--ids-button-ai-color-loading-dot-default);
1016
+ color: var(--ids-button-ai-color-loading-dot-default);
1017
+ }
1018
+ .ids-icon-button.btn-primary-generative-ai {
1019
+ --ids-button-ai-sparkle-icon-color-fill: var(--ids-button-ai-primary-sparkle-icon-color-fill);
1020
+ background: border-box var(--ids-button-ai-color-background-default);
517
1021
  border: none;
518
- color: inherit;
519
- font-family: var(--ids-font-family-default), var(--ids-font-family-system-sans);
520
- padding-block-start: var(--ids-space-2xs);
521
- padding-block-end: var(--ids-space-2xs);
522
- padding-inline-start: var(--ids-space-12);
523
- padding-inline-end: var(--ids-input-padding-inline-end);
524
- font-size: var(--ids-input-font-size);
525
- width: 100%;
526
- appearance: none;
527
- display: inline-block;
528
- height: fit-content;
529
- resize: none;
530
- text-align: left;
531
- text-overflow: ellipsis;
1022
+ color: var(--ids-button-ai-color-text-default);
1023
+ align-items: center;
1024
+ min-width: 34px;
1025
+ min-height: 34px;
532
1026
  }
533
- .ids-input .ids-input-field:focus-visible {
534
- outline: none;
1027
+ .ids-icon-button.btn-primary-generative-ai.compact {
1028
+ min-width: var(--ids-button-compact-width);
1029
+ min-height: var(--ids-button-compact-width);
535
1030
  }
536
- .ids-input .ids-input-field.text-ellipsis {
537
- text-overflow: ellipsis;
1031
+ .ids-icon-button.btn-primary-generative-ai:hover {
1032
+ background: border-box var(--ids-button-ai-color-background-hover);
538
1033
  }
539
- .ids-input .ids-input-field.start {
540
- text-align: start;
1034
+ .ids-icon-button.btn-primary-generative-ai:active, .ids-icon-button.btn-primary-generative-ai.gen-ai-active {
1035
+ background: border-box var(--ids-button-ai-color-background-active);
1036
+ color: var(--ids-button-ai-color-text-active);
541
1037
  }
542
- .ids-input .ids-input-field::placeholder {
543
- color: var(--ids-input-color-text-placeholder);
1038
+ .ids-icon-button.btn-primary-generative-ai[disabled] {
1039
+ background: border-box var(--ids-button-ai-color-background-disabled);
544
1040
  }
545
- .ids-input .ids-input-field.center {
546
- text-align: center;
1041
+ .ids-icon-button.btn-primary-generative-ai.color-variant-alternate-formatter, .ids-icon-button.btn-primary-generative-ai.color-variant-alternate-formatter:hover {
1042
+ color: var(--ids-color-white-100);
1043
+ min-height: var(--ids-button-formatter-size);
1044
+ min-width: 34px;
547
1045
  }
548
- .ids-input .ids-input-field.end {
549
- text-align: end;
1046
+ .ids-icon-button.btn-primary-generative-ai .loading-dots .dot:nth-child(1) {
1047
+ animation: dot-flashing 1s infinite alternate;
1048
+ animation-delay: 0s;
550
1049
  }
551
- .ids-input .validation-message {
552
- margin-block-start: var(--ids-space-2xs);
553
- margin-bottom: var(--ids-space-none);
1050
+ .ids-icon-button.btn-primary-generative-ai .loading-dots .dot:nth-child(2) {
1051
+ animation: dot-flashing 1s infinite linear alternate;
1052
+ animation-delay: 0.5s;
554
1053
  }
555
- .ids-input .validation-message .ids-icon {
556
- place-self: self-start;
557
- margin-top: 1px;
1054
+ .ids-icon-button.btn-primary-generative-ai .loading-dots .dot:nth-child(3) {
1055
+ animation: dot-flashing 1s infinite alternate;
1056
+ animation-delay: 1s;
558
1057
  }
559
- .ids-input.no-margins, .ids-input.no-margins.compact {
560
- display: block;
561
- margin: var(--ids-space-none);
1058
+ .ids-icon-button.btn-secondary-generative-ai {
1059
+ --ids-button-ai-sparkle-icon-color-fill: var(--ids-button-ai-secondary-sparkle-icon-color-fill);
1060
+ background: var(--ids-button-ai-secondary-color-background-default);
1061
+ border: 1px solid var(--ids-button-ai-secondary-color-border-default);
1062
+ color: var(--ids-button-ai-secondary-color-default);
1063
+ align-items: center;
562
1064
  }
563
- .ids-input.no-margins.field-height-xs, .ids-input.no-margins.compact.field-height-xs {
564
- margin-block-end: var(--ids-space-none);
1065
+ .ids-icon-button.btn-secondary-generative-ai:hover:not([disabled]) {
1066
+ background: var(--ids-button-ai-secondary-color-background-hover);
1067
+ color: var(--ids-button-ai-secondary-color-hover);
1068
+ border-color: var(--ids-button-ai-secondary-color-border-hover);
565
1069
  }
566
- .ids-input.no-margins .field-container, .ids-input.no-margins.compact .field-container {
567
- margin-bottom: var(--ids-space-none);
1070
+ .ids-icon-button.btn-secondary-generative-ai:active:not([disabled]) {
1071
+ background: var(--ids-button-ai-secondary-color-background-active);
1072
+ color: var(--ids-button-ai-secondary-color-active);
1073
+ border-color: var(--ids-button-ai-secondary-color-border-active);
568
1074
  }
569
- .ids-input.no-margins .ids-input-field, .ids-input.no-margins.compact .ids-input-field {
570
- margin: var(--ids-space-none);
1075
+ .ids-icon-button.btn-secondary-generative-ai ::slotted(ids-icon[icon=genai]) {
1076
+ --ids-button-ai-color-icon-primary: var(--ids-button-ai-color-icon-primary-hover);
1077
+ --ids-button-ai-color-icon-secondary: var(--ids-button-ai-color-icon-secondary-hover);
571
1078
  }
572
- .ids-input.no-margins .validation-message, .ids-input.no-margins.compact .validation-message {
573
- margin-bottom: var(--ids-space-none);
574
- margin-block-start: var(--ids-space-2xs);
1079
+ .ids-icon-button.btn-secondary-generative-ai.gen-ai-active {
1080
+ background: var(--ids-button-ai-secondary-color-background-active);
575
1081
  }
576
- .ids-input.no-margins .ids-label-text.empty, .ids-input.no-margins.compact .ids-label-text.empty {
577
- margin: var(--ids-space-none);
578
- display: none;
579
- visibility: hidden;
580
- height: 0;
581
- }
582
- .ids-input.xs .field-container,
583
- .ids-input.xs .validation-message {
584
- width: calc(var(--ids-input-width-10));
585
- }
586
- .ids-input.sm .field-container,
587
- .ids-input.sm .validation-message {
588
- width: calc(var(--ids-input-width-20));
1082
+ .ids-icon-button.btn-secondary-generative-ai[disabled] {
1083
+ opacity: var(--ids-button-ai-opacity-disabled);
589
1084
  }
590
- .ids-input.mm .field-container,
591
- .ids-input.mm .validation-message {
592
- width: calc(var(--ids-input-width-30));
1085
+ .ids-icon-button.btn-secondary-generative-ai .loading-dots .dot {
1086
+ background-color: var(--ids-button-ai-color-loading-dot-secondary);
1087
+ color: var(--ids-button-ai-color-loading-dot-secondary);
593
1088
  }
594
- .ids-input.md .field-container,
595
- .ids-input.md .validation-message {
596
- width: calc(var(--ids-input-width-40));
1089
+ .ids-icon-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(1) {
1090
+ animation: dot-flashing-colors-secondary 1s infinite alternate;
1091
+ animation-delay: 0s;
597
1092
  }
598
- .ids-input.lg .field-container,
599
- .ids-input.lg .validation-message {
600
- width: calc(var(--ids-input-width-50));
1093
+ .ids-icon-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(2) {
1094
+ animation: dot-flashing-colors-secondary 1s infinite linear alternate;
1095
+ animation-delay: 0.5s;
601
1096
  }
602
- .ids-input.full {
603
- display: block;
1097
+ .ids-icon-button.btn-secondary-generative-ai .loading-dots .dot:nth-child(3) {
1098
+ animation: dot-flashing-colors-secondary 1s infinite alternate;
1099
+ animation-delay: 1s;
604
1100
  }
605
- .ids-input.full .field-container,
606
- .ids-input.full .validation-message {
607
- width: var(--ids-input-width-full);
1101
+ .ids-icon-button.btn-tertiary-generative-ai {
1102
+ --ids-button-tertiary-ai-shadow-focus: var(--ids-button-tertiary-shadow-focus);
1103
+ --ids-button-ai-color-icon-secondary-hover: var(--ids-color-action-stronger);
1104
+ --ids-button-ai-sparkle-icon-color-fill: var(--ids-button-ai-tertiary-sparkle-icon-color-fill);
1105
+ background: var(--ids-button-ai-tertiary-color-background-default);
1106
+ background-clip: text;
1107
+ align-items: center;
1108
+ color: var(--ids-button-ai-tertiary-color-text-default);
608
1109
  }
609
- @media (max-width: 600px) {
610
- .ids-input {
611
- display: block;
612
- width: 100%;
613
- }
614
- .ids-input:not(.full):not(.md):not(.mm):not(.sm):not(.xs) .field-container,
615
- .ids-input:not(.full):not(.md):not(.mm):not(.sm):not(.xs) .validation-message {
616
- max-width: calc(var(--ids-input-width-30));
617
- width: 100%;
618
- }
619
- .ids-input:not(.full):not(.md):not(.mm):not(.sm):not(.xs) .field-container {
620
- flex-shrink: 0;
621
- flex-basis: calc(var(--ids-input-width-30));
622
- box-sizing: border-box;
623
- }
624
- .ids-input + .ids-input {
625
- margin-top: var(--ids-space-xs);
626
- }
1110
+ .ids-icon-button.btn-tertiary-generative-ai:hover {
1111
+ background: var(--ids-button-ai-tertiary-color-background-hover);
627
1112
  }
628
- .ids-input.field-height-xs {
629
- margin-block-end: var(--ids-font-size-2xs);
1113
+ .ids-icon-button.btn-tertiary-generative-ai ::slotted(ids-icon[icon=genai]) {
1114
+ --ids-button-ai-color-icon-primary: var(--ids-button-ai-tertiary-color-text-default);
1115
+ --ids-button-ai-color-icon-secondary: var(--ids-button-ai-tertiary-color-text-default);
630
1116
  }
631
- .ids-input.field-height-xs .icon-dirty {
632
- top: 0;
1117
+ .ids-icon-button.btn-tertiary-generative-ai:active, .ids-icon-button.btn-tertiary-generative-ai.gen-ai-active {
1118
+ background: var(--ids-button-ai-tertiary-color-background-active);
633
1119
  }
634
- .ids-input.field-height-xs .ids-label-text {
635
- font-size: var(--ids-input-label-font-size);
1120
+ .ids-icon-button.btn-tertiary-generative-ai[disabled] {
1121
+ background: var(--ids-button-tertiary-ai-color-background-disabled);
1122
+ opacity: var(--ids-button-ai-opacity-disabled);
636
1123
  }
637
- .ids-input.field-height-xs .ids-input-field {
638
- padding-inline-start: var(--ids-space-2xs);
639
- padding-inline-end: var(--ids-space-2xs);
640
- padding-top: 0;
641
- padding-bottom: 0;
642
- font-size: var(--ids-input-font-size-sm);
643
- height: calc(var(--ids-input-height-10) - 4px);
1124
+ .ids-icon-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(1) {
1125
+ animation: dot-flashing-colors-tertiary 1s infinite alternate;
1126
+ animation-delay: 0s;
644
1127
  }
645
- .ids-input.field-height-xs.no-margin-bottom {
646
- margin-bottom: var(--ids-space-none);
1128
+ .ids-icon-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(2) {
1129
+ animation: dot-flashing-colors-tertiary 1s infinite linear alternate;
1130
+ animation-delay: 0.5s;
647
1131
  }
648
- .ids-input.field-height-xs.no-margin-bottom .field-container,
649
- .ids-input.field-height-xs.no-margin-bottom .ids-input-field {
650
- margin-bottom: var(--ids-space-none);
1132
+ .ids-icon-button.btn-tertiary-generative-ai .loading-dots .dot:nth-child(3) {
1133
+ animation: dot-flashing-colors-tertiary 1s infinite alternate;
1134
+ animation-delay: 1s;
651
1135
  }
652
- .ids-input.field-height-sm .ids-input-field {
653
- height: calc(var(--ids-input-height-20) - 2px);
1136
+ .ids-icon-button.btn-secondary {
1137
+ background-color: var(--ids-button-secondary-color-background-default);
1138
+ border-width: var(--ids-button-secondary-border-width);
1139
+ border-color: var(--ids-button-secondary-color-border-default);
1140
+ color: var(--ids-button-secondary-color-text-default);
654
1141
  }
655
- .ids-input.field-height-md .ids-input-field {
656
- height: calc(var(--ids-input-height-30) - 2px);
1142
+ .ids-icon-button.btn-secondary:not(.hide-focus).is-active, .ids-icon-button.btn-secondary:not(.hide-focus).is-focused, .ids-icon-button.btn-secondary:not(.hide-focus).focus-within, .ids-icon-button.btn-secondary:not(.hide-focus):focus {
1143
+ background-color: var(--ids-button-secondary-color-background-focus);
1144
+ border-color: var(--ids-button-secondary-color-border-focus);
657
1145
  }
658
- .ids-input.field-height-lg .ids-input-field {
659
- height: calc(var(--ids-input-height-40) - 2px);
1146
+ .ids-icon-button.btn-secondary:hover:not([disabled]) {
1147
+ background-color: var(--ids-button-secondary-color-background-hover);
1148
+ border-color: var(--ids-button-secondary-color-border-hover);
1149
+ color: var(--ids-button-secondary-color-text-hover);
660
1150
  }
661
- .ids-input.compact {
662
- margin-block-end: var(--ids-font-size-2xs);
1151
+ .ids-icon-button.btn-secondary[disabled] {
1152
+ background-color: var(--ids-button-secondary-color-background-disabled);
1153
+ border-color: var(--ids-button-secondary-color-border-disabled);
1154
+ color: var(--ids-button-secondary-color-text-disabled);
1155
+ opacity: var(--ids-button-secondary-opacity-disabled);
663
1156
  }
664
- .ids-input.compact .icon-dirty {
665
- top: 0;
1157
+ .ids-icon-button.btn-secondary:active:not([disabled]) {
1158
+ background-color: var(--ids-button-secondary-color-background-pressed);
1159
+ border-color: var(--ids-button-secondary-color-border-pressed);
1160
+ color: var(--ids-button-secondary-color-text-pressed);
666
1161
  }
667
- .ids-input.compact .ids-label-text {
668
- font-size: var(--ids-input-label-font-size);
1162
+ .ids-icon-button.color-variant-alternate:hover {
1163
+ background-color: rgba(0, 0, 0, 0.3);
669
1164
  }
670
- .ids-input.compact .ids-input-field {
671
- padding-inline-start: var(--ids-space-2xs);
672
- padding-inline-end: var(--ids-space-2xs);
673
- padding-top: 0;
674
- padding-bottom: 0;
675
- font-size: var(--ids-input-font-size-sm);
676
- height: calc(var(--ids-input-height-10) - 4px);
1165
+ .ids-icon-button.color-variant-alternate.ids-trigger-button:not([readonly]):hover {
1166
+ background-color: var(--ids-search-field-header-color-icon-hover);
677
1167
  }
678
- .ids-input.compact.no-margin-bottom {
679
- margin-bottom: var(--ids-space-none);
1168
+ .ids-icon-button.color-variant-app-menu:hover {
1169
+ background-color: rgba(255, 255, 255, 0.15);
680
1170
  }
681
- .ids-input.compact.no-margin-bottom .field-container,
682
- .ids-input.compact.no-margin-bottom .ids-input-field {
683
- margin-bottom: var(--ids-space-none);
684
- height: calc(var(--ids-input-height-10) - 4px);
1171
+ .ids-icon-button.color-variant-alternate, .ids-icon-button.color-variant-alternate-formatter {
1172
+ color: var(--ids-button-alternate-color-text-default);
1173
+ opacity: 0.8;
685
1174
  }
686
- .ids-input.compact .field-container {
687
- height: calc(var(--ids-input-height-10) - 2px);
1175
+ .ids-icon-button.color-variant-alternate:not(.hide-focus).is-active, .ids-icon-button.color-variant-alternate:not(.hide-focus).is-focused, .ids-icon-button.color-variant-alternate:not(.hide-focus).focus-within, .ids-icon-button.color-variant-alternate:not(.hide-focus):focus, .ids-icon-button.color-variant-alternate-formatter:not(.hide-focus).is-active, .ids-icon-button.color-variant-alternate-formatter:not(.hide-focus).is-focused, .ids-icon-button.color-variant-alternate-formatter:not(.hide-focus).focus-within, .ids-icon-button.color-variant-alternate-formatter:not(.hide-focus):focus {
1176
+ border-color: var(--ids-button-formatter-color-border-focus);
1177
+ opacity: 1;
688
1178
  }
689
- .ids-input.color-variant-borderless {
690
- --ids-input-color-border-focus: var(--ids-color-transparent);
691
- margin: 1px;
692
- border-radius: var(--ids-border-radius-none);
1179
+ .ids-icon-button.color-variant-alternate:hover, .ids-icon-button.color-variant-alternate-formatter:hover {
1180
+ background-color: var(--ids-button-formatter-color-background-hover);
1181
+ border-color: var(--ids-color-transparent);
1182
+ color: var(--ids-button-formatter-color-text-hover);
1183
+ opacity: 1;
693
1184
  }
694
- .ids-input.color-variant-borderless input {
695
- font-size: var(--ids-font-size-sm);
1185
+ .ids-icon-button.color-variant-alternate[disabled], .ids-icon-button.color-variant-alternate-formatter[disabled] {
1186
+ background-color: var(--ids-color-transparent);
1187
+ opacity: var(--ids-button-formatter-opacity-disabled);
696
1188
  }
697
- .ids-input.color-variant-borderless slot[name=trigger-start],
698
- .ids-input.color-variant-borderless slot[name=trigger-end] {
699
- display: flex;
1189
+ .ids-icon-button.color-variant-alternate-formatter {
1190
+ background-color: var(--ids-button-formatter-color-background-default);
1191
+ border-color: var(--ids-button-formatter-color-border-default);
1192
+ color: var(--ids-button-formatter-color-text-default);
1193
+ height: var(--ids-button-formatter-size);
1194
+ min-width: var(--ids-button-formatter-size);
700
1195
  }
701
- .ids-input.color-variant-borderless .ids-label-text {
702
- display: none;
1196
+ .ids-icon-button.color-variant-alternate-formatter:not(.hide-focus).is-active, .ids-icon-button.color-variant-alternate-formatter:not(.hide-focus).is-focused, .ids-icon-button.color-variant-alternate-formatter:not(.hide-focus).focus-within, .ids-icon-button.color-variant-alternate-formatter:not(.hide-focus):focus {
1197
+ border-color: var(--ids-color-border-focus);
703
1198
  }
704
- .ids-input.color-variant-borderless .icon-dirty {
705
- display: none;
1199
+ .ids-icon-button.color-variant-alternate-formatter[disabled] {
1200
+ color: var(--ids-button-formatter-color-text-disabled);
706
1201
  }
707
- .ids-input.color-variant-borderless .validation-message {
708
- display: none;
1202
+ .ids-icon-button.color-variant-alternate-formatter:hover {
1203
+ background-color: var(--ids-button-formatter-color-background-hover);
1204
+ color: var(--ids-button-formatter-color-text-hover);
709
1205
  }
710
- .ids-input.color-variant-borderless .field-container {
711
- background-color: var(--ids-color-transparent) !important;
712
- border-color: transparent !important;
1206
+ .ids-icon-button.color-variant-alternate-formatter.is-active {
1207
+ color: var(--ids-button-formatter-color-active);
713
1208
  }
714
- .ids-input.color-variant-borderless:focus-within .field-container {
715
- box-shadow: none;
1209
+ .ids-icon-button.color-variant-alternate-formatter.ids-menu-button.compact {
1210
+ padding: var(--ids-space-2xs);
1211
+ padding-inline: var(--ids-space-2xs);
716
1212
  }
717
- .ids-input.color-variant-borderless.ids-input.field-height-lg .ids-input-field {
718
- padding-inline: calc(var(--ids-space-sm) - 2px);
1213
+ .ids-icon-button.color-variant-alternate-formatter.ids-menu-button.compact.square {
1214
+ border-radius: var(--ids-border-radius-xs);
1215
+ width: 34px;
719
1216
  }
720
- .ids-input.color-variant-borderless.ids-input.field-height-md .ids-input-field {
721
- padding-inline: calc(var(--ids-space-12) - 2px);
1217
+ .ids-icon-button.color-variant-alternate-formatter[editor-action=sourcemode], .ids-icon-button.color-variant-alternate-formatter[editor-action=editormode] {
1218
+ --ids-button-icon-width: 54px;
722
1219
  }
723
- .ids-input.color-variant-borderless.ids-input.field-height-sm .ids-input-field {
724
- padding-inline: calc(var(--ids-space-xs) - 2px);
1220
+ .ids-icon-button.color-variant-module {
1221
+ border: 0;
1222
+ color: var(--ids-button-module-color-text-default);
725
1223
  }
726
- .ids-input.color-variant-borderless.ids-input.field-height-xs .ids-input-field {
727
- font-size: var(--ids-data-grid-font-size-sm);
728
- padding-inline: var(--ids-space-3xs);
1224
+ .ids-icon-button.color-variant-module:not(.square) {
1225
+ border-radius: var(--ids-button-module-border-radius);
729
1226
  }
730
- .ids-input.color-variant-borderless.ids-input.field-height-xs slot[name=trigger-end] {
731
- padding-inline-end: var(--ids-space-none);
1227
+ .ids-icon-button.color-variant-module:hover {
1228
+ background-color: var(--ids-button-module-color-background-hover);
1229
+ color: var(--ids-button-module-color-text-hover);
732
1230
  }
733
- .ids-input.color-variant-borderless.ids-input.field-height-xxs .ids-input-field {
734
- font-size: var(--ids-data-grid-font-size-sm);
735
- padding-inline: var(--ids-space-4xs);
1231
+ .ids-icon-button {
1232
+ padding-inline-start: var(--ids-button-icon-padding);
1233
+ padding-inline-end: var(--ids-button-icon-padding);
1234
+ padding-block-start: var(--ids-button-icon-padding);
1235
+ padding-block-end: var(--ids-button-icon-padding);
736
1236
  }
737
- .ids-input.color-variant-borderless.ids-input.field-height-xxs slot[name=trigger-end] {
738
- padding-inline-end: var(--ids-space-none);
1237
+ .ids-icon-button:not(.no-padding):not(.sub-tab-button) {
1238
+ padding-inline-start: var(--ids-button-icon-padding);
1239
+ padding-inline-end: var(--ids-button-icon-padding);
1240
+ padding-top: var(--ids-button-icon-padding);
1241
+ padding-bottom: var(--ids-button-icon-padding);
739
1242
  }
740
- .ids-input.color-variant-in-cell {
741
- margin: 1px;
1243
+ .ids-icon-button:not(.no-padding):not(.sub-tab-button):not(.ids-trigger-button), .ids-icon-button:not(.no-padding):not(.sub-tab-button):not(.compact) .ids-icon-button:not(.no-padding):not(.sub-tab-button):not(.ids-sub-tab-close-button) {
1244
+ height: var(--ids-button-icon-height);
1245
+ width: var(--ids-button-icon-width);
742
1246
  }
743
- .ids-input.color-variant-in-cell input {
744
- font-size: var(--ids-font-size-sm);
1247
+ .ids-icon-button.sub-tab-button {
1248
+ padding: 0;
745
1249
  }
746
- .ids-input.color-variant-in-cell input[field-height=xxs] {
747
- --ids-dropdown-font-size-compact: var(--ids-data-grid-font-size-sm);
748
- font-size: var(--ids-data-grid-font-size-sm);
749
- padding-inline-start: 2px;
1250
+ .ids-icon-button:not(.no-padding):not(.ids-trigger-button).compact {
1251
+ height: calc(var(--ids-button-icon-compact-height) + 10px);
1252
+ width: calc(var(--ids-button-icon-compact-width) + 8px);
750
1253
  }
751
- .ids-input.color-variant-in-cell .validation-message {
752
- display: none;
1254
+ .ids-icon-button.compact {
1255
+ padding-inline-start: calc(var(--ids-space-xs) + 1px);
753
1256
  }
754
- .ids-input.color-variant-in-cell.ids-input.field-height-lg .ids-input-field {
755
- padding-inline: 11px;
756
- height: 40px;
1257
+ .ids-icon-button.compact.gen-ai-active .loading-dots {
1258
+ padding-inline-start: 1px;
757
1259
  }
758
- .ids-input.color-variant-in-cell.ids-input.full .field-container {
759
- margin-inline: 3px;
760
- width: initial;
1260
+ .ids-icon-button:not(.square) {
1261
+ border-radius: var(--ids-button-radius);
761
1262
  }
762
- .ids-input.color-variant-in-cell.ids-input.field-height-md .ids-input-field {
763
- padding-inline: 6px;
764
- height: 30px;
1263
+ .ids-icon-button.square {
1264
+ border-radius: var(--ids-border-radius-none);
765
1265
  }
766
- .ids-input.color-variant-in-cell.ids-input.field-height-sm .ids-input-field {
767
- padding-inline: var(--ids-space-2xs);
768
- height: 27px;
1266
+ .ids-icon-button.square:hover ::slotted(ids-icon[icon=logo]) {
1267
+ opacity: 1;
769
1268
  }
770
- .ids-input.color-variant-in-cell.ids-input.field-height-sm.full .field-container {
771
- margin-inline: var(--ids-space-3xs);
1269
+ .ids-icon-button .ids-icon:not(.dropdown-icon) {
1270
+ display: block;
1271
+ padding-inline-start: var(--ids-space-3xs);
1272
+ font-size: 0;
1273
+ padding-block-start: var(--ids-space-3xs);
772
1274
  }
773
- .ids-input.color-variant-in-cell.ids-input.field-height-xs .ids-input-field {
774
- padding-inline: 1px;
775
- height: 24px;
1275
+ .ids-icon-button span.audible {
1276
+ clip: rect(0, 0, 0, 0);
1277
+ height: 0;
1278
+ line-height: 0;
1279
+ min-height: 0;
1280
+ overflow: hidden;
1281
+ padding: 0;
1282
+ position: absolute;
1283
+ width: 1px;
776
1284
  }
777
- .ids-input.color-variant-in-cell.ids-input.field-height-xs.full .field-container {
778
- margin-inline: 1px;
1285
+ .ids-icon-button.no-margins {
1286
+ margin-inline-start: var(--ids-space-none);
1287
+ margin-inline-end: var(--ids-space-none);
779
1288
  }
780
- .ids-input.color-variant-module-nav {
781
- margin-block-end: var(--ids-space-none);
782
- transform: background-color var(--ids-motion-duration) var(--ids-motion-ease), border-color var(--ids-motion-duration) var(--ids-motion-ease), color var(--ids-motion-duration) var(--ids-motion-ease);
1289
+
1290
+ :host([field-height]) .ids-menu-button.field-height-lg {
1291
+ height: var(--ids-button-menu-field-height-lg);
783
1292
  }
784
- .ids-input.color-variant-module-nav .field-container {
785
- border-radius: var(--ids-module-nav-common-border-radius);
786
- border: var(--ids-module-nav-input-border-width) solid transparent;
1293
+ :host([field-height]) .ids-menu-button.field-height-md {
1294
+ height: var(--ids-button-menu-field-height-md);
787
1295
  }
788
- .ids-input.color-variant-module-nav input {
789
- background-color: var(--ids-color-transparent);
790
- color: inherit;
1296
+ :host([field-height]) .ids-menu-button.field-height-sm {
1297
+ height: var(--ids-button-menu-field-height-sm);
791
1298
  }
792
- .ids-input.color-variant-module-nav input::placeholder {
793
- color: var(--ids-module-nav-search-input-placeholder-text-color);
1299
+ :host([field-height]) .ids-menu-button.field-height-xs {
1300
+ height: var(--ids-button-menu-field-height-xs);
794
1301
  }
795
- .ids-input.color-variant-module-nav input:active {
796
- color: var(--ids-module-nav-search-input-text-color);
1302
+
1303
+ .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus).is-active:not([readonly]), .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus).is-focused:not([readonly]), .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus).focus-within:not([readonly]), .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus):focus:not([readonly]),
1304
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus).is-active:not([readonly]),
1305
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus).is-focused:not([readonly]),
1306
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus).focus-within:not([readonly]),
1307
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus):focus:not([readonly]),
1308
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus).is-active:not([readonly]),
1309
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus).is-focused:not([readonly]),
1310
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus).focus-within:not([readonly]),
1311
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai):not(.hide-focus):focus:not([readonly]) {
1312
+ box-shadow: var(--ids-button-tertiary-shadow-focus);
1313
+ }
1314
+ .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus).is-active, .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus).is-focused, .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus).focus-within, .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus):focus,
1315
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus).is-active,
1316
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus).is-focused,
1317
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus).focus-within,
1318
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus):focus,
1319
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus).is-active,
1320
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus).is-focused,
1321
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus).focus-within,
1322
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate:not(.hide-focus):focus {
1323
+ box-shadow: var(--ids-box-shadow-inverse);
1324
+ }
1325
+ .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus).is-active, .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus).is-focused, .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus).focus-within, .ids-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus):focus,
1326
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus).is-active,
1327
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus).is-focused,
1328
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus).focus-within,
1329
+ .ids-icon-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus):focus,
1330
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus).is-active,
1331
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus).is-focused,
1332
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus).focus-within,
1333
+ .ids-menu-button:not(.btn-primary):not(.btn-secondary):not(.btn-primary-destructive):not(.btn-tertiary-destructive):not(.btn-primary-generative-ai):not(.btn-secondary-generative-ai):not(.btn-tertiary-generative-ai).color-variant-alternate-formatter:not(.hide-focus):focus {
1334
+ box-shadow: var(--ids-shadow-20);
1335
+ }
1336
+ .ids-button.btn-tertiary-destructive:not(.hide-focus).is-active, .ids-button.btn-tertiary-destructive:not(.hide-focus).is-focused, .ids-button.btn-tertiary-destructive:not(.hide-focus).focus-within, .ids-button.btn-tertiary-destructive:not(.hide-focus):focus,
1337
+ .ids-icon-button.btn-tertiary-destructive:not(.hide-focus).is-active,
1338
+ .ids-icon-button.btn-tertiary-destructive:not(.hide-focus).is-focused,
1339
+ .ids-icon-button.btn-tertiary-destructive:not(.hide-focus).focus-within,
1340
+ .ids-icon-button.btn-tertiary-destructive:not(.hide-focus):focus,
1341
+ .ids-menu-button.btn-tertiary-destructive:not(.hide-focus).is-active,
1342
+ .ids-menu-button.btn-tertiary-destructive:not(.hide-focus).is-focused,
1343
+ .ids-menu-button.btn-tertiary-destructive:not(.hide-focus).focus-within,
1344
+ .ids-menu-button.btn-tertiary-destructive:not(.hide-focus):focus {
1345
+ box-shadow: var(--ids-button-destructive-tertiary-shadow-focus);
1346
+ }
1347
+ .ids-button.btn-primary:not(.hide-focus).is-active, .ids-button.btn-primary:not(.hide-focus).is-focused, .ids-button.btn-primary:not(.hide-focus).focus-within, .ids-button.btn-primary:not(.hide-focus):focus,
1348
+ .ids-icon-button.btn-primary:not(.hide-focus).is-active,
1349
+ .ids-icon-button.btn-primary:not(.hide-focus).is-focused,
1350
+ .ids-icon-button.btn-primary:not(.hide-focus).focus-within,
1351
+ .ids-icon-button.btn-primary:not(.hide-focus):focus,
1352
+ .ids-menu-button.btn-primary:not(.hide-focus).is-active,
1353
+ .ids-menu-button.btn-primary:not(.hide-focus).is-focused,
1354
+ .ids-menu-button.btn-primary:not(.hide-focus).focus-within,
1355
+ .ids-menu-button.btn-primary:not(.hide-focus):focus {
1356
+ box-shadow: var(--ids-button-primary-shadow-focus);
1357
+ }
1358
+ .ids-button.btn-primary.color-variant-alternate:not(.hide-focus).is-active, .ids-button.btn-primary.color-variant-alternate:not(.hide-focus).is-focused, .ids-button.btn-primary.color-variant-alternate:not(.hide-focus).focus-within, .ids-button.btn-primary.color-variant-alternate:not(.hide-focus):focus,
1359
+ .ids-icon-button.btn-primary.color-variant-alternate:not(.hide-focus).is-active,
1360
+ .ids-icon-button.btn-primary.color-variant-alternate:not(.hide-focus).is-focused,
1361
+ .ids-icon-button.btn-primary.color-variant-alternate:not(.hide-focus).focus-within,
1362
+ .ids-icon-button.btn-primary.color-variant-alternate:not(.hide-focus):focus,
1363
+ .ids-menu-button.btn-primary.color-variant-alternate:not(.hide-focus).is-active,
1364
+ .ids-menu-button.btn-primary.color-variant-alternate:not(.hide-focus).is-focused,
1365
+ .ids-menu-button.btn-primary.color-variant-alternate:not(.hide-focus).focus-within,
1366
+ .ids-menu-button.btn-primary.color-variant-alternate:not(.hide-focus):focus {
1367
+ box-shadow: 0 0 0 2px var(--ids-color-primary-70), 0 0 0 3px var(--ids-color-text-on-primary);
1368
+ }
1369
+ .ids-button.btn-primary-destructive:not(.hide-focus).is-active, .ids-button.btn-primary-destructive:not(.hide-focus).is-focused, .ids-button.btn-primary-destructive:not(.hide-focus).focus-within, .ids-button.btn-primary-destructive:not(.hide-focus):focus,
1370
+ .ids-icon-button.btn-primary-destructive:not(.hide-focus).is-active,
1371
+ .ids-icon-button.btn-primary-destructive:not(.hide-focus).is-focused,
1372
+ .ids-icon-button.btn-primary-destructive:not(.hide-focus).focus-within,
1373
+ .ids-icon-button.btn-primary-destructive:not(.hide-focus):focus,
1374
+ .ids-menu-button.btn-primary-destructive:not(.hide-focus).is-active,
1375
+ .ids-menu-button.btn-primary-destructive:not(.hide-focus).is-focused,
1376
+ .ids-menu-button.btn-primary-destructive:not(.hide-focus).focus-within,
1377
+ .ids-menu-button.btn-primary-destructive:not(.hide-focus):focus {
1378
+ box-shadow: 0 0 0 2px var(--ids-color-background-default), 0 0 0 3px var(--ids-color-error-default);
1379
+ }
1380
+ .ids-button.btn-secondary:not(.hide-focus).is-active, .ids-button.btn-secondary:not(.hide-focus).is-focused, .ids-button.btn-secondary:not(.hide-focus).focus-within, .ids-button.btn-secondary:not(.hide-focus):focus,
1381
+ .ids-icon-button.btn-secondary:not(.hide-focus).is-active,
1382
+ .ids-icon-button.btn-secondary:not(.hide-focus).is-focused,
1383
+ .ids-icon-button.btn-secondary:not(.hide-focus).focus-within,
1384
+ .ids-icon-button.btn-secondary:not(.hide-focus):focus,
1385
+ .ids-menu-button.btn-secondary:not(.hide-focus).is-active,
1386
+ .ids-menu-button.btn-secondary:not(.hide-focus).is-focused,
1387
+ .ids-menu-button.btn-secondary:not(.hide-focus).focus-within,
1388
+ .ids-menu-button.btn-secondary:not(.hide-focus):focus {
1389
+ box-shadow: var(--ids-button-secondary-shadow-focus);
1390
+ }
1391
+ .ids-button.btn-primary-generative-ai:not(.hide-focus).is-active, .ids-button.btn-primary-generative-ai:not(.hide-focus).is-focused, .ids-button.btn-primary-generative-ai:not(.hide-focus).focus-within, .ids-button.btn-primary-generative-ai:not(.hide-focus):focus,
1392
+ .ids-icon-button.btn-primary-generative-ai:not(.hide-focus).is-active,
1393
+ .ids-icon-button.btn-primary-generative-ai:not(.hide-focus).is-focused,
1394
+ .ids-icon-button.btn-primary-generative-ai:not(.hide-focus).focus-within,
1395
+ .ids-icon-button.btn-primary-generative-ai:not(.hide-focus):focus,
1396
+ .ids-menu-button.btn-primary-generative-ai:not(.hide-focus).is-active,
1397
+ .ids-menu-button.btn-primary-generative-ai:not(.hide-focus).is-focused,
1398
+ .ids-menu-button.btn-primary-generative-ai:not(.hide-focus).focus-within,
1399
+ .ids-menu-button.btn-primary-generative-ai:not(.hide-focus):focus {
1400
+ box-shadow: var(--ids-button-ai-shadow-focus);
1401
+ border-color: var(--ids-color-transparent);
797
1402
  }
798
- .ids-input.color-variant-module-nav:not([class*=field-height-]) {
799
- height: var(--ids-module-nav-search-wrapper-height);
1403
+ .ids-button.btn-tertiary-generative-ai:not(.hide-focus).is-active, .ids-button.btn-tertiary-generative-ai:not(.hide-focus).is-focused, .ids-button.btn-tertiary-generative-ai:not(.hide-focus).focus-within, .ids-button.btn-tertiary-generative-ai:not(.hide-focus):focus, .ids-button.btn-secondary-generative-ai:not(.hide-focus).is-active, .ids-button.btn-secondary-generative-ai:not(.hide-focus).is-focused, .ids-button.btn-secondary-generative-ai:not(.hide-focus).focus-within, .ids-button.btn-secondary-generative-ai:not(.hide-focus):focus,
1404
+ .ids-icon-button.btn-tertiary-generative-ai:not(.hide-focus).is-active,
1405
+ .ids-icon-button.btn-tertiary-generative-ai:not(.hide-focus).is-focused,
1406
+ .ids-icon-button.btn-tertiary-generative-ai:not(.hide-focus).focus-within,
1407
+ .ids-icon-button.btn-tertiary-generative-ai:not(.hide-focus):focus,
1408
+ .ids-icon-button.btn-secondary-generative-ai:not(.hide-focus).is-active,
1409
+ .ids-icon-button.btn-secondary-generative-ai:not(.hide-focus).is-focused,
1410
+ .ids-icon-button.btn-secondary-generative-ai:not(.hide-focus).focus-within,
1411
+ .ids-icon-button.btn-secondary-generative-ai:not(.hide-focus):focus,
1412
+ .ids-menu-button.btn-tertiary-generative-ai:not(.hide-focus).is-active,
1413
+ .ids-menu-button.btn-tertiary-generative-ai:not(.hide-focus).is-focused,
1414
+ .ids-menu-button.btn-tertiary-generative-ai:not(.hide-focus).focus-within,
1415
+ .ids-menu-button.btn-tertiary-generative-ai:not(.hide-focus):focus,
1416
+ .ids-menu-button.btn-secondary-generative-ai:not(.hide-focus).is-active,
1417
+ .ids-menu-button.btn-secondary-generative-ai:not(.hide-focus).is-focused,
1418
+ .ids-menu-button.btn-secondary-generative-ai:not(.hide-focus).focus-within,
1419
+ .ids-menu-button.btn-secondary-generative-ai:not(.hide-focus):focus {
1420
+ box-shadow: var(--ids-button-tertiary-ai-shadow-focus);
1421
+ border-color: var(--ids-button-ai-color-icon-secondary-hover);
800
1422
  }
801
- .ids-input.color-variant-module-nav:not([class*=field-height-]) input {
802
- height: var(--ids-module-nav-search-input-height);
1423
+
1424
+ .ids-modal-button:not(.ids-modal-icon-button) {
1425
+ box-shadow: var(--ids-shadow-none);
1426
+ font-weight: var(--ids-font-weight-normal);
1427
+ font-family: var(--ids-font-family-default), var(--ids-font-family-system-sans);
1428
+ font-size: var(--ids-font-size-sm);
1429
+ overflow: hidden;
1430
+ padding-bottom: calc(var(--ids-space-xs) - 2px);
1431
+ padding-top: calc(var(--ids-space-xs) - 2px);
1432
+ position: relative;
1433
+ /* stylelint-disable-next-line no-duplicate-selectors */
803
1434
  }
804
- .ids-input:not([class*=color-variant-]) .field-container:not(:focus-within) {
805
- background-color: var(--ids-input-color-background-default);
806
- border-color: var(--ids-input-color-border-default);
807
- color: var(--ids-input-color-text-default);
1435
+ .ids-modal-button:not(.ids-modal-icon-button), .ids-modal-button:not(.ids-modal-icon-button)::before, .ids-modal-button:not(.ids-modal-icon-button)::after {
1436
+ box-sizing: border-box;
808
1437
  }
809
- .ids-input:not([class*=color-variant-]).readonly .field-container.error, .ids-input:not([class*=color-variant-]).readonly .field-container.error:hover, .ids-input:not([class*=color-variant-]).readonly.hover .field-container.error, .ids-input:not([class*=color-variant-]).readonly.hover .field-container.error:hover, .ids-input:not([class*=color-variant-]).readonly.focus-within .field-container.error, .ids-input:not([class*=color-variant-]).readonly.focus-within .field-container.error:hover {
810
- border-color: var(--ids-color-error-default);
811
- color: var(--ids-color-error-default);
1438
+ .ids-modal-button:not(.ids-modal-icon-button) * {
1439
+ pointer-events: none;
812
1440
  }
813
- .ids-input:not([class*=color-variant-]).readonly:not(.readonly-background):not(.bg-transparent) .field-container, .ids-input:not([class*=color-variant-]).readonly:not(.readonly-background):not(.bg-transparent).hover .field-container, .ids-input:not([class*=color-variant-]).readonly:not(.readonly-background):not(.bg-transparent).focus-within .field-container {
814
- background-color: var(--ids-input-color-background-readonly);
1441
+ .ids-modal-button:not(.ids-modal-icon-button) {
1442
+ border: 1px solid transparent;
1443
+ background-color: var(--ids-color-transparent);
1444
+ color: var(--ids-button-color-text-default);
1445
+ transition: background-color var(--ids-motion-duration) var(--ids-motion-ease), border-color var(--ids-motion-duration) var(--ids-motion-ease), color var(--ids-motion-duration) var(--ids-motion-ease), opacity var(--ids-motion-duration) var(--ids-motion-ease);
1446
+ white-space: nowrap;
815
1447
  }
816
- .ids-input:not([class*=color-variant-]).disabled .field-container, .ids-input:not([class*=color-variant-]).disabled:hover .field-container, .ids-input:not([class*=color-variant-]).disabled:focus-within .field-container {
817
- border-color: var(--ids-input-color-border-disabled);
818
- color: var(--ids-input-color-text-disabled);
819
- opacity: var(--ids-input-disabled-opacity);
820
- -webkit-text-fill-color: var(--ids-input-color-text-disabled);
1448
+ .ids-modal-button:not(.ids-modal-icon-button):focus {
1449
+ outline: none;
1450
+ outline-color: var(--ids-color-transparent);
821
1451
  }
822
- .ids-input:not([class*=color-variant-]).bg-transparent .field-container, .ids-input:not([class*=color-variant-]).bg-transparent.readonly .field-container, .ids-input:not([class*=color-variant-]).bg-transparent.disabled .field-container {
823
- background-color: var(--ids-color-transparent);
1452
+ .ids-modal-button:not(.ids-modal-icon-button):not([disabled]) {
1453
+ cursor: var(--ids-cursor-pointer);
824
1454
  }
825
- .ids-input:not([class*=color-variant-]).bg-transparent:focus-within .field-container {
826
- background-color: var(--ids-color-transparent);
1455
+ .ids-modal-button:not(.ids-modal-icon-button) span {
1456
+ vertical-align: bottom;
827
1457
  }
828
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container {
829
- border-color: var(--ids-input-color-border-hover);
830
- }
831
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert,
832
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover,
833
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning,
834
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .alert,
835
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .alert:hover,
836
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .warning,
837
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .warning:hover {
838
- border-color: var(--ids-input-color-border-alert-default);
839
- color: var(--ids-input-color-text-alert-default);
840
- }
841
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:focus-within, .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert.is-active,
842
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover:focus-within,
843
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover.is-active,
844
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:focus-within,
845
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning.is-active,
846
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover:focus-within,
847
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover.is-active, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .alert:focus-within, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .alert.is-active,
848
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .alert:hover:focus-within,
849
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .alert:hover.is-active,
850
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .warning:focus-within,
851
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .warning.is-active,
852
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .warning:hover:focus-within,
853
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .warning:hover.is-active {
854
- border-color: var(--ids-input-color-border-alert-default);
855
- box-shadow: var(--ids-input-shadow-alert-focus) 0 0 3px 2px;
856
- }
857
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert[disabled],
858
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .alert:hover[disabled],
859
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning[disabled],
860
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .warning:hover[disabled], .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .alert[disabled],
861
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .alert:hover[disabled],
862
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .warning[disabled],
863
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .warning:hover[disabled] {
864
- border-color: var(--ids-input-color-border-alert-disabled);
865
- color: var(--ids-input-color-text-alert-disabled);
866
- }
867
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error,
868
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error,
869
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error:hover {
870
- border-color: var(--ids-input-color-border-error-default);
871
- color: var(--ids-input-error-color-text-error-default);
872
- }
873
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error.field-container:not(:focus-within),
874
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover.field-container:not(:focus-within), .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error.field-container:not(:focus-within),
875
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error:hover.field-container:not(:focus-within) {
876
- border-color: var(--ids-input-color-border-error-default);
877
- color: var(--ids-input-error-color-text-error-default);
878
- }
879
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:focus-within, .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error.is-active,
880
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover:focus-within,
881
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover.is-active, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error:focus-within, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error.is-active,
882
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error:hover:focus-within,
883
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error:hover.is-active {
884
- border-color: var(--ids-input-color-border-error-default);
885
- box-shadow: var(--ids-input-color-shadow-error-focus) 0 0 3px 2px;
886
- }
887
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error[disabled],
888
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .field-container.error:hover[disabled], .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error[disabled],
889
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .field-container.error:hover[disabled] {
890
- border-color: var(--ids-input-color-border-error-disabled);
891
- color: var(--ids-input-color-border-error-disabled);
892
- }
893
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info,
894
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .info,
895
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .info:hover {
896
- border-color: var(--ids-input-color-border-info-default);
897
- color: var(--ids-input-color-text-info-default);
898
- }
899
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:focus-within, .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info.is-active,
900
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover:focus-within,
901
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover.is-active, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .info:focus-within, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .info.is-active,
902
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .info:hover:focus-within,
903
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .info:hover.is-active {
904
- border-color: var(--ids-input-color-border-info-default);
905
- box-shadow: var(--ids-input-shadow-info-focus) 0 0 3px 2px;
906
- }
907
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info[disabled],
908
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .info:hover[disabled], .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .info[disabled],
909
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .info:hover[disabled] {
910
- border-color: var(--ids-input-color-border-info-disabled);
911
- color: var(--ids-input-color-text-info-disabled);
912
- }
913
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success,
914
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .success,
915
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .success:hover {
916
- border-color: var(--ids-input-color-border-success-default);
917
- color: var(--ids-input-color-text-success-default);
918
- }
919
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:focus-within, .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success.is-active,
920
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover:focus-within,
921
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover.is-active, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .success:focus-within, .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .success.is-active,
922
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .success:hover:focus-within,
923
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .success:hover.is-active {
924
- border-color: var(--ids-input-color-border-success-default);
925
- box-shadow: var(--ids-input-shadow-success-focus) 0 0 3px 2px;
926
- }
927
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success[disabled],
928
- .ids-input:not([class*=color-variant-]):hover:not(.readonly):not(.disabled):not(:focus):not(:focus-within) .success:hover[disabled], .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .success[disabled],
929
- .ids-input:not([class*=color-variant-]):hover.readonly.readonly-background .success:hover[disabled] {
930
- border-color: var(--ids-input-color-border-success-disabled);
931
- color: var(--ids-input-color-text-success-disabled);
932
- }
933
- .ids-input:not([class*=color-variant-]).is-active .field-container, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container {
934
- border-color: var(--ids-input-color-border-focus);
935
- }
936
- .ids-input:not([class*=color-variant-]).is-active .alert,
937
- .ids-input:not([class*=color-variant-]).is-active .alert:hover,
938
- .ids-input:not([class*=color-variant-]).is-active .warning,
939
- .ids-input:not([class*=color-variant-]).is-active .warning:hover, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert,
940
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover,
941
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning,
942
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover {
943
- border-color: var(--ids-input-color-border-alert-default);
944
- color: var(--ids-input-color-text-alert-default);
945
- }
946
- .ids-input:not([class*=color-variant-]).is-active .alert:focus-within, .ids-input:not([class*=color-variant-]).is-active .alert.is-active,
947
- .ids-input:not([class*=color-variant-]).is-active .alert:hover:focus-within,
948
- .ids-input:not([class*=color-variant-]).is-active .alert:hover.is-active,
949
- .ids-input:not([class*=color-variant-]).is-active .warning:focus-within,
950
- .ids-input:not([class*=color-variant-]).is-active .warning.is-active,
951
- .ids-input:not([class*=color-variant-]).is-active .warning:hover:focus-within,
952
- .ids-input:not([class*=color-variant-]).is-active .warning:hover.is-active, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:focus-within, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert.is-active,
953
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover:focus-within,
954
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover.is-active,
955
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:focus-within,
956
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning.is-active,
957
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover:focus-within,
958
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover.is-active {
959
- border-color: var(--ids-input-color-border-alert-default);
960
- box-shadow: var(--ids-input-shadow-alert-focus) 0 0 3px 2px;
961
- }
962
- .ids-input:not([class*=color-variant-]).is-active .alert[disabled],
963
- .ids-input:not([class*=color-variant-]).is-active .alert:hover[disabled],
964
- .ids-input:not([class*=color-variant-]).is-active .warning[disabled],
965
- .ids-input:not([class*=color-variant-]).is-active .warning:hover[disabled], .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert[disabled],
966
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .alert:hover[disabled],
967
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning[disabled],
968
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .warning:hover[disabled] {
969
- border-color: var(--ids-input-color-border-alert-disabled);
970
- color: var(--ids-input-color-text-alert-disabled);
971
- }
972
- .ids-input:not([class*=color-variant-]).is-active .field-container.error,
973
- .ids-input:not([class*=color-variant-]).is-active .field-container.error:hover, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error,
974
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover {
975
- border-color: var(--ids-input-color-border-error-default);
976
- color: var(--ids-input-error-color-text-error-default);
977
- }
978
- .ids-input:not([class*=color-variant-]).is-active .field-container.error.field-container:not(:focus-within),
979
- .ids-input:not([class*=color-variant-]).is-active .field-container.error:hover.field-container:not(:focus-within), .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error.field-container:not(:focus-within),
980
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover.field-container:not(:focus-within) {
981
- border-color: var(--ids-input-color-border-error-default);
982
- color: var(--ids-input-error-color-text-error-default);
983
- }
984
- .ids-input:not([class*=color-variant-]).is-active .field-container.error:focus-within, .ids-input:not([class*=color-variant-]).is-active .field-container.error.is-active,
985
- .ids-input:not([class*=color-variant-]).is-active .field-container.error:hover:focus-within,
986
- .ids-input:not([class*=color-variant-]).is-active .field-container.error:hover.is-active, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:focus-within, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error.is-active,
987
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover:focus-within,
988
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover.is-active {
989
- border-color: var(--ids-input-color-border-error-default);
990
- box-shadow: var(--ids-input-color-shadow-error-focus) 0 0 3px 2px;
991
- }
992
- .ids-input:not([class*=color-variant-]).is-active .field-container.error[disabled],
993
- .ids-input:not([class*=color-variant-]).is-active .field-container.error:hover[disabled], .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error[disabled],
994
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .field-container.error:hover[disabled] {
995
- border-color: var(--ids-input-color-border-error-disabled);
996
- color: var(--ids-input-color-border-error-disabled);
997
- }
998
- .ids-input:not([class*=color-variant-]).is-active .info,
999
- .ids-input:not([class*=color-variant-]).is-active .info:hover, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info,
1000
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover {
1001
- border-color: var(--ids-input-color-border-info-default);
1002
- color: var(--ids-input-color-text-info-default);
1003
- }
1004
- .ids-input:not([class*=color-variant-]).is-active .info:focus-within, .ids-input:not([class*=color-variant-]).is-active .info.is-active,
1005
- .ids-input:not([class*=color-variant-]).is-active .info:hover:focus-within,
1006
- .ids-input:not([class*=color-variant-]).is-active .info:hover.is-active, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:focus-within, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info.is-active,
1007
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover:focus-within,
1008
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover.is-active {
1009
- border-color: var(--ids-input-color-border-info-default);
1010
- box-shadow: var(--ids-input-shadow-info-focus) 0 0 3px 2px;
1011
- }
1012
- .ids-input:not([class*=color-variant-]).is-active .info[disabled],
1013
- .ids-input:not([class*=color-variant-]).is-active .info:hover[disabled], .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info[disabled],
1014
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .info:hover[disabled] {
1015
- border-color: var(--ids-input-color-border-info-disabled);
1016
- color: var(--ids-input-color-text-info-disabled);
1017
- }
1018
- .ids-input:not([class*=color-variant-]).is-active .success,
1019
- .ids-input:not([class*=color-variant-]).is-active .success:hover, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success,
1020
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover {
1021
- border-color: var(--ids-input-color-border-success-default);
1022
- color: var(--ids-input-color-text-success-default);
1023
- }
1024
- .ids-input:not([class*=color-variant-]).is-active .success:focus-within, .ids-input:not([class*=color-variant-]).is-active .success.is-active,
1025
- .ids-input:not([class*=color-variant-]).is-active .success:hover:focus-within,
1026
- .ids-input:not([class*=color-variant-]).is-active .success:hover.is-active, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:focus-within, .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success.is-active,
1027
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover:focus-within,
1028
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover.is-active {
1029
- border-color: var(--ids-input-color-border-success-default);
1030
- box-shadow: var(--ids-input-shadow-success-focus) 0 0 3px 2px;
1031
- }
1032
- .ids-input:not([class*=color-variant-]).is-active .success[disabled],
1033
- .ids-input:not([class*=color-variant-]).is-active .success:hover[disabled], .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success[disabled],
1034
- .ids-input:not([class*=color-variant-]).is-active:hover.readonly.readonly-background .success:hover[disabled] {
1035
- border-color: var(--ids-input-color-border-success-disabled);
1036
- color: var(--ids-input-color-text-success-disabled);
1037
- }
1038
- .ids-input:not([class*=color-variant-]):hover:not(.disabled).readonly.readonly-background.color-variant-alternate-formatter .field-container {
1039
- border-color: var(--ids-data-grid-filter-input-color-border-hover);
1040
- }
1041
- .ids-input:not([class*=color-variant-]) .alert,
1042
- .ids-input:not([class*=color-variant-]) .alert:hover,
1043
- .ids-input:not([class*=color-variant-]) .warning,
1044
- .ids-input:not([class*=color-variant-]) .warning:hover {
1045
- border-color: var(--ids-input-color-border-alert-default);
1046
- color: var(--ids-input-color-text-alert-default);
1047
- }
1048
- .ids-input:not([class*=color-variant-]) .alert:focus-within, .ids-input:not([class*=color-variant-]) .alert.is-active,
1049
- .ids-input:not([class*=color-variant-]) .alert:hover:focus-within,
1050
- .ids-input:not([class*=color-variant-]) .alert:hover.is-active,
1051
- .ids-input:not([class*=color-variant-]) .warning:focus-within,
1052
- .ids-input:not([class*=color-variant-]) .warning.is-active,
1053
- .ids-input:not([class*=color-variant-]) .warning:hover:focus-within,
1054
- .ids-input:not([class*=color-variant-]) .warning:hover.is-active {
1055
- border-color: var(--ids-input-color-border-alert-default);
1056
- box-shadow: var(--ids-input-shadow-alert-focus) 0 0 3px 2px;
1057
- }
1058
- .ids-input:not([class*=color-variant-]) .alert[disabled],
1059
- .ids-input:not([class*=color-variant-]) .alert:hover[disabled],
1060
- .ids-input:not([class*=color-variant-]) .warning[disabled],
1061
- .ids-input:not([class*=color-variant-]) .warning:hover[disabled] {
1062
- border-color: var(--ids-input-color-border-alert-disabled);
1063
- color: var(--ids-input-color-text-alert-disabled);
1064
- }
1065
- .ids-input:not([class*=color-variant-]) .field-container.error,
1066
- .ids-input:not([class*=color-variant-]) .field-container.error:hover {
1067
- border-color: var(--ids-input-color-border-error-default);
1068
- color: var(--ids-input-error-color-text-error-default);
1069
- }
1070
- .ids-input:not([class*=color-variant-]) .field-container.error.field-container:not(:focus-within),
1071
- .ids-input:not([class*=color-variant-]) .field-container.error:hover.field-container:not(:focus-within) {
1072
- border-color: var(--ids-input-color-border-error-default);
1073
- color: var(--ids-input-error-color-text-error-default);
1074
- }
1075
- .ids-input:not([class*=color-variant-]) .field-container.error:focus-within, .ids-input:not([class*=color-variant-]) .field-container.error.is-active,
1076
- .ids-input:not([class*=color-variant-]) .field-container.error:hover:focus-within,
1077
- .ids-input:not([class*=color-variant-]) .field-container.error:hover.is-active {
1078
- border-color: var(--ids-input-color-border-error-default);
1079
- box-shadow: var(--ids-input-color-shadow-error-focus) 0 0 3px 2px;
1080
- }
1081
- .ids-input:not([class*=color-variant-]) .field-container.error[disabled],
1082
- .ids-input:not([class*=color-variant-]) .field-container.error:hover[disabled] {
1083
- border-color: var(--ids-input-color-border-error-disabled);
1084
- color: var(--ids-input-color-border-error-disabled);
1085
- }
1086
- .ids-input:not([class*=color-variant-]) .info,
1087
- .ids-input:not([class*=color-variant-]) .info:hover {
1088
- border-color: var(--ids-input-color-border-info-default);
1089
- color: var(--ids-input-color-text-info-default);
1090
- }
1091
- .ids-input:not([class*=color-variant-]) .info:focus-within, .ids-input:not([class*=color-variant-]) .info.is-active,
1092
- .ids-input:not([class*=color-variant-]) .info:hover:focus-within,
1093
- .ids-input:not([class*=color-variant-]) .info:hover.is-active {
1094
- border-color: var(--ids-input-color-border-info-default);
1095
- box-shadow: var(--ids-input-shadow-info-focus) 0 0 3px 2px;
1096
- }
1097
- .ids-input:not([class*=color-variant-]) .info[disabled],
1098
- .ids-input:not([class*=color-variant-]) .info:hover[disabled] {
1099
- border-color: var(--ids-input-color-border-info-disabled);
1100
- color: var(--ids-input-color-text-info-disabled);
1101
- }
1102
- .ids-input:not([class*=color-variant-]) .success,
1103
- .ids-input:not([class*=color-variant-]) .success:hover {
1104
- border-color: var(--ids-input-color-border-success-default);
1105
- color: var(--ids-input-color-text-success-default);
1106
- }
1107
- .ids-input:not([class*=color-variant-]) .success:focus-within, .ids-input:not([class*=color-variant-]) .success.is-active,
1108
- .ids-input:not([class*=color-variant-]) .success:hover:focus-within,
1109
- .ids-input:not([class*=color-variant-]) .success:hover.is-active {
1110
- border-color: var(--ids-input-color-border-success-default);
1111
- box-shadow: var(--ids-input-shadow-success-focus) 0 0 3px 2px;
1112
- }
1113
- .ids-input:not([class*=color-variant-]) .success[disabled],
1114
- .ids-input:not([class*=color-variant-]) .success:hover[disabled] {
1115
- border-color: var(--ids-input-color-border-success-disabled);
1116
- color: var(--ids-input-color-text-success-disabled);
1117
- }
1118
- .ids-input.color-variant-alternate .field-container {
1119
- border-color: var(--ids-input-header-color-border);
1120
- color: var(--ids-input-header-color-text-default);
1121
- background-color: var(--ids-input-header-color-background);
1122
- border-bottom: 1px solid var(--ids-input-header-color-border);
1123
- box-shadow: none;
1458
+ .ids-modal-button:not(.ids-modal-icon-button) span.audible {
1459
+ clip: rect(0, 0, 0, 0);
1460
+ height: 0;
1461
+ line-height: 0;
1462
+ min-height: 0;
1463
+ overflow: hidden;
1464
+ padding: 0;
1465
+ position: absolute;
1466
+ width: 1px;
1124
1467
  }
1125
- .ids-input.color-variant-alternate:focus-within .field-container {
1126
- border-color: var(--ids-input-color-border-focus);
1127
- box-shadow: var(--ids-input-color-border-shadow);
1468
+ .ids-modal-button:not(.ids-modal-icon-button):not(.color-variant-module-nav):not(.ids-icon-button):not(.align-icon-end):not(.compact) ::slotted(ids-icon:not([icon=genai])) {
1469
+ margin-inline-end: calc(var(--ids-space-2xs) + 3px);
1128
1470
  }
1129
- .ids-input.color-variant-alternate .ids-input-field {
1130
- color: var(--ids-input-header-color-text-default);
1471
+ .ids-modal-button:not(.ids-modal-icon-button) .ids-icon {
1472
+ vertical-align: middle;
1131
1473
  }
1132
- .ids-input.color-variant-alternate .ids-input-field::placeholder {
1133
- color: var(--ids-input-header-color-text-placeholder);
1474
+ .ids-modal-button:not(.ids-modal-icon-button).align-icon-end ::slotted(ids-icon) {
1475
+ margin-inline-start: var(--ids-space-2xs);
1134
1476
  }
1135
- .ids-input.color-variant-alternate.readonly-background .ids-input-field::placeholder {
1136
- color: var(--ids-input-header-color-text-placeholder);
1477
+ .ids-modal-button:not(.ids-modal-icon-button).content-align-start {
1478
+ justify-content: start;
1479
+ }
1480
+ .ids-modal-button:not(.ids-modal-icon-button).content-align-end {
1481
+ justify-content: end;
1482
+ }
1483
+ .ids-modal-button:not(.ids-modal-icon-button).no-margins {
1484
+ margin-inline: var(--ids-space-none);
1485
+ }
1486
+ .ids-modal-button:not(.ids-modal-icon-button).field-height-xxs:not(.btn-secondary):not(.no-margins) {
1487
+ margin-block-start: 3px;
1488
+ margin-inline-end: -2px;
1489
+ height: 22px;
1490
+ width: 22px;
1491
+ }
1492
+ .ids-modal-button:not(.ids-modal-icon-button) ::slotted(span) {
1493
+ font-weight: inherit !important;
1494
+ }
1495
+ .ids-modal-button:not(.ids-modal-icon-button).btn-primary {
1496
+ background-color: var(--ids-button-primary-color-background-default);
1497
+ border-color: var(--ids-button-primary-color-border-default);
1498
+ border: 1px solid var(--ids-button-primary-color-border-default);
1499
+ color: var(--ids-button-primary-color-text-default);
1500
+ padding-bottom: calc(var(--ids-space-xs) - 2px);
1501
+ padding-top: calc(var(--ids-space-xs) - 2px);
1502
+ padding-inline: var(--ids-button-padding-inline);
1503
+ border-radius: var(--ids-button-radius);
1504
+ }
1505
+ .ids-modal-button:not(.ids-modal-icon-button).btn-primary:not(.hide-focus).is-active, .ids-modal-button:not(.ids-modal-icon-button).btn-primary:not(.hide-focus).is-focused, .ids-modal-button:not(.ids-modal-icon-button).btn-primary:not(.hide-focus).focus-within, .ids-modal-button:not(.ids-modal-icon-button).btn-primary:not(.hide-focus):focus {
1506
+ outline: 1px solid var(--ids-modal-color-outline);
1507
+ outline-offset: -1px;
1508
+ }
1509
+ .ids-modal-button:not(.ids-modal-icon-button).btn-primary:hover:not([disabled]) {
1510
+ background-color: var(--ids-button-primary-color-background-hover);
1511
+ border-color: var(--ids-button-primary-color-border-hover);
1512
+ }
1513
+ .ids-modal-button:not(.ids-modal-icon-button).btn-primary[disabled] {
1514
+ opacity: var(--ids-button-primary-opacity-disabled);
1515
+ }
1516
+ .ids-modal-button:not(.ids-modal-icon-button).btn-secondary, .ids-modal-button:not(.ids-modal-icon-button).btn-tertiary {
1517
+ background-color: var(--ids-button-secondary-color-background-default);
1518
+ border-width: var(--ids-button-secondary-border-width);
1519
+ border-color: var(--ids-button-secondary-color-border-default);
1520
+ color: var(--ids-button-secondary-color-text-default);
1521
+ padding-inline: var(--ids-button-padding-inline);
1522
+ border-radius: var(--ids-button-radius);
1523
+ }
1524
+ .ids-modal-button:not(.ids-modal-icon-button).btn-secondary:not(.hide-focus).is-active, .ids-modal-button:not(.ids-modal-icon-button).btn-secondary:not(.hide-focus).is-focused, .ids-modal-button:not(.ids-modal-icon-button).btn-secondary:not(.hide-focus).focus-within, .ids-modal-button:not(.ids-modal-icon-button).btn-secondary:not(.hide-focus):focus, .ids-modal-button:not(.ids-modal-icon-button).btn-tertiary:not(.hide-focus).is-active, .ids-modal-button:not(.ids-modal-icon-button).btn-tertiary:not(.hide-focus).is-focused, .ids-modal-button:not(.ids-modal-icon-button).btn-tertiary:not(.hide-focus).focus-within, .ids-modal-button:not(.ids-modal-icon-button).btn-tertiary:not(.hide-focus):focus {
1525
+ outline: 1px solid var(--ids-modal-color-outline);
1526
+ outline-offset: -1px;
1527
+ }
1528
+ .ids-modal-button:not(.ids-modal-icon-button).btn-secondary:hover, .ids-modal-button:not(.ids-modal-icon-button).btn-tertiary:hover {
1529
+ background-color: var(--ids-button-secondary-color-background-hover);
1530
+ border-color: var(--ids-button-secondary-color-border-hover);
1531
+ color: var(--ids-button-secondary-color-text-hover);
1532
+ }
1533
+ .ids-modal-button:not(.ids-modal-icon-button).btn-secondary[disabled], .ids-modal-button:not(.ids-modal-icon-button).btn-tertiary[disabled] {
1534
+ opacity: var(--ids-button-secondary-opacity-disabled);
1535
+ }
1536
+ .ids-modal-button:not(.ids-modal-icon-button) {
1537
+ display: block;
1538
+ font-weight: var(--ids-font-weight-strong);
1539
+ justify-content: center;
1540
+ height: 100%;
1541
+ width: 100%;
1137
1542
  }
1138
- .ids-input.color-variant-alternate-formatter .field-container {
1139
- background-color: var(--ids-data-grid-filter-input-color-background);
1140
- border-color: var(--ids-data-grid-filter-input-color-border-default);
1141
- color: var(--ids-data-grid-filter-input-color-text-default);
1543
+ .ids-modal-button:not(.ids-modal-icon-button):focus {
1544
+ z-index: 1;
1142
1545
  }
1143
- .ids-input.color-variant-alternate-formatter:hover.readonly.readonly-background .field-container, .ids-input.color-variant-alternate-formatter:hover:not(.readonly):not(.disabled) .field-container {
1144
- border-color: var(--ids-data-grid-filter-input-color-border-hover);
1546
+
1547
+ .ids-modal-icon-button {
1548
+ padding: var(--ids-space-xs);
1145
1549
  }
1146
- .ids-input.color-variant-alternate-formatter:focus-within .field-container, .ids-input.color-variant-alternate-formatter:focus-within:hover.readonly.readonly-background, .ids-input.color-variant-alternate-formatter:focus-within:hover:not(.readonly):not(.disabled) .field-container {
1147
- border-color: var(--ids-data-grid-filter-input-color-border-focus);
1550
+
1551
+ .btn-swipe-action-left,
1552
+ .btn-swipe-action-right {
1553
+ display: block;
1554
+ padding: 0 var(--ids-space-xs) var(--ids-space-xs);
1555
+ height: 100%;
1556
+ margin: 0;
1557
+ white-space: inherit;
1558
+ width: 85px;
1559
+ }
1560
+ .btn-swipe-action-left ::slotted(ids-icon),
1561
+ .btn-swipe-action-right ::slotted(ids-icon) {
1562
+ display: block;
1148
1563
  }
1149
- .ids-input.color-variant-alternate-formatter:focus-within .ids-input-field {
1150
- box-shadow: var(--ids-input-color-border-shadow);
1564
+ .btn-swipe-action-left:hover, .btn-swipe-action-left:focus,
1565
+ .btn-swipe-action-right:hover,
1566
+ .btn-swipe-action-right:focus {
1567
+ box-shadow: none;
1568
+ border-color: var(--ids-color-transparent);
1151
1569
  }
1152
- .ids-input.color-variant-alternate-formatter.disabled .field-container, .ids-input.color-variant-alternate-formatter.disabled:hover .field-container {
1153
- border-color: var(--ids-data-grid-filter-input-color-border-disabled);
1154
- color: var(--ids-data-grid-filter-input-color-text-disabled);
1570
+
1571
+ .ids-button:not(.no-margins).btn-swipe-action-left,
1572
+ .ids-button:not(.no-margins).btn-swipe-action-right {
1573
+ margin: 0;
1155
1574
  }
1156
- .ids-input.color-variant-alternate-formatter.readonly:not(.readonly-background):not(.bg-transparent) .field-container {
1157
- background-color: var(--ids-data-grid-filter-input-color-background-readonly);
1158
- border-color: var(--ids-data-grid-filter-input-color-border-readonly);
1159
- color: var(--ids-data-grid-filter-input-color-text-readonly);
1575
+
1576
+ .btn-swipe-action-left {
1577
+ border-start-end-radius: var(--ids-border-radius-none);
1578
+ border-end-end-radius: var(--ids-border-radius-none);
1579
+ background-color: var(--ids-swipe-action-color-background-left);
1580
+ color: var(--ids-swipe-action-color-text-left);
1160
1581
  }
1161
- .ids-input.color-variant-alternate-formatter .ids-input-field::placeholder {
1162
- color: var(--ids-data-grid-filter-input-color-text-placeholder);
1582
+ .btn-swipe-action-left:active {
1583
+ background-color: var(--ids-swipe-action-color-background-left-active);
1584
+ color: var(--ids-swipe-action-color-text-left-active);
1163
1585
  }
1164
- .ids-input.color-variant-app-menu .field-container {
1165
- color: var(--ids-input-color-text-app-menu);
1586
+ .btn-swipe-action-left:hover {
1587
+ background-color: var(--ids-swipe-action-color-background-left-hover);
1588
+ color: var(--ids-swipe-action-color-text-left-hover);
1166
1589
  }
1167
- .ids-input.color-variant-list-builder .field-container {
1168
- background-color: var(--ids-color-transparent);
1169
- color: var(--ids-list-builder-input-text-color);
1170
- border: 0;
1590
+
1591
+ .btn-swipe-action-right {
1592
+ border-start-start-radius: var(--ids-border-radius-none);
1593
+ border-end-start-radius: var(--ids-border-radius-none);
1594
+ background-color: var(--ids-swipe-action-color-background-right);
1595
+ color: var(--ids-swipe-action-color-text-right);
1171
1596
  }
1172
- .ids-input.color-variant-module-nav {
1173
- color: var(--ids-module-nav-search-input-text-color);
1174
- /* stylelint-disable-next-line no-duplicate-selectors */
1597
+ .btn-swipe-action-right:active {
1598
+ background-color: var(--ids-swipe-action-color-background-right-active);
1599
+ color: var(--ids-swipe-action-color-text-right-active);
1175
1600
  }
1176
- .ids-input.color-variant-module-nav .field-container {
1177
- background-color: var(--ids-color-transparent);
1178
- border-color: var(--ids-color-transparent);
1179
- color: inherit;
1601
+ .btn-swipe-action-right:hover {
1602
+ background-color: var(--ids-swipe-action-color-background-right-hover);
1603
+ color: var(--ids-swipe-action-color-text-right-hover);
1180
1604
  }
1181
- .ids-input.color-variant-module-nav .ids-input-field {
1182
- background-color: var(--ids-color-transparent);
1183
- color: inherit;
1605
+
1606
+ .ids-icon-button.gen-ai-active:not(.no-animation) ::slotted(ids-icon[icon=genai]),
1607
+ .ids-button.gen-ai-active:not(.no-animation) ::slotted(ids-icon[icon=genai]) {
1608
+ display: none;
1184
1609
  }
1185
- .ids-input.color-variant-module-nav .ids-input-field::placeholder {
1186
- color: var(--ids-module-nav-search-input-placeholder-text-color);
1610
+ .ids-icon-button.gen-ai-active:not(.no-animation) .loading-dots,
1611
+ .ids-button.gen-ai-active:not(.no-animation) .loading-dots {
1612
+ display: flex;
1187
1613
  }
1188
- .ids-input.color-variant-module-nav .ids-input-field:active {
1189
- color: var(--ids-module-nav-search-input-text-color);
1614
+
1615
+ .ids-icon-button.gen-ai-active .loading-dots {
1616
+ padding-inline-start: 3px;
1617
+ padding-inline-end: var(--ids-space-3xs);
1618
+ padding-block-start: 7px;
1619
+ padding-block-end: var(--ids-space-xs);
1190
1620
  }
1191
- .ids-input.color-variant-module-nav.has-clearable .btn-clear {
1621
+
1622
+ .ids-button ::slotted(ids-icon[icon=genai]:first-child),
1623
+ .ids-toggle-button ::slotted(ids-icon[icon=genai]:first-child),
1624
+ .ids-menu-button:not(.ids-icon-button) ::slotted(ids-icon[icon=genai]:first-child),
1625
+ .ids-modal-button:not(.ids-icon-button) ::slotted(ids-icon[icon=genai]:first-child) {
1192
1626
  margin-inline-end: 5px;
1193
1627
  }
1194
- .ids-input.color-variant-module-nav:hover .field-container {
1195
- background-color: var(--ids-module-nav-search-input-hover-bg-color);
1196
- }
1197
- .ids-input.color-variant-module-nav:hover .ids-input-field::placeholder {
1198
- color: var(--ids-module-nav-search-input-placeholder-text-color);
1628
+ .ids-button ::slotted(ids-icon:not(:first-child)),
1629
+ .ids-toggle-button ::slotted(ids-icon:not(:first-child)),
1630
+ .ids-menu-button:not(.ids-icon-button) ::slotted(ids-icon:not(:first-child)),
1631
+ .ids-modal-button:not(.ids-icon-button) ::slotted(ids-icon:not(:first-child)) {
1632
+ margin-inline-start: 5px;
1633
+ margin-inline-end: var(--ids-space-none);
1634
+ }
1635
+ .ids-button .ids-icon:last-child,
1636
+ .ids-button span + span:not(.audible),
1637
+ .ids-button span:not(.audible):last-child,
1638
+ .ids-toggle-button .ids-icon:last-child,
1639
+ .ids-toggle-button span + span:not(.audible),
1640
+ .ids-toggle-button span:not(.audible):last-child,
1641
+ .ids-menu-button:not(.ids-icon-button) .ids-icon:last-child,
1642
+ .ids-menu-button:not(.ids-icon-button) span + span:not(.audible),
1643
+ .ids-menu-button:not(.ids-icon-button) span:not(.audible):last-child,
1644
+ .ids-modal-button:not(.ids-icon-button) .ids-icon:last-child,
1645
+ .ids-modal-button:not(.ids-icon-button) span + span:not(.audible),
1646
+ .ids-modal-button:not(.ids-icon-button) span:not(.audible):last-child {
1647
+ padding-inline-start: 5px;
1199
1648
  }
1200
- .ids-input.color-variant-module-nav:hover .ids-input-field {
1201
- color: var(--ids-module-nav-input-text-color);
1649
+
1650
+ .ids-modal-button ::slotted(ids-icon:not(:first-child)) {
1651
+ padding: var(--ids-space-3xs);
1202
1652
  }
1203
- .ids-input.color-variant-module-nav:focus-within .field-container, .ids-input.color-variant-module-nav.readonly:focus-within .field-container, .ids-input.color-variant-module-nav.is-active .field-container {
1204
- background-color: var(--ids-module-nav-input-focus-bg-color);
1205
- border-color: var(--ids-module-nav-item-selected-text-color);
1206
- box-shadow: none;
1653
+
1654
+ :host(:not([show-loading-indicator=true])) ::slotted(.slot-loading-indicator) {
1655
+ display: none;
1207
1656
  }
1208
- .ids-input.color-variant-module-nav:focus-within .ids-input-field::placeholder, .ids-input.color-variant-module-nav.readonly:focus-within .ids-input-field::placeholder, .ids-input.color-variant-module-nav.is-active .ids-input-field::placeholder {
1209
- color: var(--ids-module-nav-search-input-focused-placeholder-text-color);
1657
+
1658
+ :host([show-loading-indicator=true]) ::slotted(ids-loading-indicator) {
1659
+ margin-top: 3px;
1660
+ margin-bottom: 3px;
1210
1661
  }
1211
- .ids-input.color-variant-module-nav:focus-within .ids-input-field, .ids-input.color-variant-module-nav.readonly:focus-within .ids-input-field, .ids-input.color-variant-module-nav.is-active .ids-input-field {
1212
- color: var(--ids-module-nav-input-text-color);
1662
+
1663
+ :host([show-loading-indicator=true][loading-indicator-only=true]) ::slotted(*:not(.slot-loading-indicator)) {
1664
+ visibility: hidden;
1213
1665
  }
1214
1666
 
1215
- .caps-lock-indicator {
1216
- padding-inline-start: var(--ids-space-xs);
1217
- padding-inline-end: var(--ids-space-xs);
1667
+ :host([show-loading-indicator=true]:not([loading-indicator-only=true])) ::slotted(.slot-loading-indicator) {
1668
+ margin-inline-start: 6px;
1218
1669
  }
1219
1670
 
1220
- .show-hide-password {
1221
- padding-inline-end: var(--ids-space-3xs);
1671
+ :host([show-loading-indicator=true]:not([loading-indicator-only=true]):is([appearance=primary], [appearance=secondary], [appearance=primary-destructive]))::part(button) {
1672
+ padding-inline-start: 20px;
1673
+ padding-inline-end: 12px;
1674
+ }
1675
+ :host([show-loading-indicator=true]:not([loading-indicator-only=true]):is([appearance=primary], [appearance=secondary], [appearance=primary-destructive])) ::slotted(.slot-loading-indicator) {
1676
+ margin-inline-start: 10px;
1222
1677
  }
1223
1678
 
1224
- .is-uppercase {
1225
- text-transform: uppercase;
1679
+ :host([loading-indicator-only=true]) ::slotted(.slot-loading-indicator) {
1680
+ position: absolute;
1681
+ margin-inline-start: auto;
1682
+ margin-inline-end: auto;
1683
+ left: var(--ids-space-none);
1684
+ right: var(--ids-space-none);
1226
1685
  }
1227
1686
 
1228
- .is-lowercase {
1229
- text-transform: lowercase;
1687
+ :host(ids-toggle-button:not(.dropdown-btn)) {
1688
+ --ids-button-tertiary-color-background-hover: var(--ids-button-toggle-color-background-hover-default);
1689
+ --ids-button-tertiary-color-text-hover: var(--ids-button-toggle-color-text-hover-default);
1230
1690
  }
1231
1691
 
1232
- .highlight {
1233
- font-weight: var(--ids-font-weight-bold);
1692
+ :host(ids-toggle-button[pressed]) {
1693
+ --ids-button-tertiary-color-text-default: var(--ids-button-toggle-color-text-pressed-default);
1234
1694
  }
1235
1695
 
1236
- .ids-input-field[type=number]::-webkit-inner-spin-button,
1237
- .ids-input-field[type=number]::-webkit-outer-spin-button {
1238
- appearance: none;
1696
+ :host(ids-toggle-button[color=orange]) {
1697
+ --ids-button-tertiary-color-background-hover: var(--ids-button-toggle-color-background-hover-orange);
1698
+ --ids-button-tertiary-color-text-hover: var(--ids-button-toggle-color-text-hover-orange);
1239
1699
  }
1240
1700
 
1241
- .ids-input-field::-webkit-caps-lock-indicator {
1242
- visibility: hidden;
1701
+ :host(ids-toggle-button[pressed][color=orange]) {
1702
+ --ids-button-tertiary-color-text-default: var(--ids-button-toggle-color-text-pressed-orange);
1243
1703
  }
1244
1704
 
1245
- :host ids-popup[type=dropdown] {
1246
- width: 100%;
1247
- max-width: var(--ids-input-width-40);
1705
+ :host(ids-toggle-button[color=red]) {
1706
+ --ids-button-tertiary-color-background-hover: var(--ids-button-toggle-color-background-hover-red);
1707
+ --ids-button-tertiary-color-text-hover: var(--ids-button-toggle-color-text-hover-red);
1248
1708
  }
1249
1709
 
1250
- :host([size=xs]) ids-popup[type=dropdown] {
1251
- max-width: var(--ids-input-width-10);
1710
+ :host(ids-toggle-button[pressed][color=red]) {
1711
+ --ids-button-tertiary-color-text-default: var(--ids-button-toggle-color-text-pressed-red);
1252
1712
  }
1253
1713
 
1254
- :host([size=sm]) ids-popup[type=dropdown] {
1255
- max-width: var(--ids-input-width-20);
1714
+ :host(ids-toggle-button.ids-toggle-button-segmented) button {
1715
+ border-radius: var(--ids-border-radius-sm);
1716
+ font-weight: var(--ids-font-weight-normal);
1717
+ }
1718
+ :host(ids-toggle-button.ids-toggle-button-segmented) button:hover {
1719
+ color: var(--ids-segmented-control-text-color);
1720
+ background-color: var(--ids-segmented-control-background-hover);
1256
1721
  }
1257
1722
 
1258
- :host([size=mm]) ids-popup[type=dropdown] {
1259
- max-width: var(--ids-input-width-30);
1723
+ :host(ids-toggle-button.ids-toggle-button-segmented[pressed]) button {
1724
+ color: var(--ids-segmented-control-text-color);
1725
+ background-color: var(--ids-segmented-control-background-selected);
1726
+ box-shadow: var(--ids-segmented-control-box-shadow);
1727
+ border-color: transparent;
1260
1728
  }
1261
1729
 
1262
- :host([size=md]) ids-popup[type=dropdown] {
1263
- max-width: var(--ids-input-width-40);
1730
+ .ids-masthead-button {
1731
+ --ids-button-formatter-color-background-hover: transparent;
1732
+ --ids-button-formatter-color-text-hover: var(--ids-masthead-color-hover);
1733
+ --ids-button-alternate-color-text-default: var(--ids-color-white-100);
1734
+ --ids-button-tertiary-color-background-hover: var(--ids-masthead-button-menu-color-background-hover);
1735
+ --ids-button-tertiary-color-border-hover: transparent;
1736
+ --ids-button-color-text-default: var(--ids-masthead-menu-color-text-default);
1737
+ --ids-button-tertiary-color-text-default: var(--ids-masthead-button-color-text-default);
1738
+ --ids-button-tertiary-color-text-hover: var(--ids-masthead-button-color-text-hover);
1739
+ --ids-button-menu-background-color-active: var(--ids-masthead-button-menu-background-color-active);
1740
+ --ids-button-menu-color-text-active: var(--ids-masthead-button-menu-color-text-active);
1741
+ --ids-button-tertiary-color-background-pressed: var(--ids-masthead-button-menu-color-background-pressed);
1742
+ --ids-button-tertiary-color-border-pressed: var(--ids-masthead-button-menu-color-border-pressed);
1743
+ --ids-button-tertiary-color-text-pressed: var(--ids-masthead-button-menu-color-text-pressed);
1744
+ --ids-button-tertiary-shadow-focus: var(--ids-masthead-button-menu-shadow-focus);
1745
+ --ids-button-tertiary-color-border-focus: var(--ids-masthead-button-menu-color-border-focus);
1264
1746
  }
1265
1747
 
1266
- :host([size=lg]) ids-popup[type=dropdown] {
1267
- max-width: var(--ids-input-width-50);
1748
+ :host button {
1749
+ --ids-button-tertiary-color-background-hover: var(--ids-color-transparent);
1750
+ --ids-button-tertiary-color-border-hover: var(--ids-color-transparent);
1751
+ --ids-button-tertiary-color-background-pressed: var(--ids-color-transparent);
1752
+ --ids-button-tertiary-color-border-pressed: var(--ids-color-transparent);
1753
+ height: auto;
1754
+ width: auto;
1755
+ }
1756
+ :host button.style-inline.square.no-padding {
1757
+ --ids-button-tertiary-color-border-pressed: var(--ids-input-color-border-default);
1268
1758
  }
1269
1759
 
1270
- :host([size=full]) ids-popup[type=dropdown] {
1271
- max-width: var(--ids-input-width-full);
1760
+ :host(.expand-button) button {
1761
+ --ids-button-icon-height: 34px;
1762
+ --ids-button-icon-width: 34px;
1763
+ margin-top: -2px;
1272
1764
  }
1273
1765
 
1274
- :host(:not([show-loading-indicator=true])) ::slotted(.slot-loading-indicator) {
1275
- display: none;
1766
+ :host([compact]) .ids-trigger-button.ids-icon-button,
1767
+ :host([field-height=xs]) .ids-trigger-button.ids-icon-button,
1768
+ :host([field-height=sm]) .ids-trigger-button.ids-icon-button {
1769
+ --ids-button-icon-height: 26px;
1770
+ --ids-button-icon-width: 26px;
1771
+ padding: var(--ids-space-none);
1772
+ }
1773
+ :host([compact]) .ids-trigger-button.ids-icon-button:not(.square),
1774
+ :host([field-height=xs]) .ids-trigger-button.ids-icon-button:not(.square),
1775
+ :host([field-height=sm]) .ids-trigger-button.ids-icon-button:not(.square) {
1776
+ border-radius: var(--ids-trigger-field-button-border-radius);
1276
1777
  }
1277
1778
 
1278
- :host([show-loading-indicator=true]) {
1279
- pointer-events: none;
1779
+ :host([field-height=xs]) .ids-trigger-button.ids-icon-button,
1780
+ :host([field-height=xxs]) .ids-trigger-button.ids-icon-button {
1781
+ margin-inline-end: 3px;
1280
1782
  }
1281
- :host([show-loading-indicator=true]) ::slotted(ids-loading-indicator) {
1282
- margin-top: 3px;
1283
- margin-bottom: 3px;
1783
+ :host([field-height=xs]) .ids-trigger-button.ids-icon-button.color-variant-borderless[aria-label=DropdownTriggerButton],
1784
+ :host([field-height=xxs]) .ids-trigger-button.ids-icon-button.color-variant-borderless[aria-label=DropdownTriggerButton] {
1785
+ margin-inline-end: 0;
1284
1786
  }
1285
- :host([show-loading-indicator=true]) ::slotted(ids-trigger-button[slot=trigger-end]) {
1286
- display: none;
1787
+ :host([field-height=xs]) .ids-trigger-button.ids-icon-button.color-variant-borderless,
1788
+ :host([field-height=xxs]) .ids-trigger-button.ids-icon-button.color-variant-borderless {
1789
+ margin-inline-end: 3px;
1790
+ height: 22px;
1791
+ width: 22px;
1287
1792
  }
1288
- :host([show-loading-indicator=true]) ::slotted(.slot-loading-indicator) {
1289
- margin-inline-end: 12px;
1290
- margin-inline-start: var(--ids-space-xs);
1793
+ :host([field-height=xs]) .ids-trigger-button.ids-icon-button.color-variant-in-cell,
1794
+ :host([field-height=xxs]) .ids-trigger-button.ids-icon-button.color-variant-in-cell {
1795
+ margin-inline-end: -3px;
1796
+ margin-block-start: 2px;
1291
1797
  }
1292
1798
 
1293
- :host([show-loading-indicator=true][field-height=xs]) ::slotted(.slot-loading-indicator) {
1294
- margin-inline-start: var(--ids-space-2xs);
1295
- margin-inline-end: var(--ids-space-2xs);
1799
+ :host([field-height=xxs]) .ids-trigger-button.ids-icon-button.color-variant-borderless[aria-label=DropdownTriggerButton] {
1800
+ margin-inline-end: -1px;
1801
+ margin-block-start: 3px;
1296
1802
  }
1297
-
1298
- :host([show-loading-indicator=true][field-height=sm]) ::slotted(.slot-loading-indicator) {
1299
- margin-inline-end: var(--ids-space-xs);
1300
- margin-inline-start: var(--ids-space-2xs);
1803
+ :host([field-height=xxs]) .ids-trigger-button.ids-icon-button.color-variant-in-cell {
1804
+ margin-inline-end: 0;
1805
+ margin-block-start: 2px;
1301
1806
  }
1302
1807
 
1303
- ::slotted(.audible) {
1304
- clip: rect(0, 0, 0, 0);
1305
- height: 0;
1306
- line-height: 0;
1307
- min-height: 0;
1308
- overflow: hidden;
1309
- padding: 0;
1310
- position: absolute;
1311
- width: 1px;
1808
+ :host([field-height=sm]) .ids-trigger-button.ids-icon-button {
1809
+ margin-inline-end: 2px;
1312
1810
  }
1313
-
1314
- :host([dir=rtl]) .ids-input.xs .field-container {
1315
- width: calc(var(--ids-input-width-10));
1316
- flex-shrink: 0;
1811
+ :host([field-height=sm]) .ids-trigger-button.ids-icon-button.color-variant-borderless {
1812
+ margin-inline-end: -2px;
1813
+ height: 24px;
1814
+ width: 24px;
1317
1815
  }
1318
- :host([dir=rtl]) .ids-input.sm .field-container {
1319
- width: calc(var(--ids-input-width-20));
1320
- flex-shrink: 0;
1816
+ :host([field-height=sm]) .ids-trigger-button.ids-icon-button.color-variant-borderless[aria-label=DropdownTriggerButton] {
1817
+ margin-inline-end: -4px;
1321
1818
  }
1322
- :host([dir=rtl]) .ids-input.mm .field-container {
1323
- width: calc(var(--ids-input-width-30));
1324
- flex-shrink: 0;
1819
+ :host([field-height=sm]) .ids-trigger-button.ids-icon-button.color-variant-borderless.no-margins {
1820
+ margin-inline-start: 2px;
1325
1821
  }
1326
- :host([dir=rtl]) .ids-input.md .field-container {
1327
- width: calc(var(--ids-input-width-40));
1328
- flex-shrink: 0;
1822
+ :host([field-height=sm]) .ids-trigger-button.ids-icon-button.color-variant-in-cell {
1823
+ margin-inline-end: -3px;
1824
+ margin-block-start: 1px;
1825
+ }
1826
+
1827
+ :host([field-height=md]) .ids-trigger-button.ids-icon-button.color-variant-borderless {
1828
+ margin-inline-end: -11px;
1829
+ height: 30px;
1830
+ width: 30px;
1329
1831
  }
1330
- :host([dir=rtl]) .ids-input.lg .field-container {
1331
- width: calc(var(--ids-input-width-50));
1332
- flex-shrink: 0;
1832
+ :host([field-height=md]) .ids-trigger-button.ids-icon-button.color-variant-borderless.no-margins {
1833
+ margin-inline-start: 2px;
1333
1834
  }
1334
- :host([dir=rtl]) .ids-input.full .field-container {
1335
- width: var(--ids-input-width-full);
1336
- flex-shrink: 0;
1835
+ :host([field-height=md]) .ids-trigger-button.ids-icon-button.color-variant-in-cell {
1836
+ margin-inline-end: -4px;
1837
+ margin-block-start: 1px;
1337
1838
  }
1338
1839
 
1339
- :host([part=trigger-field]) {
1340
- justify-content: flex-start;
1840
+ :host(.expand-button),
1841
+ .expand-button {
1842
+ --ids-button-height: 36px;
1843
+ --ids-button-width: 36px;
1844
+ height: var(--ids-button-height);
1845
+ width: var(--ids-button-width);
1341
1846
  }
1342
1847
 
1343
- :host([data-filter-type]) {
1344
- --ids-trigger-field-min-width: 40px;
1345
- margin-inline-end: 0;
1848
+ .ids-trigger-button {
1849
+ align-items: center;
1850
+ background-color: var(--ids-color-transparent);
1851
+ display: flex;
1852
+ color: var(--ids-trigger-field-icon-color);
1853
+ justify-content: center;
1346
1854
  }
1347
- :host([data-filter-type]) ::slotted(ids-trigger-button) {
1348
- margin-inline-end: 6px;
1855
+ .ids-trigger-button.ids-icon-button {
1856
+ padding: var(--ids-space-2xs);
1349
1857
  }
1350
-
1351
- .ids-trigger-field {
1352
- justify-content: inherit;
1858
+ .ids-trigger-button.ids-icon-button.ids-sub-tab-close-button {
1859
+ margin-inline-end: 3px;
1860
+ width: var(--ids-button-icon-third-width);
1861
+ height: var(--ids-button-icon-third-height);
1353
1862
  }
1354
- .ids-trigger-field.compact .field-container, .ids-trigger-field.field-height-xs .field-container {
1355
- height: calc(var(--ids-input-height-10) - 2px);
1863
+ .ids-trigger-button.ids-icon-button:not(.ids-tab-close-button):not(.ids-sub-tab-close-button) {
1864
+ inset-inline-start: 2px;
1865
+ overflow: hidden;
1356
1866
  }
1357
- .ids-trigger-field .field-container.square,
1358
- .ids-trigger-field .filter-container.square {
1359
- border-radius: 0;
1867
+ .ids-trigger-button.ids-icon-button[disabled] {
1868
+ color: var(--ids-trigger-field-color-text-disabled);
1360
1869
  }
1361
- .ids-trigger-field .field-container {
1362
- min-width: var(--ids-trigger-field-min-width);
1363
- /* Ensure dirty tracker icon stays visible */
1870
+ .ids-trigger-button.ids-icon-button[readonly] {
1871
+ color: var(--ids-trigger-field-color-text-disabled);
1872
+ opacity: var(--ids-button-tertiary-opacity-disabled);
1364
1873
  }
1365
- .ids-trigger-field .field-container .icon-dirty {
1366
- pointer-events: none;
1367
- z-index: 1;
1874
+ .ids-trigger-button.ids-icon-button[readonly]:hover {
1875
+ cursor: default;
1876
+ background-color: var(--ids-color-transparent);
1877
+ border-color: var(--ids-color-transparent);
1368
1878
  }
1369
-
1370
- ::slotted(*[slot=trigger-end].xs) {
1371
- margin-inline-end: 4px;
1372
- width: 24px;
1879
+ .ids-trigger-button.ids-icon-button.ids-tab-close-button:not(.no-padding):not(.sub-tab-button):not(.compact) {
1880
+ padding: 0;
1881
+ width: var(--ids-button-icon-third-width);
1882
+ height: var(--ids-button-icon-third-height);
1373
1883
  }
1374
-
1375
- ::slotted(*[slot=trigger-end].md) {
1376
- margin-inline-end: 4px;
1377
- width: 24px;
1884
+ .ids-trigger-button.style-inline {
1885
+ border: 0;
1886
+ padding: var(--ids-space-none);
1887
+ border-radius: var(--ids-trigger-field-button-border-radius-inline);
1888
+ margin: var(--ids-space-none);
1378
1889
  }
1379
-
1380
- ::slotted(*[slot=trigger-end][compact]) {
1381
- margin-inline-end: 4px;
1382
- width: 24px;
1890
+ .ids-trigger-button.style-inline.ids-icon-button {
1891
+ padding: var(--ids-space-none);
1383
1892
  }
1384
-
1385
- .ids-input.color-variant-alternate-formatter:focus-within .field-container.is-focused {
1386
- border-color: var(--ids-color-border-focus);
1387
- box-shadow: var(--ids-accordion-header-shadow-focus);
1893
+ .ids-trigger-button.style-inline.square {
1894
+ border-radius: 0;
1388
1895
  }
1389
- .ids-input.color-variant-alternate-formatter:focus-within .field-container.hide-focus {
1390
- box-shadow: none;
1391
- border-color: var(--ids-data-grid-filter-input-color-background-readonly);
1896
+ .ids-trigger-button.style-inline.field-height-xs, .ids-trigger-button.style-inline.field-height-xs.compact {
1897
+ height: calc(var(--ids-input-height-10) - 2px);
1898
+ width: calc(var(--ids-input-height-10) - 2px);
1392
1899
  }
1393
- .ids-input.color-variant-alternate-formatter:focus-within .ids-input-field {
1394
- box-shadow: none;
1900
+ .ids-trigger-button.style-inline.field-height-sm {
1901
+ height: calc(var(--ids-input-height-20) - 2px);
1902
+ width: calc(var(--ids-input-height-20) - 2px);
1395
1903
  }
1396
-
1397
- .field-container.collapsed .btn-clear {
1398
- display: none;
1904
+ .ids-trigger-button.style-inline.field-height-md {
1905
+ height: calc(var(--ids-input-height-30) - 2px);
1906
+ width: calc(var(--ids-input-height-30) - 2px);
1399
1907
  }
1400
-
1401
- :host(:not([collapsed])) ::slotted(ids-trigger-button.expand-button) {
1402
- display: none;
1908
+ .ids-trigger-button.style-inline.field-height-lg {
1909
+ height: calc(var(--ids-input-height-40) - 2px);
1910
+ width: calc(var(--ids-input-height-40) - 2px);
1403
1911
  }
1404
-
1405
- :host([collapsed]) ::slotted(ids-trigger-button.expand-button) {
1406
- display: block;
1912
+ .ids-trigger-button.style-inline.compact, .ids-trigger-button.style-inline.field-height-sm.compact, .ids-trigger-button.style-inline.field-height-md.compact, .ids-trigger-button.style-inline.field-height-lg.compact {
1913
+ height: calc(var(--ids-input-height-10) - 4px);
1914
+ width: calc(var(--ids-input-height-10) - 2px);
1407
1915
  }
1408
-
1409
- :host([combobox]) .field-container input {
1410
- border-inline-end: 1px solid var(--ids-trigger-field-combobox-border);
1916
+ .ids-trigger-button.inline-end {
1917
+ border-inline-start: 1px solid;
1918
+ }
1919
+ .ids-trigger-button.inline-start {
1920
+ border-inline-end: 1px solid;
1921
+ }
1922
+ .ids-trigger-button.inline-start:not(.btn-secondary):not(.no-margins) {
1923
+ margin: 0;
1924
+ }
1925
+ .ids-trigger-button.color-variant-alternate-formatter {
1926
+ padding: var(--ids-space-3xs);
1411
1927
  }
1412
- :host([combobox]) ::slotted(ids-trigger-button) {
1413
- width: 32px;
1928
+ .ids-trigger-button.inherit-color {
1929
+ color: currentColor;
1414
1930
  }
1415
- /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtdHJpZ2dlci1maWVsZCIsInNvdXJjZXMiOlsiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY2xlYXJhYmxlLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1kaXJ0eS10cmFja2VyLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1zdGF0ZS1taXhpbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtdmFsaWRhdGlvbi1taXhpbi5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMuc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWxhYmVsLXBvc2l0aW9uLW1peGluLnNjc3MiLCIuLi9pZHMtaW5wdXQvaWRzLWlucHV0LnNjc3MiLCJpZHMtdHJpZ2dlci1maWVsZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7QUFPSTtBQUFBO0FBQUE7QUFBQTtFQUNFOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQU9GO0FBQUE7RUFDRTtFQUNBOzs7QUFRSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7O0FBTVI7RUFDRTs7O0FDNUNGO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUtKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOzs7QUN2QkU7RUFDRTs7O0FBUU47RUFDRTs7O0FDZEo7RUNRRTtFQUNBO0VETkE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOzs7QUUxREY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QUFHQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7O0FBS047RUFDRTs7O0FBSUY7RUFFSTtJQUNFOztFQUVBO0lBQ0U7OztBQU9SO0VBRUk7SUFDRTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFJRjtJQUNFO0lBQ0E7O0VBSUY7SUFDRTtJQUNBO0lBQ0E7OztBQU9SO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0E7SUFDRTtJQUVBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBS0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FBTU47RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBS0Y7SUFDRTtJQUNBOztFQUtGO0lBQ0U7OztBQU1OO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFLRjtJQUNFO0lBQ0E7OztBQU1OO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7QUFBQTtJQUVFO0lBQ0E7OztBQU1OO0VBRUk7QUFBQTtBQUFBO0lBR0U7SUFDQTs7RUFFQTtBQUFBO0FBQUE7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7QUFBQTtBQUFBO0lBQ0U7OztBQWVKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTs7O0FDekhOO0FBS0E7QUE2QkE7QUFDQTtFRjNKRTtFQUNBO0VFNkpBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7QUFJRTtFQUNFOztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7O0FBR0Y7RUFFRTs7QUFJSjtBQUFBO0VBRUU7OztBQUtGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOzs7QUEwQk47RUFDRTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7OztBQTFKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQXhCTjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBZU47RUFDRSxXQW5JbUI7O0FBc0lyQjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQXJCRjtFQUNFLFdBbkltQjs7QUFzSXJCO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBOEdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUE4bEJBOztBQTNsQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQU1BO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBSUY7RUZ2VEE7RUFDQTtFRXlURTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVRBO0VBQ0U7O0FBVUY7RUFDRTs7QUFJRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUtKO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBT0o7RUFFRTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQVFKO0FBQUE7RUFFRSxPQTVaaUI7O0FBaWFuQjtBQUFBO0VBRUUsT0FsYWlCOztBQXVhbkI7QUFBQTtFQUVFLE9BdmFpQjs7QUE0YW5CO0FBQUE7RUFFRSxPQS9haUI7O0FBb2JuQjtBQUFBO0VBRUUsT0FwYmlCOztBQXdickI7RUFDRTs7QUFFQTtBQUFBO0VBRUU7O0FBSUo7RUFoTUY7SUErTUk7SUFDQTs7RUFkRTtBQUFBO0lBRUUsV0F0Y2U7SUF1Y2Y7O0VBR0Y7SUFDRTtJQUNBLFlBNWNlO0lBNmNmOztFQU9KO0lBQ0U7OztBQU1KO0VBdlFBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxRQWxPMkI7O0FBNGQzQjtFQUNFOztBQUVBO0FBQUE7RUFFRTs7QUFLTjtFQUNFLFFBdGUyQjs7QUF5ZTdCO0VBQ0UsUUF6ZTJCOztBQTRlN0I7RUFDRSxRQTVlMkI7O0FBZ2Y3QjtFQWpTQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUUFsTzJCOztBQXNmM0I7RUFDRTs7QUFFQTtBQUFBO0VBRUU7RUFDQSxRQTVmdUI7O0FBZ2dCM0I7RUFDRTs7QUFPSjtFQUNFO0VBRUE7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0FBQUE7RUFFRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFJQTtFQUNFOztBQUtGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFLRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFNTjtFQUNFOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTtFQUVBO0VBQ0E7O0FBSUo7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFNSjtFQUNFO0VBQ0E7O0FBSUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOztBQVNKO0VBQ0U7RUFDQTtFQUNBOztBQU9FO0VBRUU7RUFDQTs7QUFLRjtFQUdFOztBQU1KO0VBR0U7RUFDQTtFQUNBO0VBR0E7O0FBS0Y7RUFHRTs7QUFJQTtFQUNFOztBQVFKO0VBQ0U7O0FBbHVCTjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFJSjtBQUFBO0FBQUE7RUFFRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFJSjtBQUFBO0FBQUE7RUFFRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBSUo7QUFBQTtBQUFBO0VBRUU7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQW9xQkE7RUFDRTs7QUE1dUJOO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUlKO0FBQUE7QUFBQTtFQUVFO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUlKO0FBQUE7QUFBQTtFQUVFO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFJSjtBQUFBO0FBQUE7RUFFRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBNnFCQTtFQUNFOztBQXJ2Qk47QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7O0FBRUE7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBRUU7RUFDQTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTs7QUFJSjtBQUFBO0VBRUU7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFFRTtFQUNBOztBQUdGO0FBQUE7RUFDRTtFQUNBOztBQUlKO0FBQUE7RUFFRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7O0FBd3JCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFLRjtFQUNFOztBQU9KO0VBQ0U7RUFDQTtFQUNBOztBQUtBO0VBQ0U7O0FBS0Y7RUFHRTs7QUFHRjtFQUNFOztBQU1GO0VBQ0U7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQU1GO0VBQ0U7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7O0FBTUo7RUFDRTtBQUVBOztBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFPRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQU1SO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFJRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUtBO0VBQ0U7OztBQUlKO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLRjtFQUNFO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTs7O0FBSUo7RUY3L0JFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRTQvQkU7RUFDRSxPQWxoQ2lCO0VBbWhDakI7O0FBR0Y7RUFDRSxPQXRoQ2lCO0VBdWhDakI7O0FBR0Y7RUFDRSxPQXpoQ2lCO0VBMGhDakI7O0FBR0Y7RUFDRSxPQS9oQ2lCO0VBZ2lDakI7O0FBR0Y7RUFDRSxPQWxpQ2lCO0VBbWlDakI7O0FBR0Y7RUFDRTtFQUNBOzs7QUNqakNOO0VBQ0U7OztBQUlGO0VBQ0U7RUFFQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFOztBQUlFO0VBQ0U7O0FBSUo7QUFBQTtFQUVFOztBQUdGO0VBQ0U7QUFFQTs7QUFDQTtFQUNFO0VBQ0E7OztBQUtOO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUtFO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBS047RUFDRTs7O0FBSUE7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBS0Y7RUFDRTs7QUFHRjtFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDc3MgZm9yIGNsZWFyYWJsZSBtaXhpblxuICovXG4uaWRzLWlucHV0LFxuLmlkcy10ZXh0YXJlYSB7XG4gIC5pZHMtaW5wdXQtZmllbGQsXG4gIC5pZHMtdGV4dGFyZWEtZmllbGQge1xuICAgIC5idG4tY2xlYXIge1xuICAgICAgb3V0bGluZTogMDtcblxuICAgICAgJi5pcy1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIFtzbG90PSdpY29uJ10ge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmhhcy1jbGVhcmFibGUge1xuICAgIC5idG4tY2xlYXIge1xuICAgICAgJi5pcy1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaWRzLXRyaWdnZXItZmllbGQge1xuICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAmLmhhcy1jbGVhcmFibGUge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiA1NXB4O1xuXG4gICAgICB+IC5idG4tY2xlYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICByaWdodDogLThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJ0bi1jbGVhcltwYXJ0PSdjbGVhcmFibGUtYnV0dG9uJ10gW3Nsb3Q9J2ljb24nXSB7XG4gIHBhZGRpbmc6IDJweDtcbn1cbiIsIi8vIEdlbmVyYWwgRGlydHktVHJhY2tlciBpY29uIHBsYWNlbWVudFxuLmljb24tZGlydHkge1xuICAtLWlkcy1pY29uLWhlaWdodC1kZWZhdWx0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gIC0taWRzLWljb24td2lkdGgtZGVmYXVsdDogMTJweCAhaW1wb3J0YW50O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1kaXJ0eS1pbmRpY2F0b3ItY29sb3ItYmFja2dyb3VuZC1kaXJ0eSk7XG4gIHRvcDogMDtcblxuICAmW2Rpcj0ncnRsJ10ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLy8gQ29sb3IgcGlja2VyXG4uaWRzLWNvbG9yLXBpY2tlciAuaWNvbi1kaXJ0eSB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDM1cHg7XG59XG5cbi5pZHMtY29sb3ItcGlja2VyLmNvbXBhY3QgLmljb24tZGlydHkge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAyN3B4O1xufVxuXG4uaWRzLXRleHRhcmVhIC5pY29uLWRpcnR5IHtcbiAgdG9wOiAxcHg7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDFweDtcblxuICAmW2Rpcj0ncnRsJ10ge1xuICAgIHRvcDogMnB4O1xuICB9XG59XG4iLCIvLyBXaGVuIGEgbGFiZWwgaXMganVzdCBcImhpZGRlblwiIGl0IHN0aWxsIHRha2VzIHVwIHBoeXNpY2FsIHNwYWNlIHRvIHJlbWFpblxuLy8gaW4gYWxpZ25tZW50IHdpdGggb3RoZXIgaW5wdXQgZmllbGRzIGluIGEgZm9ybSB0aGF0IG1heSBoYXZlIHZpc2libGUgbGFiZWxzLlxuLy8gVGhpcyBzaW11bGF0ZXMgc3RhbmRhcmQgbGFiZWwgdGV4dCBzaXplIHdoaWxlIGVtcHR5IHdpdGggYSBub24tYnJlYWtpbmcgc3BhY2Vcbi5sYWJlbC1zdGF0ZS1oaWRkZW4ge1xuICAuaWRzLWxhYmVsLXRleHQge1xuICAgICYuZW1wdHkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcMDBhMCc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gYSBsYWJlbCBpcyBcImNvbGxhcHNlZFwiIHNpbXBseSBkb24ndCBkaXNwbGF5IGl0XG4ubGFiZWwtc3RhdGUtY29sbGFwc2VkIHtcbiAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgbWl4aW5zO1xuXG4udmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgQGluY2x1ZGUgbWl4aW5zLmFudGlhbGlhc2VkKCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWlkcy1mb250LWZhbWlseS1kZWZhdWx0KSwgdmFyKC0taWRzLWZvbnQtZmFtaWx5LXN5c3RlbS1zYW5zKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLWZ1bGwpO1xuXG4gICYuaGFzLWN1c3RvbS1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWljb24tY29sb3ItZGVmYXVsdCk7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICB9XG5cbiAgLmlkcy1pY29uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gIH1cblxuICAmLmFsZXJ0IHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWNhdXRpb24tZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3IteWVsbG93LTMwKTtcbiAgICB9XG4gIH1cblxuICAmLndhcm5pbmcge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3Itd2FybmluZy1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1vcmFuZ2UtMzApO1xuICAgIH1cbiAgfVxuXG4gICYuZXJyb3Ige1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItcmVkLTMwKTtcbiAgICB9XG4gIH1cblxuICAmLmluZm8ge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1ibHVlLTMwKTtcbiAgICB9XG4gIH1cblxuICAmLnN1Y2Nlc3Mge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3Itc3VjY2Vzcy1kZWZhdWx0KTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1ncmVlbi0zMCk7XG4gICAgfVxuICB9XG5cbiAgJltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50cyAtIHRoaXMgY2FudCBiZSB0b2tlbnNcbiRicmVha3BvaW50LXh4bDogMTQ0MHB4O1xuJGJyZWFrcG9pbnQteGw6IDEyODBweDtcbiRicmVha3BvaW50LWxnOiAxMDI0cHg7XG4kYnJlYWtwb2ludC1tZDogODQwcHg7XG4kYnJlYWtwb2ludC1zbTogNjAwcHg7XG4kYnJlYWtwb2ludC14czogMzIwcHg7XG5cbi8vIFNldHMgVGV4dCBBbnRpYWxpYXNpbmdcbkBtaXhpbiBhbnRpYWxpYXNlZCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyB2ZW5kb3IgcHJlZml4ZWQgdHJhbnNpdGlvbnMgZm9yIHJlZ3VsYXIgYXR0cmlidXRlcyAobm9uLXZlbmRvciBwcmVmaXhlZClcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9ucy1saXN0Li4uKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAjeyRwcmVmaXh9dHJhbnNpdGlvbjogJHRyYW5zaXRpb25zLWxpc3Q7XG4gIH1cbn1cblxuLy8gbWFrZSB0aGUgdGV4dCBpbnZpc2libGUgdmlzdWFsbHkgYnV0IHJlYWRhYmxlIGJ5IHNjcmVlbiByZWFkZXJzXG5AbWl4aW4gYXVkaWJsZSgpIHtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAwO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuIiwiLy8gTGFiZWwgcG9zaXRpb24gc3R5bGVzXG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1jb3JlLW1peGlucycgYXMgKjtcblxuLy8gTGVmdCBhbGlnbmVkIGFuZCBSaWdodCBBbGlnbmVkIExhYmVsc1xuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgIC8vIEFkanVzdCB0aGUgbGFiZWxcbiAgICBsYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gb24gdGhlIGJvdHRvbVxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgLSAycHgpO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLXN0YXJ0XCJdKSB7XG4gIC0taWRzLWxhYmVsLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgtaW5saW5lLXN0YXJ0KTtcbn1cblxuLy8gVGV4dCBhcmVhXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkge1xuICAgIC5pZHMtdGV4dGFyZWEge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDM2MnB4ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSk7XG5cbiAgICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDM2MnB4ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbHRlciBmaWVsZFxuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cblxuICAgICAgLy8gRmlsdGVyIGZpZWxkIHNwZWNpZmljIHJ1bGVzXG4gICAgICAjb3BlcmF0b3ItYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRpb24gb24gdGhlIGJvdHRvbVxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgLSAycHgpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja2JveGVzXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1jaGVja2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgbGFiZWwge1xuICAgICAgLS1pZHMtY2hlY2tib3gtcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG5cbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgLSAzcHgpO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAzcHg7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICByaWdodDogLTE1cHg7XG4gICAgfVxuXG4gICAgbGFiZWwucmVxdWlyZWQgLmxhYmVsLWNoZWNrYm94OjphZnRlciB7XG4gICAgICByaWdodDogMzBweDtcbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIC5pZHMtY2hlY2tib3gge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gfiAuY2hlY2ttYXJrIHtcbiAgICAgIGxlZnQ6IC0xNnB4O1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgLSA0cHgpO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpbyBidXR0b25zXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1yYWRpbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICBsYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0ncmFkaW8nXSB+IC5jaXJjbGUge1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICByaWdodDogLTE1cHg7XG4gICAgfVxuXG4gICAgbGFiZWwucmVxdWlyZWQgLmxhYmVsLXRleHQ6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bZGlyPSdydGwnXSkgLmlkcy1yYWRpbyB7XG4gICAgaW5wdXRbdHlwZT0ncmFkaW8nXSB+IC5jaXJjbGUge1xuICAgICAgbGVmdDogLTE2cHg7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgIC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0ycHg7XG4gICAgfVxuICB9XG59XG5cbi8vIFN3aXRjaFxuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLnNsaWRlciB7XG4gICAgICBsZWZ0OiB1bnNldDtcbiAgICAgIHJpZ2h0OiAtNDVweDtcbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIC5pZHMtc3dpdGNoIHtcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLnNsaWRlciB7XG4gICAgICBsZWZ0OiA0NXB4O1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG59XG5cbi8vIERhdGEgTGFiZWxcbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddKSAuaWRzLWRhdGEtbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgIC5sYWJlbCB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctaW5saW5lLWVuZCk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmRhdGEsXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgYmVoYXZpb3JcbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbSkge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBKdXN0IHRoZSBsYWJlbCB3aWR0aFxuOmhvc3Qge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhLFxuICAuaWRzLWNoZWNrYm94LFxuICAuaWRzLXJhZGlvLFxuICAuaWRzLXN3aXRjaCxcbiAgLmlkcy1kYXRhLWxhYmVsLFxuICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgbGFiZWwsXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNsZWFyYWJsZS1taXhpbicgYXMgKjtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWRpcnR5LXRyYWNrZXItbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1zdGF0ZS1taXhpbicgYXMgKjtcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXZhbGlkYXRpb24tbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1wb3NpdGlvbi1taXhpbi5zY3NzJyBhcyBsYWJlbC1wb3NpdGlvbjtcblxuLy8gVGhlc2UgaW5wdXQgZmllbGQgc2l6ZXMgY29tZSBmcm9tIHRoZSBkZXNpZ24gdG9rZW5zIGFuZCBhcmUgYWRqdXN0ZWRcbi8vIGhlcmUgdG8gYWNjb3VudCBmb3IgMXB4IGJvcmRlciBzaXplIG9uIHRvcC9ib3R0b20gb3IgbGVmdC9yaWdodCBpbiBzb21lIGNhbGN1bGF0aW9ucy5cbiRib3JkZXItaW5wdXQtc2l6ZS14czogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMTApKTtcbiRib3JkZXItaW5wdXQtc2l6ZS1zbTogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMjApKTtcbiRib3JkZXItaW5wdXQtc2l6ZS1tZDogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNDApKTtcbiRib3JkZXItaW5wdXQtc2l6ZS1tbTogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMzApKTtcbiRib3JkZXItaW5wdXQtc2l6ZS1sZzogY2FsYyh2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNTApKTtcbiRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXhzOiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMTApIC0gNHB4KTtcbiRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXNtOiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMjApIC0gMnB4KTtcbiRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LW1kOiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMzApIC0gMnB4KTtcbiRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LWxnOiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtNDApIC0gMnB4KTtcbiRpbnB1dC1zaXplLWZ1bGw6IDEwMCU7XG5cbi8vIE1peGluIGZvciBtZXNzYWdlIHN0eWxlczogW2FsZXJ0LCBlcnJvciwgaW5mbywgc3VjY2Vzc11cbkBtaXhpbiBpZHMtaW5wdXQtbWVzc2FnZS1zdHlsZXMge1xuICAuYWxlcnQsXG4gIC5hbGVydDpob3ZlcixcbiAgLndhcm5pbmcsXG4gIC53YXJuaW5nOmhvdmVyICB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWFsZXJ0LWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1hbGVydC1kZWZhdWx0KTtcblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1hbGVydC1kZWZhdWx0KTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1pbnB1dC1zaGFkb3ctYWxlcnQtZm9jdXMpIDAgMCAzcHggMnB4O1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1hbGVydC1kaXNhYmxlZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtYWxlcnQtZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC1jb250YWluZXIuZXJyb3IsXG4gIC5maWVsZC1jb250YWluZXIuZXJyb3I6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1lcnJvci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWVycm9yLWNvbG9yLXRleHQtZXJyb3ItZGVmYXVsdCk7XG5cbiAgICAmLmZpZWxkLWNvbnRhaW5lcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWVycm9yLWRlZmF1bHQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1lcnJvci1jb2xvci10ZXh0LWVycm9yLWRlZmF1bHQpO1xuICAgIH1cblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1lcnJvci1kZWZhdWx0KTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1zaGFkb3ctZXJyb3ItZm9jdXMpIDAgMCAzcHggMnB4O1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1lcnJvci1kaXNhYmxlZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1lcnJvci1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgLmluZm8sXG4gIC5pbmZvOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItaW5mby1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtaW5mby1kZWZhdWx0KTtcblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1pbmZvLWRlZmF1bHQpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWlucHV0LXNoYWRvdy1pbmZvLWZvY3VzKSAgMCAwIDNweCAycHg7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1pbmZvLWRpc2FibGVkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1pbmZvLWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAuc3VjY2VzcyxcbiAgLnN1Y2Nlc3M6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zdWNjZXNzLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1zdWNjZXNzLWRlZmF1bHQpO1xuXG4gICAgJjpmb2N1cy13aXRoaW4sXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLXN1Y2Nlc3MtZGVmYXVsdCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtaW5wdXQtc2hhZG93LXN1Y2Nlc3MtZm9jdXMpIDAgMCAzcHggMnB4O1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zdWNjZXNzLWRpc2FibGVkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1zdWNjZXNzLWRpc2FibGVkKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIGxhYmVsIHdyYXAgZWxsaXBzaXNcbkBtaXhpbiBpZHMtaW5wdXQtbGFiZWwtd3JhcC1lbGxpcHNpcyB7XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgaWRzLXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICB9XG5cbiAgICAmLnJlcXVpcmVkIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEwMCU7XG4gICAgICAgIHRvcDogLThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8vIEZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSB3aWR0aCBzdWJ0cmFjdCBwYWRcbkBmdW5jdGlvbiBpZHMtaW5wdXQtc2l6ZS13aXRoLXBhZCgkd2lkdGgsICRwYWQ6IDhweCkge1xuICBAcmV0dXJuIGNhbGMoJHdpZHRoIC0gJHBhZCk7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbi8vIE1peGluIGZvciBsYWJlbCB3cmFwIG5vLXN0cmV0Y2hcbkBtaXhpbiBpZHMtaW5wdXQtbGFiZWwtd3JhcC1uby1zdHJldGNoIHtcbiAgLnhzIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgbWF4LXdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUteHM7XG4gIH1cblxuICAuc20gLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCRib3JkZXItaW5wdXQtc2l6ZS1zbSk7XG4gIH1cblxuICAubW0gLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCRib3JkZXItaW5wdXQtc2l6ZS1tbSk7XG4gIH1cblxuICAubWQgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCRib3JkZXItaW5wdXQtc2l6ZS1tZCk7XG4gIH1cblxuICAubGcgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IGlkcy1pbnB1dC1zaXplLXdpdGgtcGFkKCRib3JkZXItaW5wdXQtc2l6ZS1sZyk7XG4gIH1cblxuICAuZnVsbCAuaWRzLWxhYmVsLXRleHQge1xuICAgIG1heC13aWR0aDogaWRzLWlucHV0LXNpemUtd2l0aC1wYWQoJGlucHV0LXNpemUtZnVsbCk7XG4gIH1cbn1cblxuLyogaW4gY2FzZSBvZiBleHRlcm5hbCBsYWJlbCBpbiBjb21wb3VuZCBjb21wb25lbnQgKi9cbi5pZHMtbGFiZWwtdGV4dCB7XG4gIEBpbmNsdWRlIG1peGlucy5hbnRpYWxpYXNlZCgpO1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtbGFiZWwtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0taWRzLWlucHV0LW1hcmdpbi1ib3R0b20pO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgLy8gQWJpbGl0eSB0byBjZW50ZXIgbGFiZWwgZnJvbSBwYXJlbnQgZWxlbWVudFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG5cbiAgLy8gU2ltdWxhdGUgc3RhbmRhcmQgbGFiZWwgdGV4dCBzaXplIHdoaWxlIGVtcHR5IHdpdGggYSBub24tYnJlYWtpbmcgc3BhY2VcbiAgJi5lbXB0eSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYTAnO1xuICAgIH1cbiAgfVxuXG4gICYucmVxdWlyZWQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1tZCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LXJlcXVpcmVkLWluZGljYXRvci1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgICAgY29udGVudDogJyonO1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgICB0b3A6IDFweDtcblxuICAgICAgLy8gQWRkaW5nIGl0IHNvIFwiKlwiIHNpZ24gZG9lc24ndCBjaGFuZ2UgbGFiZWwgdGV4dCBoZWlnaHRcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgICYubm8tcmVxdWlyZWQtaW5kaWNhdG9yOjphZnRlcixcbiAgICAmLmVtcHR5OjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cblxuICBpZHMtdGV4dDo6cGFydCh0ZXh0KSxcbiAgLmlkcy10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuLmRpc2FibGVkIHtcbiAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWxhYmVsLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgIG9wYWNpdHk6IHZhcigtLWlkcy1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5KTtcblxuICAgICYucmVxdWlyZWQ6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtcmVxdWlyZWQtaW5kaWNhdG9yLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaW5wdXQtZXh0cmEtc21hbGwtaGVpZ2h0KCRoOiAkYm9yZGVyLWlucHV0LWZpZWxkLWhlaWdodC14cykge1xuICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtZm9udC1zaXplLTJ4cyk7XG5cbiAgLmljb24tZGlydHkge1xuICAgIHRvcDogMDtcbiAgfVxuXG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1pZHMtaW5wdXQtbGFiZWwtZm9udC1zaXplKTtcbiAgfVxuXG4gIC5pZHMtaW5wdXQtZmllbGQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gICAgaGVpZ2h0OiAkaDtcbiAgfVxufVxuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC1mdWxsKTtcblxuICAuaWRzLWlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuOmhvc3QoW3NpemU9J2Z1bGwnXSkge1xuICB3aWR0aDogMTAwJTtcbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J2VsbGlwc2lzJ10pIHtcbiAgQGluY2x1ZGUgaWRzLWlucHV0LWxhYmVsLXdyYXAtZWxsaXBzaXMoKTtcbn1cblxuOmhvc3QoW2xhYmVsLXdyYXA9J2VsbGlwc2lzLW5vLXN0cmV0Y2gnXSkge1xuICBAaW5jbHVkZSBpZHMtaW5wdXQtbGFiZWwtd3JhcC1lbGxpcHNpcygpO1xuICBAaW5jbHVkZSBpZHMtaW5wdXQtbGFiZWwtd3JhcC1uby1zdHJldGNoKCk7XG59XG5cbjpob3N0KFtsYWJlbC13cmFwPSd3cmFwLW5vLXN0cmV0Y2gnXSkge1xuICBAaW5jbHVkZSBpZHMtaW5wdXQtbGFiZWwtd3JhcC1uby1zdHJldGNoKCk7XG59XG5cbi5pZHMtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2Utc20pO1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC1mdWxsKTtcblxuICAvLyBBcHBsaWVkIHRvIHRoZSB3cmFwcGVyIGVsZW1lbnQgdGhhdCB3cmFwcyB0aGUgaW5wdXQgYW5kIG90aGVyIGludGVyYWN0YWJsZSBlbGVtZW50c1xuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLTJ4cyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG4gICAgcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC5maWVsZC1jb250YWluZXIuc3F1YXJlIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy1ub25lKTtcbiAgfVxuXG4gICY6Zm9jdXMtd2l0aGluLFxuICAmLnJlYWRvbmx5OmZvY3VzLXdpdGhpbixcbiAgJi5pcy1hY3RpdmUge1xuICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG91dGxpbmUtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zaGFkb3cpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pY29uLnN0YXJ0aW5nLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gIH1cblxuICAuaWRzLWljb24uZW5kaW5nLWljb24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICB9XG5cbiAgLy8gQXBwbGllZCB0byB0aGUgc2hhZG93IHJvb3QncyBIVE1MSW5wdXRFbGVtZW50XG4gIC5pZHMtaW5wdXQtZmllbGQge1xuICAgIEBpbmNsdWRlIG1peGlucy5hbnRpYWxpYXNlZCgpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogdmFyKC0taWRzLWZvbnQtZmFtaWx5LWRlZmF1bHQpLCB2YXIoLS1pZHMtZm9udC1mYW1pbHktc3lzdGVtLXNhbnMpO1xuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTEyKTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1pbnB1dC1wYWRkaW5nLWlubGluZS1lbmQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWlucHV0LWZvbnQtc2l6ZSk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgJi50ZXh0LWVsbGlwc2lzIHtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIC8vIGlucHV0IHRleHQtYWxpZ246IFtzdGFydCwgY2VudGVyLCBlbmRdXG4gICAgJi5zdGFydCB7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtcGxhY2Vob2xkZXIpO1xuICAgIH1cblxuICAgICYuY2VudGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLmVuZCB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gVmFsaWRhdGlvbiBNZXNzYWdlcyBhcmUgYXBwZW5kZWQgYmVuZWF0aCB0aGUgYC5maWVsZC1jb250YWluZXJgXG4gIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICAgLmlkcy1pY29uIHtcbiAgICAgIHBsYWNlLXNlbGY6IHNlbGYtc3RhcnQ7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgYG5vLW1hcmdpbnNgIGlzIHVzZWQ6XG4gIC8vIC0gbWFyZ2lucyBhcmUgcmVtb3ZlZCBmcm9tIGNvbXBvbmVudCB0b3AvYm90dG9tXG4gIC8vIC0gbGFiZWxzIGFyZSB2aXN1YWxseSBoaWRkZW4gaW5zdGVhZCBvZiBkaXNwbGF5aW5nIGJsYW5rIGNvbnRlbnQgZm9yIHNwYWNpbmdcbiAgJi5uby1tYXJnaW5zLFxuICAmLm5vLW1hcmdpbnMuY29tcGFjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAmLmZpZWxkLWhlaWdodC14cyB7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgfVxuXG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgfVxuXG4gICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBtYXJnaW46IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICB9XG5cbiAgICAvLyBSZXZlcnNlIHRoZSBtYXJnaW5zIG9uIGBpZHMtaW5wdXRbbm8tbWFyZ2luc11gIGZpZWxkcyB0byBoYXZlIHRoZSBib3R0b20gbWFyZ2luIG9uIHRvcFxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgJi5lbXB0eSB7XG4gICAgICAgIG1hcmdpbjogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBpbnB1dCBzaXplczogW3hzLCBzbSwgbW0sIG1kLCBsZywgZnVsbF1cbiAgLy8gU3VidHJhY3RpbmcgMiB0YWtlcyBpbnRvIGFjY291bnQgdGhhdCB0aGUgd2lkdGggaW5jbHVkZXMgdGhlIGAuZmllbGQtY29udGFpbmVyYCBib3JkZXIgb24gYm90aCBzaWRlcy5cbiAgJi54cyB7XG4gICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUteHM7XG4gICAgfVxuICB9XG5cbiAgJi5zbSB7XG4gICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtc207XG4gICAgfVxuICB9XG5cbiAgJi5tbSB7XG4gICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbW07XG4gICAgfVxuICB9XG5cbiAgJi5tZCB7XG4gICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbWQ7XG4gICAgfVxuICB9XG5cbiAgJi5sZyB7XG4gICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbGc7XG4gICAgfVxuICB9XG5cbiAgJi5mdWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLWZ1bGwpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiBtaXhpbnMuJGJyZWFrcG9pbnQtc20pICB7XG4gICAgJjpub3QoLmZ1bGwpOm5vdCgubWQpOm5vdCgubW0pOm5vdCguc20pOm5vdCgueHMpIHtcbiAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6ICRib3JkZXItaW5wdXQtc2l6ZS1tbTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYgKyAuaWRzLWlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5wdXQgZmllbGQtaGVpZ2h0czogW3hzLCBzbSwgbWQsIGxnXVxuICAvLyBTdWJ0cmFjdGluZyAyIHRha2VzIGludG8gYWNjb3VudCB0aGF0IHRoZSB3aWR0aCBpbmNsdWRlcyB0aGUgYC5maWVsZC1jb250YWluZXJgIGJvcmRlciBvbiBib3RoIHNpZGVzLlxuICAmLmZpZWxkLWhlaWdodC14cyB7XG4gICAgQGluY2x1ZGUgaW5wdXQtZXh0cmEtc21hbGwtaGVpZ2h0KCk7XG5cbiAgICAmLm5vLW1hcmdpbi1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuXG4gICAgICAuZmllbGQtY29udGFpbmVyLFxuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZpZWxkLWhlaWdodC1zbSAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICBoZWlnaHQ6ICRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQtbWQgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgaGVpZ2h0OiAkYm9yZGVyLWlucHV0LWZpZWxkLWhlaWdodC1tZDtcbiAgfVxuXG4gICYuZmllbGQtaGVpZ2h0LWxnIC5pZHMtaW5wdXQtZmllbGQge1xuICAgIGhlaWdodDogJGJvcmRlci1pbnB1dC1maWVsZC1oZWlnaHQtbGc7XG4gIH1cblxuICAvLyBpbnB1dCBjb21wYWN0XG4gICYuY29tcGFjdCB7XG4gICAgQGluY2x1ZGUgaW5wdXQtZXh0cmEtc21hbGwtaGVpZ2h0KCRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXhzKTtcblxuICAgICYubm8tbWFyZ2luLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgICAgICBoZWlnaHQ6ICRib3JkZXItaW5wdXQtZmllbGQtaGVpZ2h0LXhzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMTApIC0gMnB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBEYXRhIEdyaWQgVmFyaWFudHNcblxuICAvLyBGbHVzaC9JbnZpc2libGUgVmFyaWFudCAodXNlZCBpbiBJZHNEYXRhR3JpZCBjZWxsIGVkaXRpbmcpXG4gICYuY29sb3ItdmFyaWFudC1ib3JkZXJsZXNzIHtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXM6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG5cbiAgICBtYXJnaW46IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy1ub25lKTtcblxuICAgIGlucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1zbSk7XG4gICAgfVxuXG4gICAgc2xvdFtuYW1lPVwidHJpZ2dlci1zdGFydFwiXSxcbiAgICBzbG90W25hbWU9XCJ0cmlnZ2VyLWVuZFwiXSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH07XG5cbiAgICAuaWNvbi1kaXJ0eSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXdpdGhpbiAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LWxnIHtcbiAgICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1pZHMtc3BhY2Utc20pIC0gMnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQtbWQge1xuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLWlkcy1zcGFjZS0xMikgLSAycHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZpZWxkLWhlaWdodC1zbSB7XG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0taWRzLXNwYWNlLXhzKSAtIDJweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LXhzIHtcbiAgICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICAgICAgfVxuXG4gICAgICBzbG90W25hbWU9XCJ0cmlnZ2VyLWVuZFwiXSAge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQteHhzIHtcbiAgICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWlkcy1kYXRhLWdyaWQtZm9udC1zaXplLXNtKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS00eHMpO1xuICAgICAgfVxuXG4gICAgICBzbG90W25hbWU9XCJ0cmlnZ2VyLWVuZFwiXSAge1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGbHVzaC9JbnZpc2libGUgVmFyaWFudCAodXNlZCBpbiBJZHNEYXRhR3JpZCBpbmxpbmUgY2VsbCBlZGl0aW5nKVxuICAmLmNvbG9yLXZhcmlhbnQtaW4tY2VsbCB7XG4gICAgbWFyZ2luOiAxcHg7XG5cbiAgICBpbnB1dCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWlkcy1mb250LXNpemUtc20pO1xuXG4gICAgICAmW2ZpZWxkLWhlaWdodD0neHhzJ10ge1xuICAgICAgICAtLWlkcy1kcm9wZG93bi1mb250LXNpemUtY29tcGFjdDogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taWRzLWRhdGEtZ3JpZC1mb250LXNpemUtc20pO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQtbGcgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMTFweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5mdWxsIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWlubGluZTogM3B4O1xuICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LW1kIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IDZweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQtc20gLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgfVxuXG4gICAgJi5pZHMtaW5wdXQuZmllbGQtaGVpZ2h0LXNtLmZ1bGwgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4taW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAmLmlkcy1pbnB1dC5maWVsZC1oZWlnaHQteHMgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMXB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgICYuaWRzLWlucHV0LmZpZWxkLWhlaWdodC14cy5mdWxsIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWlubGluZTogMXB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIE1vZHVsZSBOYXYgY29sb3IgdmFyaWFudFxuICAvLyAodXNlZCBpbiBJZHNEcm9wZG93bi9JZHNTZWFyY2hGaWVsZCBsb2NhdGVkIGluc2lkZSBJZHNNb2R1bGVOYXYpXG4gICYuY29sb3ItdmFyaWFudC1tb2R1bGUtbmF2IHtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgdHJhbnNmb3JtOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSksXG4gICAgICBib3JkZXItY29sb3IgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSxcbiAgICAgIGNvbG9yIHZhcigtLWlkcy1tb3Rpb24tZHVyYXRpb24pIHZhcigtLWlkcy1tb3Rpb24tZWFzZSk7XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWNvbW1vbi1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJvcmRlcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaW5wdXQtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci10ZXh0LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXRleHQtY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KFtjbGFzcyo9XCJmaWVsZC1oZWlnaHQtXCJdKSB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC13cmFwcGVyLWhlaWdodCk7XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtaGVpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbG9yIFN0eWxlc1xuXG4gICY6bm90KFtjbGFzcyo9J2NvbG9yLXZhcmlhbnQtJ10pIHtcbiAgICAuZmllbGQtY29udGFpbmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICAmLnJlYWRvbmx5IHtcbiAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAmLmhvdmVyIC5maWVsZC1jb250YWluZXIsXG4gICAgICAmLmZvY3VzLXdpdGhpbiAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgJi5lcnJvcixcbiAgICAgICAgJi5lcnJvcjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1lcnJvci1kZWZhdWx0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm5vdCgucmVhZG9ubHktYmFja2dyb3VuZCk6bm90KC5iZy10cmFuc3BhcmVudCkge1xuICAgICAgICAuZmllbGQtY29udGFpbmVyLFxuICAgICAgICAmLmhvdmVyIC5maWVsZC1jb250YWluZXIsXG4gICAgICAgICYuZm9jdXMtd2l0aGluIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICY6aG92ZXIgLmZpZWxkLWNvbnRhaW5lcixcbiAgICAgICY6Zm9jdXMtd2l0aGluIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtaW5wdXQtZGlzYWJsZWQtb3BhY2l0eSk7XG5cbiAgICAgICAgLy8gU2FmYXJpIGlucHV0IHRleHQgY29sb3JcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJnLXRyYW5zcGFyZW50IHtcbiAgICAgIC5maWVsZC1jb250YWluZXIsXG4gICAgICAmLnJlYWRvbmx5IC5maWVsZC1jb250YWluZXIsXG4gICAgICAmLmRpc2FibGVkIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgICY6aG92ZXI6bm90KC5yZWFkb25seSk6bm90KC5kaXNhYmxlZCk6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pLFxuICAgICY6aG92ZXIucmVhZG9ubHkucmVhZG9ubHktYmFja2dyb3VuZCB7XG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5jbHVkZSBlcnJvciBzdHlsZXNcbiAgICAgIEBpbmNsdWRlIGlkcy1pbnB1dC1tZXNzYWdlLXN0eWxlcygpO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlLFxuICAgICYuaXMtYWN0aXZlOmhvdmVyLnJlYWRvbmx5LnJlYWRvbmx5LWJhY2tncm91bmQge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgICB9XG5cbiAgICAgIC8vIEluY2x1ZGUgZXJyb3Igc3R5bGVzXG4gICAgICBAaW5jbHVkZSBpZHMtaW5wdXQtbWVzc2FnZS1zdHlsZXMoKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOm5vdCguZGlzYWJsZWQpLnJlYWRvbmx5LnJlYWRvbmx5LWJhY2tncm91bmQuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyIHtcbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5jbHVkZSBlcnJvciBzdHlsZXNcbiAgICBAaW5jbHVkZSBpZHMtaW5wdXQtbWVzc2FnZS1zdHlsZXMoKTtcbiAgfVxuXG4gIC8vIEFsdGVybmF0ZSBDb2xvciBWYXJpYW50ICh1c2VkIGluIElkc0hlYWRlciAtIFNlYXJjaClcbiAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZSB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtaGVhZGVyLWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtaW5wdXQtaGVhZGVyLWNvbG9yLWJhY2tncm91bmQpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWlkcy1pbnB1dC1oZWFkZXItY29sb3ItYm9yZGVyKTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4gLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zaGFkb3cpO1xuICAgIH1cblxuICAgIC5pZHMtaW5wdXQtZmllbGQge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1oZWFkZXItY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWhlYWRlci1jb2xvci10ZXh0LXBsYWNlaG9sZGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJlYWRvbmx5LWJhY2tncm91bmQge1xuICAgICAgLmlkcy1pbnB1dC1maWVsZDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWhlYWRlci1jb2xvci10ZXh0LXBsYWNlaG9sZGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBbHRlcm5hdGUtZm9ybWF0dGVyIENvbG9yIFZhcmlhbnQgKHVzZWQgaW4gSWRzRGF0YUdyaWQgZmlsdGVyKVxuICAmLmNvbG9yLXZhcmlhbnQtYWx0ZXJuYXRlLWZvcm1hdHRlciB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgJjpob3Zlci5yZWFkb25seS5yZWFkb25seS1iYWNrZ3JvdW5kLFxuICAgICY6aG92ZXI6bm90KC5yZWFkb25seSk6bm90KC5kaXNhYmxlZCkge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAuZmllbGQtY29udGFpbmVyLFxuICAgICAgJjpob3Zlci5yZWFkb25seS5yZWFkb25seS1iYWNrZ3JvdW5kLFxuICAgICAgJjpob3Zlcjpub3QoLnJlYWRvbmx5KTpub3QoLmRpc2FibGVkKSAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgfVxuXG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtZGF0YS1ncmlkLWZpbHRlci1pbnB1dC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5yZWFkb25seTpub3QoLnJlYWRvbmx5LWJhY2tncm91bmQpOm5vdCguYmctdHJhbnNwYXJlbnQpIC5maWVsZC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYmFja2dyb3VuZC1yZWFkb25seSk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLWJvcmRlci1yZWFkb25seSk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItdGV4dC1yZWFkb25seSk7XG4gICAgfVxuXG4gICAgLmlkcy1pbnB1dC1maWVsZDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1kYXRhLWdyaWQtZmlsdGVyLWlucHV0LWNvbG9yLXRleHQtcGxhY2Vob2xkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcCBNZW51XG4gICYuY29sb3ItdmFyaWFudC1hcHAtbWVudSB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWNvbG9yLXRleHQtYXBwLW1lbnUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIExpc3QgQnVpbGRlclxuICAmLmNvbG9yLXZhcmlhbnQtbGlzdC1idWlsZGVyIHtcbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWxpc3QtYnVpbGRlci1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBNb2R1bGUgTmF2XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzICovXG4gICYuY29sb3ItdmFyaWFudC1tb2R1bGUtbmF2IHtcbiAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXRleHQtY29sb3IpO1xuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnMgKi9cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLXRleHQtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtdGV4dC1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oYXMtY2xlYXJhYmxlIHtcbiAgICAgIC5idG4tY2xlYXIge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1ob3Zlci1iZy1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC5pZHMtaW5wdXQtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci10ZXh0LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLXdpdGhpbixcbiAgICAmLnJlYWRvbmx5OmZvY3VzLXdpdGhpbixcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaW5wdXQtZm9jdXMtYmctY29sb3IpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWl0ZW0tc2VsZWN0ZWQtdGV4dC1jb2xvcik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5pZHMtaW5wdXQtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC1mb2N1c2VkLXBsYWNlaG9sZGVyLXRleHQtY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAuaWRzLWlucHV0LWZpZWxkIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWlucHV0LXRleHQtY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2Fwcy1sb2NrLWluZGljYXRvciB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG59XG5cbi5zaG93LWhpZGUtcGFzc3dvcmQge1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xufVxuXG4uaXMtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmlzLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbi5oaWdobGlnaHQge1xuICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uaWRzLWlucHV0LWZpZWxkW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLmlkcy1pbnB1dC1maWVsZFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIFJlbW92ZSBTYWZhcmkgY2FwcyBsb2NrIGljb25cbi5pZHMtaW5wdXQtZmllbGQ6Oi13ZWJraXQtY2Fwcy1sb2NrLWluZGljYXRvciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gQXV0b2NvbXBsZXRlIGRyb3Bkb3duIG1lbnUgc2l6ZXNcbjpob3N0IGlkcy1wb3B1cFt0eXBlPSdkcm9wZG93biddIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLTQwKTtcbn1cblxuOmhvc3QoW3NpemU9J3hzJ10pIGlkcy1wb3B1cFt0eXBlPSdkcm9wZG93biddIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMTApO1xufVxuXG46aG9zdChbc2l6ZT0nc20nXSkgaWRzLXBvcHVwW3R5cGU9J2Ryb3Bkb3duJ10ge1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC0yMCk7XG59XG5cbjpob3N0KFtzaXplPSdtbSddKSBpZHMtcG9wdXBbdHlwZT0nZHJvcGRvd24nXSB7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLTMwKTtcbn1cblxuOmhvc3QoW3NpemU9J21kJ10pIGlkcy1wb3B1cFt0eXBlPSdkcm9wZG93biddIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNDApO1xufVxuXG46aG9zdChbc2l6ZT0nbGcnXSkgaWRzLXBvcHVwW3R5cGU9J2Ryb3Bkb3duJ10ge1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC01MCk7XG59XG5cbjpob3N0KFtzaXplPSdmdWxsJ10pIGlkcy1wb3B1cFt0eXBlPSdkcm9wZG93biddIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG59XG5cbi8vIExvYWRpbmcgSW5kaWNhdG9yXG46aG9zdCg6bm90KFtzaG93LWxvYWRpbmctaW5kaWNhdG9yPSd0cnVlJ10pKSB7XG4gIDo6c2xvdHRlZCguc2xvdC1sb2FkaW5nLWluZGljYXRvcikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW3Nob3ctbG9hZGluZy1pbmRpY2F0b3I9J3RydWUnXSkge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICA6OnNsb3R0ZWQoaWRzLWxvYWRpbmctaW5kaWNhdG9yKSB7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgfVxuXG4gIDo6c2xvdHRlZChpZHMtdHJpZ2dlci1idXR0b25bc2xvdD0ndHJpZ2dlci1lbmQnXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICA6OnNsb3R0ZWQoLnNsb3QtbG9hZGluZy1pbmRpY2F0b3IpIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMTJweDtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICB9XG59XG5cbjpob3N0KFtzaG93LWxvYWRpbmctaW5kaWNhdG9yPSd0cnVlJ11bZmllbGQtaGVpZ2h0PSd4cyddKSB7XG4gIDo6c2xvdHRlZCguc2xvdC1sb2FkaW5nLWluZGljYXRvcikge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxufVxuXG46aG9zdChbc2hvdy1sb2FkaW5nLWluZGljYXRvcj0ndHJ1ZSddW2ZpZWxkLWhlaWdodD0nc20nXSkge1xuICA6OnNsb3R0ZWQoLnNsb3QtbG9hZGluZy1pbmRpY2F0b3IpIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoLmF1ZGlibGUpIHtcbiAgQGluY2x1ZGUgbWl4aW5zLmF1ZGlibGUoKTtcbn1cblxuOmhvc3QoW2Rpcj0ncnRsJ10pIHtcbiAgLmlkcy1pbnB1dCB7XG4gICAgJi54cyAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUteHM7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAmLnNtIC5maWVsZC1jb250YWluZXIge1xuICAgICAgd2lkdGg6ICRib3JkZXItaW5wdXQtc2l6ZS1zbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgICYubW0gLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogJGJvcmRlci1pbnB1dC1zaXplLW1tO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgJi5tZCAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAkYm9yZGVyLWlucHV0LXNpemUtbWQ7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAmLmxnIC5maWVsZC1jb250YWluZXIge1xuICAgICAgd2lkdGg6ICRib3JkZXItaW5wdXQtc2l6ZS1sZztcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgICYuZnVsbCAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJy4uL2lkcy1pbnB1dC9pZHMtaW5wdXQnIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1wb3NpdGlvbi1taXhpbi5zY3NzJyBhcyBsYWJlbC1wb3NpdGlvbjtcblxuLy8gQWJpbGl0eSB0byBjZW50ZXIgbGFiZWxcbjpob3N0KFtwYXJ0PSd0cmlnZ2VyLWZpZWxkJ10pIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4vLyBEYXRlIHBpY2tlciBmaWx0ZXIgaW4gZGF0YWdyaWRcbjpob3N0KFtkYXRhLWZpbHRlci10eXBlXSkge1xuICAtLWlkcy10cmlnZ2VyLWZpZWxkLW1pbi13aWR0aDogNDBweDtcblxuICBtYXJnaW4taW5saW5lLWVuZDogMDtcblxuICA6OnNsb3R0ZWQoaWRzLXRyaWdnZXItYnV0dG9uKSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDZweDtcbiAgfVxufVxuXG4uaWRzLXRyaWdnZXItZmllbGQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG5cbiAgJi5jb21wYWN0LFxuICAmLmZpZWxkLWhlaWdodC14cyB7XG4gICAgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC0xMCkgLSAycHgpO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC1jb250YWluZXIuc3F1YXJlLFxuICAuZmlsdGVyLWNvbnRhaW5lci5zcXVhcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICAuZmllbGQtY29udGFpbmVyIHtcbiAgICBtaW4td2lkdGg6IHZhcigtLWlkcy10cmlnZ2VyLWZpZWxkLW1pbi13aWR0aCk7XG5cbiAgICAvKiBFbnN1cmUgZGlydHkgdHJhY2tlciBpY29uIHN0YXlzIHZpc2libGUgKi9cbiAgICAuaWNvbi1kaXJ0eSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbjo6c2xvdHRlZCgqW3Nsb3Q9J3RyaWdnZXItZW5kJ10ueHMpIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDRweDtcbiAgd2lkdGg6IDI0cHg7XG59XG5cbjo6c2xvdHRlZCgqW3Nsb3Q9J3RyaWdnZXItZW5kJ10ubWQpIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDRweDtcbiAgd2lkdGg6IDI0cHg7XG59XG5cbjo6c2xvdHRlZCgqW3Nsb3Q9J3RyaWdnZXItZW5kJ11bY29tcGFjdF0pIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDRweDtcbiAgd2lkdGg6IDI0cHg7XG59XG5cbi5pZHMtaW5wdXQuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyIHtcbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIC5maWVsZC1jb250YWluZXIuaXMtZm9jdXNlZCB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWFjY29yZGlvbi1oZWFkZXItc2hhZG93LWZvY3VzKTtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyLmhpZGUtZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWRhdGEtZ3JpZC1maWx0ZXItaW5wdXQtY29sb3ItYmFja2dyb3VuZC1yZWFkb25seSk7XG4gICAgfVxuXG4gICAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZmllbGQtY29udGFpbmVyLmNvbGxhcHNlZCAuYnRuLWNsZWFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOm5vdChbY29sbGFwc2VkXSkpIHtcbiAgOjpzbG90dGVkKGlkcy10cmlnZ2VyLWJ1dHRvbi5leHBhbmQtYnV0dG9uKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbY29sbGFwc2VkXSkge1xuICA6OnNsb3R0ZWQoaWRzLXRyaWdnZXItYnV0dG9uLmV4cGFuZC1idXR0b24pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG46aG9zdChbY29tYm9ib3hdKSB7XG4gIC5maWVsZC1jb250YWluZXIgaW5wdXQge1xuICAgIGJvcmRlci1pbmxpbmUtZW5kOiAxcHggc29saWQgdmFyKC0taWRzLXRyaWdnZXItZmllbGQtY29tYm9ib3gtYm9yZGVyKTtcbiAgfVxuXG4gIDo6c2xvdHRlZChpZHMtdHJpZ2dlci1idXR0b24pIHtcbiAgICB3aWR0aDogMzJweDtcbiAgfVxufVxuIl19 */
1931
+ /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtdHJpZ2dlci1maWVsZCIsInNvdXJjZXMiOlsiLi4vaWRzLWJ1dHRvbi9pZHMtYnV0dG9uLnNjc3MiLCIuLi9pZHMtYnV0dG9uL2lkcy1idXR0b24tYmFzZS5zY3NzIiwiLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMuc2NzcyIsImlkcy10cmlnZ2VyLWJ1dHRvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBaUlBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQTJmQTtBQUFBO0FBQUE7QURob0JBO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0FBQUE7RUFFRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VFUEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZLQTtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFJSjtFQUNFOzs7QUFJQTtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTs7O0FBSUY7RUFDRTs7O0FBTUY7QUFBQTtBQUFBO0FBQUE7RUV6REU7RUFDQTs7QUY4REE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7OztBQU1GO0FBQUE7RUFDRTtFQUNBO0VBQ0E7OztBQVFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS047QUFBQTtBQUFBO0VDbEdFO0VBd0JBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBR0U7O0FBSUY7QUFBQTtBQUFBO0VBQ0U7O0FBTUY7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBR0EsWUFDRTtFQUlGOztBQUdGO0FBQUE7QUFBQTtFQUVFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0M7O0FBS0Q7QUFBQTtBQUFBO0VBQ0U7O0FBRUE7QUFBQTtBQUFBO0VDM0RGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FEeURBO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUNFOztBQU9BO0FBQUE7QUFBQTtFQUNFOztBQUlKO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUVFOztBQW1CRjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBSUo7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7QUFLRjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7QUFPSjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBT0o7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUlFOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFNSjtFQUNFO0lBQ0U7O0VBR0Y7SUFFSTs7O0FBSU47RUFDRTtJQUNFOztFQUdGO0lBRUk7OztBQUlOO0VBQ0U7SUFDRTs7RUFHRjtJQUVJOzs7QUFJTjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0FBQUE7QUFBQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QUFJQTtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFPTjtBQUFBO0FBQUE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0FBQUE7RUFDRTs7QUFLQTtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQU9OO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBS0E7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBT047QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBOztBQVVGO0FBQUE7QUFBQTtFQUNFOztBQUlBO0FBQUE7QUFBQTtFQUNFOztBQU9KO0FBQUE7QUFBQTtFQUNFOztBQUtKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFLSjtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUlFOztBQUdGO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUlKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTs7QUFLSjtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FEamhCSjtBQUFBO0FBQUE7RUNvQkE7O0FEaEJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUNvQkE7O0FEZkE7QUFBQTtBQUFBO0VDZUE7OztBRFZGO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFJQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7OztBQU1OO0VBQ0U7RUFDQTs7O0FBR0Y7RUN4SkU7RUF3QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUQrSEE7O0FDN0hBO0VBR0U7O0FBSUY7RUFDRTs7QUFNRjtFQUNFO0VBQ0E7RUFDQTtFQUdBLFlBQ0U7RUFJRjs7QUFHRjtFQUVFO0VBQ0E7O0FBR0Y7RUFDQzs7QUFLRDtFQUNFOztBQUVBO0VDM0RGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FEeURBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFPQTtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFFRTs7QUFtQkY7RUFDRTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBT0E7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUtGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBSUU7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBT0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFJRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFPSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUlFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBTUo7RUFDRTtJQUNFOztFQUdGO0lBRUk7OztBQUlOO0VBQ0U7SUFDRTs7RUFHRjtJQUVJOzs7QUFJTjtFQUNFO0lBQ0U7O0VBR0Y7SUFFSTs7O0FBSU47RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBRUU7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBRUU7RUFDQTtFQUNBOztBQUlBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQU9OO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUtBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFPTjtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBRUU7O0FBR0Y7RUFDRTtFQUNBOztBQUtBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQU9OO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFJRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBVUY7RUFDRTs7QUFJQTtFQUNFOztBQU9KO0VBQ0U7O0FBS0o7RUFFRTtFQUNBOztBQUVBO0VBSUU7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFJRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBSUo7RUFFRTs7QUFLSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FEN2RKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUdFO0VBQ0E7O0FBSUo7RUFDRTs7QUFJQTtFQUNFO0VBQ0E7O0FBSUo7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRTtFQUNFOztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUUzTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZ3TUE7RUFDRTtFQUNBOzs7QUFNQTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUN1WkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBS0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBS0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBTUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBT0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBbHJCSixZQUNFOztBQWdzQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBanNCRixZQUNFOztBQThzQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7O0FBS0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7QUFNRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTs7O0FEM2VOO0VDbFFFO0VBd0JBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEd09BOztBQ3RPQTtFQUdFOztBQUlGO0VBQ0U7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFHQSxZQUNFO0VBSUY7O0FBR0Y7RUFFRTtFQUNBOztBQUdGO0VBQ0M7O0FBS0Q7RUFDRTs7QUFFQTtFQzNERjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRHlEQTtFQUNFOztBQUdGO0VBQ0U7O0FBT0E7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBRUU7O0FBK25CRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFudkJGO0VBQ0E7O0FBeXZCRTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFPSjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQWh4QkY7RUFDQTs7QUFzeEJFO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FEbmlCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBS0o7RUFDRTs7O0FBS0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBRUU7RUFDQTs7O0FBS0o7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBT0E7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTs7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFJRjtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7O0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBR0U7OztBQU1GO0VBQ0U7OztBQU1GO0VBQ0U7OztBQUtGO0VBQ0U7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBS0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBSUE7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7O0FBTUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRzdmQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFHQTtFQUNFOzs7QUFNSjtFQUNFO0VBQ0E7RUFFQTs7O0FBT0Y7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUVBOztBQUVBO0FBQUE7QUFBQTtFQUNFOzs7QUFPSjtBQUFBO0VBQ0U7O0FBRUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7OztBQU9GO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7OztBQU1KO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUlKO0VBQ0U7RUFDQTs7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7OztBQUtOO0FBQUE7RUFFRTtFQUNBO0VBRUE7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQU1KO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUtGO0VBRUU7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUlFO0VBQ0E7O0FBSUo7RUFDRTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTs7QUFTRjtFQUNFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJZHMgQnV0dG9uIENvbXBvbmVudCBDU1NcbiAqIChJbmNsdWRlcyBzdGFuZGFyZCBhbmQgaWNvbiBidXR0b24gcnVsZXMpXG4gKi9cbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5AdXNlICcuL2lkcy1idXR0b24tYmFzZScgYXMgYnV0dG9uO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gIDo6c2xvdHRlZChzcGFuKSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxuXG4gIDo6c2xvdHRlZChzcGFuKSxcbiAgOjpzbG90dGVkKGlkcy10ZXh0KSB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICA6OnNsb3R0ZWQoaWRzLWljb24pIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICA6OnNsb3R0ZWQoaWRzLWljb25bY29tcGFjdD0ndHJ1ZSddKSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICB9XG5cbiAgOjpzbG90dGVkKHNwYW4uYXVkaWJsZSkge1xuICAgIEBpbmNsdWRlIG1peGlucy5hdWRpYmxlKCk7XG4gIH1cblxuICAvLyBCdXR0b24gZWxlbWVudHMgc2hvdWxkIGZpbGwgdGhlIHNwYWNlIGluc2lkZSBzaGFkb3cgcm9vdFxuICBidXR0b24sXG4gIC5pZHMtaWNvbi1idXR0b24ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG46aG9zdCguaGlkZGVuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbjpob3N0KFtzeXN0ZW0tYnV0dG9uXSkge1xuICBidXR0b246bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zeXN0ZW0tY29sb3ItdGV4dC1ob3Zlcik7XG4gIH1cbn1cblxuOmhvc3QoW2hpZGRlbl0pIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gUmVzZXQgYnV0dG9uIGRpc3BsYXkgc3R5bGVzIGludGVybmFsbHlcbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cblxuLy8gQXBwbGllcyB0byBhbGwgbm9uLWljb24gYnV0dG9uIHR5cGVzXG4uaWRzLWJ1dHRvbixcbi5pZHMtdG9nZ2xlLWJ1dHRvbixcbi5pZHMtbWVudS1idXR0b246bm90KC5pZHMtaWNvbi1idXR0b24pLFxuLmlkcy1tb2RhbC1idXR0b24ge1xuICBAaW5jbHVkZSBtaXhpbnMuYW50aWFsaWFzZWQoKTtcblxuICAuaWRzLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBsYWNlLXNlbGY6IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi5pZHMtYnV0dG9uLFxuLmlkcy1pY29uLWJ1dHRvbiB7XG4gICYuY29tcGFjdCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1pZHMtZm9udC1zaXplLTJ4cyk7XG4gICAgaGVpZ2h0OiB2YXIoLS1pZHMtYnV0dG9uLWNvbXBhY3Qtd2lkdGgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB9XG59XG5cbi5pZHMtYnV0dG9uLFxuLmlkcy1tb2RhbC1idXR0b25cbntcbiAgJi5lbGxpcHNpcyB7XG4gICAgOjpzbG90dGVkKHNwYW4pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbiA7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuLmlkcy1idXR0b24sXG4uaWRzLXRvZ2dsZS1idXR0b24sXG4uaWRzLW1lbnUtYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uLmlkcy1iYXNlLWJ1dHRvbi1zdHlsZXMoKTtcbiAgQGluY2x1ZGUgYnV0dG9uLmlkcy1zdGFuZGFyZC1idXR0b24tY29sb3JzKCk7XG5cbiAgLy8gQXNzaWduIHBhZGRpbmcgYmFzZWQgb24gdHlwZS91c2FnZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICY6bm90KC5uby1wYWRkaW5nKSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLmlkcy1zdGFuZGFyZC1idXR0b24tcGFkZGluZygpO1xuICB9XG5cbiAgJi5idG4tdGVydGlhcnksXG4gICYuYnRuLXRlcnRpYXJ5LWRlc3RydWN0aXZlIHtcbiAgICBAaW5jbHVkZSBidXR0b24uaWRzLWlubGluZS1idXR0b24tcGFkZGluZygpO1xuICB9XG5cbiAgJi5uby1wYWRkaW5nIHtcbiAgICBAaW5jbHVkZSBidXR0b24uaWRzLWlubGluZS1idXR0b24tcGFkZGluZygpO1xuICB9XG59XG5cbi5pZHMtbWVudS1idXR0b24uc3ViLXRhYi1idXR0b24uaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG59XG5cbi5pZHMtbWVudS1idXR0b24uaXMtYWN0aXZlLFxuLmlkcy1tZW51LWJ1dHRvbi5pcy1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLW1lbnUtYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xuICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1tZW51LWNvbG9yLXRleHQtYWN0aXZlKTtcbn1cblxuLmlkcy1tZW51LWJ1dHRvbi5mb3JtYXR0ZXItd2lkdGgge1xuICAmOm5vdCgubm8tcGFkZGluZyk6bm90KC5pZHMtaWNvbi1idXR0b24pIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMXB4KTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKC0taWRzLXNwYWNlLXhzKSAtIDFweCk7XG4gIH1cblxuICAmOm5vdCguZm9ybWF0dGVyLXdpZHRoLXBlcmNlbnRhZ2UpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcblxuICAgIC5pZHMtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTG9nIGJ1dHRvbiBvbiBtYXN0aGVhZFxuOjpzbG90dGVkKGlkcy1pY29uW2ljb249J2xvZ28nXSkge1xuICBoZWlnaHQ6IDMwcHg7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLmlkcy1pY29uLWJ1dHRvbiB7XG4gIEBpbmNsdWRlIGJ1dHRvbi5pZHMtYmFzZS1idXR0b24tc3R5bGVzKCk7XG4gIEBpbmNsdWRlIGJ1dHRvbi5pZHMtc3RhbmRhcmQtYnV0dG9uLWNvbG9ycygpO1xuXG4gIC8vIEV2ZXJ5dGhpbmcgYmVsb3cgaXMgb25seSBmb3IgaWNvbiBidXR0b25zXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzICovXG4gICYge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtYnV0dG9uLWljb24tcGFkZGluZyk7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtYnV0dG9uLWljb24tcGFkZGluZyk7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0taWRzLWJ1dHRvbi1pY29uLXBhZGRpbmcpO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1pZHMtYnV0dG9uLWljb24tcGFkZGluZyk7XG4gIH1cblxuICAmOm5vdCgubm8tcGFkZGluZyk6bm90KC5zdWItdGFiLWJ1dHRvbikge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtYnV0dG9uLWljb24tcGFkZGluZyk7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOnZhcigtLWlkcy1idXR0b24taWNvbi1wYWRkaW5nKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0taWRzLWJ1dHRvbi1pY29uLXBhZGRpbmcpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1pZHMtYnV0dG9uLWljb24tcGFkZGluZyk7XG5cbiAgICAmOm5vdCguaWRzLXRyaWdnZXItYnV0dG9uKSxcbiAgICAmOm5vdCguY29tcGFjdClcbiAgICAmOm5vdCguaWRzLXN1Yi10YWItY2xvc2UtYnV0dG9uKSB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWlkcy1idXR0b24taWNvbi1oZWlnaHQpO1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1idXR0b24taWNvbi13aWR0aCk7XG4gICAgfVxuICB9XG5cbiAgJi5zdWItdGFiLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICY6bm90KC5uby1wYWRkaW5nKTpub3QoLmlkcy10cmlnZ2VyLWJ1dHRvbikge1xuICAgICYuY29tcGFjdCB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0taWRzLWJ1dHRvbi1pY29uLWNvbXBhY3QtaGVpZ2h0KSArIDEwcHgpO1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0taWRzLWJ1dHRvbi1pY29uLWNvbXBhY3Qtd2lkdGgpICsgOHB4KTtcbiAgICB9XG4gIH1cblxuICAmLmNvbXBhY3Qge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgKyAxcHgpO1xuXG4gICAgJi5nZW4tYWktYWN0aXZlIC5sb2FkaW5nLWRvdHMge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDFweDtcbiAgICB9XG4gIH1cblxuICAmOm5vdCguc3F1YXJlKSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJ1dHRvbi1yYWRpdXMpO1xuICB9XG5cbiAgJi5zcXVhcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLW5vbmUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICA6OnNsb3R0ZWQoaWRzLWljb25baWNvbj0nbG9nbyddKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pY29uOm5vdCguZHJvcGRvd24taWNvbikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTN4cyk7XG4gIH1cblxuICBzcGFuLmF1ZGlibGUge1xuICAgIEBpbmNsdWRlIG1peGlucy5hdWRpYmxlKCk7XG4gIH1cblxuICAmLm5vLW1hcmdpbnMge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICB9XG59XG5cbjpob3N0KFtmaWVsZC1oZWlnaHRdKSB7XG4gIC5pZHMtbWVudS1idXR0b24ge1xuICAgICYuZmllbGQtaGVpZ2h0LWxnIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWJ1dHRvbi1tZW51LWZpZWxkLWhlaWdodC1sZyk7XG4gICAgfVxuXG4gICAgJi5maWVsZC1oZWlnaHQtbWQge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1pZHMtYnV0dG9uLW1lbnUtZmllbGQtaGVpZ2h0LW1kKTtcbiAgICB9XG5cbiAgICAmLmZpZWxkLWhlaWdodC1zbSB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWlkcy1idXR0b24tbWVudS1maWVsZC1oZWlnaHQtc20pO1xuICAgIH1cblxuICAgICYuZmllbGQtaGVpZ2h0LXhzIHtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWJ1dHRvbi1tZW51LWZpZWxkLWhlaWdodC14cyk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peC1pbiBzcGVjaWFsIHJ1bGVzIGZvciBjb250ZXh0dWFsIGJ1dHRvbnNcbi5pZHMtYnV0dG9uLFxuLmlkcy1pY29uLWJ1dHRvbixcbi5pZHMtbWVudS1idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b24uaWRzLXN0YW5kYXJkLWJ1dHRvbi1zaGFkb3dzKCk7XG59XG5cbi8vIFNwZWNpZmljIE1vZGlmaWNhdGlvbnMgZm9yIE1vZGFsIEJ1dHRvbnNcbi8vIERvIG5vdCBhcHBseSBzdHlsZXMgdG8gbW9kYWwgY2xvc2UgaWNvbiBidXR0b24sIGFwcGVhcmFuY2UgYXMgaWNvbiBpcyByZXF1aXJlZFxuLmlkcy1tb2RhbC1idXR0b246bm90KC5pZHMtbW9kYWwtaWNvbi1idXR0b24pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLmlkcy1iYXNlLWJ1dHRvbi1zdHlsZXMoKTtcbiAgQGluY2x1ZGUgYnV0dG9uLmlkcy1tb2RhbC1idXR0b24tY29sb3ItZGVmYXVsdHMoKTtcblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9ycyAqL1xuICAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LXN0cm9uZyk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4vLyBBZGp1c3RpbmcgaGl0Ym94IGZvciB0aGUgbW9kYWwgY2xvc2UgaWNvblxuLmlkcy1tb2RhbC1pY29uLWJ1dHRvbiB7XG4gIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS14cyk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFN3aXBlIEFjdGlvbiBCdXR0b25zIChTd2lwZSBhY3Rpb24gY29tcG9uZW50KVxuLmJ0bi1zd2lwZS1hY3Rpb24tbGVmdCxcbi5idG4tc3dpcGUtYWN0aW9uLXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgdmFyKC0taWRzLXNwYWNlLXhzKSB2YXIoLS1pZHMtc3BhY2UteHMpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gIHdpZHRoOiA4NXB4O1xuXG4gIDo6c2xvdHRlZChpZHMtaWNvbikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIH1cbn1cblxuLy8gb3ZlcnJpZGUgYnV0dG9uIG1hcmdpbiBmb3Igc3dpcGUgYWN0aW9uIGJ1dHRvbnNcbi5pZHMtYnV0dG9uOm5vdCgubm8tbWFyZ2lucykuYnRuLXN3aXBlLWFjdGlvbi1sZWZ0LFxuLmlkcy1idXR0b246bm90KC5uby1tYXJnaW5zKS5idG4tc3dpcGUtYWN0aW9uLXJpZ2h0IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYnRuLXN3aXBlLWFjdGlvbi1sZWZ0IHtcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLW5vbmUpO1xuICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLW5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtc3dpcGUtYWN0aW9uLWNvbG9yLWJhY2tncm91bmQtbGVmdCk7XG4gIGNvbG9yOiB2YXIoLS1pZHMtc3dpcGUtYWN0aW9uLWNvbG9yLXRleHQtbGVmdCk7XG5cbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1zd2lwZS1hY3Rpb24tY29sb3ItYmFja2dyb3VuZC1sZWZ0LWFjdGl2ZSk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1zd2lwZS1hY3Rpb24tY29sb3ItdGV4dC1sZWZ0LWFjdGl2ZSlcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1zd2lwZS1hY3Rpb24tY29sb3ItYmFja2dyb3VuZC1sZWZ0LWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0taWRzLXN3aXBlLWFjdGlvbi1jb2xvci10ZXh0LWxlZnQtaG92ZXIpXG4gIH1cbn1cblxuLmJ0bi1zd2lwZS1hY3Rpb24tcmlnaHQge1xuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy1ub25lKTtcbiAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLWlkcy1ib3JkZXItcmFkaXVzLW5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtc3dpcGUtYWN0aW9uLWNvbG9yLWJhY2tncm91bmQtcmlnaHQpO1xuICBjb2xvcjogdmFyKC0taWRzLXN3aXBlLWFjdGlvbi1jb2xvci10ZXh0LXJpZ2h0KTtcblxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLXN3aXBlLWFjdGlvbi1jb2xvci1iYWNrZ3JvdW5kLXJpZ2h0LWFjdGl2ZSk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1zd2lwZS1hY3Rpb24tY29sb3ItdGV4dC1yaWdodC1hY3RpdmUpXG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtc3dpcGUtYWN0aW9uLWNvbG9yLWJhY2tncm91bmQtcmlnaHQtaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtc3dpcGUtYWN0aW9uLWNvbG9yLXRleHQtcmlnaHQtaG92ZXIpXG4gIH1cbn1cblxuLmlkcy1pY29uLWJ1dHRvbi5nZW4tYWktYWN0aXZlLFxuLmlkcy1idXR0b24uZ2VuLWFpLWFjdGl2ZSB7XG4gICY6bm90KC5uby1hbmltYXRpb24pIHtcbiAgICA6OnNsb3R0ZWQoaWRzLWljb25baWNvbj1cImdlbmFpXCJdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5sb2FkaW5nLWRvdHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbn1cblxuLmlkcy1pY29uLWJ1dHRvbi5nZW4tYWktYWN0aXZlIC5sb2FkaW5nLWRvdHMge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogM3B4O1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiA3cHg7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1pZHMtc3BhY2UteHMpO1xufVxuXG4vLyBBcHBsaWVzIHRvIGFsbCBub24taWNvbiBidXR0b24gdHlwZXNcbi5pZHMtYnV0dG9uLFxuLmlkcy10b2dnbGUtYnV0dG9uLFxuLmlkcy1tZW51LWJ1dHRvbjpub3QoLmlkcy1pY29uLWJ1dHRvbiksXG4uaWRzLW1vZGFsLWJ1dHRvbjpub3QoLmlkcy1pY29uLWJ1dHRvbikge1xuICA6OnNsb3R0ZWQoaWRzLWljb25baWNvbj1cImdlbmFpXCJdOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgcnVsZXMgZm9yIGJ1dHRvbnMgdGhhdCBpbnNlcnQgYm90aCB0ZXh0L2ljb24gaW50byB0aGUgZmFsbGJhY2sgKHVubmFtZWQpIHNsb3QuXG4gIDo6c2xvdHRlZChpZHMtaWNvbjpub3QoOmZpcnN0LWNoaWxkKSkgeyAvLyBzaGFkb3dyb290ICsgdGV4dCArIGljb25cbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiA1cHg7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhciggLS1pZHMtc3BhY2Utbm9uZSk7XG4gIH1cblxuICAvLyBQYWRkaW5nIHJ1bGVzIGZvciBzdGFuZGFsb25lIENTUyBidXR0b25zIChtYXRjaCB0aGUgcnVsZXMvc3R5bGUgYWJvdmUpXG4gIC5pZHMtaWNvbjpsYXN0LWNoaWxkLFxuICBzcGFuICsgc3Bhbjpub3QoLmF1ZGlibGUpLFxuICBzcGFuOm5vdCguYXVkaWJsZSk6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDVweDtcbiAgfVxufVxuXG4vLyBBZGp1c3RtZW50IGZvciBhYm91dCBjbG9zZSBpY29uXG4uaWRzLW1vZGFsLWJ1dHRvbiB7XG4gIDo6c2xvdHRlZChpZHMtaWNvbjpub3QoOmZpcnN0LWNoaWxkKSkgeyAvLyBzaGFkb3dyb290ICsgdGV4dCArIGljb25cbiAgICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UtM3hzKTtcbiAgfVxufVxuXG4vLyBMb2FkaW5nIEluZGljYXRvclxuOmhvc3QoOm5vdChbc2hvdy1sb2FkaW5nLWluZGljYXRvcj0ndHJ1ZSddKSkge1xuICA6OnNsb3R0ZWQoLnNsb3QtbG9hZGluZy1pbmRpY2F0b3IpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbjpob3N0KFtzaG93LWxvYWRpbmctaW5kaWNhdG9yPSd0cnVlJ10pIHtcbiAgOjpzbG90dGVkKGlkcy1sb2FkaW5nLWluZGljYXRvcikge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIH1cbn1cblxuOmhvc3QoW3Nob3ctbG9hZGluZy1pbmRpY2F0b3I9J3RydWUnXVtsb2FkaW5nLWluZGljYXRvci1vbmx5PSd0cnVlJ10pIHtcbiAgOjpzbG90dGVkKCo6bm90KC5zbG90LWxvYWRpbmctaW5kaWNhdG9yKSkge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG46aG9zdChbc2hvdy1sb2FkaW5nLWluZGljYXRvcj0ndHJ1ZSddOm5vdChbbG9hZGluZy1pbmRpY2F0b3Itb25seT0ndHJ1ZSddKSkge1xuICA6OnNsb3R0ZWQoLnNsb3QtbG9hZGluZy1pbmRpY2F0b3IpIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiA2cHg7XG4gIH1cbn1cblxuOmhvc3QoW3Nob3ctbG9hZGluZy1pbmRpY2F0b3I9J3RydWUnXTpub3QoW2xvYWRpbmctaW5kaWNhdG9yLW9ubHk9J3RydWUnXSk6aXMoW2FwcGVhcmFuY2U9J3ByaW1hcnknXSwgW2FwcGVhcmFuY2U9J3NlY29uZGFyeSddLCBbYXBwZWFyYW5jZT0ncHJpbWFyeS1kZXN0cnVjdGl2ZSddKSkge1xuICAmOjpwYXJ0KGJ1dHRvbikge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyMHB4O1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogMTJweDtcbiAgfVxuXG4gIDo6c2xvdHRlZCguc2xvdC1sb2FkaW5nLWluZGljYXRvcikge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEwcHg7XG4gIH1cbn1cblxuOmhvc3QoW2xvYWRpbmctaW5kaWNhdG9yLW9ubHk9J3RydWUnXSkge1xuICA6OnNsb3R0ZWQoLnNsb3QtbG9hZGluZy1pbmRpY2F0b3IpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICBtYXJnaW4taW5saW5lLWVuZDogYXV0bztcbiAgICBsZWZ0OiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgcmlnaHQ6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgfVxufVxuXG4vLyBDb2xvciBlZmZlY3RzIG9uIHRvZ2dsZSBidXR0b25cbjpob3N0KGlkcy10b2dnbGUtYnV0dG9uOm5vdCguZHJvcGRvd24tYnRuKSkge1xuICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWJ1dHRvbi10b2dnbGUtY29sb3ItYmFja2dyb3VuZC1ob3Zlci1kZWZhdWx0KTtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLXRleHQtaG92ZXI6IHZhcigtLWlkcy1idXR0b24tdG9nZ2xlLWNvbG9yLXRleHQtaG92ZXItZGVmYXVsdCk7XG59XG5cbjpob3N0KGlkcy10b2dnbGUtYnV0dG9uW3ByZXNzZWRdKSB7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci10ZXh0LWRlZmF1bHQ6IHZhcigtLWlkcy1idXR0b24tdG9nZ2xlLWNvbG9yLXRleHQtcHJlc3NlZC1kZWZhdWx0KTtcbn1cblxuOmhvc3QoaWRzLXRvZ2dsZS1idXR0b25bY29sb3I9J29yYW5nZSddKSB7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtYnV0dG9uLXRvZ2dsZS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyLW9yYW5nZSk7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci10ZXh0LWhvdmVyOiB2YXIoLS1pZHMtYnV0dG9uLXRvZ2dsZS1jb2xvci10ZXh0LWhvdmVyLW9yYW5nZSk7XG59XG5cbjpob3N0KGlkcy10b2dnbGUtYnV0dG9uW3ByZXNzZWRdW2NvbG9yPSdvcmFuZ2UnXSkge1xuICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItdGV4dC1kZWZhdWx0OiB2YXIoLS1pZHMtYnV0dG9uLXRvZ2dsZS1jb2xvci10ZXh0LXByZXNzZWQtb3JhbmdlKTtcbn1cblxuOmhvc3QoaWRzLXRvZ2dsZS1idXR0b25bY29sb3I9J3JlZCddKSB7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyOiB2YXIoLS1pZHMtYnV0dG9uLXRvZ2dsZS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyLXJlZCk7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci10ZXh0LWhvdmVyOiB2YXIoLS1pZHMtYnV0dG9uLXRvZ2dsZS1jb2xvci10ZXh0LWhvdmVyLXJlZCk7XG59XG5cbjpob3N0KGlkcy10b2dnbGUtYnV0dG9uW3ByZXNzZWRdW2NvbG9yPSdyZWQnXSkge1xuICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItdGV4dC1kZWZhdWx0OiB2YXIoLS1pZHMtYnV0dG9uLXRvZ2dsZS1jb2xvci10ZXh0LXByZXNzZWQtcmVkKTtcbn1cblxuOmhvc3QoaWRzLXRvZ2dsZS1idXR0b24uaWRzLXRvZ2dsZS1idXR0b24tc2VnbWVudGVkKSB7XG4gIGJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1pZHMtZm9udC13ZWlnaHQtbm9ybWFsKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1zZWdtZW50ZWQtY29udHJvbC10ZXh0LWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1zZWdtZW50ZWQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoaWRzLXRvZ2dsZS1idXR0b24uaWRzLXRvZ2dsZS1idXR0b24tc2VnbWVudGVkW3ByZXNzZWRdKSB7XG4gIGJ1dHRvbiB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1zZWdtZW50ZWQtY29udHJvbC10ZXh0LWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtc2VnbWVudGVkLWNvbnRyb2wtYmFja2dyb3VuZC1zZWxlY3RlZCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0taWRzLXNlZ21lbnRlZC1jb250cm9sLWJveC1zaGFkb3cpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8gTWFzdGhlYWQgc3BlY2lmaWMgYnV0dG9uIG92ZXJyaWRlc1xuLmlkcy1tYXN0aGVhZC1idXR0b24ge1xuICAtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xuICAtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLXRleHQtaG92ZXI6IHZhcigtLWlkcy1tYXN0aGVhZC1jb2xvci1ob3Zlcik7XG4gIC0taWRzLWJ1dHRvbi1hbHRlcm5hdGUtY29sb3ItdGV4dC1kZWZhdWx0OiB2YXIoLS1pZHMtY29sb3Itd2hpdGUtMTAwKTtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6IHZhcigtLWlkcy1tYXN0aGVhZC1idXR0b24tbWVudS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4gIC0taWRzLWJ1dHRvbi1jb2xvci10ZXh0LWRlZmF1bHQ6IHZhcigtLWlkcy1tYXN0aGVhZC1tZW51LWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci10ZXh0LWRlZmF1bHQ6IHZhcigtLWlkcy1tYXN0aGVhZC1idXR0b24tY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLXRleHQtaG92ZXI6IHZhcigtLWlkcy1tYXN0aGVhZC1idXR0b24tY29sb3ItdGV4dC1ob3Zlcik7XG4gIC0taWRzLWJ1dHRvbi1tZW51LWJhY2tncm91bmQtY29sb3ItYWN0aXZlOiB2YXIoLS1pZHMtbWFzdGhlYWQtYnV0dG9uLW1lbnUtYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xuICAtLWlkcy1idXR0b24tbWVudS1jb2xvci10ZXh0LWFjdGl2ZTogdmFyKC0taWRzLW1hc3RoZWFkLWJ1dHRvbi1tZW51LWNvbG9yLXRleHQtYWN0aXZlKTtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtcHJlc3NlZDogdmFyKC0taWRzLW1hc3RoZWFkLWJ1dHRvbi1tZW51LWNvbG9yLWJhY2tncm91bmQtcHJlc3NlZCk7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItcHJlc3NlZDogdmFyKC0taWRzLW1hc3RoZWFkLWJ1dHRvbi1tZW51LWNvbG9yLWJvcmRlci1wcmVzc2VkKTtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLXRleHQtcHJlc3NlZDogdmFyKC0taWRzLW1hc3RoZWFkLWJ1dHRvbi1tZW51LWNvbG9yLXRleHQtcHJlc3NlZCk7XG4gIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1zaGFkb3ctZm9jdXM6IHZhcigtLWlkcy1tYXN0aGVhZC1idXR0b24tbWVudS1zaGFkb3ctZm9jdXMpO1xuICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLWZvY3VzOiB2YXIoLS1pZHMtbWFzdGhlYWQtYnV0dG9uLW1lbnUtY29sb3ItYm9yZGVyLWZvY3VzKTtcbn1cbiIsIi8qKlxuICogSWRzIEJ1dHRvbiBTYXNzIG1peGlucywgdXNlZCBpbiBJZHMgQnV0dG9uIENTUyB0byBkZWZpbmUgYmFzZSBzdHlsZXMuXG4gKi9cbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zJyBhcyBtaXhpbnM7XG5cbi8vIE1peGluIGZvciBhIFwiYmxhbmtcIiBzaGFkb3cgKHNhbWUgYXMgdGhlIHN0YW5kYXJkIG9uZSB3aXRoIGEgY29tcGxldGVseSB0cmFuc3BhcmVudCBhbHBoYSlcbkBtaXhpbiBibGFuay1zaGFkb3coKSB7XG4gIGJveC1zaGFkb3c6IHZhcigtLWlkcy1zaGFkb3ctbm9uZSk7XG59XG5cbi8vIFVzZWQgdG8gbWFrZSB0aGUgZm9jdXMgXCJib3JkZXJcIiBhcHBlYXIgdG8gYmUgc2VwYXJhdGVkIGZyb20gdGhlIGJ1dHRvbiAocHJpbWFyeS9zZWNvbmRhcnkgdHlwZXMpLlxuQG1peGluIG91dHNldC1idXR0b24tc2hhZG93KCRiZy1jb2xvciwgJGJvcmRlci1jb2xvcikge1xuICBib3gtc2hhZG93OlxuICAgIDAgMCAwIDJweCAkYmctY29sb3IsIC8vIGJnIGNvbG9yXG4gICAgMCAwIDAgM3B4ICRib3JkZXItY29sb3Jcbn1cblxuLy8gVXNlZCB0byBtYWtlIHRoZSBmb2N1cyBcImJvcmRlclwiIG9uIG5vbi1zb2xpZCBidXR0b25zIChtb2RhbCBidXR0b25zLCBldGMpXG5AbWl4aW4gbW9kYWwtYnV0dG9uLXNoYWRvdygpIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWlkcy1tb2RhbC1jb2xvci1vdXRsaW5lKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG5cbkBtaXhpbiBhbHRlcm5hdGUtYnV0dG9uLXNoYWRvdygpIHtcbiAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJveC1zaGFkb3ctaW52ZXJzZSk7XG59XG5cbi8vIFVzZWQgdG8gaW5jbHVkZSBhIGJhc2ljIHNldCBvZiBidXR0b24gc3R5bGVzIHdpdGhpbiBlYWNoIGluZGl2aWR1YWwgYnV0dG9uIHByb3RvdHlwZS5cbkBtaXhpbiBpZHMtYmFzZS1idXR0b24tc3R5bGVzKCkge1xuICBAaW5jbHVkZSBibGFuay1zaGFkb3coKTtcblxuICBmb250LXdlaWdodDogdmFyKC0taWRzLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0taWRzLWZvbnQtc2l6ZS1zbSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWlkcy1zcGFjZS14cykgLSAycHgpO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYsXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOb3RoaW5nIGluc2lkZSB0aGUgYnV0dG9uIGl0c2VsZiBzaG91bGQgYWNjZXB0IG1vdXNlIGV2ZW50c1xuICAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQmFzZSBCdXR0b24gc3R5bGVzIChkZWZhdWx0L3RlcnRpYXJ5KVxuXG4gICYge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgIC8vIEFuaW1hdGUgQkcvVGV4dC9Cb3JkZXIgY29sb3IgY2hhbmdlcyBvbiBhbGwgc3R5bGVzXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSxcbiAgICAgIGJvcmRlci1jb2xvciB2YXIoLS1pZHMtbW90aW9uLWR1cmF0aW9uKSB2YXIoLS1pZHMtbW90aW9uLWVhc2UpLFxuICAgICAgY29sb3IgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKSxcbiAgICAgIG9wYWNpdHkgdmFyKC0taWRzLW1vdGlvbi1kdXJhdGlvbikgdmFyKC0taWRzLW1vdGlvbi1lYXNlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgLy8gRGlzYWJsZSBzdGFuZGFyZCBmb2N1cyBzdGF0ZSBpbiBDaHJvbWVcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG91dGxpbmUtY29sb3I6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gIH1cblxuICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFN0YW5kYXJkIGVsZW1lbnQgdHlwZXMgaW5zaWRlIHRoZSBidXR0b25cbiAgc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuICAgICYuYXVkaWJsZSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMuYXVkaWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5jb2xvci12YXJpYW50LW1vZHVsZS1uYXYpOm5vdCguaWRzLWljb24tYnV0dG9uKTpub3QoLmFsaWduLWljb24tZW5kKTpub3QoLmNvbXBhY3QpIDo6c2xvdHRlZChpZHMtaWNvbjpub3QoW2ljb249J2dlbmFpJ10pKSB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGModmFyKC0taWRzLXNwYWNlLTJ4cykgKyAzcHgpO1xuICB9XG5cbiAgLmlkcy1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBBbGlnbm1lbnQgY2hhbmdlc1xuXG4gICYuYWxpZ24taWNvbi1lbmQge1xuICAgIDo6c2xvdHRlZChpZHMtaWNvbikge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuICB9XG5cbiAgJi5jb250ZW50LWFsaWduLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICB9XG5cbiAgJi5jb250ZW50LWFsaWduLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIH1cblxuICAmLm5vLW1hcmdpbnMge1xuICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcbiAgfVxuXG4gICYuZmllbGQtaGVpZ2h0LXh4czpub3QoLmJ0bi1zZWNvbmRhcnkpOm5vdCgubm8tbWFyZ2lucykge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogM3B4O1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICB3aWR0aDogMjJweDtcbiAgfVxuXG4gIDo6c2xvdHRlZChzcGFuKSB7XG4gICAgLy8gaW1wb3J0YW50IGR1ZSB0byByZXNldCBpbiBlbnRlcnByaXNlXG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGVzIHN0YW5kYXJkaXplZCBwYWRkaW5nIHJ1bGVzIGZvciBjZXJ0YWluIGJ1dHRvbiB0eXBlc1xuICovXG5AbWl4aW4gaWRzLXN0YW5kYXJkLWJ1dHRvbi1wYWRkaW5nKCkge1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWJ1dHRvbi1wYWRkaW5nLWlubGluZSk7XG59XG5cbkBtaXhpbiBpZHMtaW5saW5lLWJ1dHRvbi1wYWRkaW5nKCkge1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLXNwYWNlLTEyKTtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyB0aGUgc3RhbmRhcmQgY29sb3IgcnVsZXMgZm9yIGFsbCByZWd1bGFyIGJ1dHRvbnNcbiAqL1xuQG1peGluIGlkcy1zdGFuZGFyZC1idXR0b24tY29sb3JzKCkge1xuICAmIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXdlaWdodDogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1mb250LXdlaWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJ1dHRvbi1yYWRpdXMpO1xuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIERlZmF1bHQvVGVydGlhcnkgQnV0dG9uXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgfVxuXG4gICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMsXG4gICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cy13aXRoaW4ge1xuICAgICY6bm90KFtyZWFkb25seV0pIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLXRleHQtaG92ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LW9wYWNpdHktZGlzYWJsZWQpO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtcHJlc3NlZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1wcmVzc2VkKTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci10ZXh0LXByZXNzZWQpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBUZXJ0aWFyeSBEZXN0cnVjdGl2ZSBCdXR0b25cbiAgJi5idG4tdGVydGlhcnktZGVzdHJ1Y3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLXRlcnRpYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS10ZXJ0aWFyeS1jb2xvci1ib3JkZXItaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQcmltYXJ5IEJ1dHRvblxuXG4gICYuYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcblxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktb3BhY2l0eS1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgJjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1iYWNrZ3JvdW5kLXByZXNzZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLXByZXNzZWQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci10ZXh0LXByZXNzZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUHJpbWFyeSBEZXN0cnVjdGl2ZSBCdXR0b25cblxuICAmLmJ0bi1wcmltYXJ5LWRlc3RydWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yLWJhY2tncm91bmQtZGVmYXVsdCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yLXRleHQtaG92ZXIpO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgb3BhY2l0eTogdmFyKC0taWRzLWJ1dHRvbi1kZXN0cnVjdGl2ZS1vcGFjaXR5LWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFByaW1hcnkgR2VuZXJhdGl2ZSBBSSBCdXR0b25cbiAgQGtleWZyYW1lcyBkb3QtZmxhc2hpbmcge1xuICAgIDAlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtcHJpbWFyeS1zdGVwLTEpO1xuICAgIH1cblxuICAgIDUwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC1wcmltYXJ5LXN0ZXAtMik7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBkb3QtZmxhc2hpbmctY29sb3JzLXNlY29uZGFyeSB7XG4gICAgMCUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1sb2FkaW5nLWRvdC1zZWNvbmRhcnktc3RlcC0xKTtcbiAgICB9XG5cbiAgICA1MCUsXG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3Qtc2Vjb25kYXJ5LXN0ZXAtMilcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGRvdC1mbGFzaGluZy1jb2xvcnMtdGVydGlhcnkge1xuICAgIDAlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtdGVydGlhcnktc3RlcC0xKTtcbiAgICB9XG5cbiAgICA1MCUsXG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtdGVydGlhcnktc3RlcC0yKVxuICAgIH1cbiAgfVxuXG4gIC5sb2FkaW5nLWRvdHMtc3RhcnQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAzcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDdweCAhaW1wb3J0YW50O1xuICAgIGdhcDogMnB4O1xuICB9XG5cbiAgLmxvYWRpbmctZG90cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDJweDtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogN3B4O1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogM3B4O1xuXG4gICAgLmRvdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAzcHg7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtZGVmYXVsdCk7XG4gICAgICBjb2xvcjogIHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItbG9hZGluZy1kb3QtZGVmYXVsdCk7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tcHJpbWFyeS1nZW5lcmF0aXZlLWFpIHtcbiAgICAtLWlkcy1idXR0b24tYWktc3BhcmtsZS1pY29uLWNvbG9yLWZpbGw6IHZhcigtLWlkcy1idXR0b24tYWktcHJpbWFyeS1zcGFya2xlLWljb24tY29sb3ItZmlsbCk7XG5cbiAgICBiYWNrZ3JvdW5kOiBib3JkZXItYm94IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMzRweDtcbiAgICBtaW4taGVpZ2h0OiAzNHB4O1xuXG4gICAgJi5jb21wYWN0IHtcbiAgICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWJ1dHRvbi1jb21wYWN0LXdpZHRoKTtcbiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWlkcy1idXR0b24tY29tcGFjdC13aWR0aCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBib3JkZXItYm94IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi5nZW4tYWktYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IGJvcmRlci1ib3ggdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1iYWNrZ3JvdW5kLWFjdGl2ZSk7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci10ZXh0LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZDogYm9yZGVyLWJveCB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgIH1cblxuICAgICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyLFxuICAgICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3Itd2hpdGUtMTAwKTtcbiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLXNpemUpO1xuICAgICAgbWluLXdpZHRoOiAzNHB4O1xuICAgIH1cblxuICAgIC5sb2FkaW5nLWRvdHMge1xuICAgICAgLmRvdDpudGgtY2hpbGQoMSkge1xuICAgICAgICBhbmltYXRpb246IGRvdC1mbGFzaGluZyAxcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmcgMXMgaW5maW5pdGUgbGluZWFyIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAgICAgfVxuXG4gICAgICAuZG90Om50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbjogZG90LWZsYXNoaW5nIDFzIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNlY29uZGFyeSBHZW5lcmF0aXZlIEJ1dHRvblxuICAmLmJ0bi1zZWNvbmRhcnktZ2VuZXJhdGl2ZS1haSB7XG4gICAgLS1pZHMtYnV0dG9uLWFpLXNwYXJrbGUtaWNvbi1jb2xvci1maWxsOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXNlY29uZGFyeS1zcGFya2xlLWljb24tY29sb3ItZmlsbCk7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXNlY29uZGFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItZGVmYXVsdCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWJ1dHRvbi1haS1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1hY3RpdmUpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWFjdGl2ZSk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1hY3RpdmUpO1xuICAgIH1cblxuICAgIDo6c2xvdHRlZChpZHMtaWNvbltpY29uPVwiZ2VuYWlcIl0pIHtcbiAgICAgIC0taWRzLWJ1dHRvbi1haS1jb2xvci1pY29uLXByaW1hcnk6IHZhcigtLWlkcy1idXR0b24tYWktY29sb3ItaWNvbi1wcmltYXJ5LWhvdmVyKTtcbiAgICAgIC0taWRzLWJ1dHRvbi1haS1jb2xvci1pY29uLXNlY29uZGFyeTogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1pY29uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgfVxuXG4gICAgJi5nZW4tYWktYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tYWktc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtYWN0aXZlKTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLWFpLW9wYWNpdHktZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIC8vIExvYWRpbmcgZG90cyBhbmltYXRpb25cbiAgICAubG9hZGluZy1kb3RzIHtcbiAgICAgIC5kb3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWxvYWRpbmctZG90LXNlY29uZGFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWxvYWRpbmctZG90LXNlY29uZGFyeSk7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmctY29sb3JzLXNlY29uZGFyeSAxcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmctY29sb3JzLXNlY29uZGFyeSAxcyBpbmZpbml0ZSBsaW5lYXIgYWx0ZXJuYXRlO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gICAgICB9XG5cbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmctY29sb3JzLXNlY29uZGFyeSAxcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBUZXJ0aWFyeSBHZW5lcmF0aXZlIEJ1dHRvblxuICAmLmJ0bi10ZXJ0aWFyeS1nZW5lcmF0aXZlLWFpIHtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktYWktc2hhZG93LWZvY3VzOiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LXNoYWRvdy1mb2N1cyk7XG4gICAgLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItYWN0aW9uLXN0cm9uZ2VyKTtcbiAgICAtLWlkcy1idXR0b24tYWktc3BhcmtsZS1pY29uLWNvbG9yLWZpbGw6IHZhcigtLWlkcy1idXR0b24tYWktdGVydGlhcnktc3BhcmtsZS1pY29uLWNvbG9yLWZpbGwpO1xuXG4gICAgYmFja2dyb3VuZDogdmFyKC0taWRzLWJ1dHRvbi1haS10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWFpLXRlcnRpYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tYWktdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgfVxuXG4gICAgOjpzbG90dGVkKGlkcy1pY29uW2ljb249XCJnZW5haVwiXSkge1xuICAgICAgLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tcHJpbWFyeTogdmFyKC0taWRzLWJ1dHRvbi1haS10ZXJ0aWFyeS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuICAgICAgLS1pZHMtYnV0dG9uLWFpLWNvbG9yLWljb24tc2Vjb25kYXJ5OiB2YXIoLS1pZHMtYnV0dG9uLWFpLXRlcnRpYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi5nZW4tYWktYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tYWktdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1hY3RpdmUpO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktYWktY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLWFpLW9wYWNpdHktZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIC8vIExvYWRpbmcgZG90cyBhbmltYXRpb25cbiAgICAubG9hZGluZy1kb3RzIHtcbiAgICAgIC5kb3Q6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBkb3QtZmxhc2hpbmctY29sb3JzLXRlcnRpYXJ5IDFzIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgIH1cblxuICAgICAgLmRvdDpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb246IGRvdC1mbGFzaGluZy1jb2xvcnMtdGVydGlhcnkgMXMgaW5maW5pdGUgbGluZWFyIGFsdGVybmF0ZTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAgICAgfVxuXG4gICAgICAuZG90Om50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbjogZG90LWZsYXNoaW5nLWNvbG9ycy10ZXJ0aWFyeSAxcyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTZWNvbmRhcnkgQnV0dG9uXG4gICYuYnRuLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtZm9jdXMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItZm9jdXMpO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLXRleHQtaG92ZXIpO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgb3BhY2l0eTogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktb3BhY2l0eS1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgJjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJhY2tncm91bmQtcHJlc3NlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1wcmVzc2VkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci10ZXh0LXByZXNzZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gTGlnaHQgTW9kZSBBbHRlcm5hdGVcblxuICAvLyBEb24ndCBhcHBseSB0aGVzZSBydWxlcyB0byBcImFsdGVybmF0ZS1mb3JtYXR0ZXJcIi1zdHlsZSBidXR0b25zXG4gIC8vIFRoZXNlIGFwcGVhciBpbiBoZWFkZXJcbiAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyAwLjMpO1xuICAgIH1cblxuICAgICYuaWRzLXRyaWdnZXItYnV0dG9uOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLXNlYXJjaC1maWVsZC1oZWFkZXItY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2UgYXBwZWFyIGluIGFwcCBtZW51XG4gICYuY29sb3ItdmFyaWFudC1hcHAtbWVudSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyAwLjE1KTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGVzZSBhcHBlYXIgaW4gcGxhY2VzIHdpdGggZGFyayBiYWNrZ3JvdW5kIGxpa2UgYXBwIG1lbnUgYW5kIG1hc3RoZWFkLCBnZW5lcmFsbHkgZGVmYXVsdC90ZXJ0aWFyeSBidXR0b25zXG4gICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUsXG4gICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUtZm9ybWF0dGVyIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1hbHRlcm5hdGUtY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBvcGFjaXR5OiAwLjg7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLWZvcm1hdHRlci1jb2xvci10ZXh0LWhvdmVyKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgIG9wYWNpdHk6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLW9wYWNpdHktZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZWQgb24gRWRpdG9yIGFuZCBMaXN0IEJ1aWxkZXIgXCJkYXJrZXJcIiB0b29sYmFyc1xuICAmLmNvbG9yLXZhcmlhbnQtYWx0ZXJuYXRlLWZvcm1hdHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBoZWlnaHQ6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLXNpemUpO1xuICAgIG1pbi13aWR0aDogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItc2l6ZSk7XG5cbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1mb3JtYXR0ZXItY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tZm9ybWF0dGVyLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgJi5pZHMtbWVudS1idXR0b24uY29tcGFjdCB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcblxuICAgICAgJi5zcXVhcmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pZHMtYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbZWRpdG9yLWFjdGlvbj0nc291cmNlbW9kZSddLFxuICAgICZbZWRpdG9yLWFjdGlvbj0nZWRpdG9ybW9kZSddIHtcbiAgICAgIC0taWRzLWJ1dHRvbi1pY29uLXdpZHRoOiA1NHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZWQgaW4gVGFiIE1vZHVsZSBWYXJpYW50XG4gICYuY29sb3ItdmFyaWFudC1tb2R1bGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1tb2R1bGUtY29sb3ItdGV4dC1kZWZhdWx0KTtcblxuICAgICY6bm90KC5zcXVhcmUpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1idXR0b24tbW9kdWxlLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1tb2R1bGUtY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1tb2R1bGUtY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIHN0YW5kYXJkIGNvbG9yIHJ1bGVzIGZvciBidXR0b25zIHRoYXQgbmVlZCBib3ggc2hhZG93XG4gKi9cbkBtaXhpbiBpZHMtc3RhbmRhcmQtYnV0dG9uLXNoYWRvd3MoKSB7XG4gICY6bm90KC5idG4tcHJpbWFyeSk6bm90KC5idG4tc2Vjb25kYXJ5KTpub3QoLmJ0bi1wcmltYXJ5LWRlc3RydWN0aXZlKTpub3QoLmJ0bi10ZXJ0aWFyeS1kZXN0cnVjdGl2ZSk6bm90KC5idG4tcHJpbWFyeS1nZW5lcmF0aXZlLWFpKTpub3QoLmJ0bi1zZWNvbmRhcnktZ2VuZXJhdGl2ZS1haSk6bm90KC5idG4tdGVydGlhcnktZ2VuZXJhdGl2ZS1haSkge1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBEZWZhdWx0L1RlcnRpYXJ5IERlZmF1bHQvTGlnaHQgTW9kZVxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgJjpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LXNoYWRvdy1mb2N1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZSB7XG4gICAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJveC1zaGFkb3ctaW52ZXJzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZS1mb3JtYXR0ZXIge1xuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1zaGFkb3ctMjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYnRuLXRlcnRpYXJ5LWRlc3RydWN0aXZlIHtcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1idXR0b24tZGVzdHJ1Y3RpdmUtdGVydGlhcnktc2hhZG93LWZvY3VzKTtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1wcmltYXJ5IHtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gUHJpbWFyeSBEZWZhdWx0L0xpZ2h0IE1vZGVcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1zaGFkb3ctZm9jdXMpO1xuICAgIH1cblxuICAgICYuY29sb3ItdmFyaWFudC1hbHRlcm5hdGUge1xuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIG91dHNldC1idXR0b24tc2hhZG93KFxuICAgICAgICAgIHZhcigtLWlkcy1jb2xvci1wcmltYXJ5LTcwKSxcbiAgICAgICAgICB2YXIoLS1pZHMtY29sb3ItdGV4dC1vbi1wcmltYXJ5KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYnRuLXByaW1hcnktZGVzdHJ1Y3RpdmUge1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBQcmltYXJ5IERlc3RydWN0aXZlIERlZmF1bHQvTGlnaHQgTW9kZVxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgb3V0c2V0LWJ1dHRvbi1zaGFkb3coXG4gICAgICAgIHZhcigtLWlkcy1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpLFxuICAgICAgICB2YXIoLS1pZHMtY29sb3ItZXJyb3ItZGVmYXVsdClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tc2Vjb25kYXJ5IHtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gU2Vjb25kYXJ5IERlZmF1bHQvTGlnaHQgTW9kZVxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktc2hhZG93LWZvY3VzKTtcbiAgICB9XG4gIH1cblxuICAmLmJ0bi1wcmltYXJ5LWdlbmVyYXRpdmUtYWkge1xuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0taWRzLWJ1dHRvbi1haS1zaGFkb3ctZm9jdXMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLXRlcnRpYXJ5LWdlbmVyYXRpdmUtYWksXG4gICYuYnRuLXNlY29uZGFyeS1nZW5lcmF0aXZlLWFpIHtcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtYWN0aXZlLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1mb2N1c2VkLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5mb2N1cy13aXRoaW4sXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWlkcy1idXR0b24tdGVydGlhcnktYWktc2hhZG93LWZvY3VzKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1haS1jb2xvci1pY29uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpZHMtbW9kYWwtYnV0dG9uLWNvbG9yLWRlZmF1bHRzKCkge1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFByaW1hcnkgQnV0dG9uXG4gICYuYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1idXR0b24tcHJpbWFyeS1jb2xvci1iYWNrZ3JvdW5kLWRlZmF1bHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItdGV4dC1kZWZhdWx0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taWRzLWJ1dHRvbi1wYWRkaW5nLWlubGluZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWRzLWJ1dHRvbi1yYWRpdXMpO1xuXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWFjdGl2ZSxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuaXMtZm9jdXNlZCxcbiAgICAmOm5vdCguaGlkZS1mb2N1cykuZm9jdXMtd2l0aGluLFxuICAgICY6bm90KC5oaWRlLWZvY3VzKTpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBtb2RhbC1idXR0b24tc2hhZG93KCk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1wcmltYXJ5LWNvbG9yLWJhY2tncm91bmQtaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktY29sb3ItYm9yZGVyLWhvdmVyKTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiB2YXIoLS1pZHMtYnV0dG9uLXByaW1hcnktb3BhY2l0eS1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTZWNvbmRhcnkvVGVydGlhcnkgQnV0dG9uXG5cbiAgJi5idG4tc2Vjb25kYXJ5LFxuICAmLmJ0bi10ZXJ0aWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1kZWZhdWx0KTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1jb2xvci1ib3JkZXItZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLXRleHQtZGVmYXVsdCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWlkcy1idXR0b24tcGFkZGluZy1pbmxpbmUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1idXR0b24tcmFkaXVzKTtcblxuICAgICY6bm90KC5oaWRlLWZvY3VzKS5pcy1hY3RpdmUsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmlzLWZvY3VzZWQsXG4gICAgJjpub3QoLmhpZGUtZm9jdXMpLmZvY3VzLXdpdGhpbixcbiAgICAmOm5vdCguaGlkZS1mb2N1cyk6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgbW9kYWwtYnV0dG9uLXNoYWRvdygpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYmFja2dyb3VuZC1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWlkcy1idXR0b24tc2Vjb25kYXJ5LWNvbG9yLWJvcmRlci1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWJ1dHRvbi1zZWNvbmRhcnktY29sb3ItdGV4dC1ob3Zlcik7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTp2YXIoLS1pZHMtYnV0dG9uLXNlY29uZGFyeS1vcGFjaXR5LWRpc2FibGVkKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnRzIC0gdGhpcyBjYW50IGJlIHRva2Vuc1xuJGJyZWFrcG9pbnQteHhsOiAxNDQwcHg7XG4kYnJlYWtwb2ludC14bDogMTI4MHB4O1xuJGJyZWFrcG9pbnQtbGc6IDEwMjRweDtcbiRicmVha3BvaW50LW1kOiA4NDBweDtcbiRicmVha3BvaW50LXNtOiA2MDBweDtcbiRicmVha3BvaW50LXhzOiAzMjBweDtcblxuLy8gU2V0cyBUZXh0IEFudGlhbGlhc2luZ1xuQG1peGluIGFudGlhbGlhc2VkIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIHZlbmRvciBwcmVmaXhlZCB0cmFuc2l0aW9ucyBmb3IgcmVndWxhciBhdHRyaWJ1dGVzIChub24tdmVuZG9yIHByZWZpeGVkKVxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb25zLWxpc3QuLi4pIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICN7JHByZWZpeH10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbnMtbGlzdDtcbiAgfVxufVxuXG4vLyBtYWtlIHRoZSB0ZXh0IGludmlzaWJsZSB2aXN1YWxseSBidXQgcmVhZGFibGUgYnkgc2NyZWVuIHJlYWRlcnNcbkBtaXhpbiBhdWRpYmxlKCkge1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG4iLCJAdXNlICcuLi9pZHMtYnV0dG9uL2lkcy1idXR0b24nIGFzICo7XG5cbjpob3N0IHtcbiAgYnV0dG9uIHtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYm9yZGVyLWhvdmVyOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1iYWNrZ3JvdW5kLXByZXNzZWQ6IHZhcigtLWlkcy1jb2xvci10cmFuc3BhcmVudCk7XG4gICAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1wcmVzc2VkOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLy8gU3BpbmJveFxuICAgICYuc3R5bGUtaW5saW5lLnNxdWFyZS5uby1wYWRkaW5nIHtcbiAgICAgIC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1jb2xvci1ib3JkZXItcHJlc3NlZDogdmFyKC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1kZWZhdWx0KTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoLmV4cGFuZC1idXR0b24pIHtcbiAgYnV0dG9uIHtcbiAgICAtLWlkcy1idXR0b24taWNvbi1oZWlnaHQ6IDM0cHg7XG4gICAgLS1pZHMtYnV0dG9uLWljb24td2lkdGg6IDM0cHg7XG5cbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICB9XG59XG5cbjpob3N0KFtjb21wYWN0XSksXG46aG9zdChbZmllbGQtaGVpZ2h0PSd4cyddKSxcbjpob3N0KFtmaWVsZC1oZWlnaHQ9J3NtJ10pIHtcbiAgLmlkcy10cmlnZ2VyLWJ1dHRvbi5pZHMtaWNvbi1idXR0b24ge1xuICAgIC0taWRzLWJ1dHRvbi1pY29uLWhlaWdodDogMjZweDtcbiAgICAtLWlkcy1idXR0b24taWNvbi13aWR0aDogMjZweDtcblxuICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS1ub25lKTtcblxuICAgICY6bm90KC5zcXVhcmUpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy10cmlnZ2VyLWZpZWxkLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2ZpZWxkLWhlaWdodD0neHMnXSksXG46aG9zdChbZmllbGQtaGVpZ2h0PSd4eHMnXSkge1xuICAuaWRzLXRyaWdnZXItYnV0dG9uLmlkcy1pY29uLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDNweDtcblxuICAgICYuY29sb3ItdmFyaWFudC1ib3JkZXJsZXNzW2FyaWEtbGFiZWw9J0Ryb3Bkb3duVHJpZ2dlckJ1dHRvbiddIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIH1cblxuICAgICYuY29sb3ItdmFyaWFudC1ib3JkZXJsZXNzIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAzcHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICB3aWR0aDogMjJweDtcbiAgICB9XG5cbiAgICAmLmNvbG9yLXZhcmlhbnQtaW4tY2VsbCB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogLTNweDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbZmllbGQtaGVpZ2h0PSd4eHMnXSkge1xuICAuaWRzLXRyaWdnZXItYnV0dG9uLmlkcy1pY29uLWJ1dHRvbiB7XG4gICAgJi5jb2xvci12YXJpYW50LWJvcmRlcmxlc3NbYXJpYS1sYWJlbD0nRHJvcGRvd25UcmlnZ2VyQnV0dG9uJ10ge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0xcHg7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDNweDtcbiAgICB9XG5cbiAgICAmLmNvbG9yLXZhcmlhbnQtaW4tY2VsbCB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbZmllbGQtaGVpZ2h0PSdzbSddKSB7XG4gIC5pZHMtdHJpZ2dlci1idXR0b24uaWRzLWljb24tYnV0dG9uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMnB4O1xuXG4gICAgJi5jb2xvci12YXJpYW50LWJvcmRlcmxlc3Mge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0ycHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICB3aWR0aDogMjRweDtcblxuICAgICAgJlthcmlhLWxhYmVsPSdEcm9wZG93blRyaWdnZXJCdXR0b24nXSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtNHB4O1xuICAgICAgfVxuXG4gICAgICAmLm5vLW1hcmdpbnMge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xvci12YXJpYW50LWluLWNlbGwge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0zcHg7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDFweDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2ZpZWxkLWhlaWdodD0nbWQnXSkge1xuICAuaWRzLXRyaWdnZXItYnV0dG9uLmlkcy1pY29uLWJ1dHRvbiB7XG4gICAgJi5jb2xvci12YXJpYW50LWJvcmRlcmxlc3Mge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0xMXB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgd2lkdGg6IDMwcHg7XG5cbiAgICAgICYubm8tbWFyZ2lucyB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbG9yLXZhcmlhbnQtaW4tY2VsbCB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogLTRweDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMXB4O1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCguZXhwYW5kLWJ1dHRvbiksXG4uZXhwYW5kLWJ1dHRvbiB7XG4gIC0taWRzLWJ1dHRvbi1oZWlnaHQ6IDM2cHg7XG4gIC0taWRzLWJ1dHRvbi13aWR0aDogMzZweDtcblxuICBoZWlnaHQ6IHZhcigtLWlkcy1idXR0b24taGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLWlkcy1idXR0b24td2lkdGgpO1xufVxuXG4uaWRzLXRyaWdnZXItYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6IHZhcigtLWlkcy10cmlnZ2VyLWZpZWxkLWljb24tY29sb3IpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAmLmlkcy1pY29uLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG5cbiAgICAmLmlkcy1zdWItdGFiLWNsb3NlLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogM3B4O1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1idXR0b24taWNvbi10aGlyZC13aWR0aCk7XG4gICAgICBoZWlnaHQ6IHZhcigtLWlkcy1idXR0b24taWNvbi10aGlyZC1oZWlnaHQpO1xuICAgIH1cblxuICAgICY6bm90KC5pZHMtdGFiLWNsb3NlLWJ1dHRvbik6bm90KC5pZHMtc3ViLXRhYi1jbG9zZS1idXR0b24pIHtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMnB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLXRyaWdnZXItZmllbGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgY29sb3I6IHZhcigtLWlkcy10cmlnZ2VyLWZpZWxkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAgICAgb3BhY2l0eTogdmFyKC0taWRzLWJ1dHRvbi10ZXJ0aWFyeS1vcGFjaXR5LWRpc2FibGVkKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWRzLXRhYi1jbG9zZS1idXR0b246bm90KC5uby1wYWRkaW5nKTpub3QoLnN1Yi10YWItYnV0dG9uKTpub3QoLmNvbXBhY3QpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogdmFyKC0taWRzLWJ1dHRvbi1pY29uLXRoaXJkLXdpZHRoKTtcbiAgICAgIGhlaWdodDogdmFyKC0taWRzLWJ1dHRvbi1pY29uLXRoaXJkLWhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIElubGluZSBTdHlsZTogU2hvdyBhIGJvcmRlciBvbiB0aGUgdHJpZ2dlciBidXR0b24ncyBpbm5lci1lZGdlXG4gICYuc3R5bGUtaW5saW5lIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogdmFyKC0taWRzLXNwYWNlLW5vbmUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy10cmlnZ2VyLWZpZWxkLWJ1dHRvbi1ib3JkZXItcmFkaXVzLWlubGluZSk7XG4gICAgbWFyZ2luOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG5cbiAgICAmLmlkcy1pY29uLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1pZHMtc3BhY2Utbm9uZSk7XG4gICAgfVxuXG4gICAgJi5zcXVhcmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBGaWVsZCBIZWlnaHRzXG4gICAgJi5maWVsZC1oZWlnaHQteHMsXG4gICAgJi5maWVsZC1oZWlnaHQteHMuY29tcGFjdCB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC0xMCkgLSAycHgpO1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC0xMCkgLSAycHgpO1xuICAgIH1cblxuICAgICYuZmllbGQtaGVpZ2h0LXNtIHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTIwKSAtIDJweCk7XG4gICAgICB3aWR0aDogY2FsYyh2YXIoLS1pZHMtaW5wdXQtaGVpZ2h0LTIwKSAtIDJweCk7XG4gICAgfVxuXG4gICAgJi5maWVsZC1oZWlnaHQtbWQge1xuICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMzApIC0gMnB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWlkcy1pbnB1dC1oZWlnaHQtMzApIC0gMnB4KTtcbiAgICB9XG5cbiAgICAmLmZpZWxkLWhlaWdodC1sZyB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC00MCkgLSAycHgpO1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC00MCkgLSAycHgpO1xuICAgIH1cblxuICAgICYuY29tcGFjdCxcbiAgICAmLmZpZWxkLWhlaWdodC1zbS5jb21wYWN0LFxuICAgICYuZmllbGQtaGVpZ2h0LW1kLmNvbXBhY3QsXG4gICAgJi5maWVsZC1oZWlnaHQtbGcuY29tcGFjdCB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC0xMCkgLSA0cHgpO1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0taWRzLWlucHV0LWhlaWdodC0xMCkgLSAycHgpO1xuICAgIH1cbiAgfVxuXG4gICYuaW5saW5lLWVuZCB7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMXB4IHNvbGlkO1xuICB9XG5cbiAgJi5pbmxpbmUtc3RhcnQge1xuICAgIGJvcmRlci1pbmxpbmUtZW5kOiAxcHggc29saWQ7XG5cbiAgICAmOm5vdCguYnRuLXNlY29uZGFyeSk6bm90KC5uby1tYXJnaW5zKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgJi5jb2xvci12YXJpYW50LWFsdGVybmF0ZS1mb3JtYXR0ZXIge1xuICAgIHBhZGRpbmc6IHZhcigtLWlkcy1zcGFjZS0zeHMpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIEluaGVyaXQgQ29sb3Igc2V0dGluZ1xuICAvLyBSZXNldCB0aGVtZWQgYnV0dG9uIGNvbG9ycyBvbiBUcmlnZ2VyIEJ1dHRvbnMsXG4gIC8vIHdoaWNoIGFyZSBwcmVzdW1hYmx5IHNsb3R0ZWQgaW50byBhbm90aGVyIGNvbXBvbmVudFxuICAvLyB0aGF0IHNob3VsZCBpbmhlcml0IGNvbG9ycyBmcm9tIGl0cyBwYXJlbnQuXG5cbiAgJi5pbmhlcml0LWNvbG9yIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICB9XG59XG4iXX0= */