@pnx-mixtape/mxds 0.0.4 → 0.0.6

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 (170) hide show
  1. package/dist/build/accordion.css +108 -0
  2. package/dist/build/accordion.entry.js +139 -0
  3. package/dist/build/accordion.entry.js.map +1 -0
  4. package/dist/build/base.css +999 -0
  5. package/dist/build/breadcrumb.css +47 -0
  6. package/dist/build/button.css +132 -0
  7. package/dist/build/callout.css +11 -0
  8. package/dist/build/card.css +136 -0
  9. package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js +124 -0
  10. package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js.map +1 -0
  11. package/dist/build/chunks/keyboard-C73DHu0c.js +101 -0
  12. package/dist/build/chunks/keyboard-C73DHu0c.js.map +1 -0
  13. package/dist/build/chunks/polyfills-CJ5uTmUJ.js +749 -0
  14. package/dist/build/chunks/polyfills-CJ5uTmUJ.js.map +1 -0
  15. package/dist/build/chunks/popover-wbPSyFRj.js +654 -0
  16. package/dist/build/chunks/popover-wbPSyFRj.js.map +1 -0
  17. package/dist/build/chunks/utilities-B4YZb689.js +243 -0
  18. package/dist/build/chunks/utilities-B4YZb689.js.map +1 -0
  19. package/dist/build/constants.css +120 -0
  20. package/dist/build/container-grid.css +208 -0
  21. package/dist/build/content-block.css +23 -0
  22. package/dist/build/dialog.css +98 -0
  23. package/dist/build/dialog.entry.js +113 -0
  24. package/dist/build/dialog.entry.js.map +1 -0
  25. package/dist/build/drop-menu.css +78 -0
  26. package/dist/build/drop-menu.entry.js +129 -0
  27. package/dist/build/drop-menu.entry.js.map +1 -0
  28. package/dist/build/drupal.css +74 -0
  29. package/dist/build/footer-menu.css +32 -0
  30. package/dist/build/footer.css +61 -0
  31. package/dist/build/form.css +589 -0
  32. package/dist/build/global-alert.css +60 -0
  33. package/dist/build/global-alert.entry.js +68 -0
  34. package/dist/build/global-alert.entry.js.map +1 -0
  35. package/dist/build/grid.css +200 -0
  36. package/dist/build/header.css +131 -0
  37. package/dist/build/header.entry.js +98 -0
  38. package/dist/build/header.entry.js.map +1 -0
  39. package/dist/build/hero-banner.css +62 -0
  40. package/dist/build/icon.css +399 -0
  41. package/dist/build/in-page-alert.css +94 -0
  42. package/dist/build/in-page-navigation.css +17 -0
  43. package/dist/build/in-page-navigation.entry.js +89 -0
  44. package/dist/build/in-page-navigation.entry.js.map +1 -0
  45. package/dist/build/link-list.css +72 -0
  46. package/dist/build/masthead.css +39 -0
  47. package/dist/build/nav-list.css +26 -0
  48. package/dist/build/navigation.css +371 -0
  49. package/dist/build/navigation.entry.js +123 -0
  50. package/dist/build/navigation.entry.js.map +1 -0
  51. package/dist/build/page.css +184 -0
  52. package/dist/build/pagination.css +123 -0
  53. package/dist/build/section.css +163 -0
  54. package/dist/build/sidebar.css +105 -0
  55. package/dist/build/sticky.css +47 -0
  56. package/dist/build/sticky.entry.js +60 -0
  57. package/dist/build/sticky.entry.js.map +1 -0
  58. package/dist/build/tabs.css +106 -0
  59. package/dist/build/tabs.entry.js +161 -0
  60. package/dist/build/tabs.entry.js.map +1 -0
  61. package/dist/build/tag.css +67 -0
  62. package/dist/build/tiles.css +61 -0
  63. package/dist/build/utilities.css +175 -0
  64. package/package.json +3 -3
  65. package/src/Atom/Background/__snapshots__/Backgrounds.stories.ts.snap +12 -12
  66. package/src/Atom/Background/_background.css +8 -8
  67. package/src/Atom/Background/backgrounds.twig +4 -4
  68. package/src/Atom/Button/Button.tsx +8 -8
  69. package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +6 -6
  70. package/src/Atom/Button/_buttons-styles.css +4 -4
  71. package/src/Atom/Button/_buttons.css +5 -5
  72. package/src/Atom/Button/button.twig +1 -1
  73. package/src/Atom/Heading/Heading.stories.ts +5 -2
  74. package/src/Atom/Heading/_headings.css +20 -20
  75. package/src/Atom/Heading/heading.twig +1 -1
  76. package/src/Atom/Icon/Icon.mdx +1 -1
  77. package/src/Atom/Icon/Icon.tsx +5 -5
  78. package/src/Atom/Icon/__snapshots__/Icon.stories.ts.snap +3 -3
  79. package/src/Atom/Icon/_icon.css +17 -17
  80. package/src/Atom/Icon/_mixin-icon.css +1 -1
  81. package/src/Atom/Icon/icon.twig +1 -1
  82. package/src/Atom/Link/Link.tsx +2 -2
  83. package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +8 -8
  84. package/src/Atom/Link/_links.css +9 -9
  85. package/src/Atom/Link/link.twig +1 -1
  86. package/src/Atom/Media/Media.tsx +1 -1
  87. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +3 -3
  88. package/src/Atom/Media/_media.css +12 -4
  89. package/src/Atom/Media/media.twig +1 -1
  90. package/src/Atom/NavList/__snapshots__/NavList.stories.ts.snap +2 -2
  91. package/src/Atom/NavList/nav-list.css +3 -9
  92. package/src/Atom/NavList/nav-list.twig +2 -2
  93. package/src/Atom/Spacing/__snapshots__/Spacing.stories.ts.snap +1 -1
  94. package/src/Atom/{_mixins.css → Spacing/_mixins.css} +5 -5
  95. package/src/Atom/Spacing/_spacing.css +6 -6
  96. package/src/Atom/Spacing/spacing.twig +1 -1
  97. package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +3 -3
  98. package/src/Atom/Table/__snapshots__/TableResponsive.stories.ts.snap +2 -2
  99. package/src/Atom/Table/_table.css +4 -4
  100. package/src/Atom/Table/table-responsive.twig +2 -2
  101. package/src/Atom/Table/table.twig +1 -1
  102. package/src/Atom/Text/__snapshots__/TextSizes.stories.ts.snap +16 -16
  103. package/src/Atom/Text/_text-align.css +3 -3
  104. package/src/Atom/Text/_text-sizes.css +29 -29
  105. package/src/Atom/Text/text-alignment.twig +3 -3
  106. package/src/Atom/Text/text-styles-example.twig +16 -16
  107. package/src/Atom/Video/Video.tsx +1 -1
  108. package/src/Atom/Video/__snapshots__/Video.stories.ts.snap +1 -1
  109. package/src/Atom/Video/_video.css +2 -2
  110. package/src/Atom/Video/video.twig +1 -4
  111. package/src/Atom/_animated.css +5 -5
  112. package/src/Atom/_flow.css +5 -9
  113. package/src/Atom/_print.css +1 -12
  114. package/src/Component/Accordion/Accordion.tsx +11 -11
  115. package/src/Component/Accordion/Elements/AccordionGroup.ts +2 -2
  116. package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +23 -23
  117. package/src/Component/Accordion/accordion-item.twig +4 -4
  118. package/src/Component/Accordion/accordion.css +15 -15
  119. package/src/Component/Accordion/accordion.twig +4 -4
  120. package/src/Component/Callout/__snapshots__/Callout.stories.ts.snap +1 -1
  121. package/src/Component/Callout/callout.css +1 -1
  122. package/src/Component/Callout/callout.twig +2 -2
  123. package/src/Component/Card/Card.tsx +7 -7
  124. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +43 -43
  125. package/src/Component/Card/card-grid.twig +2 -2
  126. package/src/Component/Card/card.css +14 -13
  127. package/src/Component/Card/card.twig +7 -7
  128. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +1 -1
  129. package/src/Component/GlobalAlert/Elements/ClosableAlert.ts +2 -2
  130. package/src/Component/GlobalAlert/GlobalAlert.tsx +5 -5
  131. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.ts.snap +9 -9
  132. package/src/Component/GlobalAlert/global-alert.css +4 -4
  133. package/src/Component/GlobalAlert/global-alert.entry.js +1 -1
  134. package/src/Component/GlobalAlert/global-alert.twig +6 -6
  135. package/src/Component/HeroBanner/HeroBanner.tsx +4 -4
  136. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +15 -15
  137. package/src/Component/HeroBanner/hero-banner.css +6 -6
  138. package/src/Component/HeroBanner/hero-banner.twig +7 -7
  139. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +1 -1
  140. package/src/Component/InPageAlert/in-page-alert.css +5 -5
  141. package/src/Component/InPageAlert/in-page-alert.twig +1 -1
  142. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +1 -1
  143. package/src/Component/LinkList/LinkList.tsx +4 -4
  144. package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +4 -4
  145. package/src/Component/LinkList/link-list.css +8 -8
  146. package/src/Component/LinkList/link-list.twig +3 -3
  147. package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +1 -1
  148. package/src/Component/Navigation/_navigation.css +5 -5
  149. package/src/Component/Navigation/navigation.twig +1 -1
  150. package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +1 -1
  151. package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +15 -15
  152. package/src/Component/Tag/Tag.tsx +1 -1
  153. package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +9 -9
  154. package/src/Component/Tag/tag.css +2 -2
  155. package/src/Component/Tag/tags.twig +2 -2
  156. package/src/Layout/Grid/Grid.tsx +4 -4
  157. package/src/Layout/Grid/__snapshots__/Grid.stories.ts.snap +4 -4
  158. package/src/Layout/Grid/container-grid.css +1 -0
  159. package/src/Layout/Grid/grid-item.twig +2 -2
  160. package/src/Layout/Grid/grid.css +29 -29
  161. package/src/Layout/Grid/grid.twig +1 -1
  162. package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +1 -1
  163. package/src/Layout/Section/Section.stories.ts +0 -1
  164. package/src/Layout/Section/Section.tsx +5 -5
  165. package/src/Layout/Section/SectionGrid.tsx +4 -4
  166. package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +5 -5
  167. package/src/Layout/Section/section.css +29 -26
  168. package/src/Layout/Section/section.twig +4 -4
  169. package/src/enums.ts +21 -21
  170. package/src/Atom/_flow-legacy.css +0 -48
