@1money/component-ui 0.0.79 → 0.0.80
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.
- package/es/business/Filter/Account/Account.js +71 -209
- package/es/business/Filter/Account/style/Account.css +2 -42
- package/es/business/Filter/Account/style/css.js +3 -1
- package/es/business/Filter/Account/style/index.d.ts +2 -0
- package/es/business/Filter/Account/style/index.js +3 -1
- package/es/business/Filter/Asset/Asset.js +66 -209
- package/es/business/Filter/Asset/style/Asset.css +3 -44
- package/es/business/Filter/Asset/style/css.js +2 -1
- package/es/business/Filter/Asset/style/index.d.ts +1 -0
- package/es/business/Filter/Asset/style/index.js +2 -1
- package/es/business/Filter/DateRange/DateRange.js +13 -8
- package/es/business/Filter/DateRange/interface.d.ts +0 -5
- package/es/business/Filter/DateRange/style/DateRange.css +15 -5
- package/es/business/Filter/Option/Option.js +50 -193
- package/es/business/Filter/Option/style/Option.css +1 -63
- package/es/business/Filter/Option/style/css.js +2 -1
- package/es/business/Filter/Option/style/index.d.ts +1 -0
- package/es/business/Filter/Option/style/index.js +2 -1
- package/es/components/Filter/Filter.d.ts +2 -0
- package/es/components/Filter/Filter.js +266 -0
- package/es/components/Filter/index.d.ts +4 -0
- package/es/components/Filter/index.js +5 -0
- package/es/components/Filter/interface.d.ts +67 -0
- package/es/components/Filter/interface.js +2 -0
- package/es/components/Filter/style/Filter.css +100 -0
- package/es/components/Filter/style/css.js +8 -0
- package/es/components/Filter/style/index.d.ts +7 -0
- package/es/components/Filter/style/index.js +8 -0
- package/es/components/Pagination/constants.js +3 -2
- package/es/components/Pagination/style/Pagination.css +10 -8
- package/es/components/Select/style/Select.css +2 -1
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/lib/business/Filter/Account/Account.js +69 -208
- package/lib/business/Filter/Account/style/Account.css +2 -42
- package/lib/business/Filter/Account/style/css.js +3 -1
- package/lib/business/Filter/Account/style/index.d.ts +2 -0
- package/lib/business/Filter/Account/style/index.js +3 -1
- package/lib/business/Filter/Asset/Asset.js +64 -208
- package/lib/business/Filter/Asset/style/Asset.css +3 -44
- package/lib/business/Filter/Asset/style/css.js +2 -1
- package/lib/business/Filter/Asset/style/index.d.ts +1 -0
- package/lib/business/Filter/Asset/style/index.js +2 -1
- package/lib/business/Filter/DateRange/DateRange.js +13 -8
- package/lib/business/Filter/DateRange/interface.d.ts +0 -5
- package/lib/business/Filter/DateRange/style/DateRange.css +15 -5
- package/lib/business/Filter/Option/Option.js +48 -192
- package/lib/business/Filter/Option/style/Option.css +1 -63
- package/lib/business/Filter/Option/style/css.js +2 -1
- package/lib/business/Filter/Option/style/index.d.ts +1 -0
- package/lib/business/Filter/Option/style/index.js +2 -1
- package/lib/components/Filter/Filter.d.ts +2 -0
- package/lib/components/Filter/Filter.js +273 -0
- package/lib/components/Filter/index.d.ts +4 -0
- package/lib/components/Filter/index.js +30 -0
- package/lib/components/Filter/interface.d.ts +67 -0
- package/lib/components/Filter/interface.js +6 -0
- package/lib/components/Filter/style/Filter.css +100 -0
- package/lib/components/Filter/style/css.js +10 -0
- package/lib/components/Filter/style/index.d.ts +7 -0
- package/lib/components/Filter/style/index.js +10 -0
- package/lib/components/Pagination/constants.js +3 -2
- package/lib/components/Pagination/style/Pagination.css +10 -8
- package/lib/components/Select/style/Select.css +2 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +8 -1
- package/package.json +6 -1
- package/scripts/mcp-server/examples.generated.json +18 -0
- package/scripts/mcp-server/index.generated.json +68 -0
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.OptionFilter = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
8
|
var _react = require("react");
|
|
11
|
-
var _Button = require("../../../components/Button");
|
|
12
9
|
var _Checkbox = require("../../../components/Checkbox");
|
|
13
10
|
var _Empty = require("../../../components/Empty");
|
|
11
|
+
var _Filter = require("../../../components/Filter");
|
|
14
12
|
var _Flex = require("../../../components/Flex");
|
|
15
13
|
var _Icons = require("../../../components/Icons");
|
|
16
|
-
var _Select = require("../../../components/Select");
|
|
17
14
|
var _Typography = require("../../../components/Typography");
|
|
18
|
-
var _classnames = require("../../../utils/classnames");
|
|
19
15
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
20
16
|
var t = {};
|
|
21
17
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -25,14 +21,9 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
25
21
|
return t;
|
|
26
22
|
};
|
|
27
23
|
var WRAP_CLS = 'om-option-filter';
|
|
28
|
-
// The panel is portaled to <body>, so panel-scoped overrides are keyed off this
|
|
29
|
-
// class (passed as `panelClassName`) rather than the trigger root.
|
|
30
24
|
var PANEL_CLS = "".concat(WRAP_CLS, "-panel");
|
|
31
|
-
var RESET_LABEL = 'Reset';
|
|
32
|
-
var APPLY_LABEL = 'Apply';
|
|
33
25
|
var DEFAULT_ALL_LABEL = 'All';
|
|
34
26
|
var DEFAULT_PLACEHOLDER = 'Select';
|
|
35
|
-
var DEFAULT_SEARCH_PLACEHOLDER = 'Search';
|
|
36
27
|
var DEFAULT_EMPTY = (0, _jsxRuntime.jsx)(_Empty.Empty, {
|
|
37
28
|
variant: 'fill',
|
|
38
29
|
icon: (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
@@ -40,18 +31,21 @@ var DEFAULT_EMPTY = (0, _jsxRuntime.jsx)(_Empty.Empty, {
|
|
|
40
31
|
size: 16,
|
|
41
32
|
color: 'currentColor'
|
|
42
33
|
}),
|
|
43
|
-
title:
|
|
44
|
-
|
|
34
|
+
title: (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
35
|
+
size: 'sm',
|
|
36
|
+
strong: true,
|
|
37
|
+
color: 'neutral-secondary',
|
|
38
|
+
children: "No results"
|
|
39
|
+
}),
|
|
40
|
+
description: (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
41
|
+
size: 'sm',
|
|
42
|
+
color: 'neutral-secondary',
|
|
43
|
+
children: "Try a different name or adjust your search filters."
|
|
44
|
+
}),
|
|
45
45
|
style: {
|
|
46
46
|
padding: 0
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
|
-
var MORE_SUFFIX = function MORE_SUFFIX(count) {
|
|
50
|
-
return "+ ".concat(count, " more");
|
|
51
|
-
};
|
|
52
|
-
var FULL_WIDTH_STYLE = {
|
|
53
|
-
flex: 1
|
|
54
|
-
};
|
|
55
49
|
var toOption = function toOption(raw) {
|
|
56
50
|
return {
|
|
57
51
|
label: raw.label,
|
|
@@ -59,6 +53,24 @@ var toOption = function toOption(raw) {
|
|
|
59
53
|
searchText: raw.label
|
|
60
54
|
};
|
|
61
55
|
};
|
|
56
|
+
var renderRow = function renderRow(option, checked) {
|
|
57
|
+
return (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
58
|
+
align: 'center',
|
|
59
|
+
justify: 'space-between',
|
|
60
|
+
gap: 12,
|
|
61
|
+
className: "".concat(WRAP_CLS, "__row"),
|
|
62
|
+
children: [(0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
63
|
+
size: 'sm',
|
|
64
|
+
strong: true,
|
|
65
|
+
className: "".concat(WRAP_CLS, "__row-name"),
|
|
66
|
+
children: option.label
|
|
67
|
+
}), (0, _jsxRuntime.jsx)(_Checkbox.Checkbox, {
|
|
68
|
+
checked: checked,
|
|
69
|
+
readOnly: true,
|
|
70
|
+
className: 'om-filter__row-check'
|
|
71
|
+
})]
|
|
72
|
+
});
|
|
73
|
+
};
|
|
62
74
|
var OptionFilterBase = function OptionFilterBase(_a) {
|
|
63
75
|
var ref = _a.ref,
|
|
64
76
|
className = _a.className,
|
|
@@ -72,200 +84,44 @@ var OptionFilterBase = function OptionFilterBase(_a) {
|
|
|
72
84
|
allLabel = _a$allLabel === void 0 ? DEFAULT_ALL_LABEL : _a$allLabel,
|
|
73
85
|
_a$search = _a.search,
|
|
74
86
|
search = _a$search === void 0 ? true : _a$search,
|
|
75
|
-
|
|
76
|
-
searchPlaceholder = _a$searchPlaceholder === void 0 ? DEFAULT_SEARCH_PLACEHOLDER : _a$searchPlaceholder,
|
|
87
|
+
searchPlaceholder = _a.searchPlaceholder,
|
|
77
88
|
_a$emptyContent = _a.emptyContent,
|
|
78
89
|
emptyContent = _a$emptyContent === void 0 ? DEFAULT_EMPTY : _a$emptyContent,
|
|
79
90
|
onApply = _a.onApply,
|
|
80
91
|
onReset = _a.onReset,
|
|
81
92
|
rest = __rest(_a, ["ref", "className", "size", "label", "placeholder", "options", "allLabel", "search", "searchPlaceholder", "emptyContent", "onApply", "onReset"]);
|
|
93
|
+
var filterRef = (0, _react.useRef)(null);
|
|
82
94
|
var mapped = (0, _react.useMemo)(function () {
|
|
83
95
|
return options.map(toOption);
|
|
84
96
|
}, [options]);
|
|
85
|
-
var allValues = (0, _react.useMemo)(function () {
|
|
86
|
-
return options.map(function (option) {
|
|
87
|
-
return option.value;
|
|
88
|
-
});
|
|
89
|
-
}, [options]);
|
|
90
|
-
var optionByValue = (0, _react.useMemo)(function () {
|
|
91
|
-
var map = new Map();
|
|
92
|
-
mapped.forEach(function (option) {
|
|
93
|
-
return map.set(option.value, option);
|
|
94
|
-
});
|
|
95
|
-
return map;
|
|
96
|
-
}, [mapped]);
|
|
97
|
-
var _useState = (0, _react.useState)(false),
|
|
98
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
99
|
-
open = _useState2[0],
|
|
100
|
-
setOpen = _useState2[1];
|
|
101
|
-
var _useState3 = (0, _react.useState)(''),
|
|
102
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
103
|
-
keyword = _useState4[0],
|
|
104
|
-
setKeyword = _useState4[1];
|
|
105
|
-
// `temp` is the in-panel draft; `committed` is the last Applied selection.
|
|
106
|
-
// Only Apply promotes `temp` → `committed` and notifies the parent. With an
|
|
107
|
-
// "All" row, "all selected" is represented by an empty array.
|
|
108
|
-
var _useState5 = (0, _react.useState)([]),
|
|
109
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
110
|
-
temp = _useState6[0],
|
|
111
|
-
setTemp = _useState6[1];
|
|
112
|
-
var _useState7 = (0, _react.useState)([]),
|
|
113
|
-
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
114
|
-
committed = _useState8[0],
|
|
115
|
-
setCommitted = _useState8[1];
|
|
116
|
-
// The "All" row is checked exactly when nothing specific is selected.
|
|
117
|
-
var allChecked = temp.length === 0;
|
|
118
|
-
// While searching, the "All" row is meaningless — hide it so a no-match
|
|
119
|
-
// search shows the empty state instead of a lone "All" row.
|
|
120
|
-
var searching = search && keyword.trim().length > 0;
|
|
121
|
-
var filterOption = (0, _react.useCallback)(function (searchValue, option) {
|
|
122
|
-
var term = searchValue.trim().toLowerCase();
|
|
123
|
-
if (!term) return true;
|
|
124
|
-
var mapped = option;
|
|
125
|
-
return typeof mapped.searchText === 'string' ? mapped.searchText.toLowerCase().includes(term) : false;
|
|
126
|
-
}, []);
|
|
127
97
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
128
98
|
return {
|
|
129
99
|
clear: function clear() {
|
|
130
|
-
|
|
131
|
-
|
|
100
|
+
var _a;
|
|
101
|
+
return (_a = filterRef.current) === null || _a === void 0 ? void 0 : _a.clear();
|
|
132
102
|
},
|
|
133
103
|
reset: function reset() {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
onReset === null || onReset === void 0 ? void 0 : onReset([]);
|
|
104
|
+
var _a;
|
|
105
|
+
return (_a = filterRef.current) === null || _a === void 0 ? void 0 : _a.reset();
|
|
137
106
|
}
|
|
138
107
|
};
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
var collapse = nextValues.length === allValues.length;
|
|
145
|
-
setTemp(collapse ? [] : nextValues);
|
|
146
|
-
}, [allValues]);
|
|
147
|
-
var handleAllClick = (0, _react.useCallback)(function () {
|
|
148
|
-
// The "All" row is exclusive: turning it on clears specific picks.
|
|
149
|
-
setTemp([]);
|
|
150
|
-
}, []);
|
|
151
|
-
var handleApply = (0, _react.useCallback)(function () {
|
|
152
|
-
setCommitted(temp);
|
|
153
|
-
onApply(temp);
|
|
154
|
-
setOpen(false);
|
|
155
|
-
}, [temp, onApply]);
|
|
156
|
-
var handleReset = (0, _react.useCallback)(function () {
|
|
157
|
-
setTemp([]);
|
|
158
|
-
setCommitted([]);
|
|
159
|
-
onReset === null || onReset === void 0 ? void 0 : onReset([]);
|
|
160
|
-
}, [onReset]);
|
|
161
|
-
var handleOpenChange = (0, _react.useCallback)(function (nextOpen) {
|
|
162
|
-
setOpen(nextOpen);
|
|
163
|
-
if (nextOpen) return;
|
|
164
|
-
// Closing without Apply discards the draft.
|
|
165
|
-
setTemp(committed);
|
|
166
|
-
setKeyword('');
|
|
167
|
-
}, [committed]);
|
|
168
|
-
var renderRow = (0, _react.useCallback)(function (option, checked) {
|
|
169
|
-
return (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
170
|
-
align: 'center',
|
|
171
|
-
justify: 'space-between',
|
|
172
|
-
gap: 8,
|
|
173
|
-
className: "".concat(WRAP_CLS, "__row"),
|
|
174
|
-
children: [(0, _jsxRuntime.jsx)(_Typography.TypographyLabel, {
|
|
175
|
-
size: 'md',
|
|
176
|
-
className: "".concat(WRAP_CLS, "__row-name"),
|
|
177
|
-
children: option.label
|
|
178
|
-
}), (0, _jsxRuntime.jsx)(_Checkbox.Checkbox, {
|
|
179
|
-
checked: checked,
|
|
180
|
-
readOnly: true,
|
|
181
|
-
className: "".concat(WRAP_CLS, "__row-check")
|
|
182
|
-
})]
|
|
183
|
-
});
|
|
184
|
-
}, []);
|
|
185
|
-
// The trigger reflects the COMMITTED selection only — `temp` is the in-panel
|
|
186
|
-
// draft and must not leak into the trigger before Apply. An empty `committed`
|
|
187
|
-
// means "all" (the `allLabel`). `renderValue` short-circuits Select's own
|
|
188
|
-
// placeholder handling, so the empty state must return `allLabel` explicitly.
|
|
189
|
-
var renderValue = (0, _react.useCallback)(function () {
|
|
190
|
-
if (committed.length === 0) {
|
|
191
|
-
// The `allLabel` is the default filter value, not an empty placeholder.
|
|
192
|
-
// The trigger's empty `value` makes Select wrap this in its grey
|
|
193
|
-
// placeholder class, so force the default dark text to match DateRange.
|
|
194
|
-
return (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
195
|
-
size: 'md',
|
|
196
|
-
color: 'default',
|
|
197
|
-
className: "".concat(WRAP_CLS, "__value"),
|
|
198
|
-
children: allLabel
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
var first = optionByValue.get(committed[0]);
|
|
202
|
-
var firstLabel = first ? first.label : committed[0];
|
|
203
|
-
var extra = committed.length - 1;
|
|
204
|
-
return (0, _jsxRuntime.jsxs)(_Typography.TypographyBody, {
|
|
205
|
-
size: 'md',
|
|
206
|
-
className: "".concat(WRAP_CLS, "__value"),
|
|
207
|
-
children: [(0, _jsxRuntime.jsx)("span", {
|
|
208
|
-
className: "".concat(WRAP_CLS, "__value-label"),
|
|
209
|
-
children: firstLabel
|
|
210
|
-
}), extra > 0 && (0, _jsxRuntime.jsx)("span", {
|
|
211
|
-
className: "".concat(WRAP_CLS, "__value-more"),
|
|
212
|
-
children: MORE_SUFFIX(extra)
|
|
213
|
-
})]
|
|
214
|
-
});
|
|
215
|
-
}, [allLabel, committed, optionByValue]);
|
|
216
|
-
return (0, _jsxRuntime.jsx)(_Select.Select, Object.assign({}, rest, {
|
|
217
|
-
multiple: true,
|
|
108
|
+
});
|
|
109
|
+
return (0, _jsxRuntime.jsx)(_Filter.Filter, Object.assign({}, rest, {
|
|
110
|
+
ref: filterRef,
|
|
111
|
+
className: className,
|
|
112
|
+
panelClassName: PANEL_CLS,
|
|
218
113
|
size: size,
|
|
219
114
|
label: label,
|
|
220
115
|
placeholder: placeholder,
|
|
221
|
-
className: (0, _classnames.joinCls)(WRAP_CLS, className),
|
|
222
|
-
panelClassName: PANEL_CLS,
|
|
223
|
-
value: temp,
|
|
224
|
-
open: open,
|
|
225
|
-
onOpenChange: handleOpenChange,
|
|
226
|
-
onChange: handleSelectChange,
|
|
227
|
-
searchable: search,
|
|
228
|
-
searchPlaceholder: searchPlaceholder,
|
|
229
|
-
searchValue: keyword,
|
|
230
|
-
onSearchChange: setKeyword,
|
|
231
|
-
filterOption: filterOption,
|
|
232
116
|
options: mapped,
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
onClick: handleAllClick,
|
|
237
|
-
children: [(0, _jsxRuntime.jsx)(_Typography.TypographyLabel, {
|
|
238
|
-
size: 'md',
|
|
239
|
-
children: allLabel
|
|
240
|
-
}), (0, _jsxRuntime.jsx)(_Checkbox.Checkbox, {
|
|
241
|
-
checked: allChecked,
|
|
242
|
-
readOnly: true,
|
|
243
|
-
className: "".concat(WRAP_CLS, "__row-check")
|
|
244
|
-
})]
|
|
245
|
-
}),
|
|
117
|
+
allLabel: allLabel,
|
|
118
|
+
search: search,
|
|
119
|
+
searchPlaceholder: searchPlaceholder,
|
|
246
120
|
emptyContent: emptyContent,
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
},
|
|
251
|
-
panelFooter: (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
252
|
-
gap: 8,
|
|
253
|
-
className: "".concat(WRAP_CLS, "__footer"),
|
|
254
|
-
children: [(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
255
|
-
color: 'grey',
|
|
256
|
-
size: 'small',
|
|
257
|
-
style: FULL_WIDTH_STYLE,
|
|
258
|
-
onClick: handleReset,
|
|
259
|
-
children: RESET_LABEL
|
|
260
|
-
}), (0, _jsxRuntime.jsx)(_Button.Button, {
|
|
261
|
-
color: 'primary',
|
|
262
|
-
size: 'small',
|
|
263
|
-
style: FULL_WIDTH_STYLE,
|
|
264
|
-
onClick: handleApply,
|
|
265
|
-
children: APPLY_LABEL
|
|
266
|
-
})]
|
|
267
|
-
})
|
|
121
|
+
renderRow: renderRow,
|
|
122
|
+
onApply: onApply,
|
|
123
|
+
onReset: onReset
|
|
268
124
|
}));
|
|
269
125
|
};
|
|
270
126
|
var OptionFilter = exports.OptionFilter = /*#__PURE__*/(0, _react.memo)(OptionFilterBase);
|
|
271
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9PcHRpb24vT3B0aW9uLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvT3B0aW9uL09wdGlvbi50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9DaGVja2JveCIsIl9FbXB0eSIsIl9GbGV4IiwiX0ljb25zIiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIldSQVBfQ0xTIiwiUEFORUxfQ0xTIiwiY29uY2F0IiwiUkVTRVRfTEFCRUwiLCJBUFBMWV9MQUJFTCIsIkRFRkFVTFRfQUxMX0xBQkVMIiwiREVGQVVMVF9QTEFDRUhPTERFUiIsIkRFRkFVTFRfU0VBUkNIX1BMQUNFSE9MREVSIiwiREVGQVVMVF9FTVBUWSIsIl9qc3giLCJFbXB0eSIsInZhcmlhbnQiLCJpY29uIiwiSWNvbnMiLCJuYW1lIiwic2l6ZSIsImNvbG9yIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInN0eWxlIiwicGFkZGluZyIsIk1PUkVfU1VGRklYIiwiY291bnQiLCJGVUxMX1dJRFRIX1NUWUxFIiwiZmxleCIsInRvT3B0aW9uIiwicmF3IiwibGFiZWwiLCJ2YWx1ZSIsInNlYXJjaFRleHQiLCJPcHRpb25GaWx0ZXJCYXNlIiwiX2EiLCJyZWYiLCJjbGFzc05hbWUiLCJfYSRzaXplIiwiX2EkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIm9wdGlvbnMiLCJfYSRhbGxMYWJlbCIsImFsbExhYmVsIiwiX2Ekc2VhcmNoIiwic2VhcmNoIiwiX2Ekc2VhcmNoUGxhY2Vob2xkZXIiLCJzZWFyY2hQbGFjZWhvbGRlciIsIl9hJGVtcHR5Q29udGVudCIsImVtcHR5Q29udGVudCIsIm9uQXBwbHkiLCJvblJlc2V0IiwicmVzdCIsIm1hcHBlZCIsInVzZU1lbW8iLCJtYXAiLCJhbGxWYWx1ZXMiLCJvcHRpb24iLCJvcHRpb25CeVZhbHVlIiwiTWFwIiwiZm9yRWFjaCIsInNldCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm9wZW4iLCJzZXRPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJrZXl3b3JkIiwic2V0S2V5d29yZCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidGVtcCIsInNldFRlbXAiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImNvbW1pdHRlZCIsInNldENvbW1pdHRlZCIsImFsbENoZWNrZWQiLCJzZWFyY2hpbmciLCJ0cmltIiwiZmlsdGVyT3B0aW9uIiwidXNlQ2FsbGJhY2siLCJzZWFyY2hWYWx1ZSIsInRlcm0iLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImNsZWFyIiwicmVzZXQiLCJoYW5kbGVTZWxlY3RDaGFuZ2UiLCJuZXh0IiwibmV4dFZhbHVlcyIsIkFycmF5IiwiaXNBcnJheSIsIlN0cmluZyIsImNvbGxhcHNlIiwiaGFuZGxlQWxsQ2xpY2siLCJoYW5kbGVBcHBseSIsImhhbmRsZVJlc2V0IiwiaGFuZGxlT3BlbkNoYW5nZSIsIm5leHRPcGVuIiwicmVuZGVyUm93IiwiY2hlY2tlZCIsIl9qc3hzIiwiRmxleCIsImFsaWduIiwianVzdGlmeSIsImdhcCIsImNoaWxkcmVuIiwiVHlwb2dyYXBoeUxhYmVsIiwiQ2hlY2tib3giLCJyZWFkT25seSIsInJlbmRlclZhbHVlIiwiVHlwb2dyYXBoeUJvZHkiLCJmaXJzdCIsImdldCIsImZpcnN0TGFiZWwiLCJleHRyYSIsIlNlbGVjdCIsImFzc2lnbiIsIm11bHRpcGxlIiwiam9pbkNscyIsInBhbmVsQ2xhc3NOYW1lIiwib25PcGVuQ2hhbmdlIiwib25DaGFuZ2UiLCJzZWFyY2hhYmxlIiwib25TZWFyY2hDaGFuZ2UiLCJwYW5lbEhlYWRlciIsInVuZGVmaW5lZCIsInR5cGUiLCJvbkNsaWNrIiwicmVuZGVyT3B0aW9uIiwibWV0YSIsInNlbGVjdGVkIiwicGFuZWxGb290ZXIiLCJCdXR0b24iLCJPcHRpb25GaWx0ZXIiLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxXQUFBLEdBQUFULE9BQUE7QURSQSxJQUFJVSxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMs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QUFLLEVBQUVJLGdCQUFnQjtRQUFFMEcsT0FBTyxFQUFFakMsV0FBVztRQUFBVyxRQUFBLEVBQy9Fdkc7TUFBVyxDQUFBLENBQ0w7SUFBQSxDQUFBO0VBQ0osQ0FBQSxDQUFBLENBRVQ7QUFFTixDQUFDO0FBRU0sSUFBTW1JLFlBQVksR0FBQUMsT0FBQSxDQUFBRCxZQUFBLGdCQUFHLElBQUFFLFdBQUksRUFBQzNHLGdCQUFnQixDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9PcHRpb24vT3B0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUNhbGxiYWNrLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQnV0dG9uJztcbmltcG9ydCB7IENoZWNrYm94IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9DaGVja2JveCc7XG5pbXBvcnQgeyBFbXB0eSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRW1wdHknO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvSWNvbnMnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHksIFR5cG9ncmFwaHlMYWJlbCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1vcHRpb24tZmlsdGVyJztcbi8vIFRoZSBwYW5lbCBpcyBwb3J0YWxlZCB0byA8Ym9keT4sIHNvIHBhbmVsLXNjb3BlZCBvdmVycmlkZXMgYXJlIGtleWVkIG9mZiB0aGlzXG4vLyBjbGFzcyAocGFzc2VkIGFzIGBwYW5lbENsYXNzTmFtZWApIHJhdGhlciB0aGFuIHRoZSB0cmlnZ2VyIHJvb3QuXG5jb25zdCBQQU5FTF9DTFMgPSBgJHtXUkFQX0NMU30tcGFuZWxgO1xuY29uc3QgUkVTRVRfTEFCRUwgPSAnUmVzZXQnO1xuY29uc3QgQVBQTFlfTEFCRUwgPSAnQXBwbHknO1xuY29uc3QgREVGQVVMVF9BTExfTEFCRUwgPSAnQWxsJztcbmNvbnN0IERFRkFVTFRfUExBQ0VIT0xERVIgPSAnU2VsZWN0JztcbmNvbnN0IERFRkFVTFRfU0VBUkNIX1BMQUNFSE9MREVSID0gJ1NlYXJjaCc7XG5jb25zdCBERUZBVUxUX0VNUFRZID0gKF9qc3goRW1wdHksIHsgdmFyaWFudDogJ2ZpbGwnLCBpY29uOiBfanN4KEljb25zLCB7IG5hbWU6ICdzZWFyY2gnLCBzaXplOiAxNiwgY29sb3I6ICdjdXJyZW50Q29sb3InIH0pLCB0aXRsZTogJ05vIHJlc3VsdHMnLCBkZXNjcmlwdGlvbjogJ1RyeSBhIGRpZmZlcmVudCBuYW1lIG9yIGFkanVzdCB5b3VyIHNlYXJjaCBmaWx0ZXJzLicsIHN0eWxlOiB7IHBhZGRpbmc6IDAgfSB9KSk7XG5jb25zdCBNT1JFX1NVRkZJWCA9IChjb3VudCkgPT4gYCsgJHtjb3VudH0gbW9yZWA7XG5jb25zdCBGVUxMX1dJRFRIX1NUWUxFID0geyBmbGV4OiAxIH07XG5jb25zdCB0b09wdGlvbiA9IChyYXcpID0+ICh7XG4gICAgbGFiZWw6IHJhdy5sYWJlbCxcbiAgICB2YWx1ZTogcmF3LnZhbHVlLFxuICAgIHNlYXJjaFRleHQ6IHJhdy5sYWJlbCxcbn0pO1xuY29uc3QgT3B0aW9uRmlsdGVyQmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IHJlZiwgY2xhc3NOYW1lLCBzaXplID0gJ3NtYWxsJywgbGFiZWwsIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUiwgb3B0aW9ucywgYWxsTGFiZWwgPSBERUZBVUxUX0FMTF9MQUJFTCwgc2VhcmNoID0gdHJ1ZSwgc2VhcmNoUGxhY2Vob2xkZXIgPSBERUZBVUxUX1NFQVJDSF9QTEFDRUhPTERFUiwgZW1wdHlDb250ZW50ID0gREVGQVVMVF9FTVBUWSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcInNpemVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwib3B0aW9uc1wiLCBcImFsbExhYmVsXCIsIFwic2VhcmNoXCIsIFwic2VhcmNoUGxhY2Vob2xkZXJcIiwgXCJlbXB0eUNvbnRlbnRcIiwgXCJvbkFwcGx5XCIsIFwib25SZXNldFwiXSk7XG4gICAgY29uc3QgbWFwcGVkID0gdXNlTWVtbygoKSA9PiBvcHRpb25zLm1hcCh0b09wdGlvbiksIFtvcHRpb25zXSk7XG4gICAgY29uc3QgYWxsVmFsdWVzID0gdXNlTWVtbygoKSA9PiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IG9wdGlvbkJ5VmFsdWUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgbWFwID0gbmV3IE1hcCgpO1xuICAgICAgICBtYXBwZWQuZm9yRWFjaCgob3B0aW9uKSA9PiBtYXAuc2V0KG9wdGlvbi52YWx1ZSwgb3B0aW9uKSk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfSwgW21hcHBlZF0pO1xuICAgIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBba2V5d29yZCwgc2V0S2V5d29yZF0gPSB1c2VTdGF0ZSgnJyk7XG4gICAgLy8gYHRlbXBgIGlzIHRoZSBpbi1wYW5lbCBkcmFmdDsgYGNvbW1pdHRlZGAgaXMgdGhlIGxhc3QgQXBwbGllZCBzZWxlY3Rpb24uXG4gICAgLy8gT25seSBBcHBseSBwcm9tb3RlcyBgdGVtcGAg4oaSIGBjb21taXR0ZWRgIGFuZCBub3RpZmllcyB0aGUgcGFyZW50LiBXaXRoIGFuXG4gICAgLy8gXCJBbGxcIiByb3csIFwiYWxsIHNlbGVjdGVkXCIgaXMgcmVwcmVzZW50ZWQgYnkgYW4gZW1wdHkgYXJyYXkuXG4gICAgY29uc3QgW3RlbXAsIHNldFRlbXBdID0gdXNlU3RhdGUoW10pO1xuICAgIGNvbnN0IFtjb21taXR0ZWQsIHNldENvbW1pdHRlZF0gPSB1c2VTdGF0ZShbXSk7XG4gICAgLy8gVGhlIFwiQWxsXCIgcm93IGlzIGNoZWNrZWQgZXhhY3RseSB3aGVuIG5vdGhpbmcgc3BlY2lmaWMgaXMgc2VsZWN0ZWQuXG4gICAgY29uc3QgYWxsQ2hlY2tlZCA9IHRlbXAubGVuZ3RoID09PSAwO1xuICAgIC8vIFdoaWxlIHNlYXJjaGluZywgdGhlIFwiQWxsXCIgcm93IGlzIG1lYW5pbmdsZXNzIOKAlCBoaWRlIGl0IHNvIGEgbm8tbWF0Y2hcbiAgICAvLyBzZWFyY2ggc2hvd3MgdGhlIGVtcHR5IHN0YXRlIGluc3RlYWQgb2YgYSBsb25lIFwiQWxsXCIgcm93LlxuICAgIGNvbnN0IHNlYXJjaGluZyA9IHNlYXJjaCAmJiBrZXl3b3JkLnRyaW0oKS5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGZpbHRlck9wdGlvbiA9IHVzZUNhbGxiYWNrKChzZWFyY2hWYWx1ZSwgb3B0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlcm0gPSBzZWFyY2hWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKCF0ZXJtKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGNvbnN0IG1hcHBlZCA9IG9wdGlvbjtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBtYXBwZWQuc2VhcmNoVGV4dCA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgID8gbWFwcGVkLnNlYXJjaFRleHQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtKVxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICB9LCBbXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUZW1wKFtdKTtcbiAgICAgICAgICAgIHNldENvbW1pdHRlZChbXSk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0OiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUZW1wKFtdKTtcbiAgICAgICAgICAgIHNldENvbW1pdHRlZChbXSk7XG4gICAgICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoW10pO1xuICAgICAgICB9LFxuICAgIH0pLCBbb25SZXNldF0pO1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdENoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZXMgPSAoQXJyYXkuaXNBcnJheShuZXh0KSA/IG5leHQgOiBbXSkubWFwKFN0cmluZyk7XG4gICAgICAgIC8vIFNlbGVjdGluZyBldmVyeSBjb25jcmV0ZSBvcHRpb24gY29sbGFwc2VzIHRvIFwiYWxsXCIgKFtdKSwgbWF0Y2hpbmcgdGhlXG4gICAgICAgIC8vIGJhY2tlbmQgY29udmVudGlvbiB0aGF0IGVtcHR5ID09IG5vIGZpbHRlci5cbiAgICAgICAgY29uc3QgY29sbGFwc2UgPSBuZXh0VmFsdWVzLmxlbmd0aCA9PT0gYWxsVmFsdWVzLmxlbmd0aDtcbiAgICAgICAgc2V0VGVtcChjb2xsYXBzZSA/IFtdIDogbmV4dFZhbHVlcyk7XG4gICAgfSwgW2FsbFZhbHVlc10pO1xuICAgIGNvbnN0IGhhbmRsZUFsbENsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAvLyBUaGUgXCJBbGxcIiByb3cgaXMgZXhjbHVzaXZlOiB0dXJuaW5nIGl0IG9uIGNsZWFycyBzcGVjaWZpYyBwaWNrcy5cbiAgICAgICAgc2V0VGVtcChbXSk7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUFwcGx5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBzZXRDb21taXR0ZWQodGVtcCk7XG4gICAgICAgIG9uQXBwbHkodGVtcCk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFt0ZW1wLCBvbkFwcGx5XSk7XG4gICAgY29uc3QgaGFuZGxlUmVzZXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNldFRlbXAoW10pO1xuICAgICAgICBzZXRDb21taXR0ZWQoW10pO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoW10pO1xuICAgIH0sIFtvblJlc2V0XSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgaWYgKG5leHRPcGVuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBDbG9zaW5nIHdpdGhvdXQgQXBwbHkgZGlzY2FyZHMgdGhlIGRyYWZ0LlxuICAgICAgICBzZXRUZW1wKGNvbW1pdHRlZCk7XG4gICAgICAgIHNldEtleXdvcmQoJycpO1xuICAgIH0sIFtjb21taXR0ZWRdKTtcbiAgICBjb25zdCByZW5kZXJSb3cgPSB1c2VDYWxsYmFjaygob3B0aW9uLCBjaGVja2VkKSA9PiB7XG4gICAgICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGp1c3RpZnk6ICdzcGFjZS1iZXR3ZWVuJywgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93YCwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbWQnLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LW5hbWVgLCBjaGlsZHJlbjogb3B0aW9uLmxhYmVsIH0pLCBfanN4KENoZWNrYm94LCB7IGNoZWNrZWQ6IGNoZWNrZWQsIHJlYWRPbmx5OiB0cnVlLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LWNoZWNrYCB9KV0gfSkpO1xuICAgIH0sIFtdKTtcbiAgICAvLyBUaGUgdHJpZ2dlciByZWZsZWN0cyB0aGUgQ09NTUlUVEVEIHNlbGVjdGlvbiBvbmx5IOKAlCBgdGVtcGAgaXMgdGhlIGluLXBhbmVsXG4gICAgLy8gZHJhZnQgYW5kIG11c3Qgbm90IGxlYWsgaW50byB0aGUgdHJpZ2dlciBiZWZvcmUgQXBwbHkuIEFuIGVtcHR5IGBjb21taXR0ZWRgXG4gICAgLy8gbWVhbnMgXCJhbGxcIiAodGhlIGBhbGxMYWJlbGApLiBgcmVuZGVyVmFsdWVgIHNob3J0LWNpcmN1aXRzIFNlbGVjdCdzIG93blxuICAgIC8vIHBsYWNlaG9sZGVyIGhhbmRsaW5nLCBzbyB0aGUgZW1wdHkgc3RhdGUgbXVzdCByZXR1cm4gYGFsbExhYmVsYCBleHBsaWNpdGx5LlxuICAgIGNvbnN0IHJlbmRlclZhbHVlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoY29tbWl0dGVkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgLy8gVGhlIGBhbGxMYWJlbGAgaXMgdGhlIGRlZmF1bHQgZmlsdGVyIHZhbHVlLCBub3QgYW4gZW1wdHkgcGxhY2Vob2xkZXIuXG4gICAgICAgICAgICAvLyBUaGUgdHJpZ2dlcidzIGVtcHR5IGB2YWx1ZWAgbWFrZXMgU2VsZWN0IHdyYXAgdGhpcyBpbiBpdHMgZ3JleVxuICAgICAgICAgICAgLy8gcGxhY2Vob2xkZXIgY2xhc3MsIHNvIGZvcmNlIHRoZSBkZWZhdWx0IGRhcmsgdGV4dCB0byBtYXRjaCBEYXRlUmFuZ2UuXG4gICAgICAgICAgICByZXR1cm4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ21kJywgY29sb3I6ICdkZWZhdWx0JywgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlYCwgY2hpbGRyZW46IGFsbExhYmVsIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaXJzdCA9IG9wdGlvbkJ5VmFsdWUuZ2V0KGNvbW1pdHRlZFswXSk7XG4gICAgICAgIGNvbnN0IGZpcnN0TGFiZWwgPSBmaXJzdCA/IGZpcnN0LmxhYmVsIDogY29tbWl0dGVkWzBdO1xuICAgICAgICBjb25zdCBleHRyYSA9IGNvbW1pdHRlZC5sZW5ndGggLSAxO1xuICAgICAgICByZXR1cm4gKF9qc3hzKFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X192YWx1ZWAsIGNoaWxkcmVuOiBbX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWUtbGFiZWxgLCBjaGlsZHJlbjogZmlyc3RMYWJlbCB9KSwgZXh0cmEgPiAwICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlLW1vcmVgLCBjaGlsZHJlbjogTU9SRV9TVUZGSVgoZXh0cmEpIH0pXSB9KSk7XG4gICAgfSwgW2FsbExhYmVsLCBjb21taXR0ZWQsIG9wdGlvbkJ5VmFsdWVdKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0LCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IG11bHRpcGxlOiB0cnVlLCBzaXplOiBzaXplLCBsYWJlbDogbGFiZWwsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBwYW5lbENsYXNzTmFtZTogUEFORUxfQ0xTLCB2YWx1ZTogdGVtcCwgb3Blbjogb3Blbiwgb25PcGVuQ2hhbmdlOiBoYW5kbGVPcGVuQ2hhbmdlLCBvbkNoYW5nZTogaGFuZGxlU2VsZWN0Q2hhbmdlLCBzZWFyY2hhYmxlOiBzZWFyY2gsIHNlYXJjaFBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgc2VhcmNoVmFsdWU6IGtleXdvcmQsIG9uU2VhcmNoQ2hhbmdlOiBzZXRLZXl3b3JkLCBmaWx0ZXJPcHRpb246IGZpbHRlck9wdGlvbiwgb3B0aW9uczogbWFwcGVkLCBwYW5lbEhlYWRlcjogc2VhcmNoaW5nID8gdW5kZWZpbmVkIDogKF9qc3hzKFwiYnV0dG9uXCIsIHsgdHlwZTogJ2J1dHRvbicsIGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2FsbGAsIGFsbENoZWNrZWQgJiYgYCR7V1JBUF9DTFN9X19hbGwtLWNoZWNrZWRgKSwgb25DbGljazogaGFuZGxlQWxsQ2xpY2ssIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogJ21kJywgY2hpbGRyZW46IGFsbExhYmVsIH0pLCBfanN4KENoZWNrYm94LCB7IGNoZWNrZWQ6IGFsbENoZWNrZWQsIHJlYWRPbmx5OiB0cnVlLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LWNoZWNrYCB9KV0gfSkpLCBlbXB0eUNvbnRlbnQ6IGVtcHR5Q29udGVudCwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCByZW5kZXJPcHRpb246IChvcHRpb24sIG1ldGEpID0+IHJlbmRlclJvdyhvcHRpb24sIG1ldGEuc2VsZWN0ZWQpLCBwYW5lbEZvb3RlcjogX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19mb290ZXJgLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiBoYW5kbGVSZXNldCwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogaGFuZGxlQXBwbHksIGNoaWxkcmVuOiBBUFBMWV9MQUJFTCB9KV0gfSkgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgT3B0aW9uRmlsdGVyID0gbWVtbyhPcHRpb25GaWx0ZXJCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
127
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9PcHRpb24vT3B0aW9uLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvT3B0aW9uL09wdGlvbi50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0NoZWNrYm94IiwiX0VtcHR5IiwiX0ZpbHRlciIsIl9GbGV4IiwiX0ljb25zIiwiX1R5cG9ncmFwaHkiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIldSQVBfQ0xTIiwiUEFORUxfQ0xTIiwiY29uY2F0IiwiREVGQVVMVF9BTExfTEFCRUwiLCJERUZBVUxUX1BMQUNFSE9MREVSIiwiREVGQVVMVF9FTVBUWSIsIl9qc3giLCJFbXB0eSIsInZhcmlhbnQiLCJpY29uIiwiSWNvbnMiLCJuYW1lIiwic2l6ZSIsImNvbG9yIiwidGl0bGUiLCJUeXBvZ3JhcGh5Qm9keSIsInN0cm9uZyIsImNoaWxkcmVuIiwiZGVzY3JpcHRpb24iLCJzdHlsZSIsInBhZGRpbmciLCJ0b09wdGlvbiIsInJhdyIsImxhYmVsIiwidmFsdWUiLCJzZWFyY2hUZXh0IiwicmVuZGVyUm93Iiwib3B0aW9uIiwiY2hlY2tlZCIsIl9qc3hzIiwiRmxleCIsImFsaWduIiwianVzdGlmeSIsImdhcCIsImNsYXNzTmFtZSIsIkNoZWNrYm94IiwicmVhZE9ubHkiLCJPcHRpb25GaWx0ZXJCYXNlIiwiX2EiLCJyZWYiLCJfYSRzaXplIiwiX2EkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIm9wdGlvbnMiLCJfYSRhbGxMYWJlbCIsImFsbExhYmVsIiwiX2Ekc2VhcmNoIiwic2VhcmNoIiwic2VhcmNoUGxhY2Vob2xkZXIiLCJfYSRlbXB0eUNvbnRlbnQiLCJlbXB0eUNvbnRlbnQiLCJvbkFwcGx5Iiwib25SZXNldCIsInJlc3QiLCJmaWx0ZXJSZWYiLCJ1c2VSZWYiLCJtYXBwZWQiLCJ1c2VNZW1vIiwibWFwIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImNsZWFyIiwiY3VycmVudCIsInJlc2V0IiwiRmlsdGVyIiwiYXNzaWduIiwicGFuZWxDbGFzc05hbWUiLCJPcHRpb25GaWx0ZXIiLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FETkEsSUFBSVEsTUFBTSxHQUFJLFVBQVEsU0FBS0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FB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TWMsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDL0IsZ0JBQWdCLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvRmlsdGVyL09wdGlvbi9PcHRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ2hlY2tib3ggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0NoZWNrYm94JztcbmltcG9ydCB7IEVtcHR5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9FbXB0eSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZpbHRlcic7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1vcHRpb24tZmlsdGVyJztcbmNvbnN0IFBBTkVMX0NMUyA9IGAke1dSQVBfQ0xTfS1wYW5lbGA7XG5jb25zdCBERUZBVUxUX0FMTF9MQUJFTCA9ICdBbGwnO1xuY29uc3QgREVGQVVMVF9QTEFDRUhPTERFUiA9ICdTZWxlY3QnO1xuY29uc3QgREVGQVVMVF9FTVBUWSA9IChfanN4KEVtcHR5LCB7IHZhcmlhbnQ6ICdmaWxsJywgaWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMTYsIGNvbG9yOiAnY3VycmVudENvbG9yJyB9KSwgdGl0bGU6IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ25ldXRyYWwtc2Vjb25kYXJ5JywgY2hpbGRyZW46IFwiTm8gcmVzdWx0c1wiIH0pLCBkZXNjcmlwdGlvbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ25ldXRyYWwtc2Vjb25kYXJ5JywgY2hpbGRyZW46IFwiVHJ5IGEgZGlmZmVyZW50IG5hbWUgb3IgYWRqdXN0IHlvdXIgc2VhcmNoIGZpbHRlcnMuXCIgfSksIHN0eWxlOiB7IHBhZGRpbmc6IDAgfSB9KSk7XG5jb25zdCB0b09wdGlvbiA9IChyYXcpID0+ICh7XG4gICAgbGFiZWw6IHJhdy5sYWJlbCxcbiAgICB2YWx1ZTogcmF3LnZhbHVlLFxuICAgIHNlYXJjaFRleHQ6IHJhdy5sYWJlbCxcbn0pO1xuY29uc3QgcmVuZGVyUm93ID0gKG9wdGlvbiwgY2hlY2tlZCkgPT4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGdhcDogMTIsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19yb3dgLCBjaGlsZHJlbjogW19qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgc3Ryb25nOiB0cnVlLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LW5hbWVgLCBjaGlsZHJlbjogb3B0aW9uLmxhYmVsIH0pLCBfanN4KENoZWNrYm94LCB7IGNoZWNrZWQ6IGNoZWNrZWQsIHJlYWRPbmx5OiB0cnVlLCBjbGFzc05hbWU6ICdvbS1maWx0ZXJfX3Jvdy1jaGVjaycgfSldIH0pKTtcbmNvbnN0IE9wdGlvbkZpbHRlckJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyByZWYsIGNsYXNzTmFtZSwgc2l6ZSA9ICdzbWFsbCcsIGxhYmVsLCBwbGFjZWhvbGRlciA9IERFRkFVTFRfUExBQ0VIT0xERVIsIG9wdGlvbnMsIGFsbExhYmVsID0gREVGQVVMVF9BTExfTEFCRUwsIHNlYXJjaCA9IHRydWUsIHNlYXJjaFBsYWNlaG9sZGVyLCBlbXB0eUNvbnRlbnQgPSBERUZBVUxUX0VNUFRZLCBvbkFwcGx5LCBvblJlc2V0IH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wicmVmXCIsIFwiY2xhc3NOYW1lXCIsIFwic2l6ZVwiLCBcImxhYmVsXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJvcHRpb25zXCIsIFwiYWxsTGFiZWxcIiwgXCJzZWFyY2hcIiwgXCJzZWFyY2hQbGFjZWhvbGRlclwiLCBcImVtcHR5Q29udGVudFwiLCBcIm9uQXBwbHlcIiwgXCJvblJlc2V0XCJdKTtcbiAgICBjb25zdCBmaWx0ZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgbWFwcGVkID0gdXNlTWVtbygoKSA9PiBvcHRpb25zLm1hcCh0b09wdGlvbiksIFtvcHRpb25zXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGZpbHRlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2xlYXIoKTsgfSxcbiAgICAgICAgcmVzZXQ6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gZmlsdGVyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5yZXNldCgpOyB9LFxuICAgIH0pKTtcbiAgICByZXR1cm4gKF9qc3goRmlsdGVyLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogZmlsdGVyUmVmLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgcGFuZWxDbGFzc05hbWU6IFBBTkVMX0NMUywgc2l6ZTogc2l6ZSwgbGFiZWw6IGxhYmVsLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIG9wdGlvbnM6IG1hcHBlZCwgYWxsTGFiZWw6IGFsbExhYmVsLCBzZWFyY2g6IHNlYXJjaCwgc2VhcmNoUGxhY2Vob2xkZXI6IHNlYXJjaFBsYWNlaG9sZGVyLCBlbXB0eUNvbnRlbnQ6IGVtcHR5Q29udGVudCwgcmVuZGVyUm93OiByZW5kZXJSb3csIG9uQXBwbHk6IG9uQXBwbHksIG9uUmVzZXQ6IG9uUmVzZXQgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgT3B0aW9uRmlsdGVyID0gbWVtbyhPcHRpb25GaWx0ZXJCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,72 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Retrieves the spacing value for a given token key.
|
|
3
|
-
*
|
|
4
|
-
* @param {string} $key - The spacing token key (e.g., '100', '200').
|
|
5
|
-
* @return {length|null} The computed spacing value or null if the key is invalid.
|
|
6
|
-
* @example
|
|
7
|
-
* .element {
|
|
8
|
-
* padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
9
|
-
* }
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Computes the spacing value based on a token key or a direct length value.
|
|
13
|
-
*
|
|
14
|
-
* @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
|
|
15
|
-
* @return {length} The computed spacing value.
|
|
16
|
-
* @example
|
|
17
|
-
* .element {
|
|
18
|
-
* margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
|
|
19
|
-
* padding: om-spacing-value(16px); // Returns 16px
|
|
20
|
-
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
|
-
* }
|
|
22
|
-
*/
|
|
23
|
-
.om-option-filter__value {
|
|
24
|
-
display: inline-flex;
|
|
25
|
-
align-items: center;
|
|
26
|
-
width: 100%;
|
|
27
|
-
overflow: hidden;
|
|
28
|
-
line-height: 18px;
|
|
29
|
-
}
|
|
30
|
-
.om-option-filter__value-label {
|
|
31
|
-
flex: 0 1 auto;
|
|
32
|
-
min-width: 0;
|
|
33
|
-
overflow: hidden;
|
|
34
|
-
white-space: nowrap;
|
|
35
|
-
text-overflow: ellipsis;
|
|
36
|
-
}
|
|
37
|
-
.om-option-filter__value-more {
|
|
38
|
-
flex: 0 0 auto;
|
|
39
|
-
margin-left: var(--om-spacing-100, 4px);
|
|
40
|
-
color: var(--om-text-default-tertiary, #646465);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.om-option-filter-panel .om-component-ui-select-panel-header {
|
|
44
|
-
margin-bottom: var(--om-spacing-050, 2px);
|
|
45
|
-
}
|
|
46
1
|
.om-option-filter-panel .om-option-filter__row {
|
|
47
2
|
width: 100%;
|
|
3
|
+
min-width: 0;
|
|
48
4
|
}
|
|
49
5
|
.om-option-filter-panel .om-option-filter__row-name {
|
|
50
6
|
min-width: 0;
|
|
51
7
|
overflow: hidden;
|
|
52
8
|
white-space: nowrap;
|
|
53
9
|
text-overflow: ellipsis;
|
|
54
|
-
}
|
|
55
|
-
.om-option-filter-panel .om-option-filter__row-check {
|
|
56
|
-
flex: 0 0 auto;
|
|
57
|
-
pointer-events: none;
|
|
58
|
-
}
|
|
59
|
-
.om-option-filter-panel .om-option-filter__all {
|
|
60
|
-
display: flex;
|
|
61
|
-
align-items: center;
|
|
62
|
-
justify-content: space-between;
|
|
63
|
-
width: 100%;
|
|
64
|
-
padding: var(--om-spacing-200, 8px);
|
|
65
|
-
border: none;
|
|
66
|
-
background: transparent;
|
|
67
|
-
border-radius: var(--om-radius-200, 8px);
|
|
68
|
-
cursor: pointer;
|
|
69
|
-
}
|
|
70
|
-
.om-option-filter-panel .om-option-filter__all:hover, .om-option-filter-panel .om-option-filter__all--checked {
|
|
71
|
-
background: var(--om-bg-default-secondary, #f8f8f8);
|
|
72
10
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("../../../../components/Filter/style/css");
|
|
3
4
|
require("./Option.css");
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9PcHRpb24vc3JjL2J1c2luZXNzL0ZpbHRlci9PcHRpb24vc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOlsicmVxdWlyZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBQTtBQUNBQSxPQUFBIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9PcHRpb24vc3R5bGUvY3NzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("../../../../components/Filter/style");
|
|
3
4
|
require("./Option.css");
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9PcHRpb24vc3JjL2J1c2luZXNzL0ZpbHRlci9PcHRpb24vc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOlsicmVxdWlyZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBQTtBQUNBQSxPQUFBIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9PcHRpb24vc3R5bGUvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|