@ultraviolet/ui 1.51.2 → 1.51.3

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 (127) hide show
  1. package/dist/components/ActionBar/index.js +16 -26
  2. package/dist/components/Alert/index.js +77 -88
  3. package/dist/components/Avatar/index.js +29 -26
  4. package/dist/components/Badge/index.js +36 -52
  5. package/dist/components/Banner/index.js +64 -139
  6. package/dist/components/BarChart/Tooltip.js +23 -18
  7. package/dist/components/BarChart/index.js +29 -42
  8. package/dist/components/BarStack/index.js +89 -163
  9. package/dist/components/Breadcrumbs/index.js +30 -33
  10. package/dist/components/Bullet/index.js +24 -28
  11. package/dist/components/Button/index.js +117 -159
  12. package/dist/components/Card/index.js +45 -52
  13. package/dist/components/Carousel/index.js +75 -99
  14. package/dist/components/Checkbox/index.js +246 -343
  15. package/dist/components/CheckboxGroup/index.js +60 -56
  16. package/dist/components/CopyButton/index.js +1 -15
  17. package/dist/components/DateInput/index.js +124 -243
  18. package/dist/components/Dialog/Context.js +1 -3
  19. package/dist/components/Dialog/index.js +22 -43
  20. package/dist/components/Dialog/subComponents/Button.js +1 -10
  21. package/dist/components/Dialog/subComponents/Stack.js +3 -1
  22. package/dist/components/Dialog/subComponents/Text.js +3 -1
  23. package/dist/components/EmptyState/index.js +58 -50
  24. package/dist/components/Expandable/index.js +19 -23
  25. package/dist/components/GlobalAlert/GlobalAlertLink.js +4 -20
  26. package/dist/components/GlobalAlert/index.js +34 -87
  27. package/dist/components/LineChart/CustomLegend.js +76 -72
  28. package/dist/components/LineChart/Tooltip.js +26 -37
  29. package/dist/components/LineChart/helpers.js +11 -9
  30. package/dist/components/LineChart/index.js +38 -55
  31. package/dist/components/Link/index.js +86 -125
  32. package/dist/components/List/Body.js +12 -7
  33. package/dist/components/List/Cell.js +36 -33
  34. package/dist/components/List/HeaderCell.js +54 -68
  35. package/dist/components/List/HeaderRow.js +16 -18
  36. package/dist/components/List/ListContext.js +68 -87
  37. package/dist/components/List/Row.js +136 -169
  38. package/dist/components/List/SelectBar.js +31 -14
  39. package/dist/components/List/SkeletonRows.js +42 -23
  40. package/dist/components/List/index.js +39 -59
  41. package/dist/components/Loader/index.js +44 -65
  42. package/dist/components/Menu/Item.js +52 -62
  43. package/dist/components/Menu/index.js +105 -171
  44. package/dist/components/MenuV2/Group.js +14 -16
  45. package/dist/components/MenuV2/Item.js +67 -74
  46. package/dist/components/MenuV2/index.js +76 -110
  47. package/dist/components/Meter/index.js +44 -57
  48. package/dist/components/Modal/Dialog.js +44 -100
  49. package/dist/components/Modal/index.js +23 -58
  50. package/dist/components/Notice/index.js +13 -29
  51. package/dist/components/Notification/index.js +9 -48
  52. package/dist/components/NumberInput/index.js +113 -200
  53. package/dist/components/NumberInputV2/index.js +200 -349
  54. package/dist/components/Pagination/getPageNumbers.js +3 -1
  55. package/dist/components/Pagination/index.js +45 -81
  56. package/dist/components/PasswordCheck/index.js +10 -15
  57. package/dist/components/PasswordStrengthMeter/index.js +66 -68
  58. package/dist/components/PieChart/Legends.js +121 -99
  59. package/dist/components/PieChart/Tooltip.js +35 -15
  60. package/dist/components/PieChart/index.js +68 -87
  61. package/dist/components/Popover/index.js +57 -106
  62. package/dist/components/Popup/helpers.js +24 -12
  63. package/dist/components/Popup/index.js +263 -351
  64. package/dist/components/ProgressBar/index.js +33 -51
  65. package/dist/components/Radio/index.js +119 -188
  66. package/dist/components/RadioGroup/index.js +46 -51
  67. package/dist/components/Row/index.js +11 -20
  68. package/dist/components/SelectInput/index.js +165 -212
  69. package/dist/components/SelectInputV2/Dropdown.js +233 -473
  70. package/dist/components/SelectInputV2/DropdownOption.js +44 -115
  71. package/dist/components/SelectInputV2/SearchBarDropdown.js +28 -44
  72. package/dist/components/SelectInputV2/SelectBar.js +137 -240
  73. package/dist/components/SelectInputV2/SelectInputProvider.js +45 -77
  74. package/dist/components/SelectInputV2/index.js +39 -98
  75. package/dist/components/SelectableCard/index.js +127 -183
  76. package/dist/components/SelectableCardGroup/index.js +50 -55
  77. package/dist/components/Separator/index.js +44 -64
  78. package/dist/components/Skeleton/Block.js +28 -20
  79. package/dist/components/Skeleton/Blocks.js +26 -16
  80. package/dist/components/Skeleton/BoxWithIcon.js +24 -17
  81. package/dist/components/Skeleton/Donut.js +46 -21
  82. package/dist/components/Skeleton/IconSkeleton.js +19 -9
  83. package/dist/components/Skeleton/Line.js +11 -8
  84. package/dist/components/Skeleton/List.js +48 -21
  85. package/dist/components/Skeleton/Slider.js +36 -22
  86. package/dist/components/Skeleton/Square.js +9 -7
  87. package/dist/components/Skeleton/index.js +38 -45
  88. package/dist/components/Snippet/index.js +139 -128
  89. package/dist/components/Stack/index.js +10 -17
  90. package/dist/components/Status/index.js +42 -27
  91. package/dist/components/StepList/index.js +34 -45
  92. package/dist/components/Stepper/index.js +106 -114
  93. package/dist/components/SwitchButton/FocusOverlay.js +18 -27
  94. package/dist/components/SwitchButton/index.js +39 -103
  95. package/dist/components/Table/Body.js +3 -1
  96. package/dist/components/Table/Cell.js +15 -6
  97. package/dist/components/Table/Header.js +12 -5
  98. package/dist/components/Table/HeaderCell.js +48 -91
  99. package/dist/components/Table/HeaderRow.js +11 -13
  100. package/dist/components/Table/Row.js +39 -44
  101. package/dist/components/Table/SelectBar.js +31 -14
  102. package/dist/components/Table/SkeletonRows.js +43 -11
  103. package/dist/components/Table/TableContext.js +29 -44
  104. package/dist/components/Table/index.js +37 -51
  105. package/dist/components/Tabs/Tab.js +108 -158
  106. package/dist/components/Tabs/TabMenu.js +52 -53
  107. package/dist/components/Tabs/TabMenuItem.js +19 -24
  108. package/dist/components/Tabs/TabsContext.js +1 -3
  109. package/dist/components/Tabs/index.js +44 -79
  110. package/dist/components/Tag/index.js +66 -75
  111. package/dist/components/TagInput/index.js +125 -188
  112. package/dist/components/TagList/index.js +51 -56
  113. package/dist/components/Text/index.js +10 -35
  114. package/dist/components/TextArea/index.js +140 -208
  115. package/dist/components/TextInput/index.js +326 -411
  116. package/dist/components/TextInputV2/index.js +170 -294
  117. package/dist/components/TimeInput/index.js +3 -174
  118. package/dist/components/Toaster/index.js +26 -74
  119. package/dist/components/Toggle/index.js +112 -172
  120. package/dist/components/ToggleGroup/index.js +44 -35
  121. package/dist/components/Tooltip/index.js +34 -41
  122. package/dist/components/VerificationCode/index.js +58 -63
  123. package/dist/helpers/legend.js +4 -4
  124. package/dist/theme/index.js +10 -13
  125. package/dist/utils/ids.js +3 -1
  126. package/dist/utils/responsive/Breakpoint.js +8 -6
  127. package/package.json +4 -4
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
+ import _styled from "@emotion/styled/base";
2
3
  import { css } from "@emotion/react";
3
- import styled from "@emotion/styled";
4
4
  import randomName from "@scaleway/random-name";
5
5
  import { Icon } from "@ultraviolet/icons";
6
6
  import { forwardRef, useRef, useState, useCallback, useImperativeHandle, useEffect, useMemo } from "react";
@@ -10,6 +10,9 @@ import { Notice } from "../Notice/index.js";
10
10
  import { Separator } from "../Separator/index.js";
11
11
  import { Stack } from "../Stack/index.js";
12
12
  import { Text } from "../Text/index.js";
13
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() {
14
+ return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
15
+ }
13
16
  const inputSizes = {
14
17
  medium: {
15
18
  default: `
@@ -35,158 +38,187 @@ const inputSizes = {
35
38
  `
36
39
  }
37
40
  };