@@ -0,0 +1,999 @@
1
+ @layer popover-polyfill, design-system.defaults, design-system.atoms, design-system.layouts, design-system.components, design-system.utilities;
2
+
3
+ /**
4
+ * Backgrounds
5
+ */
6
+
7
+ @layer design-system.atoms {
8
+ :where([class*="mx-background--"]) {
9
+ background-color: var(--background, var(--colour-background));
10
+ color: var(--foreground, var(--colour-foreground));
11
+ }
12
+
13
+ .mx-background--reset {
14
+ /* use to revert .background--reverse on children */
15
+ --background: var(--colour-background);
16
+ --foreground: var(--colour-foreground);
17
+ --link-colour: var(--colour-primary);
18
+ --line-colour: var(--colour-border);
19
+ }
20
+
21
+ .mx-background--alt {
22
+ --background: var(--colour-background-alt);
23
+ }
24
+
25
+ .mx-background--primary {
26
+ --background: var(--colour-primary);
27
+ --foreground: var(--colour-foreground-reverse);
28
+ --line-colour: var(--colour-border-reverse);
29
+ --link-colour: var(--colour-primary-light);
30
+ }
31
+
32
+ .mx-background--accent {
33
+ --background: var(--colour-accent);
34
+ --foreground: var(--colour-foreground-reverse);
35
+ --line-colour: var(--colour-border-reverse);
36
+ --link-colour: var(--colour-accent-light);
37
+ }
38
+ .mx-background--image > img {
39
+ -o-object-fit: cover;
40
+ object-fit: cover;
41
+ position: absolute;
42
+ inline-size: 100%;
43
+ min-block-size: 100%;
44
+ filter: brightness(1)
45
+ saturate(1.25)
46
+ opacity(0.5);
47
+ filter: brightness(var(--bg-img-brightness, 1))
48
+ saturate(var(--bg-img-saturate, 1.25))
49
+ opacity(var(--bg-img-opacity, 0.5));
50
+ }
51
+
52
+ .mx-background--reverse {
53
+ --line-colour: var(--colour-border-reverse);
54
+ --link-colour: var(--colour-primary-light);
55
+ --background: var(--colour-background-reverse);
56
+ --foreground: var(--colour-foreground-reverse);
57
+ }
58
+
59
+ .mx-background--reverse .mx-background--image {
60
+ --bg-img-brightness: 0.45;
61
+ --bg-img-opacity: 1;
62
+ }
63
+ }
64
+
65
+ @layer design-system.utilities {
66
+ .mx-animated--fade-in {
67
+ animation: fade-in 0.5s var(--ease);
68
+ }
69
+
70
+ .mx-animated--fade-out {
71
+ animation: fade-out 0.5s var(--ease);
72
+ }
73
+
74
+ .mx-animated--spin::before {
75
+ animation: spin 2s linear infinite;
76
+ }
77
+
78
+ .mx-animated--scale-up {
79
+ animation: scale-up 0.5s var(--ease);
80
+ }
81
+
82
+ .mx-animated--scale-down {
83
+ animation: scale-down 0.5s var(--ease);
84
+ }
85
+ }
86
+
87
+ @keyframes fade-in {
88
+ to {
89
+ opacity: 1;
90
+ }
91
+ }
92
+
93
+ @keyframes fade-out {
94
+ to {
95
+ opacity: 0;
96
+ }
97
+ }
98
+
99
+ @keyframes spin {
100
+ to {
101
+ transform: rotate(1turn);
102
+ }
103
+ }
104
+
105
+ @keyframes scale-up {
106
+ to {
107
+ transform: scale(1.25);
108
+ }
109
+ }
110
+
111
+ @keyframes scale-down {
112
+ to {
113
+ transform: scale(0.75);
114
+ }
115
+ }
116
+
117
+ @media (prefers-reduced-motion: reduce) {
118
+ *,
119
+ ::before,
120
+ ::after {
121
+ animation-delay: -1ms !important;
122
+ animation-duration: 1ms !important;
123
+ animation-iteration-count: 1 !important;
124
+ background-attachment: scroll !important;
125
+ background-attachment: initial !important;
126
+ scroll-behavior: auto !important;
127
+ transition-delay: 0s !important;
128
+ transition-duration: 0s !important;
129
+ }
130
+ }
131
+
132
+ /**
133
+ * Atom
134
+ */
135
+
136
+ @layer design-system.defaults {
137
+ *,
138
+ *::before,
139
+ *::after {
140
+ box-sizing: border-box;
141
+ background-repeat: no-repeat;
142
+ }
143
+
144
+ * {
145
+ margin: 0;
146
+ }
147
+
148
+ :focus {
149
+ scroll-padding-block-end: 4vh;
150
+ }
151
+
152
+ :focus-visible {
153
+ --outline-size: max(0.125rem, 0.15em);
154
+
155
+ outline: max(0.125rem, 0.15em)
156
+ solid currentcolor;
157
+
158
+ outline: var(--outline-width, var(--outline-size))
159
+ var(--outline-style, solid) var(--outline-color, currentcolor);
160
+ outline-offset: max(0.125rem, 0.15em);
161
+ outline-offset: var(--outline-offset, var(--outline-size));
162
+ }
163
+
164
+ html {
165
+ block-size: 100%;
166
+ font-size: 100%; /* 16px in most browsers */
167
+ font-family: var(--font-family);
168
+ line-height: var(--line-height);
169
+ scroll-behavior: smooth;
170
+ }
171
+
172
+ .translated-rtl {
173
+ direction: rtl;
174
+ }
175
+
176
+ body {
177
+ font-size: var(--font-size);
178
+ color: var(--colour-foreground);
179
+ accent-color: var(--colour-primary);
180
+ text-rendering: optimizespeed;
181
+ block-size: 100%;
182
+ }
183
+
184
+ :target,
185
+ [id],
186
+ .has-scroll-margin {
187
+ scroll-margin-block-start: calc(
188
+ 0rem + var(--scroll-margin, var(--spacing-m))
189
+ );
190
+ scroll-margin-block-start: calc(
191
+ var(--sticky-offset, 0rem) + var(--scroll-margin, var(--spacing-m))
192
+ );
193
+ }
194
+
195
+ :is(b, strong) {
196
+ font-weight: var(--font-weight-bold);
197
+ }
198
+
199
+ a:where([href]) {
200
+ -webkit-text-decoration: underline;
201
+ text-decoration: underline;
202
+ text-decoration-thickness: max(0.08em, 1px);
203
+ -webkit-text-decoration-skip: ink;
204
+ text-decoration-skip-ink: auto;
205
+ text-underline-offset: 0.15em;
206
+ }
207
+
208
+ a:where([href]):hover,
209
+ a:where([href]):active {
210
+ text-underline-offset: 0.2em;
211
+ text-decoration-thickness: max(0.09em, 2px);
212
+ }
213
+
214
+ :is(ol, ul) {
215
+ padding-inline-start: var(--spacing-m);
216
+ }
217
+
218
+ [role="list"]:is(ol, ul) {
219
+ list-style: none;
220
+ padding-inline-start: 0;
221
+ }
222
+
223
+ dl {
224
+ display: flex;
225
+ flex-direction: column;
226
+ gap: var(--spacing-xs);
227
+ }
228
+
229
+ dl div {
230
+ display: flex;
231
+ gap: var(--spacing-s);
232
+ }
233
+
234
+ p {
235
+ text-wrap: pretty;
236
+ }
237
+ }
238
+
239
+ @layer design-system.utilities {
240
+ /* Default vertical flow. */
241
+
242
+ .mx-vertical-flow > :where(:not(:first-child)) {
243
+ margin-block-start: var(--flow-gap, var(--gap));
244
+ }
245
+
246
+ .mx-vertical-flow > .mx-vertical-flow__collapse {
247
+ margin-block-start: 0;
248
+ }
249
+
250
+ /* Rich text vertical flow is enhanced */
251
+ .mx-vertical-flow.mx-rich-text > .mx-text--lede {
252
+ --flow-gap: var(--gap-xl);
253
+ }
254
+
255
+ .mx-vertical-flow-flex {
256
+ display: flex;
257
+ flex-direction: column;
258
+ align-items: flex-start;
259
+ gap: var(--flow-gap, var(--gap));
260
+ }
261
+
262
+ .mx-vertical-flow-flex > * {
263
+ margin: 0;
264
+ }
265
+
266
+ .mx-vertical-flow-flex:is(ul, ol) {
267
+ padding-inline-start: unset;
268
+ list-style: none;
269
+ }
270
+
271
+ .mx-horizontal-flow-flex {
272
+ display: flex;
273
+ flex-wrap: wrap;
274
+ gap: var(--flow-gap, var(--gap));
275
+ }
276
+
277
+ .mx-horizontal-flow-flex > * {
278
+ margin: 0;
279
+ }
280
+
281
+ .mx-horizontal-flow-flex:is(ul, ol) {
282
+ padding-inline-start: unset;
283
+ list-style: none;
284
+ }
285
+ }
286
+
287
+ /**
288
+ * Typography
289
+ */
290
+
291
+ @layer design-system.defaults {
292
+ :is(
293
+ .mx-headline,
294
+ h1,
295
+ .mx-heading--xxl,
296
+ h2,
297
+ .mx-heading--xl,
298
+ h3,
299
+ .mx-heading--l,
300
+ h4,
301
+ .mx-heading--m,
302
+ h5,
303
+ .mx-heading--s,
304
+ h6,
305
+ .mx-heading--xs
306
+ ) {
307
+ font-family: var(--heading-font-family, var(--font-family));
308
+ line-height: var(--line-height-h);
309
+ font-size: var(--heading-font-size, var(--font-size));
310
+ font-weight: var(--heading-font-weight, var(--font-weight-bold));
311
+ text-wrap: balance;
312
+ }
313
+
314
+ @supports (font-size: 1cqi) {
315
+ :is(
316
+ .mx-headline,
317
+ h1,
318
+ .mx-heading--xxl,
319
+ h2,
320
+ .mx-heading--xl,
321
+ h3,
322
+ .mx-heading--l,
323
+ h4,
324
+ .mx-heading--m,
325
+ h5,
326
+ .mx-heading--s
327
+ ) {
328
+ --font-min: calc(
329
+ var(--heading-font-size) - var(--heading-font-size) *
330
+ var(--font-size-diff, 0.3)
331
+ );
332
+
333
+ font-size: clamp(
334
+ max(var(--base-font-size), var(--font-min)),
335
+ var(--font-min) + 1cqi,
336
+ var(--heading-font-size)
337
+ );
338
+ }
339
+ }
340
+
341
+ .mx-headline {
342
+ --heading-font-size: var(--font-size-xxxl);
343
+ }
344
+
345
+ h1,
346
+ .mx-heading--xxl {
347
+ --heading-font-size: var(--font-size-xxl);
348
+ }
349
+
350
+ h2,
351
+ .mx-heading--xl {
352
+ --heading-font-size: var(--font-size-xl);
353
+ }
354
+
355
+ h3,
356
+ .mx-heading--l {
357
+ --heading-font-size: var(--font-size-l);
358
+ }
359
+
360
+ h4,
361
+ .mx-heading--m {
362
+ --heading-font-size: var(--font-size-m);
363
+ }
364
+
365
+ h5,
366
+ .mx-heading--s {
367
+ --heading-font-size: var(--base-font-size);
368
+ }
369
+
370
+ h6,
371
+ .mx-heading--xs {
372
+ --heading-font-size: var(--font-size-s);
373
+ }
374
+ }
375
+
376
+ @layer design-system.defaults {
377
+ blockquote {
378
+ padding-inline-start: var(--line-gap, var(--gap));
379
+ border-inline-start: 6px solid
380
+ var(--line-colour, var(--colour-border));
381
+ border-inline-start: var(--line-width, 6px) solid
382
+ var(--line-colour, var(--colour-border));
383
+ }
384
+ }
385
+
386
+ @layer design-system.defaults {
387
+ hr {
388
+ display: block;
389
+ block-size: 0;
390
+ border: 0;
391
+ border-block-start: 1px solid
392
+ var(--line-colour, var(--colour-border));
393
+ border-block-start: var(--line-width, 1px) solid
394
+ var(--line-colour, var(--colour-border));
395
+ margin-block: var(--line-gap, var(--spacing-m));
396
+ }
397
+ }
398
+
399
+ /**
400
+ * Links
401
+ */
402
+
403
+ @layer design-system.defaults {
404
+ :is(.mx-link, .mx-link--more, .mx-link--external),
405
+ .mx-rich-text a:where([href]:not([class])) {
406
+ color: var(--link-colour, var(--colour-primary));
407
+ transition: color 0.2s var(--ease);
408
+ }
409
+
410
+ :is(.mx-link, .mx-link--more, .mx-link--external):focus-visible, .mx-rich-text a:where([href]:not([class])):focus-visible {
411
+ outline-offset: var(--spacing-xxxs);
412
+ }
413
+
414
+ .mx-link--external {
415
+ margin-inline-end: var(--spacing-xxxs);
416
+ display: inline-flex;
417
+ gap: var(--spacing-xxxs);
418
+ align-items: center;
419
+ }
420
+
421
+ .mx-link--external::after {
422
+ content: "";
423
+ display: inline-block;
424
+ -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M15 0H8v2h4.6L6.3 8.3l1.4 1.4L14 3.4V8h2V1c0-.6-.4-1-1-1z'/%3E%3Cpath d='M14 16H1c-.6 0-1-.4-1-1V2c0-.6.4-1 1-1h4v2H2v11h11v-3h2v4c0 .6-.4 1-1 1z'/%3E%3C/svg%3E");
425
+ mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M15 0H8v2h4.6L6.3 8.3l1.4 1.4L14 3.4V8h2V1c0-.6-.4-1-1-1z'/%3E%3Cpath d='M14 16H1c-.6 0-1-.4-1-1V2c0-.6.4-1 1-1h4v2H2v11h11v-3h2v4c0 .6-.4 1-1 1z'/%3E%3C/svg%3E");
426
+ -webkit-mask-size: contain;
427
+ mask-size: contain;
428
+ block-size: var(--spacing-s);
429
+ inline-size: var(--spacing-s);
430
+ background-color: currentcolor;
431
+ transition: transform 0.5s var(--ease);
432
+ }
433
+
434
+ .mx-link--external:hover::after {
435
+ transform: translateY(-3px);
436
+ }
437
+
438
+ .mx-link--more {
439
+ font-weight: var(--font-weight-bold);
440
+ }
441
+
442
+ .mx-link--more .mx-icon {
443
+ transition: transform 0.5s var(--ease);
444
+ }
445
+
446
+ .mx-link--more:hover .icon {
447
+ transform: translateX(3px);
448
+ }
449
+ .mx-link--download .mx-icon {
450
+ transition: transform 0.5s var(--ease);
451
+ }
452
+
453
+ .mx-link--download:hover .mx-icon {
454
+ transform: translateY(3px);
455
+ }
456
+
457
+ a:where([href]):has(.mx-icon) {
458
+ display: inline-flex;
459
+ align-items: center;
460
+ gap: var(--spacing-xxs);
461
+ }
462
+ }
463
+
464
+ /**
465
+ * Text Sizes
466
+ */
467
+
468
+ @layer design-system.atoms {
469
+ :is(
470
+ .mx-text--section-headline,
471
+ .mx-text--embellished-headline,
472
+ .mx-text--lede,
473
+ .mx-text--xs,
474
+ .mx-text--s,
475
+ .mx-text--m,
476
+ .mx-text--l,
477
+ .mx-text--xl,
478
+ .mx-text--xxl,
479
+ .mx-text--xxxl,
480
+ .mx-text--fluid
481
+ ) {
482
+ font-size: var(--font-size);
483
+ }
484
+
485
+ @supports (font-size: 1cqi) {
486
+ :is(
487
+ .mx-text--section-headline,
488
+ .mx-text--lede,
489
+ .mx-text--m,
490
+ .mx-text--l,
491
+ .mx-text--xl,
492
+ .mx-text--xxl,
493
+ .mx-text--xxxl,
494
+ .mx-text--fluid
495
+ ) {
496
+ --font-min: calc(
497
+ var(--font-size) - var(--font-size) * var(--font-size-diff, 0.3)
498
+ );
499
+
500
+ font-size: clamp(
501
+ max(var(--base-font-size), var(--font-min)),
502
+ var(--font-min) + 1cqi,
503
+ var(--font-size)
504
+ );
505
+ }
506
+ }
507
+
508
+ .mx-text--section-headline {
509
+ --font-size: var(--font-size-m);
510
+
511
+ font-weight: var(--heading-font-weight, var(--font-weight-bold));
512
+ font-family: var(--heading-font-family, var(--font-family));
513
+ line-height: var(--line-height-h);
514
+ color: var(--foreground, var(--colour-foreground-alt));
515
+ margin-block-start: 0;
516
+ text-wrap: balance;
517
+ }
518
+
519
+ .mx-text--section-headline + :is(h2, h3) {
520
+ margin-block-start: var(--spacing-xxxxs) !important;
521
+ }
522
+
523
+ .mx-text--embellished-headline {
524
+ --font-size: var(--font-size-s);
525
+
526
+ text-transform: uppercase;
527
+ position: relative;
528
+ font-weight: var(--heading-font-weight, var(--font-weight-bold));
529
+ font-family: var(--heading-font-family, var(--font-family));
530
+ line-height: var(--line-height-h);
531
+ margin-block: 0 var(--spacing-l);
532
+ text-wrap: balance;
533
+ }
534
+
535
+ .mx-text--embellished-headline::after {
536
+ content: "";
537
+ display: block;
538
+ position: absolute;
539
+ inline-size: var(--spacing-xxxl);
540
+ block-size: 3px;
541
+ background-color: var(--colour-primary);
542
+ inset-block-start: var(--gap);
543
+ }
544
+
545
+ .mx-text--lede {
546
+ --font-size: var(--font-size-sm);
547
+ }
548
+
549
+ .mx-text--xxxl {
550
+ --font-size: var(--font-size-xxxl);
551
+
552
+ line-height: var(--line-height-h);
553
+ }
554
+
555
+ .mx-text--xxl {
556
+ --font-size: var(--font-size-xxl);
557
+
558
+ line-height: var(--line-height-h);
559
+ }
560
+
561
+ .mx-text--xl {
562
+ --font-size: var(--font-size-xl);
563
+
564
+ line-height: var(--line-height-h);
565
+ }
566
+
567
+ .mx-text--l {
568
+ --font-size: var(--font-size-l);
569
+
570
+ line-height: var(--line-height-h);
571
+ }
572
+
573
+ .mx-text--m {
574
+ --font-size: var(--font-size-m);
575
+ }
576
+
577
+ .mx-text--s {
578
+ --font-size: var(--font-size-s);
579
+ }
580
+
581
+ .mx-text--xs {
582
+ --font-size: var(--font-size-xs);
583
+ }
584
+ }
585
+
586
+ @layer design-system.utilities {
587
+ .mx-text--left {
588
+ text-align: start;
589
+ }
590
+
591
+ .mx-text--right {
592
+ text-align: end;
593
+ }
594
+
595
+ .mx-text--center {
596
+ text-align: center;
597
+ }
598
+ }
599
+
600
+ /**
601
+ * Spacing
602
+ */
603
+
604
+ /* stylelint-disable custom-property-pattern */
605
+
606
+ @layer design-system.utilities {
607
+ .mx-spacing--reset {
608
+ padding: 0 !important;
609
+ }
610
+
611
+ .mx-spacing--top-reset {
612
+ padding-block-start: 0 !important;
613
+ }
614
+
615
+ .mx-spacing--bottom-reset {
616
+ padding-block-end: 0 !important;
617
+ }
618
+
619
+ .mx-spacing--left-reset {
620
+ padding-inline-start: 0 !important;
621
+ }
622
+
623
+ .mx-spacing--right-reset {
624
+ padding-inline-end: 0 !important;
625
+ }
626
+
627
+ .mx-spacing--xxs {
628
+ padding: var(--spacing-xxs);
629
+ }
630
+
631
+ .mx-spacing--top-xxs {
632
+ padding-block-start: var(--spacing-xxs);
633
+ }
634
+
635
+ .mx-spacing--bottom-xxs {
636
+ padding-block-end: var(--spacing-xxs);
637
+ }
638
+
639
+ .mx-spacing--left-xxs {
640
+ padding-inline-start: var(--spacing-xxs);
641
+ }
642
+
643
+ .mx-spacing--right-xxs {
644
+ padding-inline-end: var(--spacing-xxs);
645
+ }
646
+ .mx-spacing--xs {
647
+ padding: var(--spacing-xs);
648
+ }
649
+ .mx-spacing--top-xs {
650
+ padding-block-start: var(--spacing-xs);
651
+ }
652
+ .mx-spacing--bottom-xs {
653
+ padding-block-end: var(--spacing-xs);
654
+ }
655
+ .mx-spacing--left-xs {
656
+ padding-inline-start: var(--spacing-xs);
657
+ }
658
+ .mx-spacing--right-xs {
659
+ padding-inline-end: var(--spacing-xs);
660
+ }
661
+ .mx-spacing--s {
662
+ padding: var(--spacing-s);
663
+ }
664
+ .mx-spacing--top-s {
665
+ padding-block-start: var(--spacing-s);
666
+ }
667
+ .mx-spacing--bottom-s {
668
+ padding-block-end: var(--spacing-s);
669
+ }
670
+ .mx-spacing--left-s {
671
+ padding-inline-start: var(--spacing-s);
672
+ }
673
+ .mx-spacing--right-s {
674
+ padding-inline-end: var(--spacing-s);
675
+ }
676
+ .mx-spacing--m {
677
+ padding: var(--spacing-m);
678
+ }
679
+ .mx-spacing--top-m {
680
+ padding-block-start: var(--spacing-m);
681
+ }
682
+ .mx-spacing--bottom-m {
683
+ padding-block-end: var(--spacing-m);
684
+ }
685
+ .mx-spacing--left-m {
686
+ padding-inline-start: var(--spacing-m);
687
+ }
688
+ .mx-spacing--right-m {
689
+ padding-inline-end: var(--spacing-m);
690
+ }
691
+ .mx-spacing--l {
692
+ padding: var(--spacing-l);
693
+ }
694
+ .mx-spacing--top-l {
695
+ padding-block-start: var(--spacing-l);
696
+ }
697
+ .mx-spacing--bottom-l {
698
+ padding-block-end: var(--spacing-l);
699
+ }
700
+ .mx-spacing--left-l {
701
+ padding-inline-start: var(--spacing-l);
702
+ }
703
+ .mx-spacing--right-l {
704
+ padding-inline-end: var(--spacing-l);
705
+ }
706
+ .mx-spacing--xl {
707
+ padding: var(--spacing-xl);
708
+ }
709
+ .mx-spacing--top-xl {
710
+ padding-block-start: var(--spacing-xl);
711
+ }
712
+ .mx-spacing--bottom-xl {
713
+ padding-block-end: var(--spacing-xl);
714
+ }
715
+ .mx-spacing--left-xl {
716
+ padding-inline-start: var(--spacing-xl);
717
+ }
718
+ .mx-spacing--right-xl {
719
+ padding-inline-end: var(--spacing-xl);
720
+ }
721
+ .mx-spacing--xxl {
722
+ padding: var(--spacing-xxl);
723
+ }
724
+ .mx-spacing--top-xxl {
725
+ padding-block-start: var(--spacing-xxl);
726
+ }
727
+ .mx-spacing--bottom-xxl {
728
+ padding-block-end: var(--spacing-xxl);
729
+ }
730
+ .mx-spacing--left-xxl {
731
+ padding-inline-start: var(--spacing-xxl);
732
+ }
733
+ .mx-spacing--right-xxl {
734
+ padding-inline-end: var(--spacing-xxl);
735
+ }
736
+ .mx-spacing--xxxl {
737
+ padding: var(--spacing-xxxl);
738
+ }
739
+ .mx-spacing--top-xxxl {
740
+ padding-block-start: var(--spacing-xxxl);
741
+ }
742
+ .mx-spacing--bottom-xxxl {
743
+ padding-block-end: var(--spacing-xxxl);
744
+ }
745
+ .mx-spacing--left-xxxl {
746
+ padding-inline-start: var(--spacing-xxxl);
747
+ }
748
+ .mx-spacing--right-xxxl {
749
+ padding-inline-end: var(--spacing-xxxl);
750
+ }
751
+ .mx-spacing--xxxxl {
752
+ padding: var(--spacing-xxxxl);
753
+ }
754
+ .mx-spacing--top-xxxxl {
755
+ padding-block-start: var(--spacing-xxxxl);
756
+ }
757
+ .mx-spacing--bottom-xxxxl {
758
+ padding-block-end: var(--spacing-xxxxl);
759
+ }
760
+ .mx-spacing--left-xxxxl {
761
+ padding-inline-start: var(--spacing-xxxxl);
762
+ }
763
+ .mx-spacing--right-xxxxl {
764
+ padding-inline-end: var(--spacing-xxxxl);
765
+ }
766
+ .mx-spacing--ul {
767
+ padding: var(--spacing-ul);
768
+ }
769
+ .mx-spacing--top-ul {
770
+ padding-block-start: var(--spacing-ul);
771
+ }
772
+ .mx-spacing--bottom-ul {
773
+ padding-block-end: var(--spacing-ul);
774
+ }
775
+ .mx-spacing--left-ul {
776
+ padding-inline-start: var(--spacing-ul);
777
+ }
778
+ .mx-spacing--right-ul {
779
+ padding-inline-end: var(--spacing-ul);
780
+ }
781
+ .mx-spacing--uul {
782
+ padding: var(--spacing-uul);
783
+ }
784
+ .mx-spacing--top-uul {
785
+ padding-block-start: var(--spacing-uul);
786
+ }
787
+ .mx-spacing--bottom-uul {
788
+ padding-block-end: var(--spacing-uul);
789
+ }
790
+ .mx-spacing--left-uul {
791
+ padding-inline-start: var(--spacing-uul);
792
+ }
793
+ .mx-spacing--right-uul {
794
+ padding-inline-end: var(--spacing-uul);
795
+ }
796
+ .mx-spacing--uuul {
797
+ padding: var(--spacing-uuul);
798
+ }
799
+ .mx-spacing--top-uuul {
800
+ padding-block-start: var(--spacing-uuul);
801
+ }
802
+ .mx-spacing--bottom-uuul {
803
+ padding-block-end: var(--spacing-uuul);
804
+ }
805
+ .mx-spacing--left-uuul {
806
+ padding-inline-start: var(--spacing-uuul);
807
+ }
808
+ .mx-spacing--right-uuul {
809
+ padding-inline-end: var(--spacing-uuul);
810
+ }
811
+ }
812
+
813
+ /**
814
+ * Images
815
+ */
816
+
817
+ @layer design-system.defaults {
818
+ figure {
819
+ margin: 0;
820
+ display: table;
821
+ max-inline-size: 100%;
822
+ }
823
+
824
+ figure img {
825
+ inline-size: 100%;
826
+ vertical-align: baseline;
827
+ }
828
+
829
+ figcaption {
830
+ font-size: var(--caption-font-size, var(--font-size-xs));
831
+ line-height: var(--caption-line-height, var(--line-height-h));
832
+ caption-side: bottom;
833
+ display: table-caption;
834
+ }
835
+
836
+ img {
837
+ vertical-align: text-bottom;
838
+ max-inline-size: 100%;
839
+ block-size: auto;
840
+ }
841
+
842
+ svg:not([fill]) {
843
+ fill: currentcolor;
844
+ }
845
+ }
846
+
847
+ @layer design-system.atoms {
848
+ @media (min-width: 540px) {
849
+ :is(.mx-media--left, .mx-media--right, .mx-media--center) {
850
+ display: table;
851
+ max-inline-size: 50%;
852
+ margin-block-end: var(--spacing-s);
853
+ }
854
+
855
+ :is(.mx-media--left, .mx-media--right, .mx-media--center):first-child {
856
+ margin-block-start: 0;
857
+ }
858
+
859
+ :is(.mx-media--left, .mx-media--right, .mx-media--center):first-child + * {
860
+ margin-block-start: 0 !important;
861
+ }
862
+
863
+ :is(.mx-media--left, .mx-media--right, .mx-media--center) figcaption {
864
+ display: table-caption;
865
+ caption-side: bottom;
866
+ }
867
+ }
868
+
869
+ .mx-media--center {
870
+ margin-inline: auto;
871
+ }
872
+ @media (min-width: 540px) {
873
+
874
+ :is(
875
+ .mx-media--left,
876
+ [dir="rtl"] .mx-media--right,
877
+ .translated-rtl .mx-media--right
878
+ ) {
879
+ float: left;
880
+ margin-inline: 0 var(--spacing-m);
881
+ }
882
+ }
883
+ @media (min-width: 540px) {
884
+
885
+ :is(
886
+ .mx-media--right,
887
+ [dir="rtl"] .mx-media--left,
888
+ .translated-rtl .mx-media--left
889
+ ) {
890
+ float: right;
891
+ margin-inline: var(--spacing-m) 0;
892
+ }
893
+ }
894
+ }
895
+
896
+ /**
897
+ * Video
898
+ */
899
+
900
+ @layer design-system.defaults {
901
+ .mx-video,
902
+ .mx-video :is(embed, object, iframe) {
903
+ aspect-ratio: 16 / 9;
904
+ block-size: 100%;
905
+ inline-size: 100%;
906
+ border: 0;
907
+ }
908
+
909
+ .mx-media--video {
910
+ inline-size: 100%;
911
+ }
912
+ }
913
+
914
+ /**
915
+ * Table
916
+ */
917
+
918
+ /**
919
+ * Table Responsive
920
+ */
921
+
922
+ @layer design-system.defaults {
923
+ table {
924
+ inline-size: 100%;
925
+ border-collapse: collapse;
926
+ margin: 0;
927
+ }
928
+
929
+ table th {
930
+ font-weight: var(--font-weight-bold);
931
+ text-align: start;
932
+ }
933
+
934
+ table :is(td, th) {
935
+ padding: var(--spacing-xxs);
936
+ border-block-end: 1px solid
937
+ var(--line-colour, var(--colour-border));
938
+ border-block-end: var(--line-width, 1px) solid
939
+ var(--line-colour, var(--colour-border));
940
+ vertical-align: top;
941
+ }
942
+
943
+ table thead :is(td, th) {
944
+ border-color: currentcolor;
945
+ }
946
+ .mx-table--flush :is(td, th):first-child {
947
+ padding-inline-start: 0;
948
+ }
949
+
950
+ .mx-table--flush :is(td, th):last-child {
951
+ padding-inline-end: 0;
952
+ }
953
+ .mx-table--small :is(td, th) {
954
+ font-size: var(--font-size-s);
955
+ line-height: var(--line-height-h);
956
+ }
957
+ .mx-table--striped tbody tr:nth-child(even) :is(td, th) {
958
+ background-color: var(--colour-background-alt);
959
+ }
960
+
961
+ .mx-table--responsive {
962
+ max-inline-size: 100%;
963
+ }
964
+
965
+ @media (max-width: 719.98px) {
966
+
967
+ .mx-table--responsive {
968
+ overflow-y: scroll;
969
+ -webkit-overflow-scrolling: touch;
970
+ box-shadow: var(--box-shadow) inset;
971
+ }
972
+
973
+ .mx-table--responsive table {
974
+ inline-size: 100%;
975
+ margin-block: 0;
976
+ margin-inline: var(--spacing-s);
977
+ }
978
+
979
+ .mx-table--responsive table td {
980
+ min-inline-size: 20ch;
981
+ }
982
+ }
983
+ }
984
+
985
+ /**
986
+ * Print Stylesheet
987
+ */
988
+
989
+ @media print {
990
+ .contextual {
991
+ display: none;
992
+ }
993
+
994
+ .mx-rich-text {
995
+ max-inline-size: 100%;
996
+ }
997
+ }
998
+
999
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UuY3NzIiwiQmFja2dyb3VuZC9fYmFja2dyb3VuZC5jc3MiLCJfYW5pbWF0ZWQuY3NzIiwiX2Jhc2UuY3NzIiwiX2dlbmVyaWMuY3NzIiwiX2Zsb3cuY3NzIiwiSGVhZGluZy9faGVhZGluZ3MuY3NzIiwiQmxvY2txdW90ZS9fYmxvY2txdW90ZS5jc3MiLCJfaHIuY3NzIiwiTGluay9fbGlua3MuY3NzIiwiVGV4dC9fdGV4dC1zaXplcy5jc3MiLCJUZXh0L190ZXh0LWFsaWduLmNzcyIsIlNwYWNpbmcvX21peGlucy5jc3MiLCJTcGFjaW5nL19zcGFjaW5nLmNzcyIsIkltYWdlL19pbWFnZS5jc3MiLCJNZWRpYS9fbWVkaWEuY3NzIiwiVmlkZW8vX3ZpZGVvLmNzcyIsIlRhYmxlL190YWJsZS5jc3MiLCJfcHJpbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhJQUE4STs7QUNBOUk7O0VBRUU7O0FBQ0Y7RUFDRTtJQUNFLDZEQUE2RDtJQUM3RCxrREFBa0Q7RUFDcEQ7O0VBRUE7SUFDRSxtREFBbUQ7SUFDbkQsc0NBQXNDO0lBQ3RDLHNDQUFzQztJQUN0QyxvQ0FBb0M7SUFDcEMsbUNBQW1DO0VBQ3JDOztFQUVBO0lBQ0UsMENBQTBDO0VBQzVDOztFQUVBO0lBQ0UsbUNBQW1DO0lBQ25DLDhDQUE4QztJQUM5QywyQ0FBMkM7SUFDM0MsMENBQTBDO0VBQzVDOztFQUVBO0lBQ0Usa0NBQWtDO0lBQ2xDLDhDQUE4QztJQUM5QywyQ0FBMkM7SUFDM0MseUNBQXlDO0VBQzNDO0lBR0U7TUFDRSxvQkFBaUI7U0FBakIsaUJBQWlCO01BQ2pCLGtCQUFrQjtNQUNsQixpQkFBaUI7TUFDakIsb0JBQW9CO01BQ3BCOztvQkFFcUM7TUFGckM7OzJDQUVxQztJQUN2Qzs7RUFHRjtJQUNFLDJDQUEyQztJQUMzQywwQ0FBMEM7SUFDMUMsOENBQThDO0lBQzlDLDhDQUE4QztFQU1oRDs7SUFKRTtNQUNFLHlCQUF5QjtNQUN6QixtQkFBbUI7SUFDckI7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O0VBQ25CO0FBQ0Y7O0FiaUNBOztFQUVFOztBQUVGOztFQUVFOztBY3JERjtFQUNFO0lBQ0UsaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixTQUFTO0VBaUJYOztJQWZFO01BQ0Usb0NBQW9DO01BQ3BDLGlCQUFpQjtJQUNuQjs7SUFFQTtNQUNFLDJCQUEyQjtNQUMzQjtnREFDMEM7TUFEMUM7Z0RBQzBDO01BQzFDLG1CQUFtQjtJQUNyQjs7SUFFQTtNQUNFLDBCQUEwQjtJQUM1QjtNQUtFO1FBQ0UsdUJBQXVCO01BQ3pCOztNQUVBO1FBQ0UscUJBQXFCO01BQ3ZCO0lBS0Y7TUFDRSw2QkFBNkI7TUFDN0IsaUNBQWlDO0lBQ25DO1FBTUk7VUFDRSw4Q0FBOEM7UUFDaEQ7O0VBS047SUFDRSxxQkFBcUI7RUFpQnZCOztJQWZFOztFQUhGO01BSUksa0JBQWtCO01BQ2xCLGlDQUFpQztNQUNqQyxtQ0FBbUM7RUFZdkM7O01BVkk7UUFDRSxpQkFBaUI7UUFDakIsZUFBZTtRQUNmLCtCQUErQjtNQUtqQzs7UUFIRTtVQUNFLHFCQUFxQjtRQUN2QjtJQUVKO0FBRUo7O0FkZEE7O0VBRUU7O0FlM0RGO0VBQ0U7SUFDRSxhQUFhO0VBQ2Y7O0VBRUE7SUFDRSxxQkFBcUI7RUFDdkI7QUFDRiIsImZpbGUiOiJiYXNlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBsYXllciBwb3BvdmVyLXBvbHlmaWxsLCBkZXNpZ24tc3lzdGVtLmRlZmF1bHRzLCBkZXNpZ24tc3lzdGVtLmF0b21zLCBkZXNpZ24tc3lzdGVtLmxheW91dHMsIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cywgZGVzaWduLXN5c3RlbS51dGlsaXRpZXM7XG5cbkBpbXBvcnQgXCIuL0JhY2tncm91bmQvX2JhY2tncm91bmQuY3NzXCI7XG5AaW1wb3J0IFwiX2FuaW1hdGVkLmNzc1wiO1xuQGltcG9ydCBcIl9iYXNlLmNzc1wiO1xuIiwiLyoqXG4gKiBCYWNrZ3JvdW5kc1xuICovXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIDp3aGVyZShbY2xhc3MqPVwibXgtYmFja2dyb3VuZC0tXCJdKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQpKTtcbiAgICBjb2xvcjogdmFyKC0tZm9yZWdyb3VuZCwgdmFyKC0tY29sb3VyLWZvcmVncm91bmQpKTtcbiAgfVxuXG4gIC5teC1iYWNrZ3JvdW5kLS1yZXNldCB7XG4gICAgLyogdXNlIHRvIHJldmVydCAuYmFja2dyb3VuZC0tcmV2ZXJzZSBvbiBjaGlsZHJlbiAqL1xuICAgIC0tYmFja2dyb3VuZDogdmFyKC0tY29sb3VyLWJhY2tncm91bmQpO1xuICAgIC0tZm9yZWdyb3VuZDogdmFyKC0tY29sb3VyLWZvcmVncm91bmQpO1xuICAgIC0tbGluay1jb2xvdXI6IHZhcigtLWNvbG91ci1wcmltYXJ5KTtcbiAgICAtLWxpbmUtY29sb3VyOiB2YXIoLS1jb2xvdXItYm9yZGVyKTtcbiAgfVxuXG4gIC5teC1iYWNrZ3JvdW5kLS1hbHQge1xuICAgIC0tYmFja2dyb3VuZDogdmFyKC0tY29sb3VyLWJhY2tncm91bmQtYWx0KTtcbiAgfVxuXG4gIC5teC1iYWNrZ3JvdW5kLS1wcmltYXJ5IHtcbiAgICAtLWJhY2tncm91bmQ6IHZhcigtLWNvbG91ci1wcmltYXJ5KTtcbiAgICAtLWZvcmVncm91bmQ6IHZhcigtLWNvbG91ci1mb3JlZ3JvdW5kLXJldmVyc2UpO1xuICAgIC0tbGluZS1jb2xvdXI6IHZhcigtLWNvbG91ci1ib3JkZXItcmV2ZXJzZSk7XG4gICAgLS1saW5rLWNvbG91cjogdmFyKC0tY29sb3VyLXByaW1hcnktbGlnaHQpO1xuICB9XG5cbiAgLm14LWJhY2tncm91bmQtLWFjY2VudCB7XG4gICAgLS1iYWNrZ3JvdW5kOiB2YXIoLS1jb2xvdXItYWNjZW50KTtcbiAgICAtLWZvcmVncm91bmQ6IHZhcigtLWNvbG91ci1mb3JlZ3JvdW5kLXJldmVyc2UpO1xuICAgIC0tbGluZS1jb2xvdXI6IHZhcigtLWNvbG91ci1ib3JkZXItcmV2ZXJzZSk7XG4gICAgLS1saW5rLWNvbG91cjogdmFyKC0tY29sb3VyLWFjY2VudC1saWdodCk7XG4gIH1cblxuICAubXgtYmFja2dyb3VuZC0taW1hZ2Uge1xuICAgICYgPiBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgIG1pbi1ibG9jay1zaXplOiAxMDAlO1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKHZhcigtLWJnLWltZy1icmlnaHRuZXNzLCAxKSlcbiAgICAgICAgc2F0dXJhdGUodmFyKC0tYmctaW1nLXNhdHVyYXRlLCAxLjI1KSlcbiAgICAgICAgb3BhY2l0eSh2YXIoLS1iZy1pbWctb3BhY2l0eSwgMC41KSk7XG4gICAgfVxuICB9XG5cbiAgLm14LWJhY2tncm91bmQtLXJldmVyc2Uge1xuICAgIC0tbGluZS1jb2xvdXI6IHZhcigtLWNvbG91ci1ib3JkZXItcmV2ZXJzZSk7XG4gICAgLS1saW5rLWNvbG91cjogdmFyKC0tY29sb3VyLXByaW1hcnktbGlnaHQpO1xuICAgIC0tYmFja2dyb3VuZDogdmFyKC0tY29sb3VyLWJhY2tncm91bmQtcmV2ZXJzZSk7XG4gICAgLS1mb3JlZ3JvdW5kOiB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZC1yZXZlcnNlKTtcblxuICAgICYgLm14LWJhY2tncm91bmQtLWltYWdlIHtcbiAgICAgIC0tYmctaW1nLWJyaWdodG5lc3M6IDAuNDU7XG4gICAgICAtLWJnLWltZy1vcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiQGxheWVyIGRlc2lnbi1zeXN0ZW0udXRpbGl0aWVzIHtcbiAgLm14LWFuaW1hdGVkLS1mYWRlLWluIHtcbiAgICBhbmltYXRpb246IGZhZGUtaW4gMC41cyB2YXIoLS1lYXNlKTtcbiAgfVxuXG4gIC5teC1hbmltYXRlZC0tZmFkZS1vdXQge1xuICAgIGFuaW1hdGlvbjogZmFkZS1vdXQgMC41cyB2YXIoLS1lYXNlKTtcbiAgfVxuXG4gIC5teC1hbmltYXRlZC0tc3Bpbjo6YmVmb3JlIHtcbiAgICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xuICB9XG5cbiAgLm14LWFuaW1hdGVkLS1zY2FsZS11cCB7XG4gICAgYW5pbWF0aW9uOiBzY2FsZS11cCAwLjVzIHZhcigtLWVhc2UpO1xuICB9XG5cbiAgLm14LWFuaW1hdGVkLS1zY2FsZS1kb3duIHtcbiAgICBhbmltYXRpb246IHNjYWxlLWRvd24gMC41cyB2YXIoLS1lYXNlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtaW4ge1xuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNjYWxlLXVwIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzY2FsZS1kb3duIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gIH1cbn1cblxuQG1lZGlhICgtLXJlZHVjZS1tb3Rpb24pIHtcbiAgKixcbiAgOjpiZWZvcmUsXG4gIDo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLyoqXG4gKiBBdG9tXG4gKi9cblxuQGltcG9ydCBcIl9nZW5lcmljLmNzc1wiO1xuQGltcG9ydCBcIl9mbG93LmNzc1wiO1xuXG4vKipcbiAqIFR5cG9ncmFwaHlcbiAqL1xuXG5AaW1wb3J0IFwiLi9IZWFkaW5nL19oZWFkaW5ncy5jc3NcIjtcbkBpbXBvcnQgXCIuL0Jsb2NrcXVvdGUvX2Jsb2NrcXVvdGUuY3NzXCI7XG5AaW1wb3J0IFwiX2hyLmNzc1wiO1xuXG4vKipcbiAqIExpbmtzXG4gKi9cblxuQGltcG9ydCBcIi4vTGluay9fbGlua3MuY3NzXCI7XG5cbi8qKlxuICogVGV4dCBTaXplc1xuICovXG5cbkBpbXBvcnQgXCIuL1RleHQvX3RleHQtc2l6ZXMuY3NzXCI7XG5AaW1wb3J0IFwiLi9UZXh0L190ZXh0LWFsaWduLmNzc1wiO1xuXG4vKipcbiAqIFNwYWNpbmdcbiAqL1xuXG5AaW1wb3J0IFwiLi9TcGFjaW5nL19zcGFjaW5nLmNzc1wiO1xuXG4vKipcbiAqIEltYWdlc1xuICovXG5cbkBpbXBvcnQgXCIuL0ltYWdlL19pbWFnZS5jc3NcIjtcbkBpbXBvcnQgXCIuL01lZGlhL19tZWRpYS5jc3NcIjtcblxuLyoqXG4gKiBWaWRlb1xuICovXG5cbkBpbXBvcnQgXCIuL1ZpZGVvL192aWRlby5jc3NcIjtcblxuLyoqXG4gKiBUYWJsZVxuICovXG5cbi8qKlxuICogVGFibGUgUmVzcG9uc2l2ZVxuICovXG5cbkBpbXBvcnQgXCIuL1RhYmxlL190YWJsZS5jc3NcIjtcblxuLyoqXG4gKiBQcmludCBTdHlsZXNoZWV0XG4gKi9cblxuQGltcG9ydCBcIl9wcmludC5jc3NcIjtcbiIsIkBsYXllciBkZXNpZ24tc3lzdGVtLmRlZmF1bHRzIHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgKiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgOmZvY3VzIHtcbiAgICBzY3JvbGwtcGFkZGluZy1ibG9jay1lbmQ6IDR2aDtcbiAgfVxuXG4gIDpmb2N1cy12aXNpYmxlIHtcbiAgICAtLW91dGxpbmUtc2l6ZTogbWF4KDJweCwgMC4xNWVtKTtcblxuICAgIG91dGxpbmU6IHZhcigtLW91dGxpbmUtd2lkdGgsIHZhcigtLW91dGxpbmUtc2l6ZSkpXG4gICAgICB2YXIoLS1vdXRsaW5lLXN0eWxlLCBzb2xpZCkgdmFyKC0tb3V0bGluZS1jb2xvciwgY3VycmVudGNvbG9yKTtcbiAgICBvdXRsaW5lLW9mZnNldDogdmFyKC0tb3V0bGluZS1vZmZzZXQsIHZhcigtLW91dGxpbmUtc2l6ZSkpO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYmxvY2stc2l6ZTogMTAwJTtcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDE2cHggaW4gbW9zdCBicm93c2VycyAqL1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgfVxuXG4gIC50cmFuc2xhdGVkLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cblxuICBib2R5IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG91ci1mb3JlZ3JvdW5kKTtcbiAgICBhY2NlbnQtY29sb3I6IHZhcigtLWNvbG91ci1wcmltYXJ5KTtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVzcGVlZDtcbiAgICBibG9jay1zaXplOiAxMDAlO1xuICB9XG5cbiAgOnRhcmdldCxcbiAgW2lkXSxcbiAgLmhhcy1zY3JvbGwtbWFyZ2luIHtcbiAgICBzY3JvbGwtbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgICAgdmFyKC0tc3RpY2t5LW9mZnNldCwgMHJlbSkgKyB2YXIoLS1zY3JvbGwtbWFyZ2luLCB2YXIoLS1zcGFjaW5nLW0pKVxuICAgICk7XG4gIH1cblxuICA6aXMoYiwgc3Ryb25nKSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG5cbiAgYTp3aGVyZShbaHJlZl0pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiBtYXgoMC4wOGVtLCAxcHgpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bztcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTVlbTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IG1heCgwLjA5ZW0sIDJweCk7XG4gICAgfVxuICB9XG5cbiAgOmlzKG9sLCB1bCkge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zcGFjaW5nLW0pO1xuXG4gICAgJltyb2xlPVwibGlzdFwiXSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgZGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNpbmcteHMpO1xuXG4gICAgJiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgfVxufVxuIiwiQGxheWVyIGRlc2lnbi1zeXN0ZW0udXRpbGl0aWVzIHtcbiAgLm14LXZlcnRpY2FsLWZsb3cge1xuICAgIC8qIERlZmF1bHQgdmVydGljYWwgZmxvdy4gKi9cblxuICAgICYgPiA6d2hlcmUoOm5vdCg6Zmlyc3QtY2hpbGQpKSB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWZsb3ctZ2FwLCB2YXIoLS1nYXApKTtcbiAgICB9XG5cbiAgICAmID4gLm14LXZlcnRpY2FsLWZsb3dfX2NvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICB9XG5cbiAgICAvKiBSaWNoIHRleHQgdmVydGljYWwgZmxvdyBpcyBlbmhhbmNlZCAqL1xuICAgICYubXgtcmljaC10ZXh0ID4gLm14LXRleHQtLWxlZGUge1xuICAgICAgLS1mbG93LWdhcDogdmFyKC0tZ2FwLXhsKTtcbiAgICB9XG4gIH1cblxuICAubXgtdmVydGljYWwtZmxvdy1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1mbG93LWdhcCwgdmFyKC0tZ2FwKSk7XG5cbiAgICAmID4gKiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJjppcyh1bCwgb2wpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB1bnNldDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm14LWhvcml6b250YWwtZmxvdy1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLWZsb3ctZ2FwLCB2YXIoLS1nYXApKTtcblxuICAgICYgPiAqIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmOmlzKHVsLCBvbCkge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHVuc2V0O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBsYXllciBkZXNpZ24tc3lzdGVtLmRlZmF1bHRzIHtcbiAgOmlzKFxuICAgICAgLm14LWhlYWRsaW5lLFxuICAgICAgaDEsXG4gICAgICAubXgtaGVhZGluZy0teHhsLFxuICAgICAgaDIsXG4gICAgICAubXgtaGVhZGluZy0teGwsXG4gICAgICBoMyxcbiAgICAgIC5teC1oZWFkaW5nLS1sLFxuICAgICAgaDQsXG4gICAgICAubXgtaGVhZGluZy0tbSxcbiAgICAgIGg1LFxuICAgICAgLm14LWhlYWRpbmctLXMsXG4gICAgICBoNixcbiAgICAgIC5teC1oZWFkaW5nLS14c1xuICAgICkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkaW5nLWZvbnQtZmFtaWx5LCB2YXIoLS1mb250LWZhbWlseSkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oKTtcbiAgICBmb250LXNpemU6IHZhcigtLWhlYWRpbmctZm9udC1zaXplLCB2YXIoLS1mb250LXNpemUpKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0taGVhZGluZy1mb250LXdlaWdodCwgdmFyKC0tZm9udC13ZWlnaHQtYm9sZCkpO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgfVxuXG4gIEBzdXBwb3J0cyAoZm9udC1zaXplOiAxY3FpKSB7XG4gICAgOmlzKFxuICAgICAgICAubXgtaGVhZGxpbmUsXG4gICAgICAgIGgxLFxuICAgICAgICAubXgtaGVhZGluZy0teHhsLFxuICAgICAgICBoMixcbiAgICAgICAgLm14LWhlYWRpbmctLXhsLFxuICAgICAgICBoMyxcbiAgICAgICAgLm14LWhlYWRpbmctLWwsXG4gICAgICAgIGg0LFxuICAgICAgICAubXgtaGVhZGluZy0tbSxcbiAgICAgICAgaDUsXG4gICAgICAgIC5teC1oZWFkaW5nLS1zXG4gICAgICApIHtcbiAgICAgIC0tZm9udC1taW46IGNhbGMoXG4gICAgICAgIHZhcigtLWhlYWRpbmctZm9udC1zaXplKSAtIHZhcigtLWhlYWRpbmctZm9udC1zaXplKSAqXG4gICAgICAgICAgdmFyKC0tZm9udC1zaXplLWRpZmYsIDAuMylcbiAgICAgICk7XG5cbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoXG4gICAgICAgIG1heCh2YXIoLS1iYXNlLWZvbnQtc2l6ZSksIHZhcigtLWZvbnQtbWluKSksXG4gICAgICAgIHZhcigtLWZvbnQtbWluKSArIDFjcWksXG4gICAgICAgIHZhcigtLWhlYWRpbmctZm9udC1zaXplKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAubXgtaGVhZGxpbmUge1xuICAgIC0taGVhZGluZy1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14eHhsKTtcbiAgfVxuXG4gIGgxLFxuICAubXgtaGVhZGluZy0teHhsIHtcbiAgICAtLWhlYWRpbmctZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHhsKTtcbiAgfVxuXG4gIGgyLFxuICAubXgtaGVhZGluZy0teGwge1xuICAgIC0taGVhZGluZy1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gIH1cblxuICBoMyxcbiAgLm14LWhlYWRpbmctLWwge1xuICAgIC0taGVhZGluZy1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgfVxuXG4gIGg0LFxuICAubXgtaGVhZGluZy0tbSB7XG4gICAgLS1oZWFkaW5nLWZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICB9XG5cbiAgaDUsXG4gIC5teC1oZWFkaW5nLS1zIHtcbiAgICAtLWhlYWRpbmctZm9udC1zaXplOiB2YXIoLS1iYXNlLWZvbnQtc2l6ZSk7XG4gIH1cblxuICBoNixcbiAgLm14LWhlYWRpbmctLXhzIHtcbiAgICAtLWhlYWRpbmctZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gIH1cbn1cbiIsIkBsYXllciBkZXNpZ24tc3lzdGVtLmRlZmF1bHRzIHtcbiAgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWxpbmUtZ2FwLCB2YXIoLS1nYXApKTtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiB2YXIoLS1saW5lLXdpZHRoLCA2cHgpIHNvbGlkXG4gICAgICB2YXIoLS1saW5lLWNvbG91ciwgdmFyKC0tY29sb3VyLWJvcmRlcikpO1xuICB9XG59XG4iLCJAbGF5ZXIgZGVzaWduLXN5c3RlbS5kZWZhdWx0cyB7XG4gIGhyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBibG9jay1zaXplOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYmxvY2stc3RhcnQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG4gICAgbWFyZ2luLWJsb2NrOiB2YXIoLS1saW5lLWdhcCwgdmFyKC0tc3BhY2luZy1tKSk7XG4gIH1cbn1cbiIsIkBsYXllciBkZXNpZ24tc3lzdGVtLmRlZmF1bHRzIHtcbiAgOmlzKC5teC1saW5rLCAubXgtbGluay0tbW9yZSwgLm14LWxpbmstLWV4dGVybmFsKSxcbiAgLm14LXJpY2gtdGV4dCBhOndoZXJlKFtocmVmXTpub3QoW2NsYXNzXSkpIHtcbiAgICBjb2xvcjogdmFyKC0tbGluay1jb2xvdXIsIHZhcigtLWNvbG91ci1wcmltYXJ5KSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyB2YXIoLS1lYXNlKTtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lLW9mZnNldDogdmFyKC0tc3BhY2luZy14eHhzKTtcbiAgICB9XG4gIH1cblxuICAubXgtbGluay0tZXh0ZXJuYWwge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1zcGFjaW5nLXh4eHMpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy14eHhzKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hc2staW1hZ2U6IHN2Zy1sb2FkKFwiLi4vaW1hZ2VzL2V4dGVybmFsLWxpbmsuc3ZnXCIpO1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgYmxvY2stc2l6ZTogdmFyKC0tc3BhY2luZy1zKTtcbiAgICAgIGlubGluZS1zaXplOiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgdmFyKC0tZWFzZSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5teC1saW5rLS1tb3JlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cbiAgICAmIC5teC1pY29uIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIHZhcigtLWVhc2UpO1xuICAgIH1cblxuICAgICY6aG92ZXIgLmljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG4gICAgfVxuICB9XG5cbiAgLm14LWxpbmstLWRvd25sb2FkIHtcbiAgICAmIC5teC1pY29uIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIHZhcigtLWVhc2UpO1xuICAgIH1cblxuICAgICY6aG92ZXIgLm14LWljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG4gICAgfVxuICB9XG5cbiAgYTp3aGVyZShbaHJlZl0pOmhhcygubXgtaWNvbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXh4cyk7XG4gIH1cbn1cbiIsIkBsYXllciBkZXNpZ24tc3lzdGVtLmF0b21zIHtcbiAgOmlzKFxuICAgICAgLm14LXRleHQtLXNlY3Rpb24taGVhZGxpbmUsXG4gICAgICAubXgtdGV4dC0tZW1iZWxsaXNoZWQtaGVhZGxpbmUsXG4gICAgICAubXgtdGV4dC0tbGVkZSxcbiAgICAgIC5teC10ZXh0LS14cyxcbiAgICAgIC5teC10ZXh0LS1zLFxuICAgICAgLm14LXRleHQtLW0sXG4gICAgICAubXgtdGV4dC0tbCxcbiAgICAgIC5teC10ZXh0LS14bCxcbiAgICAgIC5teC10ZXh0LS14eGwsXG4gICAgICAubXgtdGV4dC0teHh4bCxcbiAgICAgIC5teC10ZXh0LS1mbHVpZFxuICAgICkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgfVxuXG4gIEBzdXBwb3J0cyAoZm9udC1zaXplOiAxY3FpKSB7XG4gICAgOmlzKFxuICAgICAgICAubXgtdGV4dC0tc2VjdGlvbi1oZWFkbGluZSxcbiAgICAgICAgLm14LXRleHQtLWxlZGUsXG4gICAgICAgIC5teC10ZXh0LS1tLFxuICAgICAgICAubXgtdGV4dC0tbCxcbiAgICAgICAgLm14LXRleHQtLXhsLFxuICAgICAgICAubXgtdGV4dC0teHhsLFxuICAgICAgICAubXgtdGV4dC0teHh4bCxcbiAgICAgICAgLm14LXRleHQtLWZsdWlkXG4gICAgICApIHtcbiAgICAgIC0tZm9udC1taW46IGNhbGMoXG4gICAgICAgIHZhcigtLWZvbnQtc2l6ZSkgLSB2YXIoLS1mb250LXNpemUpICogdmFyKC0tZm9udC1zaXplLWRpZmYsIDAuMylcbiAgICAgICk7XG5cbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoXG4gICAgICAgIG1heCh2YXIoLS1iYXNlLWZvbnQtc2l6ZSksIHZhcigtLWZvbnQtbWluKSksXG4gICAgICAgIHZhcigtLWZvbnQtbWluKSArIDFjcWksXG4gICAgICAgIHZhcigtLWZvbnQtc2l6ZSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLm14LXRleHQtLXNlY3Rpb24taGVhZGxpbmUge1xuICAgIC0tZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG5cbiAgICBmb250LXdlaWdodDogdmFyKC0taGVhZGluZy1mb250LXdlaWdodCwgdmFyKC0tZm9udC13ZWlnaHQtYm9sZCkpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkaW5nLWZvbnQtZmFtaWx5LCB2YXIoLS1mb250LWZhbWlseSkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oKTtcbiAgICBjb2xvcjogdmFyKC0tZm9yZWdyb3VuZCwgdmFyKC0tY29sb3VyLWZvcmVncm91bmQtYWx0KSk7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcblxuICAgICYgKyA6aXMoaDIsIGgzKSB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXNwYWNpbmcteHh4eHMpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLm14LXRleHQtLWVtYmVsbGlzaGVkLWhlYWRsaW5lIHtcbiAgICAtLWZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRpbmctZm9udC13ZWlnaHQsIHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0taGVhZGluZy1mb250LWZhbWlseSwgdmFyKC0tZm9udC1mYW1pbHkpKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaCk7XG4gICAgbWFyZ2luLWJsb2NrOiAwIHZhcigtLXNwYWNpbmctbCk7XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5saW5lLXNpemU6IHZhcigtLXNwYWNpbmcteHh4bCk7XG4gICAgICBibG9jay1zaXplOiAzcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvdXItcHJpbWFyeSk7XG4gICAgICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0tZ2FwKTtcbiAgICB9XG4gIH1cblxuICAubXgtdGV4dC0tbGVkZSB7XG4gICAgLS1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gIH1cblxuICAubXgtdGV4dC0teHh4bCB7XG4gICAgLS1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14eHhsKTtcblxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oKTtcbiAgfVxuXG4gIC5teC10ZXh0LS14eGwge1xuICAgIC0tZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHhsKTtcblxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oKTtcbiAgfVxuXG4gIC5teC10ZXh0LS14bCB7XG4gICAgLS1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG5cbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaCk7XG4gIH1cblxuICAubXgtdGV4dC0tbCB7XG4gICAgLS1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcblxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oKTtcbiAgfVxuXG4gIC5teC10ZXh0LS1tIHtcbiAgICAtLWZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICB9XG5cbiAgLm14LXRleHQtLXMge1xuICAgIC0tZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gIH1cblxuICAubXgtdGV4dC0teHMge1xuICAgIC0tZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICB9XG59XG4iLCJAbGF5ZXIgZGVzaWduLXN5c3RlbS51dGlsaXRpZXMge1xuICAubXgtdGV4dC0tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIH1cblxuICAubXgtdGV4dC0tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IGVuZDtcbiAgfVxuXG4gIC5teC10ZXh0LS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgY3VzdG9tLXByb3BlcnR5LXBhdHRlcm4gKi9cbkBkZWZpbmUtbWl4aW4gc3BhY2luZyAkc2l6ZSB7XG4gIC5teC1zcGFjaW5nLS0kKHNpemUpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLSQoc2l6ZSkpO1xuICB9XG5cbiAgLm14LXNwYWNpbmctLXRvcC0kKHNpemUpIHtcbiAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1zcGFjaW5nLSQoc2l6ZSkpO1xuICB9XG5cbiAgLm14LXNwYWNpbmctLWJvdHRvbS0kKHNpemUpIHtcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tc3BhY2luZy0kKHNpemUpKTtcbiAgfVxuXG4gIC5teC1zcGFjaW5nLS1sZWZ0LSQoc2l6ZSkge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zcGFjaW5nLSQoc2l6ZSkpO1xuICB9XG5cbiAgLm14LXNwYWNpbmctLXJpZ2h0LSQoc2l6ZSkge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc3BhY2luZy0kKHNpemUpKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vX21peGlucy5jc3NcIjtcblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0udXRpbGl0aWVzIHtcbiAgLm14LXNwYWNpbmctLXJlc2V0IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtc3BhY2luZy0tdG9wLXJlc2V0IHtcbiAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtc3BhY2luZy0tYm90dG9tLXJlc2V0IHtcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LXNwYWNpbmctLWxlZnQtcmVzZXQge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtc3BhY2luZy0tcmlnaHQtcmVzZXQge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgQG1peGluIHNwYWNpbmcgeHhzO1xuICBAbWl4aW4gc3BhY2luZyB4cztcbiAgQG1peGluIHNwYWNpbmcgcztcbiAgQG1peGluIHNwYWNpbmcgbTtcbiAgQG1peGluIHNwYWNpbmcgbDtcbiAgQG1peGluIHNwYWNpbmcgeGw7XG4gIEBtaXhpbiBzcGFjaW5nIHh4bDtcbiAgQG1peGluIHNwYWNpbmcgeHh4bDtcbiAgQG1peGluIHNwYWNpbmcgeHh4eGw7XG4gIEBtaXhpbiBzcGFjaW5nIHVsO1xuICBAbWl4aW4gc3BhY2luZyB1dWw7XG4gIEBtaXhpbiBzcGFjaW5nIHV1dWw7XG59XG4iLCJAbGF5ZXIgZGVzaWduLXN5c3RlbS5kZWZhdWx0cyB7XG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1heC1pbmxpbmUtc2l6ZTogMTAwJTtcblxuICAgICYgaW1nIHtcbiAgICAgIGlubGluZS1zaXplOiAxMDAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cbiAgfVxuXG4gIGZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tY2FwdGlvbi1mb250LXNpemUsIHZhcigtLWZvbnQtc2l6ZS14cykpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jYXB0aW9uLWxpbmUtaGVpZ2h0LCB2YXIoLS1saW5lLWhlaWdodC1oKSk7XG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gICAgZGlzcGxheTogdGFibGUtY2FwdGlvbjtcbiAgfVxuXG4gIGltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIG1heC1pbmxpbmUtc2l6ZTogMTAwJTtcbiAgICBibG9jay1zaXplOiBhdXRvO1xuICB9XG5cbiAgc3ZnOm5vdChbZmlsbF0pIHtcbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gIH1cbn1cbiIsIkBsYXllciBkZXNpZ24tc3lzdGVtLmF0b21zIHtcbiAgOmlzKC5teC1tZWRpYS0tbGVmdCwgLm14LW1lZGlhLS1yaWdodCwgLm14LW1lZGlhLS1jZW50ZXIpIHtcbiAgICBAbWVkaWEgKC0tc21hbGwtdXApIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgbWF4LWlubGluZS1zaXplOiA1MCU7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zcGFjaW5nLXMpO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuXG4gICAgICAgICYgKyAqIHtcbiAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIGZpZ2NhcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuICAgICAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubXgtbWVkaWEtLWNlbnRlciB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuXG4gIDppcyhcbiAgICAgIC5teC1tZWRpYS0tbGVmdCxcbiAgICAgIFtkaXI9XCJydGxcIl0gLm14LW1lZGlhLS1yaWdodCxcbiAgICAgIC50cmFuc2xhdGVkLXJ0bCAubXgtbWVkaWEtLXJpZ2h0XG4gICAgKSB7XG4gICAgQG1lZGlhICgtLXNtYWxsLXVwKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IDAgdmFyKC0tc3BhY2luZy1tKTtcbiAgICB9XG4gIH1cblxuICA6aXMoXG4gICAgICAubXgtbWVkaWEtLXJpZ2h0LFxuICAgICAgW2Rpcj1cInJ0bFwiXSAubXgtbWVkaWEtLWxlZnQsXG4gICAgICAudHJhbnNsYXRlZC1ydGwgLm14LW1lZGlhLS1sZWZ0XG4gICAgKSB7XG4gICAgQG1lZGlhICgtLXNtYWxsLXVwKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4taW5saW5lOiB2YXIoLS1zcGFjaW5nLW0pIDA7XG4gICAgfVxuICB9XG59XG4iLCJAbGF5ZXIgZGVzaWduLXN5c3RlbS5kZWZhdWx0cyB7XG4gIC5teC12aWRlbyB7XG4gICAgJixcbiAgICAmIDppcyhlbWJlZCwgb2JqZWN0LCBpZnJhbWUpIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgICAgYmxvY2stc2l6ZTogMTAwJTtcbiAgICAgIGlubGluZS1zaXplOiAxMDAlO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5teC1tZWRpYS0tdmlkZW8ge1xuICAgIGlubGluZS1zaXplOiAxMDAlO1xuICB9XG59XG4iLCJAbGF5ZXIgZGVzaWduLXN5c3RlbS5kZWZhdWx0cyB7XG4gIHRhYmxlIHtcbiAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIG1hcmdpbjogMDtcblxuICAgICYgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgfVxuXG4gICAgJiA6aXModGQsIHRoKSB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXh4cyk7XG4gICAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1saW5lLXdpZHRoLCAxcHgpIHNvbGlkXG4gICAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgICYgdGhlYWQgOmlzKHRkLCB0aCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm14LXRhYmxlLS1mbHVzaCB7XG4gICAgJiA6aXModGQsIHRoKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubXgtdGFibGUtLXNtYWxsIHtcbiAgICAmIDppcyh0ZCwgdGgpIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWgpO1xuICAgIH1cbiAgfVxuXG4gIC5teC10YWJsZS0tc3RyaXBlZCB7XG4gICAgJiB0Ym9keSB0ciB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICYgOmlzKHRkLCB0aCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG91ci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubXgtdGFibGUtLXJlc3BvbnNpdmUge1xuICAgIG1heC1pbmxpbmUtc2l6ZTogMTAwJTtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tZG93bikge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tYm94LXNoYWRvdykgaW5zZXQ7XG5cbiAgICAgICYgdGFibGUge1xuICAgICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lOiB2YXIoLS1zcGFjaW5nLXMpO1xuXG4gICAgICAgICYgdGQge1xuICAgICAgICAgIG1pbi1pbmxpbmUtc2l6ZTogMjBjaDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1lZGlhIHByaW50IHtcbiAgLmNvbnRleHR1YWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubXgtcmljaC10ZXh0IHtcbiAgICBtYXgtaW5saW5lLXNpemU6IDEwMCU7XG4gIH1cbn1cbiJdfQ== */