@1money/component-ui 0.0.46 → 0.0.48
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/components/Table/Table.d.ts +2 -2
- package/es/components/Table/Table.js +25 -148
- package/es/components/Table/VirtualTable.d.ts +2 -2
- package/es/components/Table/VirtualTable.js +30 -143
- package/es/components/Table/core/useTableColumns.d.ts +21 -7
- package/es/components/Table/core/useTableColumns.js +76 -14
- package/es/components/Table/core/useTableDataPipeline.d.ts +13 -6
- package/es/components/Table/core/useTableDataPipeline.js +193 -27
- package/es/components/Table/core/useTableExpand.d.ts +4 -2
- package/es/components/Table/core/useTableExpand.js +30 -5
- package/es/components/Table/core/useTableSelection.d.ts +3 -5
- package/es/components/Table/core/useTableSelection.js +1 -1
- package/es/components/Table/core/useTableSetup.d.ts +42 -0
- package/es/components/Table/core/useTableSetup.js +195 -0
- package/es/components/Table/features/ExpandTrigger.js +10 -2
- package/es/components/Table/features/FilterTrigger.d.ts +9 -0
- package/es/components/Table/features/FilterTrigger.js +157 -0
- package/es/components/Table/features/SelectionColumn.d.ts +3 -2
- package/es/components/Table/features/SelectionColumn.js +19 -6
- package/es/components/Table/interface.d.ts +103 -21
- package/es/components/Table/internal/kernel/FixedHolder/index.js +1 -2
- package/es/components/Table/internal/kernel/Table.d.ts +1 -1
- package/es/components/Table/internal/kernel/Table.js +2 -8
- package/es/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -2
- package/es/components/Table/internal/kernel/VirtualTable/index.js +1 -2
- package/es/components/Table/internal/kernel/constant.d.ts +1 -1
- package/es/components/Table/internal/kernel/constant.js +1 -1
- package/es/components/Table/internal/kernel/hooks/useExpand.js +1 -2
- package/es/components/Table/internal/kernel/utils/offsetUtil.js +1 -2
- package/es/components/Table/renderers/BodyCell.d.ts +4 -4
- package/es/components/Table/renderers/BodyCell.js +1 -1
- package/es/components/Table/renderers/HeaderCell.d.ts +8 -4
- package/es/components/Table/renderers/HeaderCell.js +13 -3
- package/es/components/Table/style/Table.css +1 -1
- package/es/components/VirtualList/ScrollBar.js +1 -2
- package/es/index.css +1 -1
- package/lib/components/Table/Table.d.ts +2 -2
- package/lib/components/Table/Table.js +24 -150
- package/lib/components/Table/VirtualTable.d.ts +2 -2
- package/lib/components/Table/VirtualTable.js +28 -144
- package/lib/components/Table/core/useTableColumns.d.ts +21 -7
- package/lib/components/Table/core/useTableColumns.js +76 -14
- package/lib/components/Table/core/useTableDataPipeline.d.ts +13 -6
- package/lib/components/Table/core/useTableDataPipeline.js +192 -26
- package/lib/components/Table/core/useTableExpand.d.ts +4 -2
- package/lib/components/Table/core/useTableExpand.js +30 -5
- package/lib/components/Table/core/useTableSelection.d.ts +3 -5
- package/lib/components/Table/core/useTableSelection.js +1 -1
- package/lib/components/Table/core/useTableSetup.d.ts +42 -0
- package/lib/components/Table/core/useTableSetup.js +204 -0
- package/lib/components/Table/features/ExpandTrigger.js +10 -2
- package/lib/components/Table/features/FilterTrigger.d.ts +9 -0
- package/lib/components/Table/features/FilterTrigger.js +164 -0
- package/lib/components/Table/features/SelectionColumn.d.ts +3 -2
- package/lib/components/Table/features/SelectionColumn.js +19 -6
- package/lib/components/Table/interface.d.ts +103 -21
- package/lib/components/Table/internal/kernel/FixedHolder/index.js +1 -2
- package/lib/components/Table/internal/kernel/Table.d.ts +1 -1
- package/lib/components/Table/internal/kernel/Table.js +2 -8
- package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +1 -2
- package/lib/components/Table/internal/kernel/VirtualTable/index.js +1 -2
- package/lib/components/Table/internal/kernel/constant.d.ts +1 -1
- package/lib/components/Table/internal/kernel/constant.js +1 -1
- package/lib/components/Table/internal/kernel/hooks/useExpand.js +1 -2
- package/lib/components/Table/internal/kernel/utils/offsetUtil.js +1 -2
- package/lib/components/Table/renderers/BodyCell.d.ts +4 -4
- package/lib/components/Table/renderers/BodyCell.js +1 -1
- package/lib/components/Table/renderers/HeaderCell.d.ts +8 -4
- package/lib/components/Table/renderers/HeaderCell.js +13 -3
- package/lib/components/Table/style/Table.css +1 -1
- package/lib/components/VirtualList/ScrollBar.js +1 -2
- package/lib/index.css +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +132 -0
- package/scripts/mcp-server/index.generated.json +344 -14
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
1
2
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
4
|
import { useMemo } from 'react';
|
|
@@ -15,11 +16,21 @@ function makeExpandTransform(config) {
|
|
|
15
16
|
triggerExpand = config.triggerExpand,
|
|
16
17
|
getRowKey = config.getRowKey;
|
|
17
18
|
var customExpandIcon = expandable === null || expandable === void 0 ? void 0 : expandable.expandIcon;
|
|
19
|
+
var rowExpandable = expandable === null || expandable === void 0 ? void 0 : expandable.rowExpandable;
|
|
18
20
|
return function (columns) {
|
|
21
|
+
var _a;
|
|
19
22
|
return [{
|
|
20
23
|
key: '__expand__',
|
|
21
|
-
|
|
24
|
+
// Honor `expandable.columnWidth` / `columnTitle` / `fixed`;
|
|
25
|
+
// default to a 48px unlabeled column.
|
|
26
|
+
width: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.columnWidth) !== null && _a !== void 0 ? _a : 48,
|
|
27
|
+
title: expandable === null || expandable === void 0 ? void 0 : expandable.columnTitle,
|
|
28
|
+
fixed: (expandable === null || expandable === void 0 ? void 0 : expandable.fixed) === true ? 'left' : (expandable === null || expandable === void 0 ? void 0 : expandable.fixed) === false ? undefined : expandable === null || expandable === void 0 ? void 0 : expandable.fixed,
|
|
22
29
|
render: function render(_, record, index) {
|
|
30
|
+
// Honor `rowExpandable`: when the predicate denies a record, render no
|
|
31
|
+
// chevron at all (the row is non-expandable).
|
|
32
|
+
var canExpand = rowExpandable ? rowExpandable(record) : true;
|
|
33
|
+
if (!canExpand) return null;
|
|
23
34
|
var recordKey = getRowKey(record, index);
|
|
24
35
|
var expanded = mergedExpandedRowKeys.includes(recordKey);
|
|
25
36
|
if (customExpandIcon) {
|
|
@@ -73,11 +84,11 @@ function makeSelectionTransform(config) {
|
|
|
73
84
|
} : {}), {
|
|
74
85
|
render: function render(_, record, index) {
|
|
75
86
|
var recordKey = getRowKey(record, index);
|
|
76
|
-
var
|
|
87
|
+
var rowProps = checkboxPropsMap.get(recordKey);
|
|
77
88
|
return _jsx(SelectionControl, {
|
|
78
89
|
type: selectionType,
|
|
79
90
|
checked: mergedSelectedRowKeys.includes(recordKey),
|
|
80
|
-
|
|
91
|
+
rowProps: rowProps,
|
|
81
92
|
onChange: function onChange() {
|
|
82
93
|
return triggerSelection(recordKey);
|
|
83
94
|
}
|
|
@@ -86,21 +97,53 @@ function makeSelectionTransform(config) {
|
|
|
86
97
|
})].concat(_toConsumableArray(columns));
|
|
87
98
|
};
|
|
88
99
|
}
|
|
89
|
-
function
|
|
100
|
+
function ariaSortFor(order) {
|
|
101
|
+
if (order === 'ascend') return 'ascending';
|
|
102
|
+
if (order === 'descend') return 'descending';
|
|
103
|
+
return 'none';
|
|
104
|
+
}
|
|
105
|
+
// Stable empty-filter reference. Without this, `filters[key] ?? []` creates a
|
|
106
|
+
// fresh `[]` on every render, which thrashes `FilterTrigger`'s
|
|
107
|
+
// `useEffect([selectedKeys])` and causes an infinite setState loop after
|
|
108
|
+
// confirm / reset.
|
|
109
|
+
var EMPTY_FILTER_VALUE = [];
|
|
110
|
+
function makeHeaderTransform(config) {
|
|
90
111
|
var size = config.size,
|
|
91
112
|
sorter = config.sorter,
|
|
92
|
-
setSorter = config.setSorter
|
|
113
|
+
setSorter = config.setSorter,
|
|
114
|
+
filters = config.filters,
|
|
115
|
+
setFilters = config.setFilters;
|
|
93
116
|
return function (columns) {
|
|
94
117
|
return columns.map(function (column) {
|
|
95
|
-
var _a;
|
|
118
|
+
var _a, _b;
|
|
96
119
|
if (isColumnGroup(column)) return column;
|
|
120
|
+
var isSortable = Boolean(column.sorter);
|
|
121
|
+
var activeOrder = sorter.columnKey === column.key ? (_a = sorter.order) !== null && _a !== void 0 ? _a : null : null;
|
|
122
|
+
var columnKey = column.key != null ? String(column.key) : undefined;
|
|
123
|
+
var filterSelected = columnKey != null ? (_b = filters[columnKey]) !== null && _b !== void 0 ? _b : EMPTY_FILTER_VALUE : EMPTY_FILTER_VALUE;
|
|
124
|
+
// Compose onHeaderCell so we don't clobber user-provided attributes.
|
|
125
|
+
var userOnHeaderCell = column.onHeaderCell;
|
|
126
|
+
var onHeaderCell = function onHeaderCell(col, index) {
|
|
127
|
+
var _a;
|
|
128
|
+
var userAttrs = (_a = userOnHeaderCell === null || userOnHeaderCell === void 0 ? void 0 : userOnHeaderCell(col, index)) !== null && _a !== void 0 ? _a : {};
|
|
129
|
+
return Object.assign(Object.assign({}, userAttrs), isSortable ? {
|
|
130
|
+
'aria-sort': ariaSortFor(activeOrder)
|
|
131
|
+
} : null);
|
|
132
|
+
};
|
|
133
|
+
var onFilterChange = function onFilterChange(next) {
|
|
134
|
+
if (columnKey == null) return;
|
|
135
|
+
setFilters(function (current) {
|
|
136
|
+
return Object.assign(Object.assign({}, current), _defineProperty({}, columnKey, next.length ? next : null));
|
|
137
|
+
});
|
|
138
|
+
};
|
|
97
139
|
return Object.assign(Object.assign({}, column), {
|
|
140
|
+
onHeaderCell: onHeaderCell,
|
|
98
141
|
title: column.renderHeader ? column.renderHeader({
|
|
99
142
|
column: column
|
|
100
143
|
}) : _jsx(HeaderCell, {
|
|
101
144
|
column: column,
|
|
102
145
|
size: size,
|
|
103
|
-
sortOrder:
|
|
146
|
+
sortOrder: activeOrder,
|
|
104
147
|
onSortClick: function onSortClick() {
|
|
105
148
|
return setSorter(function (currentSorter) {
|
|
106
149
|
return {
|
|
@@ -108,7 +151,9 @@ function makeSortTransform(config) {
|
|
|
108
151
|
order: currentSorter.columnKey !== column.key || currentSorter.order === null ? 'ascend' : currentSorter.order === 'ascend' ? 'descend' : null
|
|
109
152
|
};
|
|
110
153
|
});
|
|
111
|
-
}
|
|
154
|
+
},
|
|
155
|
+
filterSelected: filterSelected,
|
|
156
|
+
onFilterChange: onFilterChange
|
|
112
157
|
})
|
|
113
158
|
});
|
|
114
159
|
});
|
|
@@ -153,6 +198,19 @@ function makeRenderTransform() {
|
|
|
153
198
|
});
|
|
154
199
|
};
|
|
155
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Returns columns ready to be passed to the table kernel.
|
|
203
|
+
*
|
|
204
|
+
* The returned shape IS structurally the kernel's `ColumnsType<T>`:
|
|
205
|
+
* - Every leaf column's `render` is replaced by `makeRenderTransform`, which
|
|
206
|
+
* always returns a `ReactNode` (BodyCell handles `TableCellContentValue` /
|
|
207
|
+
* `TableRenderedCell` extras and emits ReactNode/RenderedCell).
|
|
208
|
+
* - Every leaf column's `title` is either a ReactNode or replaced by
|
|
209
|
+
* `<HeaderCell />`.
|
|
210
|
+
* Because TS can't track that those replacements have happened across the
|
|
211
|
+
* `transforms.reduce` chain, a single internal cast is required — call sites no
|
|
212
|
+
* longer need their own `as unknown as InternalColumnsType<T>` cast.
|
|
213
|
+
*/
|
|
156
214
|
export function useTableColumns(config) {
|
|
157
215
|
var columns = config.columns,
|
|
158
216
|
variant = config.variant,
|
|
@@ -168,6 +226,8 @@ export function useTableColumns(config) {
|
|
|
168
226
|
triggerSelectAll = config.triggerSelectAll,
|
|
169
227
|
sorter = config.sorter,
|
|
170
228
|
setSorter = config.setSorter,
|
|
229
|
+
filters = config.filters,
|
|
230
|
+
setFilters = config.setFilters,
|
|
171
231
|
size = config.size,
|
|
172
232
|
getRowKey = config.getRowKey;
|
|
173
233
|
return useMemo(function () {
|
|
@@ -175,17 +235,19 @@ export function useTableColumns(config) {
|
|
|
175
235
|
if (expandable && expandable.showExpandColumn !== false) {
|
|
176
236
|
transforms.push(makeExpandTransform(config));
|
|
177
237
|
}
|
|
178
|
-
|
|
179
|
-
|
|
238
|
+
var selectionTransform = rowSelection ? makeSelectionTransform(config) : null;
|
|
239
|
+
if (selectionTransform) {
|
|
240
|
+
transforms.push(selectionTransform);
|
|
180
241
|
}
|
|
181
|
-
transforms.push(
|
|
242
|
+
transforms.push(makeHeaderTransform(config));
|
|
182
243
|
transforms.push(makeRenderTransform());
|
|
183
244
|
if (variant === 'stroke') {
|
|
184
245
|
transforms.push(makeSpacerTransform());
|
|
185
246
|
}
|
|
186
|
-
|
|
247
|
+
var transformed = transforms.reduce(function (cols, fn) {
|
|
187
248
|
return fn(cols);
|
|
188
249
|
}, columns);
|
|
189
|
-
|
|
250
|
+
return transformed;
|
|
251
|
+
}, [columns, variant, expandable, rowSelection, mergedExpandedRowKeys, mergedSelectedRowKeys, checkboxPropsMap, isAllSelected, isIndeterminate, triggerExpand, triggerSelection, triggerSelectAll, sorter, setSorter, filters, setFilters, size, getRowKey]);
|
|
190
252
|
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUNvbHVtbnMuanMiLCJjb21wb25lbnRzL1RhYmxlL3NyYy9jb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwidXNlTWVtbyIsIlNlbGVjdGlvbkNvbnRyb2wiLCJTZWxlY3Rpb25IZWFkZXJDb250cm9sIiwiRXhwYW5kVHJpZ2dlciIsIkhlYWRlckNlbGwiLCJCb2R5Q2VsbCIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwiaXNDb2x1bW5Hcm91cCIsImNvbCIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkcmVuIiwibWFrZUV4cGFuZFRyYW5zZm9ybSIsImNvbmZpZyIsImV4cGFuZGFibGUiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwiZ2V0Um93S2V5IiwiY3VzdG9tRXhwYW5kSWNvbiIsImV4cGFuZEljb24iLCJjb2x1bW5zIiwia2V5Iiwid2lkdGgiLCJyZW5kZXIiLCJfIiwicmVjb3JkIiwiaW5kZXgiLCJyZWNvcmRLZXkiLCJleHBhbmRlZCIsImluY2x1ZGVzIiwicHJlZml4Q2xzIiwib25FeHBhbmQiLCJyZWMiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwib25Ub2dnbGUiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJtYWtlU2VsZWN0aW9uVHJhbnNmb3JtIiwiX2EiLCJyb3dTZWxlY3Rpb24iLCJtZXJnZWRTZWxlY3RlZFJvd0tleXMiLCJjaGVja2JveFByb3BzTWFwIiwiaXNBbGxTZWxlY3RlZCIsImlzSW5kZXRlcm1pbmF0ZSIsInRyaWdnZXJTZWxlY3Rpb24iLCJ0cmlnZ2VyU2VsZWN0QWxsIiwic2VsZWN0aW9uVHlwZSIsInR5cGUiLCJPYmplY3QiLCJhc3NpZ24iLCJjb2x1bW5XaWR0aCIsImZpeGVkIiwidW5kZWZpbmVkIiwicmVuZGVySGVhZGVyIiwiY2hlY2tlZCIsImluZGV0ZXJtaW5hdGUiLCJvbkNoYW5nZSIsImNoZWNrYm94UHJvcHMiLCJnZXQiLCJkaXNhYmxlZCIsIm1ha2VTb3J0VHJhbnNmb3JtIiwic2l6ZSIsInNvcnRlciIsInNldFNvcnRlciIsIm1hcCIsImNvbHVtbiIsInRpdGxlIiwic29ydE9yZGVyIiwiY29sdW1uS2V5Iiwib3JkZXIiLCJvblNvcnRDbGljayIsImN1cnJlbnRTb3J0ZXIiLCJTUEFDRVJfQ09MVU1OX0NMUyIsIm1ha2VTcGFjZXJUcmFuc2Zvcm0iLCJjbGFzc05hbWUiLCJtYWtlUmVuZGVyVHJhbnNmb3JtIiwidmFsdWUiLCJ1c2VUYWJsZUNvbHVtbnMiLCJ2YXJpYW50IiwidHJhbnNmb3JtcyIsInNob3dFeHBhbmRDb2x1bW4iLCJwdXNoIiwicmVkdWNlIiwiY29scyIsImZuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQS9DLFNBQVNDLE9BQU8sUUFBa0IsT0FBTztBQUN6QyxTQUFTQyxnQkFBZ0IsRUFBRUMsc0JBQXNCLFFBQVEsNkJBQTZCO0FBQ3RGLFNBQVNDLGFBQWEsUUFBUSwyQkFBMkI7QUFDekQsU0FBU0MsVUFBVSxRQUFRLHlCQUF5QjtBQUNwRCxTQUFTQyxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLG9CQUFvQixRQUFRLGNBQWM7QUFlbkQsU0FBU0MsYUFBYUEsQ0FBSUMsR0FBdUIsRUFBQTtFQUMvQyxPQUFPLFVBQVUsSUFBSUEsR0FBRyxJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBRUYsR0FBMkIsQ0FBQ0csUUFBUSxDQUFDO0FBQ2xGO0FBeUJBLFNBQVNDLG1CQUFtQkEsQ0FBSUMsTUFBZ0MsRUFBQTtFQUM5RCxJQUFRQyxVQUFVLEdBQXNERCxNQUFNLENBQXRFQyxVQUFVO0lBQUVDLHFCQUFxQixHQUErQkYsTUFBTSxDQUExREUscUJBQXFCO0lBQUVDLGFBQWEsR0FBZ0JILE1BQU0sQ0FBbkNHLGFBQWE7SUFBRUMsU0FBUyxHQUFLSixNQUFNLENBQXBCSSxTQUFT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QUNFLElBQUksQ0FBQ3JCLGlCQUFpQixDQUFDaEQsTUFBTSxDQUFDLENBQUM7SUFDMUNtRSxVQUFVLENBQUNFLElBQUksQ0FBQ04sbUJBQW1CLENBQUEsQ0FBSyxDQUFDO0lBQ3pDLElBQUlHLE9BQU8sS0FBSyxRQUFRLEVBQUU7TUFDeEJDLFVBQVUsQ0FBQ0UsSUFBSSxDQUFDUixtQkFBbUIsQ0FBQSxDQUFLLENBQUM7SUFDM0M7SUFFQSxPQUFPTSxVQUFVLENBQUNHLE1BQU0sQ0FBQyxVQUFDQyxJQUFJLEVBQUVDLEVBQUU7TUFBQSxPQUFLQSxFQUFFLENBQUNELElBQUksQ0FBQztJQUFBLEdBQUVoRSxPQUFPLENBQUM7RUFDM0QsQ0FBQyxFQUFFLENBQ0RBLE9BQU8sRUFDUDJELE9BQU8sRUFDUGpFLFVBQVUsRUFDVjBCLFlBQVksRUFDWnpCLHFCQUFxQixFQUNyQjBCLHFCQUFxQixFQUNyQkMsZ0JBQWdCLEVBQ2hCQyxhQUFhLEVBQ2JDLGVBQWUsRUFDZjVCLGFBQWEsRUFDYjZCLGdCQUFnQixFQUNoQkMsZ0JBQWdCLEVBQ2hCaUIsTUFBTSxFQUNOQyxTQUFTLEVBQ1RGLElBQUksRUFDSjdDLFNBQVMsQ0FDVixDQUFDO0FBQ0oiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlQ29sdW1ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQ29udHJvbCwgU2VsZWN0aW9uSGVhZGVyQ29udHJvbCB9IGZyb20gJy4uL2ZlYXR1cmVzL1NlbGVjdGlvbkNvbHVtbic7XG5pbXBvcnQgeyBFeHBhbmRUcmlnZ2VyIH0gZnJvbSAnLi4vZmVhdHVyZXMvRXhwYW5kVHJpZ2dlcic7XG5pbXBvcnQgeyBIZWFkZXJDZWxsIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0hlYWRlckNlbGwnO1xuaW1wb3J0IHsgQm9keUNlbGwgfSBmcm9tICcuLi9yZW5kZXJlcnMvQm9keUNlbGwnO1xuaW1wb3J0IHsgVEFCTEVfREVGQVVMVF9QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuZnVuY3Rpb24gaXNDb2x1bW5Hcm91cChjb2wpIHtcbiAgICByZXR1cm4gJ2NoaWxkcmVuJyBpbiBjb2wgJiYgQXJyYXkuaXNBcnJheShjb2wuY2hpbGRyZW4pO1xufVxuZnVuY3Rpb24gbWFrZUV4cGFuZFRyYW5zZm9ybShjb25maWcpIHtcbiAgICBjb25zdCB7IGV4cGFuZGFibGUsIG1lcmdlZEV4cGFuZGVkUm93S2V5cywgdHJpZ2dlckV4cGFuZCwgZ2V0Um93S2V5IH0gPSBjb25maWc7XG4gICAgY29uc3QgY3VzdG9tRXhwYW5kSWNvbiA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5leHBhbmRJY29uO1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdfX2V4cGFuZF9fJyxcbiAgICAgICAgICAgIHdpZHRoOiA0OCxcbiAgICAgICAgICAgIHJlbmRlcjogKF8sIHJlY29yZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRLZXkgPSBnZXRSb3dLZXkocmVjb3JkLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZXhwYW5kZWQgPSBtZXJnZWRFeHBhbmRlZFJvd0tleXMuaW5jbHVkZXMocmVjb3JkS2V5KTtcbiAgICAgICAgICAgICAgICBpZiAoY3VzdG9tRXhwYW5kSWNvbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VzdG9tRXhwYW5kSWNvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXhDbHM6IFRBQkxFX0RFRkFVTFRfUFJFRklYLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgb25FeHBhbmQ6IChyZWMsIGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJFeHBhbmQoZ2V0Um93S2V5KHJlYywgaW5kZXgpLCByZWMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRUcmlnZ2VyLCB7IGV4cGFuZGVkOiBleHBhbmRlZCwgb25Ub2dnbGU6ICgpID0+IHRyaWdnZXJFeHBhbmQocmVjb3JkS2V5LCByZWNvcmQpIH0pKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmNvbHVtbnMsXG4gICAgXTtcbn1cbmZ1bmN0aW9uIG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgcm93U2VsZWN0aW9uLCBtZXJnZWRTZWxlY3RlZFJvd0tleXMsIGNoZWNrYm94UHJvcHNNYXAsIGlzQWxsU2VsZWN0ZWQsIGlzSW5kZXRlcm1pbmF0ZSwgdHJpZ2dlclNlbGVjdGlvbiwgdHJpZ2dlclNlbGVjdEFsbCwgZ2V0Um93S2V5LCB9ID0gY29uZmlnO1xuICAgIGlmICghcm93U2VsZWN0aW9uKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBzZWxlY3Rpb25UeXBlID0gKF9hID0gcm93U2VsZWN0aW9uLnR5cGUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdjaGVja2JveCc7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IGtleTogJ19fc2VsZWN0aW9uX18nLCB3aWR0aDogKF9hID0gcm93U2VsZWN0aW9uLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiA0OCwgZml4ZWQ6IHJvd1NlbGVjdGlvbi5maXhlZCA/ICdsZWZ0JyA6IHVuZGVmaW5lZCB9LCAoc2VsZWN0aW9uVHlwZSA9PT0gJ2NoZWNrYm94J1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJIZWFkZXI6ICgpID0+IChfanN4KFNlbGVjdGlvbkhlYWRlckNvbnRyb2wsIHsgY2hlY2tlZDogaXNBbGxTZWxlY3RlZCwgaW5kZXRlcm1pbmF0ZTogaXNJbmRldGVybWluYXRlLCBvbkNoYW5nZTogdHJpZ2dlclNlbGVjdEFsbCB9KSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDoge30pKSwgeyByZW5kZXI6IChfLCByZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEtleSA9IGdldFJvd0tleShyZWNvcmQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hlY2tib3hQcm9wcyA9IGNoZWNrYm94UHJvcHNNYXAuZ2V0KHJlY29yZEtleSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChTZWxlY3Rpb25Db250cm9sLCB7IHR5cGU6IHNlbGVjdGlvblR5cGUsIGNoZWNrZWQ6IG1lcmdlZFNlbGVjdGVkUm93S2V5cy5pbmNsdWRlcyhyZWNvcmRLZXkpLCBkaXNhYmxlZDogY2hlY2tib3hQcm9wcyA9PT0gbnVsbCB8fCBjaGVja2JveFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjaGVja2JveFByb3BzLmRpc2FibGVkLCBvbkNoYW5nZTogKCkgPT4gdHJpZ2dlclNlbGVjdGlvbihyZWNvcmRLZXkpIH0pKTtcbiAgICAgICAgICAgICAgICB9IH0pLFxuICAgICAgICAgICAgLi4uY29sdW1ucyxcbiAgICAgICAgXTtcbiAgICB9O1xufVxuZnVuY3Rpb24gbWFrZVNvcnRUcmFuc2Zvcm0oY29uZmlnKSB7XG4gICAgY29uc3QgeyBzaXplLCBzb3J0ZXIsIHNldFNvcnRlciB9ID0gY29uZmlnO1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IHRpdGxlOiBjb2x1bW4ucmVuZGVySGVhZGVyXG4gICAgICAgICAgICAgICAgPyBjb2x1bW4ucmVuZGVySGVhZGVyKHsgY29sdW1uIH0pXG4gICAgICAgICAgICAgICAgOiAoX2pzeChIZWFkZXJDZWxsLCB7IGNvbHVtbjogY29sdW1uLCBzaXplOiBzaXplLCBzb3J0T3JkZXI6IHNvcnRlci5jb2x1bW5LZXkgPT09IGNvbHVtbi5rZXkgPyAoX2EgPSBzb3J0ZXIub3JkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGwgOiBudWxsLCBvblNvcnRDbGljazogKCkgPT4gc2V0U29ydGVyKChjdXJyZW50U29ydGVyKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uS2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IGN1cnJlbnRTb3J0ZXIuY29sdW1uS2V5ICE9PSBjb2x1bW4ua2V5IHx8IGN1cnJlbnRTb3J0ZXIub3JkZXIgPT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdhc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBjdXJyZW50U29ydGVyLm9yZGVyID09PSAnYXNjZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdkZXNjZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIH0pKSB9KSkgfSk7XG4gICAgfSk7XG59XG5jb25zdCBTUEFDRVJfQ09MVU1OX0NMUyA9ICdvbS1jb21wb25lbnQtdWktdGFibGUtY2VsbC0tc3BhY2VyJztcbmZ1bmN0aW9uIG1ha2VTcGFjZXJUcmFuc2Zvcm0oKSB7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBbXG4gICAgICAgIHsga2V5OiAnX19zcGFjZXJfc3RhcnRfXycsIHdpZHRoOiAxNiwgdGl0bGU6ICcnLCBjbGFzc05hbWU6IFNQQUNFUl9DT0xVTU5fQ0xTLCByZW5kZXI6ICgpID0+IG51bGwgfSxcbiAgICAgICAgLi4uY29sdW1ucyxcbiAgICAgICAgeyBrZXk6ICdfX3NwYWNlcl9lbmRfXycsIHdpZHRoOiAxNiwgdGl0bGU6ICcnLCBjbGFzc05hbWU6IFNQQUNFUl9DT0xVTU5fQ0xTLCByZW5kZXI6ICgpID0+IG51bGwgfSxcbiAgICBdO1xufVxuZnVuY3Rpb24gbWFrZVJlbmRlclRyYW5zZm9ybSgpIHtcbiAgICByZXR1cm4gKGNvbHVtbnMpID0+IGNvbHVtbnMubWFwKChjb2x1bW4pID0+IHtcbiAgICAgICAgaWYgKGlzQ29sdW1uR3JvdXAoY29sdW1uKSlcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW47XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGNvbHVtbiksIHsgcmVuZGVyOiAodmFsdWUsIHJlY29yZCwgaW5kZXgpID0+IEJvZHlDZWxsKHtcbiAgICAgICAgICAgICAgICBjb2x1bW46IGNvbHVtbixcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICByZWNvcmQ6IHJlY29yZCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIH0pIH0pO1xuICAgIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVRhYmxlQ29sdW1ucyhjb25maWcpIHtcbiAgICBjb25zdCB7IGNvbHVtbnMsIHZhcmlhbnQsIGV4cGFuZGFibGUsIHJvd1NlbGVjdGlvbiwgbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCBtZXJnZWRTZWxlY3RlZFJvd0tleXMsIGNoZWNrYm94UHJvcHNNYXAsIGlzQWxsU2VsZWN0ZWQsIGlzSW5kZXRlcm1pbmF0ZSwgdHJpZ2dlckV4cGFuZCwgdHJpZ2dlclNlbGVjdGlvbiwgdHJpZ2dlclNlbGVjdEFsbCwgc29ydGVyLCBzZXRTb3J0ZXIsIHNpemUsIGdldFJvd0tleSwgfSA9IGNvbmZpZztcbiAgICByZXR1cm4gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybXMgPSBbXTtcbiAgICAgICAgaWYgKGV4cGFuZGFibGUgJiYgZXhwYW5kYWJsZS5zaG93RXhwYW5kQ29sdW1uICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgdHJhbnNmb3Jtcy5wdXNoKG1ha2VFeHBhbmRUcmFuc2Zvcm0oY29uZmlnKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvd1NlbGVjdGlvbikge1xuICAgICAgICAgICAgdHJhbnNmb3Jtcy5wdXNoKG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSk7XG4gICAgICAgIH1cbiAgICAgICAgdHJhbnNmb3Jtcy5wdXNoKG1ha2VTb3J0VHJhbnNmb3JtKGNvbmZpZykpO1xuICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVJlbmRlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgaWYgKHZhcmlhbnQgPT09ICdzdHJva2UnKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVNwYWNlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJhbnNmb3Jtcy5yZWR1Y2UoKGNvbHMsIGZuKSA9PiBmbihjb2xzKSwgY29sdW1ucyk7XG4gICAgfSwgW1xuICAgICAgICBjb2x1bW5zLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBleHBhbmRhYmxlLFxuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIG1lcmdlZEV4cGFuZGVkUm93S2V5cyxcbiAgICAgICAgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLFxuICAgICAgICBjaGVja2JveFByb3BzTWFwLFxuICAgICAgICBpc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb24sXG4gICAgICAgIHRyaWdnZXJTZWxlY3RBbGwsXG4gICAgICAgIHNvcnRlcixcbiAgICAgICAgc2V0U29ydGVyLFxuICAgICAgICBzaXplLFxuICAgICAgICBnZXRSb3dLZXksXG4gICAgXSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
253
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUNvbHVtbnMuanMiLCJjb21wb25lbnRzL1RhYmxlL3NyYy9jb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwidXNlTWVtbyIsIlNlbGVjdGlvbkNvbnRyb2wiLCJTZWxlY3Rpb25IZWFkZXJDb250cm9sIiwiRXhwYW5kVHJpZ2dlciIsIkhlYWRlckNlbGwiLCJCb2R5Q2VsbCIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwiaXNDb2x1bW5Hcm91cCIsImNvbCIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkcmVuIiwibWFrZUV4cGFuZFRyYW5zZm9ybSIsImNvbmZpZyIsImV4cGFuZGFibGUiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwiZ2V0Um93S2V5IiwiY3VzdG9tRXhwYW5kSWNvbiIsImV4cGFuZEljb24iLCJyb3dFeHBhbmRhYmxlIiwiY29sdW1ucyIsIl9hIiwia2V5Iiwid2lkdGgiLCJjb2x1bW5XaWR0aCIsInRpdGxlIiwiY29sdW1uVGl0bGUiLCJmaXhlZCIsInVuZGVmaW5lZCIsInJlbmRlciIsIl8iLCJyZWNvcmQiLCJpbmRleCIsImNhbkV4cGFuZCIsInJlY29yZEtleSIsImV4cGFuZGVkIiwiaW5jbHVkZXMiLCJwcmVmaXhDbHMiLCJvbkV4cGFuZCIsInJlYyIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJvblRvZ2dsZSIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsIm1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0iLCJyb3dTZWxlY3Rpb24iLCJtZXJnZWRTZWxlY3RlZFJvd0tleXMiLCJjaGVja2JveFByb3BzTWFwIiwiaXNBbGxTZWxlY3RlZCIsImlzSW5kZXRlcm1pbmF0ZSIsInRyaWdnZXJTZWxlY3Rpb24iLCJ0cmlnZ2VyU2VsZWN0QWxsIiwic2VsZWN0aW9uVHlwZSIsInR5cGUiLCJPYmplY3QiLCJhc3NpZ24iLCJyZW5kZXJIZWFkZXIiLCJjaGVja2VkIiwiaW5kZXRlcm1pbmF0ZSIsIm9uQ2hhbmdlIiwicm93UHJvcHMiLCJnZXQiLCJhcmlhU29ydEZvciIsIm9yZGVyIiwiRU1QVFlfRklMVEVSX1ZBTFVFIiwibWFrZUhlYWRlclRyYW5zZm9ybSIsInNpemUiLCJzb3J0ZXIiLCJzZXRTb3J0ZXIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsIm1hcCIsImNvbHVtbiIsIl9iIiwiaXNTb3J0YWJsZSIsIkJvb2xlYW4iLCJhY3RpdmVPcmRlciIsImNvbHVtbktleSIsIlN0cmluZyIsImZpbHRlclNlbGVjdGVkIiwidXNlck9uSGVhZGVyQ2VsbCIsIm9uSGVhZGVyQ2VsbCIsInVzZXJBdHRycyIsIm9uRmlsdGVyQ2hhbmdlIiwibmV4dCIsImN1cnJlbnQiLCJfZGVmaW5lUHJvcGVydHkiLCJsZW5ndGgiLCJzb3J0T3JkZXIiLCJvblNvcnRDbGljayIsImN1cnJlbnRTb3J0ZXIiLCJTUEFDRVJfQ09MVU1OX0NMUyIsIm1ha2VTcGFjZXJUcmFuc2Zvcm0iLCJjbGFzc05hbWUiLCJtYWtlUmVuZGVyVHJhbnNmb3JtIiwidmFsdWUiLCJ1c2VUYWJsZUNvbHVtbnMiLCJ2YXJpYW50IiwidHJhbnNmb3JtcyIsInNob3dFeHBhbmRDb2x1bW4iLCJwdXNoIiwic2VsZWN0aW9uVHJhbnNmb3JtIiwidHJhbnNmb3JtZWQiLCJyZWR1Y2UiLCJjb2xzIiwiZm4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQS9DLFNBQVNDLE9BQU8sUUFBa0IsT0FBTztBQUN6QyxTQUFTQyxnQkFBZ0IsRUFBRUMsc0JBQXNCLFFBQVEsNkJBQTZCO0FBQ3RGLFNBQVNDLGFBQWEsUUFBUSwyQkFBMkI7QUFDekQsU0FBU0MsVUFBVSxRQUFRLHlCQUF5QjtBQUNwRCxTQUFTQyxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLG9CQUFvQixRQUFRLGNBQWM7QUFxQm5E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QyxrQkFBa0IsQ0FBQztJQUNyQztJQUNBSCxVQUFVLENBQUNFLElBQUksQ0FBQ25DLG1CQUFtQixDQUFDdEQsTUFBTSxDQUFDLENBQUM7SUFDNUN1RixVQUFVLENBQUNFLElBQUksQ0FBQ04sbUJBQW1CLENBQUEsQ0FBSyxDQUFDO0lBQ3pDLElBQUlHLE9BQU8sS0FBSyxRQUFRLEVBQUU7TUFDeEJDLFVBQVUsQ0FBQ0UsSUFBSSxDQUFDUixtQkFBbUIsQ0FBQSxDQUFLLENBQUM7SUFDM0M7SUFFQSxJQUFNVSxXQUFXLEdBQUdKLFVBQVUsQ0FBQ0ssTUFBTSxDQUFDLFVBQUNDLElBQUksRUFBRUMsRUFBRTtNQUFBLE9BQUtBLEVBQUUsQ0FBQ0QsSUFBSSxDQUFDO0lBQUEsR0FBRXJGLE9BQU8sQ0FBQztJQUN0RSxPQUFPbUYsV0FBZ0Q7RUFDekQsQ0FBQyxFQUFFLENBQ0RuRixPQUFPLEVBQ1A4RSxPQUFPLEVBQ1ByRixVQUFVLEVBQ1ZpQyxZQUFZLEVBQ1poQyxxQkFBcUIsRUFDckJpQyxxQkFBcUIsRUFDckJDLGdCQUFnQixFQUNoQkMsYUFBYSxFQUNiQyxlQUFlLEVBQ2ZuQyxhQUFhLEVBQ2JvQyxnQkFBZ0IsRUFDaEJDLGdCQUFnQixFQUNoQmdCLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxPQUFPLEVBQ1BDLFVBQVUsRUFDVkosSUFBSSxFQUNKbkQsU0FBUyxDQUNWLENBQUM7QUFDSiIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Db250cm9sLCBTZWxlY3Rpb25IZWFkZXJDb250cm9sIH0gZnJvbSAnLi4vZmVhdHVyZXMvU2VsZWN0aW9uQ29sdW1uJztcbmltcG9ydCB7IEV4cGFuZFRyaWdnZXIgfSBmcm9tICcuLi9mZWF0dXJlcy9FeHBhbmRUcmlnZ2VyJztcbmltcG9ydCB7IEhlYWRlckNlbGwgfSBmcm9tICcuLi9yZW5kZXJlcnMvSGVhZGVyQ2VsbCc7XG5pbXBvcnQgeyBCb2R5Q2VsbCB9IGZyb20gJy4uL3JlbmRlcmVycy9Cb2R5Q2VsbCc7XG5pbXBvcnQgeyBUQUJMRV9ERUZBVUxUX1BSRUZJWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5mdW5jdGlvbiBpc0NvbHVtbkdyb3VwKGNvbCkge1xuICAgIHJldHVybiAnY2hpbGRyZW4nIGluIGNvbCAmJiBBcnJheS5pc0FycmF5KGNvbC5jaGlsZHJlbik7XG59XG5mdW5jdGlvbiBtYWtlRXhwYW5kVHJhbnNmb3JtKGNvbmZpZykge1xuICAgIGNvbnN0IHsgZXhwYW5kYWJsZSwgbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCB0cmlnZ2VyRXhwYW5kLCBnZXRSb3dLZXkgfSA9IGNvbmZpZztcbiAgICBjb25zdCBjdXN0b21FeHBhbmRJY29uID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZEljb247XG4gICAgY29uc3Qgcm93RXhwYW5kYWJsZSA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlO1xuICAgIHJldHVybiAoY29sdW1ucykgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiAnX19leHBhbmRfXycsXG4gICAgICAgICAgICAgICAgLy8gSG9ub3IgYGV4cGFuZGFibGUuY29sdW1uV2lkdGhgIC8gYGNvbHVtblRpdGxlYCAvIGBmaXhlZGA7XG4gICAgICAgICAgICAgICAgLy8gZGVmYXVsdCB0byBhIDQ4cHggdW5sYWJlbGVkIGNvbHVtbi5cbiAgICAgICAgICAgICAgICB3aWR0aDogKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiA0OCxcbiAgICAgICAgICAgICAgICB0aXRsZTogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtblRpdGxlLFxuICAgICAgICAgICAgICAgIGZpeGVkOiAoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkKSA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICA/ICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICA6IChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZml4ZWQpID09PSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkLFxuICAgICAgICAgICAgICAgIHJlbmRlcjogKF8sIHJlY29yZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSG9ub3IgYHJvd0V4cGFuZGFibGVgOiB3aGVuIHRoZSBwcmVkaWNhdGUgZGVuaWVzIGEgcmVjb3JkLCByZW5kZXIgbm9cbiAgICAgICAgICAgICAgICAgICAgLy8gY2hldnJvbiBhdCBhbGwgKHRoZSByb3cgaXMgbm9uLWV4cGFuZGFibGUpLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5FeHBhbmQgPSByb3dFeHBhbmRhYmxlID8gcm93RXhwYW5kYWJsZShyZWNvcmQpIDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjYW5FeHBhbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleHBhbmRlZCA9IG1lcmdlZEV4cGFuZGVkUm93S2V5cy5pbmNsdWRlcyhyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3VzdG9tRXhwYW5kSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1c3RvbUV4cGFuZEljb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeENsczogVEFCTEVfREVGQVVMVF9QUkVGSVgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FeHBhbmQ6IChyZWMsIGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckV4cGFuZChnZXRSb3dLZXkocmVjLCBpbmRleCksIHJlYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRUcmlnZ2VyLCB7IGV4cGFuZGVkOiBleHBhbmRlZCwgb25Ub2dnbGU6ICgpID0+IHRyaWdnZXJFeHBhbmQocmVjb3JkS2V5LCByZWNvcmQpIH0pKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIF07XG4gICAgfTtcbn1cbmZ1bmN0aW9uIG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgcm93U2VsZWN0aW9uLCBtZXJnZWRTZWxlY3RlZFJvd0tleXMsIGNoZWNrYm94UHJvcHNNYXAsIGlzQWxsU2VsZWN0ZWQsIGlzSW5kZXRlcm1pbmF0ZSwgdHJpZ2dlclNlbGVjdGlvbiwgdHJpZ2dlclNlbGVjdEFsbCwgZ2V0Um93S2V5LCB9ID0gY29uZmlnO1xuICAgIGlmICghcm93U2VsZWN0aW9uKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBzZWxlY3Rpb25UeXBlID0gKF9hID0gcm93U2VsZWN0aW9uLnR5cGUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdjaGVja2JveCc7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IGtleTogJ19fc2VsZWN0aW9uX18nLCB3aWR0aDogKF9hID0gcm93U2VsZWN0aW9uLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiA0OCwgZml4ZWQ6IHJvd1NlbGVjdGlvbi5maXhlZCA/ICdsZWZ0JyA6IHVuZGVmaW5lZCB9LCAoc2VsZWN0aW9uVHlwZSA9PT0gJ2NoZWNrYm94J1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJIZWFkZXI6ICgpID0+IChfanN4KFNlbGVjdGlvbkhlYWRlckNvbnRyb2wsIHsgY2hlY2tlZDogaXNBbGxTZWxlY3RlZCwgaW5kZXRlcm1pbmF0ZTogaXNJbmRldGVybWluYXRlLCBvbkNoYW5nZTogdHJpZ2dlclNlbGVjdEFsbCB9KSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDoge30pKSwgeyByZW5kZXI6IChfLCByZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEtleSA9IGdldFJvd0tleShyZWNvcmQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93UHJvcHMgPSBjaGVja2JveFByb3BzTWFwLmdldChyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goU2VsZWN0aW9uQ29udHJvbCwgeyB0eXBlOiBzZWxlY3Rpb25UeXBlLCBjaGVja2VkOiBtZXJnZWRTZWxlY3RlZFJvd0tleXMuaW5jbHVkZXMocmVjb3JkS2V5KSwgcm93UHJvcHM6IHJvd1Byb3BzLCBvbkNoYW5nZTogKCkgPT4gdHJpZ2dlclNlbGVjdGlvbihyZWNvcmRLZXkpIH0pKTtcbiAgICAgICAgICAgICAgICB9IH0pLFxuICAgICAgICAgICAgLi4uY29sdW1ucyxcbiAgICAgICAgXTtcbiAgICB9O1xufVxuZnVuY3Rpb24gYXJpYVNvcnRGb3Iob3JkZXIpIHtcbiAgICBpZiAob3JkZXIgPT09ICdhc2NlbmQnKVxuICAgICAgICByZXR1cm4gJ2FzY2VuZGluZyc7XG4gICAgaWYgKG9yZGVyID09PSAnZGVzY2VuZCcpXG4gICAgICAgIHJldHVybiAnZGVzY2VuZGluZyc7XG4gICAgcmV0dXJuICdub25lJztcbn1cbi8vIFN0YWJsZSBlbXB0eS1maWx0ZXIgcmVmZXJlbmNlLiBXaXRob3V0IHRoaXMsIGBmaWx0ZXJzW2tleV0gPz8gW11gIGNyZWF0ZXMgYVxuLy8gZnJlc2ggYFtdYCBvbiBldmVyeSByZW5kZXIsIHdoaWNoIHRocmFzaGVzIGBGaWx0ZXJUcmlnZ2VyYCdzXG4vLyBgdXNlRWZmZWN0KFtzZWxlY3RlZEtleXNdKWAgYW5kIGNhdXNlcyBhbiBpbmZpbml0ZSBzZXRTdGF0ZSBsb29wIGFmdGVyXG4vLyBjb25maXJtIC8gcmVzZXQuXG5jb25zdCBFTVBUWV9GSUxURVJfVkFMVUUgPSBbXTtcbmZ1bmN0aW9uIG1ha2VIZWFkZXJUcmFuc2Zvcm0oY29uZmlnKSB7XG4gICAgY29uc3QgeyBzaXplLCBzb3J0ZXIsIHNldFNvcnRlciwgZmlsdGVycywgc2V0RmlsdGVycyB9ID0gY29uZmlnO1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAoaXNDb2x1bW5Hcm91cChjb2x1bW4pKVxuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICAgICAgY29uc3QgaXNTb3J0YWJsZSA9IEJvb2xlYW4oY29sdW1uLnNvcnRlcik7XG4gICAgICAgIGNvbnN0IGFjdGl2ZU9yZGVyID0gc29ydGVyLmNvbHVtbktleSA9PT0gY29sdW1uLmtleSA/IChfYSA9IHNvcnRlci5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbnVsbCA6IG51bGw7XG4gICAgICAgIGNvbnN0IGNvbHVtbktleSA9IGNvbHVtbi5rZXkgIT0gbnVsbCA/IFN0cmluZyhjb2x1bW4ua2V5KSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZmlsdGVyU2VsZWN0ZWQgPSBjb2x1bW5LZXkgIT0gbnVsbCA/ICgoX2IgPSBmaWx0ZXJzW2NvbHVtbktleV0pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IEVNUFRZX0ZJTFRFUl9WQUxVRSkgOiBFTVBUWV9GSUxURVJfVkFMVUU7XG4gICAgICAgIC8vIENvbXBvc2Ugb25IZWFkZXJDZWxsIHNvIHdlIGRvbid0IGNsb2JiZXIgdXNlci1wcm92aWRlZCBhdHRyaWJ1dGVzLlxuICAgICAgICBjb25zdCB1c2VyT25IZWFkZXJDZWxsID0gY29sdW1uLm9uSGVhZGVyQ2VsbDtcbiAgICAgICAgY29uc3Qgb25IZWFkZXJDZWxsID0gKGNvbCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJBdHRycyA9IChfYSA9IHVzZXJPbkhlYWRlckNlbGwgPT09IG51bGwgfHwgdXNlck9uSGVhZGVyQ2VsbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdXNlck9uSGVhZGVyQ2VsbChjb2wsIGluZGV4KSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDoge307XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB1c2VyQXR0cnMpLCAoaXNTb3J0YWJsZSA/IHsgJ2FyaWEtc29ydCc6IGFyaWFTb3J0Rm9yKGFjdGl2ZU9yZGVyKSB9IDogbnVsbCkpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBvbkZpbHRlckNoYW5nZSA9IChuZXh0KSA9PiB7XG4gICAgICAgICAgICBpZiAoY29sdW1uS2V5ID09IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgc2V0RmlsdGVycygoY3VycmVudCkgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudCksIHsgW2NvbHVtbktleV06IG5leHQubGVuZ3RoID8gbmV4dCA6IG51bGwgfSkpKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY29sdW1uKSwgeyBvbkhlYWRlckNlbGwsIHRpdGxlOiBjb2x1bW4ucmVuZGVySGVhZGVyXG4gICAgICAgICAgICAgICAgPyBjb2x1bW4ucmVuZGVySGVhZGVyKHsgY29sdW1uIH0pXG4gICAgICAgICAgICAgICAgOiAoX2pzeChIZWFkZXJDZWxsLCB7IGNvbHVtbjogY29sdW1uLCBzaXplOiBzaXplLCBzb3J0T3JkZXI6IGFjdGl2ZU9yZGVyLCBvblNvcnRDbGljazogKCkgPT4gc2V0U29ydGVyKChjdXJyZW50U29ydGVyKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uS2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IGN1cnJlbnRTb3J0ZXIuY29sdW1uS2V5ICE9PSBjb2x1bW4ua2V5IHx8IGN1cnJlbnRTb3J0ZXIub3JkZXIgPT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdhc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBjdXJyZW50U29ydGVyLm9yZGVyID09PSAnYXNjZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdkZXNjZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIH0pKSwgZmlsdGVyU2VsZWN0ZWQ6IGZpbHRlclNlbGVjdGVkLCBvbkZpbHRlckNoYW5nZTogb25GaWx0ZXJDaGFuZ2UgfSkpIH0pO1xuICAgIH0pO1xufVxuY29uc3QgU1BBQ0VSX0NPTFVNTl9DTFMgPSAnb20tY29tcG9uZW50LXVpLXRhYmxlLWNlbGwtLXNwYWNlcic7XG5mdW5jdGlvbiBtYWtlU3BhY2VyVHJhbnNmb3JtKCkge1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gW1xuICAgICAgICB7IGtleTogJ19fc3BhY2VyX3N0YXJ0X18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIHsga2V5OiAnX19zcGFjZXJfZW5kX18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgXTtcbn1cbmZ1bmN0aW9uIG1ha2VSZW5kZXJUcmFuc2Zvcm0oKSB7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IHJlbmRlcjogKHZhbHVlLCByZWNvcmQsIGluZGV4KSA9PiBCb2R5Q2VsbCh7XG4gICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIH0pIH0pO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIGNvbHVtbnMgcmVhZHkgdG8gYmUgcGFzc2VkIHRvIHRoZSB0YWJsZSBrZXJuZWwuXG4gKlxuICogVGhlIHJldHVybmVkIHNoYXBlIElTIHN0cnVjdHVyYWxseSB0aGUga2VybmVsJ3MgYENvbHVtbnNUeXBlPFQ+YDpcbiAqICAgLSBFdmVyeSBsZWFmIGNvbHVtbidzIGByZW5kZXJgIGlzIHJlcGxhY2VkIGJ5IGBtYWtlUmVuZGVyVHJhbnNmb3JtYCwgd2hpY2hcbiAqICAgICBhbHdheXMgcmV0dXJucyBhIGBSZWFjdE5vZGVgIChCb2R5Q2VsbCBoYW5kbGVzIGBUYWJsZUNlbGxDb250ZW50VmFsdWVgIC9cbiAqICAgICBgVGFibGVSZW5kZXJlZENlbGxgIGV4dHJhcyBhbmQgZW1pdHMgUmVhY3ROb2RlL1JlbmRlcmVkQ2VsbCkuXG4gKiAgIC0gRXZlcnkgbGVhZiBjb2x1bW4ncyBgdGl0bGVgIGlzIGVpdGhlciBhIFJlYWN0Tm9kZSBvciByZXBsYWNlZCBieVxuICogICAgIGA8SGVhZGVyQ2VsbCAvPmAuXG4gKiBCZWNhdXNlIFRTIGNhbid0IHRyYWNrIHRoYXQgdGhvc2UgcmVwbGFjZW1lbnRzIGhhdmUgaGFwcGVuZWQgYWNyb3NzIHRoZVxuICogYHRyYW5zZm9ybXMucmVkdWNlYCBjaGFpbiwgYSBzaW5nbGUgaW50ZXJuYWwgY2FzdCBpcyByZXF1aXJlZCDigJQgY2FsbCBzaXRlcyBub1xuICogbG9uZ2VyIG5lZWQgdGhlaXIgb3duIGBhcyB1bmtub3duIGFzIEludGVybmFsQ29sdW1uc1R5cGU8VD5gIGNhc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VUYWJsZUNvbHVtbnMoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb2x1bW5zLCB2YXJpYW50LCBleHBhbmRhYmxlLCByb3dTZWxlY3Rpb24sIG1lcmdlZEV4cGFuZGVkUm93S2V5cywgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCBjaGVja2JveFByb3BzTWFwLCBpc0FsbFNlbGVjdGVkLCBpc0luZGV0ZXJtaW5hdGUsIHRyaWdnZXJFeHBhbmQsIHRyaWdnZXJTZWxlY3Rpb24sIHRyaWdnZXJTZWxlY3RBbGwsIHNvcnRlciwgc2V0U29ydGVyLCBmaWx0ZXJzLCBzZXRGaWx0ZXJzLCBzaXplLCBnZXRSb3dLZXksIH0gPSBjb25maWc7XG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1zID0gW107XG4gICAgICAgIGlmIChleHBhbmRhYmxlICYmIGV4cGFuZGFibGUuc2hvd0V4cGFuZENvbHVtbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybXMucHVzaChtYWtlRXhwYW5kVHJhbnNmb3JtKGNvbmZpZykpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblRyYW5zZm9ybSA9IHJvd1NlbGVjdGlvbiA/IG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSA6IG51bGw7XG4gICAgICAgIGlmIChzZWxlY3Rpb25UcmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybXMucHVzaChzZWxlY3Rpb25UcmFuc2Zvcm0pO1xuICAgICAgICB9XG4gICAgICAgIHRyYW5zZm9ybXMucHVzaChtYWtlSGVhZGVyVHJhbnNmb3JtKGNvbmZpZykpO1xuICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVJlbmRlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgaWYgKHZhcmlhbnQgPT09ICdzdHJva2UnKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVNwYWNlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybXMucmVkdWNlKChjb2xzLCBmbikgPT4gZm4oY29scyksIGNvbHVtbnMpO1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWQ7XG4gICAgfSwgW1xuICAgICAgICBjb2x1bW5zLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBleHBhbmRhYmxlLFxuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIG1lcmdlZEV4cGFuZGVkUm93S2V5cyxcbiAgICAgICAgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLFxuICAgICAgICBjaGVja2JveFByb3BzTWFwLFxuICAgICAgICBpc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb24sXG4gICAgICAgIHRyaWdnZXJTZWxlY3RBbGwsXG4gICAgICAgIHNvcnRlcixcbiAgICAgICAgc2V0U29ydGVyLFxuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBzZXRGaWx0ZXJzLFxuICAgICAgICBzaXplLFxuICAgICAgICBnZXRSb3dLZXksXG4gICAgXSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Key } from 'react';
|
|
2
|
-
import type { TableChangeMeta, TableColumnType, TablePaginationConfig, TableSortOrder } from '../interface';
|
|
2
|
+
import type { TableChangeMeta, TableColumnType, TableFilterValue, TablePaginationConfig, TableRecord, TableSortOrder } from '../interface';
|
|
3
3
|
export interface TableSorterFieldState {
|
|
4
4
|
columnKey: Key;
|
|
5
5
|
order: Exclude<TableSortOrder, null>;
|
|
@@ -8,30 +8,37 @@ export interface TableSorterState {
|
|
|
8
8
|
columnKey?: Key;
|
|
9
9
|
order?: TableSortOrder;
|
|
10
10
|
}
|
|
11
|
+
/** Map of column key → currently selected filter values (or null if cleared). */
|
|
12
|
+
export type TableFilterState = Record<string, TableFilterValue | null>;
|
|
11
13
|
export interface TablePipelineState {
|
|
12
14
|
sorter: TableSorterState;
|
|
15
|
+
filters: TableFilterState;
|
|
13
16
|
pagination: false | Required<Pick<TablePaginationConfig, 'current' | 'pageSize'>>;
|
|
14
17
|
}
|
|
15
|
-
export interface ApplyTablePipelineInput<T> extends TablePipelineState {
|
|
18
|
+
export interface ApplyTablePipelineInput<T extends TableRecord> extends Omit<TablePipelineState, 'filters'> {
|
|
16
19
|
columns: TableColumnType<T>[];
|
|
17
20
|
dataSource: T[];
|
|
21
|
+
/** Filter state keyed by column key. Defaults to an empty filter map. */
|
|
22
|
+
filters?: TableFilterState;
|
|
18
23
|
}
|
|
19
|
-
export interface UseTableDataPipelineInput<T> {
|
|
24
|
+
export interface UseTableDataPipelineInput<T extends TableRecord> {
|
|
20
25
|
columns: TableColumnType<T>[];
|
|
21
26
|
dataSource: T[];
|
|
22
27
|
pagination?: false | TablePaginationConfig;
|
|
23
28
|
onChange?: (meta: TableChangeMeta<T>) => void;
|
|
24
29
|
}
|
|
25
|
-
export interface UseTableDataPipelineResult<T> {
|
|
30
|
+
export interface UseTableDataPipelineResult<T extends TableRecord> {
|
|
26
31
|
currentDataSource: T[];
|
|
27
32
|
total: number;
|
|
28
33
|
sorter: TableSorterState;
|
|
29
34
|
sorterStates: TableSorterFieldState[];
|
|
35
|
+
filters: TableFilterState;
|
|
30
36
|
pagination: false | {
|
|
31
37
|
current: number;
|
|
32
38
|
pageSize: number;
|
|
33
39
|
};
|
|
34
40
|
setSorter: (updater: TableSorterState | ((current: TableSorterState) => TableSorterState)) => void;
|
|
41
|
+
setFilters: (updater: TableFilterState | ((current: TableFilterState) => TableFilterState)) => void;
|
|
35
42
|
setPagination: (updater: {
|
|
36
43
|
current: number;
|
|
37
44
|
pageSize: number;
|
|
@@ -43,8 +50,8 @@ export interface UseTableDataPipelineResult<T> {
|
|
|
43
50
|
pageSize: number;
|
|
44
51
|
})) => void;
|
|
45
52
|
}
|
|
46
|
-
export declare const applyTablePipeline: <T>({ columns, dataSource, sorter, pagination, }: ApplyTablePipelineInput<T>) => {
|
|
53
|
+
export declare const applyTablePipeline: <T extends TableRecord>({ columns, dataSource, sorter, filters, pagination, }: ApplyTablePipelineInput<T>) => {
|
|
47
54
|
currentDataSource: T[];
|
|
48
55
|
total: number;
|
|
49
56
|
};
|
|
50
|
-
export declare const useTableDataPipeline: <T>({ columns, dataSource, pagination, onChange, }: UseTableDataPipelineInput<T>) => UseTableDataPipelineResult<T>;
|
|
57
|
+
export declare const useTableDataPipeline: <T extends TableRecord>({ columns, dataSource, pagination, onChange, }: UseTableDataPipelineInput<T>) => UseTableDataPipelineResult<T>;
|