38
- const StyledSeparator = styled(Separator)`
39
- margin: 1px 0px;
40
- height: calc(100% - 2px);
41
- background-color: ${({ theme: { colors } }) => colors.neutral.backgroundStrong};
42
- `;
43
- const StyledRightElement = styled("div", {
44
- shouldForwardProp: (prop) => !["edit", "touchable"].includes(prop)
45
- })`
46
- ${({ theme: { colors, space } }) => css`
47
- pointer-events: none;
48
- position: absolute;
49
- right: 0;
50
- bottom: 0;
51
- top: 0;
52
- padding: 0 ${space["1"]};
53
- display: flex;
54
- gap: ${space["1"]};
55
- align-items: center;
56
- transition:
57
- transform 150ms,
58
- color 150ms;
59
- color: ${colors.neutral.textWeak};
60
-
61
- &:hover,
62
- &:focus-within {
63
- color: ${colors.neutral.textWeakHover};
64
- }
65
- `}
66
-
67
- ${({ touchable }) => touchable && css`
68
- pointer-events: auto;
69
- > button {
70
- box-shadow: none !important;
71
- }
72
- `}
73
- `;
74
- const StyledLabel = styled("label", {
75
- shouldForwardProp: (prop) => !["edit", "error", "resizable", "fillAvailable"].includes(prop)
76
- })`
77
- display: block;
78
- position: absolute;
79
- left: 0;
80
- top: 0;
81
- padding-left: 8px;
82
- padding-right: 8px;
83
- pointer-events: none;
84
- color: ${({ theme: { colors } }) => colors.neutral.textWeak};
85
- white-space: nowrap;
86
- overflow: hidden;
87
- text-overflow: ellipsis;
88
- width: 100%;
89
- height: 48px;
90
- font-size: ${({ theme }) => theme.typography.bodySmall};
91
- transition: transform 150ms;
92
- transform: translate(0, 12px) scale(1);
93
-
94
- ${({ edit }) => edit && css`
95
- transform: translate(-9.6%, -3px) scale(0.8);
96
- `}
97
-
98
- ${({ disabled, theme: { colors } }) => disabled && css`
99
- color: ${colors.neutral.textDisabled};
100
- `}
101
-
102
- ${({ readOnly, theme: { colors } }) => readOnly && css`
103
- color: ${colors.neutral.textDisabled};
104
- `}
105
-
106
- ${({ error, theme: { colors } }) => error && css`
107
- color: ${colors.danger.text};
108
- `}
109
- `;
110
- const StyledRelativeDiv = styled.div`
111
- position: relative;
112
- `;
113
- const StyledError = styled.div`
114
- font-size: 12px;
115
- color: ${({ theme }) => theme.colors.danger.text};
116
- padding-top: ${({ theme }) => theme.space["0.25"]};
117
- `;
118
- const StyledNotice = styled(Notice)`
119
- margin-top: ${({ theme }) => theme.space["0.5"]};
120
- `;
121
- const StyledInput = styled("input", {
122
- shouldForwardProp: (prop) => ![
123
- "as",
124
- "error",
125
- "fillAvailable",
126
- "hasLabel",
127
- "isPlaceholderVisible",
128
- "multiline",
129
- "resizable",
130
- "inputSize",
131
- "paddingRightFactor",
132
- "rightComponentLength",
133
- "unit"
134
- ].includes(prop)
135
- })`
136
- transition:
137
- border-color 0.2s ease,
138
- box-shadow 0.2s ease;
139
- appearance: none;
140
- background-color: ${({ theme: { colors } }) => colors.neutral.background};
141
- background-image: none;
142
- border: 1px solid ${({ theme: { colors } }) => colors.neutral.border};
143
- border-radius: ${({ theme: { radii } }) => radii.default};
144
- color: ${({ theme: { colors } }) => colors.neutral.text};
145
- display: block;
146
- max-width: 100%;
147
- outline: none;
148
- position: relative;
149
- width: 100%;
150
- padding-left: ${({ theme }) => theme.space["1"]};
151
- padding-right: ${({ theme }) => theme.space["1"]};
152
- padding-top: 14px;
153
- font-size: 16px;
154
- line-height: 24px;
155
-
156
- &::placeholder {
157
- color: ${({ theme: { colors } }) => colors.neutral.textWeak};
158
- opacity: 0;
41
+ const StyledSeparator = /* @__PURE__ */ _styled(Separator, process.env.NODE_ENV === "production" ? {
42
+ target: "el3h3g98"
43
+ } : {
44
+ target: "el3h3g98",
45
+ label: "StyledSeparator"
46
+ })("margin:1px 0px;height:calc(100% - 2px);background-color:", ({
47
+ theme: {
48
+ colors
159
49
  }
160
-
161
- &:hover,
162
- &:focus {
163
- border-color: ${({ theme: { colors } }) => colors.primary.borderHover};
50
+ }) => colors.neutral.backgroundStrong, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMER5QyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */"));
51
+ var _ref2 = process.env.NODE_ENV === "production" ? {
52
+ name: "176jwhy",
53
+ styles: "pointer-events:auto;>button{box-shadow:none!important;}"
54
+ } : {
55
+ name: "17s4cfn-StyledRightElement",
56
+ styles: "pointer-events:auto;>button{box-shadow:none!important;};label:StyledRightElement;",
57
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0ZPIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHJhbmRvbU5hbWUgZnJvbSAnQHNjYWxld2F5L3JhbmRvbS1uYW1lJ1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHtcbiAgQ2hhbmdlRXZlbnQsXG4gIEZvY3VzRXZlbnRIYW5kbGVyLFxuICBJbnB1dEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTGFiZWxIVE1MQXR0cmlidXRlcyxcbiAgVGV4dGFyZWFIVE1MQXR0cmlidXRlcyxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCB7IEV4cGFuZGFibGUgfSBmcm9tICcuLi9FeHBhbmRhYmxlJ1xuaW1wb3J0IHsgTm90aWNlIH0gZnJvbSAnLi4vTm90aWNlJ1xuaW1wb3J0IHsgU2VwYXJhdG9yIH0gZnJvbSAnLi4vU2VwYXJhdG9yJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBpbnB1dFNpemVzID0ge1xuICBtZWRpdW06IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICBgLFxuICAgIGZ1bGw6IGBcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICBgLFxuICB9LFxuICBzbWFsbDoge1xuICAgIGRlZmF1bHQ6IGBcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGAsXG4gIH0sXG59XG5cbnR5cGUgVGV4dElucHV0U2l6ZXMgPSBrZXlvZiB0eXBlb2YgaW5wdXRTaXplc1xuXG5leHBvcnQgY29uc3QgdGV4dElucHV0U2l6ZXMgPSBPYmplY3Qua2V5cyhpbnB1dFNpemVzKSBhcyBUZXh0SW5wdXRTaXplc1tdXG5cbmNvbnN0IFN0eWxlZFNlcGFyYXRvciA9IHN0eWxlZChTZXBhcmF0b3IpYFxuICBtYXJnaW46IDFweCAwcHg7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmd9O1xuYFxudHlwZSBTdHlsZWRSaWdodEVsZW1lbnRQcm9wcyA9IHtcbiAgZWRpdD86IGJvb2xlYW5cbiAgdG91Y2hhYmxlPzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRSaWdodEVsZW1lbnQgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnZWRpdCcsICd0b3VjaGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFJpZ2h0RWxlbWVudFByb3BzPmBcbiAgJHsoeyB0aGVtZTogeyBjb2xvcnMsIHNwYWNlIH0gfSkgPT4gY3NzYFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAgJHtzcGFjZVsnMSddfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogJHtzcGFjZVsnMSddfTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMTUwbXMsXG4gICAgICBjb2xvciAxNTBtcztcbiAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgYH1cblxuICAkeyh7IHRvdWNoYWJsZSB9KSA9PlxuICAgIHRvdWNoYWJsZSAmJlxuICAgIGNzc2BcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgPiBidXR0b24ge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYH1cbmBcbnR5cGUgU3R5bGVkTGFiZWxQcm9wcyA9IHtcbiAgJ2FyaWEtbGFiZWwnPzogc3RyaW5nXG4gICdhcmlhLWxpdmUnOiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGVkaXQ/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhblxuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxufSAmIExhYmVsSFRNTEF0dHJpYnV0ZXM8SFRNTExhYmVsRWxlbWVudD5cblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQoJ2xhYmVsJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbJ2VkaXQnLCAnZXJyb3InLCAncmVzaXphYmxlJywgJ2ZpbGxBdmFpbGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZExhYmVsUHJvcHM+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGx9O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEycHgpIHNjYWxlKDEpO1xuXG4gICR7KHsgZWRpdCB9KSA9PlxuICAgIGVkaXQgJiZcbiAgICBjc3NgXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOS42JSwgLTNweCkgc2NhbGUoMC44KTtcbiAgICBgfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyByZWFkT25seSwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICByZWFkT25seSAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07XG4gICAgYH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLmRhbmdlci50ZXh0fTtcbiAgICBgfVxuYFxuXG5jb25zdCBTdHlsZWRSZWxhdGl2ZURpdiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTdHlsZWROb3RpY2UgPSBzdHlsZWQoTm90aWNlKWBcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC41J119O1xuYFxuXG50eXBlIFN0eWxlZElucHV0UHJvcHMgPSB7XG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgaGFzTGFiZWw/OiBib29sZWFuXG4gIHBhZGRpbmdSaWdodEZhY3RvcjogbnVtYmVyXG4gIGlzUGxhY2Vob2xkZXJWaXNpYmxlPzogYm9vbGVhblxuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgaW5wdXRTaXplOiBUZXh0SW5wdXRTaXplc1xuICB1bml0Pzogc3RyaW5nXG4gIHJpZ2h0Q29tcG9uZW50TGVuZ3RoOiBudW1iZXJcbn0gJiAoXG4gIHwgSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlxuICB8IFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD5cbilcblxudHlwZSBJbnB1dFByb3BzID0gT21pdDxcbiAgRXhjbHVkZTxTdHlsZWRJbnB1dFByb3BzLCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+PixcbiAgJ2lucHV0U2l6ZSdcbj5cblxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQoJ2lucHV0Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnYXMnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdmaWxsQXZhaWxhYmxlJyxcbiAgICAgICdoYXNMYWJlbCcsXG4gICAgICAnaXNQbGFjZWhvbGRlclZpc2libGUnLFxuICAgICAgJ211bHRpbGluZScsXG4gICAgICAncmVzaXphYmxlJyxcbiAgICAgICdpbnB1dFNpemUnLFxuICAgICAgJ3BhZGRpbmdSaWdodEZhY3RvcicsXG4gICAgICAncmlnaHRDb21wb25lbnRMZW5ndGgnLFxuICAgICAgJ3VuaXQnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRJbnB1dFByb3BzPmBcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmR9O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWU6IHsgcmFkaWkgfSB9KSA9PiByYWRpaS5kZWZhdWx0fTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy1yaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWU6IHsgc2hhZG93cyB9IH0pID0+IHNoYWRvd3MuZm9jdXNQcmltYXJ5fTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICB9XG5cbiAgJHsoeyBpc1BsYWNlaG9sZGVyVmlzaWJsZSB9KSA9PlxuICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlICYmXG4gICAgYCY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfWB9XG5cbiAgJHsoeyBkaXNhYmxlZCwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBkaXNhYmxlZCAmJlxuICAgIGBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dH07YH1cblxuICAkeyh7IGlucHV0U2l6ZSB9KSA9PiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmRlZmF1bHR9XG5cbiAgJHsoeyBpbnB1dFNpemUsIGhhc0xhYmVsIH0pID0+XG4gICAgISFpbnB1dFNpemUgJiYgIWhhc0xhYmVsICYmIGlucHV0U2l6ZXNbaW5wdXRTaXplXT8uZnVsbH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMsIHNoYWRvd3MgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgYGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlcn07XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJHtzaGFkb3dzLmZvY3VzRGFuZ2VyfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9YH1cblxuICAgICR7KHsgbXVsdGlsaW5lLCByZXNpemFibGUsIGZpbGxBdmFpbGFibGUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgaGVpZ2h0OiAke2ZpbGxBdmFpbGFibGUgPyAnMTAwJScgOiAnaW5pdGlhbCd9O1xuICAgIHJlc2l6ZTogJHtyZXNpemFibGUgPT09IGZhbHNlID8gJ25vbmUnIDogJ3ZlcnRpY2FsJ307XG4gIGB9XG5cbiAgJHsoeyBtdWx0aWxpbmUsIGhhc0xhYmVsLCB0aGVtZSB9KSA9PlxuICAgIG11bHRpbGluZSAmJlxuICAgICFoYXNMYWJlbCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXRvcDogJHt0aGVtZS5zcGFjZVsnMSddfTtcbiAgYH1cblxuICAkeyh7IHBhZGRpbmdSaWdodEZhY3RvciwgcmlnaHRDb21wb25lbnRMZW5ndGgsIHVuaXQsIHRoZW1lIH0pID0+XG4gICAgcGFkZGluZ1JpZ2h0RmFjdG9yID4gMCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCR7XG4gICAgICB1bml0ID8gYCR7dW5pdC5sZW5ndGh9ICogJHt0aGVtZS5zcGFjZVsnMSddfSArIGAgOiAnJ1xuICAgIH0ke1xuICAgICAgcGFkZGluZ1JpZ2h0RmFjdG9yICtcbiAgICAgICh1bml0ID8gcmlnaHRDb21wb25lbnRMZW5ndGggLSAxIDogcmlnaHRDb21wb25lbnRMZW5ndGgpXG4gICAgfSAqICR7dGhlbWUuc3BhY2VbJzQnXX0pO1xuICBgfVxuYFxuXG5jb25zdCBSaWdodENvbXBvbmVudCA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjRweDtcbmBcblxudHlwZSBUZXh0SW5wdXRQcm9wcyA9IHtcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBhcmlhQ29udHJvbHM/OiBzdHJpbmdcbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNvbHM/OiBudW1iZXJcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IHN0cmluZ1xuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxuICBnZW5lcmF0ZWQ/OiBib29sZWFuXG4gIGhlaWdodD86IHN0cmluZyB8IG51bWJlclxuICBpZD86IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIG5hbWU/OiBzdHJpbmdcbiAgbm90aWNlPzogc3RyaW5nXG4gIG5vVG9wTGFiZWw/OiBib29sZWFuXG4gIG9uQmx1cj86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbkNoYW5nZT86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkXG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlVcD86IEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgcmFuZG9tPzogc3RyaW5nXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICByb3dzPzogbnVtYmVyXG4gIHNpemU/OiBUZXh0SW5wdXRTaXplc1xuICB0YWJJbmRleD86IG51bWJlclxuICB0eXBlPzogc3RyaW5nXG4gIHVuaXQ/OiBzdHJpbmdcbiAgdmFsaWQ/OiBib29sZWFuXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyXG4gIHdyYXA/OiBzdHJpbmdcbiAgaW5wdXRQcm9wcz86IElucHV0UHJvcHNcbiAgbWF4PzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWF4J11cbiAgbWluPzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWluJ11cbn0gJiAoXG4gIHwgT21pdDxJbnB1dEhUTUxBdHRyaWJ1dGVzPEhUTUxJbnB1dEVsZW1lbnQ+LCAnb25DaGFuZ2UnPlxuICB8IE9taXQ8VGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbilcblxuY29uc3QgVW5pdExhYmVsID0gc3R5bGVkKFRleHQpYFxuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuYFxuXG4vKipcbiAqIFRleHRJbnB1dCBjb21wb25lbnQgYWxsb3dzIHVzZXJzIHRvIGlucHV0IHRleHQsIHdpdGggb3B0aW9ucyBmb3IgY3VzdG9taXphdGlvbiBhbmQgdmFsaWRhdGlvbi5cbiAqIEl0IHN1cHBvcnRzIHZhcmlvdXMgaW5wdXQgdHlwZXMgYW5kIHNob3VsZCBiZSBhcHByb3ByaWF0ZWx5IHNpemVkIHdpdGggY2xlYXIgbGFiZWxpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBUZXh0SW5wdXQgPSBmb3J3YXJkUmVmPFxuICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB8IG51bGwsXG4gIFRleHRJbnB1dFByb3BzXG4+KFxuICAoXG4gICAge1xuICAgICAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbiAgICAgIGFyaWFDb250cm9scyxcbiAgICAgIGF1dG9Db21wbGV0ZSA9ICdvbicsXG4gICAgICBhdXRvRm9jdXMsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb2xzLFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBlZGl0OiBmb3JjZUVkaXQsXG4gICAgICBlcnJvcixcbiAgICAgIGZpbGxBdmFpbGFibGUsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoZWlnaHQsXG4gICAgICBpZCxcbiAgICAgIGxhYmVsLFxuICAgICAgbXVsdGlsaW5lLFxuICAgICAgbmFtZSxcbiAgICAgIG5vdGljZSxcbiAgICAgIG5vVG9wTGFiZWwgPSBmYWxzZSxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uS2V5VXAsXG4gICAgICBvbktleURvd24sXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIHJhbmRvbSxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgcmVxdWlyZWQsXG4gICAgICByZXNpemFibGUsXG4gICAgICByb3dzLFxuICAgICAgc2l6ZSA9ICdtZWRpdW0nLFxuICAgICAgdGFiSW5kZXgsXG4gICAgICB0eXBlID0gJ3RleHQnLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgdmFsdWUsXG4gICAgICB3cmFwLFxuICAgICAgaW5wdXRQcm9wcyxcbiAgICAgIG1pbixcbiAgICAgIG1heCxcbiAgICB9LFxuICAgIHJlZixcbiAgKSA9PiB7XG4gICAgY29uc3QgY29udHJvbFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gICAgY29uc3QgW3Zpc2l0ZWQsIHNldFZpc2l0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bhc3N3b3JkVmlzaWJsZSwgc2V0UGFzc3dvcmRWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gc2V0UGFzc3dvcmRWaXNpYmxlKHggPT4gIXgpLFxuICAgICAgW10sXG4gICAgKVxuXG4gICAgLy8gRm9yd2FyZCByZWYgdG8gcGFyZW50IHJlZlxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU8dW5rbm93biwgdW5rbm93bj4ocmVmLCAoKSA9PiBjb250cm9sUmVmLCBbXSlcblxuICAgIC8vIEZvY3VzIHdoZW4gcGFzc3dvcmQgaXMgdmlzaWJsZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAocGFzc3dvcmRWaXNpYmxlKSB7XG4gICAgICAgIGNvbnRyb2xSZWY/LmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH1cbiAgICB9LCBbcGFzc3dvcmRWaXNpYmxlXSlcblxuICAgIGNvbnN0IGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpLFxuICAgICAgW3RvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eV0sXG4gICAgKVxuXG4gICAgY29uc3QgcmFuZG9taXplID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiBvbkNoYW5nZT8uKHJhbmRvbU5hbWUocmFuZG9tKSksXG4gICAgICBbb25DaGFuZ2UsIHJhbmRvbV0sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tSYW5kb21pemUgPSB1c2VDYWxsYmFjaygoKSA9PiByYW5kb21pemUoKSwgW3JhbmRvbWl6ZV0pXG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8XG4gICAgICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudFxuICAgID4gPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKCF2aXNpdGVkICYmICFyZWFkT25seSkge1xuICAgICAgICAgIHNldFZpc2l0ZWQodHJ1ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICAgICAgb25Gb2N1cyhldmVudClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFt2aXNpdGVkLCByZWFkT25seSwgb25Gb2N1c10sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PikgPT5cbiAgICAgICAgb25DaGFuZ2U/LihldmVudC50YXJnZXQudmFsdWUpLFxuICAgICAgW29uQ2hhbmdlXSxcbiAgICApXG5cbiAgICBjb25zdCBpc1Bhc3NUb2dnbGVhYmxlID0gdHlwZSA9PT0gJ3RvZ2dsZWFibGUtcGFzc3dvcmQnXG4gICAgY29uc3QgaGFzTGFiZWwgPSAhIWxhYmVsICYmICFub1RvcExhYmVsICYmIHNpemUgPT09ICdtZWRpdW0nXG4gICAgY29uc3QgZWRpdCA9XG4gICAgICBoYXNMYWJlbCAmJiAoZm9yY2VFZGl0IHx8IHZpc2l0ZWQgfHwgdmFsdWUgfHwgZXJyb3IgfHwgZ2VuZXJhdGVkKVxuXG4gICAgY29uc3QgaXNQbGFjZWhvbGRlclZpc2libGUgPSAhaGFzTGFiZWwgfHwgISFlZGl0XG4gICAgY29uc3QgaGFzUmlnaHRFbGVtZW50ID0gISEoXG4gICAgICB2YWxpZCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlIHx8XG4gICAgICByYW5kb20gfHxcbiAgICAgIHVuaXRcbiAgICApXG5cbiAgICBjb25zdCBnZXRUeXBlID0gKCkgPT4ge1xuICAgICAgaWYgKGlzUGFzc1RvZ2dsZWFibGUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3N3b3JkVmlzaWJsZSB8fCBnZW5lcmF0ZWQgPyAndGV4dCcgOiAncGFzc3dvcmQnXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtdWx0aWxpbmUgPyB1bmRlZmluZWQgOiB0eXBlXG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRTaXplID0gc2l6ZVxuXG4gICAgY29uc3QgcmlnaHRDb21wb25lbnRzQXJyYXkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50cyA9IFtdXG5cbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlICYmICFnZW5lcmF0ZWQpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e1xuICAgICAgICAgICAgICBkYXRhVGVzdElkID8gYCR7ZGF0YVRlc3RJZH0tdmlzaWJpbGl0eS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXtwYXNzd29yZFZpc2libGUgPyAnaGlkZScgOiAnc2hvdyd9XG4gICAgICAgICAgICBrZXk9XCJwYXNzd29yZC12aXNpYmxlXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2t9XG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBpY29uPXtwYXNzd29yZFZpc2libGUgPyAnZXllLW9mZicgOiAnZXllJ31cbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChyYW5kb20pIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAga2V5PVwicmFuZG9tXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXJhbmRvbWl6ZS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwicmFuZG9taXplXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrUmFuZG9taXplfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaWNvbj1cImF1dG8tZml4XCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh2YWxpZCA9PT0gZmFsc2UgfHwgdmFsaWQgPT09IHRydWUpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIGtleT1cInZhbGlkXCJcbiAgICAgICAgICAgIG5hbWU9eyF2YWxpZCA/ICdjbG9zZScgOiAnY2hlY2snfVxuICAgICAgICAgICAgY29sb3I9eyF2YWxpZCA/ICdkYW5nZXInIDogJ3N1Y2Nlc3MnfVxuICAgICAgICAgICAgc2l6ZT17MjB9XG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh1bml0KSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxVbml0TGFiZWwga2V5PVwidW5pdFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIiBhcz1cInBcIiBwcm9taW5lbmNlPVwid2Vha1wiPlxuICAgICAgICAgICAge3VuaXR9XG4gICAgICAgICAgPC9Vbml0TGFiZWw+LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByaWdodENvbXBvbmVudHNcbiAgICB9LCBbXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGdlbmVyYXRlZCxcbiAgICAgIGhhbmRsZUNsaWNrUmFuZG9taXplLFxuICAgICAgaGFuZGxlUGFzc1Zpc2liaWxpdHlDbGljayxcbiAgICAgIGlzUGFzc1RvZ2dsZWFibGUsXG4gICAgICBwYXNzd29yZFZpc2libGUsXG4gICAgICByYW5kb20sXG4gICAgICB1bml0LFxuICAgICAgdmFsaWQsXG4gICAgICBkYXRhVGVzdElkLFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG93U2VwYXJhdG9yID0gKHJlcXVpcmVkICYmIGhhc1JpZ2h0RWxlbWVudCkgfHwgdW5pdFxuICAgIGNvbnN0IHBhZGRpbmdSaWdodEZhY3RvciA9IChyZXF1aXJlZCA/IDEgOiAwKSArIChzaG93U2VwYXJhdG9yID8gMC41IDogMClcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgPFN0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICAgIDxTdHlsZWRJbnB1dFxuICAgICAgICAgICAgYXJpYS1jb250cm9scz17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17bGFiZWwgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtoYXNMYWJlbCA/IGFyaWFDb250cm9scyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFzPXttdWx0aWxpbmUgPyAndGV4dGFyZWEnIDogJ2lucHV0J31cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17YXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgICAgICBjb2xzPXtjb2xzfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgZmlsbEF2YWlsYWJsZT17ZmlsbEF2YWlsYWJsZX1cbiAgICAgICAgICAgIGhhc0xhYmVsPXtoYXNMYWJlbH1cbiAgICAgICAgICAgIHBhZGRpbmdSaWdodEZhY3Rvcj17cGFkZGluZ1JpZ2h0RmFjdG9yfVxuICAgICAgICAgICAgcmlnaHRDb21wb25lbnRMZW5ndGg9e3JpZ2h0Q29tcG9uZW50c0FycmF5Lmxlbmd0aH1cbiAgICAgICAgICAgIHVuaXQ9e3VuaXR9XG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICBpbnB1dFNpemU9e2lucHV0U2l6ZX1cbiAgICAgICAgICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlPXtpc1BsYWNlaG9sZGVyVmlzaWJsZX1cbiAgICAgICAgICAgIG11bHRpbGluZT17bXVsdGlsaW5lfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgb25LZXlVcD17b25LZXlVcH1cbiAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgICAgICAgcmVzaXphYmxlPXtyZXNpemFibGV9XG4gICAgICAgICAgICByb3dzPXtyb3dzfVxuICAgICAgICAgICAgc3R5bGU9e3sgaGVpZ2h0IH19XG4gICAgICAgICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICAgICAgICB0eXBlPXtnZXRUeXBlKCl9XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWUgPT09IG51bGwgPyAnJyA6IHZhbHVlfVxuICAgICAgICAgICAgd3JhcD17d3JhcH1cbiAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgbWF4PXttYXh9XG4gICAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtoYXNMYWJlbCAmJiAoXG4gICAgICAgICAgICA8U3R5bGVkTGFiZWxcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgICAgICAgIGlkPXthcmlhQ29udHJvbHN9XG4gICAgICAgICAgICAgIGh0bWxGb3I9e2lkfVxuICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzUmlnaHRFbGVtZW50IHx8IHJlcXVpcmVkID8gKFxuICAgICAgICAgICAgPFN0eWxlZFJpZ2h0RWxlbWVudFxuICAgICAgICAgICAgICBlZGl0PXshIWVkaXR9XG4gICAgICAgICAgICAgIHRvdWNoYWJsZT17aXNQYXNzVG9nZ2xlYWJsZSB8fCAhIXJhbmRvbX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3JlcXVpcmVkID8gKFxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIGNvbG9yPVwiZGFuZ2VyXCIgc2l6ZT17MTB9IC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2hvd1NlcGFyYXRvciA/IDxTdHlsZWRTZXBhcmF0b3IgZGlyZWN0aW9uPVwidmVydGljYWxcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICAgIDxSaWdodENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheX1cbiAgICAgICAgICAgICAgICA8L1JpZ2h0Q29tcG9uZW50PlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkUmlnaHRFbGVtZW50PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICAgIDxTdHlsZWRFcnJvcj57ZXJyb3J9PC9TdHlsZWRFcnJvcj5cbiAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICB7bm90aWNlID8gPFN0eWxlZE5vdGljZT57bm90aWNlfTwvU3R5bGVkTm90aWNlPiA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH0sXG4pXG4iXX0= */",
58
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
59
+ };
60
+ const StyledRightElement = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
61
+ shouldForwardProp: (prop) => !["edit", "touchable"].includes(prop),
62
+ target: "el3h3g97"
63
+ } : {
64
+ shouldForwardProp: (prop) => !["edit", "touchable"].includes(prop),
65
+ target: "el3h3g97",
66
+ label: "StyledRightElement"
67
+ })(({
68
+ theme: {
69
+ colors,
70
+ space
164
71
  }
165
-
166
- &:focus {
167
- box-shadow: ${({ theme: { shadows } }) => shadows.focusPrimary};
168
- border-color: ${({ theme: { colors } }) => colors.primary.borderHover};
72
+ }) => /* @__PURE__ */ css("pointer-events:none;position:absolute;right:0;bottom:0;top:0;padding:0 ", space["1"], ";display:flex;gap:", space["1"], ";align-items:center;transition:transform 150ms,color 150ms;color:", colors.neutral.textWeak, ";&:hover,&:focus-within{color:", colors.neutral.textWeakHover, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledRightElement;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0V5QyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */"), " ", ({
73
+ touchable
74
+ }) => touchable && _ref2, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUUyQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */"));
75
+ var _ref = process.env.NODE_ENV === "production" ? {
76
+ name: "z8qxmc",
77
+ styles: "transform:translate(-9.6%, -3px) scale(0.8)"
78
+ } : {
79
+ name: "136ci60-StyledLabel",
80
+ styles: "transform:translate(-9.6%, -3px) scale(0.8);label:StyledLabel;",
81
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0lPIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHJhbmRvbU5hbWUgZnJvbSAnQHNjYWxld2F5L3JhbmRvbS1uYW1lJ1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHtcbiAgQ2hhbmdlRXZlbnQsXG4gIEZvY3VzRXZlbnRIYW5kbGVyLFxuICBJbnB1dEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTGFiZWxIVE1MQXR0cmlidXRlcyxcbiAgVGV4dGFyZWFIVE1MQXR0cmlidXRlcyxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCB7IEV4cGFuZGFibGUgfSBmcm9tICcuLi9FeHBhbmRhYmxlJ1xuaW1wb3J0IHsgTm90aWNlIH0gZnJvbSAnLi4vTm90aWNlJ1xuaW1wb3J0IHsgU2VwYXJhdG9yIH0gZnJvbSAnLi4vU2VwYXJhdG9yJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBpbnB1dFNpemVzID0ge1xuICBtZWRpdW06IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICBgLFxuICAgIGZ1bGw6IGBcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICBgLFxuICB9LFxuICBzbWFsbDoge1xuICAgIGRlZmF1bHQ6IGBcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGAsXG4gIH0sXG59XG5cbnR5cGUgVGV4dElucHV0U2l6ZXMgPSBrZXlvZiB0eXBlb2YgaW5wdXRTaXplc1xuXG5leHBvcnQgY29uc3QgdGV4dElucHV0U2l6ZXMgPSBPYmplY3Qua2V5cyhpbnB1dFNpemVzKSBhcyBUZXh0SW5wdXRTaXplc1tdXG5cbmNvbnN0IFN0eWxlZFNlcGFyYXRvciA9IHN0eWxlZChTZXBhcmF0b3IpYFxuICBtYXJnaW46IDFweCAwcHg7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmd9O1xuYFxudHlwZSBTdHlsZWRSaWdodEVsZW1lbnRQcm9wcyA9IHtcbiAgZWRpdD86IGJvb2xlYW5cbiAgdG91Y2hhYmxlPzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRSaWdodEVsZW1lbnQgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnZWRpdCcsICd0b3VjaGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFJpZ2h0RWxlbWVudFByb3BzPmBcbiAgJHsoeyB0aGVtZTogeyBjb2xvcnMsIHNwYWNlIH0gfSkgPT4gY3NzYFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAgJHtzcGFjZVsnMSddfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogJHtzcGFjZVsnMSddfTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMTUwbXMsXG4gICAgICBjb2xvciAxNTBtcztcbiAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgYH1cblxuICAkeyh7IHRvdWNoYWJsZSB9KSA9PlxuICAgIHRvdWNoYWJsZSAmJlxuICAgIGNzc2BcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgPiBidXR0b24ge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYH1cbmBcbnR5cGUgU3R5bGVkTGFiZWxQcm9wcyA9IHtcbiAgJ2FyaWEtbGFiZWwnPzogc3RyaW5nXG4gICdhcmlhLWxpdmUnOiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGVkaXQ/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhblxuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxufSAmIExhYmVsSFRNTEF0dHJpYnV0ZXM8SFRNTExhYmVsRWxlbWVudD5cblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQoJ2xhYmVsJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbJ2VkaXQnLCAnZXJyb3InLCAncmVzaXphYmxlJywgJ2ZpbGxBdmFpbGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZExhYmVsUHJvcHM+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGx9O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEycHgpIHNjYWxlKDEpO1xuXG4gICR7KHsgZWRpdCB9KSA9PlxuICAgIGVkaXQgJiZcbiAgICBjc3NgXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOS42JSwgLTNweCkgc2NhbGUoMC44KTtcbiAgICBgfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyByZWFkT25seSwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICByZWFkT25seSAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07XG4gICAgYH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLmRhbmdlci50ZXh0fTtcbiAgICBgfVxuYFxuXG5jb25zdCBTdHlsZWRSZWxhdGl2ZURpdiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTdHlsZWROb3RpY2UgPSBzdHlsZWQoTm90aWNlKWBcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC41J119O1xuYFxuXG50eXBlIFN0eWxlZElucHV0UHJvcHMgPSB7XG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgaGFzTGFiZWw/OiBib29sZWFuXG4gIHBhZGRpbmdSaWdodEZhY3RvcjogbnVtYmVyXG4gIGlzUGxhY2Vob2xkZXJWaXNpYmxlPzogYm9vbGVhblxuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgaW5wdXRTaXplOiBUZXh0SW5wdXRTaXplc1xuICB1bml0Pzogc3RyaW5nXG4gIHJpZ2h0Q29tcG9uZW50TGVuZ3RoOiBudW1iZXJcbn0gJiAoXG4gIHwgSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlxuICB8IFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD5cbilcblxudHlwZSBJbnB1dFByb3BzID0gT21pdDxcbiAgRXhjbHVkZTxTdHlsZWRJbnB1dFByb3BzLCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+PixcbiAgJ2lucHV0U2l6ZSdcbj5cblxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQoJ2lucHV0Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnYXMnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdmaWxsQXZhaWxhYmxlJyxcbiAgICAgICdoYXNMYWJlbCcsXG4gICAgICAnaXNQbGFjZWhvbGRlclZpc2libGUnLFxuICAgICAgJ211bHRpbGluZScsXG4gICAgICAncmVzaXphYmxlJyxcbiAgICAgICdpbnB1dFNpemUnLFxuICAgICAgJ3BhZGRpbmdSaWdodEZhY3RvcicsXG4gICAgICAncmlnaHRDb21wb25lbnRMZW5ndGgnLFxuICAgICAgJ3VuaXQnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRJbnB1dFByb3BzPmBcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmR9O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWU6IHsgcmFkaWkgfSB9KSA9PiByYWRpaS5kZWZhdWx0fTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy1yaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWU6IHsgc2hhZG93cyB9IH0pID0+IHNoYWRvd3MuZm9jdXNQcmltYXJ5fTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICB9XG5cbiAgJHsoeyBpc1BsYWNlaG9sZGVyVmlzaWJsZSB9KSA9PlxuICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlICYmXG4gICAgYCY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfWB9XG5cbiAgJHsoeyBkaXNhYmxlZCwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBkaXNhYmxlZCAmJlxuICAgIGBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dH07YH1cblxuICAkeyh7IGlucHV0U2l6ZSB9KSA9PiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmRlZmF1bHR9XG5cbiAgJHsoeyBpbnB1dFNpemUsIGhhc0xhYmVsIH0pID0+XG4gICAgISFpbnB1dFNpemUgJiYgIWhhc0xhYmVsICYmIGlucHV0U2l6ZXNbaW5wdXRTaXplXT8uZnVsbH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMsIHNoYWRvd3MgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgYGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlcn07XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJHtzaGFkb3dzLmZvY3VzRGFuZ2VyfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9YH1cblxuICAgICR7KHsgbXVsdGlsaW5lLCByZXNpemFibGUsIGZpbGxBdmFpbGFibGUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgaGVpZ2h0OiAke2ZpbGxBdmFpbGFibGUgPyAnMTAwJScgOiAnaW5pdGlhbCd9O1xuICAgIHJlc2l6ZTogJHtyZXNpemFibGUgPT09IGZhbHNlID8gJ25vbmUnIDogJ3ZlcnRpY2FsJ307XG4gIGB9XG5cbiAgJHsoeyBtdWx0aWxpbmUsIGhhc0xhYmVsLCB0aGVtZSB9KSA9PlxuICAgIG11bHRpbGluZSAmJlxuICAgICFoYXNMYWJlbCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXRvcDogJHt0aGVtZS5zcGFjZVsnMSddfTtcbiAgYH1cblxuICAkeyh7IHBhZGRpbmdSaWdodEZhY3RvciwgcmlnaHRDb21wb25lbnRMZW5ndGgsIHVuaXQsIHRoZW1lIH0pID0+XG4gICAgcGFkZGluZ1JpZ2h0RmFjdG9yID4gMCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCR7XG4gICAgICB1bml0ID8gYCR7dW5pdC5sZW5ndGh9ICogJHt0aGVtZS5zcGFjZVsnMSddfSArIGAgOiAnJ1xuICAgIH0ke1xuICAgICAgcGFkZGluZ1JpZ2h0RmFjdG9yICtcbiAgICAgICh1bml0ID8gcmlnaHRDb21wb25lbnRMZW5ndGggLSAxIDogcmlnaHRDb21wb25lbnRMZW5ndGgpXG4gICAgfSAqICR7dGhlbWUuc3BhY2VbJzQnXX0pO1xuICBgfVxuYFxuXG5jb25zdCBSaWdodENvbXBvbmVudCA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjRweDtcbmBcblxudHlwZSBUZXh0SW5wdXRQcm9wcyA9IHtcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBhcmlhQ29udHJvbHM/OiBzdHJpbmdcbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNvbHM/OiBudW1iZXJcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IHN0cmluZ1xuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxuICBnZW5lcmF0ZWQ/OiBib29sZWFuXG4gIGhlaWdodD86IHN0cmluZyB8IG51bWJlclxuICBpZD86IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIG5hbWU/OiBzdHJpbmdcbiAgbm90aWNlPzogc3RyaW5nXG4gIG5vVG9wTGFiZWw/OiBib29sZWFuXG4gIG9uQmx1cj86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbkNoYW5nZT86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkXG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlVcD86IEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgcmFuZG9tPzogc3RyaW5nXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICByb3dzPzogbnVtYmVyXG4gIHNpemU/OiBUZXh0SW5wdXRTaXplc1xuICB0YWJJbmRleD86IG51bWJlclxuICB0eXBlPzogc3RyaW5nXG4gIHVuaXQ/OiBzdHJpbmdcbiAgdmFsaWQ/OiBib29sZWFuXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyXG4gIHdyYXA/OiBzdHJpbmdcbiAgaW5wdXRQcm9wcz86IElucHV0UHJvcHNcbiAgbWF4PzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWF4J11cbiAgbWluPzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWluJ11cbn0gJiAoXG4gIHwgT21pdDxJbnB1dEhUTUxBdHRyaWJ1dGVzPEhUTUxJbnB1dEVsZW1lbnQ+LCAnb25DaGFuZ2UnPlxuICB8IE9taXQ8VGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbilcblxuY29uc3QgVW5pdExhYmVsID0gc3R5bGVkKFRleHQpYFxuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuYFxuXG4vKipcbiAqIFRleHRJbnB1dCBjb21wb25lbnQgYWxsb3dzIHVzZXJzIHRvIGlucHV0IHRleHQsIHdpdGggb3B0aW9ucyBmb3IgY3VzdG9taXphdGlvbiBhbmQgdmFsaWRhdGlvbi5cbiAqIEl0IHN1cHBvcnRzIHZhcmlvdXMgaW5wdXQgdHlwZXMgYW5kIHNob3VsZCBiZSBhcHByb3ByaWF0ZWx5IHNpemVkIHdpdGggY2xlYXIgbGFiZWxpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBUZXh0SW5wdXQgPSBmb3J3YXJkUmVmPFxuICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB8IG51bGwsXG4gIFRleHRJbnB1dFByb3BzXG4+KFxuICAoXG4gICAge1xuICAgICAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbiAgICAgIGFyaWFDb250cm9scyxcbiAgICAgIGF1dG9Db21wbGV0ZSA9ICdvbicsXG4gICAgICBhdXRvRm9jdXMsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb2xzLFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBlZGl0OiBmb3JjZUVkaXQsXG4gICAgICBlcnJvcixcbiAgICAgIGZpbGxBdmFpbGFibGUsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoZWlnaHQsXG4gICAgICBpZCxcbiAgICAgIGxhYmVsLFxuICAgICAgbXVsdGlsaW5lLFxuICAgICAgbmFtZSxcbiAgICAgIG5vdGljZSxcbiAgICAgIG5vVG9wTGFiZWwgPSBmYWxzZSxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uS2V5VXAsXG4gICAgICBvbktleURvd24sXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIHJhbmRvbSxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgcmVxdWlyZWQsXG4gICAgICByZXNpemFibGUsXG4gICAgICByb3dzLFxuICAgICAgc2l6ZSA9ICdtZWRpdW0nLFxuICAgICAgdGFiSW5kZXgsXG4gICAgICB0eXBlID0gJ3RleHQnLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgdmFsdWUsXG4gICAgICB3cmFwLFxuICAgICAgaW5wdXRQcm9wcyxcbiAgICAgIG1pbixcbiAgICAgIG1heCxcbiAgICB9LFxuICAgIHJlZixcbiAgKSA9PiB7XG4gICAgY29uc3QgY29udHJvbFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gICAgY29uc3QgW3Zpc2l0ZWQsIHNldFZpc2l0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bhc3N3b3JkVmlzaWJsZSwgc2V0UGFzc3dvcmRWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gc2V0UGFzc3dvcmRWaXNpYmxlKHggPT4gIXgpLFxuICAgICAgW10sXG4gICAgKVxuXG4gICAgLy8gRm9yd2FyZCByZWYgdG8gcGFyZW50IHJlZlxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU8dW5rbm93biwgdW5rbm93bj4ocmVmLCAoKSA9PiBjb250cm9sUmVmLCBbXSlcblxuICAgIC8vIEZvY3VzIHdoZW4gcGFzc3dvcmQgaXMgdmlzaWJsZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAocGFzc3dvcmRWaXNpYmxlKSB7XG4gICAgICAgIGNvbnRyb2xSZWY/LmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH1cbiAgICB9LCBbcGFzc3dvcmRWaXNpYmxlXSlcblxuICAgIGNvbnN0IGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpLFxuICAgICAgW3RvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eV0sXG4gICAgKVxuXG4gICAgY29uc3QgcmFuZG9taXplID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiBvbkNoYW5nZT8uKHJhbmRvbU5hbWUocmFuZG9tKSksXG4gICAgICBbb25DaGFuZ2UsIHJhbmRvbV0sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tSYW5kb21pemUgPSB1c2VDYWxsYmFjaygoKSA9PiByYW5kb21pemUoKSwgW3JhbmRvbWl6ZV0pXG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8XG4gICAgICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudFxuICAgID4gPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKCF2aXNpdGVkICYmICFyZWFkT25seSkge1xuICAgICAgICAgIHNldFZpc2l0ZWQodHJ1ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICAgICAgb25Gb2N1cyhldmVudClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFt2aXNpdGVkLCByZWFkT25seSwgb25Gb2N1c10sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PikgPT5cbiAgICAgICAgb25DaGFuZ2U/LihldmVudC50YXJnZXQudmFsdWUpLFxuICAgICAgW29uQ2hhbmdlXSxcbiAgICApXG5cbiAgICBjb25zdCBpc1Bhc3NUb2dnbGVhYmxlID0gdHlwZSA9PT0gJ3RvZ2dsZWFibGUtcGFzc3dvcmQnXG4gICAgY29uc3QgaGFzTGFiZWwgPSAhIWxhYmVsICYmICFub1RvcExhYmVsICYmIHNpemUgPT09ICdtZWRpdW0nXG4gICAgY29uc3QgZWRpdCA9XG4gICAgICBoYXNMYWJlbCAmJiAoZm9yY2VFZGl0IHx8IHZpc2l0ZWQgfHwgdmFsdWUgfHwgZXJyb3IgfHwgZ2VuZXJhdGVkKVxuXG4gICAgY29uc3QgaXNQbGFjZWhvbGRlclZpc2libGUgPSAhaGFzTGFiZWwgfHwgISFlZGl0XG4gICAgY29uc3QgaGFzUmlnaHRFbGVtZW50ID0gISEoXG4gICAgICB2YWxpZCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlIHx8XG4gICAgICByYW5kb20gfHxcbiAgICAgIHVuaXRcbiAgICApXG5cbiAgICBjb25zdCBnZXRUeXBlID0gKCkgPT4ge1xuICAgICAgaWYgKGlzUGFzc1RvZ2dsZWFibGUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3N3b3JkVmlzaWJsZSB8fCBnZW5lcmF0ZWQgPyAndGV4dCcgOiAncGFzc3dvcmQnXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtdWx0aWxpbmUgPyB1bmRlZmluZWQgOiB0eXBlXG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRTaXplID0gc2l6ZVxuXG4gICAgY29uc3QgcmlnaHRDb21wb25lbnRzQXJyYXkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50cyA9IFtdXG5cbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlICYmICFnZW5lcmF0ZWQpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e1xuICAgICAgICAgICAgICBkYXRhVGVzdElkID8gYCR7ZGF0YVRlc3RJZH0tdmlzaWJpbGl0eS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXtwYXNzd29yZFZpc2libGUgPyAnaGlkZScgOiAnc2hvdyd9XG4gICAgICAgICAgICBrZXk9XCJwYXNzd29yZC12aXNpYmxlXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2t9XG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBpY29uPXtwYXNzd29yZFZpc2libGUgPyAnZXllLW9mZicgOiAnZXllJ31cbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChyYW5kb20pIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAga2V5PVwicmFuZG9tXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXJhbmRvbWl6ZS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwicmFuZG9taXplXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrUmFuZG9taXplfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaWNvbj1cImF1dG8tZml4XCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh2YWxpZCA9PT0gZmFsc2UgfHwgdmFsaWQgPT09IHRydWUpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIGtleT1cInZhbGlkXCJcbiAgICAgICAgICAgIG5hbWU9eyF2YWxpZCA/ICdjbG9zZScgOiAnY2hlY2snfVxuICAgICAgICAgICAgY29sb3I9eyF2YWxpZCA/ICdkYW5nZXInIDogJ3N1Y2Nlc3MnfVxuICAgICAgICAgICAgc2l6ZT17MjB9XG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh1bml0KSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxVbml0TGFiZWwga2V5PVwidW5pdFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIiBhcz1cInBcIiBwcm9taW5lbmNlPVwid2Vha1wiPlxuICAgICAgICAgICAge3VuaXR9XG4gICAgICAgICAgPC9Vbml0TGFiZWw+LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByaWdodENvbXBvbmVudHNcbiAgICB9LCBbXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGdlbmVyYXRlZCxcbiAgICAgIGhhbmRsZUNsaWNrUmFuZG9taXplLFxuICAgICAgaGFuZGxlUGFzc1Zpc2liaWxpdHlDbGljayxcbiAgICAgIGlzUGFzc1RvZ2dsZWFibGUsXG4gICAgICBwYXNzd29yZFZpc2libGUsXG4gICAgICByYW5kb20sXG4gICAgICB1bml0LFxuICAgICAgdmFsaWQsXG4gICAgICBkYXRhVGVzdElkLFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG93U2VwYXJhdG9yID0gKHJlcXVpcmVkICYmIGhhc1JpZ2h0RWxlbWVudCkgfHwgdW5pdFxuICAgIGNvbnN0IHBhZGRpbmdSaWdodEZhY3RvciA9IChyZXF1aXJlZCA/IDEgOiAwKSArIChzaG93U2VwYXJhdG9yID8gMC41IDogMClcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgPFN0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICAgIDxTdHlsZWRJbnB1dFxuICAgICAgICAgICAgYXJpYS1jb250cm9scz17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17bGFiZWwgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtoYXNMYWJlbCA/IGFyaWFDb250cm9scyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFzPXttdWx0aWxpbmUgPyAndGV4dGFyZWEnIDogJ2lucHV0J31cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17YXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgICAgICBjb2xzPXtjb2xzfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgZmlsbEF2YWlsYWJsZT17ZmlsbEF2YWlsYWJsZX1cbiAgICAgICAgICAgIGhhc0xhYmVsPXtoYXNMYWJlbH1cbiAgICAgICAgICAgIHBhZGRpbmdSaWdodEZhY3Rvcj17cGFkZGluZ1JpZ2h0RmFjdG9yfVxuICAgICAgICAgICAgcmlnaHRDb21wb25lbnRMZW5ndGg9e3JpZ2h0Q29tcG9uZW50c0FycmF5Lmxlbmd0aH1cbiAgICAgICAgICAgIHVuaXQ9e3VuaXR9XG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICBpbnB1dFNpemU9e2lucHV0U2l6ZX1cbiAgICAgICAgICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlPXtpc1BsYWNlaG9sZGVyVmlzaWJsZX1cbiAgICAgICAgICAgIG11bHRpbGluZT17bXVsdGlsaW5lfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgb25LZXlVcD17b25LZXlVcH1cbiAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgICAgICAgcmVzaXphYmxlPXtyZXNpemFibGV9XG4gICAgICAgICAgICByb3dzPXtyb3dzfVxuICAgICAgICAgICAgc3R5bGU9e3sgaGVpZ2h0IH19XG4gICAgICAgICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICAgICAgICB0eXBlPXtnZXRUeXBlKCl9XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWUgPT09IG51bGwgPyAnJyA6IHZhbHVlfVxuICAgICAgICAgICAgd3JhcD17d3JhcH1cbiAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgbWF4PXttYXh9XG4gICAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtoYXNMYWJlbCAmJiAoXG4gICAgICAgICAgICA8U3R5bGVkTGFiZWxcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgICAgICAgIGlkPXthcmlhQ29udHJvbHN9XG4gICAgICAgICAgICAgIGh0bWxGb3I9e2lkfVxuICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzUmlnaHRFbGVtZW50IHx8IHJlcXVpcmVkID8gKFxuICAgICAgICAgICAgPFN0eWxlZFJpZ2h0RWxlbWVudFxuICAgICAgICAgICAgICBlZGl0PXshIWVkaXR9XG4gICAgICAgICAgICAgIHRvdWNoYWJsZT17aXNQYXNzVG9nZ2xlYWJsZSB8fCAhIXJhbmRvbX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3JlcXVpcmVkID8gKFxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIGNvbG9yPVwiZGFuZ2VyXCIgc2l6ZT17MTB9IC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2hvd1NlcGFyYXRvciA/IDxTdHlsZWRTZXBhcmF0b3IgZGlyZWN0aW9uPVwidmVydGljYWxcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICAgIDxSaWdodENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheX1cbiAgICAgICAgICAgICAgICA8L1JpZ2h0Q29tcG9uZW50PlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkUmlnaHRFbGVtZW50PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICAgIDxTdHlsZWRFcnJvcj57ZXJyb3J9PC9TdHlsZWRFcnJvcj5cbiAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICB7bm90aWNlID8gPFN0eWxlZE5vdGljZT57bm90aWNlfTwvU3R5bGVkTm90aWNlPiA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH0sXG4pXG4iXX0= */",
82
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
83
+ };
84
+ const StyledLabel = /* @__PURE__ */ _styled("label", process.env.NODE_ENV === "production" ? {
85
+ shouldForwardProp: (prop) => !["edit", "error", "resizable", "fillAvailable"].includes(prop),
86
+ target: "el3h3g96"
87
+ } : {
88
+ shouldForwardProp: (prop) => !["edit", "error", "resizable", "fillAvailable"].includes(prop),
89
+ target: "el3h3g96",
90
+ label: "StyledLabel"
91
+ })("display:block;position:absolute;left:0;top:0;padding-left:8px;padding-right:8px;pointer-events:none;color:", ({
92
+ theme: {
93
+ colors
169
94
  }
170
-
171
- ${({ isPlaceholderVisible }) => isPlaceholderVisible && `&::placeholder {
95
+ }) => colors.neutral.textWeak, ";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;height:48px;font-size:", ({
96
+ theme
97
+ }) => theme.typography.bodySmall, ";transition:transform 150ms;transform:translate(0, 12px) scale(1);", ({
98
+ edit
99
+ }) => edit && _ref, " ", ({
100
+ disabled,
101
+ theme: {
102
+ colors
103
+ }
104
+ }) => disabled && /* @__PURE__ */ css("color:", colors.neutral.textDisabled, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledLabel;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOElPIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHJhbmRvbU5hbWUgZnJvbSAnQHNjYWxld2F5L3JhbmRvbS1uYW1lJ1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHtcbiAgQ2hhbmdlRXZlbnQsXG4gIEZvY3VzRXZlbnRIYW5kbGVyLFxuICBJbnB1dEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTGFiZWxIVE1MQXR0cmlidXRlcyxcbiAgVGV4dGFyZWFIVE1MQXR0cmlidXRlcyxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCB7IEV4cGFuZGFibGUgfSBmcm9tICcuLi9FeHBhbmRhYmxlJ1xuaW1wb3J0IHsgTm90aWNlIH0gZnJvbSAnLi4vTm90aWNlJ1xuaW1wb3J0IHsgU2VwYXJhdG9yIH0gZnJvbSAnLi4vU2VwYXJhdG9yJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBpbnB1dFNpemVzID0ge1xuICBtZWRpdW06IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICBgLFxuICAgIGZ1bGw6IGBcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICBgLFxuICB9LFxuICBzbWFsbDoge1xuICAgIGRlZmF1bHQ6IGBcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGAsXG4gIH0sXG59XG5cbnR5cGUgVGV4dElucHV0U2l6ZXMgPSBrZXlvZiB0eXBlb2YgaW5wdXRTaXplc1xuXG5leHBvcnQgY29uc3QgdGV4dElucHV0U2l6ZXMgPSBPYmplY3Qua2V5cyhpbnB1dFNpemVzKSBhcyBUZXh0SW5wdXRTaXplc1tdXG5cbmNvbnN0IFN0eWxlZFNlcGFyYXRvciA9IHN0eWxlZChTZXBhcmF0b3IpYFxuICBtYXJnaW46IDFweCAwcHg7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmd9O1xuYFxudHlwZSBTdHlsZWRSaWdodEVsZW1lbnRQcm9wcyA9IHtcbiAgZWRpdD86IGJvb2xlYW5cbiAgdG91Y2hhYmxlPzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRSaWdodEVsZW1lbnQgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnZWRpdCcsICd0b3VjaGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFJpZ2h0RWxlbWVudFByb3BzPmBcbiAgJHsoeyB0aGVtZTogeyBjb2xvcnMsIHNwYWNlIH0gfSkgPT4gY3NzYFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAgJHtzcGFjZVsnMSddfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogJHtzcGFjZVsnMSddfTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMTUwbXMsXG4gICAgICBjb2xvciAxNTBtcztcbiAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgYH1cblxuICAkeyh7IHRvdWNoYWJsZSB9KSA9PlxuICAgIHRvdWNoYWJsZSAmJlxuICAgIGNzc2BcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgPiBidXR0b24ge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYH1cbmBcbnR5cGUgU3R5bGVkTGFiZWxQcm9wcyA9IHtcbiAgJ2FyaWEtbGFiZWwnPzogc3RyaW5nXG4gICdhcmlhLWxpdmUnOiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGVkaXQ/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhblxuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxufSAmIExhYmVsSFRNTEF0dHJpYnV0ZXM8SFRNTExhYmVsRWxlbWVudD5cblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQoJ2xhYmVsJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbJ2VkaXQnLCAnZXJyb3InLCAncmVzaXphYmxlJywgJ2ZpbGxBdmFpbGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZExhYmVsUHJvcHM+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGx9O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEycHgpIHNjYWxlKDEpO1xuXG4gICR7KHsgZWRpdCB9KSA9PlxuICAgIGVkaXQgJiZcbiAgICBjc3NgXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOS42JSwgLTNweCkgc2NhbGUoMC44KTtcbiAgICBgfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyByZWFkT25seSwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICByZWFkT25seSAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07XG4gICAgYH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLmRhbmdlci50ZXh0fTtcbiAgICBgfVxuYFxuXG5jb25zdCBTdHlsZWRSZWxhdGl2ZURpdiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTdHlsZWROb3RpY2UgPSBzdHlsZWQoTm90aWNlKWBcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC41J119O1xuYFxuXG50eXBlIFN0eWxlZElucHV0UHJvcHMgPSB7XG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgaGFzTGFiZWw/OiBib29sZWFuXG4gIHBhZGRpbmdSaWdodEZhY3RvcjogbnVtYmVyXG4gIGlzUGxhY2Vob2xkZXJWaXNpYmxlPzogYm9vbGVhblxuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgaW5wdXRTaXplOiBUZXh0SW5wdXRTaXplc1xuICB1bml0Pzogc3RyaW5nXG4gIHJpZ2h0Q29tcG9uZW50TGVuZ3RoOiBudW1iZXJcbn0gJiAoXG4gIHwgSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlxuICB8IFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD5cbilcblxudHlwZSBJbnB1dFByb3BzID0gT21pdDxcbiAgRXhjbHVkZTxTdHlsZWRJbnB1dFByb3BzLCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+PixcbiAgJ2lucHV0U2l6ZSdcbj5cblxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQoJ2lucHV0Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnYXMnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdmaWxsQXZhaWxhYmxlJyxcbiAgICAgICdoYXNMYWJlbCcsXG4gICAgICAnaXNQbGFjZWhvbGRlclZpc2libGUnLFxuICAgICAgJ211bHRpbGluZScsXG4gICAgICAncmVzaXphYmxlJyxcbiAgICAgICdpbnB1dFNpemUnLFxuICAgICAgJ3BhZGRpbmdSaWdodEZhY3RvcicsXG4gICAgICAncmlnaHRDb21wb25lbnRMZW5ndGgnLFxuICAgICAgJ3VuaXQnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRJbnB1dFByb3BzPmBcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmR9O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWU6IHsgcmFkaWkgfSB9KSA9PiByYWRpaS5kZWZhdWx0fTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy1yaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWU6IHsgc2hhZG93cyB9IH0pID0+IHNoYWRvd3MuZm9jdXNQcmltYXJ5fTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICB9XG5cbiAgJHsoeyBpc1BsYWNlaG9sZGVyVmlzaWJsZSB9KSA9PlxuICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlICYmXG4gICAgYCY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfWB9XG5cbiAgJHsoeyBkaXNhYmxlZCwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBkaXNhYmxlZCAmJlxuICAgIGBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dH07YH1cblxuICAkeyh7IGlucHV0U2l6ZSB9KSA9PiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmRlZmF1bHR9XG5cbiAgJHsoeyBpbnB1dFNpemUsIGhhc0xhYmVsIH0pID0+XG4gICAgISFpbnB1dFNpemUgJiYgIWhhc0xhYmVsICYmIGlucHV0U2l6ZXNbaW5wdXRTaXplXT8uZnVsbH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMsIHNoYWRvd3MgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgYGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlcn07XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJHtzaGFkb3dzLmZvY3VzRGFuZ2VyfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9YH1cblxuICAgICR7KHsgbXVsdGlsaW5lLCByZXNpemFibGUsIGZpbGxBdmFpbGFibGUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgaGVpZ2h0OiAke2ZpbGxBdmFpbGFibGUgPyAnMTAwJScgOiAnaW5pdGlhbCd9O1xuICAgIHJlc2l6ZTogJHtyZXNpemFibGUgPT09IGZhbHNlID8gJ25vbmUnIDogJ3ZlcnRpY2FsJ307XG4gIGB9XG5cbiAgJHsoeyBtdWx0aWxpbmUsIGhhc0xhYmVsLCB0aGVtZSB9KSA9PlxuICAgIG11bHRpbGluZSAmJlxuICAgICFoYXNMYWJlbCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXRvcDogJHt0aGVtZS5zcGFjZVsnMSddfTtcbiAgYH1cblxuICAkeyh7IHBhZGRpbmdSaWdodEZhY3RvciwgcmlnaHRDb21wb25lbnRMZW5ndGgsIHVuaXQsIHRoZW1lIH0pID0+XG4gICAgcGFkZGluZ1JpZ2h0RmFjdG9yID4gMCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCR7XG4gICAgICB1bml0ID8gYCR7dW5pdC5sZW5ndGh9ICogJHt0aGVtZS5zcGFjZVsnMSddfSArIGAgOiAnJ1xuICAgIH0ke1xuICAgICAgcGFkZGluZ1JpZ2h0RmFjdG9yICtcbiAgICAgICh1bml0ID8gcmlnaHRDb21wb25lbnRMZW5ndGggLSAxIDogcmlnaHRDb21wb25lbnRMZW5ndGgpXG4gICAgfSAqICR7dGhlbWUuc3BhY2VbJzQnXX0pO1xuICBgfVxuYFxuXG5jb25zdCBSaWdodENvbXBvbmVudCA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjRweDtcbmBcblxudHlwZSBUZXh0SW5wdXRQcm9wcyA9IHtcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBhcmlhQ29udHJvbHM/OiBzdHJpbmdcbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNvbHM/OiBudW1iZXJcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IHN0cmluZ1xuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxuICBnZW5lcmF0ZWQ/OiBib29sZWFuXG4gIGhlaWdodD86IHN0cmluZyB8IG51bWJlclxuICBpZD86IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIG5hbWU/OiBzdHJpbmdcbiAgbm90aWNlPzogc3RyaW5nXG4gIG5vVG9wTGFiZWw/OiBib29sZWFuXG4gIG9uQmx1cj86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbkNoYW5nZT86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkXG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlVcD86IEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgcmFuZG9tPzogc3RyaW5nXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICByb3dzPzogbnVtYmVyXG4gIHNpemU/OiBUZXh0SW5wdXRTaXplc1xuICB0YWJJbmRleD86IG51bWJlclxuICB0eXBlPzogc3RyaW5nXG4gIHVuaXQ/OiBzdHJpbmdcbiAgdmFsaWQ/OiBib29sZWFuXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyXG4gIHdyYXA/OiBzdHJpbmdcbiAgaW5wdXRQcm9wcz86IElucHV0UHJvcHNcbiAgbWF4PzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWF4J11cbiAgbWluPzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWluJ11cbn0gJiAoXG4gIHwgT21pdDxJbnB1dEhUTUxBdHRyaWJ1dGVzPEhUTUxJbnB1dEVsZW1lbnQ+LCAnb25DaGFuZ2UnPlxuICB8IE9taXQ8VGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbilcblxuY29uc3QgVW5pdExhYmVsID0gc3R5bGVkKFRleHQpYFxuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuYFxuXG4vKipcbiAqIFRleHRJbnB1dCBjb21wb25lbnQgYWxsb3dzIHVzZXJzIHRvIGlucHV0IHRleHQsIHdpdGggb3B0aW9ucyBmb3IgY3VzdG9taXphdGlvbiBhbmQgdmFsaWRhdGlvbi5cbiAqIEl0IHN1cHBvcnRzIHZhcmlvdXMgaW5wdXQgdHlwZXMgYW5kIHNob3VsZCBiZSBhcHByb3ByaWF0ZWx5IHNpemVkIHdpdGggY2xlYXIgbGFiZWxpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBUZXh0SW5wdXQgPSBmb3J3YXJkUmVmPFxuICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB8IG51bGwsXG4gIFRleHRJbnB1dFByb3BzXG4+KFxuICAoXG4gICAge1xuICAgICAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbiAgICAgIGFyaWFDb250cm9scyxcbiAgICAgIGF1dG9Db21wbGV0ZSA9ICdvbicsXG4gICAgICBhdXRvRm9jdXMsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb2xzLFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBlZGl0OiBmb3JjZUVkaXQsXG4gICAgICBlcnJvcixcbiAgICAgIGZpbGxBdmFpbGFibGUsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoZWlnaHQsXG4gICAgICBpZCxcbiAgICAgIGxhYmVsLFxuICAgICAgbXVsdGlsaW5lLFxuICAgICAgbmFtZSxcbiAgICAgIG5vdGljZSxcbiAgICAgIG5vVG9wTGFiZWwgPSBmYWxzZSxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uS2V5VXAsXG4gICAgICBvbktleURvd24sXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIHJhbmRvbSxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgcmVxdWlyZWQsXG4gICAgICByZXNpemFibGUsXG4gICAgICByb3dzLFxuICAgICAgc2l6ZSA9ICdtZWRpdW0nLFxuICAgICAgdGFiSW5kZXgsXG4gICAgICB0eXBlID0gJ3RleHQnLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgdmFsdWUsXG4gICAgICB3cmFwLFxuICAgICAgaW5wdXRQcm9wcyxcbiAgICAgIG1pbixcbiAgICAgIG1heCxcbiAgICB9LFxuICAgIHJlZixcbiAgKSA9PiB7XG4gICAgY29uc3QgY29udHJvbFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gICAgY29uc3QgW3Zpc2l0ZWQsIHNldFZpc2l0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bhc3N3b3JkVmlzaWJsZSwgc2V0UGFzc3dvcmRWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gc2V0UGFzc3dvcmRWaXNpYmxlKHggPT4gIXgpLFxuICAgICAgW10sXG4gICAgKVxuXG4gICAgLy8gRm9yd2FyZCByZWYgdG8gcGFyZW50IHJlZlxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU8dW5rbm93biwgdW5rbm93bj4ocmVmLCAoKSA9PiBjb250cm9sUmVmLCBbXSlcblxuICAgIC8vIEZvY3VzIHdoZW4gcGFzc3dvcmQgaXMgdmlzaWJsZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAocGFzc3dvcmRWaXNpYmxlKSB7XG4gICAgICAgIGNvbnRyb2xSZWY/LmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH1cbiAgICB9LCBbcGFzc3dvcmRWaXNpYmxlXSlcblxuICAgIGNvbnN0IGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpLFxuICAgICAgW3RvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eV0sXG4gICAgKVxuXG4gICAgY29uc3QgcmFuZG9taXplID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiBvbkNoYW5nZT8uKHJhbmRvbU5hbWUocmFuZG9tKSksXG4gICAgICBbb25DaGFuZ2UsIHJhbmRvbV0sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tSYW5kb21pemUgPSB1c2VDYWxsYmFjaygoKSA9PiByYW5kb21pemUoKSwgW3JhbmRvbWl6ZV0pXG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8XG4gICAgICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudFxuICAgID4gPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKCF2aXNpdGVkICYmICFyZWFkT25seSkge1xuICAgICAgICAgIHNldFZpc2l0ZWQodHJ1ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICAgICAgb25Gb2N1cyhldmVudClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFt2aXNpdGVkLCByZWFkT25seSwgb25Gb2N1c10sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PikgPT5cbiAgICAgICAgb25DaGFuZ2U/LihldmVudC50YXJnZXQudmFsdWUpLFxuICAgICAgW29uQ2hhbmdlXSxcbiAgICApXG5cbiAgICBjb25zdCBpc1Bhc3NUb2dnbGVhYmxlID0gdHlwZSA9PT0gJ3RvZ2dsZWFibGUtcGFzc3dvcmQnXG4gICAgY29uc3QgaGFzTGFiZWwgPSAhIWxhYmVsICYmICFub1RvcExhYmVsICYmIHNpemUgPT09ICdtZWRpdW0nXG4gICAgY29uc3QgZWRpdCA9XG4gICAgICBoYXNMYWJlbCAmJiAoZm9yY2VFZGl0IHx8IHZpc2l0ZWQgfHwgdmFsdWUgfHwgZXJyb3IgfHwgZ2VuZXJhdGVkKVxuXG4gICAgY29uc3QgaXNQbGFjZWhvbGRlclZpc2libGUgPSAhaGFzTGFiZWwgfHwgISFlZGl0XG4gICAgY29uc3QgaGFzUmlnaHRFbGVtZW50ID0gISEoXG4gICAgICB2YWxpZCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlIHx8XG4gICAgICByYW5kb20gfHxcbiAgICAgIHVuaXRcbiAgICApXG5cbiAgICBjb25zdCBnZXRUeXBlID0gKCkgPT4ge1xuICAgICAgaWYgKGlzUGFzc1RvZ2dsZWFibGUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3N3b3JkVmlzaWJsZSB8fCBnZW5lcmF0ZWQgPyAndGV4dCcgOiAncGFzc3dvcmQnXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtdWx0aWxpbmUgPyB1bmRlZmluZWQgOiB0eXBlXG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRTaXplID0gc2l6ZVxuXG4gICAgY29uc3QgcmlnaHRDb21wb25lbnRzQXJyYXkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50cyA9IFtdXG5cbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlICYmICFnZW5lcmF0ZWQpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e1xuICAgICAgICAgICAgICBkYXRhVGVzdElkID8gYCR7ZGF0YVRlc3RJZH0tdmlzaWJpbGl0eS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXtwYXNzd29yZFZpc2libGUgPyAnaGlkZScgOiAnc2hvdyd9XG4gICAgICAgICAgICBrZXk9XCJwYXNzd29yZC12aXNpYmxlXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2t9XG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBpY29uPXtwYXNzd29yZFZpc2libGUgPyAnZXllLW9mZicgOiAnZXllJ31cbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChyYW5kb20pIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAga2V5PVwicmFuZG9tXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXJhbmRvbWl6ZS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwicmFuZG9taXplXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrUmFuZG9taXplfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaWNvbj1cImF1dG8tZml4XCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh2YWxpZCA9PT0gZmFsc2UgfHwgdmFsaWQgPT09IHRydWUpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIGtleT1cInZhbGlkXCJcbiAgICAgICAgICAgIG5hbWU9eyF2YWxpZCA/ICdjbG9zZScgOiAnY2hlY2snfVxuICAgICAgICAgICAgY29sb3I9eyF2YWxpZCA/ICdkYW5nZXInIDogJ3N1Y2Nlc3MnfVxuICAgICAgICAgICAgc2l6ZT17MjB9XG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh1bml0KSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxVbml0TGFiZWwga2V5PVwidW5pdFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIiBhcz1cInBcIiBwcm9taW5lbmNlPVwid2Vha1wiPlxuICAgICAgICAgICAge3VuaXR9XG4gICAgICAgICAgPC9Vbml0TGFiZWw+LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByaWdodENvbXBvbmVudHNcbiAgICB9LCBbXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGdlbmVyYXRlZCxcbiAgICAgIGhhbmRsZUNsaWNrUmFuZG9taXplLFxuICAgICAgaGFuZGxlUGFzc1Zpc2liaWxpdHlDbGljayxcbiAgICAgIGlzUGFzc1RvZ2dsZWFibGUsXG4gICAgICBwYXNzd29yZFZpc2libGUsXG4gICAgICByYW5kb20sXG4gICAgICB1bml0LFxuICAgICAgdmFsaWQsXG4gICAgICBkYXRhVGVzdElkLFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG93U2VwYXJhdG9yID0gKHJlcXVpcmVkICYmIGhhc1JpZ2h0RWxlbWVudCkgfHwgdW5pdFxuICAgIGNvbnN0IHBhZGRpbmdSaWdodEZhY3RvciA9IChyZXF1aXJlZCA/IDEgOiAwKSArIChzaG93U2VwYXJhdG9yID8gMC41IDogMClcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgPFN0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICAgIDxTdHlsZWRJbnB1dFxuICAgICAgICAgICAgYXJpYS1jb250cm9scz17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17bGFiZWwgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtoYXNMYWJlbCA/IGFyaWFDb250cm9scyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFzPXttdWx0aWxpbmUgPyAndGV4dGFyZWEnIDogJ2lucHV0J31cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17YXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgICAgICBjb2xzPXtjb2xzfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgZmlsbEF2YWlsYWJsZT17ZmlsbEF2YWlsYWJsZX1cbiAgICAgICAgICAgIGhhc0xhYmVsPXtoYXNMYWJlbH1cbiAgICAgICAgICAgIHBhZGRpbmdSaWdodEZhY3Rvcj17cGFkZGluZ1JpZ2h0RmFjdG9yfVxuICAgICAgICAgICAgcmlnaHRDb21wb25lbnRMZW5ndGg9e3JpZ2h0Q29tcG9uZW50c0FycmF5Lmxlbmd0aH1cbiAgICAgICAgICAgIHVuaXQ9e3VuaXR9XG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICBpbnB1dFNpemU9e2lucHV0U2l6ZX1cbiAgICAgICAgICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlPXtpc1BsYWNlaG9sZGVyVmlzaWJsZX1cbiAgICAgICAgICAgIG11bHRpbGluZT17bXVsdGlsaW5lfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgb25LZXlVcD17b25LZXlVcH1cbiAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgICAgICAgcmVzaXphYmxlPXtyZXNpemFibGV9XG4gICAgICAgICAgICByb3dzPXtyb3dzfVxuICAgICAgICAgICAgc3R5bGU9e3sgaGVpZ2h0IH19XG4gICAgICAgICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICAgICAgICB0eXBlPXtnZXRUeXBlKCl9XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWUgPT09IG51bGwgPyAnJyA6IHZhbHVlfVxuICAgICAgICAgICAgd3JhcD17d3JhcH1cbiAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgbWF4PXttYXh9XG4gICAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtoYXNMYWJlbCAmJiAoXG4gICAgICAgICAgICA8U3R5bGVkTGFiZWxcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgICAgICAgIGlkPXthcmlhQ29udHJvbHN9XG4gICAgICAgICAgICAgIGh0bWxGb3I9e2lkfVxuICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzUmlnaHRFbGVtZW50IHx8IHJlcXVpcmVkID8gKFxuICAgICAgICAgICAgPFN0eWxlZFJpZ2h0RWxlbWVudFxuICAgICAgICAgICAgICBlZGl0PXshIWVkaXR9XG4gICAgICAgICAgICAgIHRvdWNoYWJsZT17aXNQYXNzVG9nZ2xlYWJsZSB8fCAhIXJhbmRvbX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3JlcXVpcmVkID8gKFxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIGNvbG9yPVwiZGFuZ2VyXCIgc2l6ZT17MTB9IC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2hvd1NlcGFyYXRvciA/IDxTdHlsZWRTZXBhcmF0b3IgZGlyZWN0aW9uPVwidmVydGljYWxcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICAgIDxSaWdodENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheX1cbiAgICAgICAgICAgICAgICA8L1JpZ2h0Q29tcG9uZW50PlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkUmlnaHRFbGVtZW50PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICAgIDxTdHlsZWRFcnJvcj57ZXJyb3J9PC9TdHlsZWRFcnJvcj5cbiAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICB7bm90aWNlID8gPFN0eWxlZE5vdGljZT57bm90aWNlfTwvU3R5bGVkTm90aWNlPiA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH0sXG4pXG4iXX0= */"), " ", ({
105
+ readOnly,
106
+ theme: {
107
+ colors
108
+ }
109
+ }) => readOnly && /* @__PURE__ */ css("color:", colors.neutral.textDisabled, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledLabel;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0pPIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHJhbmRvbU5hbWUgZnJvbSAnQHNjYWxld2F5L3JhbmRvbS1uYW1lJ1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHtcbiAgQ2hhbmdlRXZlbnQsXG4gIEZvY3VzRXZlbnRIYW5kbGVyLFxuICBJbnB1dEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTGFiZWxIVE1MQXR0cmlidXRlcyxcbiAgVGV4dGFyZWFIVE1MQXR0cmlidXRlcyxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCB7IEV4cGFuZGFibGUgfSBmcm9tICcuLi9FeHBhbmRhYmxlJ1xuaW1wb3J0IHsgTm90aWNlIH0gZnJvbSAnLi4vTm90aWNlJ1xuaW1wb3J0IHsgU2VwYXJhdG9yIH0gZnJvbSAnLi4vU2VwYXJhdG9yJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBpbnB1dFNpemVzID0ge1xuICBtZWRpdW06IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICBgLFxuICAgIGZ1bGw6IGBcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICBgLFxuICB9LFxuICBzbWFsbDoge1xuICAgIGRlZmF1bHQ6IGBcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGAsXG4gIH0sXG59XG5cbnR5cGUgVGV4dElucHV0U2l6ZXMgPSBrZXlvZiB0eXBlb2YgaW5wdXRTaXplc1xuXG5leHBvcnQgY29uc3QgdGV4dElucHV0U2l6ZXMgPSBPYmplY3Qua2V5cyhpbnB1dFNpemVzKSBhcyBUZXh0SW5wdXRTaXplc1tdXG5cbmNvbnN0IFN0eWxlZFNlcGFyYXRvciA9IHN0eWxlZChTZXBhcmF0b3IpYFxuICBtYXJnaW46IDFweCAwcHg7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmd9O1xuYFxudHlwZSBTdHlsZWRSaWdodEVsZW1lbnRQcm9wcyA9IHtcbiAgZWRpdD86IGJvb2xlYW5cbiAgdG91Y2hhYmxlPzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRSaWdodEVsZW1lbnQgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnZWRpdCcsICd0b3VjaGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFJpZ2h0RWxlbWVudFByb3BzPmBcbiAgJHsoeyB0aGVtZTogeyBjb2xvcnMsIHNwYWNlIH0gfSkgPT4gY3NzYFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAgJHtzcGFjZVsnMSddfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogJHtzcGFjZVsnMSddfTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMTUwbXMsXG4gICAgICBjb2xvciAxNTBtcztcbiAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgYH1cblxuICAkeyh7IHRvdWNoYWJsZSB9KSA9PlxuICAgIHRvdWNoYWJsZSAmJlxuICAgIGNzc2BcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgPiBidXR0b24ge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYH1cbmBcbnR5cGUgU3R5bGVkTGFiZWxQcm9wcyA9IHtcbiAgJ2FyaWEtbGFiZWwnPzogc3RyaW5nXG4gICdhcmlhLWxpdmUnOiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGVkaXQ/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhblxuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxufSAmIExhYmVsSFRNTEF0dHJpYnV0ZXM8SFRNTExhYmVsRWxlbWVudD5cblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQoJ2xhYmVsJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbJ2VkaXQnLCAnZXJyb3InLCAncmVzaXphYmxlJywgJ2ZpbGxBdmFpbGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZExhYmVsUHJvcHM+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGx9O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEycHgpIHNjYWxlKDEpO1xuXG4gICR7KHsgZWRpdCB9KSA9PlxuICAgIGVkaXQgJiZcbiAgICBjc3NgXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOS42JSwgLTNweCkgc2NhbGUoMC44KTtcbiAgICBgfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyByZWFkT25seSwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICByZWFkT25seSAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07XG4gICAgYH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLmRhbmdlci50ZXh0fTtcbiAgICBgfVxuYFxuXG5jb25zdCBTdHlsZWRSZWxhdGl2ZURpdiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTdHlsZWROb3RpY2UgPSBzdHlsZWQoTm90aWNlKWBcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC41J119O1xuYFxuXG50eXBlIFN0eWxlZElucHV0UHJvcHMgPSB7XG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgaGFzTGFiZWw/OiBib29sZWFuXG4gIHBhZGRpbmdSaWdodEZhY3RvcjogbnVtYmVyXG4gIGlzUGxhY2Vob2xkZXJWaXNpYmxlPzogYm9vbGVhblxuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgaW5wdXRTaXplOiBUZXh0SW5wdXRTaXplc1xuICB1bml0Pzogc3RyaW5nXG4gIHJpZ2h0Q29tcG9uZW50TGVuZ3RoOiBudW1iZXJcbn0gJiAoXG4gIHwgSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlxuICB8IFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD5cbilcblxudHlwZSBJbnB1dFByb3BzID0gT21pdDxcbiAgRXhjbHVkZTxTdHlsZWRJbnB1dFByb3BzLCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+PixcbiAgJ2lucHV0U2l6ZSdcbj5cblxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQoJ2lucHV0Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnYXMnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdmaWxsQXZhaWxhYmxlJyxcbiAgICAgICdoYXNMYWJlbCcsXG4gICAgICAnaXNQbGFjZWhvbGRlclZpc2libGUnLFxuICAgICAgJ211bHRpbGluZScsXG4gICAgICAncmVzaXphYmxlJyxcbiAgICAgICdpbnB1dFNpemUnLFxuICAgICAgJ3BhZGRpbmdSaWdodEZhY3RvcicsXG4gICAgICAncmlnaHRDb21wb25lbnRMZW5ndGgnLFxuICAgICAgJ3VuaXQnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRJbnB1dFByb3BzPmBcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmR9O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWU6IHsgcmFkaWkgfSB9KSA9PiByYWRpaS5kZWZhdWx0fTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy1yaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWU6IHsgc2hhZG93cyB9IH0pID0+IHNoYWRvd3MuZm9jdXNQcmltYXJ5fTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICB9XG5cbiAgJHsoeyBpc1BsYWNlaG9sZGVyVmlzaWJsZSB9KSA9PlxuICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlICYmXG4gICAgYCY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfWB9XG5cbiAgJHsoeyBkaXNhYmxlZCwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBkaXNhYmxlZCAmJlxuICAgIGBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dH07YH1cblxuICAkeyh7IGlucHV0U2l6ZSB9KSA9PiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmRlZmF1bHR9XG5cbiAgJHsoeyBpbnB1dFNpemUsIGhhc0xhYmVsIH0pID0+XG4gICAgISFpbnB1dFNpemUgJiYgIWhhc0xhYmVsICYmIGlucHV0U2l6ZXNbaW5wdXRTaXplXT8uZnVsbH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMsIHNoYWRvd3MgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgYGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlcn07XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJHtzaGFkb3dzLmZvY3VzRGFuZ2VyfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9YH1cblxuICAgICR7KHsgbXVsdGlsaW5lLCByZXNpemFibGUsIGZpbGxBdmFpbGFibGUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgaGVpZ2h0OiAke2ZpbGxBdmFpbGFibGUgPyAnMTAwJScgOiAnaW5pdGlhbCd9O1xuICAgIHJlc2l6ZTogJHtyZXNpemFibGUgPT09IGZhbHNlID8gJ25vbmUnIDogJ3ZlcnRpY2FsJ307XG4gIGB9XG5cbiAgJHsoeyBtdWx0aWxpbmUsIGhhc0xhYmVsLCB0aGVtZSB9KSA9PlxuICAgIG11bHRpbGluZSAmJlxuICAgICFoYXNMYWJlbCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXRvcDogJHt0aGVtZS5zcGFjZVsnMSddfTtcbiAgYH1cblxuICAkeyh7IHBhZGRpbmdSaWdodEZhY3RvciwgcmlnaHRDb21wb25lbnRMZW5ndGgsIHVuaXQsIHRoZW1lIH0pID0+XG4gICAgcGFkZGluZ1JpZ2h0RmFjdG9yID4gMCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCR7XG4gICAgICB1bml0ID8gYCR7dW5pdC5sZW5ndGh9ICogJHt0aGVtZS5zcGFjZVsnMSddfSArIGAgOiAnJ1xuICAgIH0ke1xuICAgICAgcGFkZGluZ1JpZ2h0RmFjdG9yICtcbiAgICAgICh1bml0ID8gcmlnaHRDb21wb25lbnRMZW5ndGggLSAxIDogcmlnaHRDb21wb25lbnRMZW5ndGgpXG4gICAgfSAqICR7dGhlbWUuc3BhY2VbJzQnXX0pO1xuICBgfVxuYFxuXG5jb25zdCBSaWdodENvbXBvbmVudCA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjRweDtcbmBcblxudHlwZSBUZXh0SW5wdXRQcm9wcyA9IHtcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBhcmlhQ29udHJvbHM/OiBzdHJpbmdcbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNvbHM/OiBudW1iZXJcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IHN0cmluZ1xuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxuICBnZW5lcmF0ZWQ/OiBib29sZWFuXG4gIGhlaWdodD86IHN0cmluZyB8IG51bWJlclxuICBpZD86IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIG5hbWU/OiBzdHJpbmdcbiAgbm90aWNlPzogc3RyaW5nXG4gIG5vVG9wTGFiZWw/OiBib29sZWFuXG4gIG9uQmx1cj86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbkNoYW5nZT86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkXG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlVcD86IEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgcmFuZG9tPzogc3RyaW5nXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICByb3dzPzogbnVtYmVyXG4gIHNpemU/OiBUZXh0SW5wdXRTaXplc1xuICB0YWJJbmRleD86IG51bWJlclxuICB0eXBlPzogc3RyaW5nXG4gIHVuaXQ/OiBzdHJpbmdcbiAgdmFsaWQ/OiBib29sZWFuXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyXG4gIHdyYXA/OiBzdHJpbmdcbiAgaW5wdXRQcm9wcz86IElucHV0UHJvcHNcbiAgbWF4PzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWF4J11cbiAgbWluPzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWluJ11cbn0gJiAoXG4gIHwgT21pdDxJbnB1dEhUTUxBdHRyaWJ1dGVzPEhUTUxJbnB1dEVsZW1lbnQ+LCAnb25DaGFuZ2UnPlxuICB8IE9taXQ8VGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbilcblxuY29uc3QgVW5pdExhYmVsID0gc3R5bGVkKFRleHQpYFxuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuYFxuXG4vKipcbiAqIFRleHRJbnB1dCBjb21wb25lbnQgYWxsb3dzIHVzZXJzIHRvIGlucHV0IHRleHQsIHdpdGggb3B0aW9ucyBmb3IgY3VzdG9taXphdGlvbiBhbmQgdmFsaWRhdGlvbi5cbiAqIEl0IHN1cHBvcnRzIHZhcmlvdXMgaW5wdXQgdHlwZXMgYW5kIHNob3VsZCBiZSBhcHByb3ByaWF0ZWx5IHNpemVkIHdpdGggY2xlYXIgbGFiZWxpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBUZXh0SW5wdXQgPSBmb3J3YXJkUmVmPFxuICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB8IG51bGwsXG4gIFRleHRJbnB1dFByb3BzXG4+KFxuICAoXG4gICAge1xuICAgICAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbiAgICAgIGFyaWFDb250cm9scyxcbiAgICAgIGF1dG9Db21wbGV0ZSA9ICdvbicsXG4gICAgICBhdXRvRm9jdXMsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb2xzLFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBlZGl0OiBmb3JjZUVkaXQsXG4gICAgICBlcnJvcixcbiAgICAgIGZpbGxBdmFpbGFibGUsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoZWlnaHQsXG4gICAgICBpZCxcbiAgICAgIGxhYmVsLFxuICAgICAgbXVsdGlsaW5lLFxuICAgICAgbmFtZSxcbiAgICAgIG5vdGljZSxcbiAgICAgIG5vVG9wTGFiZWwgPSBmYWxzZSxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uS2V5VXAsXG4gICAgICBvbktleURvd24sXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIHJhbmRvbSxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgcmVxdWlyZWQsXG4gICAgICByZXNpemFibGUsXG4gICAgICByb3dzLFxuICAgICAgc2l6ZSA9ICdtZWRpdW0nLFxuICAgICAgdGFiSW5kZXgsXG4gICAgICB0eXBlID0gJ3RleHQnLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgdmFsdWUsXG4gICAgICB3cmFwLFxuICAgICAgaW5wdXRQcm9wcyxcbiAgICAgIG1pbixcbiAgICAgIG1heCxcbiAgICB9LFxuICAgIHJlZixcbiAgKSA9PiB7XG4gICAgY29uc3QgY29udHJvbFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gICAgY29uc3QgW3Zpc2l0ZWQsIHNldFZpc2l0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bhc3N3b3JkVmlzaWJsZSwgc2V0UGFzc3dvcmRWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gc2V0UGFzc3dvcmRWaXNpYmxlKHggPT4gIXgpLFxuICAgICAgW10sXG4gICAgKVxuXG4gICAgLy8gRm9yd2FyZCByZWYgdG8gcGFyZW50IHJlZlxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU8dW5rbm93biwgdW5rbm93bj4ocmVmLCAoKSA9PiBjb250cm9sUmVmLCBbXSlcblxuICAgIC8vIEZvY3VzIHdoZW4gcGFzc3dvcmQgaXMgdmlzaWJsZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAocGFzc3dvcmRWaXNpYmxlKSB7XG4gICAgICAgIGNvbnRyb2xSZWY/LmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH1cbiAgICB9LCBbcGFzc3dvcmRWaXNpYmxlXSlcblxuICAgIGNvbnN0IGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpLFxuICAgICAgW3RvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eV0sXG4gICAgKVxuXG4gICAgY29uc3QgcmFuZG9taXplID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiBvbkNoYW5nZT8uKHJhbmRvbU5hbWUocmFuZG9tKSksXG4gICAgICBbb25DaGFuZ2UsIHJhbmRvbV0sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tSYW5kb21pemUgPSB1c2VDYWxsYmFjaygoKSA9PiByYW5kb21pemUoKSwgW3JhbmRvbWl6ZV0pXG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8XG4gICAgICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudFxuICAgID4gPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKCF2aXNpdGVkICYmICFyZWFkT25seSkge1xuICAgICAgICAgIHNldFZpc2l0ZWQodHJ1ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICAgICAgb25Gb2N1cyhldmVudClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFt2aXNpdGVkLCByZWFkT25seSwgb25Gb2N1c10sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PikgPT5cbiAgICAgICAgb25DaGFuZ2U/LihldmVudC50YXJnZXQudmFsdWUpLFxuICAgICAgW29uQ2hhbmdlXSxcbiAgICApXG5cbiAgICBjb25zdCBpc1Bhc3NUb2dnbGVhYmxlID0gdHlwZSA9PT0gJ3RvZ2dsZWFibGUtcGFzc3dvcmQnXG4gICAgY29uc3QgaGFzTGFiZWwgPSAhIWxhYmVsICYmICFub1RvcExhYmVsICYmIHNpemUgPT09ICdtZWRpdW0nXG4gICAgY29uc3QgZWRpdCA9XG4gICAgICBoYXNMYWJlbCAmJiAoZm9yY2VFZGl0IHx8IHZpc2l0ZWQgfHwgdmFsdWUgfHwgZXJyb3IgfHwgZ2VuZXJhdGVkKVxuXG4gICAgY29uc3QgaXNQbGFjZWhvbGRlclZpc2libGUgPSAhaGFzTGFiZWwgfHwgISFlZGl0XG4gICAgY29uc3QgaGFzUmlnaHRFbGVtZW50ID0gISEoXG4gICAgICB2YWxpZCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlIHx8XG4gICAgICByYW5kb20gfHxcbiAgICAgIHVuaXRcbiAgICApXG5cbiAgICBjb25zdCBnZXRUeXBlID0gKCkgPT4ge1xuICAgICAgaWYgKGlzUGFzc1RvZ2dsZWFibGUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3N3b3JkVmlzaWJsZSB8fCBnZW5lcmF0ZWQgPyAndGV4dCcgOiAncGFzc3dvcmQnXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtdWx0aWxpbmUgPyB1bmRlZmluZWQgOiB0eXBlXG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRTaXplID0gc2l6ZVxuXG4gICAgY29uc3QgcmlnaHRDb21wb25lbnRzQXJyYXkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50cyA9IFtdXG5cbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlICYmICFnZW5lcmF0ZWQpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e1xuICAgICAgICAgICAgICBkYXRhVGVzdElkID8gYCR7ZGF0YVRlc3RJZH0tdmlzaWJpbGl0eS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXtwYXNzd29yZFZpc2libGUgPyAnaGlkZScgOiAnc2hvdyd9XG4gICAgICAgICAgICBrZXk9XCJwYXNzd29yZC12aXNpYmxlXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2t9XG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBpY29uPXtwYXNzd29yZFZpc2libGUgPyAnZXllLW9mZicgOiAnZXllJ31cbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChyYW5kb20pIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAga2V5PVwicmFuZG9tXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXJhbmRvbWl6ZS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwicmFuZG9taXplXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrUmFuZG9taXplfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaWNvbj1cImF1dG8tZml4XCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh2YWxpZCA9PT0gZmFsc2UgfHwgdmFsaWQgPT09IHRydWUpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIGtleT1cInZhbGlkXCJcbiAgICAgICAgICAgIG5hbWU9eyF2YWxpZCA/ICdjbG9zZScgOiAnY2hlY2snfVxuICAgICAgICAgICAgY29sb3I9eyF2YWxpZCA/ICdkYW5nZXInIDogJ3N1Y2Nlc3MnfVxuICAgICAgICAgICAgc2l6ZT17MjB9XG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh1bml0KSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxVbml0TGFiZWwga2V5PVwidW5pdFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIiBhcz1cInBcIiBwcm9taW5lbmNlPVwid2Vha1wiPlxuICAgICAgICAgICAge3VuaXR9XG4gICAgICAgICAgPC9Vbml0TGFiZWw+LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByaWdodENvbXBvbmVudHNcbiAgICB9LCBbXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGdlbmVyYXRlZCxcbiAgICAgIGhhbmRsZUNsaWNrUmFuZG9taXplLFxuICAgICAgaGFuZGxlUGFzc1Zpc2liaWxpdHlDbGljayxcbiAgICAgIGlzUGFzc1RvZ2dsZWFibGUsXG4gICAgICBwYXNzd29yZFZpc2libGUsXG4gICAgICByYW5kb20sXG4gICAgICB1bml0LFxuICAgICAgdmFsaWQsXG4gICAgICBkYXRhVGVzdElkLFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG93U2VwYXJhdG9yID0gKHJlcXVpcmVkICYmIGhhc1JpZ2h0RWxlbWVudCkgfHwgdW5pdFxuICAgIGNvbnN0IHBhZGRpbmdSaWdodEZhY3RvciA9IChyZXF1aXJlZCA/IDEgOiAwKSArIChzaG93U2VwYXJhdG9yID8gMC41IDogMClcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgPFN0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICAgIDxTdHlsZWRJbnB1dFxuICAgICAgICAgICAgYXJpYS1jb250cm9scz17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17bGFiZWwgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtoYXNMYWJlbCA/IGFyaWFDb250cm9scyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFzPXttdWx0aWxpbmUgPyAndGV4dGFyZWEnIDogJ2lucHV0J31cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17YXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgICAgICBjb2xzPXtjb2xzfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgZmlsbEF2YWlsYWJsZT17ZmlsbEF2YWlsYWJsZX1cbiAgICAgICAgICAgIGhhc0xhYmVsPXtoYXNMYWJlbH1cbiAgICAgICAgICAgIHBhZGRpbmdSaWdodEZhY3Rvcj17cGFkZGluZ1JpZ2h0RmFjdG9yfVxuICAgICAgICAgICAgcmlnaHRDb21wb25lbnRMZW5ndGg9e3JpZ2h0Q29tcG9uZW50c0FycmF5Lmxlbmd0aH1cbiAgICAgICAgICAgIHVuaXQ9e3VuaXR9XG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICBpbnB1dFNpemU9e2lucHV0U2l6ZX1cbiAgICAgICAgICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlPXtpc1BsYWNlaG9sZGVyVmlzaWJsZX1cbiAgICAgICAgICAgIG11bHRpbGluZT17bXVsdGlsaW5lfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgb25LZXlVcD17b25LZXlVcH1cbiAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgICAgICAgcmVzaXphYmxlPXtyZXNpemFibGV9XG4gICAgICAgICAgICByb3dzPXtyb3dzfVxuICAgICAgICAgICAgc3R5bGU9e3sgaGVpZ2h0IH19XG4gICAgICAgICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICAgICAgICB0eXBlPXtnZXRUeXBlKCl9XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWUgPT09IG51bGwgPyAnJyA6IHZhbHVlfVxuICAgICAgICAgICAgd3JhcD17d3JhcH1cbiAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgbWF4PXttYXh9XG4gICAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtoYXNMYWJlbCAmJiAoXG4gICAgICAgICAgICA8U3R5bGVkTGFiZWxcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgICAgICAgIGlkPXthcmlhQ29udHJvbHN9XG4gICAgICAgICAgICAgIGh0bWxGb3I9e2lkfVxuICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzUmlnaHRFbGVtZW50IHx8IHJlcXVpcmVkID8gKFxuICAgICAgICAgICAgPFN0eWxlZFJpZ2h0RWxlbWVudFxuICAgICAgICAgICAgICBlZGl0PXshIWVkaXR9XG4gICAgICAgICAgICAgIHRvdWNoYWJsZT17aXNQYXNzVG9nZ2xlYWJsZSB8fCAhIXJhbmRvbX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3JlcXVpcmVkID8gKFxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIGNvbG9yPVwiZGFuZ2VyXCIgc2l6ZT17MTB9IC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2hvd1NlcGFyYXRvciA/IDxTdHlsZWRTZXBhcmF0b3IgZGlyZWN0aW9uPVwidmVydGljYWxcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICAgIDxSaWdodENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheX1cbiAgICAgICAgICAgICAgICA8L1JpZ2h0Q29tcG9uZW50PlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkUmlnaHRFbGVtZW50PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICAgIDxTdHlsZWRFcnJvcj57ZXJyb3J9PC9TdHlsZWRFcnJvcj5cbiAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICB7bm90aWNlID8gPFN0eWxlZE5vdGljZT57bm90aWNlfTwvU3R5bGVkTm90aWNlPiA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH0sXG4pXG4iXX0= */"), " ", ({
110
+ error,
111
+ theme: {
112
+ colors
113
+ }
114
+ }) => error && /* @__PURE__ */ css("color:", colors.danger.text, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledLabel;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEpPIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHJhbmRvbU5hbWUgZnJvbSAnQHNjYWxld2F5L3JhbmRvbS1uYW1lJ1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJ0B1bHRyYXZpb2xldC9pY29ucydcbmltcG9ydCB0eXBlIHtcbiAgQ2hhbmdlRXZlbnQsXG4gIEZvY3VzRXZlbnRIYW5kbGVyLFxuICBJbnB1dEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTGFiZWxIVE1MQXR0cmlidXRlcyxcbiAgVGV4dGFyZWFIVE1MQXR0cmlidXRlcyxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCB7IEV4cGFuZGFibGUgfSBmcm9tICcuLi9FeHBhbmRhYmxlJ1xuaW1wb3J0IHsgTm90aWNlIH0gZnJvbSAnLi4vTm90aWNlJ1xuaW1wb3J0IHsgU2VwYXJhdG9yIH0gZnJvbSAnLi4vU2VwYXJhdG9yJ1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICcuLi9TdGFjaydcbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi9UZXh0J1xuXG5jb25zdCBpbnB1dFNpemVzID0ge1xuICBtZWRpdW06IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTRweDtcbiAgICBgLFxuICAgIGZ1bGw6IGBcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICBgLFxuICB9LFxuICBzbWFsbDoge1xuICAgIGRlZmF1bHQ6IGBcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGAsXG4gIH0sXG59XG5cbnR5cGUgVGV4dElucHV0U2l6ZXMgPSBrZXlvZiB0eXBlb2YgaW5wdXRTaXplc1xuXG5leHBvcnQgY29uc3QgdGV4dElucHV0U2l6ZXMgPSBPYmplY3Qua2V5cyhpbnB1dFNpemVzKSBhcyBUZXh0SW5wdXRTaXplc1tdXG5cbmNvbnN0IFN0eWxlZFNlcGFyYXRvciA9IHN0eWxlZChTZXBhcmF0b3IpYFxuICBtYXJnaW46IDFweCAwcHg7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRTdHJvbmd9O1xuYFxudHlwZSBTdHlsZWRSaWdodEVsZW1lbnRQcm9wcyA9IHtcbiAgZWRpdD86IGJvb2xlYW5cbiAgdG91Y2hhYmxlPzogYm9vbGVhblxufVxuXG5jb25zdCBTdHlsZWRSaWdodEVsZW1lbnQgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnZWRpdCcsICd0b3VjaGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZFJpZ2h0RWxlbWVudFByb3BzPmBcbiAgJHsoeyB0aGVtZTogeyBjb2xvcnMsIHNwYWNlIH0gfSkgPT4gY3NzYFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAgJHtzcGFjZVsnMSddfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogJHtzcGFjZVsnMSddfTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMTUwbXMsXG4gICAgICBjb2xvciAxNTBtcztcbiAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgYH1cblxuICAkeyh7IHRvdWNoYWJsZSB9KSA9PlxuICAgIHRvdWNoYWJsZSAmJlxuICAgIGNzc2BcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgPiBidXR0b24ge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYH1cbmBcbnR5cGUgU3R5bGVkTGFiZWxQcm9wcyA9IHtcbiAgJ2FyaWEtbGFiZWwnPzogc3RyaW5nXG4gICdhcmlhLWxpdmUnOiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGVkaXQ/OiBib29sZWFuXG4gIGVycm9yPzogYm9vbGVhblxuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxufSAmIExhYmVsSFRNTEF0dHJpYnV0ZXM8SFRNTExhYmVsRWxlbWVudD5cblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQoJ2xhYmVsJywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbJ2VkaXQnLCAnZXJyb3InLCAncmVzaXphYmxlJywgJ2ZpbGxBdmFpbGFibGUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPFN0eWxlZExhYmVsUHJvcHM+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGx9O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEycHgpIHNjYWxlKDEpO1xuXG4gICR7KHsgZWRpdCB9KSA9PlxuICAgIGVkaXQgJiZcbiAgICBjc3NgXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOS42JSwgLTNweCkgc2NhbGUoMC44KTtcbiAgICBgfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyByZWFkT25seSwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICByZWFkT25seSAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07XG4gICAgYH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLmRhbmdlci50ZXh0fTtcbiAgICBgfVxuYFxuXG5jb25zdCBTdHlsZWRSZWxhdGl2ZURpdiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmBcblxuY29uc3QgU3R5bGVkRXJyb3IgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5kYW5nZXIudGV4dH07XG4gIHBhZGRpbmctdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuYFxuXG5jb25zdCBTdHlsZWROb3RpY2UgPSBzdHlsZWQoTm90aWNlKWBcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC41J119O1xuYFxuXG50eXBlIFN0eWxlZElucHV0UHJvcHMgPSB7XG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgaGFzTGFiZWw/OiBib29sZWFuXG4gIHBhZGRpbmdSaWdodEZhY3RvcjogbnVtYmVyXG4gIGlzUGxhY2Vob2xkZXJWaXNpYmxlPzogYm9vbGVhblxuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgaW5wdXRTaXplOiBUZXh0SW5wdXRTaXplc1xuICB1bml0Pzogc3RyaW5nXG4gIHJpZ2h0Q29tcG9uZW50TGVuZ3RoOiBudW1iZXJcbn0gJiAoXG4gIHwgSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlxuICB8IFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD5cbilcblxudHlwZSBJbnB1dFByb3BzID0gT21pdDxcbiAgRXhjbHVkZTxTdHlsZWRJbnB1dFByb3BzLCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+PixcbiAgJ2lucHV0U2l6ZSdcbj5cblxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQoJ2lucHV0Jywge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PlxuICAgICFbXG4gICAgICAnYXMnLFxuICAgICAgJ2Vycm9yJyxcbiAgICAgICdmaWxsQXZhaWxhYmxlJyxcbiAgICAgICdoYXNMYWJlbCcsXG4gICAgICAnaXNQbGFjZWhvbGRlclZpc2libGUnLFxuICAgICAgJ211bHRpbGluZScsXG4gICAgICAncmVzaXphYmxlJyxcbiAgICAgICdpbnB1dFNpemUnLFxuICAgICAgJ3BhZGRpbmdSaWdodEZhY3RvcicsXG4gICAgICAncmlnaHRDb21wb25lbnRMZW5ndGgnLFxuICAgICAgJ3VuaXQnLFxuICAgIF0uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRJbnB1dFByb3BzPmBcbiAgdHJhbnNpdGlvbjpcbiAgICBib3JkZXItY29sb3IgMC4ycyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmR9O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWU6IHsgcmFkaWkgfSB9KSA9PiByYWRpaS5kZWZhdWx0fTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy1yaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfTtcbiAgcGFkZGluZy10b3A6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHRXZWFrfTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR7KHsgdGhlbWU6IHsgc2hhZG93cyB9IH0pID0+IHNoYWRvd3MuZm9jdXNQcmltYXJ5fTtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLnByaW1hcnkuYm9yZGVySG92ZXJ9O1xuICB9XG5cbiAgJHsoeyBpc1BsYWNlaG9sZGVyVmlzaWJsZSB9KSA9PlxuICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlICYmXG4gICAgYCY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfWB9XG5cbiAgJHsoeyBkaXNhYmxlZCwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBkaXNhYmxlZCAmJlxuICAgIGBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kRGlzYWJsZWR9O1xuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMubmV1dHJhbC5ib3JkZXJEaXNhYmxlZH07XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dH07YH1cblxuICAkeyh7IGlucHV0U2l6ZSB9KSA9PiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmRlZmF1bHR9XG5cbiAgJHsoeyBpbnB1dFNpemUsIGhhc0xhYmVsIH0pID0+XG4gICAgISFpbnB1dFNpemUgJiYgIWhhc0xhYmVsICYmIGlucHV0U2l6ZXNbaW5wdXRTaXplXT8uZnVsbH1cblxuICAkeyh7IGVycm9yLCB0aGVtZTogeyBjb2xvcnMsIHNoYWRvd3MgfSB9KSA9PlxuICAgIGVycm9yICYmXG4gICAgYGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlcn07XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAke2NvbG9ycy5kYW5nZXIuYm9yZGVySG92ZXJ9O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJHtzaGFkb3dzLmZvY3VzRGFuZ2VyfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9YH1cblxuICAgICR7KHsgbXVsdGlsaW5lLCByZXNpemFibGUsIGZpbGxBdmFpbGFibGUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgaGVpZ2h0OiAke2ZpbGxBdmFpbGFibGUgPyAnMTAwJScgOiAnaW5pdGlhbCd9O1xuICAgIHJlc2l6ZTogJHtyZXNpemFibGUgPT09IGZhbHNlID8gJ25vbmUnIDogJ3ZlcnRpY2FsJ307XG4gIGB9XG5cbiAgJHsoeyBtdWx0aWxpbmUsIGhhc0xhYmVsLCB0aGVtZSB9KSA9PlxuICAgIG11bHRpbGluZSAmJlxuICAgICFoYXNMYWJlbCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXRvcDogJHt0aGVtZS5zcGFjZVsnMSddfTtcbiAgYH1cblxuICAkeyh7IHBhZGRpbmdSaWdodEZhY3RvciwgcmlnaHRDb21wb25lbnRMZW5ndGgsIHVuaXQsIHRoZW1lIH0pID0+XG4gICAgcGFkZGluZ1JpZ2h0RmFjdG9yID4gMCAmJlxuICAgIGBcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCR7XG4gICAgICB1bml0ID8gYCR7dW5pdC5sZW5ndGh9ICogJHt0aGVtZS5zcGFjZVsnMSddfSArIGAgOiAnJ1xuICAgIH0ke1xuICAgICAgcGFkZGluZ1JpZ2h0RmFjdG9yICtcbiAgICAgICh1bml0ID8gcmlnaHRDb21wb25lbnRMZW5ndGggLSAxIDogcmlnaHRDb21wb25lbnRMZW5ndGgpXG4gICAgfSAqICR7dGhlbWUuc3BhY2VbJzQnXX0pO1xuICBgfVxuYFxuXG5jb25zdCBSaWdodENvbXBvbmVudCA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjRweDtcbmBcblxudHlwZSBUZXh0SW5wdXRQcm9wcyA9IHtcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBhcmlhQ29udHJvbHM/OiBzdHJpbmdcbiAgYXV0b0NvbXBsZXRlPzogc3RyaW5nXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGNvbHM/OiBudW1iZXJcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IHN0cmluZ1xuICBmaWxsQXZhaWxhYmxlPzogYm9vbGVhblxuICBnZW5lcmF0ZWQ/OiBib29sZWFuXG4gIGhlaWdodD86IHN0cmluZyB8IG51bWJlclxuICBpZD86IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIG5hbWU/OiBzdHJpbmdcbiAgbm90aWNlPzogc3RyaW5nXG4gIG5vVG9wTGFiZWw/OiBib29sZWFuXG4gIG9uQmx1cj86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbkNoYW5nZT86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkXG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlVcD86IEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PlxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgcmFuZG9tPzogc3RyaW5nXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgcmVzaXphYmxlPzogYm9vbGVhblxuICByb3dzPzogbnVtYmVyXG4gIHNpemU/OiBUZXh0SW5wdXRTaXplc1xuICB0YWJJbmRleD86IG51bWJlclxuICB0eXBlPzogc3RyaW5nXG4gIHVuaXQ/OiBzdHJpbmdcbiAgdmFsaWQ/OiBib29sZWFuXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyXG4gIHdyYXA/OiBzdHJpbmdcbiAgaW5wdXRQcm9wcz86IElucHV0UHJvcHNcbiAgbWF4PzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWF4J11cbiAgbWluPzogSW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PlsnbWluJ11cbn0gJiAoXG4gIHwgT21pdDxJbnB1dEhUTUxBdHRyaWJ1dGVzPEhUTUxJbnB1dEVsZW1lbnQ+LCAnb25DaGFuZ2UnPlxuICB8IE9taXQ8VGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbilcblxuY29uc3QgVW5pdExhYmVsID0gc3R5bGVkKFRleHQpYFxuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycxJ119IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuYFxuXG4vKipcbiAqIFRleHRJbnB1dCBjb21wb25lbnQgYWxsb3dzIHVzZXJzIHRvIGlucHV0IHRleHQsIHdpdGggb3B0aW9ucyBmb3IgY3VzdG9taXphdGlvbiBhbmQgdmFsaWRhdGlvbi5cbiAqIEl0IHN1cHBvcnRzIHZhcmlvdXMgaW5wdXQgdHlwZXMgYW5kIHNob3VsZCBiZSBhcHByb3ByaWF0ZWx5IHNpemVkIHdpdGggY2xlYXIgbGFiZWxpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBUZXh0SW5wdXQgPSBmb3J3YXJkUmVmPFxuICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCB8IG51bGwsXG4gIFRleHRJbnB1dFByb3BzXG4+KFxuICAoXG4gICAge1xuICAgICAgJ2RhdGEtdGVzdGlkJzogZGF0YVRlc3RJZCxcbiAgICAgIGFyaWFDb250cm9scyxcbiAgICAgIGF1dG9Db21wbGV0ZSA9ICdvbicsXG4gICAgICBhdXRvRm9jdXMsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb2xzLFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBlZGl0OiBmb3JjZUVkaXQsXG4gICAgICBlcnJvcixcbiAgICAgIGZpbGxBdmFpbGFibGUsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoZWlnaHQsXG4gICAgICBpZCxcbiAgICAgIGxhYmVsLFxuICAgICAgbXVsdGlsaW5lLFxuICAgICAgbmFtZSxcbiAgICAgIG5vdGljZSxcbiAgICAgIG5vVG9wTGFiZWwgPSBmYWxzZSxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uS2V5VXAsXG4gICAgICBvbktleURvd24sXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIHJhbmRvbSxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgcmVxdWlyZWQsXG4gICAgICByZXNpemFibGUsXG4gICAgICByb3dzLFxuICAgICAgc2l6ZSA9ICdtZWRpdW0nLFxuICAgICAgdGFiSW5kZXgsXG4gICAgICB0eXBlID0gJ3RleHQnLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgdmFsdWUsXG4gICAgICB3cmFwLFxuICAgICAgaW5wdXRQcm9wcyxcbiAgICAgIG1pbixcbiAgICAgIG1heCxcbiAgICB9LFxuICAgIHJlZixcbiAgKSA9PiB7XG4gICAgY29uc3QgY29udHJvbFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKVxuXG4gICAgY29uc3QgW3Zpc2l0ZWQsIHNldFZpc2l0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bhc3N3b3JkVmlzaWJsZSwgc2V0UGFzc3dvcmRWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gc2V0UGFzc3dvcmRWaXNpYmxlKHggPT4gIXgpLFxuICAgICAgW10sXG4gICAgKVxuXG4gICAgLy8gRm9yd2FyZCByZWYgdG8gcGFyZW50IHJlZlxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU8dW5rbm93biwgdW5rbm93bj4ocmVmLCAoKSA9PiBjb250cm9sUmVmLCBbXSlcblxuICAgIC8vIEZvY3VzIHdoZW4gcGFzc3dvcmQgaXMgdmlzaWJsZVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAocGFzc3dvcmRWaXNpYmxlKSB7XG4gICAgICAgIGNvbnRyb2xSZWY/LmN1cnJlbnQ/LmZvY3VzKClcbiAgICAgIH1cbiAgICB9LCBbcGFzc3dvcmRWaXNpYmxlXSlcblxuICAgIGNvbnN0IGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpLFxuICAgICAgW3RvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eV0sXG4gICAgKVxuXG4gICAgY29uc3QgcmFuZG9taXplID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiBvbkNoYW5nZT8uKHJhbmRvbU5hbWUocmFuZG9tKSksXG4gICAgICBbb25DaGFuZ2UsIHJhbmRvbV0sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tSYW5kb21pemUgPSB1c2VDYWxsYmFjaygoKSA9PiByYW5kb21pemUoKSwgW3JhbmRvbWl6ZV0pXG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8XG4gICAgICBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudFxuICAgID4gPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKCF2aXNpdGVkICYmICFyZWFkT25seSkge1xuICAgICAgICAgIHNldFZpc2l0ZWQodHJ1ZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvbkZvY3VzKSB7XG4gICAgICAgICAgb25Gb2N1cyhldmVudClcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFt2aXNpdGVkLCByZWFkT25seSwgb25Gb2N1c10sXG4gICAgKVxuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PikgPT5cbiAgICAgICAgb25DaGFuZ2U/LihldmVudC50YXJnZXQudmFsdWUpLFxuICAgICAgW29uQ2hhbmdlXSxcbiAgICApXG5cbiAgICBjb25zdCBpc1Bhc3NUb2dnbGVhYmxlID0gdHlwZSA9PT0gJ3RvZ2dsZWFibGUtcGFzc3dvcmQnXG4gICAgY29uc3QgaGFzTGFiZWwgPSAhIWxhYmVsICYmICFub1RvcExhYmVsICYmIHNpemUgPT09ICdtZWRpdW0nXG4gICAgY29uc3QgZWRpdCA9XG4gICAgICBoYXNMYWJlbCAmJiAoZm9yY2VFZGl0IHx8IHZpc2l0ZWQgfHwgdmFsdWUgfHwgZXJyb3IgfHwgZ2VuZXJhdGVkKVxuXG4gICAgY29uc3QgaXNQbGFjZWhvbGRlclZpc2libGUgPSAhaGFzTGFiZWwgfHwgISFlZGl0XG4gICAgY29uc3QgaGFzUmlnaHRFbGVtZW50ID0gISEoXG4gICAgICB2YWxpZCAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlIHx8XG4gICAgICByYW5kb20gfHxcbiAgICAgIHVuaXRcbiAgICApXG5cbiAgICBjb25zdCBnZXRUeXBlID0gKCkgPT4ge1xuICAgICAgaWYgKGlzUGFzc1RvZ2dsZWFibGUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3N3b3JkVmlzaWJsZSB8fCBnZW5lcmF0ZWQgPyAndGV4dCcgOiAncGFzc3dvcmQnXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtdWx0aWxpbmUgPyB1bmRlZmluZWQgOiB0eXBlXG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXRTaXplID0gc2l6ZVxuXG4gICAgY29uc3QgcmlnaHRDb21wb25lbnRzQXJyYXkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50cyA9IFtdXG5cbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlICYmICFnZW5lcmF0ZWQpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e1xuICAgICAgICAgICAgICBkYXRhVGVzdElkID8gYCR7ZGF0YVRlc3RJZH0tdmlzaWJpbGl0eS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXtwYXNzd29yZFZpc2libGUgPyAnaGlkZScgOiAnc2hvdyd9XG4gICAgICAgICAgICBrZXk9XCJwYXNzd29yZC12aXNpYmxlXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2t9XG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBpY29uPXtwYXNzd29yZFZpc2libGUgPyAnZXllLW9mZicgOiAnZXllJ31cbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChyYW5kb20pIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAga2V5PVwicmFuZG9tXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXJhbmRvbWl6ZS1idXR0b25gIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwicmFuZG9taXplXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrUmFuZG9taXplfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaWNvbj1cImF1dG8tZml4XCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh2YWxpZCA9PT0gZmFsc2UgfHwgdmFsaWQgPT09IHRydWUpIHtcbiAgICAgICAgcmlnaHRDb21wb25lbnRzLnB1c2goXG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIGtleT1cInZhbGlkXCJcbiAgICAgICAgICAgIG5hbWU9eyF2YWxpZCA/ICdjbG9zZScgOiAnY2hlY2snfVxuICAgICAgICAgICAgY29sb3I9eyF2YWxpZCA/ICdkYW5nZXInIDogJ3N1Y2Nlc3MnfVxuICAgICAgICAgICAgc2l6ZT17MjB9XG4gICAgICAgICAgLz4sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmICh1bml0KSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxVbml0TGFiZWwga2V5PVwidW5pdFwiIHZhcmlhbnQ9XCJib2R5U21hbGxcIiBhcz1cInBcIiBwcm9taW5lbmNlPVwid2Vha1wiPlxuICAgICAgICAgICAge3VuaXR9XG4gICAgICAgICAgPC9Vbml0TGFiZWw+LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiByaWdodENvbXBvbmVudHNcbiAgICB9LCBbXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGdlbmVyYXRlZCxcbiAgICAgIGhhbmRsZUNsaWNrUmFuZG9taXplLFxuICAgICAgaGFuZGxlUGFzc1Zpc2liaWxpdHlDbGljayxcbiAgICAgIGlzUGFzc1RvZ2dsZWFibGUsXG4gICAgICBwYXNzd29yZFZpc2libGUsXG4gICAgICByYW5kb20sXG4gICAgICB1bml0LFxuICAgICAgdmFsaWQsXG4gICAgICBkYXRhVGVzdElkLFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG93U2VwYXJhdG9yID0gKHJlcXVpcmVkICYmIGhhc1JpZ2h0RWxlbWVudCkgfHwgdW5pdFxuICAgIGNvbnN0IHBhZGRpbmdSaWdodEZhY3RvciA9IChyZXF1aXJlZCA/IDEgOiAwKSArIChzaG93U2VwYXJhdG9yID8gMC41IDogMClcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgPFN0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICAgIDxTdHlsZWRJbnB1dFxuICAgICAgICAgICAgYXJpYS1jb250cm9scz17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17bGFiZWwgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXtoYXNMYWJlbCA/IGFyaWFDb250cm9scyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFzPXttdWx0aWxpbmUgPyAndGV4dGFyZWEnIDogJ2lucHV0J31cbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17YXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXthdXRvRm9jdXN9XG4gICAgICAgICAgICBjb2xzPXtjb2xzfVxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWR9XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgZmlsbEF2YWlsYWJsZT17ZmlsbEF2YWlsYWJsZX1cbiAgICAgICAgICAgIGhhc0xhYmVsPXtoYXNMYWJlbH1cbiAgICAgICAgICAgIHBhZGRpbmdSaWdodEZhY3Rvcj17cGFkZGluZ1JpZ2h0RmFjdG9yfVxuICAgICAgICAgICAgcmlnaHRDb21wb25lbnRMZW5ndGg9e3JpZ2h0Q29tcG9uZW50c0FycmF5Lmxlbmd0aH1cbiAgICAgICAgICAgIHVuaXQ9e3VuaXR9XG4gICAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgICBpbnB1dFNpemU9e2lucHV0U2l6ZX1cbiAgICAgICAgICAgIGlzUGxhY2Vob2xkZXJWaXNpYmxlPXtpc1BsYWNlaG9sZGVyVmlzaWJsZX1cbiAgICAgICAgICAgIG11bHRpbGluZT17bXVsdGlsaW5lfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgb25LZXlVcD17b25LZXlVcH1cbiAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgcmVmPXtjb250cm9sUmVmfVxuICAgICAgICAgICAgcmVzaXphYmxlPXtyZXNpemFibGV9XG4gICAgICAgICAgICByb3dzPXtyb3dzfVxuICAgICAgICAgICAgc3R5bGU9e3sgaGVpZ2h0IH19XG4gICAgICAgICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICAgICAgICB0eXBlPXtnZXRUeXBlKCl9XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWUgPT09IG51bGwgPyAnJyA6IHZhbHVlfVxuICAgICAgICAgICAgd3JhcD17d3JhcH1cbiAgICAgICAgICAgIG1pbj17bWlufVxuICAgICAgICAgICAgbWF4PXttYXh9XG4gICAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtoYXNMYWJlbCAmJiAoXG4gICAgICAgICAgICA8U3R5bGVkTGFiZWxcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgZXJyb3I9eyEhZXJyb3J9XG4gICAgICAgICAgICAgIGlkPXthcmlhQ29udHJvbHN9XG4gICAgICAgICAgICAgIGh0bWxGb3I9e2lkfVxuICAgICAgICAgICAgICBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICA8L1N0eWxlZExhYmVsPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7aGFzUmlnaHRFbGVtZW50IHx8IHJlcXVpcmVkID8gKFxuICAgICAgICAgICAgPFN0eWxlZFJpZ2h0RWxlbWVudFxuICAgICAgICAgICAgICBlZGl0PXshIWVkaXR9XG4gICAgICAgICAgICAgIHRvdWNoYWJsZT17aXNQYXNzVG9nZ2xlYWJsZSB8fCAhIXJhbmRvbX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3JlcXVpcmVkID8gKFxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJhc3Rlcmlza1wiIGNvbG9yPVwiZGFuZ2VyXCIgc2l6ZT17MTB9IC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2hvd1NlcGFyYXRvciA/IDxTdHlsZWRTZXBhcmF0b3IgZGlyZWN0aW9uPVwidmVydGljYWxcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICAgIDxSaWdodENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtyaWdodENvbXBvbmVudHNBcnJheX1cbiAgICAgICAgICAgICAgICA8L1JpZ2h0Q29tcG9uZW50PlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkUmlnaHRFbGVtZW50PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1N0eWxlZFJlbGF0aXZlRGl2PlxuICAgICAgICA8RXhwYW5kYWJsZSBvcGVuZWQ9eyEhZXJyb3J9PlxuICAgICAgICAgIDxTdHlsZWRFcnJvcj57ZXJyb3J9PC9TdHlsZWRFcnJvcj5cbiAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICB7bm90aWNlID8gPFN0eWxlZE5vdGljZT57bm90aWNlfTwvU3R5bGVkTm90aWNlPiA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH0sXG4pXG4iXX0= */"), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0hvQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */"));
115
+ const StyledRelativeDiv = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
116
+ target: "el3h3g95"
117
+ } : {
118
+ target: "el3h3g95",
119
+ label: "StyledRelativeDiv"
120
+ })(process.env.NODE_ENV === "production" ? {
121
+ name: "bjn8wh",
122
+ styles: "position:relative"
123
+ } : {
124
+ name: "bjn8wh",
125
+ styles: "position:relative",
126
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0pvQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */",
127
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
128
+ });
129
+ const StyledError = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
130
+ target: "el3h3g94"
131
+ } : {
132
+ target: "el3h3g94",
133
+ label: "StyledError"
134
+ })("font-size:12px;color:", ({
135
+ theme
136
+ }) => theme.colors.danger.text, ";padding-top:", ({
137
+ theme
138
+ }) => theme.space["0.25"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUs4QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */"));
139
+ const StyledNotice = /* @__PURE__ */ _styled(Notice, process.env.NODE_ENV === "production" ? {
140
+ target: "el3h3g93"
141
+ } : {
142
+ target: "el3h3g93",
143
+ label: "StyledNotice"
144
+ })("margin-top:", ({
145
+ theme
146
+ }) => theme.space["0.5"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUttQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */"));
147
+ const StyledInput = /* @__PURE__ */ _styled("input", process.env.NODE_ENV === "production" ? {
148
+ shouldForwardProp: (prop) => !["as", "error", "fillAvailable", "hasLabel", "isPlaceholderVisible", "multiline", "resizable", "inputSize", "paddingRightFactor", "rightComponentLength", "unit"].includes(prop),
149
+ target: "el3h3g92"
150
+ } : {
151
+ shouldForwardProp: (prop) => !["as", "error", "fillAvailable", "hasLabel", "isPlaceholderVisible", "multiline", "resizable", "inputSize", "paddingRightFactor", "rightComponentLength", "unit"].includes(prop),
152
+ target: "el3h3g92",
153
+ label: "StyledInput"
154
+ })("transition:border-color 0.2s ease,box-shadow 0.2s ease;appearance:none;background-color:", ({
155
+ theme: {
156
+ colors
157
+ }
158
+ }) => colors.neutral.background, ";background-image:none;border:1px solid ", ({
159
+ theme: {
160
+ colors
161
+ }
162
+ }) => colors.neutral.border, ";border-radius:", ({
163
+ theme: {
164
+ radii
165
+ }
166
+ }) => radii.default, ";color:", ({
167
+ theme: {
168
+ colors
169
+ }
170
+ }) => colors.neutral.text, ";display:block;max-width:100%;outline:none;position:relative;width:100%;padding-left:", ({
171
+ theme
172
+ }) => theme.space["1"], ";padding-right:", ({
173
+ theme
174
+ }) => theme.space["1"], ";padding-top:14px;font-size:16px;line-height:24px;&::placeholder{color:", ({
175
+ theme: {
176
+ colors
177
+ }
178
+ }) => colors.neutral.textWeak, ";opacity:0;}&:hover,&:focus{border-color:", ({
179
+ theme: {
180
+ colors
181
+ }
182
+ }) => colors.primary.borderHover, ";}&:focus{box-shadow:", ({
183
+ theme: {
184
+ shadows
185
+ }
186
+ }) => shadows.focusPrimary, ";border-color:", ({
187
+ theme: {
188
+ colors
189
+ }
190
+ }) => colors.primary.borderHover, ";}", ({
191
+ isPlaceholderVisible
192
+ }) => isPlaceholderVisible && `&::placeholder {
172
193
  opacity: 1;
173
- }`}
174
-
175
- ${({ disabled, theme: { colors } }) => disabled && `cursor: default;
194
+ }`, " ", ({
195
+ disabled,
196
+ theme: {
197
+ colors
198
+ }
199
+ }) => disabled && `cursor: default;
176
200
  pointer-events: none;
177
201
  background-color: ${colors.neutral.backgroundDisabled};
178
202
  border-color: ${colors.neutral.borderDisabled};
179
- color: ${colors.neutral.textDisabled};`}
180
-
181
- ${({ readOnly, theme: { colors } }) => readOnly && `background-color: ${colors.neutral.backgroundDisabled};
203
+ color: ${colors.neutral.textDisabled};`, " ", ({
204
+ readOnly,
205
+ theme: {
206
+ colors
207
+ }
208
+ }) => readOnly && `background-color: ${colors.neutral.backgroundDisabled};
182
209
  border-color: ${colors.neutral.borderDisabled};
183
- color: ${colors.neutral.text};`}
184
-
185
- ${({ inputSize }) => inputSizes[inputSize]?.default}
186
-
187
- ${({ inputSize, hasLabel }) => !!inputSize && !hasLabel && inputSizes[inputSize]?.full}
188
-
189
- ${({ error, theme: { colors, shadows } }) => error && `border-color: ${colors.danger.border};
210
+ color: ${colors.neutral.text};`, " ", ({
211
+ inputSize
212
+ }) => inputSizes[inputSize]?.default, " ", ({
213
+ inputSize,
214
+ hasLabel
215
+ }) => !!inputSize && !hasLabel && inputSizes[inputSize]?.full, " ", ({
216
+ error,
217
+ theme: {
218
+ colors,
219
+ shadows
220
+ }
221
+ }) => error && `border-color: ${colors.danger.border};
190
222
 
191
223
  &:hover,
192
224
  &:focus {
@@ -196,277 +228,160 @@ const StyledInput = styled("input", {
196
228
  &:focus {
197
229
  box-shadow: ${shadows.focusDanger};
198
230
  border-color: ${colors.danger.borderHover};
199
- }`}
200
-
201
- ${({ multiline, resizable, fillAvailable }) => multiline && `
231
+ }`, " ", ({
232
+ multiline,
233
+ resizable,
234
+ fillAvailable
235
+ }) => multiline && `
202
236
  padding-top: 20px;
203
237
  height: ${fillAvailable ? "100%" : "initial"};
204
238
  resize: ${resizable === false ? "none" : "vertical"};
205
- `}
206
-
207
- ${({ multiline, hasLabel, theme }) => multiline && !hasLabel && `
239
+ `, " ", ({
240
+ multiline,
241
+ hasLabel,
242
+ theme
243
+ }) => multiline && !hasLabel && `
208
244
  padding-top: ${theme.space["1"]};
209
- `}
210
-
211
- ${({ paddingRightFactor, rightComponentLength, unit, theme }) => paddingRightFactor > 0 && `
245
+ `, " ", ({
246
+ paddingRightFactor,
247
+ rightComponentLength,
248
+ unit,
249
+ theme
250
+ }) => paddingRightFactor > 0 && `
212
251
  padding-right: calc(${unit ? `${unit.length} * ${theme.space["1"]} + ` : ""}${paddingRightFactor + (unit ? rightComponentLength - 1 : rightComponentLength)} * ${theme.space["4"]});
213
- `}
214
- `;
215
- const RightComponent = styled(Stack)`
216
- min-width: 24px;
217
- `;
218
- const UnitLabel = styled(Text)`
219
- padding: ${({ theme }) => theme.space["1"]} 0;
220
- line-height: 18px;
221
- `;
222
- const TextInput = forwardRef(
223
- ({
224
- "data-testid": dataTestId,
225
- ariaControls,
226
- autoComplete = "on",
227
- autoFocus,
228
- className,
229
- cols,
230
- defaultValue,
231
- disabled,
232
- edit: forceEdit,
233
- error,
234
- fillAvailable,
235
- generated,
236
- height,
237
- id,
238
- label,
239
- multiline,
240
- name,
241
- notice,
242
- noTopLabel = false,
243
- onBlur,
244
- onChange,
245
- onFocus,
246
- onKeyUp,
247
- onKeyDown,
248
- placeholder,
249
- random,
250
- readOnly,
251
- required,
252
- resizable,
253
- rows,
254
- size = "medium",
255
- tabIndex,
256
- type = "text",
257
- unit,
258
- valid,
259
- value,
260
- wrap,
261
- inputProps,
262
- min,
263
- max
264
- }, ref) => {
265
- const controlRef = useRef(null);
266
- const [visited, setVisited] = useState(false);
267
- const [passwordVisible, setPasswordVisible] = useState(false);
268
- const togglePasswordVisibility = useCallback(
269
- () => setPasswordVisible((x) => !x),
270
- []
271
- );
272
- useImperativeHandle(ref, () => controlRef, []);
273
- useEffect(() => {
274
- if (passwordVisible) {
275
- controlRef?.current?.focus();
276
- }
277
- }, [passwordVisible]);
278
- const handlePassVisibilityClick = useCallback(
279
- () => togglePasswordVisibility(),
280
- [togglePasswordVisibility]
281
- );
282
- const randomize = useCallback(
283
- () => onChange?.(randomName(random)),
284
- [onChange, random]
285
- );
286
- const handleClickRandomize = useCallback(() => randomize(), [randomize]);
287
- const handleFocus = useCallback(
288
- (event) => {
289
- if (!visited && !readOnly) {
290
- setVisited(true);
291
- }
292
- if (onFocus) {
293
- onFocus(event);
294
- }
295
- },
296
- [visited, readOnly, onFocus]
297
- );
298
- const handleChange = useCallback(
299
- (event) => onChange?.(event.target.value),
300
- [onChange]
301
- );
302
- const isPassToggleable = type === "toggleable-password";
303
- const hasLabel = !!label && !noTopLabel && size === "medium";
304
- const edit = hasLabel && (forceEdit || visited || value || error || generated);
305
- const isPlaceholderVisible = !hasLabel || !!edit;
306
- const hasRightElement = !!(valid !== void 0 || isPassToggleable || random || unit);
307
- const getType = () => {
308
- if (isPassToggleable) {
309
- return passwordVisible || generated ? "text" : "password";
310
- }
311
- return multiline ? void 0 : type;
312
- };
313
- const inputSize = size;
314
- const rightComponentsArray = useMemo(() => {
315
- const rightComponents = [];
316
- if (isPassToggleable && !generated) {
317
- rightComponents.push(
318
- /* @__PURE__ */ jsx(
319
- Button,
320
- {
321
- "data-testid": dataTestId ? `${dataTestId}-visibility-button` : void 0,
322
- "aria-label": passwordVisible ? "hide" : "show",
323
- onClick: handlePassVisibilityClick,
324
- variant: "ghost",
325
- sentiment: "neutral",
326
- icon: passwordVisible ? "eye-off" : "eye",
327
- size: "small"
328
- },
329
- "password-visible"
330
- )
331
- );
332
- }
333
- if (random) {
334
- rightComponents.push(
335
- /* @__PURE__ */ jsx(
336
- Button,
337
- {
338
- "data-testid": dataTestId ? `${dataTestId}-randomize-button` : void 0,
339
- "aria-label": "randomize",
340
- onClick: handleClickRandomize,
341
- disabled,
342
- icon: "auto-fix",
343
- variant: "ghost",
344
- sentiment: "neutral",
345
- size: "small"
346
- },
347
- "random"
348
- )
349
- );
350
- }
351
- if (valid === false || valid === true) {
352
- rightComponents.push(
353
- /* @__PURE__ */ jsx(
354
- Icon,
355
- {
356
- name: !valid ? "close" : "check",
357
- color: !valid ? "danger" : "success",
358
- size: 20
359
- },
360
- "valid"
361
- )
362
- );
363
- }
364
- if (unit) {
365
- rightComponents.push(
366
- /* @__PURE__ */ jsx(UnitLabel, { variant: "bodySmall", as: "p", prominence: "weak", children: unit }, "unit")
367
- );
368
- }
369
- return rightComponents;
370
- }, [
371
- disabled,
372
- generated,
373
- handleClickRandomize,
374
- handlePassVisibilityClick,
375
- isPassToggleable,
376
- passwordVisible,
377
- random,
378
- unit,
379
- valid,
380
- dataTestId
381
- ]);
382
- const showSeparator = required && hasRightElement || unit;
383
- const paddingRightFactor = (required ? 1 : 0) + (showSeparator ? 0.5 : 0);
384
- return /* @__PURE__ */ jsxs("div", { className, children: [
385
- /* @__PURE__ */ jsxs(StyledRelativeDiv, { children: [
386
- /* @__PURE__ */ jsx(
387
- StyledInput,
388
- {
389
- "aria-controls": ariaControls,
390
- "aria-label": label || void 0,
391
- "aria-labelledby": hasLabel ? ariaControls : void 0,
392
- as: multiline ? "textarea" : "input",
393
- autoComplete,
394
- autoFocus,
395
- cols,
396
- "data-testid": dataTestId,
397
- defaultValue,
398
- disabled,
399
- error: !!error,
400
- fillAvailable,
401
- hasLabel,
402
- paddingRightFactor,
403
- rightComponentLength: rightComponentsArray.length,
404
- unit,
405
- id,
406
- inputSize,
407
- isPlaceholderVisible,
408
- multiline,
409
- name,
410
- onBlur,
411
- onChange: handleChange,
412
- onFocus: handleFocus,
413
- onKeyUp,
414
- onKeyDown,
415
- placeholder,
416
- readOnly,
417
- ref: controlRef,
418
- resizable,
419
- rows,
420
- style: { height },
421
- tabIndex,
422
- type: getType(),
423
- value: value === null ? "" : value,
424
- wrap,
425
- min,
426
- max,
427
- required,
428
- ...inputProps
429
- }
430
- ),
431
- hasLabel && /* @__PURE__ */ jsx(
432
- StyledLabel,
433
- {
434
- edit: !!edit,
435
- disabled,
436
- readOnly,
437
- error: !!error,
438
- id: ariaControls,
439
- htmlFor: id,
440
- "aria-live": "assertive",
441
- children: label
442
- }
443
- ),
444
- hasRightElement || required ? /* @__PURE__ */ jsxs(
445
- StyledRightElement,
446
- {
447
- edit: !!edit,
448
- touchable: isPassToggleable || !!random,
449
- children: [
450
- required ? /* @__PURE__ */ jsx(Icon, { name: "asterisk", color: "danger", size: 10 }) : null,
451
- showSeparator ? /* @__PURE__ */ jsx(StyledSeparator, { direction: "vertical" }) : null,
452
- rightComponentsArray.length > 0 ? /* @__PURE__ */ jsx(
453
- RightComponent,
454
- {
455
- justifyContent: "center",
456
- direction: "row",
457
- alignItems: "center",
458
- children: rightComponentsArray
459
- }
460
- ) : null
461
- ]
462
- }
463
- ) : null
464
- ] }),
465
- /* @__PURE__ */ jsx(Expandable, { opened: !!error, children: /* @__PURE__ */ jsx(StyledError, { children: error }) }),
466
- notice ? /* @__PURE__ */ jsx(StyledNotice, { children: notice }) : null
467
- ] });
468
- }
469
- );
252
+ `, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa05vQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */"));
253
+ const RightComponent = /* @__PURE__ */ _styled(Stack, process.env.NODE_ENV === "production" ? {
254
+ target: "el3h3g91"
255
+ } : {
256
+ target: "el3h3g91",
257
+ label: "RightComponent"
258
+ })(process.env.NODE_ENV === "production" ? {
259
+ name: "9bmev",
260
+ styles: "min-width:24px"
261
+ } : {
262
+ name: "9bmev",
263
+ styles: "min-width:24px",
264
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd1RvQyIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */",
265
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
266
+ });
267
+ const UnitLabel = /* @__PURE__ */ _styled(Text, process.env.NODE_ENV === "production" ? {
268
+ target: "el3h3g90"
269
+ } : {
270
+ target: "el3h3g90",
271
+ label: "UnitLabel"
272
+ })("padding:", ({
273
+ theme
274
+ }) => theme.space["1"], " 0;line-height:18px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1RleHRJbnB1dC9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMFc4QiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9UZXh0SW5wdXQvaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCByYW5kb21OYW1lIGZyb20gJ0BzY2FsZXdheS9yYW5kb20tbmFtZSdcbmltcG9ydCB7IEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQgdHlwZSB7XG4gIENoYW5nZUV2ZW50LFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgSW5wdXRIVE1MQXR0cmlidXRlcyxcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIExhYmVsSFRNTEF0dHJpYnV0ZXMsXG4gIFRleHRhcmVhSFRNTEF0dHJpYnV0ZXMsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgeyBFeHBhbmRhYmxlIH0gZnJvbSAnLi4vRXhwYW5kYWJsZSdcbmltcG9ydCB7IE5vdGljZSB9IGZyb20gJy4uL05vdGljZSdcbmltcG9ydCB7IFNlcGFyYXRvciB9IGZyb20gJy4uL1NlcGFyYXRvcidcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAnLi4vVGV4dCdcblxuY29uc3QgaW5wdXRTaXplcyA9IHtcbiAgbWVkaXVtOiB7XG4gICAgZGVmYXVsdDogYFxuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgYCxcbiAgICBmdWxsOiBgXG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgYCxcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBkZWZhdWx0OiBgXG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGAsXG4gICAgZnVsbDogYFxuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBgLFxuICB9LFxufVxuXG50eXBlIFRleHRJbnB1dFNpemVzID0ga2V5b2YgdHlwZW9mIGlucHV0U2l6ZXNcblxuZXhwb3J0IGNvbnN0IHRleHRJbnB1dFNpemVzID0gT2JqZWN0LmtleXMoaW5wdXRTaXplcykgYXMgVGV4dElucHV0U2l6ZXNbXVxuXG5jb25zdCBTdHlsZWRTZXBhcmF0b3IgPSBzdHlsZWQoU2VwYXJhdG9yKWBcbiAgbWFyZ2luOiAxcHggMHB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nfTtcbmBcbnR5cGUgU3R5bGVkUmlnaHRFbGVtZW50UHJvcHMgPSB7XG4gIGVkaXQ/OiBib29sZWFuXG4gIHRvdWNoYWJsZT86IGJvb2xlYW5cbn1cblxuY29uc3QgU3R5bGVkUmlnaHRFbGVtZW50ID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ2VkaXQnLCAndG91Y2hhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRSaWdodEVsZW1lbnRQcm9wcz5gXG4gICR7KHsgdGhlbWU6IHsgY29sb3JzLCBzcGFjZSB9IH0pID0+IGNzc2BcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR7c3BhY2VbJzEnXX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICR7c3BhY2VbJzEnXX07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDE1MG1zLFxuICAgICAgY29sb3IgMTUwbXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG4gIGB9XG5cbiAgJHsoeyB0b3VjaGFibGUgfSkgPT5cbiAgICB0b3VjaGFibGUgJiZcbiAgICBjc3NgXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGB9XG5gXG50eXBlIFN0eWxlZExhYmVsUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZ1xuICAnYXJpYS1saXZlJzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBlZGl0PzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgcmVhZE9ubHk/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbn0gJiBMYWJlbEhUTUxBdHRyaWJ1dGVzPEhUTUxMYWJlbEVsZW1lbnQ+XG5cbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkKCdsYWJlbCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydlZGl0JywgJ2Vycm9yJywgJ3Jlc2l6YWJsZScsICdmaWxsQXZhaWxhYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTxTdHlsZWRMYWJlbFByb3BzPmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6ICR7KHsgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT4gY29sb3JzLm5ldXRyYWwudGV4dFdlYWt9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnR5cG9ncmFwaHkuYm9keVNtYWxsfTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnB4KSBzY2FsZSgxKTtcblxuICAkeyh7IGVkaXQgfSkgPT5cbiAgICBlZGl0ICYmXG4gICAgY3NzYFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkuNiUsIC0zcHgpIHNjYWxlKDAuOCk7XG4gICAgYH1cblxuICAkeyh7IGRpc2FibGVkLCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIGRpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwudGV4dERpc2FibGVkfTtcbiAgICBgfVxuXG4gICR7KHsgcmVhZE9ubHksIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgcmVhZE9ubHkgJiZcbiAgICBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvcnMubmV1dHJhbC50ZXh0RGlzYWJsZWR9O1xuICAgIGB9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGNzc2BcbiAgICAgIGNvbG9yOiAke2NvbG9ycy5kYW5nZXIudGV4dH07XG4gICAgYH1cbmBcblxuY29uc3QgU3R5bGVkUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEVycm9yID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuZGFuZ2VyLnRleHR9O1xuICBwYWRkaW5nLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgU3R5bGVkTm90aWNlID0gc3R5bGVkKE5vdGljZSlgXG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuNSddfTtcbmBcblxudHlwZSBTdHlsZWRJbnB1dFByb3BzID0ge1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZXJyb3I/OiBib29sZWFuXG4gIGZpbGxBdmFpbGFibGU/OiBib29sZWFuXG4gIGhhc0xhYmVsPzogYm9vbGVhblxuICBwYWRkaW5nUmlnaHRGYWN0b3I6IG51bWJlclxuICBpc1BsYWNlaG9sZGVyVmlzaWJsZT86IGJvb2xlYW5cbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICByZXNpemFibGU/OiBib29sZWFuXG4gIGlucHV0U2l6ZTogVGV4dElucHV0U2l6ZXNcbiAgdW5pdD86IHN0cmluZ1xuICByaWdodENvbXBvbmVudExlbmd0aDogbnVtYmVyXG59ICYgKFxuICB8IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5cbiAgfCBUZXh0YXJlYUhUTUxBdHRyaWJ1dGVzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4pXG5cbnR5cGUgSW5wdXRQcm9wcyA9IE9taXQ8XG4gIEV4Y2x1ZGU8U3R5bGVkSW5wdXRQcm9wcywgVGV4dGFyZWFIVE1MQXR0cmlidXRlczxIVE1MVGV4dEFyZWFFbGVtZW50Pj4sXG4gICdpbnB1dFNpemUnXG4+XG5cbmNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkKCdpbnB1dCcsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ2FzJyxcbiAgICAgICdlcnJvcicsXG4gICAgICAnZmlsbEF2YWlsYWJsZScsXG4gICAgICAnaGFzTGFiZWwnLFxuICAgICAgJ2lzUGxhY2Vob2xkZXJWaXNpYmxlJyxcbiAgICAgICdtdWx0aWxpbmUnLFxuICAgICAgJ3Jlc2l6YWJsZScsXG4gICAgICAnaW5wdXRTaXplJyxcbiAgICAgICdwYWRkaW5nUmlnaHRGYWN0b3InLFxuICAgICAgJ3JpZ2h0Q29tcG9uZW50TGVuZ3RoJyxcbiAgICAgICd1bml0JyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kfTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lOiB7IHJhZGlpIH0gfSkgPT4gcmFkaWkuZGVmYXVsdH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5uZXV0cmFsLnRleHR9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctcmlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMubmV1dHJhbC50ZXh0V2Vha307XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PiBjb2xvcnMucHJpbWFyeS5ib3JkZXJIb3Zlcn07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkeyh7IHRoZW1lOiB7IHNoYWRvd3MgfSB9KSA9PiBzaGFkb3dzLmZvY3VzUHJpbWFyeX07XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+IGNvbG9ycy5wcmltYXJ5LmJvcmRlckhvdmVyfTtcbiAgfVxuXG4gICR7KHsgaXNQbGFjZWhvbGRlclZpc2libGUgfSkgPT5cbiAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZSAmJlxuICAgIGAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1gfVxuXG4gICR7KHsgZGlzYWJsZWQsIHRoZW1lOiB7IGNvbG9ycyB9IH0pID0+XG4gICAgZGlzYWJsZWQgJiZcbiAgICBgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHREaXNhYmxlZH07YH1cblxuICAkeyh7IHJlYWRPbmx5LCB0aGVtZTogeyBjb2xvcnMgfSB9KSA9PlxuICAgIHJlYWRPbmx5ICYmXG4gICAgYGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZERpc2FibGVkfTtcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLm5ldXRyYWwuYm9yZGVyRGlzYWJsZWR9O1xuICAgIGNvbG9yOiAke2NvbG9ycy5uZXV0cmFsLnRleHR9O2B9XG5cbiAgJHsoeyBpbnB1dFNpemUgfSkgPT4gaW5wdXRTaXplc1tpbnB1dFNpemVdPy5kZWZhdWx0fVxuXG4gICR7KHsgaW5wdXRTaXplLCBoYXNMYWJlbCB9KSA9PlxuICAgICEhaW5wdXRTaXplICYmICFoYXNMYWJlbCAmJiBpbnB1dFNpemVzW2lucHV0U2l6ZV0/LmZ1bGx9XG5cbiAgJHsoeyBlcnJvciwgdGhlbWU6IHsgY29sb3JzLCBzaGFkb3dzIH0gfSkgPT5cbiAgICBlcnJvciAmJlxuICAgIGBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJ9O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuZGFuZ2VyLmJvcmRlckhvdmVyfTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6ICR7c2hhZG93cy5mb2N1c0Rhbmdlcn07XG4gICAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmRhbmdlci5ib3JkZXJIb3Zlcn07XG4gICAgfWB9XG5cbiAgICAkeyh7IG11bHRpbGluZSwgcmVzaXphYmxlLCBmaWxsQXZhaWxhYmxlIH0pID0+XG4gICAgbXVsdGlsaW5lICYmXG4gICAgYFxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGhlaWdodDogJHtmaWxsQXZhaWxhYmxlID8gJzEwMCUnIDogJ2luaXRpYWwnfTtcbiAgICByZXNpemU6ICR7cmVzaXphYmxlID09PSBmYWxzZSA/ICdub25lJyA6ICd2ZXJ0aWNhbCd9O1xuICBgfVxuXG4gICR7KHsgbXVsdGlsaW5lLCBoYXNMYWJlbCwgdGhlbWUgfSkgPT5cbiAgICBtdWx0aWxpbmUgJiZcbiAgICAhaGFzTGFiZWwgJiZcbiAgICBgXG4gICAgcGFkZGluZy10b3A6ICR7dGhlbWUuc3BhY2VbJzEnXX07XG4gIGB9XG5cbiAgJHsoeyBwYWRkaW5nUmlnaHRGYWN0b3IsIHJpZ2h0Q29tcG9uZW50TGVuZ3RoLCB1bml0LCB0aGVtZSB9KSA9PlxuICAgIHBhZGRpbmdSaWdodEZhY3RvciA+IDAgJiZcbiAgICBgXG4gICAgcGFkZGluZy1yaWdodDogY2FsYygke1xuICAgICAgdW5pdCA/IGAke3VuaXQubGVuZ3RofSAqICR7dGhlbWUuc3BhY2VbJzEnXX0gKyBgIDogJydcbiAgICB9JHtcbiAgICAgIHBhZGRpbmdSaWdodEZhY3RvciArXG4gICAgICAodW5pdCA/IHJpZ2h0Q29tcG9uZW50TGVuZ3RoIC0gMSA6IHJpZ2h0Q29tcG9uZW50TGVuZ3RoKVxuICAgIH0gKiAke3RoZW1lLnNwYWNlWyc0J119KTtcbiAgYH1cbmBcblxuY29uc3QgUmlnaHRDb21wb25lbnQgPSBzdHlsZWQoU3RhY2spYFxuICBtaW4td2lkdGg6IDI0cHg7XG5gXG5cbnR5cGUgVGV4dElucHV0UHJvcHMgPSB7XG4gICdkYXRhLXRlc3RpZCc/OiBzdHJpbmdcbiAgYXJpYUNvbnRyb2xzPzogc3RyaW5nXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZ1xuICBhdXRvRm9jdXM/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjb2xzPzogbnVtYmVyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgZWRpdD86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmdcbiAgZmlsbEF2YWlsYWJsZT86IGJvb2xlYW5cbiAgZ2VuZXJhdGVkPzogYm9vbGVhblxuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgaWQ/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbXVsdGlsaW5lPzogYm9vbGVhblxuICBuYW1lPzogc3RyaW5nXG4gIG5vdGljZT86IHN0cmluZ1xuICBub1RvcExhYmVsPzogYm9vbGVhblxuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25DaGFuZ2U/OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZFxuICBvbkZvY3VzPzogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIG9uS2V5VXA/OiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgb25LZXlEb3duPzogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHJhbmRvbT86IHN0cmluZ1xuICByZWFkT25seT86IGJvb2xlYW5cbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHJlc2l6YWJsZT86IGJvb2xlYW5cbiAgcm93cz86IG51bWJlclxuICBzaXplPzogVGV4dElucHV0U2l6ZXNcbiAgdGFiSW5kZXg/OiBudW1iZXJcbiAgdHlwZT86IHN0cmluZ1xuICB1bml0Pzogc3RyaW5nXG4gIHZhbGlkPzogYm9vbGVhblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlclxuICB3cmFwPzogc3RyaW5nXG4gIGlucHV0UHJvcHM/OiBJbnB1dFByb3BzXG4gIG1heD86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21heCddXG4gIG1pbj86IElucHV0SFRNTEF0dHJpYnV0ZXM8SFRNTElucHV0RWxlbWVudD5bJ21pbiddXG59ICYgKFxuICB8IE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ29uQ2hhbmdlJz5cbiAgfCBPbWl0PFRleHRhcmVhSFRNTEF0dHJpYnV0ZXM8SFRNTFRleHRBcmVhRWxlbWVudD4sICdvbkNoYW5nZSc+XG4pXG5cbmNvbnN0IFVuaXRMYWJlbCA9IHN0eWxlZChUZXh0KWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMSddfSAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbmBcblxuLyoqXG4gKiBUZXh0SW5wdXQgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBpbnB1dCB0ZXh0LCB3aXRoIG9wdGlvbnMgZm9yIGN1c3RvbWl6YXRpb24gYW5kIHZhbGlkYXRpb24uXG4gKiBJdCBzdXBwb3J0cyB2YXJpb3VzIGlucHV0IHR5cGVzIGFuZCBzaG91bGQgYmUgYXBwcm9wcmlhdGVseSBzaXplZCB3aXRoIGNsZWFyIGxhYmVsaW5nLlxuICovXG5leHBvcnQgY29uc3QgVGV4dElucHV0ID0gZm9yd2FyZFJlZjxcbiAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQgfCBudWxsLFxuICBUZXh0SW5wdXRQcm9wc1xuPihcbiAgKFxuICAgIHtcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBhcmlhQ29udHJvbHMsXG4gICAgICBhdXRvQ29tcGxldGUgPSAnb24nLFxuICAgICAgYXV0b0ZvY3VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29scyxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZWRpdDogZm9yY2VFZGl0LFxuICAgICAgZXJyb3IsXG4gICAgICBmaWxsQXZhaWxhYmxlLFxuICAgICAgZ2VuZXJhdGVkLFxuICAgICAgaGVpZ2h0LFxuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIG11bHRpbGluZSxcbiAgICAgIG5hbWUsXG4gICAgICBub3RpY2UsXG4gICAgICBub1RvcExhYmVsID0gZmFsc2UsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRm9jdXMsXG4gICAgICBvbktleVVwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICByYW5kb20sXG4gICAgICByZWFkT25seSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgcmVzaXphYmxlLFxuICAgICAgcm93cyxcbiAgICAgIHNpemUgPSAnbWVkaXVtJyxcbiAgICAgIHRhYkluZGV4LFxuICAgICAgdHlwZSA9ICd0ZXh0JyxcbiAgICAgIHVuaXQsXG4gICAgICB2YWxpZCxcbiAgICAgIHZhbHVlLFxuICAgICAgd3JhcCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IGNvbnRyb2xSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IFt2aXNpdGVkLCBzZXRWaXNpdGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtwYXNzd29yZFZpc2libGUsIHNldFBhc3N3b3JkVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHNldFBhc3N3b3JkVmlzaWJsZSh4ID0+ICF4KSxcbiAgICAgIFtdLFxuICAgIClcblxuICAgIC8vIEZvcndhcmQgcmVmIHRvIHBhcmVudCByZWZcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlPHVua25vd24sIHVua25vd24+KHJlZiwgKCkgPT4gY29udHJvbFJlZiwgW10pXG5cbiAgICAvLyBGb2N1cyB3aGVuIHBhc3N3b3JkIGlzIHZpc2libGVcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHBhc3N3b3JkVmlzaWJsZSkge1xuICAgICAgICBjb250cm9sUmVmPy5jdXJyZW50Py5mb2N1cygpXG4gICAgICB9XG4gICAgfSwgW3Bhc3N3b3JkVmlzaWJsZV0pXG5cbiAgICBjb25zdCBoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSxcbiAgICAgIFt0b2dnbGVQYXNzd29yZFZpc2liaWxpdHldLFxuICAgIClcblxuICAgIGNvbnN0IHJhbmRvbWl6ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gb25DaGFuZ2U/LihyYW5kb21OYW1lKHJhbmRvbSkpLFxuICAgICAgW29uQ2hhbmdlLCByYW5kb21dLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrUmFuZG9taXplID0gdXNlQ2FsbGJhY2soKCkgPT4gcmFuZG9taXplKCksIFtyYW5kb21pemVdKVxuXG4gICAgY29uc3QgaGFuZGxlRm9jdXM6IEZvY3VzRXZlbnRIYW5kbGVyPFxuICAgICAgSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICA+ID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGlmICghdmlzaXRlZCAmJiAhcmVhZE9ubHkpIHtcbiAgICAgICAgICBzZXRWaXNpdGVkKHRydWUpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAob25Gb2N1cykge1xuICAgICAgICAgIG9uRm9jdXMoZXZlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdmlzaXRlZCwgcmVhZE9ubHksIG9uRm9jdXNdLFxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4pID0+XG4gICAgICAgIG9uQ2hhbmdlPy4oZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgIFtvbkNoYW5nZV0sXG4gICAgKVxuXG4gICAgY29uc3QgaXNQYXNzVG9nZ2xlYWJsZSA9IHR5cGUgPT09ICd0b2dnbGVhYmxlLXBhc3N3b3JkJ1xuICAgIGNvbnN0IGhhc0xhYmVsID0gISFsYWJlbCAmJiAhbm9Ub3BMYWJlbCAmJiBzaXplID09PSAnbWVkaXVtJ1xuICAgIGNvbnN0IGVkaXQgPVxuICAgICAgaGFzTGFiZWwgJiYgKGZvcmNlRWRpdCB8fCB2aXNpdGVkIHx8IHZhbHVlIHx8IGVycm9yIHx8IGdlbmVyYXRlZClcblxuICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJWaXNpYmxlID0gIWhhc0xhYmVsIHx8ICEhZWRpdFxuICAgIGNvbnN0IGhhc1JpZ2h0RWxlbWVudCA9ICEhKFxuICAgICAgdmFsaWQgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgaXNQYXNzVG9nZ2xlYWJsZSB8fFxuICAgICAgcmFuZG9tIHx8XG4gICAgICB1bml0XG4gICAgKVxuXG4gICAgY29uc3QgZ2V0VHlwZSA9ICgpID0+IHtcbiAgICAgIGlmIChpc1Bhc3NUb2dnbGVhYmxlKSB7XG4gICAgICAgIHJldHVybiBwYXNzd29yZFZpc2libGUgfHwgZ2VuZXJhdGVkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbXVsdGlsaW5lID8gdW5kZWZpbmVkIDogdHlwZVxuICAgIH1cblxuICAgIGNvbnN0IGlucHV0U2l6ZSA9IHNpemVcblxuICAgIGNvbnN0IHJpZ2h0Q29tcG9uZW50c0FycmF5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCByaWdodENvbXBvbmVudHMgPSBbXVxuXG4gICAgICBpZiAoaXNQYXNzVG9nZ2xlYWJsZSAmJiAhZ2VuZXJhdGVkKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcbiAgICAgICAgICAgICAgZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LXZpc2liaWxpdHktYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17cGFzc3dvcmRWaXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnfVxuICAgICAgICAgICAga2V5PVwicGFzc3dvcmQtdmlzaWJsZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVQYXNzVmlzaWJpbGl0eUNsaWNrfVxuICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgaWNvbj17cGFzc3dvcmRWaXNpYmxlID8gJ2V5ZS1vZmYnIDogJ2V5ZSd9XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAocmFuZG9tKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGtleT1cInJhbmRvbVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17XG4gICAgICAgICAgICAgIGRhdGFUZXN0SWQgPyBgJHtkYXRhVGVzdElkfS1yYW5kb21pemUtYnV0dG9uYCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cInJhbmRvbWl6ZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja1JhbmRvbWl6ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGljb249XCJhdXRvLWZpeFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodmFsaWQgPT09IGZhbHNlIHx8IHZhbGlkID09PSB0cnVlKSB7XG4gICAgICAgIHJpZ2h0Q29tcG9uZW50cy5wdXNoKFxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBrZXk9XCJ2YWxpZFwiXG4gICAgICAgICAgICBuYW1lPXshdmFsaWQgPyAnY2xvc2UnIDogJ2NoZWNrJ31cbiAgICAgICAgICAgIGNvbG9yPXshdmFsaWQgPyAnZGFuZ2VyJyA6ICdzdWNjZXNzJ31cbiAgICAgICAgICAgIHNpemU9ezIwfVxuICAgICAgICAgIC8+LFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAodW5pdCkge1xuICAgICAgICByaWdodENvbXBvbmVudHMucHVzaChcbiAgICAgICAgICA8VW5pdExhYmVsIGtleT1cInVuaXRcIiB2YXJpYW50PVwiYm9keVNtYWxsXCIgYXM9XCJwXCIgcHJvbWluZW5jZT1cIndlYWtcIj5cbiAgICAgICAgICAgIHt1bml0fVxuICAgICAgICAgIDwvVW5pdExhYmVsPixcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmlnaHRDb21wb25lbnRzXG4gICAgfSwgW1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBnZW5lcmF0ZWQsXG4gICAgICBoYW5kbGVDbGlja1JhbmRvbWl6ZSxcbiAgICAgIGhhbmRsZVBhc3NWaXNpYmlsaXR5Q2xpY2ssXG4gICAgICBpc1Bhc3NUb2dnbGVhYmxlLFxuICAgICAgcGFzc3dvcmRWaXNpYmxlLFxuICAgICAgcmFuZG9tLFxuICAgICAgdW5pdCxcbiAgICAgIHZhbGlkLFxuICAgICAgZGF0YVRlc3RJZCxcbiAgICBdKVxuXG4gICAgY29uc3Qgc2hvd1NlcGFyYXRvciA9IChyZXF1aXJlZCAmJiBoYXNSaWdodEVsZW1lbnQpIHx8IHVuaXRcbiAgICBjb25zdCBwYWRkaW5nUmlnaHRGYWN0b3IgPSAocmVxdWlyZWQgPyAxIDogMCkgKyAoc2hvd1NlcGFyYXRvciA/IDAuNSA6IDApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxTdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e2FyaWFDb250cm9sc31cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17aGFzTGFiZWwgPyBhcmlhQ29udHJvbHMgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBhcz17bXVsdGlsaW5lID8gJ3RleHRhcmVhJyA6ICdpbnB1dCd9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIGF1dG9Gb2N1cz17YXV0b0ZvY3VzfVxuICAgICAgICAgICAgY29scz17Y29sc31cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICBlcnJvcj17ISFlcnJvcn1cbiAgICAgICAgICAgIGZpbGxBdmFpbGFibGU9e2ZpbGxBdmFpbGFibGV9XG4gICAgICAgICAgICBoYXNMYWJlbD17aGFzTGFiZWx9XG4gICAgICAgICAgICBwYWRkaW5nUmlnaHRGYWN0b3I9e3BhZGRpbmdSaWdodEZhY3Rvcn1cbiAgICAgICAgICAgIHJpZ2h0Q29tcG9uZW50TGVuZ3RoPXtyaWdodENvbXBvbmVudHNBcnJheS5sZW5ndGh9XG4gICAgICAgICAgICB1bml0PXt1bml0fVxuICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgaW5wdXRTaXplPXtpbnB1dFNpemV9XG4gICAgICAgICAgICBpc1BsYWNlaG9sZGVyVmlzaWJsZT17aXNQbGFjZWhvbGRlclZpc2libGV9XG4gICAgICAgICAgICBtdWx0aWxpbmU9e211bHRpbGluZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgIG9uS2V5VXA9e29uS2V5VXB9XG4gICAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgIHJlc2l6YWJsZT17cmVzaXphYmxlfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIHN0eWxlPXt7IGhlaWdodCB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgdHlwZT17Z2V0VHlwZSgpfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlID09PSBudWxsID8gJycgOiB2YWx1ZX1cbiAgICAgICAgICAgIHdyYXA9e3dyYXB9XG4gICAgICAgICAgICBtaW49e21pbn1cbiAgICAgICAgICAgIG1heD17bWF4fVxuICAgICAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7aGFzTGFiZWwgJiYgKFxuICAgICAgICAgICAgPFN0eWxlZExhYmVsXG4gICAgICAgICAgICAgIGVkaXQ9eyEhZWRpdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgIGVycm9yPXshIWVycm9yfVxuICAgICAgICAgICAgICBpZD17YXJpYUNvbnRyb2xzfVxuICAgICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgICAgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgPC9TdHlsZWRMYWJlbD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2hhc1JpZ2h0RWxlbWVudCB8fCByZXF1aXJlZCA/IChcbiAgICAgICAgICAgIDxTdHlsZWRSaWdodEVsZW1lbnRcbiAgICAgICAgICAgICAgZWRpdD17ISFlZGl0fVxuICAgICAgICAgICAgICB0b3VjaGFibGU9e2lzUGFzc1RvZ2dsZWFibGUgfHwgISFyYW5kb219XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtyZXF1aXJlZCA/IChcbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYXN0ZXJpc2tcIiBjb2xvcj1cImRhbmdlclwiIHNpemU9ezEwfSAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3Nob3dTZXBhcmF0b3IgPyA8U3R5bGVkU2VwYXJhdG9yIGRpcmVjdGlvbj1cInZlcnRpY2FsXCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXkubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICA8UmlnaHRDb21wb25lbnRcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cmlnaHRDb21wb25lbnRzQXJyYXl9XG4gICAgICAgICAgICAgICAgPC9SaWdodENvbXBvbmVudD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0eWxlZFJpZ2h0RWxlbWVudD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRSZWxhdGl2ZURpdj5cbiAgICAgICAgPEV4cGFuZGFibGUgb3BlbmVkPXshIWVycm9yfT5cbiAgICAgICAgICA8U3R5bGVkRXJyb3I+e2Vycm9yfTwvU3R5bGVkRXJyb3I+XG4gICAgICAgIDwvRXhwYW5kYWJsZT5cbiAgICAgICAge25vdGljZSA/IDxTdHlsZWROb3RpY2U+e25vdGljZX08L1N0eWxlZE5vdGljZT4gOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9LFxuKVxuIl19 */"));
275
+ const TextInput = forwardRef(({
276
+ "data-testid": dataTestId,
277
+ ariaControls,
278
+ autoComplete = "on",
279
+ autoFocus,
280
+ className,
281
+ cols,
282
+ defaultValue,
283
+ disabled,
284
+ edit: forceEdit,
285
+ error,
286
+ fillAvailable,
287
+ generated,
288
+ height,
289
+ id,
290
+ label,
291
+ multiline,
292
+ name,
293
+ notice,
294
+ noTopLabel = false,
295
+ onBlur,
296
+ onChange,
297
+ onFocus,
298
+ onKeyUp,
299
+ onKeyDown,
300
+ placeholder,
301
+ random,
302
+ readOnly,
303
+ required,
304
+ resizable,
305
+ rows,
306
+ size = "medium",
307
+ tabIndex,
308
+ type = "text",
309
+ unit,
310
+ valid,
311
+ value,
312
+ wrap,
313
+ inputProps,
314
+ min,
315
+ max
316
+ }, ref) => {
317
+ const controlRef = useRef(null);
318
+ const [visited, setVisited] = useState(false);
319
+ const [passwordVisible, setPasswordVisible] = useState(false);
320
+ const togglePasswordVisibility = useCallback(() => setPasswordVisible((x) => !x), []);
321
+ useImperativeHandle(ref, () => controlRef, []);
322
+ useEffect(() => {
323
+ if (passwordVisible) {
324
+ controlRef?.current?.focus();
325
+ }
326
+ }, [passwordVisible]);
327
+ const handlePassVisibilityClick = useCallback(() => togglePasswordVisibility(), [togglePasswordVisibility]);
328
+ const randomize = useCallback(() => onChange?.(randomName(random)), [onChange, random]);
329
+ const handleClickRandomize = useCallback(() => randomize(), [randomize]);
330
+ const handleFocus = useCallback((event) => {
331
+ if (!visited && !readOnly) {
332
+ setVisited(true);
333
+ }
334
+ if (onFocus) {
335
+ onFocus(event);
336
+ }
337
+ }, [visited, readOnly, onFocus]);
338
+ const handleChange = useCallback((event) => onChange?.(event.target.value), [onChange]);
339
+ const isPassToggleable = type === "toggleable-password";
340
+ const hasLabel = !!label && !noTopLabel && size === "medium";
341
+ const edit = hasLabel && (forceEdit || visited || value || error || generated);
342
+ const isPlaceholderVisible = !hasLabel || !!edit;
343
+ const hasRightElement = !!(valid !== void 0 || isPassToggleable || random || unit);
344
+ const getType = () => {
345
+ if (isPassToggleable) {
346
+ return passwordVisible || generated ? "text" : "password";
347
+ }
348
+ return multiline ? void 0 : type;
349
+ };
350
+ const inputSize = size;
351
+ const rightComponentsArray = useMemo(() => {
352
+ const rightComponents = [];
353
+ if (isPassToggleable && !generated) {
354
+ rightComponents.push(/* @__PURE__ */ jsx(Button, { "data-testid": dataTestId ? `${dataTestId}-visibility-button` : void 0, "aria-label": passwordVisible ? "hide" : "show", onClick: handlePassVisibilityClick, variant: "ghost", sentiment: "neutral", icon: passwordVisible ? "eye-off" : "eye", size: "small" }, "password-visible"));
355
+ }
356
+ if (random) {
357
+ rightComponents.push(/* @__PURE__ */ jsx(Button, { "data-testid": dataTestId ? `${dataTestId}-randomize-button` : void 0, "aria-label": "randomize", onClick: handleClickRandomize, disabled, icon: "auto-fix", variant: "ghost", sentiment: "neutral", size: "small" }, "random"));
358
+ }
359
+ if (valid === false || valid === true) {
360
+ rightComponents.push(/* @__PURE__ */ jsx(Icon, { name: !valid ? "close" : "check", color: !valid ? "danger" : "success", size: 20 }, "valid"));
361
+ }
362
+ if (unit) {
363
+ rightComponents.push(/* @__PURE__ */ jsx(UnitLabel, { variant: "bodySmall", as: "p", prominence: "weak", children: unit }, "unit"));
364
+ }
365
+ return rightComponents;
366
+ }, [disabled, generated, handleClickRandomize, handlePassVisibilityClick, isPassToggleable, passwordVisible, random, unit, valid, dataTestId]);
367
+ const showSeparator = required && hasRightElement || unit;
368
+ const paddingRightFactor = (required ? 1 : 0) + (showSeparator ? 0.5 : 0);
369
+ return /* @__PURE__ */ jsxs("div", { className, children: [
370
+ /* @__PURE__ */ jsxs(StyledRelativeDiv, { children: [
371
+ /* @__PURE__ */ jsx(StyledInput, { "aria-controls": ariaControls, "aria-label": label || void 0, "aria-labelledby": hasLabel ? ariaControls : void 0, as: multiline ? "textarea" : "input", autoComplete, autoFocus, cols, "data-testid": dataTestId, defaultValue, disabled, error: !!error, fillAvailable, hasLabel, paddingRightFactor, rightComponentLength: rightComponentsArray.length, unit, id, inputSize, isPlaceholderVisible, multiline, name, onBlur, onChange: handleChange, onFocus: handleFocus, onKeyUp, onKeyDown, placeholder, readOnly, ref: controlRef, resizable, rows, style: {
372
+ height
373
+ }, tabIndex, type: getType(), value: value === null ? "" : value, wrap, min, max, required, ...inputProps }),
374
+ hasLabel && /* @__PURE__ */ jsx(StyledLabel, { edit: !!edit, disabled, readOnly, error: !!error, id: ariaControls, htmlFor: id, "aria-live": "assertive", children: label }),
375
+ hasRightElement || required ? /* @__PURE__ */ jsxs(StyledRightElement, { edit: !!edit, touchable: isPassToggleable || !!random, children: [
376
+ required ? /* @__PURE__ */ jsx(Icon, { name: "asterisk", color: "danger", size: 10 }) : null,
377
+ showSeparator ? /* @__PURE__ */ jsx(StyledSeparator, { direction: "vertical" }) : null,
378
+ rightComponentsArray.length > 0 ? /* @__PURE__ */ jsx(RightComponent, { justifyContent: "center", direction: "row", alignItems: "center", children: rightComponentsArray }) : null
379
+ ] }) : null
380
+ ] }),
381
+ /* @__PURE__ */ jsx(Expandable, { opened: !!error, children: /* @__PURE__ */ jsx(StyledError, { children: error }) }),
382
+ notice ? /* @__PURE__ */ jsx(StyledNotice, { children: notice }) : null
383
+ ] });
384
+ });
470
385
  export {
471
386
  TextInput
472
387
  };