td-stylekit 26.25.1 → 27.0.0
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/CHANGELOG.md +12 -0
- package/dist/es/DataGrid/DataGrid.d.ts +12 -2
- package/dist/es/DataGrid/DataGrid.js +97 -30
- package/dist/es/DataGrid/components/BasicColumn.d.ts +2 -1
- package/dist/es/DataGrid/components/BasicColumn.js +5 -1
- package/dist/es/DataGrid/components/CollapsibleCell.js +4 -3
- package/dist/es/DataGrid/components/ColumnHeader.d.ts +3 -1
- package/dist/es/DataGrid/components/ColumnHeader.js +9 -1
- package/dist/es/DataGrid/components/ColumnHeaderDragHandle.d.ts +5 -0
- package/dist/es/DataGrid/components/ColumnHeaderDragHandle.js +104 -0
- package/dist/es/DataGrid/elements.d.ts +2 -0
- package/dist/es/DataGrid/elements.js +118 -104
- package/dist/es/DataGrid/types.d.ts +3 -0
- package/dist/es/ThemeProvider/v4/DataGrid.d.ts +8 -3
- package/dist/es/ThemeProvider/v4/DataGrid.js +47 -35
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# [27.0.0](https://github.com/treasure-data/td-stylekit/compare/v26.25.1...v27.0.0) (2022-09-02)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **DataGrid:** Resizable columns ([#1323](https://github.com/treasure-data/td-stylekit/issues/1323)) ([ce69139](https://github.com/treasure-data/td-stylekit/commit/ce69139))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* **DataGrid:** for v5 theme, add `isFirst` prop to any custom cell renderer in the first column to maintain padding.
|
|
12
|
+
|
|
1
13
|
## [26.25.1](https://github.com/treasure-data/td-stylekit/compare/v26.25.0...v26.25.1) (2022-09-01)
|
|
2
14
|
|
|
3
15
|
|
|
@@ -6,7 +6,7 @@ import * as Elements from './elements';
|
|
|
6
6
|
import * as Renderers from './renderers';
|
|
7
7
|
import { CollapsibleCell } from './components';
|
|
8
8
|
import * as dataGridUtils from './utils';
|
|
9
|
-
import type { BasicColumnMappedProps } from './components/BasicColumn';
|
|
9
|
+
import type { BasicColumnMappedProps, BasicColumnProps } from './components/BasicColumn';
|
|
10
10
|
import type { LocaleStrings } from './constants';
|
|
11
11
|
export declare type onFilterArguments = {
|
|
12
12
|
filters: {
|
|
@@ -40,6 +40,9 @@ export declare type DataGridProps = {
|
|
|
40
40
|
contextMenuRenderer?: (contextMenuRendererArguments: contextMenuRendererArguments) => React.ReactNode;
|
|
41
41
|
/** Called when a column is filtered or sorted. */
|
|
42
42
|
onFilter: (onFilterArguments: onFilterArguments) => void;
|
|
43
|
+
/** Called when a column is resized by the user. Passing this in enables
|
|
44
|
+
* resize handles on the right edge of the header cells. */
|
|
45
|
+
onResize?: (newSizes: number[]) => void;
|
|
43
46
|
/** Called when the row selection changes. Receives array of indices. */
|
|
44
47
|
onSelect: (indexes: number[]) => void;
|
|
45
48
|
/** Called when the row is double clicked. Receives index. */
|
|
@@ -99,7 +102,7 @@ declare type HandleFilterArguments = {
|
|
|
99
102
|
*
|
|
100
103
|
*/
|
|
101
104
|
declare class DataGrid extends Component<DataGridProps, DataGridState> {
|
|
102
|
-
static Column: import("lodash").CurriedFunction2<
|
|
105
|
+
static Column: import("lodash").CurriedFunction2<BasicColumnProps, BasicColumnMappedProps, import("@emotion/react/jsx-runtime").JSX.Element | null>;
|
|
103
106
|
static SortDirection: import("react-virtualized/dist/es/Table").SortDirectionStatic;
|
|
104
107
|
static Elements: typeof Elements;
|
|
105
108
|
static InputCell: any;
|
|
@@ -107,6 +110,7 @@ declare class DataGrid extends Component<DataGridProps, DataGridState> {
|
|
|
107
110
|
static Renderers: typeof Renderers;
|
|
108
111
|
static SINGLE_SELECT: SelectableType;
|
|
109
112
|
static MULTI_SELECT: SelectableType;
|
|
113
|
+
static MIN_COL_WIDTH: number;
|
|
110
114
|
static utils: typeof dataGridUtils;
|
|
111
115
|
static defaultProps: {
|
|
112
116
|
loadMoreRows: (...args: any[]) => void;
|
|
@@ -122,6 +126,8 @@ declare class DataGrid extends Component<DataGridProps, DataGridState> {
|
|
|
122
126
|
static displayName: string;
|
|
123
127
|
state: DataGridState;
|
|
124
128
|
infiniteTable: React.RefObject<InfiniteLoader>;
|
|
129
|
+
totalWidth: number;
|
|
130
|
+
columnWidthPercents: number[];
|
|
125
131
|
columnTransformer: (columns: React.ReactElement<any>[], rowData: any, rowIndex: number) => React.ReactNode[] | null | undefined;
|
|
126
132
|
select: ({ index, contiguous }: {
|
|
127
133
|
index: number;
|
|
@@ -145,6 +151,10 @@ declare class DataGrid extends Component<DataGridProps, DataGridState> {
|
|
|
145
151
|
event: React.MouseEvent<any>;
|
|
146
152
|
index: number;
|
|
147
153
|
}) => void>;
|
|
154
|
+
handleResize: ({ x, index }: {
|
|
155
|
+
x: number;
|
|
156
|
+
index: number;
|
|
157
|
+
}) => void;
|
|
148
158
|
mapChildren: () => React.ReactNode[];
|
|
149
159
|
isRowLoaded: ({ index }: Index) => boolean;
|
|
150
160
|
isContextMenuVisible: (index: number) => boolean | null;
|
|
@@ -127,6 +127,10 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
127
127
|
|
|
128
128
|
_defineProperty(_assertThisInitialized(_this), "infiniteTable", /*#__PURE__*/_react2["default"].createRef());
|
|
129
129
|
|
|
130
|
+
_defineProperty(_assertThisInitialized(_this), "totalWidth", 0);
|
|
131
|
+
|
|
132
|
+
_defineProperty(_assertThisInitialized(_this), "columnWidthPercents", []);
|
|
133
|
+
|
|
130
134
|
_defineProperty(_assertThisInitialized(_this), "columnTransformer", void 0);
|
|
131
135
|
|
|
132
136
|
_defineProperty(_assertThisInitialized(_this), "select", function (_ref) {
|
|
@@ -348,6 +352,45 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
348
352
|
trailing: false
|
|
349
353
|
}));
|
|
350
354
|
|
|
355
|
+
_defineProperty(_assertThisInitialized(_this), "handleResize", function (_ref6) {
|
|
356
|
+
var x = _ref6.x,
|
|
357
|
+
index = _ref6.index;
|
|
358
|
+
|
|
359
|
+
if (_this.columnWidthPercents.length > 0 && _this.totalWidth) {
|
|
360
|
+
var _this$props$scrollWid;
|
|
361
|
+
|
|
362
|
+
var prevWidths = _this.columnWidthPercents;
|
|
363
|
+
|
|
364
|
+
var newWidths = _toConsumableArray(prevWidths);
|
|
365
|
+
|
|
366
|
+
var parentWidth = (_this$props$scrollWid = _this.props.scrollWidth) !== null && _this$props$scrollWid !== void 0 ? _this$props$scrollWid : _this.props.width; // limit next index from going beyond bounds
|
|
367
|
+
|
|
368
|
+
var nextIndex = Math.min(index + 1, prevWidths.length - 1);
|
|
369
|
+
var percentChange = x / _this.totalWidth;
|
|
370
|
+
|
|
371
|
+
if (_this.props.scrollWidth) {
|
|
372
|
+
// if table is scrollable, we can grow the column without
|
|
373
|
+
// shrinking the others
|
|
374
|
+
var safePercentChange = (prevWidths[index] + percentChange) * parentWidth < DataGrid.MIN_COL_WIDTH ? 0 : percentChange;
|
|
375
|
+
newWidths[index] = prevWidths[index] + safePercentChange;
|
|
376
|
+
} else {
|
|
377
|
+
// if the table is not scrollable, ensure all columns fit by
|
|
378
|
+
// adjusting the current column and the one after it
|
|
379
|
+
var _safePercentChange = (prevWidths[index] + percentChange) * parentWidth < DataGrid.MIN_COL_WIDTH || (prevWidths[nextIndex] - percentChange) * parentWidth < DataGrid.MIN_COL_WIDTH ? 0 : percentChange;
|
|
380
|
+
|
|
381
|
+
newWidths[index] = prevWidths[index] + _safePercentChange;
|
|
382
|
+
newWidths[nextIndex] = prevWidths[nextIndex] - _safePercentChange;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
if (_this.props.onResize) {
|
|
386
|
+
_this.props.onResize( // multiply by width prop to get correct percentage
|
|
387
|
+
newWidths.map(function (width) {
|
|
388
|
+
return Math.round(width * parentWidth);
|
|
389
|
+
}));
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
|
|
351
394
|
_defineProperty(_assertThisInitialized(_this), "mapChildren", function () {
|
|
352
395
|
var IsArray = function IsArray(children) {
|
|
353
396
|
return Array.isArray(children);
|
|
@@ -376,10 +419,10 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
376
419
|
|
|
377
420
|
_this.handleFilter(_objectSpread({}, sortArgs));
|
|
378
421
|
},
|
|
379
|
-
onFilter: function onFilter(
|
|
380
|
-
var dataKey =
|
|
381
|
-
value =
|
|
382
|
-
operator =
|
|
422
|
+
onFilter: function onFilter(_ref7) {
|
|
423
|
+
var dataKey = _ref7.dataKey,
|
|
424
|
+
value = _ref7.value,
|
|
425
|
+
operator = _ref7.operator;
|
|
383
426
|
|
|
384
427
|
_this.setSelectedRows([]);
|
|
385
428
|
|
|
@@ -389,13 +432,24 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
389
432
|
operator: operator
|
|
390
433
|
} : value)
|
|
391
434
|
});
|
|
392
|
-
}
|
|
435
|
+
},
|
|
436
|
+
onResize: // the presence of `onResize` will show drag handles so don't set it
|
|
437
|
+
// if no prop is passed in or for the last column if the table isn't
|
|
438
|
+
// scrollable
|
|
439
|
+
_this.props.onResize && (!_this.props.scrollWidth && index !== validChildren.length - 1 || _this.props.scrollWidth) ? function (_ref8) {
|
|
440
|
+
var x = _ref8.x;
|
|
441
|
+
|
|
442
|
+
_this.handleResize({
|
|
443
|
+
x: x,
|
|
444
|
+
index: index
|
|
445
|
+
});
|
|
446
|
+
} : undefined
|
|
393
447
|
});
|
|
394
448
|
});
|
|
395
449
|
});
|
|
396
450
|
|
|
397
|
-
_defineProperty(_assertThisInitialized(_this), "isRowLoaded", function (
|
|
398
|
-
var index =
|
|
451
|
+
_defineProperty(_assertThisInitialized(_this), "isRowLoaded", function (_ref9) {
|
|
452
|
+
var index = _ref9.index;
|
|
399
453
|
var _this$props2 = _this.props,
|
|
400
454
|
hasMoreRows = _this$props2.hasMoreRows,
|
|
401
455
|
rowCount = _this$props2.rowCount;
|
|
@@ -432,9 +486,9 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
432
486
|
return null;
|
|
433
487
|
});
|
|
434
488
|
|
|
435
|
-
_defineProperty(_assertThisInitialized(_this), "headerRowRenderer", function (
|
|
436
|
-
var columns =
|
|
437
|
-
style =
|
|
489
|
+
_defineProperty(_assertThisInitialized(_this), "headerRowRenderer", function (_ref10) {
|
|
490
|
+
var columns = _ref10.columns,
|
|
491
|
+
style = _ref10.style;
|
|
438
492
|
return (0, _jsxRuntime.jsx)(Elements.Row, {
|
|
439
493
|
"data-gs-c": gsC(columns),
|
|
440
494
|
"data-gs": gs("src", "datagrid", "datagrid.tsx", "data-grid", "elements-row"),
|
|
@@ -446,15 +500,15 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
446
500
|
});
|
|
447
501
|
});
|
|
448
502
|
|
|
449
|
-
_defineProperty(_assertThisInitialized(_this), "rowRenderer", function (
|
|
450
|
-
var key =
|
|
451
|
-
style =
|
|
452
|
-
index =
|
|
453
|
-
rowData =
|
|
454
|
-
columns =
|
|
455
|
-
className =
|
|
456
|
-
onRowMouseOver =
|
|
457
|
-
onRowMouseOut =
|
|
503
|
+
_defineProperty(_assertThisInitialized(_this), "rowRenderer", function (_ref11) {
|
|
504
|
+
var key = _ref11.key,
|
|
505
|
+
style = _ref11.style,
|
|
506
|
+
index = _ref11.index,
|
|
507
|
+
rowData = _ref11.rowData,
|
|
508
|
+
columns = _ref11.columns,
|
|
509
|
+
className = _ref11.className,
|
|
510
|
+
onRowMouseOver = _ref11.onRowMouseOver,
|
|
511
|
+
onRowMouseOut = _ref11.onRowMouseOut;
|
|
458
512
|
return (0, _jsxRuntime.jsxs)(_components.FocusableRow, {
|
|
459
513
|
"data-gs": gs("src", "datagrid", "datagrid.tsx", "data-grid", "focusable-row"),
|
|
460
514
|
className: className,
|
|
@@ -562,6 +616,17 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
562
616
|
width: child.props.width,
|
|
563
617
|
flexGrow: child.props.flexGrow
|
|
564
618
|
};
|
|
619
|
+
}); // Get the actual width of all the columns. This is independent from the
|
|
620
|
+
// width prop.
|
|
621
|
+
|
|
622
|
+
this.totalWidth = mappedChildren.reduce(function (total, child) {
|
|
623
|
+
return total + child.props.width;
|
|
624
|
+
}, 0); // Convert the widths to percents so we can map them back to the real table
|
|
625
|
+
// width later.
|
|
626
|
+
|
|
627
|
+
this.columnWidthPercents = mappedChildren.map(function (_ref12) {
|
|
628
|
+
var props = _ref12.props;
|
|
629
|
+
return props.width / _this2.totalWidth;
|
|
565
630
|
});
|
|
566
631
|
|
|
567
632
|
this.columnTransformer = function (columns, rowData, rowIndex) {
|
|
@@ -578,13 +643,13 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
578
643
|
if (span > 1) {
|
|
579
644
|
var followingColumns = spanData.slice(index, span); // find new width by adding current column width plus columns that are spanned over
|
|
580
645
|
|
|
581
|
-
var _width = followingColumns.reduce(function (accumulator,
|
|
582
|
-
var width =
|
|
646
|
+
var _width = followingColumns.reduce(function (accumulator, _ref13) {
|
|
647
|
+
var width = _ref13.width;
|
|
583
648
|
return accumulator + width;
|
|
584
649
|
}, 0);
|
|
585
650
|
|
|
586
|
-
var flexGrow = followingColumns.reduce(function (accumulator,
|
|
587
|
-
var flexGrow =
|
|
651
|
+
var flexGrow = followingColumns.reduce(function (accumulator, _ref14) {
|
|
652
|
+
var flexGrow = _ref14.flexGrow;
|
|
588
653
|
return accumulator + flexGrow;
|
|
589
654
|
}, 0);
|
|
590
655
|
spannedColumns.push( /*#__PURE__*/_react2["default"].cloneElement(column, {
|
|
@@ -612,14 +677,14 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
612
677
|
css: /*#__PURE__*/(0, _react.css)({
|
|
613
678
|
width: width,
|
|
614
679
|
height: height
|
|
615
|
-
}, process.env.NODE_ENV === "production" ? "" : ";label:render;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9EYXRhR3JpZC9EYXRhR3JpZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeWxCUSIsImZpbGUiOiIuLi8uLi8uLi9zcmMvRGF0YUdyaWQvRGF0YUdyaWQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7XG4gIEluZmluaXRlTG9hZGVyLFxuICBUYWJsZSxcbiAgU29ydERpcmVjdGlvbixcbiAgVGFibGVSb3dQcm9wc1xufSBmcm9tICdyZWFjdC12aXJ0dWFsaXplZCdcbmltcG9ydCB0eXBlIHtcbiAgU29ydERpcmVjdGlvblR5cGUsXG4gIFRhYmxlUHJvcHMsXG4gIEluZGV4UmFuZ2UsXG4gIEluZGV4LFxuICBSb3dNb3VzZUV2ZW50SGFuZGxlclBhcmFtc1xufSBmcm9tICdyZWFjdC12aXJ0dWFsaXplZCdcbmltcG9ydCAqIGFzIEVsZW1lbnRzIGZyb20gJy4vZWxlbWVudHMnXG5pbXBvcnQgKiBhcyBSZW5kZXJlcnMgZnJvbSAnLi9yZW5kZXJlcnMnXG5pbXBvcnQge1xuICBCYXNpY0NvbHVtbixcbiAgRm9jdXNhYmxlUm93LFxuICBJbnB1dENlbGwsXG4gIENvbGxhcHNpYmxlQ2VsbCxcbiAgU2Nyb2xsYWJsZVRhYmxlXG59IGZyb20gJy4vY29tcG9uZW50cydcbmltcG9ydCB7IENsb3NlV3JhcHBlciB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IGN1cnJ5IGZyb20gJ2xvZGFzaC5jdXJyeSdcbmltcG9ydCBpbmNsdWRlcyBmcm9tICdsb2Rhc2guaW5jbHVkZXMnXG5pbXBvcnQgbm9vcCBmcm9tICdsb2Rhc2gubm9vcCdcbmltcG9ydCByYW5nZSBmcm9tICdsb2Rhc2gucmFuZ2UnXG5pbXBvcnQgdGhyb3R0bGUgZnJvbSAnbG9kYXNoLnRocm90dGxlJ1xuaW1wb3J0IHVuaXEgZnJvbSAnbG9kYXNoLnVuaXEnXG5pbXBvcnQgKiBhcyBkYXRhR3JpZFV0aWxzIGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEJhc2ljQ29sdW1uTWFwcGVkUHJvcHMgfSBmcm9tICcuL2NvbXBvbmVudHMvQmFzaWNDb2x1bW4nXG5pbXBvcnQgdHlwZSB7IExvY2FsZVN0cmluZ3MgfSBmcm9tICcuL2NvbnN0YW50cydcblxuZXhwb3J0IHR5cGUgb25GaWx0ZXJBcmd1bWVudHMgPSB7XG4gIGZpbHRlcnM6IHsgW2RhdGFLZXk6IHN0cmluZ106IGFueSB9XG4gIHNvcnRCeT86IHN0cmluZ1xuICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvblR5cGVcbn1cblxudHlwZSBhY3RpdmVDb250ZXh0TWVudVN0YXRlID0ge1xuICB0b3A6IG51bWJlclxuICBsZWZ0OiBudW1iZXJcbiAgaW5kZXg6IG51bWJlclxuICByb3dEYXRhOiBhbnlcbn1cblxudHlwZSBjb250ZXh0TWVudVJlbmRlcmVyQXJndW1lbnRzID0ge1xuICB0b3A/OiBudW1iZXJcbiAgbGVmdD86IG51bWJlclxuICBpbmRleD86IG51bWJlclxuICByb3dEYXRhPzogYW55XG4gIHNlbGVjdGVkUm93czogQXJyYXk8bnVtYmVyPlxuICBvbkNsb3NlOiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCB0eXBlIFNlbGVjdGFibGVUeXBlID0gJ3NpbmdsZScgfCAnbXVsdGknXG5cbnR5cGUgQ29sdW1uRnVuY3Rpb24gPSAoYXJnczogQmFzaWNDb2x1bW5NYXBwZWRQcm9wcykgPT4gUmVhY3QuUmVhY3ROb2RlXG5cbmV4cG9ydCB0eXBlIERhdGFHcmlkUHJvcHMgPSB7XG4gIC8qKiBGdW5jdGlvbnMgdGhhdCBjcmVhdGUgcmVhY3QgdmlydHVhbGl6ZWQgQ29sdW1ucy4gRGVmYXVsdCBjb2x1bW4gaXMgZXhwb3NlZCBhcyBEYXRhR3JpZC5Db2x1bW4uICovXG4gIC8vIENhbiB0YWtlIGEgc2luZ2xlIGNvbHVtbiBvciBhbiBhcnJheSBvZiBjb2x1bW5zXG4gIGNoaWxkcmVuOiBDb2x1bW5GdW5jdGlvbiB8IEFycmF5PENvbHVtbkZ1bmN0aW9uPlxuICAvKiogSW5zdHJ1bWVudGF0aW9uICovXG4gICdkYXRhLWluc3RydW1lbnRhdGlvbic/OiBzdHJpbmdcbiAgLyoqIENhbGxlZCBkdXJpbmcgdGhlIG9uQ29udGV4dE1lbnUgZXZlbnQgb2YgZWFjaCByb3cuICovXG4gIGNvbnRleHRNZW51UmVuZGVyZXI/OiAoXG4gICAgY29udGV4dE1lbnVSZW5kZXJlckFyZ3VtZW50czogY29udGV4dE1lbnVSZW5kZXJlckFyZ3VtZW50c1xuICApID0+IFJlYWN0LlJlYWN0Tm9kZVxuICAvKiogQ2FsbGVkIHdoZW4gYSBjb2x1bW4gaXMgZmlsdGVyZWQgb3Igc29ydGVkLiAqL1xuICBvbkZpbHRlcjogKG9uRmlsdGVyQXJndW1lbnRzOiBvbkZpbHRlckFyZ3VtZW50cykgPT4gdm9pZFxuICAvKiogQ2FsbGVkIHdoZW4gdGhlIHJvdyBzZWxlY3Rpb24gY2hhbmdlcy4gUmVjZWl2ZXMgYXJyYXkgb2YgaW5kaWNlcy4gKi9cbiAgb25TZWxlY3Q6IChpbmRleGVzOiBudW1iZXJbXSkgPT4gdm9pZFxuICAvKiogQ2FsbGVkIHdoZW4gdGhlIHJvdyBpcyBkb3VibGUgY2xpY2tlZC4gUmVjZWl2ZXMgaW5kZXguICovXG4gIG9uUm93RG91YmxlQ2xpY2s/OiAoaW5mbzogUm93TW91c2VFdmVudEhhbmRsZXJQYXJhbXMpID0+IHZvaWRcbiAgLyoqIEluZmluaXRlIGxvYWRpbmc6IEluZGljYXRlcyBtb3JlIHJvd3MgbmVlZCB0byBiZSBsb2FkZWQuICovXG4gIGhhc01vcmVSb3dzPzogYm9vbGVhblxuICAvKiogSW5maW5pdGUgbG9hZGluZzogQ2FsbGVkIHdoZW4gbW9yZSByb3dzIG5lZWQgdG8gYmUgbG9hZGVkLiAqL1xuICBsb2FkTW9yZVJvd3M/OiAocHJvcHM6IEluZGV4UmFuZ2UpID0+IFByb21pc2U8YW55PlxuICAvKiogQ291bnQgb2Ygcm93cyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGxvYWRlZC4gKi9cbiAgcm93Q291bnQ6IG51bWJlclxuICAvKiogUmVxdWlyZWQgYnkgcmVhY3QtdmlydHVhbGl6ZWQgdGFibGUuICovXG4gIHJvd0dldHRlcjogKHByb3BzOiB7IGluZGV4OiBudW1iZXIgfSkgPT4gYW55XG4gIC8qKiBXaGV0aGVyIHJvd3MgY2FuIGJlIHNlbGVjdGVkIChhbmQgaG93IG1hbnkpLiAqL1xuICBzZWxlY3RhYmxlPzogU2VsZWN0YWJsZVR5cGUgfCBmYWxzZVxuICAvKiogQXJyYXkgb2YgaW5kaWNlcyB0aGF0IHNob3VsZCBiZSBzZWxlY3RlZC4gT25seSB1c2VkIGlmIGBzZWxlY3RhYmxlYCBpcyBzZXQuICovXG4gIHNlbGVjdGVkUm93czogQXJyYXk8bnVtYmVyPlxuICAvKiogVGhlIGNvbHVtbiB5b3Ugd2FudCB0byBzb3J0ICovXG4gIHNvcnRCeT86IHN0cmluZ1xuICAvKiogVGhlIGRpcmVjdGlvbiBzb3J0aW5nIHNob3VsZCBiZSBkb25lICovXG4gIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uVHlwZVxuICAvKiogQSBtYXAgb2YgY29sdW1ucyB0byBmaWx0ZXIgZGF0YSAqL1xuICBmaWx0ZXJzPzogeyBbZGF0YUtleTogc3RyaW5nXTogYW55IH1cbiAgLyoqIFNldCB0aGUgd2lkdGggb2Ygc2Nyb2xsYWJsZSBjb250ZW50ICovXG4gIHNjcm9sbFdpZHRoPzogbnVtYmVyXG4gIHdpZHRoOiBudW1iZXJcbiAgaGVpZ2h0OiBudW1iZXJcbiAgLyoqIExvY2FsZSBzdHJpbmc6IGphLCBkZSwgZXMsIGtvLCBlbiwgZXRjLiAqL1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgLyoqIExvY2FsZSBzdHJpbmdzIHRvIG92ZXJyaWRlIGVuIGZvciBsYW5ndWFnZSBpbiBsb2NhbGUgKi9cbiAgbG9jYWxlU3RyaW5ncz86IExvY2FsZVN0cmluZ3NcbiAgLyoqIGFsbG93IGV2ZW50cyB0byBwcm9wYWdhdGUgdG8gYSBjZWxsIG9uIHJvdyBzZWxlY3QgKi9cbiAgYWxsb3dSb3dFdmVudFBhc3N0aHJvdWdoPzogYm9vbGVhblxufSAmIFBhcnRpYWw8VGFibGVQcm9wcz5cblxudHlwZSBEYXRhR3JpZFN0YXRlID0ge1xuICBhY3RpdmVDb250ZXh0TWVudTogYWN0aXZlQ29udGV4dE1lbnVTdGF0ZSB8IG51bGxcbiAgZGlzYWJsZUtleWJvYXJkU2hvcnRjdXRzOiBib29sZWFuXG4gIGZvY3VzZWRSb3c6IG51bWJlciB8IG51bGxcbiAgc2VsZWN0aW5nOiBib29sZWFuXG4gIGxhc3RTZWxlY3RlZFJvdzogbnVtYmVyIHwgbnVsbFxufVxuXG50eXBlIEhhbmRsZUZpbHRlckFyZ3VtZW50cyA9IHtcbiAgc29ydEJ5Pzogc3RyaW5nXG4gIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uVHlwZVxuICBmaWx0ZXJzPzogYW55XG59XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGRhdGEgaW4gYSBncmlkIHdpdGggc3VwcG9ydCBmb3IgdGhpbmdzIGxpa2VcbiAqIGZpbHRlcmluZywgc29ydGluZywgYW5kIGNvbnRleHQgbWVudXMuXG4gKlxuICogRGVwZW5kcyBvbiByZWFjdC12aXJ0dWFsaXplZC9zdHlsZXMuY3NzLlxuICpcbiAqIEZvciByZWFjdC12aXJ0dWFsaXplZCBUYWJsZSBkb2NzIHNlZTogaHR0cHM6Ly9naXRodWIuY29tL2J2YXVnaG4vcmVhY3QtdmlydHVhbGl6ZWQvYmxvYi9tYXN0ZXIvZG9jcy9UYWJsZS5tZFxuICpcbiAqL1xuY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBDb21wb25lbnQ8RGF0YUdyaWRQcm9wcywgRGF0YUdyaWRTdGF0ZT4ge1xuICAvLyBleHBvc2Ugc3ViLWNvbXBvbmVudHNcbiAgc3RhdGljIENvbHVtbiA9IGN1cnJ5KEJhc2ljQ29sdW1uKVxuICBzdGF0aWMgU29ydERpcmVjdGlvbiA9IFNvcnREaXJlY3Rpb25cbiAgc3RhdGljIEVsZW1lbnRzID0gRWxlbWVudHNcbiAgc3RhdGljIElucHV0Q2VsbCA9IElucHV0Q2VsbFxuICBzdGF0aWMgQ29sbGFwc2libGVDZWxsID0gQ29sbGFwc2libGVDZWxsXG4gIHN0YXRpYyBSZW5kZXJlcnMgPSBSZW5kZXJlcnNcblxuICBzdGF0aWMgU0lOR0xFX1NFTEVDVDogU2VsZWN0YWJsZVR5cGUgPSAnc2luZ2xlJ1xuICBzdGF0aWMgTVVMVElfU0VMRUNUOiBTZWxlY3RhYmxlVHlwZSA9ICdtdWx0aSdcblxuICBzdGF0aWMgdXRpbHMgPSBkYXRhR3JpZFV0aWxzXG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBsb2FkTW9yZVJvd3M6IG5vb3AsXG4gICAgb25TZWxlY3Q6IG5vb3AsXG4gICAgb25GaWx0ZXI6IG5vb3AsXG4gICAgJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJzogJ2RhdGFncmlkJyxcbiAgICBzb3J0Qnk6ICcnLFxuICAgIHNvcnREaXJlY3Rpb246IFNvcnREaXJlY3Rpb24uQVNDLFxuICAgIGZpbHRlcnM6IHt9LFxuICAgIHNlbGVjdGVkUm93czogW10sXG4gICAgYWxsb3dSb3dFdmVudFBhc3N0aHJvdWdoOiBmYWxzZVxuICB9XG5cbiAgc3RhdGljIGRpc3BsYXlOYW1lID0gJ0RhdGFHcmlkJ1xuXG4gIHN0YXRlOiBEYXRhR3JpZFN0YXRlID0ge1xuICAgIGFjdGl2ZUNvbnRleHRNZW51OiBudWxsLFxuICAgIGRpc2FibGVLZXlib2FyZFNob3J0Y3V0czogZmFsc2UsXG4gICAgZm9jdXNlZFJvdzogbnVsbCxcbiAgICBsYXN0U2VsZWN0ZWRSb3c6IG51bGwsXG4gICAgc2VsZWN0aW5nOiBmYWxzZVxuICB9XG5cbiAgaW5maW5pdGVUYWJsZSA9IFJlYWN0LmNyZWF0ZVJlZjxJbmZpbml0ZUxvYWRlcj4oKVxuXG4gIGNvbHVtblRyYW5zZm9ybWVyOiAoXG4gICAgY29sdW1uczogUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXSxcbiAgICByb3dEYXRhOiBhbnksXG4gICAgcm93SW5kZXg6IG51bWJlclxuICApID0+IFJlYWN0LlJlYWN0Tm9kZVtdIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIHNlbGVjdCA9ICh7XG4gICAgaW5kZXgsXG4gICAgY29udGlndW91cyA9IGZhbHNlXG4gIH06IHtcbiAgICBpbmRleDogbnVtYmVyXG4gICAgY29udGlndW91czogYm9vbGVhblxuICB9KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZShzdGF0ZSA9PiB7XG4gICAgICBjb25zdCB7IGxhc3RTZWxlY3RlZFJvdyB9ID0gc3RhdGVcbiAgICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dzIH0gPSB0aGlzLnByb3BzXG4gICAgICBsZXQgc2VsZWN0ZWQgPSBbLi4uc2VsZWN0ZWRSb3dzLCBpbmRleF1cbiAgICAgIGlmICh0aGlzLnByb3BzLnNlbGVjdGFibGUgPT09IERhdGFHcmlkLlNJTkdMRV9TRUxFQ1QpIHtcbiAgICAgICAgc2VsZWN0ZWQgPSBbaW5kZXhdXG4gICAgICB9IGVsc2UgaWYgKGNvbnRpZ3VvdXMgJiYgdHlwZW9mIGxhc3RTZWxlY3RlZFJvdyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBNYXRoLm1pbihsYXN0U2VsZWN0ZWRSb3csIGluZGV4KVxuICAgICAgICBjb25zdCBlbmQgPSBNYXRoLm1heChsYXN0U2VsZWN0ZWRSb3csIGluZGV4KVxuICAgICAgICBzZWxlY3RlZCA9IHVuaXEoWy4uLnNlbGVjdGVkUm93cywgLi4ucmFuZ2Uoc3RhcnQsIGVuZCArIDEpXSlcbiAgICAgIH1cbiAgICAgIHRoaXMucHJvcHMub25TZWxlY3Qoc2VsZWN0ZWQpXG4gICAgICByZXR1cm4geyBsYXN0U2VsZWN0ZWRSb3c6IGluZGV4IH1cbiAgICB9KVxuICB9XG5cbiAgc2VsZWN0QWxsID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgcm93Q291bnQgfSA9IHRoaXMucHJvcHNcbiAgICB0aGlzLnNldFNlbGVjdGVkUm93cyhBcnJheS5mcm9tKHsgbGVuZ3RoOiByb3dDb3VudCB9KS5tYXAoKF8sIGlkeCkgPT4gaWR4KSlcbiAgfVxuXG4gIGRlc2VsZWN0ID0gKHtcbiAgICBpbmRleCxcbiAgICBjb250aWd1b3VzID0gZmFsc2VcbiAgfToge1xuICAgIGluZGV4OiBudW1iZXJcbiAgICBjb250aWd1b3VzOiBib29sZWFuXG4gIH0pID0+IHtcbiAgICBpZiAoaW5kZXggPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHsgbGFzdFNlbGVjdGVkUm93IH0gPSBzdGF0ZVxuICAgICAgY29uc3QgeyBzZWxlY3RlZFJvd3MgfSA9IHRoaXMucHJvcHNcbiAgICAgIGxldCBzZWxlY3RlZCA9IHNlbGVjdGVkUm93cy5maWx0ZXIoaWR4ID0+IGlkeCAhPT0gaW5kZXgpXG4gICAgICBpZiAoY29udGlndW91cyAmJiB0eXBlb2YgbGFzdFNlbGVjdGVkUm93ID09PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zdCBzdGFydCA9IE1hdGgubWluKGxhc3RTZWxlY3RlZFJvdywgaW5kZXgpXG4gICAgICAgIGNvbnN0IGVuZCA9IE1hdGgubWF4KGxhc3RTZWxlY3RlZFJvdywgaW5kZXgpXG4gICAgICAgIGNvbnN0IHRvRGVzZWxlY3QgPSByYW5nZShzdGFydCwgZW5kICsgMSlcbiAgICAgICAgc2VsZWN0ZWQgPSBzZWxlY3RlZFJvd3MuZmlsdGVyKGlkeCA9PiAhaW5jbHVkZXModG9EZXNlbGVjdCwgaWR4KSlcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5wcm9wcy5zZWxlY3RhYmxlID09PSBEYXRhR3JpZC5TSU5HTEVfU0VMRUNUICYmXG4gICAgICAgICFzZWxlY3RlZC5sZW5ndGhcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuICAgICAgdGhpcy5wcm9wcy5vblNlbGVjdChzZWxlY3RlZClcbiAgICAgIHJldHVybiB7IGxhc3RTZWxlY3RlZFJvdzogaW5kZXggfVxuICAgIH0pXG4gIH1cblxuICBkZXNlbGVjdEFsbCA9ICgpID0+IHtcbiAgICB0aGlzLnNldFNlbGVjdGVkUm93cyhbXSlcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGxhc3RTZWxlY3RlZFJvdzogbnVsbFxuICAgIH0pXG4gIH1cblxuICB0b2dnbGVTZWxlY3QgPSAoe1xuICAgIGluZGV4LFxuICAgIGNvbnRpZ3VvdXNcbiAgfToge1xuICAgIGluZGV4OiBudW1iZXJcbiAgICBjb250aWd1b3VzOiBib29sZWFuXG4gIH0pID0+IHtcbiAgICBpZiAoaW5kZXggPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoIXRoaXMucHJvcHMuc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKGluZGV4KSkge1xuICAgICAgdGhpcy5zZWxlY3QoeyBpbmRleCwgY29udGlndW91cyB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlc2VsZWN0KHsgaW5kZXgsIGNvbnRpZ3VvdXMgfSlcbiAgICB9XG4gIH1cblxuICBzZXRTZWxlY3RlZFJvd3MgPSAocm93czogQXJyYXk8bnVtYmVyPikgPT4ge1xuICAgIHRoaXMucHJvcHMub25TZWxlY3Qocm93cylcbiAgfVxuXG4gIGhhbmRsZUZpbHRlciA9ICh7XG4gICAgc29ydEJ5LFxuICAgIHNvcnREaXJlY3Rpb24sXG4gICAgZmlsdGVyc1xuICB9OiBIYW5kbGVGaWx0ZXJBcmd1bWVudHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBzb3J0Qnk6IG9sZFNvcnRCeSxcbiAgICAgIHNvcnREaXJlY3Rpb246IG9sZFNvcnREaXJlY3Rpb24sXG4gICAgICBmaWx0ZXJzOiBvbGRGaWx0ZXJzXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBuZXdEYXRhID0ge1xuICAgICAgc29ydEJ5OiBzb3J0QnkgfHwgb2xkU29ydEJ5LFxuICAgICAgc29ydERpcmVjdGlvbjogc29ydERpcmVjdGlvbiB8fCBvbGRTb3J0RGlyZWN0aW9uLFxuICAgICAgZmlsdGVyczoge1xuICAgICAgICAuLi5vbGRGaWx0ZXJzLFxuICAgICAgICAuLi5maWx0ZXJzXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucHJvcHMub25GaWx0ZXIobmV3RGF0YSlcbiAgfVxuXG4gIGhhbmRsZUtleURvd24gPSAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUuZGlzYWJsZUtleWJvYXJkU2hvcnRjdXRzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ2EnOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgKGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSkgJiZcbiAgICAgICAgICB0aGlzLnByb3BzLnNlbGVjdGFibGUgPT09IERhdGFHcmlkLk1VTFRJX1NFTEVDVFxuICAgICAgICApIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMucm93Q291bnQgPT09IHRoaXMucHJvcHMuc2VsZWN0ZWRSb3dzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5kZXNlbGVjdEFsbCgpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0QWxsKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldFN0YXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgZm9jdXNlZFJvdzogTWF0aC5tYXgoKHN0YXRlLmZvY3VzZWRSb3cgfHwgMCkgLSAxLCAwKVxuICAgICAgICB9KSlcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgIGZvY3VzZWRSb3c6XG4gICAgICAgICAgICBzdGF0ZS5mb2N1c2VkUm93ICE9IG51bGxcbiAgICAgICAgICAgICAgPyBNYXRoLm1pbihzdGF0ZS5mb2N1c2VkUm93ICsgMSwgdGhpcy5wcm9wcy5yb3dDb3VudCAtIDEpXG4gICAgICAgICAgICAgIDogMFxuICAgICAgICB9KSlcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgY2FzZSAnICc6XG4gICAgICAgIGlmICh0aGlzLnByb3BzLnNlbGVjdGFibGUpIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdCh7XG4gICAgICAgICAgICBpbmRleDogdGhpcy5zdGF0ZS5mb2N1c2VkUm93IHx8IDAsXG4gICAgICAgICAgICBjb250aWd1b3VzOiBldmVudC5zaGlmdEtleVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnU2hpZnQnOlxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBzZWxlY3Rpbmc6IHRydWVcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlVcCA9IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZS5kaXNhYmxlS2V5Ym9hcmRTaG9ydGN1dHMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnU2hpZnQnOlxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBzZWxlY3Rpbmc6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgLy8gdGhyb3R0bGluZyB0aGlzIHNvIGEgZG91YmxlIGNsaWNrIGJlaGF2ZXMgbGlrZSBhIHNpbmdsZSBjbGlja1xuICBoYW5kbGVSb3dDbGljayA9IHRocm90dGxlKFxuICAgICh7IGV2ZW50LCBpbmRleCB9OiB7IGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PGFueT47IGluZGV4OiBudW1iZXIgfSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLmFsbG93Um93RXZlbnRQYXNzdGhyb3VnaCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgfVxuXG4gICAgICB0aGlzLnRvZ2dsZVNlbGVjdCh7IGluZGV4LCBjb250aWd1b3VzOiBldmVudC5zaGlmdEtleSB9KVxuICAgIH0sXG4gICAgMjUwLFxuICAgIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IGZhbHNlIH1cbiAgKVxuXG4gIG1hcENoaWxkcmVuID0gKCkgPT4ge1xuICAgIGNvbnN0IElzQXJyYXkgPSAoY2hpbGRyZW4pOiBjaGlsZHJlbiBpcyBBcnJheTxDb2x1bW5GdW5jdGlvbj4gPT5cbiAgICAgIEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pXG5cbiAgICBjb25zdCBjaGlsZHJlbjogQXJyYXk8Q29sdW1uRnVuY3Rpb24+ID0gSXNBcnJheSh0aGlzLnByb3BzLmNoaWxkcmVuKVxuICAgICAgPyB0aGlzLnByb3BzLmNoaWxkcmVuXG4gICAgICA6IFt0aGlzLnByb3BzLmNoaWxkcmVuXVxuXG4gICAgY29uc3QgdmFsaWRDaGlsZHJlbiA9IGNoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiB0eXBlb2YgY2hpbGQgPT09ICdmdW5jdGlvbicpXG5cbiAgICByZXR1cm4gdmFsaWRDaGlsZHJlbi5tYXAoKGNoaWxkLCBpbmRleCkgPT5cbiAgICAgIGNoaWxkKHtcbiAgICAgICAgbG9jYWxlOiB0aGlzLnByb3BzLmxvY2FsZSB8fCAnZW4nLFxuICAgICAgICBsb2NhbGVTdHJpbmdzOiB0aGlzLnByb3BzLmxvY2FsZVN0cmluZ3MgfHwge30sXG4gICAgICAgIGNvbHVtbkluZGV4OiBpbmRleCxcbiAgICAgICAgY29sdW1uQ291bnQ6IHZhbGlkQ2hpbGRyZW4ubGVuZ3RoLFxuICAgICAgICBnZXRGaWx0ZXJWYWx1ZTogZGF0YUtleSA9PlxuICAgICAgICAgIHRoaXMucHJvcHMuZmlsdGVycyAmJiB0aGlzLnByb3BzLmZpbHRlcnNbZGF0YUtleV0sXG4gICAgICAgIG9uSGVhZGVyUG9wb3Zlck9wZW46IG9wZW4gPT5cbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGlzYWJsZUtleWJvYXJkU2hvcnRjdXRzOiBvcGVuIH0pLFxuICAgICAgICBvblNvcnQ6IHNvcnRBcmdzID0+IHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkUm93cyhbXSlcbiAgICAgICAgICB0aGlzLmhhbmRsZUZpbHRlcih7IC4uLnNvcnRBcmdzIH0pXG4gICAgICAgIH0sXG4gICAgICAgIG9uRmlsdGVyOiAoeyBkYXRhS2V5LCB2YWx1ZSwgb3BlcmF0b3IgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRSb3dzKFtdKVxuICAgICAgICAgIHRoaXMuaGFuZGxlRmlsdGVyKHtcbiAgICAgICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICAgICAgW2RhdGFLZXldOiBvcGVyYXRvclxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBpc1Jvd0xvYWRlZCA9ICh7IGluZGV4IH06IEluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBoYXNNb3JlUm93cywgcm93Q291bnQgfSA9IHRoaXMucHJvcHNcbiAgICByZXR1cm4gIWhhc01vcmVSb3dzIHx8IGluZGV4IDwgcm93Q291bnRcbiAgfVxuXG4gIGlzQ29udGV4dE1lbnVWaXNpYmxlID0gKGluZGV4OiBudW1iZXIpID0+XG4gICAgdGhpcy5zdGF0ZS5hY3RpdmVDb250ZXh0TWVudSAmJiB0aGlzLnN0YXRlLmFjdGl2ZUNvbnRleHRNZW51LmluZGV4ID09PSBpbmRleFxuXG4gIGNsb3NlQ29udGV4dE1lbnUgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhY3RpdmVDb250ZXh0TWVudTogbnVsbFxuICAgIH0pXG4gIH1cblxuICBjb250ZXh0TWVudVJlbmRlcmVyID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnByb3BzLmNvbnRleHRNZW51UmVuZGVyZXIgJiZcbiAgICAgIHRoaXMuaXNDb250ZXh0TWVudVZpc2libGUoaW5kZXgpICYmXG4gICAgICBkb2N1bWVudC5ib2R5ICE9PSBudWxsXG4gICAgKSB7XG4gICAgICBjb25zdCBjb250ZXh0TWVudUNsb3NlV3JhcHBlciA9IChcbiAgICAgICAgPENsb3NlV3JhcHBlciBvbkNsb3NlPXt0aGlzLmNsb3NlQ29udGV4dE1lbnV9PlxuICAgICAgICAgIHt0aGlzLnByb3BzLmNvbnRleHRNZW51UmVuZGVyZXIoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZS5hY3RpdmVDb250ZXh0TWVudSxcbiAgICAgICAgICAgIHNlbGVjdGVkUm93czogdGhpcy5wcm9wcy5zZWxlY3RlZFJvd3MsXG4gICAgICAgICAgICBvbkNsb3NlOiB0aGlzLmNsb3NlQ29udGV4dE1lbnVcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9DbG9zZVdyYXBwZXI+XG4gICAgICApXG4gICAgICByZXR1cm4gUmVhY3RET00uY3JlYXRlUG9ydGFsKGNvbnRleHRNZW51Q2xvc2VXcmFwcGVyLCBkb2N1bWVudC5ib2R5KVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgaGVhZGVyUm93UmVuZGVyZXIgPSAoe1xuICAgIGNvbHVtbnMsXG4gICAgc3R5bGVcbiAgfToge1xuICAgIGNvbHVtbnM6IFJlYWN0LlJlYWN0Tm9kZVtdXG4gICAgc3R5bGU6IHt9XG4gIH0pID0+IChcbiAgICA8RWxlbWVudHMuUm93IHJvbGU9XCJyb3dcIiBoZWFkZXIgemVicmEgc3R5bGU9e3N0eWxlfT5cbiAgICAgIHtjb2x1bW5zfVxuICAgIDwvRWxlbWVudHMuUm93PlxuICApXG5cbiAgcm93UmVuZGVyZXIgPSAoe1xuICAgIGtleSxcbiAgICBzdHlsZSxcbiAgICBpbmRleCxcbiAgICByb3dEYXRhLFxuICAgIGNvbHVtbnMsXG4gICAgY2xhc3NOYW1lLFxuICAgIG9uUm93TW91c2VPdmVyLFxuICAgIG9uUm93TW91c2VPdXRcbiAgfTogVGFibGVSb3dQcm9wcykgPT4gKFxuICAgIDxGb2N1c2FibGVSb3dcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgYXJpYS1yb3dpbmRleD17aW5kZXggKyAxfVxuICAgICAgemVicmE9e2luZGV4ICUgMiA9PT0gMX1cbiAgICAgIHNlbGVjdGVkPXt0aGlzLnByb3BzLnNlbGVjdGVkUm93cy5pbmNsdWRlcyhpbmRleCl9XG4gICAgICBzZWxlY3Rpbmc9e3RoaXMuc3RhdGUuc2VsZWN0aW5nfVxuICAgICAgZm9jdXNlZD17aW5kZXggPT09IHRoaXMuc3RhdGUuZm9jdXNlZFJvd31cbiAgICAgIGtleT17a2V5fVxuICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgb25Nb3VzZUxlYXZlPXtldmVudCA9PiB7XG4gICAgICAgIG9uUm93TW91c2VPdXQgJiYgb25Sb3dNb3VzZU91dCh7IHJvd0RhdGEsIGluZGV4LCBldmVudCB9KVxuICAgICAgfX1cbiAgICAgIG9uTW91c2VFbnRlcj17ZXZlbnQgPT4ge1xuICAgICAgICBvblJvd01vdXNlT3ZlciAmJiBvblJvd01vdXNlT3Zlcih7IHJvd0RhdGEsIGluZGV4LCBldmVudCB9KVxuICAgICAgfX1cbiAgICAgIG9uRm9jdXM9eygpID0+IHRoaXMuc2V0U3RhdGUoeyBmb2N1c2VkUm93OiBpbmRleCB9KX1cbiAgICAgIGRhdGEtaW5zdHJ1bWVudGF0aW9uPXtgJHt0aGlzLnByb3BzWydkYXRhLWluc3RydW1lbnRhdGlvbiddfS1yb3cke1xuICAgICAgICBpbmRleCArIDFcbiAgICAgIH1gfVxuICAgICAgb25DbGljaz17XG4gICAgICAgIHRoaXMucHJvcHMuc2VsZWN0YWJsZSAmJiAhdGhpcy5zdGF0ZS5hY3RpdmVDb250ZXh0TWVudVxuICAgICAgICAgID8gZXZlbnQgPT4gdGhpcy5oYW5kbGVSb3dDbGljayh7IGV2ZW50LCBpbmRleDogaW5kZXggfSlcbiAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgfVxuICAgICAgb25Db250ZXh0TWVudT17XG4gICAgICAgIHRoaXMucHJvcHMuY29udGV4dE1lbnVSZW5kZXJlclxuICAgICAgICAgID8gZXZlbnQgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBhY3RpdmVDb250ZXh0TWVudToge1xuICAgICAgICAgICAgICAgICAgbGVmdDogZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICAgICAgICAgIHRvcDogZXZlbnQuY2xpZW50WSxcbiAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgICAgICAgIHJvd0RhdGE6IHJvd0RhdGFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5wcm9wcy5zZWxlY3RlZFJvd3MuaW5jbHVkZXMoaW5kZXgpICYmXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5zZWxlY3RhYmxlXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUm93Q2xpY2soeyBldmVudCwgaW5kZXg6IGluZGV4IH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICB9XG4gICAgICBvbkRvdWJsZUNsaWNrPXtldmVudCA9PlxuICAgICAgICB0aGlzLnByb3BzLm9uUm93RG91YmxlQ2xpY2sgJiZcbiAgICAgICAgdGhpcy5wcm9wcy5vblJvd0RvdWJsZUNsaWNrKHsgaW5kZXgsIGV2ZW50LCByb3dEYXRhIH0pXG4gICAgICB9XG4gICAgPlxuICAgICAge3RoaXMuY29sdW1uVHJhbnNmb3JtZXJcbiAgICAgICAgPyB0aGlzLmNvbHVtblRyYW5zZm9ybWVyKGNvbHVtbnMsIHJvd0RhdGEsIGluZGV4KVxuICAgICAgICA6IGNvbHVtbnN9XG4gICAgICB7dGhpcy5jb250ZXh0TWVudVJlbmRlcmVyKGluZGV4KX1cbiAgICA8L0ZvY3VzYWJsZVJvdz5cbiAgKVxuXG4gIC8qKlxuICAgKiAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIGlzIGFkZGVkIGJlY2F1c2UgZXZlbiB0aG91Z2ggdGhlIHByb3BzIGFyZSBub3QgdXNlZCBpbiB0aGlzIGNvbXBvbmVudFxuICAgKiB0aGV5IGFyZSBnZXR0aW5nIGRlc3RydWN0dXJlZCBpbnRvIC4uLnByb3BzIGFuZCBwYXNzZWQgZnVydGhlciBkb3duIHRoZSB0cmVlXG4gICAqL1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgY2hpbGRyZW4sXG4gICAgICBoYXNNb3JlUm93cyxcbiAgICAgIGhlaWdodCxcbiAgICAgIGxvYWRNb3JlUm93cyxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgIG9uRmlsdGVyLFxuICAgICAgcm93Q291bnQsXG4gICAgICBzb3J0QnkgPSAnJyxcbiAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICB3aWR0aCxcbiAgICAgIC4uLnByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcblxuICAgIC8vIFRoaXMgZml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGhlYWRlciBvZiB0aGUgRGF0YUdyaWQgZG9lc24ndCByZW5kZXIgb24gcGFnZSBsb2FkIGluIFNhZmFyaVxuICAgIGNvbnN0IHNhZmFyaVN0eWxlID0ge1xuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWigwKWBcbiAgICB9XG5cbiAgICBjb25zdCBtYXBwZWRDaGlsZHJlbiA9IHRoaXMubWFwQ2hpbGRyZW4oKS5maWx0ZXIoY2hpbGQgPT4gY2hpbGQgIT09IG51bGwpXG4gICAgLy8gVE9ETzogQmV0dGVyIHR5cGUgc2lnbmF0dXJlIHdoZW4gYWNjZXNzaW5nIGNoaWxkcmVuIHByb3BzP1xuICAgIGNvbnN0IHNwYW5EYXRhID0gbWFwcGVkQ2hpbGRyZW4ubWFwKChjaGlsZDogUmVhY3QuUmVhY3RFbGVtZW50KSA9PiAoe1xuICAgICAgY29sc3BhbjogY2hpbGQucHJvcHMuY29sc3BhbiA/IGNoaWxkLnByb3BzLmNvbHNwYW4gOiAoKSA9PiAxLFxuICAgICAgd2lkdGg6IGNoaWxkLnByb3BzLndpZHRoLFxuICAgICAgZmxleEdyb3c6IGNoaWxkLnByb3BzLmZsZXhHcm93XG4gICAgfSkpXG4gICAgdGhpcy5jb2x1bW5UcmFuc2Zvcm1lciA9IChcbiAgICAgIGNvbHVtbnM6IFJlYWN0LlJlYWN0RWxlbWVudDxhbnk+W10sXG4gICAgICByb3dEYXRhLFxuICAgICAgcm93SW5kZXhcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IHNwYW5zID0gc3BhbkRhdGEubWFwKGl0ZW0gPT4gaXRlbS5jb2xzcGFuKHJvd0RhdGEpKVxuICAgICAgY29uc3Qgc3Bhbm5lZENvbHVtbnM6IFJlYWN0LlJlYWN0RWxlbWVudFtdID0gW11cbiAgICAgIGxldCBpbmRleCA9IDBcbiAgICAgIHdoaWxlIChpbmRleCA8IGNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHNwYW4gPSBzcGFuc1tpbmRleF1cbiAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1uc1tpbmRleF1cbiAgICAgICAgaWYgKHNwYW4gPiAxKSB7XG4gICAgICAgICAgY29uc3QgZm9sbG93aW5nQ29sdW1ucyA9IHNwYW5EYXRhLnNsaWNlKGluZGV4LCBzcGFuKVxuICAgICAgICAgIC8vIGZpbmQgbmV3IHdpZHRoIGJ5IGFkZGluZyBjdXJyZW50IGNvbHVtbiB3aWR0aCBwbHVzIGNvbHVtbnMgdGhhdCBhcmUgc3Bhbm5lZCBvdmVyXG5cbiAgICAgICAgICBjb25zdCB3aWR0aCA9IGZvbGxvd2luZ0NvbHVtbnMucmVkdWNlKFxuICAgICAgICAgICAgKGFjY3VtdWxhdG9yLCB7IHdpZHRoIH06IHsgd2lkdGg6IG51bWJlciB9KSA9PiBhY2N1bXVsYXRvciArIHdpZHRoLFxuICAgICAgICAgICAgMFxuICAgICAgICAgIClcblxuICAgICAgICAgIGNvbnN0IGZsZXhHcm93ID0gZm9sbG93aW5nQ29sdW1ucy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjdW11bGF0b3IsIHsgZmxleEdyb3cgfTogeyBmbGV4R3JvdzogbnVtYmVyIH0pID0+XG4gICAgICAgICAgICAgIGFjY3VtdWxhdG9yICsgZmxleEdyb3csXG4gICAgICAgICAgICAwXG4gICAgICAgICAgKVxuICAgICAgICAgIHNwYW5uZWRDb2x1bW5zLnB1c2goXG4gICAgICAgICAgICBSZWFjdC5jbG9uZUVsZW1lbnQoY29sdW1uLCB7XG4gICAgICAgICAgICAgICdkYXRhLWluc3RydW1lbnRhdGlvbic6IGAke3RoaXMucHJvcHNbJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJ119LXJvdyR7cm93SW5kZXh9LWNvbCR7aW5kZXh9YCxcbiAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAuLi5FbGVtZW50cy5jZWxsUmVzZXRTdHlsZSxcbiAgICAgICAgICAgICAgICBmbGV4OiBgMCAxICR7d2lkdGh9cHhgLFxuICAgICAgICAgICAgICAgIGZsZXhHcm93XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIGluZGV4ICs9IHNwYW4gLy8gc2tpcCBjb2x1bW5zIHRoYXQgaGF2ZSBiZWVuIHNwYW5uZWQgb3ZlclxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNwYW5uZWRDb2x1bW5zLnB1c2goXG4gICAgICAgICAgICBSZWFjdC5jbG9uZUVsZW1lbnQoY29sdW1uLCB7XG4gICAgICAgICAgICAgICdkYXRhLWluc3RydW1lbnRhdGlvbic6IGAke3RoaXMucHJvcHNbJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJ119LXJvdyR7cm93SW5kZXh9LWNvbCR7aW5kZXh9YFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgaW5kZXgrK1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gc3Bhbm5lZENvbHVtbnNcbiAgICB9XG5cbiAgICBjb25zdCBUYWJsZUNvbXBvbmVudCA9XG4gICAgICB0aGlzLnByb3BzLnNjcm9sbFdpZHRoICE9PSB1bmRlZmluZWQgPyBTY3JvbGxhYmxlVGFibGUgOiBUYWJsZVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxFbGVtZW50cy5UYWJsZUNvbnRhaW5lclxuICAgICAgICBjc3M9e3sgd2lkdGgsIGhlaWdodCB9fVxuICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgICAgb25LZXlVcD17dGhpcy5oYW5kbGVLZXlVcH1cbiAgICAgICAgZGF0YS1pbnN0cnVtZW50YXRpb249e2Ake3RoaXMucHJvcHNbJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJ119LWdyaWRgfVxuICAgICAgPlxuICAgICAgICA8SW5maW5pdGVMb2FkZXJcbiAgICAgICAgICBpc1Jvd0xvYWRlZD17dGhpcy5pc1Jvd0xvYWRlZH1cbiAgICAgICAgICBsb2FkTW9yZVJvd3M9e2xvYWRNb3JlUm93cyB8fCAoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKSl9XG4gICAgICAgICAgcm93Q291bnQ9e2hhc01vcmVSb3dzID8gcm93Q291bnQgKyAxIDogcm93Q291bnR9XG4gICAgICAgICAgdGhyZXNob2xkPXs1fVxuICAgICAgICAgIHJlZj17dGhpcy5pbmZpbml0ZVRhYmxlfVxuICAgICAgICA+XG4gICAgICAgICAgeyh7IG9uUm93c1JlbmRlcmVkLCByZWdpc3RlckNoaWxkIH0pID0+IChcbiAgICAgICAgICAgIDxUYWJsZUNvbXBvbmVudFxuICAgICAgICAgICAgICBzdHlsZT17c2FmYXJpU3R5bGV9XG4gICAgICAgICAgICAgIGdyaWRTdHlsZT17eyBvdXRsaW5lOiAnbm9uZScgfX1cbiAgICAgICAgICAgICAgaGVhZGVySGVpZ2h0PXszNn1cbiAgICAgICAgICAgICAgcm93SGVpZ2h0PXszMH1cbiAgICAgICAgICAgICAgc29ydEJ5PXtzb3J0Qnl9XG4gICAgICAgICAgICAgIHNvcnREaXJlY3Rpb249e3NvcnREaXJlY3Rpb259XG4gICAgICAgICAgICAgIHJlZj17cmVnaXN0ZXJDaGlsZH1cbiAgICAgICAgICAgICAgbm9Sb3dzUmVuZGVyZWQ9eygpID0+IDxkaXY+Tm8gcmVzdWx0czwvZGl2Pn1cbiAgICAgICAgICAgICAgb25Sb3dzUmVuZGVyZWQ9e29uUm93c1JlbmRlcmVkfVxuICAgICAgICAgICAgICBvblNjcm9sbD17XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5hY3RpdmVDb250ZXh0TWVudVxuICAgICAgICAgICAgICAgICAgPyAoKSA9PiB0aGlzLmNsb3NlQ29udGV4dE1lbnUoKVxuICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByb3dDb3VudD17aGFzTW9yZVJvd3MgPyByb3dDb3VudCArIDEgOiByb3dDb3VudH1cbiAgICAgICAgICAgICAgaGVhZGVyUm93UmVuZGVyZXI9e3RoaXMuaGVhZGVyUm93UmVuZGVyZXJ9XG4gICAgICAgICAgICAgIHJvd1JlbmRlcmVyPXt0aGlzLnJvd1JlbmRlcmVyfVxuICAgICAgICAgICAgICAvLyBhY2NvdW50IGZvciBib3JkZXIgd2lkdGggb2YgY29udGFpbmVyXG4gICAgICAgICAgICAgIHdpZHRoPXt3aWR0aCAtIDJ9XG4gICAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0IC0gMn1cbiAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bWFwcGVkQ2hpbGRyZW59XG4gICAgICAgICAgICA8L1RhYmxlQ29tcG9uZW50PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvSW5maW5pdGVMb2FkZXI+XG4gICAgICA8L0VsZW1lbnRzLlRhYmxlQ29udGFpbmVyPlxuICAgIClcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBEYXRhR3JpZFxuIl19 */"),
|
|
680
|
+
}, process.env.NODE_ENV === "production" ? "" : ";label:render;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9EYXRhR3JpZC9EYXRhR3JpZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb3FCUSIsImZpbGUiOiIuLi8uLi8uLi9zcmMvRGF0YUdyaWQvRGF0YUdyaWQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7XG4gIEluZmluaXRlTG9hZGVyLFxuICBUYWJsZSxcbiAgU29ydERpcmVjdGlvbixcbiAgVGFibGVSb3dQcm9wc1xufSBmcm9tICdyZWFjdC12aXJ0dWFsaXplZCdcbmltcG9ydCB0eXBlIHtcbiAgU29ydERpcmVjdGlvblR5cGUsXG4gIFRhYmxlUHJvcHMsXG4gIEluZGV4UmFuZ2UsXG4gIEluZGV4LFxuICBSb3dNb3VzZUV2ZW50SGFuZGxlclBhcmFtc1xufSBmcm9tICdyZWFjdC12aXJ0dWFsaXplZCdcbmltcG9ydCAqIGFzIEVsZW1lbnRzIGZyb20gJy4vZWxlbWVudHMnXG5pbXBvcnQgKiBhcyBSZW5kZXJlcnMgZnJvbSAnLi9yZW5kZXJlcnMnXG5pbXBvcnQge1xuICBCYXNpY0NvbHVtbixcbiAgRm9jdXNhYmxlUm93LFxuICBJbnB1dENlbGwsXG4gIENvbGxhcHNpYmxlQ2VsbCxcbiAgU2Nyb2xsYWJsZVRhYmxlXG59IGZyb20gJy4vY29tcG9uZW50cydcbmltcG9ydCB7IENsb3NlV3JhcHBlciB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IGN1cnJ5IGZyb20gJ2xvZGFzaC5jdXJyeSdcbmltcG9ydCBpbmNsdWRlcyBmcm9tICdsb2Rhc2guaW5jbHVkZXMnXG5pbXBvcnQgbm9vcCBmcm9tICdsb2Rhc2gubm9vcCdcbmltcG9ydCByYW5nZSBmcm9tICdsb2Rhc2gucmFuZ2UnXG5pbXBvcnQgdGhyb3R0bGUgZnJvbSAnbG9kYXNoLnRocm90dGxlJ1xuaW1wb3J0IHVuaXEgZnJvbSAnbG9kYXNoLnVuaXEnXG5pbXBvcnQgKiBhcyBkYXRhR3JpZFV0aWxzIGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJhc2ljQ29sdW1uTWFwcGVkUHJvcHMsXG4gIEJhc2ljQ29sdW1uUHJvcHNcbn0gZnJvbSAnLi9jb21wb25lbnRzL0Jhc2ljQ29sdW1uJ1xuaW1wb3J0IHR5cGUgeyBMb2NhbGVTdHJpbmdzIH0gZnJvbSAnLi9jb25zdGFudHMnXG5cbmV4cG9ydCB0eXBlIG9uRmlsdGVyQXJndW1lbnRzID0ge1xuICBmaWx0ZXJzOiB7IFtkYXRhS2V5OiBzdHJpbmddOiBhbnkgfVxuICBzb3J0Qnk/OiBzdHJpbmdcbiAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb25UeXBlXG59XG5cbnR5cGUgYWN0aXZlQ29udGV4dE1lbnVTdGF0ZSA9IHtcbiAgdG9wOiBudW1iZXJcbiAgbGVmdDogbnVtYmVyXG4gIGluZGV4OiBudW1iZXJcbiAgcm93RGF0YTogYW55XG59XG5cbnR5cGUgY29udGV4dE1lbnVSZW5kZXJlckFyZ3VtZW50cyA9IHtcbiAgdG9wPzogbnVtYmVyXG4gIGxlZnQ/OiBudW1iZXJcbiAgaW5kZXg/OiBudW1iZXJcbiAgcm93RGF0YT86IGFueVxuICBzZWxlY3RlZFJvd3M6IEFycmF5PG51bWJlcj5cbiAgb25DbG9zZTogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RhYmxlVHlwZSA9ICdzaW5nbGUnIHwgJ211bHRpJ1xuXG50eXBlIENvbHVtbkZ1bmN0aW9uID0gKGFyZ3M6IEJhc2ljQ29sdW1uTWFwcGVkUHJvcHMpID0+IFJlYWN0LlJlYWN0Tm9kZVxuXG5leHBvcnQgdHlwZSBEYXRhR3JpZFByb3BzID0ge1xuICAvKiogRnVuY3Rpb25zIHRoYXQgY3JlYXRlIHJlYWN0IHZpcnR1YWxpemVkIENvbHVtbnMuIERlZmF1bHQgY29sdW1uIGlzIGV4cG9zZWQgYXMgRGF0YUdyaWQuQ29sdW1uLiAqL1xuICAvLyBDYW4gdGFrZSBhIHNpbmdsZSBjb2x1bW4gb3IgYW4gYXJyYXkgb2YgY29sdW1uc1xuICBjaGlsZHJlbjogQ29sdW1uRnVuY3Rpb24gfCBBcnJheTxDb2x1bW5GdW5jdGlvbj5cbiAgLyoqIEluc3RydW1lbnRhdGlvbiAqL1xuICAnZGF0YS1pbnN0cnVtZW50YXRpb24nPzogc3RyaW5nXG4gIC8qKiBDYWxsZWQgZHVyaW5nIHRoZSBvbkNvbnRleHRNZW51IGV2ZW50IG9mIGVhY2ggcm93LiAqL1xuICBjb250ZXh0TWVudVJlbmRlcmVyPzogKFxuICAgIGNvbnRleHRNZW51UmVuZGVyZXJBcmd1bWVudHM6IGNvbnRleHRNZW51UmVuZGVyZXJBcmd1bWVudHNcbiAgKSA9PiBSZWFjdC5SZWFjdE5vZGVcbiAgLyoqIENhbGxlZCB3aGVuIGEgY29sdW1uIGlzIGZpbHRlcmVkIG9yIHNvcnRlZC4gKi9cbiAgb25GaWx0ZXI6IChvbkZpbHRlckFyZ3VtZW50czogb25GaWx0ZXJBcmd1bWVudHMpID0+IHZvaWRcbiAgLyoqIENhbGxlZCB3aGVuIGEgY29sdW1uIGlzIHJlc2l6ZWQgYnkgdGhlIHVzZXIuIFBhc3NpbmcgdGhpcyBpbiBlbmFibGVzXG4gICAqIHJlc2l6ZSBoYW5kbGVzIG9uIHRoZSByaWdodCBlZGdlIG9mIHRoZSBoZWFkZXIgY2VsbHMuICovXG4gIG9uUmVzaXplPzogKG5ld1NpemVzOiBudW1iZXJbXSkgPT4gdm9pZFxuICAvKiogQ2FsbGVkIHdoZW4gdGhlIHJvdyBzZWxlY3Rpb24gY2hhbmdlcy4gUmVjZWl2ZXMgYXJyYXkgb2YgaW5kaWNlcy4gKi9cbiAgb25TZWxlY3Q6IChpbmRleGVzOiBudW1iZXJbXSkgPT4gdm9pZFxuICAvKiogQ2FsbGVkIHdoZW4gdGhlIHJvdyBpcyBkb3VibGUgY2xpY2tlZC4gUmVjZWl2ZXMgaW5kZXguICovXG4gIG9uUm93RG91YmxlQ2xpY2s/OiAoaW5mbzogUm93TW91c2VFdmVudEhhbmRsZXJQYXJhbXMpID0+IHZvaWRcbiAgLyoqIEluZmluaXRlIGxvYWRpbmc6IEluZGljYXRlcyBtb3JlIHJvd3MgbmVlZCB0byBiZSBsb2FkZWQuICovXG4gIGhhc01vcmVSb3dzPzogYm9vbGVhblxuICAvKiogSW5maW5pdGUgbG9hZGluZzogQ2FsbGVkIHdoZW4gbW9yZSByb3dzIG5lZWQgdG8gYmUgbG9hZGVkLiAqL1xuICBsb2FkTW9yZVJvd3M/OiAocHJvcHM6IEluZGV4UmFuZ2UpID0+IFByb21pc2U8YW55PlxuICAvKiogQ291bnQgb2Ygcm93cyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGxvYWRlZC4gKi9cbiAgcm93Q291bnQ6IG51bWJlclxuICAvKiogUmVxdWlyZWQgYnkgcmVhY3QtdmlydHVhbGl6ZWQgdGFibGUuICovXG4gIHJvd0dldHRlcjogKHByb3BzOiB7IGluZGV4OiBudW1iZXIgfSkgPT4gYW55XG4gIC8qKiBXaGV0aGVyIHJvd3MgY2FuIGJlIHNlbGVjdGVkIChhbmQgaG93IG1hbnkpLiAqL1xuICBzZWxlY3RhYmxlPzogU2VsZWN0YWJsZVR5cGUgfCBmYWxzZVxuICAvKiogQXJyYXkgb2YgaW5kaWNlcyB0aGF0IHNob3VsZCBiZSBzZWxlY3RlZC4gT25seSB1c2VkIGlmIGBzZWxlY3RhYmxlYCBpcyBzZXQuICovXG4gIHNlbGVjdGVkUm93czogQXJyYXk8bnVtYmVyPlxuICAvKiogVGhlIGNvbHVtbiB5b3Ugd2FudCB0byBzb3J0ICovXG4gIHNvcnRCeT86IHN0cmluZ1xuICAvKiogVGhlIGRpcmVjdGlvbiBzb3J0aW5nIHNob3VsZCBiZSBkb25lICovXG4gIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uVHlwZVxuICAvKiogQSBtYXAgb2YgY29sdW1ucyB0byBmaWx0ZXIgZGF0YSAqL1xuICBmaWx0ZXJzPzogeyBbZGF0YUtleTogc3RyaW5nXTogYW55IH1cbiAgLyoqIFNldCB0aGUgd2lkdGggb2Ygc2Nyb2xsYWJsZSBjb250ZW50ICovXG4gIHNjcm9sbFdpZHRoPzogbnVtYmVyXG4gIHdpZHRoOiBudW1iZXJcbiAgaGVpZ2h0OiBudW1iZXJcbiAgLyoqIExvY2FsZSBzdHJpbmc6IGphLCBkZSwgZXMsIGtvLCBlbiwgZXRjLiAqL1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgLyoqIExvY2FsZSBzdHJpbmdzIHRvIG92ZXJyaWRlIGVuIGZvciBsYW5ndWFnZSBpbiBsb2NhbGUgKi9cbiAgbG9jYWxlU3RyaW5ncz86IExvY2FsZVN0cmluZ3NcbiAgLyoqIGFsbG93IGV2ZW50cyB0byBwcm9wYWdhdGUgdG8gYSBjZWxsIG9uIHJvdyBzZWxlY3QgKi9cbiAgYWxsb3dSb3dFdmVudFBhc3N0aHJvdWdoPzogYm9vbGVhblxufSAmIFBhcnRpYWw8VGFibGVQcm9wcz5cblxudHlwZSBEYXRhR3JpZFN0YXRlID0ge1xuICBhY3RpdmVDb250ZXh0TWVudTogYWN0aXZlQ29udGV4dE1lbnVTdGF0ZSB8IG51bGxcbiAgZGlzYWJsZUtleWJvYXJkU2hvcnRjdXRzOiBib29sZWFuXG4gIGZvY3VzZWRSb3c6IG51bWJlciB8IG51bGxcbiAgc2VsZWN0aW5nOiBib29sZWFuXG4gIGxhc3RTZWxlY3RlZFJvdzogbnVtYmVyIHwgbnVsbFxufVxuXG50eXBlIEhhbmRsZUZpbHRlckFyZ3VtZW50cyA9IHtcbiAgc29ydEJ5Pzogc3RyaW5nXG4gIHNvcnREaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uVHlwZVxuICBmaWx0ZXJzPzogYW55XG59XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGRhdGEgaW4gYSBncmlkIHdpdGggc3VwcG9ydCBmb3IgdGhpbmdzIGxpa2VcbiAqIGZpbHRlcmluZywgc29ydGluZywgYW5kIGNvbnRleHQgbWVudXMuXG4gKlxuICogRGVwZW5kcyBvbiByZWFjdC12aXJ0dWFsaXplZC9zdHlsZXMuY3NzLlxuICpcbiAqIEZvciByZWFjdC12aXJ0dWFsaXplZCBUYWJsZSBkb2NzIHNlZTogaHR0cHM6Ly9naXRodWIuY29tL2J2YXVnaG4vcmVhY3QtdmlydHVhbGl6ZWQvYmxvYi9tYXN0ZXIvZG9jcy9UYWJsZS5tZFxuICpcbiAqL1xuY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBDb21wb25lbnQ8RGF0YUdyaWRQcm9wcywgRGF0YUdyaWRTdGF0ZT4ge1xuICAvLyBleHBvc2Ugc3ViLWNvbXBvbmVudHNcbiAgc3RhdGljIENvbHVtbiA9IGN1cnJ5KEJhc2ljQ29sdW1uKVxuICBzdGF0aWMgU29ydERpcmVjdGlvbiA9IFNvcnREaXJlY3Rpb25cbiAgc3RhdGljIEVsZW1lbnRzID0gRWxlbWVudHNcbiAgc3RhdGljIElucHV0Q2VsbCA9IElucHV0Q2VsbFxuICBzdGF0aWMgQ29sbGFwc2libGVDZWxsID0gQ29sbGFwc2libGVDZWxsXG4gIHN0YXRpYyBSZW5kZXJlcnMgPSBSZW5kZXJlcnNcblxuICBzdGF0aWMgU0lOR0xFX1NFTEVDVDogU2VsZWN0YWJsZVR5cGUgPSAnc2luZ2xlJ1xuICBzdGF0aWMgTVVMVElfU0VMRUNUOiBTZWxlY3RhYmxlVHlwZSA9ICdtdWx0aSdcbiAgc3RhdGljIE1JTl9DT0xfV0lEVEggPSA1MFxuXG4gIHN0YXRpYyB1dGlscyA9IGRhdGFHcmlkVXRpbHNcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGxvYWRNb3JlUm93czogbm9vcCxcbiAgICBvblNlbGVjdDogbm9vcCxcbiAgICBvbkZpbHRlcjogbm9vcCxcbiAgICAnZGF0YS1pbnN0cnVtZW50YXRpb24nOiAnZGF0YWdyaWQnLFxuICAgIHNvcnRCeTogJycsXG4gICAgc29ydERpcmVjdGlvbjogU29ydERpcmVjdGlvbi5BU0MsXG4gICAgZmlsdGVyczoge30sXG4gICAgc2VsZWN0ZWRSb3dzOiBbXSxcbiAgICBhbGxvd1Jvd0V2ZW50UGFzc3Rocm91Z2g6IGZhbHNlXG4gIH1cblxuICBzdGF0aWMgZGlzcGxheU5hbWUgPSAnRGF0YUdyaWQnXG5cbiAgc3RhdGU6IERhdGFHcmlkU3RhdGUgPSB7XG4gICAgYWN0aXZlQ29udGV4dE1lbnU6IG51bGwsXG4gICAgZGlzYWJsZUtleWJvYXJkU2hvcnRjdXRzOiBmYWxzZSxcbiAgICBmb2N1c2VkUm93OiBudWxsLFxuICAgIGxhc3RTZWxlY3RlZFJvdzogbnVsbCxcbiAgICBzZWxlY3Rpbmc6IGZhbHNlXG4gIH1cblxuICBpbmZpbml0ZVRhYmxlID0gUmVhY3QuY3JlYXRlUmVmPEluZmluaXRlTG9hZGVyPigpXG5cbiAgdG90YWxXaWR0aCA9IDBcbiAgY29sdW1uV2lkdGhQZXJjZW50czogbnVtYmVyW10gPSBbXVxuXG4gIGNvbHVtblRyYW5zZm9ybWVyOiAoXG4gICAgY29sdW1uczogUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXSxcbiAgICByb3dEYXRhOiBhbnksXG4gICAgcm93SW5kZXg6IG51bWJlclxuICApID0+IFJlYWN0LlJlYWN0Tm9kZVtdIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIHNlbGVjdCA9ICh7XG4gICAgaW5kZXgsXG4gICAgY29udGlndW91cyA9IGZhbHNlXG4gIH06IHtcbiAgICBpbmRleDogbnVtYmVyXG4gICAgY29udGlndW91czogYm9vbGVhblxuICB9KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZShzdGF0ZSA9PiB7XG4gICAgICBjb25zdCB7IGxhc3RTZWxlY3RlZFJvdyB9ID0gc3RhdGVcbiAgICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dzIH0gPSB0aGlzLnByb3BzXG4gICAgICBsZXQgc2VsZWN0ZWQgPSBbLi4uc2VsZWN0ZWRSb3dzLCBpbmRleF1cbiAgICAgIGlmICh0aGlzLnByb3BzLnNlbGVjdGFibGUgPT09IERhdGFHcmlkLlNJTkdMRV9TRUxFQ1QpIHtcbiAgICAgICAgc2VsZWN0ZWQgPSBbaW5kZXhdXG4gICAgICB9IGVsc2UgaWYgKGNvbnRpZ3VvdXMgJiYgdHlwZW9mIGxhc3RTZWxlY3RlZFJvdyA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBNYXRoLm1pbihsYXN0U2VsZWN0ZWRSb3csIGluZGV4KVxuICAgICAgICBjb25zdCBlbmQgPSBNYXRoLm1heChsYXN0U2VsZWN0ZWRSb3csIGluZGV4KVxuICAgICAgICBzZWxlY3RlZCA9IHVuaXEoWy4uLnNlbGVjdGVkUm93cywgLi4ucmFuZ2Uoc3RhcnQsIGVuZCArIDEpXSlcbiAgICAgIH1cbiAgICAgIHRoaXMucHJvcHMub25TZWxlY3Qoc2VsZWN0ZWQpXG4gICAgICByZXR1cm4geyBsYXN0U2VsZWN0ZWRSb3c6IGluZGV4IH1cbiAgICB9KVxuICB9XG5cbiAgc2VsZWN0QWxsID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgcm93Q291bnQgfSA9IHRoaXMucHJvcHNcbiAgICB0aGlzLnNldFNlbGVjdGVkUm93cyhBcnJheS5mcm9tKHsgbGVuZ3RoOiByb3dDb3VudCB9KS5tYXAoKF8sIGlkeCkgPT4gaWR4KSlcbiAgfVxuXG4gIGRlc2VsZWN0ID0gKHtcbiAgICBpbmRleCxcbiAgICBjb250aWd1b3VzID0gZmFsc2VcbiAgfToge1xuICAgIGluZGV4OiBudW1iZXJcbiAgICBjb250aWd1b3VzOiBib29sZWFuXG4gIH0pID0+IHtcbiAgICBpZiAoaW5kZXggPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHsgbGFzdFNlbGVjdGVkUm93IH0gPSBzdGF0ZVxuICAgICAgY29uc3QgeyBzZWxlY3RlZFJvd3MgfSA9IHRoaXMucHJvcHNcbiAgICAgIGxldCBzZWxlY3RlZCA9IHNlbGVjdGVkUm93cy5maWx0ZXIoaWR4ID0+IGlkeCAhPT0gaW5kZXgpXG4gICAgICBpZiAoY29udGlndW91cyAmJiB0eXBlb2YgbGFzdFNlbGVjdGVkUm93ID09PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zdCBzdGFydCA9IE1hdGgubWluKGxhc3RTZWxlY3RlZFJvdywgaW5kZXgpXG4gICAgICAgIGNvbnN0IGVuZCA9IE1hdGgubWF4KGxhc3RTZWxlY3RlZFJvdywgaW5kZXgpXG4gICAgICAgIGNvbnN0IHRvRGVzZWxlY3QgPSByYW5nZShzdGFydCwgZW5kICsgMSlcbiAgICAgICAgc2VsZWN0ZWQgPSBzZWxlY3RlZFJvd3MuZmlsdGVyKGlkeCA9PiAhaW5jbHVkZXModG9EZXNlbGVjdCwgaWR4KSlcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5wcm9wcy5zZWxlY3RhYmxlID09PSBEYXRhR3JpZC5TSU5HTEVfU0VMRUNUICYmXG4gICAgICAgICFzZWxlY3RlZC5sZW5ndGhcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuICAgICAgdGhpcy5wcm9wcy5vblNlbGVjdChzZWxlY3RlZClcbiAgICAgIHJldHVybiB7IGxhc3RTZWxlY3RlZFJvdzogaW5kZXggfVxuICAgIH0pXG4gIH1cblxuICBkZXNlbGVjdEFsbCA9ICgpID0+IHtcbiAgICB0aGlzLnNldFNlbGVjdGVkUm93cyhbXSlcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGxhc3RTZWxlY3RlZFJvdzogbnVsbFxuICAgIH0pXG4gIH1cblxuICB0b2dnbGVTZWxlY3QgPSAoe1xuICAgIGluZGV4LFxuICAgIGNvbnRpZ3VvdXNcbiAgfToge1xuICAgIGluZGV4OiBudW1iZXJcbiAgICBjb250aWd1b3VzOiBib29sZWFuXG4gIH0pID0+IHtcbiAgICBpZiAoaW5kZXggPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoIXRoaXMucHJvcHMuc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKGluZGV4KSkge1xuICAgICAgdGhpcy5zZWxlY3QoeyBpbmRleCwgY29udGlndW91cyB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlc2VsZWN0KHsgaW5kZXgsIGNvbnRpZ3VvdXMgfSlcbiAgICB9XG4gIH1cblxuICBzZXRTZWxlY3RlZFJvd3MgPSAocm93czogQXJyYXk8bnVtYmVyPikgPT4ge1xuICAgIHRoaXMucHJvcHMub25TZWxlY3Qocm93cylcbiAgfVxuXG4gIGhhbmRsZUZpbHRlciA9ICh7XG4gICAgc29ydEJ5LFxuICAgIHNvcnREaXJlY3Rpb24sXG4gICAgZmlsdGVyc1xuICB9OiBIYW5kbGVGaWx0ZXJBcmd1bWVudHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBzb3J0Qnk6IG9sZFNvcnRCeSxcbiAgICAgIHNvcnREaXJlY3Rpb246IG9sZFNvcnREaXJlY3Rpb24sXG4gICAgICBmaWx0ZXJzOiBvbGRGaWx0ZXJzXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBuZXdEYXRhID0ge1xuICAgICAgc29ydEJ5OiBzb3J0QnkgfHwgb2xkU29ydEJ5LFxuICAgICAgc29ydERpcmVjdGlvbjogc29ydERpcmVjdGlvbiB8fCBvbGRTb3J0RGlyZWN0aW9uLFxuICAgICAgZmlsdGVyczoge1xuICAgICAgICAuLi5vbGRGaWx0ZXJzLFxuICAgICAgICAuLi5maWx0ZXJzXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMucHJvcHMub25GaWx0ZXIobmV3RGF0YSlcbiAgfVxuXG4gIGhhbmRsZUtleURvd24gPSAoZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUuZGlzYWJsZUtleWJvYXJkU2hvcnRjdXRzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ2EnOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgKGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSkgJiZcbiAgICAgICAgICB0aGlzLnByb3BzLnNlbGVjdGFibGUgPT09IERhdGFHcmlkLk1VTFRJX1NFTEVDVFxuICAgICAgICApIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMucm93Q291bnQgPT09IHRoaXMucHJvcHMuc2VsZWN0ZWRSb3dzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5kZXNlbGVjdEFsbCgpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0QWxsKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldFN0YXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgZm9jdXNlZFJvdzogTWF0aC5tYXgoKHN0YXRlLmZvY3VzZWRSb3cgfHwgMCkgLSAxLCAwKVxuICAgICAgICB9KSlcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgIGZvY3VzZWRSb3c6XG4gICAgICAgICAgICBzdGF0ZS5mb2N1c2VkUm93ICE9IG51bGxcbiAgICAgICAgICAgICAgPyBNYXRoLm1pbihzdGF0ZS5mb2N1c2VkUm93ICsgMSwgdGhpcy5wcm9wcy5yb3dDb3VudCAtIDEpXG4gICAgICAgICAgICAgIDogMFxuICAgICAgICB9KSlcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgY2FzZSAnICc6XG4gICAgICAgIGlmICh0aGlzLnByb3BzLnNlbGVjdGFibGUpIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdCh7XG4gICAgICAgICAgICBpbmRleDogdGhpcy5zdGF0ZS5mb2N1c2VkUm93IHx8IDAsXG4gICAgICAgICAgICBjb250aWd1b3VzOiBldmVudC5zaGlmdEtleVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnU2hpZnQnOlxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBzZWxlY3Rpbmc6IHRydWVcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlVcCA9IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZS5kaXNhYmxlS2V5Ym9hcmRTaG9ydGN1dHMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnU2hpZnQnOlxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBzZWxlY3Rpbmc6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgLy8gdGhyb3R0bGluZyB0aGlzIHNvIGEgZG91YmxlIGNsaWNrIGJlaGF2ZXMgbGlrZSBhIHNpbmdsZSBjbGlja1xuICBoYW5kbGVSb3dDbGljayA9IHRocm90dGxlKFxuICAgICh7IGV2ZW50LCBpbmRleCB9OiB7IGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PGFueT47IGluZGV4OiBudW1iZXIgfSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnByb3BzLmFsbG93Um93RXZlbnRQYXNzdGhyb3VnaCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgfVxuXG4gICAgICB0aGlzLnRvZ2dsZVNlbGVjdCh7IGluZGV4LCBjb250aWd1b3VzOiBldmVudC5zaGlmdEtleSB9KVxuICAgIH0sXG4gICAgMjUwLFxuICAgIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IGZhbHNlIH1cbiAgKVxuXG4gIGhhbmRsZVJlc2l6ZSA9ICh7IHgsIGluZGV4IH06IHsgeDogbnVtYmVyOyBpbmRleDogbnVtYmVyIH0pID0+IHtcbiAgICBpZiAodGhpcy5jb2x1bW5XaWR0aFBlcmNlbnRzLmxlbmd0aCA+IDAgJiYgdGhpcy50b3RhbFdpZHRoKSB7XG4gICAgICBjb25zdCBwcmV2V2lkdGhzID0gdGhpcy5jb2x1bW5XaWR0aFBlcmNlbnRzXG4gICAgICBjb25zdCBuZXdXaWR0aHMgPSBbLi4ucHJldldpZHRoc11cbiAgICAgIGNvbnN0IHBhcmVudFdpZHRoID0gdGhpcy5wcm9wcy5zY3JvbGxXaWR0aCA/PyB0aGlzLnByb3BzLndpZHRoXG4gICAgICAvLyBsaW1pdCBuZXh0IGluZGV4IGZyb20gZ29pbmcgYmV5b25kIGJvdW5kc1xuICAgICAgY29uc3QgbmV4dEluZGV4ID0gTWF0aC5taW4oaW5kZXggKyAxLCBwcmV2V2lkdGhzLmxlbmd0aCAtIDEpXG4gICAgICBjb25zdCBwZXJjZW50Q2hhbmdlID0geCAvIHRoaXMudG90YWxXaWR0aFxuXG4gICAgICBpZiAodGhpcy5wcm9wcy5zY3JvbGxXaWR0aCkge1xuICAgICAgICAvLyBpZiB0YWJsZSBpcyBzY3JvbGxhYmxlLCB3ZSBjYW4gZ3JvdyB0aGUgY29sdW1uIHdpdGhvdXRcbiAgICAgICAgLy8gc2hyaW5raW5nIHRoZSBvdGhlcnNcbiAgICAgICAgY29uc3Qgc2FmZVBlcmNlbnRDaGFuZ2UgPVxuICAgICAgICAgIChwcmV2V2lkdGhzW2luZGV4XSArIHBlcmNlbnRDaGFuZ2UpICogcGFyZW50V2lkdGggPFxuICAgICAgICAgIERhdGFHcmlkLk1JTl9DT0xfV0lEVEhcbiAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgOiBwZXJjZW50Q2hhbmdlXG4gICAgICAgIG5ld1dpZHRoc1tpbmRleF0gPSBwcmV2V2lkdGhzW2luZGV4XSArIHNhZmVQZXJjZW50Q2hhbmdlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBpZiB0aGUgdGFibGUgaXMgbm90IHNjcm9sbGFibGUsIGVuc3VyZSBhbGwgY29sdW1ucyBmaXQgYnlcbiAgICAgICAgLy8gYWRqdXN0aW5nIHRoZSBjdXJyZW50IGNvbHVtbiBhbmQgdGhlIG9uZSBhZnRlciBpdFxuICAgICAgICBjb25zdCBzYWZlUGVyY2VudENoYW5nZSA9XG4gICAgICAgICAgKHByZXZXaWR0aHNbaW5kZXhdICsgcGVyY2VudENoYW5nZSkgKiBwYXJlbnRXaWR0aCA8XG4gICAgICAgICAgICBEYXRhR3JpZC5NSU5fQ09MX1dJRFRIIHx8XG4gICAgICAgICAgKHByZXZXaWR0aHNbbmV4dEluZGV4XSAtIHBlcmNlbnRDaGFuZ2UpICogcGFyZW50V2lkdGggPFxuICAgICAgICAgICAgRGF0YUdyaWQuTUlOX0NPTF9XSURUSFxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IHBlcmNlbnRDaGFuZ2VcbiAgICAgICAgbmV3V2lkdGhzW2luZGV4XSA9IHByZXZXaWR0aHNbaW5kZXhdICsgc2FmZVBlcmNlbnRDaGFuZ2VcbiAgICAgICAgbmV3V2lkdGhzW25leHRJbmRleF0gPSBwcmV2V2lkdGhzW25leHRJbmRleF0gLSBzYWZlUGVyY2VudENoYW5nZVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5wcm9wcy5vblJlc2l6ZSkge1xuICAgICAgICB0aGlzLnByb3BzLm9uUmVzaXplKFxuICAgICAgICAgIC8vIG11bHRpcGx5IGJ5IHdpZHRoIHByb3AgdG8gZ2V0IGNvcnJlY3QgcGVyY2VudGFnZVxuICAgICAgICAgIG5ld1dpZHRocy5tYXAod2lkdGggPT4gTWF0aC5yb3VuZCh3aWR0aCAqIHBhcmVudFdpZHRoKSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG1hcENoaWxkcmVuID0gKCkgPT4ge1xuICAgIGNvbnN0IElzQXJyYXkgPSAoY2hpbGRyZW4pOiBjaGlsZHJlbiBpcyBBcnJheTxDb2x1bW5GdW5jdGlvbj4gPT5cbiAgICAgIEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pXG5cbiAgICBjb25zdCBjaGlsZHJlbjogQXJyYXk8Q29sdW1uRnVuY3Rpb24+ID0gSXNBcnJheSh0aGlzLnByb3BzLmNoaWxkcmVuKVxuICAgICAgPyB0aGlzLnByb3BzLmNoaWxkcmVuXG4gICAgICA6IFt0aGlzLnByb3BzLmNoaWxkcmVuXVxuXG4gICAgY29uc3QgdmFsaWRDaGlsZHJlbiA9IGNoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiB0eXBlb2YgY2hpbGQgPT09ICdmdW5jdGlvbicpXG5cbiAgICByZXR1cm4gdmFsaWRDaGlsZHJlbi5tYXAoKGNoaWxkLCBpbmRleCkgPT5cbiAgICAgIGNoaWxkKHtcbiAgICAgICAgbG9jYWxlOiB0aGlzLnByb3BzLmxvY2FsZSB8fCAnZW4nLFxuICAgICAgICBsb2NhbGVTdHJpbmdzOiB0aGlzLnByb3BzLmxvY2FsZVN0cmluZ3MgfHwge30sXG4gICAgICAgIGNvbHVtbkluZGV4OiBpbmRleCxcbiAgICAgICAgY29sdW1uQ291bnQ6IHZhbGlkQ2hpbGRyZW4ubGVuZ3RoLFxuICAgICAgICBnZXRGaWx0ZXJWYWx1ZTogZGF0YUtleSA9PlxuICAgICAgICAgIHRoaXMucHJvcHMuZmlsdGVycyAmJiB0aGlzLnByb3BzLmZpbHRlcnNbZGF0YUtleV0sXG4gICAgICAgIG9uSGVhZGVyUG9wb3Zlck9wZW46IG9wZW4gPT5cbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGlzYWJsZUtleWJvYXJkU2hvcnRjdXRzOiBvcGVuIH0pLFxuICAgICAgICBvblNvcnQ6IHNvcnRBcmdzID0+IHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkUm93cyhbXSlcbiAgICAgICAgICB0aGlzLmhhbmRsZUZpbHRlcih7IC4uLnNvcnRBcmdzIH0pXG4gICAgICAgIH0sXG4gICAgICAgIG9uRmlsdGVyOiAoeyBkYXRhS2V5LCB2YWx1ZSwgb3BlcmF0b3IgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRSb3dzKFtdKVxuICAgICAgICAgIHRoaXMuaGFuZGxlRmlsdGVyKHtcbiAgICAgICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICAgICAgW2RhdGFLZXldOiBvcGVyYXRvclxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfSxcbiAgICAgICAgb25SZXNpemU6XG4gICAgICAgICAgLy8gdGhlIHByZXNlbmNlIG9mIGBvblJlc2l6ZWAgd2lsbCBzaG93IGRyYWcgaGFuZGxlcyBzbyBkb24ndCBzZXQgaXRcbiAgICAgICAgICAvLyBpZiBubyBwcm9wIGlzIHBhc3NlZCBpbiBvciBmb3IgdGhlIGxhc3QgY29sdW1uIGlmIHRoZSB0YWJsZSBpc24ndFxuICAgICAgICAgIC8vIHNjcm9sbGFibGVcbiAgICAgICAgICB0aGlzLnByb3BzLm9uUmVzaXplICYmXG4gICAgICAgICAgKCghdGhpcy5wcm9wcy5zY3JvbGxXaWR0aCAmJiBpbmRleCAhPT0gdmFsaWRDaGlsZHJlbi5sZW5ndGggLSAxKSB8fFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zY3JvbGxXaWR0aClcbiAgICAgICAgICAgID8gKHsgeCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXNpemUoeyB4LCBpbmRleCB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBpc1Jvd0xvYWRlZCA9ICh7IGluZGV4IH06IEluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBoYXNNb3JlUm93cywgcm93Q291bnQgfSA9IHRoaXMucHJvcHNcbiAgICByZXR1cm4gIWhhc01vcmVSb3dzIHx8IGluZGV4IDwgcm93Q291bnRcbiAgfVxuXG4gIGlzQ29udGV4dE1lbnVWaXNpYmxlID0gKGluZGV4OiBudW1iZXIpID0+XG4gICAgdGhpcy5zdGF0ZS5hY3RpdmVDb250ZXh0TWVudSAmJiB0aGlzLnN0YXRlLmFjdGl2ZUNvbnRleHRNZW51LmluZGV4ID09PSBpbmRleFxuXG4gIGNsb3NlQ29udGV4dE1lbnUgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhY3RpdmVDb250ZXh0TWVudTogbnVsbFxuICAgIH0pXG4gIH1cblxuICBjb250ZXh0TWVudVJlbmRlcmVyID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnByb3BzLmNvbnRleHRNZW51UmVuZGVyZXIgJiZcbiAgICAgIHRoaXMuaXNDb250ZXh0TWVudVZpc2libGUoaW5kZXgpICYmXG4gICAgICBkb2N1bWVudC5ib2R5ICE9PSBudWxsXG4gICAgKSB7XG4gICAgICBjb25zdCBjb250ZXh0TWVudUNsb3NlV3JhcHBlciA9IChcbiAgICAgICAgPENsb3NlV3JhcHBlciBvbkNsb3NlPXt0aGlzLmNsb3NlQ29udGV4dE1lbnV9PlxuICAgICAgICAgIHt0aGlzLnByb3BzLmNvbnRleHRNZW51UmVuZGVyZXIoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZS5hY3RpdmVDb250ZXh0TWVudSxcbiAgICAgICAgICAgIHNlbGVjdGVkUm93czogdGhpcy5wcm9wcy5zZWxlY3RlZFJvd3MsXG4gICAgICAgICAgICBvbkNsb3NlOiB0aGlzLmNsb3NlQ29udGV4dE1lbnVcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9DbG9zZVdyYXBwZXI+XG4gICAgICApXG4gICAgICByZXR1cm4gUmVhY3RET00uY3JlYXRlUG9ydGFsKGNvbnRleHRNZW51Q2xvc2VXcmFwcGVyLCBkb2N1bWVudC5ib2R5KVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgaGVhZGVyUm93UmVuZGVyZXIgPSAoe1xuICAgIGNvbHVtbnMsXG4gICAgc3R5bGVcbiAgfToge1xuICAgIGNvbHVtbnM6IFJlYWN0LlJlYWN0Tm9kZVtdXG4gICAgc3R5bGU6IHt9XG4gIH0pID0+IChcbiAgICA8RWxlbWVudHMuUm93IHJvbGU9XCJyb3dcIiBoZWFkZXIgemVicmEgc3R5bGU9e3N0eWxlfT5cbiAgICAgIHtjb2x1bW5zfVxuICAgIDwvRWxlbWVudHMuUm93PlxuICApXG5cbiAgcm93UmVuZGVyZXIgPSAoe1xuICAgIGtleSxcbiAgICBzdHlsZSxcbiAgICBpbmRleCxcbiAgICByb3dEYXRhLFxuICAgIGNvbHVtbnMsXG4gICAgY2xhc3NOYW1lLFxuICAgIG9uUm93TW91c2VPdmVyLFxuICAgIG9uUm93TW91c2VPdXRcbiAgfTogVGFibGVSb3dQcm9wcykgPT4gKFxuICAgIDxGb2N1c2FibGVSb3dcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgYXJpYS1yb3dpbmRleD17aW5kZXggKyAxfVxuICAgICAgemVicmE9e2luZGV4ICUgMiA9PT0gMX1cbiAgICAgIHNlbGVjdGVkPXt0aGlzLnByb3BzLnNlbGVjdGVkUm93cy5pbmNsdWRlcyhpbmRleCl9XG4gICAgICBzZWxlY3Rpbmc9e3RoaXMuc3RhdGUuc2VsZWN0aW5nfVxuICAgICAgZm9jdXNlZD17aW5kZXggPT09IHRoaXMuc3RhdGUuZm9jdXNlZFJvd31cbiAgICAgIGtleT17a2V5fVxuICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgb25Nb3VzZUxlYXZlPXtldmVudCA9PiB7XG4gICAgICAgIG9uUm93TW91c2VPdXQgJiYgb25Sb3dNb3VzZU91dCh7IHJvd0RhdGEsIGluZGV4LCBldmVudCB9KVxuICAgICAgfX1cbiAgICAgIG9uTW91c2VFbnRlcj17ZXZlbnQgPT4ge1xuICAgICAgICBvblJvd01vdXNlT3ZlciAmJiBvblJvd01vdXNlT3Zlcih7IHJvd0RhdGEsIGluZGV4LCBldmVudCB9KVxuICAgICAgfX1cbiAgICAgIG9uRm9jdXM9eygpID0+IHRoaXMuc2V0U3RhdGUoeyBmb2N1c2VkUm93OiBpbmRleCB9KX1cbiAgICAgIGRhdGEtaW5zdHJ1bWVudGF0aW9uPXtgJHt0aGlzLnByb3BzWydkYXRhLWluc3RydW1lbnRhdGlvbiddfS1yb3cke1xuICAgICAgICBpbmRleCArIDFcbiAgICAgIH1gfVxuICAgICAgb25DbGljaz17XG4gICAgICAgIHRoaXMucHJvcHMuc2VsZWN0YWJsZSAmJiAhdGhpcy5zdGF0ZS5hY3RpdmVDb250ZXh0TWVudVxuICAgICAgICAgID8gZXZlbnQgPT4gdGhpcy5oYW5kbGVSb3dDbGljayh7IGV2ZW50LCBpbmRleDogaW5kZXggfSlcbiAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgfVxuICAgICAgb25Db250ZXh0TWVudT17XG4gICAgICAgIHRoaXMucHJvcHMuY29udGV4dE1lbnVSZW5kZXJlclxuICAgICAgICAgID8gZXZlbnQgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBhY3RpdmVDb250ZXh0TWVudToge1xuICAgICAgICAgICAgICAgICAgbGVmdDogZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICAgICAgICAgIHRvcDogZXZlbnQuY2xpZW50WSxcbiAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgICAgICAgIHJvd0RhdGE6IHJvd0RhdGFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5wcm9wcy5zZWxlY3RlZFJvd3MuaW5jbHVkZXMoaW5kZXgpICYmXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5zZWxlY3RhYmxlXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUm93Q2xpY2soeyBldmVudCwgaW5kZXg6IGluZGV4IH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICB9XG4gICAgICBvbkRvdWJsZUNsaWNrPXtldmVudCA9PlxuICAgICAgICB0aGlzLnByb3BzLm9uUm93RG91YmxlQ2xpY2sgJiZcbiAgICAgICAgdGhpcy5wcm9wcy5vblJvd0RvdWJsZUNsaWNrKHsgaW5kZXgsIGV2ZW50LCByb3dEYXRhIH0pXG4gICAgICB9XG4gICAgPlxuICAgICAge3RoaXMuY29sdW1uVHJhbnNmb3JtZXJcbiAgICAgICAgPyB0aGlzLmNvbHVtblRyYW5zZm9ybWVyKGNvbHVtbnMsIHJvd0RhdGEsIGluZGV4KVxuICAgICAgICA6IGNvbHVtbnN9XG4gICAgICB7dGhpcy5jb250ZXh0TWVudVJlbmRlcmVyKGluZGV4KX1cbiAgICA8L0ZvY3VzYWJsZVJvdz5cbiAgKVxuXG4gIC8qKlxuICAgKiAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIGlzIGFkZGVkIGJlY2F1c2UgZXZlbiB0aG91Z2ggdGhlIHByb3BzIGFyZSBub3QgdXNlZCBpbiB0aGlzIGNvbXBvbmVudFxuICAgKiB0aGV5IGFyZSBnZXR0aW5nIGRlc3RydWN0dXJlZCBpbnRvIC4uLnByb3BzIGFuZCBwYXNzZWQgZnVydGhlciBkb3duIHRoZSB0cmVlXG4gICAqL1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgY2hpbGRyZW4sXG4gICAgICBoYXNNb3JlUm93cyxcbiAgICAgIGhlaWdodCxcbiAgICAgIGxvYWRNb3JlUm93cyxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgIG9uRmlsdGVyLFxuICAgICAgcm93Q291bnQsXG4gICAgICBzb3J0QnkgPSAnJyxcbiAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICB3aWR0aCxcbiAgICAgIC4uLnByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcblxuICAgIC8vIFRoaXMgZml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGhlYWRlciBvZiB0aGUgRGF0YUdyaWQgZG9lc24ndCByZW5kZXIgb24gcGFnZSBsb2FkIGluIFNhZmFyaVxuICAgIGNvbnN0IHNhZmFyaVN0eWxlID0ge1xuICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWigwKWBcbiAgICB9XG5cbiAgICBjb25zdCBtYXBwZWRDaGlsZHJlbiA9IHRoaXMubWFwQ2hpbGRyZW4oKS5maWx0ZXIoY2hpbGQgPT4gY2hpbGQgIT09IG51bGwpXG4gICAgLy8gVE9ETzogQmV0dGVyIHR5cGUgc2lnbmF0dXJlIHdoZW4gYWNjZXNzaW5nIGNoaWxkcmVuIHByb3BzP1xuICAgIGNvbnN0IHNwYW5EYXRhID0gbWFwcGVkQ2hpbGRyZW4ubWFwKChjaGlsZDogUmVhY3QuUmVhY3RFbGVtZW50KSA9PiAoe1xuICAgICAgY29sc3BhbjogY2hpbGQucHJvcHMuY29sc3BhbiA/IGNoaWxkLnByb3BzLmNvbHNwYW4gOiAoKSA9PiAxLFxuICAgICAgd2lkdGg6IGNoaWxkLnByb3BzLndpZHRoLFxuICAgICAgZmxleEdyb3c6IGNoaWxkLnByb3BzLmZsZXhHcm93XG4gICAgfSkpXG4gICAgLy8gR2V0IHRoZSBhY3R1YWwgd2lkdGggb2YgYWxsIHRoZSBjb2x1bW5zLiBUaGlzIGlzIGluZGVwZW5kZW50IGZyb20gdGhlXG4gICAgLy8gd2lkdGggcHJvcC5cbiAgICB0aGlzLnRvdGFsV2lkdGggPSBtYXBwZWRDaGlsZHJlbi5yZWR1Y2U8bnVtYmVyPihcbiAgICAgICh0b3RhbDogbnVtYmVyLCBjaGlsZDogUmVhY3QuUmVhY3RFbGVtZW50PEJhc2ljQ29sdW1uUHJvcHM+KSA9PlxuICAgICAgICB0b3RhbCArIGNoaWxkLnByb3BzLndpZHRoLFxuICAgICAgMFxuICAgIClcbiAgICAvLyBDb252ZXJ0IHRoZSB3aWR0aHMgdG8gcGVyY2VudHMgc28gd2UgY2FuIG1hcCB0aGVtIGJhY2sgdG8gdGhlIHJlYWwgdGFibGVcbiAgICAvLyB3aWR0aCBsYXRlci5cbiAgICB0aGlzLmNvbHVtbldpZHRoUGVyY2VudHMgPSBtYXBwZWRDaGlsZHJlbi5tYXAoXG4gICAgICAoeyBwcm9wcyB9OiBSZWFjdC5SZWFjdEVsZW1lbnQpID0+IHByb3BzLndpZHRoIC8gdGhpcy50b3RhbFdpZHRoXG4gICAgKVxuXG4gICAgdGhpcy5jb2x1bW5UcmFuc2Zvcm1lciA9IChcbiAgICAgIGNvbHVtbnM6IFJlYWN0LlJlYWN0RWxlbWVudDxhbnk+W10sXG4gICAgICByb3dEYXRhLFxuICAgICAgcm93SW5kZXhcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IHNwYW5zID0gc3BhbkRhdGEubWFwKGl0ZW0gPT4gaXRlbS5jb2xzcGFuKHJvd0RhdGEpKVxuICAgICAgY29uc3Qgc3Bhbm5lZENvbHVtbnM6IFJlYWN0LlJlYWN0RWxlbWVudFtdID0gW11cbiAgICAgIGxldCBpbmRleCA9IDBcbiAgICAgIHdoaWxlIChpbmRleCA8IGNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHNwYW4gPSBzcGFuc1tpbmRleF1cbiAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1uc1tpbmRleF1cbiAgICAgICAgaWYgKHNwYW4gPiAxKSB7XG4gICAgICAgICAgY29uc3QgZm9sbG93aW5nQ29sdW1ucyA9IHNwYW5EYXRhLnNsaWNlKGluZGV4LCBzcGFuKVxuICAgICAgICAgIC8vIGZpbmQgbmV3IHdpZHRoIGJ5IGFkZGluZyBjdXJyZW50IGNvbHVtbiB3aWR0aCBwbHVzIGNvbHVtbnMgdGhhdCBhcmUgc3Bhbm5lZCBvdmVyXG5cbiAgICAgICAgICBjb25zdCB3aWR0aCA9IGZvbGxvd2luZ0NvbHVtbnMucmVkdWNlKFxuICAgICAgICAgICAgKGFjY3VtdWxhdG9yLCB7IHdpZHRoIH06IHsgd2lkdGg6IG51bWJlciB9KSA9PiBhY2N1bXVsYXRvciArIHdpZHRoLFxuICAgICAgICAgICAgMFxuICAgICAgICAgIClcblxuICAgICAgICAgIGNvbnN0IGZsZXhHcm93ID0gZm9sbG93aW5nQ29sdW1ucy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjdW11bGF0b3IsIHsgZmxleEdyb3cgfTogeyBmbGV4R3JvdzogbnVtYmVyIH0pID0+XG4gICAgICAgICAgICAgIGFjY3VtdWxhdG9yICsgZmxleEdyb3csXG4gICAgICAgICAgICAwXG4gICAgICAgICAgKVxuICAgICAgICAgIHNwYW5uZWRDb2x1bW5zLnB1c2goXG4gICAgICAgICAgICBSZWFjdC5jbG9uZUVsZW1lbnQoY29sdW1uLCB7XG4gICAgICAgICAgICAgICdkYXRhLWluc3RydW1lbnRhdGlvbic6IGAke3RoaXMucHJvcHNbJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJ119LXJvdyR7cm93SW5kZXh9LWNvbCR7aW5kZXh9YCxcbiAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAuLi5FbGVtZW50cy5jZWxsUmVzZXRTdHlsZSxcbiAgICAgICAgICAgICAgICBmbGV4OiBgMCAxICR7d2lkdGh9cHhgLFxuICAgICAgICAgICAgICAgIGZsZXhHcm93XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIGluZGV4ICs9IHNwYW4gLy8gc2tpcCBjb2x1bW5zIHRoYXQgaGF2ZSBiZWVuIHNwYW5uZWQgb3ZlclxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNwYW5uZWRDb2x1bW5zLnB1c2goXG4gICAgICAgICAgICBSZWFjdC5jbG9uZUVsZW1lbnQoY29sdW1uLCB7XG4gICAgICAgICAgICAgICdkYXRhLWluc3RydW1lbnRhdGlvbic6IGAke3RoaXMucHJvcHNbJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJ119LXJvdyR7cm93SW5kZXh9LWNvbCR7aW5kZXh9YFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgaW5kZXgrK1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gc3Bhbm5lZENvbHVtbnNcbiAgICB9XG5cbiAgICBjb25zdCBUYWJsZUNvbXBvbmVudCA9XG4gICAgICB0aGlzLnByb3BzLnNjcm9sbFdpZHRoICE9PSB1bmRlZmluZWQgPyBTY3JvbGxhYmxlVGFibGUgOiBUYWJsZVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxFbGVtZW50cy5UYWJsZUNvbnRhaW5lclxuICAgICAgICBjc3M9e3sgd2lkdGgsIGhlaWdodCB9fVxuICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgICAgb25LZXlVcD17dGhpcy5oYW5kbGVLZXlVcH1cbiAgICAgICAgZGF0YS1pbnN0cnVtZW50YXRpb249e2Ake3RoaXMucHJvcHNbJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJ119LWdyaWRgfVxuICAgICAgPlxuICAgICAgICA8SW5maW5pdGVMb2FkZXJcbiAgICAgICAgICBpc1Jvd0xvYWRlZD17dGhpcy5pc1Jvd0xvYWRlZH1cbiAgICAgICAgICBsb2FkTW9yZVJvd3M9e2xvYWRNb3JlUm93cyB8fCAoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKSl9XG4gICAgICAgICAgcm93Q291bnQ9e2hhc01vcmVSb3dzID8gcm93Q291bnQgKyAxIDogcm93Q291bnR9XG4gICAgICAgICAgdGhyZXNob2xkPXs1fVxuICAgICAgICAgIHJlZj17dGhpcy5pbmZpbml0ZVRhYmxlfVxuICAgICAgICA+XG4gICAgICAgICAgeyh7IG9uUm93c1JlbmRlcmVkLCByZWdpc3RlckNoaWxkIH0pID0+IChcbiAgICAgICAgICAgIDxUYWJsZUNvbXBvbmVudFxuICAgICAgICAgICAgICBzdHlsZT17c2FmYXJpU3R5bGV9XG4gICAgICAgICAgICAgIGdyaWRTdHlsZT17eyBvdXRsaW5lOiAnbm9uZScgfX1cbiAgICAgICAgICAgICAgaGVhZGVySGVpZ2h0PXszNn1cbiAgICAgICAgICAgICAgcm93SGVpZ2h0PXszMH1cbiAgICAgICAgICAgICAgc29ydEJ5PXtzb3J0Qnl9XG4gICAgICAgICAgICAgIHNvcnREaXJlY3Rpb249e3NvcnREaXJlY3Rpb259XG4gICAgICAgICAgICAgIHJlZj17cmVnaXN0ZXJDaGlsZH1cbiAgICAgICAgICAgICAgbm9Sb3dzUmVuZGVyZWQ9eygpID0+IDxkaXY+Tm8gcmVzdWx0czwvZGl2Pn1cbiAgICAgICAgICAgICAgb25Sb3dzUmVuZGVyZWQ9e29uUm93c1JlbmRlcmVkfVxuICAgICAgICAgICAgICBvblNjcm9sbD17XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5hY3RpdmVDb250ZXh0TWVudVxuICAgICAgICAgICAgICAgICAgPyAoKSA9PiB0aGlzLmNsb3NlQ29udGV4dE1lbnUoKVxuICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByb3dDb3VudD17aGFzTW9yZVJvd3MgPyByb3dDb3VudCArIDEgOiByb3dDb3VudH1cbiAgICAgICAgICAgICAgaGVhZGVyUm93UmVuZGVyZXI9e3RoaXMuaGVhZGVyUm93UmVuZGVyZXJ9XG4gICAgICAgICAgICAgIHJvd1JlbmRlcmVyPXt0aGlzLnJvd1JlbmRlcmVyfVxuICAgICAgICAgICAgICAvLyBhY2NvdW50IGZvciBib3JkZXIgd2lkdGggb2YgY29udGFpbmVyXG4gICAgICAgICAgICAgIHdpZHRoPXt3aWR0aCAtIDJ9XG4gICAgICAgICAgICAgIGhlaWdodD17aGVpZ2h0IC0gMn1cbiAgICAgICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bWFwcGVkQ2hpbGRyZW59XG4gICAgICAgICAgICA8L1RhYmxlQ29tcG9uZW50PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvSW5maW5pdGVMb2FkZXI+XG4gICAgICA8L0VsZW1lbnRzLlRhYmxlQ29udGFpbmVyPlxuICAgIClcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBEYXRhR3JpZFxuIl19 */"),
|
|
616
681
|
onKeyDown: this.handleKeyDown,
|
|
617
682
|
onKeyUp: this.handleKeyUp,
|
|
618
683
|
"data-instrumentation": "".concat(this.props['data-instrumentation'], "-grid"),
|
|
619
684
|
children: (0, _jsxRuntime.jsx)(_reactVirtualized.InfiniteLoader, {
|
|
620
|
-
"data-gs-c": gsC(function children(
|
|
621
|
-
var onRowsRendered =
|
|
622
|
-
registerChild =
|
|
685
|
+
"data-gs-c": gsC(function children(_ref15) {
|
|
686
|
+
var onRowsRendered = _ref15.onRowsRendered,
|
|
687
|
+
registerChild = _ref15.registerChild;
|
|
623
688
|
return (0, _jsxRuntime.jsx)(TableComponent, _objectSpread(_objectSpread({
|
|
624
689
|
"data-gs-c": gsC(mappedChildren),
|
|
625
690
|
"data-gs": gs("src", "datagrid", "datagrid.tsx", "elements-tablecontainer", "infinite-loader", "table-component"),
|
|
@@ -661,9 +726,9 @@ var DataGrid = /*#__PURE__*/function (_Component) {
|
|
|
661
726
|
rowCount: hasMoreRows ? rowCount + 1 : rowCount,
|
|
662
727
|
threshold: 5,
|
|
663
728
|
ref: this.infiniteTable,
|
|
664
|
-
children: function children(
|
|
665
|
-
var onRowsRendered =
|
|
666
|
-
registerChild =
|
|
729
|
+
children: function children(_ref15) {
|
|
730
|
+
var onRowsRendered = _ref15.onRowsRendered,
|
|
731
|
+
registerChild = _ref15.registerChild;
|
|
667
732
|
return (0, _jsxRuntime.jsx)(TableComponent, _objectSpread(_objectSpread({
|
|
668
733
|
"data-gs-c": gsC(mappedChildren),
|
|
669
734
|
"data-gs": gs("src", "datagrid", "datagrid.tsx", "elements-tablecontainer", "infinite-loader", "table-component"),
|
|
@@ -720,6 +785,8 @@ _defineProperty(DataGrid, "SINGLE_SELECT", 'single');
|
|
|
720
785
|
|
|
721
786
|
_defineProperty(DataGrid, "MULTI_SELECT", 'multi');
|
|
722
787
|
|
|
788
|
+
_defineProperty(DataGrid, "MIN_COL_WIDTH", 50);
|
|
789
|
+
|
|
723
790
|
_defineProperty(DataGrid, "utils", dataGridUtils);
|
|
724
791
|
|
|
725
792
|
_defineProperty(DataGrid, "defaultProps", {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ColumnProps, SortDirection } from 'react-virtualized';
|
|
3
|
-
import type { filterRendererArguments, sortRendererArguments } from '../types';
|
|
3
|
+
import type { filterRendererArguments, sortRendererArguments, InternalResizeHandler } from '../types';
|
|
4
4
|
import type { LocaleStrings } from '../constants';
|
|
5
5
|
import type { Theme } from '@theme';
|
|
6
6
|
import type { Interpolation } from '@emotion/react';
|
|
@@ -32,6 +32,7 @@ export declare type BasicColumnMappedProps = {
|
|
|
32
32
|
sortBy: string;
|
|
33
33
|
sortDirection: keyof typeof SortDirection;
|
|
34
34
|
}) => void;
|
|
35
|
+
onResize?: InternalResizeHandler;
|
|
35
36
|
};
|
|
36
37
|
/**
|
|
37
38
|
* Function that accepts two object arguments and returns a react-virtualized Column.
|
|
@@ -59,7 +59,8 @@ function BasicColumn(columnProps, mappedProps) {
|
|
|
59
59
|
locale = _mappedProps$locale === void 0 ? 'en' : _mappedProps$locale,
|
|
60
60
|
_mappedProps$localeSt = mappedProps.localeStrings,
|
|
61
61
|
localeStrings = _mappedProps$localeSt === void 0 ? {} : _mappedProps$localeSt,
|
|
62
|
-
onHeaderPopoverOpen = mappedProps.onHeaderPopoverOpen
|
|
62
|
+
onHeaderPopoverOpen = mappedProps.onHeaderPopoverOpen,
|
|
63
|
+
onResize = mappedProps.onResize;
|
|
63
64
|
|
|
64
65
|
if (columnProps.hideColumn) {
|
|
65
66
|
return null;
|
|
@@ -69,6 +70,7 @@ function BasicColumn(columnProps, mappedProps) {
|
|
|
69
70
|
return (0, _jsxRuntime.jsx)(_elements.Cell, {
|
|
70
71
|
"data-gs": gs("src", "datagrid", "components", "basic-column", "cell"),
|
|
71
72
|
rightAlign: typeof cellRendererProps.cellData === 'number',
|
|
73
|
+
isFirst: cellRendererProps.columnIndex === 0,
|
|
72
74
|
isLast: cellRendererProps.columnIndex === columnCount - 1,
|
|
73
75
|
children: (0, _jsxRuntime.jsx)(_RightTruncatedText["default"], {
|
|
74
76
|
"data-gs": gs("src", "datagrid", "components", "basic-column", "cell", "right-truncated-text"),
|
|
@@ -86,6 +88,7 @@ function BasicColumn(columnProps, mappedProps) {
|
|
|
86
88
|
"data-gs": gs("src", "datagrid", "components", "basic-column", "column-header"),
|
|
87
89
|
dataKey: dataKey,
|
|
88
90
|
isLast: columnCount - 1 === mappedProps.columnIndex,
|
|
91
|
+
isFirst: mappedProps.columnIndex === 0,
|
|
89
92
|
label: label,
|
|
90
93
|
showSortIndicator: !!sortRenderer && sortBy === dataKey,
|
|
91
94
|
sortDirection: sortDirection,
|
|
@@ -109,6 +112,7 @@ function BasicColumn(columnProps, mappedProps) {
|
|
|
109
112
|
operator: operator
|
|
110
113
|
});
|
|
111
114
|
},
|
|
115
|
+
onResize: onResize,
|
|
112
116
|
filterRenderer: filterRenderer,
|
|
113
117
|
sortBy: sortBy,
|
|
114
118
|
sortRenderer: sortRenderer,
|
|
@@ -74,7 +74,7 @@ var CollapsibleIcon = ( /*#__PURE__*/0, _base["default"])(_Icon["default"].Mediu
|
|
|
74
74
|
transition: 'transform 300ms',
|
|
75
75
|
transform: expanded ? 'rotate(0)' : 'rotate(-90deg)'
|
|
76
76
|
};
|
|
77
|
-
}, (0, _ThemeProvider.getOverrides)(_ThemeProvider.Overridable.DataGrid.CollapsibleIcon), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9EYXRhR3JpZC9jb21wb25lbnRzL0NvbGxhcHNpYmxlQ2VsbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYStCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9EYXRhR3JpZC9jb21wb25lbnRzL0NvbGxhcHNpYmxlQ2VsbC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB0ZC9pbnN0cnVtZW50YXRpb24gKi9cbi8vIHRoaXMgbGV2ZWwgb2YgZmluZSBncmFpbmVkIGluc3RydW1lbnRhdGlvbiBpcyBub3QgbmVlZGVkXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgSWNvbiBmcm9tICcuLi8uLi9JY29uJ1xuaW1wb3J0IHsgU3BhY2VyLCBDZWxsIH0gZnJvbSAnLi4vZWxlbWVudHMnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCBjbiBmcm9tICdjbGFzc25hbWVzJ1xuaW1wb3J0IHsgZ2V0T3ZlcnJpZGVzLCBPdmVycmlkYWJsZSB9IGZyb20gJy4uLy4uL1RoZW1lUHJvdmlkZXInXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uLy4uL0J1dHRvbidcblxudHlwZSBDb2xsYXBzaWJsZUljb25Qcm9wcyA9IHtcbiAgZXhwYW5kZWQ/OiBib29sZWFuXG59XG5leHBvcnQgY29uc3QgQ29sbGFwc2libGVJY29uID0gc3R5bGVkKEljb24uTWVkaXVtLlN5bWJvbEFycm93RG93bik8XG4gIENvbGxhcHNpYmxlSWNvblByb3BzXG4+KFxuICAoeyBleHBhbmRlZCwgdGhlbWUgfSkgPT4gKHtcbiAgICBjb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5WzVdLFxuICAgIHRyYW5zaXRpb246ICd0cmFuc2Zvcm0gMzAwbXMnLFxuICAgIHRyYW5zZm9ybTogZXhwYW5kZWQgPyAncm90YXRlKDApJyA6ICdyb3RhdGUoLTkwZGVnKSdcbiAgfSksXG4gIGdldE92ZXJyaWRlcyhPdmVycmlkYWJsZS5EYXRhR3JpZC5Db2xsYXBzaWJsZUljb24pXG4pXG5cbmNvbnN0IENvbGxhcHNpYmxlSWNvbkJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCgpID0+
|
|
77
|
+
}, (0, _ThemeProvider.getOverrides)(_ThemeProvider.Overridable.DataGrid.CollapsibleIcon), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9EYXRhR3JpZC9jb21wb25lbnRzL0NvbGxhcHNpYmxlQ2VsbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYStCIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9EYXRhR3JpZC9jb21wb25lbnRzL0NvbGxhcHNpYmxlQ2VsbC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB0ZC9pbnN0cnVtZW50YXRpb24gKi9cbi8vIHRoaXMgbGV2ZWwgb2YgZmluZSBncmFpbmVkIGluc3RydW1lbnRhdGlvbiBpcyBub3QgbmVlZGVkXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgSWNvbiBmcm9tICcuLi8uLi9JY29uJ1xuaW1wb3J0IHsgU3BhY2VyLCBDZWxsIH0gZnJvbSAnLi4vZWxlbWVudHMnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCBjbiBmcm9tICdjbGFzc25hbWVzJ1xuaW1wb3J0IHsgZ2V0T3ZlcnJpZGVzLCBPdmVycmlkYWJsZSB9IGZyb20gJy4uLy4uL1RoZW1lUHJvdmlkZXInXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uLy4uL0J1dHRvbidcblxudHlwZSBDb2xsYXBzaWJsZUljb25Qcm9wcyA9IHtcbiAgZXhwYW5kZWQ/OiBib29sZWFuXG59XG5leHBvcnQgY29uc3QgQ29sbGFwc2libGVJY29uID0gc3R5bGVkKEljb24uTWVkaXVtLlN5bWJvbEFycm93RG93bik8XG4gIENvbGxhcHNpYmxlSWNvblByb3BzXG4+KFxuICAoeyBleHBhbmRlZCwgdGhlbWUgfSkgPT4gKHtcbiAgICBjb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5WzVdLFxuICAgIHRyYW5zaXRpb246ICd0cmFuc2Zvcm0gMzAwbXMnLFxuICAgIHRyYW5zZm9ybTogZXhwYW5kZWQgPyAncm90YXRlKDApJyA6ICdyb3RhdGUoLTkwZGVnKSdcbiAgfSksXG4gIGdldE92ZXJyaWRlcyhPdmVycmlkYWJsZS5EYXRhR3JpZC5Db2xsYXBzaWJsZUljb24pXG4pXG5cbmNvbnN0IENvbGxhcHNpYmxlSWNvbkJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCgpID0+ICh7XG4gIG1pbldpZHRoOiAxNlxufSkpXG5cbmNvbnN0IENvbGxhcHNpYmxlQ2VsbFdyYXBwZXIgPSBzdHlsZWQoQ2VsbCkoKCkgPT4gKHtcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGJvcmRlclJpZ2h0OiAwXG59KSlcblxudHlwZSBTeW50aGV0aWNFdmVudCA9IGFueVxudHlwZSBDb2xsYXBzaWJsZUNlbGxQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICBleHBhbmRlZFJvd3M6IEFycmF5PG51bWJlciB8IHN0cmluZz5cbiAgaGFuZGxlRXhwYW5kUm93czogKGV2ZW50OiBTeW50aGV0aWNFdmVudCkgPT4gdm9pZFxuICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gIG51bWJlck9mQ2hpbGRyZW46IG51bWJlclxufVxuY2xhc3MgQ29sbGFwc2libGVDZWxsIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PENvbGxhcHNpYmxlQ2VsbFByb3BzPiB7XG4gIGhhbmRsZUV4cGFuZFJvd3MgPSAoZXZlbnQ6IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBjb25zdCB7IGlkLCBleHBhbmRlZFJvd3MsIGhhbmRsZUV4cGFuZFJvd3MgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBleHBhbmRlZCA9IGV4cGFuZGVkUm93cy5pbmNsdWRlcyhpZClcbiAgICBjb25zdCBuZXdFeHBhbmRlZFJvd3MgPSBleHBhbmRlZFxuICAgICAgPyBleHBhbmRlZFJvd3MuZmlsdGVyKHJvdyA9PiByb3cgIT09IGlkKVxuICAgICAgOiBbLi4uZXhwYW5kZWRSb3dzLCBpZF1cbiAgICByZXR1cm4gaGFuZGxlRXhwYW5kUm93cyhuZXdFeHBhbmRlZFJvd3MpXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBpZCwgZXhwYW5kZWRSb3dzLCBudW1iZXJPZkNoaWxkcmVuIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgZXhwYW5kZWQgPSBleHBhbmRlZFJvd3MuaW5jbHVkZXMoaWQpXG4gICAgcmV0dXJuIChcbiAgICAgIDxDb2xsYXBzaWJsZUNlbGxXcmFwcGVyIGtleT17aWR9IGlzRmlyc3Q+XG4gICAgICAgIDxDb2xsYXBzaWJsZUljb25CdXR0b25cbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZUV4cGFuZFJvd3N9XG4gICAgICAgICAgaWNvblxuICAgICAgICAgIGJvcmRlcmxlc3NcbiAgICAgICAgICBpZ25vcmVGb2N1c1xuICAgICAgICA+XG4gICAgICAgICAgPENvbGxhcHNpYmxlSWNvblxuICAgICAgICAgICAgZXhwYW5kZWQ9e2V4cGFuZGVkICYmIG51bWJlck9mQ2hpbGRyZW4gPiAwfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbignZGF0YS1ncmlkLWNvbGxhcHNpYmxlLWljb24nLCB7XG4gICAgICAgICAgICAgICdkYXRhLWdyaWQtY29sbGFwc2libGUtaWNvbi1leHBhbmRlZCc6XG4gICAgICAgICAgICAgICAgZXhwYW5kZWQgJiYgbnVtYmVyT2ZDaGlsZHJlbiA+IDBcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29sbGFwc2libGVJY29uQnV0dG9uPlxuICAgICAgICA8U3BhY2VyIC8+XG4gICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgICB7YCAoJHtudW1iZXJPZkNoaWxkcmVufSlgfVxuICAgICAgPC9Db2xsYXBzaWJsZUNlbGxXcmFwcGVyPlxuICAgIClcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDb2xsYXBzaWJsZUNlbGxcbiJdfQ== */");
|
|
78
78
|
exports.CollapsibleIcon = CollapsibleIcon;
|
|
79
79
|
var CollapsibleIconButton = ( /*#__PURE__*/0, _base["default"])(_Button["default"], process.env.NODE_ENV === "production" ? {
|
|
80
80
|
target: "e1prc87v1"
|
|
@@ -85,7 +85,7 @@ var CollapsibleIconButton = ( /*#__PURE__*/0, _base["default"])(_Button["default
|
|
|
85
85
|
return {
|
|
86
86
|
minWidth: 16
|
|
87
87
|
};
|
|
88
|
-
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9EYXRhR3JpZC9jb21wb25lbnRzL0NvbGxhcHNpYmxlQ2VsbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0I4QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvRGF0YUdyaWQvY29tcG9uZW50cy9Db2xsYXBzaWJsZUNlbGwudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgdGQvaW5zdHJ1bWVudGF0aW9uICovXG4vLyB0aGlzIGxldmVsIG9mIGZpbmUgZ3JhaW5lZCBpbnN0cnVtZW50YXRpb24gaXMgbm90IG5lZWRlZFxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IEljb24gZnJvbSAnLi4vLi4vSWNvbidcbmltcG9ydCB7IFNwYWNlciwgQ2VsbCB9IGZyb20gJy4uL2VsZW1lbnRzJ1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgY24gZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCB7IGdldE92ZXJyaWRlcywgT3ZlcnJpZGFibGUgfSBmcm9tICcuLi8uLi9UaGVtZVByb3ZpZGVyJ1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuLi8uLi9CdXR0b24nXG5cbnR5cGUgQ29sbGFwc2libGVJY29uUHJvcHMgPSB7XG4gIGV4cGFuZGVkPzogYm9vbGVhblxufVxuZXhwb3J0IGNvbnN0IENvbGxhcHNpYmxlSWNvbiA9IHN0eWxlZChJY29uLk1lZGl1bS5TeW1ib2xBcnJvd0Rvd24pPFxuICBDb2xsYXBzaWJsZUljb25Qcm9wc1xuPihcbiAgKHsgZXhwYW5kZWQsIHRoZW1lIH0pID0+ICh7XG4gICAgY29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeVs1XSxcbiAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDMwMG1zJyxcbiAgICB0cmFuc2Zvcm06IGV4cGFuZGVkID8gJ3JvdGF0ZSgwKScgOiAncm90YXRlKC05MGRlZyknXG4gIH0pLFxuICBnZXRPdmVycmlkZXMoT3ZlcnJpZGFibGUuRGF0YUdyaWQuQ29sbGFwc2libGVJY29uKVxuKVxuXG5jb25zdCBDb2xsYXBzaWJsZUljb25CdXR0b24gPSBzdHlsZWQoQnV0dG9uKSgoKSA9PiAoe1xuICBtaW5XaWR0aDogMTZcbn0pKVxuXG5jb25zdCBDb2xsYXBzaWJsZUNlbGxXcmFwcGVyID0gc3R5bGVkKENlbGwpKCgpID0+ICh7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBib3JkZXJSaWdodDogMFxufSkpXG5cbnR5cGUgU3ludGhldGljRXZlbnQgPSBhbnlcbnR5cGUgQ29sbGFwc2libGVDZWxsUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZXhwYW5kZWRSb3dzOiBBcnJheTxudW1iZXIgfCBzdHJpbmc+XG4gIGhhbmRsZUV4cGFuZFJvd3M6IChldmVudDogU3ludGhldGljRXZlbnQpID0+
|
|
88
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9EYXRhR3JpZC9jb21wb25lbnRzL0NvbGxhcHNpYmxlQ2VsbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0I4QiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvRGF0YUdyaWQvY29tcG9uZW50cy9Db2xsYXBzaWJsZUNlbGwudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgdGQvaW5zdHJ1bWVudGF0aW9uICovXG4vLyB0aGlzIGxldmVsIG9mIGZpbmUgZ3JhaW5lZCBpbnN0cnVtZW50YXRpb24gaXMgbm90IG5lZWRlZFxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IEljb24gZnJvbSAnLi4vLi4vSWNvbidcbmltcG9ydCB7IFNwYWNlciwgQ2VsbCB9IGZyb20gJy4uL2VsZW1lbnRzJ1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgY24gZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCB7IGdldE92ZXJyaWRlcywgT3ZlcnJpZGFibGUgfSBmcm9tICcuLi8uLi9UaGVtZVByb3ZpZGVyJ1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuLi8uLi9CdXR0b24nXG5cbnR5cGUgQ29sbGFwc2libGVJY29uUHJvcHMgPSB7XG4gIGV4cGFuZGVkPzogYm9vbGVhblxufVxuZXhwb3J0IGNvbnN0IENvbGxhcHNpYmxlSWNvbiA9IHN0eWxlZChJY29uLk1lZGl1bS5TeW1ib2xBcnJvd0Rvd24pPFxuICBDb2xsYXBzaWJsZUljb25Qcm9wc1xuPihcbiAgKHsgZXhwYW5kZWQsIHRoZW1lIH0pID0+ICh7XG4gICAgY29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeVs1XSxcbiAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDMwMG1zJyxcbiAgICB0cmFuc2Zvcm06IGV4cGFuZGVkID8gJ3JvdGF0ZSgwKScgOiAncm90YXRlKC05MGRlZyknXG4gIH0pLFxuICBnZXRPdmVycmlkZXMoT3ZlcnJpZGFibGUuRGF0YUdyaWQuQ29sbGFwc2libGVJY29uKVxuKVxuXG5jb25zdCBDb2xsYXBzaWJsZUljb25CdXR0b24gPSBzdHlsZWQoQnV0dG9uKSgoKSA9PiAoe1xuICBtaW5XaWR0aDogMTZcbn0pKVxuXG5jb25zdCBDb2xsYXBzaWJsZUNlbGxXcmFwcGVyID0gc3R5bGVkKENlbGwpKCgpID0+ICh7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBib3JkZXJSaWdodDogMFxufSkpXG5cbnR5cGUgU3ludGhldGljRXZlbnQgPSBhbnlcbnR5cGUgQ29sbGFwc2libGVDZWxsUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZXhwYW5kZWRSb3dzOiBBcnJheTxudW1iZXIgfCBzdHJpbmc+XG4gIGhhbmRsZUV4cGFuZFJvd3M6IChldmVudDogU3ludGhldGljRXZlbnQpID0+IHZvaWRcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICBudW1iZXJPZkNoaWxkcmVuOiBudW1iZXJcbn1cbmNsYXNzIENvbGxhcHNpYmxlQ2VsbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxDb2xsYXBzaWJsZUNlbGxQcm9wcz4ge1xuICBoYW5kbGVFeHBhbmRSb3dzID0gKGV2ZW50OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgY29uc3QgeyBpZCwgZXhwYW5kZWRSb3dzLCBoYW5kbGVFeHBhbmRSb3dzIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgZXhwYW5kZWQgPSBleHBhbmRlZFJvd3MuaW5jbHVkZXMoaWQpXG4gICAgY29uc3QgbmV3RXhwYW5kZWRSb3dzID0gZXhwYW5kZWRcbiAgICAgID8gZXhwYW5kZWRSb3dzLmZpbHRlcihyb3cgPT4gcm93ICE9PSBpZClcbiAgICAgIDogWy4uLmV4cGFuZGVkUm93cywgaWRdXG4gICAgcmV0dXJuIGhhbmRsZUV4cGFuZFJvd3MobmV3RXhwYW5kZWRSb3dzKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgaWQsIGV4cGFuZGVkUm93cywgbnVtYmVyT2ZDaGlsZHJlbiB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGV4cGFuZGVkID0gZXhwYW5kZWRSb3dzLmluY2x1ZGVzKGlkKVxuICAgIHJldHVybiAoXG4gICAgICA8Q29sbGFwc2libGVDZWxsV3JhcHBlciBrZXk9e2lkfSBpc0ZpcnN0PlxuICAgICAgICA8Q29sbGFwc2libGVJY29uQnV0dG9uXG4gICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVFeHBhbmRSb3dzfVxuICAgICAgICAgIGljb25cbiAgICAgICAgICBib3JkZXJsZXNzXG4gICAgICAgICAgaWdub3JlRm9jdXNcbiAgICAgICAgPlxuICAgICAgICAgIDxDb2xsYXBzaWJsZUljb25cbiAgICAgICAgICAgIGV4cGFuZGVkPXtleHBhbmRlZCAmJiBudW1iZXJPZkNoaWxkcmVuID4gMH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oJ2RhdGEtZ3JpZC1jb2xsYXBzaWJsZS1pY29uJywge1xuICAgICAgICAgICAgICAnZGF0YS1ncmlkLWNvbGxhcHNpYmxlLWljb24tZXhwYW5kZWQnOlxuICAgICAgICAgICAgICAgIGV4cGFuZGVkICYmIG51bWJlck9mQ2hpbGRyZW4gPiAwXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbGxhcHNpYmxlSWNvbkJ1dHRvbj5cbiAgICAgICAgPFNwYWNlciAvPlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgICAge2AgKCR7bnVtYmVyT2ZDaGlsZHJlbn0pYH1cbiAgICAgIDwvQ29sbGFwc2libGVDZWxsV3JhcHBlcj5cbiAgICApXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29sbGFwc2libGVDZWxsXG4iXX0= */");
|
|
89
89
|
var CollapsibleCellWrapper = ( /*#__PURE__*/0, _base["default"])(_elements.Cell, process.env.NODE_ENV === "production" ? {
|
|
90
90
|
target: "e1prc87v0"
|
|
91
91
|
} : {
|
|
@@ -96,7 +96,7 @@ var CollapsibleCellWrapper = ( /*#__PURE__*/0, _base["default"])(_elements.Cell,
|
|
|
96
96
|
alignItems: 'center',
|
|
97
97
|
borderRight: 0
|
|
98
98
|
};
|
|
99
|
-
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9EYXRhR3JpZC9jb21wb25lbnRzL0NvbGxhcHNpYmxlQ2VsbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEIrQiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvRGF0YUdyaWQvY29tcG9uZW50cy9Db2xsYXBzaWJsZUNlbGwudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgdGQvaW5zdHJ1bWVudGF0aW9uICovXG4vLyB0aGlzIGxldmVsIG9mIGZpbmUgZ3JhaW5lZCBpbnN0cnVtZW50YXRpb24gaXMgbm90IG5lZWRlZFxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IEljb24gZnJvbSAnLi4vLi4vSWNvbidcbmltcG9ydCB7IFNwYWNlciwgQ2VsbCB9IGZyb20gJy4uL2VsZW1lbnRzJ1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgY24gZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCB7IGdldE92ZXJyaWRlcywgT3ZlcnJpZGFibGUgfSBmcm9tICcuLi8uLi9UaGVtZVByb3ZpZGVyJ1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuLi8uLi9CdXR0b24nXG5cbnR5cGUgQ29sbGFwc2libGVJY29uUHJvcHMgPSB7XG4gIGV4cGFuZGVkPzogYm9vbGVhblxufVxuZXhwb3J0IGNvbnN0IENvbGxhcHNpYmxlSWNvbiA9IHN0eWxlZChJY29uLk1lZGl1bS5TeW1ib2xBcnJvd0Rvd24pPFxuICBDb2xsYXBzaWJsZUljb25Qcm9wc1xuPihcbiAgKHsgZXhwYW5kZWQsIHRoZW1lIH0pID0+ICh7XG4gICAgY29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeVs1XSxcbiAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDMwMG1zJyxcbiAgICB0cmFuc2Zvcm06IGV4cGFuZGVkID8gJ3JvdGF0ZSgwKScgOiAncm90YXRlKC05MGRlZyknXG4gIH0pLFxuICBnZXRPdmVycmlkZXMoT3ZlcnJpZGFibGUuRGF0YUdyaWQuQ29sbGFwc2libGVJY29uKVxuKVxuXG5jb25zdCBDb2xsYXBzaWJsZUljb25CdXR0b24gPSBzdHlsZWQoQnV0dG9uKSgoKSA9PiAoe1xuICBtaW5XaWR0aDogMTZcbn0pKVxuXG5jb25zdCBDb2xsYXBzaWJsZUNlbGxXcmFwcGVyID0gc3R5bGVkKENlbGwpKCgpID0+ICh7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBib3JkZXJSaWdodDogMFxufSkpXG5cbnR5cGUgU3ludGhldGljRXZlbnQgPSBhbnlcbnR5cGUgQ29sbGFwc2libGVDZWxsUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZXhwYW5kZWRSb3dzOiBBcnJheTxudW1iZXIgfCBzdHJpbmc+XG4gIGhhbmRsZUV4cGFuZFJvd3M6IChldmVudDogU3ludGhldGljRXZlbnQpID0+
|
|
99
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9EYXRhR3JpZC9jb21wb25lbnRzL0NvbGxhcHNpYmxlQ2VsbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEIrQiIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvRGF0YUdyaWQvY29tcG9uZW50cy9Db2xsYXBzaWJsZUNlbGwudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgdGQvaW5zdHJ1bWVudGF0aW9uICovXG4vLyB0aGlzIGxldmVsIG9mIGZpbmUgZ3JhaW5lZCBpbnN0cnVtZW50YXRpb24gaXMgbm90IG5lZWRlZFxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IEljb24gZnJvbSAnLi4vLi4vSWNvbidcbmltcG9ydCB7IFNwYWNlciwgQ2VsbCB9IGZyb20gJy4uL2VsZW1lbnRzJ1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgY24gZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCB7IGdldE92ZXJyaWRlcywgT3ZlcnJpZGFibGUgfSBmcm9tICcuLi8uLi9UaGVtZVByb3ZpZGVyJ1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuLi8uLi9CdXR0b24nXG5cbnR5cGUgQ29sbGFwc2libGVJY29uUHJvcHMgPSB7XG4gIGV4cGFuZGVkPzogYm9vbGVhblxufVxuZXhwb3J0IGNvbnN0IENvbGxhcHNpYmxlSWNvbiA9IHN0eWxlZChJY29uLk1lZGl1bS5TeW1ib2xBcnJvd0Rvd24pPFxuICBDb2xsYXBzaWJsZUljb25Qcm9wc1xuPihcbiAgKHsgZXhwYW5kZWQsIHRoZW1lIH0pID0+ICh7XG4gICAgY29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeVs1XSxcbiAgICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDMwMG1zJyxcbiAgICB0cmFuc2Zvcm06IGV4cGFuZGVkID8gJ3JvdGF0ZSgwKScgOiAncm90YXRlKC05MGRlZyknXG4gIH0pLFxuICBnZXRPdmVycmlkZXMoT3ZlcnJpZGFibGUuRGF0YUdyaWQuQ29sbGFwc2libGVJY29uKVxuKVxuXG5jb25zdCBDb2xsYXBzaWJsZUljb25CdXR0b24gPSBzdHlsZWQoQnV0dG9uKSgoKSA9PiAoe1xuICBtaW5XaWR0aDogMTZcbn0pKVxuXG5jb25zdCBDb2xsYXBzaWJsZUNlbGxXcmFwcGVyID0gc3R5bGVkKENlbGwpKCgpID0+ICh7XG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBib3JkZXJSaWdodDogMFxufSkpXG5cbnR5cGUgU3ludGhldGljRXZlbnQgPSBhbnlcbnR5cGUgQ29sbGFwc2libGVDZWxsUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZXhwYW5kZWRSb3dzOiBBcnJheTxudW1iZXIgfCBzdHJpbmc+XG4gIGhhbmRsZUV4cGFuZFJvd3M6IChldmVudDogU3ludGhldGljRXZlbnQpID0+IHZvaWRcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICBudW1iZXJPZkNoaWxkcmVuOiBudW1iZXJcbn1cbmNsYXNzIENvbGxhcHNpYmxlQ2VsbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxDb2xsYXBzaWJsZUNlbGxQcm9wcz4ge1xuICBoYW5kbGVFeHBhbmRSb3dzID0gKGV2ZW50OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgY29uc3QgeyBpZCwgZXhwYW5kZWRSb3dzLCBoYW5kbGVFeHBhbmRSb3dzIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgZXhwYW5kZWQgPSBleHBhbmRlZFJvd3MuaW5jbHVkZXMoaWQpXG4gICAgY29uc3QgbmV3RXhwYW5kZWRSb3dzID0gZXhwYW5kZWRcbiAgICAgID8gZXhwYW5kZWRSb3dzLmZpbHRlcihyb3cgPT4gcm93ICE9PSBpZClcbiAgICAgIDogWy4uLmV4cGFuZGVkUm93cywgaWRdXG4gICAgcmV0dXJuIGhhbmRsZUV4cGFuZFJvd3MobmV3RXhwYW5kZWRSb3dzKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgaWQsIGV4cGFuZGVkUm93cywgbnVtYmVyT2ZDaGlsZHJlbiB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGV4cGFuZGVkID0gZXhwYW5kZWRSb3dzLmluY2x1ZGVzKGlkKVxuICAgIHJldHVybiAoXG4gICAgICA8Q29sbGFwc2libGVDZWxsV3JhcHBlciBrZXk9e2lkfSBpc0ZpcnN0PlxuICAgICAgICA8Q29sbGFwc2libGVJY29uQnV0dG9uXG4gICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVFeHBhbmRSb3dzfVxuICAgICAgICAgIGljb25cbiAgICAgICAgICBib3JkZXJsZXNzXG4gICAgICAgICAgaWdub3JlRm9jdXNcbiAgICAgICAgPlxuICAgICAgICAgIDxDb2xsYXBzaWJsZUljb25cbiAgICAgICAgICAgIGV4cGFuZGVkPXtleHBhbmRlZCAmJiBudW1iZXJPZkNoaWxkcmVuID4gMH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oJ2RhdGEtZ3JpZC1jb2xsYXBzaWJsZS1pY29uJywge1xuICAgICAgICAgICAgICAnZGF0YS1ncmlkLWNvbGxhcHNpYmxlLWljb24tZXhwYW5kZWQnOlxuICAgICAgICAgICAgICAgIGV4cGFuZGVkICYmIG51bWJlck9mQ2hpbGRyZW4gPiAwXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbGxhcHNpYmxlSWNvbkJ1dHRvbj5cbiAgICAgICAgPFNwYWNlciAvPlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgICAge2AgKCR7bnVtYmVyT2ZDaGlsZHJlbn0pYH1cbiAgICAgIDwvQ29sbGFwc2libGVDZWxsV3JhcHBlcj5cbiAgICApXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29sbGFwc2libGVDZWxsXG4iXX0= */");
|
|
100
100
|
|
|
101
101
|
var CollapsibleCell = /*#__PURE__*/function (_React$Component) {
|
|
102
102
|
_inherits(CollapsibleCell, _React$Component);
|
|
@@ -141,6 +141,7 @@ var CollapsibleCell = /*#__PURE__*/function (_React$Component) {
|
|
|
141
141
|
return (0, _jsxRuntime.jsxs)(CollapsibleCellWrapper, {
|
|
142
142
|
"data-gs-c": gsC("collapsibleiconbutton"),
|
|
143
143
|
"data-gs": gs("src", "datagrid", "components", "collapsible-cell-wrapper"),
|
|
144
|
+
isFirst: true,
|
|
144
145
|
children: [(0, _jsxRuntime.jsx)(CollapsibleIconButton, {
|
|
145
146
|
"data-gs-c": gsC("collapsibleicon"),
|
|
146
147
|
"data-gs": gs("src", "datagrid", "components", "collapsible-cell-wrapper", "collapsible-icon-button"),
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React, { Component } from 'react';
|
|
2
2
|
import { SortDirection } from 'react-virtualized';
|
|
3
|
-
import type { filterRendererArguments, sortRendererArguments } from '../types';
|
|
3
|
+
import type { filterRendererArguments, sortRendererArguments, InternalResizeHandler } from '../types';
|
|
4
4
|
import type { LocaleStrings } from '../constants';
|
|
5
5
|
import type { Theme } from '@theme';
|
|
6
6
|
import type { Interpolation } from '@emotion/react';
|
|
7
7
|
declare type ColumnHeaderProps = {
|
|
8
8
|
dataKey: string;
|
|
9
|
+
isFirst?: boolean;
|
|
9
10
|
isLast?: boolean;
|
|
10
11
|
label: string;
|
|
11
12
|
showSortIndicator?: boolean;
|
|
@@ -18,6 +19,7 @@ declare type ColumnHeaderProps = {
|
|
|
18
19
|
operator: any;
|
|
19
20
|
}) => void;
|
|
20
21
|
onPopoverOpen: (open: boolean) => void;
|
|
22
|
+
onResize?: InternalResizeHandler;
|
|
21
23
|
filterValue: any;
|
|
22
24
|
filterRenderer?: ((arg0: filterRendererArguments) => React.ReactNode) | false | null;
|
|
23
25
|
sortRenderer?: ((arg0: sortRendererArguments) => React.ReactNode) | false | null;
|
|
@@ -17,6 +17,8 @@ var _elements = require("../elements");
|
|
|
17
17
|
|
|
18
18
|
var _ColumnHeaderActions = _interopRequireDefault(require("./ColumnHeaderActions"));
|
|
19
19
|
|
|
20
|
+
var _ColumnHeaderDragHandle = _interopRequireDefault(require("./ColumnHeaderDragHandle"));
|
|
21
|
+
|
|
20
22
|
var _utils = require("../utils");
|
|
21
23
|
|
|
22
24
|
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
@@ -107,6 +109,7 @@ var ColumnHeader = /*#__PURE__*/function (_Component) {
|
|
|
107
109
|
|
|
108
110
|
var _this$props = this.props,
|
|
109
111
|
dataKey = _this$props.dataKey,
|
|
112
|
+
isFirst = _this$props.isFirst,
|
|
110
113
|
isLast = _this$props.isLast,
|
|
111
114
|
label = _this$props.label,
|
|
112
115
|
_this$props$showSortI = _this$props.showSortIndicator,
|
|
@@ -116,6 +119,7 @@ var ColumnHeader = /*#__PURE__*/function (_Component) {
|
|
|
116
119
|
sortDescIcon = _this$props.sortDescIcon,
|
|
117
120
|
onSort = _this$props.onSort,
|
|
118
121
|
onFilter = _this$props.onFilter,
|
|
122
|
+
onResize = _this$props.onResize,
|
|
119
123
|
filterValue = _this$props.filterValue,
|
|
120
124
|
filterRenderer = _this$props.filterRenderer,
|
|
121
125
|
sortRenderer = _this$props.sortRenderer,
|
|
@@ -137,6 +141,7 @@ var ColumnHeader = /*#__PURE__*/function (_Component) {
|
|
|
137
141
|
active: isActive,
|
|
138
142
|
clickable: hasActions,
|
|
139
143
|
"data-testid": "column-header-container",
|
|
144
|
+
isFirst: isFirst,
|
|
140
145
|
isLast: isLast,
|
|
141
146
|
onMouseEnter: function onMouseEnter() {
|
|
142
147
|
return _this2.setState({
|
|
@@ -170,7 +175,10 @@ var ColumnHeader = /*#__PURE__*/function (_Component) {
|
|
|
170
175
|
children: (0, _jsxRuntime.jsx)(_Icon["default"].Medium.ToolFilledFilter, {
|
|
171
176
|
"data-gs": gs("src", "datagrid", "components", "column-header-container", "column-header-icon", "icon-medium-tool-filled-filter")
|
|
172
177
|
})
|
|
173
|
-
})]
|
|
178
|
+
}), onResize ? (0, _jsxRuntime.jsx)(_ColumnHeaderDragHandle["default"], {
|
|
179
|
+
"data-gs": gs("src", "datagrid", "components", "column-header-container", "column-header-drag-handle"),
|
|
180
|
+
onResize: onResize
|
|
181
|
+
}) : null]
|
|
174
182
|
});
|
|
175
183
|
var headerOverlay = (0, _jsxRuntime.jsx)(_elements.ColumnHeaderPopover, {
|
|
176
184
|
"data-gs": gs("src", "datagrid", "components", "column-header-popover"),
|