td-stylekit 26.24.2 → 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 +26 -0
- package/dist/es/ChartPrimitives/Tooltip.d.ts +1 -1
- package/dist/es/CollapsibleToggle/CollapsibleToggle.d.ts +3 -1
- package/dist/es/CollapsibleToggle/CollapsibleToggle.js +28 -11
- package/dist/es/DataGrid/DataGrid.d.ts +14 -4
- 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/components/ScrollableTable.d.ts +1 -1
- package/dist/es/DataGrid/elements.d.ts +7 -3
- package/dist/es/DataGrid/elements.js +118 -104
- package/dist/es/DataGrid/types.d.ts +3 -0
- package/dist/es/DataGrid/utils.d.ts +6 -1
- package/dist/es/DistributionChart/utils.d.ts +1 -1
- package/dist/es/Drawer/Drawer.d.ts +2 -0
- package/dist/es/Drawer/Drawer.js +6 -2
- package/dist/es/FormControl/elements.d.ts +10 -6
- package/dist/es/Modal/components/ModalMessage.d.ts +20 -12
- package/dist/es/MultiSelect/elements.d.ts +5 -3
- package/dist/es/Overlay/OverlayHeader.d.ts +5 -3
- package/dist/es/PieChart/PieChart.js +3 -5
- package/dist/es/ThemeProvider/v4/DataGrid.d.ts +8 -3
- package/dist/es/ThemeProvider/v4/DataGrid.js +47 -35
- package/dist/es/Toast/elements.d.ts +25 -15
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
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
|
+
|
|
13
|
+
## [26.25.1](https://github.com/treasure-data/td-stylekit/compare/v26.25.0...v26.25.1) (2022-09-01)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* **CollapsibleToggle:** Don't pass through props that aren't attributes ([#1324](https://github.com/treasure-data/td-stylekit/issues/1324)) ([23fe480](https://github.com/treasure-data/td-stylekit/commit/23fe480))
|
|
19
|
+
|
|
20
|
+
# [26.25.0](https://github.com/treasure-data/td-stylekit/compare/v26.24.2...v26.25.0) (2022-08-31)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* **CON-10500:** Drawer toggling updates and alterations ([#1322](https://github.com/treasure-data/td-stylekit/issues/1322)) ([0b852af](https://github.com/treasure-data/td-stylekit/commit/0b852af))
|
|
26
|
+
|
|
1
27
|
## [26.24.2](https://github.com/treasure-data/td-stylekit/compare/v26.24.1...v26.24.2) (2022-08-26)
|
|
2
28
|
|
|
3
29
|
|
|
@@ -35,7 +35,7 @@ declare class Tooltip extends PureComponent<TooltipProps, TooltipState> {
|
|
|
35
35
|
};
|
|
36
36
|
componentDidMount(): void;
|
|
37
37
|
componentDidUpdate(prevProps: TooltipProps): void;
|
|
38
|
-
getLabel: (props?: TooltipProps
|
|
38
|
+
getLabel: (props?: TooltipProps) => any;
|
|
39
39
|
updateLabelSize: () => void;
|
|
40
40
|
render(): import("@emotion/react/jsx-runtime").JSX.Element | null;
|
|
41
41
|
}
|
|
@@ -5,9 +5,11 @@ export declare type CollapsibleToggleProps = {
|
|
|
5
5
|
'data-instrumentation'?: string;
|
|
6
6
|
onClick: (event: SyntheticEvent<HTMLDivElement> | SyntheticEvent<HTMLButtonElement>) => void;
|
|
7
7
|
openLeft?: boolean;
|
|
8
|
+
openRight?: boolean;
|
|
9
|
+
topToggle?: boolean;
|
|
8
10
|
hiddenLabel?: string;
|
|
9
11
|
};
|
|
10
|
-
declare function CollapsibleToggle({ id, 'data-instrumentation': dataInstrumentation, isClosed, hiddenLabel, onClick, openLeft }: CollapsibleToggleProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function CollapsibleToggle({ id, 'data-instrumentation': dataInstrumentation, isClosed, hiddenLabel, onClick, openLeft, topToggle, openRight }: CollapsibleToggleProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
11
13
|
declare namespace CollapsibleToggle {
|
|
12
14
|
var defaultProps: {
|
|
13
15
|
'data-instrumentation': string;
|
|
@@ -25,6 +25,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
25
25
|
|
|
26
26
|
if (typeof window !== "undefined" && !window.gs) window.gs = function () {};
|
|
27
27
|
if (typeof window !== "undefined" && !window.gsC) window.gsC = function () {};
|
|
28
|
+
// openLeft is used for v4
|
|
28
29
|
var Highlight = ( /*#__PURE__*/0, _base["default"])('div', process.env.NODE_ENV === "production" ? {
|
|
29
30
|
target: "ezxmtq91"
|
|
30
31
|
} : {
|
|
@@ -32,12 +33,13 @@ var Highlight = ( /*#__PURE__*/0, _base["default"])('div', process.env.NODE_ENV
|
|
|
32
33
|
label: "Highlight"
|
|
33
34
|
})(function (_ref) {
|
|
34
35
|
var theme = _ref.theme,
|
|
35
|
-
openLeft = _ref.openLeft
|
|
36
|
+
openLeft = _ref.openLeft,
|
|
37
|
+
openRight = _ref.openRight;
|
|
36
38
|
return {
|
|
37
39
|
width: 1,
|
|
38
40
|
minWidth: 1,
|
|
39
41
|
minHeight: '100%',
|
|
40
|
-
position: 'relative',
|
|
42
|
+
position: openRight ? 'absolute' : 'relative',
|
|
41
43
|
top: 0,
|
|
42
44
|
bottom: 0,
|
|
43
45
|
left: openLeft ? 1 : -1,
|
|
@@ -51,21 +53,22 @@ var Highlight = ( /*#__PURE__*/0, _base["default"])('div', process.env.NODE_ENV
|
|
|
51
53
|
color: theme.palette.primary[4]
|
|
52
54
|
})
|
|
53
55
|
};
|
|
54
|
-
}, (0, _ThemeProvider.getOverrides)(_ThemeProvider.Overridable.CollapsibleToggle.Root), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
56
|
+
}, (0, _ThemeProvider.getOverrides)(_ThemeProvider.Overridable.CollapsibleToggle.Root), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9Db2xsYXBzaWJsZVRvZ2dsZS9Db2xsYXBzaWJsZVRvZ2dsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU2tCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9Db2xsYXBzaWJsZVRvZ2dsZS9Db2xsYXBzaWJsZVRvZ2dsZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN5bnRoZXRpY0V2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCdcbmltcG9ydCBCdXR0b24gZnJvbSAnLi4vQnV0dG9uJ1xuaW1wb3J0IEljb24gZnJvbSAnLi4vSWNvbidcbmltcG9ydCB7IGdldE92ZXJyaWRlcywgT3ZlcnJpZGFibGUgfSBmcm9tICcuLi9UaGVtZVByb3ZpZGVyJ1xuaW1wb3J0IHsgSElHSExJR0hUX0NMQVNTTkFNRSB9IGZyb20gJy4vY29uc3RhbnRzJ1xuaW1wb3J0IFZpc3VhbGx5SGlkZGVuIGZyb20gJy4uL1Zpc3VhbGx5SGlkZGVuJ1xuXG4vLyBvcGVuTGVmdCBpcyB1c2VkIGZvciB2NFxuY29uc3QgSGlnaGxpZ2h0ID0gc3R5bGVkKCdkaXYnKTx7IG9wZW5MZWZ0PzogYm9vbGVhbjsgb3BlblJpZ2h0PzogYm9vbGVhbiB9PihcbiAgKHsgdGhlbWUsIG9wZW5MZWZ0LCBvcGVuUmlnaHQgfSkgPT4gKHtcbiAgICB3aWR0aDogMSxcbiAgICBtaW5XaWR0aDogMSxcbiAgICBtaW5IZWlnaHQ6ICcxMDAlJyxcbiAgICBwb3NpdGlvbjogb3BlblJpZ2h0ID8gJ2Fic29sdXRlJyA6ICdyZWxhdGl2ZScsXG4gICAgdG9wOiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiBvcGVuTGVmdCA/IDEgOiAtMSxcbiAgICB6SW5kZXg6IHRoZW1lLnpJbmRleC5TZWNvbmRhcnlOYXZBY3RpdmVJdGVtLFxuICAgICcmOmhvdmVyJzoge1xuICAgICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICBbYCYgIC4ke0hJR0hMSUdIVF9DTEFTU05BTUV9YF06IHtcbiAgICAgICAgb3V0bGluZTogJ25vbmUnLFxuICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS5wYWxldHRlLnByaW1hcnlbMV0sXG4gICAgICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnlbNF1cbiAgICAgIH1cbiAgICB9XG4gIH0pLFxuICBnZXRPdmVycmlkZXMoT3ZlcnJpZGFibGUuQ29sbGFwc2libGVUb2dnbGUuUm9vdClcbilcblxuY29uc3QgVG9nZ2xlQnV0dG9uID0gc3R5bGVkKEJ1dHRvbiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc0Nsb3NlZCcsICd0b3BUb2dnbGUnXS5pbmNsdWRlcyhTdHJpbmcocHJvcCkpXG59KTx7XG4gIGlzQ2xvc2VkPzogYm9vbGVhblxuICB0b3BUb2dnbGU/OiBib29sZWFuXG59PihcbiAgKHsgaXNDbG9zZWQsIHRoZW1lLCB0b3BUb2dnbGUgfSkgPT4gKHtcbiAgICBib3hTaGFkb3c6ICc2cHggMHB4IDhweCAtNnB4IHJnYmEoMTU5LCAxNzMsIDE4NSwgMC43KScsXG4gICAgaGVpZ2h0OiAyMCxcbiAgICB3aWR0aDogMjAsXG4gICAgbWluSGVpZ2h0OiAyMCxcbiAgICBtaW5XaWR0aDogMjAsXG4gICAgbWFyZ2luUmlnaHQ6IC0xNixcbiAgICBjb2xvcjogaXNDbG9zZWQgPyB0aGVtZS5wYWxldHRlLnByaW1hcnlbNF0gOiB0aGVtZS5wYWxldHRlLm5ldXRyYWxbOF0sXG4gICAgYmFja2dyb3VuZDogdGhlbWUucGFsZXR0ZS5uZXV0cmFsWzBdLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHRvcDogdG9wVG9nZ2xlID8gJzIwcHgnIDogJzUwJScsXG4gICAgekluZGV4OiB0aGVtZS56SW5kZXguU2Vjb25kYXJ5TmF2QWN0aXZlSXRlbSxcbiAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC01MCUpJyxcbiAgICAnJjpmb2N1cyc6IHtcbiAgICAgIG91dGxpbmU6ICdub25lJyxcbiAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTUwJSknXG4gICAgfSxcbiAgICAnJjphY3RpdmUsICY6aG92ZXInOiB7XG4gICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICBiYWNrZ3JvdW5kOiB0aGVtZS5wYWxldHRlLnByaW1hcnlbMV0sXG4gICAgICBjb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5WzRdLFxuICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKSdcbiAgICB9XG4gIH0pLFxuICBnZXRPdmVycmlkZXMoT3ZlcnJpZGFibGUuQ29sbGFwc2libGVUb2dnbGUuVG9nZ2xlQnV0dG9uKVxuKVxuXG5leHBvcnQgdHlwZSBDb2xsYXBzaWJsZVRvZ2dsZVByb3BzID0ge1xuICBpZDogc3RyaW5nXG4gIGlzQ2xvc2VkPzogYm9vbGVhblxuICAnZGF0YS1pbnN0cnVtZW50YXRpb24nPzogc3RyaW5nXG4gIG9uQ2xpY2s6IChcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTERpdkVsZW1lbnQ+IHwgU3ludGhldGljRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICkgPT4gdm9pZFxuICBvcGVuTGVmdD86IGJvb2xlYW5cbiAgb3BlblJpZ2h0PzogYm9vbGVhblxuICB0b3BUb2dnbGU/OiBib29sZWFuXG4gIGhpZGRlbkxhYmVsPzogc3RyaW5nXG59XG5cbkNvbGxhcHNpYmxlVG9nZ2xlLmRlZmF1bHRQcm9wcyA9IHtcbiAgJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJzogJ2NvbGxhcHNpYmxldG9nZ2xlJ1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDb2xsYXBzaWJsZVRvZ2dsZSh7XG4gIGlkLFxuICAnZGF0YS1pbnN0cnVtZW50YXRpb24nOiBkYXRhSW5zdHJ1bWVudGF0aW9uLFxuICBpc0Nsb3NlZCxcbiAgaGlkZGVuTGFiZWwsXG4gIG9uQ2xpY2ssXG4gIG9wZW5MZWZ0LFxuICB0b3BUb2dnbGUsXG4gIG9wZW5SaWdodFxufTogQ29sbGFwc2libGVUb2dnbGVQcm9wcykge1xuICBjb25zdCBhcnJvd0ljb252NSA9IGlzQ2xvc2VkID8gKFxuICAgIG9wZW5SaWdodCA/IChcbiAgICAgIDxJY29uLlNtYWxsLkFycm93TGVmdCAvPlxuICAgICkgOiAoXG4gICAgICA8SWNvbi5TbWFsbC5BcnJvd1JpZ2h0IC8+XG4gICAgKVxuICApIDogb3BlblJpZ2h0ID8gKFxuICAgIDxJY29uLlNtYWxsLkFycm93UmlnaHQgLz5cbiAgKSA6IChcbiAgICA8SWNvbi5TbWFsbC5BcnJvd0xlZnQgLz5cbiAgKVxuXG4gIGNvbnN0IGFycm93SWNvbnY0ID0gaXNDbG9zZWQgPyAoXG4gICAgb3BlbkxlZnQgPyAoXG4gICAgICA8SWNvbi5TbWFsbC5BcnJvd0xlZnQgLz5cbiAgICApIDogKFxuICAgICAgPEljb24uU21hbGwuQXJyb3dSaWdodCAvPlxuICAgIClcbiAgKSA6IG9wZW5MZWZ0ID8gKFxuICAgIDxJY29uLlNtYWxsLkFycm93UmlnaHQgLz5cbiAgKSA6IChcbiAgICA8SWNvbi5TbWFsbC5BcnJvd0xlZnQgLz5cbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPEhpZ2hsaWdodFxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIG9wZW5MZWZ0PXtvcGVuTGVmdH1cbiAgICAgIG9wZW5SaWdodD17b3BlblJpZ2h0fVxuICAgICAgZGF0YS1pbnN0cnVtZW50YXRpb249e2Ake2RhdGFJbnN0cnVtZW50YXRpb259LWhpZ2hsaWdodGB9XG4gICAgPlxuICAgICAgPFRvZ2dsZUJ1dHRvblxuICAgICAgICBpY29uXG4gICAgICAgIGRhdGEtaW5zdHJ1bWVudGF0aW9uPXtkYXRhSW5zdHJ1bWVudGF0aW9ufVxuICAgICAgICBpc0Nsb3NlZD17aXNDbG9zZWR9XG4gICAgICAgIGNpcmNsZVxuICAgICAgICBzbWFsbFxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e0hJR0hMSUdIVF9DTEFTU05BTUV9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAgdG9wVG9nZ2xlPXt0b3BUb2dnbGV9XG4gICAgICA+XG4gICAgICAgIHtvcGVuTGVmdCA/IGFycm93SWNvbnY0IDogYXJyb3dJY29udjV9XG4gICAgICAgIHtoaWRkZW5MYWJlbCAmJiA8VmlzdWFsbHlIaWRkZW4+e2hpZGRlbkxhYmVsfTwvVmlzdWFsbHlIaWRkZW4+fVxuICAgICAgPC9Ub2dnbGVCdXR0b24+XG4gICAgPC9IaWdobGlnaHQ+XG4gIClcbn1cbiJdfQ== */");
|
|
55
57
|
var ToggleButton = ( /*#__PURE__*/0, _base["default"])(_Button["default"], process.env.NODE_ENV === "production" ? {
|
|
56
58
|
shouldForwardProp: function shouldForwardProp(prop) {
|
|
57
|
-
return
|
|
59
|
+
return !['isClosed', 'topToggle'].includes(String(prop));
|
|
58
60
|
},
|
|
59
61
|
target: "ezxmtq90"
|
|
60
62
|
} : {
|
|
61
63
|
shouldForwardProp: function shouldForwardProp(prop) {
|
|
62
|
-
return
|
|
64
|
+
return !['isClosed', 'topToggle'].includes(String(prop));
|
|
63
65
|
},
|
|
64
66
|
target: "ezxmtq90",
|
|
65
67
|
label: "ToggleButton"
|
|
66
68
|
})(function (_ref2) {
|
|
67
69
|
var isClosed = _ref2.isClosed,
|
|
68
|
-
theme = _ref2.theme
|
|
70
|
+
theme = _ref2.theme,
|
|
71
|
+
topToggle = _ref2.topToggle;
|
|
69
72
|
return {
|
|
70
73
|
boxShadow: '6px 0px 8px -6px rgba(159, 173, 185, 0.7)',
|
|
71
74
|
height: 20,
|
|
@@ -76,7 +79,8 @@ var ToggleButton = ( /*#__PURE__*/0, _base["default"])(_Button["default"], proce
|
|
|
76
79
|
color: isClosed ? theme.palette.primary[4] : theme.palette.neutral[8],
|
|
77
80
|
background: theme.palette.neutral[0],
|
|
78
81
|
position: 'absolute',
|
|
79
|
-
top: '50%',
|
|
82
|
+
top: topToggle ? '20px' : '50%',
|
|
83
|
+
zIndex: theme.zIndex.SecondaryNavActiveItem,
|
|
80
84
|
transform: 'translateX(-50%)',
|
|
81
85
|
'&:focus': {
|
|
82
86
|
outline: 'none',
|
|
@@ -89,7 +93,7 @@ var ToggleButton = ( /*#__PURE__*/0, _base["default"])(_Button["default"], proce
|
|
|
89
93
|
transform: 'translateX(-50%)'
|
|
90
94
|
}
|
|
91
95
|
};
|
|
92
|
-
}, (0, _ThemeProvider.getOverrides)(_ThemeProvider.Overridable.CollapsibleToggle.ToggleButton), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
96
|
+
}, (0, _ThemeProvider.getOverrides)(_ThemeProvider.Overridable.CollapsibleToggle.ToggleButton), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9Db2xsYXBzaWJsZVRvZ2dsZS9Db2xsYXBzaWJsZVRvZ2dsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0NxQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvQ29sbGFwc2libGVUb2dnbGUvQ29sbGFwc2libGVUb2dnbGUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTeW50aGV0aWNFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCBJY29uIGZyb20gJy4uL0ljb24nXG5pbXBvcnQgeyBnZXRPdmVycmlkZXMsIE92ZXJyaWRhYmxlIH0gZnJvbSAnLi4vVGhlbWVQcm92aWRlcidcbmltcG9ydCB7IEhJR0hMSUdIVF9DTEFTU05BTUUgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCBWaXN1YWxseUhpZGRlbiBmcm9tICcuLi9WaXN1YWxseUhpZGRlbidcblxuLy8gb3BlbkxlZnQgaXMgdXNlZCBmb3IgdjRcbmNvbnN0IEhpZ2hsaWdodCA9IHN0eWxlZCgnZGl2Jyk8eyBvcGVuTGVmdD86IGJvb2xlYW47IG9wZW5SaWdodD86IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBvcGVuTGVmdCwgb3BlblJpZ2h0IH0pID0+ICh7XG4gICAgd2lkdGg6IDEsXG4gICAgbWluV2lkdGg6IDEsXG4gICAgbWluSGVpZ2h0OiAnMTAwJScsXG4gICAgcG9zaXRpb246IG9wZW5SaWdodCA/ICdhYnNvbHV0ZScgOiAncmVsYXRpdmUnLFxuICAgIHRvcDogMCxcbiAgICBib3R0b206IDAsXG4gICAgbGVmdDogb3BlbkxlZnQgPyAxIDogLTEsXG4gICAgekluZGV4OiB0aGVtZS56SW5kZXguU2Vjb25kYXJ5TmF2QWN0aXZlSXRlbSxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgW2AmICAuJHtISUdITElHSFRfQ0xBU1NOQU1FfWBdOiB7XG4gICAgICAgIG91dGxpbmU6ICdub25lJyxcbiAgICAgICAgYmFja2dyb3VuZDogdGhlbWUucGFsZXR0ZS5wcmltYXJ5WzFdLFxuICAgICAgICBjb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5WzRdXG4gICAgICB9XG4gICAgfVxuICB9KSxcbiAgZ2V0T3ZlcnJpZGVzKE92ZXJyaWRhYmxlLkNvbGxhcHNpYmxlVG9nZ2xlLlJvb3QpXG4pXG5cbmNvbnN0IFRvZ2dsZUJ1dHRvbiA9IHN0eWxlZChCdXR0b24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNDbG9zZWQnLCAndG9wVG9nZ2xlJ10uaW5jbHVkZXMoU3RyaW5nKHByb3ApKVxufSk8e1xuICBpc0Nsb3NlZD86IGJvb2xlYW5cbiAgdG9wVG9nZ2xlPzogYm9vbGVhblxufT4oXG4gICh7IGlzQ2xvc2VkLCB0aGVtZSwgdG9wVG9nZ2xlIH0pID0+ICh7XG4gICAgYm94U2hhZG93OiAnNnB4IDBweCA4cHggLTZweCByZ2JhKDE1OSwgMTczLCAxODUsIDAuNyknLFxuICAgIGhlaWdodDogMjAsXG4gICAgd2lkdGg6IDIwLFxuICAgIG1pbkhlaWdodDogMjAsXG4gICAgbWluV2lkdGg6IDIwLFxuICAgIG1hcmdpblJpZ2h0OiAtMTYsXG4gICAgY29sb3I6IGlzQ2xvc2VkID8gdGhlbWUucGFsZXR0ZS5wcmltYXJ5WzRdIDogdGhlbWUucGFsZXR0ZS5uZXV0cmFsWzhdLFxuICAgIGJhY2tncm91bmQ6IHRoZW1lLnBhbGV0dGUubmV1dHJhbFswXSxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6IHRvcFRvZ2dsZSA/ICcyMHB4JyA6ICc1MCUnLFxuICAgIHpJbmRleDogdGhlbWUuekluZGV4LlNlY29uZGFyeU5hdkFjdGl2ZUl0ZW0sXG4gICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKScsXG4gICAgJyY6Zm9jdXMnOiB7XG4gICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC01MCUpJ1xuICAgIH0sXG4gICAgJyY6YWN0aXZlLCAmOmhvdmVyJzoge1xuICAgICAgb3V0bGluZTogJ25vbmUnLFxuICAgICAgYmFja2dyb3VuZDogdGhlbWUucGFsZXR0ZS5wcmltYXJ5WzFdLFxuICAgICAgY29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeVs0XSxcbiAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTUwJSknXG4gICAgfVxuICB9KSxcbiAgZ2V0T3ZlcnJpZGVzKE92ZXJyaWRhYmxlLkNvbGxhcHNpYmxlVG9nZ2xlLlRvZ2dsZUJ1dHRvbilcbilcblxuZXhwb3J0IHR5cGUgQ29sbGFwc2libGVUb2dnbGVQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZ1xuICBpc0Nsb3NlZD86IGJvb2xlYW5cbiAgJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJz86IHN0cmluZ1xuICBvbkNsaWNrOiAoXG4gICAgZXZlbnQ6IFN5bnRoZXRpY0V2ZW50PEhUTUxEaXZFbGVtZW50PiB8IFN5bnRoZXRpY0V2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICApID0+IHZvaWRcbiAgb3BlbkxlZnQ/OiBib29sZWFuXG4gIG9wZW5SaWdodD86IGJvb2xlYW5cbiAgdG9wVG9nZ2xlPzogYm9vbGVhblxuICBoaWRkZW5MYWJlbD86IHN0cmluZ1xufVxuXG5Db2xsYXBzaWJsZVRvZ2dsZS5kZWZhdWx0UHJvcHMgPSB7XG4gICdkYXRhLWluc3RydW1lbnRhdGlvbic6ICdjb2xsYXBzaWJsZXRvZ2dsZSdcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ29sbGFwc2libGVUb2dnbGUoe1xuICBpZCxcbiAgJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJzogZGF0YUluc3RydW1lbnRhdGlvbixcbiAgaXNDbG9zZWQsXG4gIGhpZGRlbkxhYmVsLFxuICBvbkNsaWNrLFxuICBvcGVuTGVmdCxcbiAgdG9wVG9nZ2xlLFxuICBvcGVuUmlnaHRcbn06IENvbGxhcHNpYmxlVG9nZ2xlUHJvcHMpIHtcbiAgY29uc3QgYXJyb3dJY29udjUgPSBpc0Nsb3NlZCA/IChcbiAgICBvcGVuUmlnaHQgPyAoXG4gICAgICA8SWNvbi5TbWFsbC5BcnJvd0xlZnQgLz5cbiAgICApIDogKFxuICAgICAgPEljb24uU21hbGwuQXJyb3dSaWdodCAvPlxuICAgIClcbiAgKSA6IG9wZW5SaWdodCA/IChcbiAgICA8SWNvbi5TbWFsbC5BcnJvd1JpZ2h0IC8+XG4gICkgOiAoXG4gICAgPEljb24uU21hbGwuQXJyb3dMZWZ0IC8+XG4gIClcblxuICBjb25zdCBhcnJvd0ljb252NCA9IGlzQ2xvc2VkID8gKFxuICAgIG9wZW5MZWZ0ID8gKFxuICAgICAgPEljb24uU21hbGwuQXJyb3dMZWZ0IC8+XG4gICAgKSA6IChcbiAgICAgIDxJY29uLlNtYWxsLkFycm93UmlnaHQgLz5cbiAgICApXG4gICkgOiBvcGVuTGVmdCA/IChcbiAgICA8SWNvbi5TbWFsbC5BcnJvd1JpZ2h0IC8+XG4gICkgOiAoXG4gICAgPEljb24uU21hbGwuQXJyb3dMZWZ0IC8+XG4gIClcblxuICByZXR1cm4gKFxuICAgIDxIaWdobGlnaHRcbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICBvcGVuTGVmdD17b3BlbkxlZnR9XG4gICAgICBvcGVuUmlnaHQ9e29wZW5SaWdodH1cbiAgICAgIGRhdGEtaW5zdHJ1bWVudGF0aW9uPXtgJHtkYXRhSW5zdHJ1bWVudGF0aW9ufS1oaWdobGlnaHRgfVxuICAgID5cbiAgICAgIDxUb2dnbGVCdXR0b25cbiAgICAgICAgaWNvblxuICAgICAgICBkYXRhLWluc3RydW1lbnRhdGlvbj17ZGF0YUluc3RydW1lbnRhdGlvbn1cbiAgICAgICAgaXNDbG9zZWQ9e2lzQ2xvc2VkfVxuICAgICAgICBjaXJjbGVcbiAgICAgICAgc21hbGxcbiAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgY2xhc3NOYW1lPXtISUdITElHSFRfQ0xBU1NOQU1FfVxuICAgICAgICBpZD17aWR9XG4gICAgICAgIHRvcFRvZ2dsZT17dG9wVG9nZ2xlfVxuICAgICAgPlxuICAgICAgICB7b3BlbkxlZnQgPyBhcnJvd0ljb252NCA6IGFycm93SWNvbnY1fVxuICAgICAgICB7aGlkZGVuTGFiZWwgJiYgPFZpc3VhbGx5SGlkZGVuPntoaWRkZW5MYWJlbH08L1Zpc3VhbGx5SGlkZGVuPn1cbiAgICAgIDwvVG9nZ2xlQnV0dG9uPlxuICAgIDwvSGlnaGxpZ2h0PlxuICApXG59XG4iXX0= */");
|
|
93
97
|
CollapsibleToggle.defaultProps = {
|
|
94
98
|
'data-instrumentation': 'collapsibletoggle'
|
|
95
99
|
};
|
|
@@ -100,8 +104,19 @@ function CollapsibleToggle(_ref3) {
|
|
|
100
104
|
isClosed = _ref3.isClosed,
|
|
101
105
|
hiddenLabel = _ref3.hiddenLabel,
|
|
102
106
|
onClick = _ref3.onClick,
|
|
103
|
-
openLeft = _ref3.openLeft
|
|
104
|
-
|
|
107
|
+
openLeft = _ref3.openLeft,
|
|
108
|
+
topToggle = _ref3.topToggle,
|
|
109
|
+
openRight = _ref3.openRight;
|
|
110
|
+
var arrowIconv5 = isClosed ? openRight ? (0, _jsxRuntime.jsx)(_Icon["default"].Small.ArrowLeft, {
|
|
111
|
+
"data-gs": gs("src", "collapsibletoggle", "collapsibletoggle.tsx", "collapsible-toggle", "icon-small-arrow-left")
|
|
112
|
+
}) : (0, _jsxRuntime.jsx)(_Icon["default"].Small.ArrowRight, {
|
|
113
|
+
"data-gs": gs("src", "collapsibletoggle", "collapsibletoggle.tsx", "collapsible-toggle", "icon-small-arrow-right")
|
|
114
|
+
}) : openRight ? (0, _jsxRuntime.jsx)(_Icon["default"].Small.ArrowRight, {
|
|
115
|
+
"data-gs": gs("src", "collapsibletoggle", "collapsibletoggle.tsx", "collapsible-toggle", "icon-small-arrow-right")
|
|
116
|
+
}) : (0, _jsxRuntime.jsx)(_Icon["default"].Small.ArrowLeft, {
|
|
117
|
+
"data-gs": gs("src", "collapsibletoggle", "collapsibletoggle.tsx", "collapsible-toggle", "icon-small-arrow-left")
|
|
118
|
+
});
|
|
119
|
+
var arrowIconv4 = isClosed ? openLeft ? (0, _jsxRuntime.jsx)(_Icon["default"].Small.ArrowLeft, {
|
|
105
120
|
"data-gs": gs("src", "collapsibletoggle", "collapsibletoggle.tsx", "collapsible-toggle", "icon-small-arrow-left")
|
|
106
121
|
}) : (0, _jsxRuntime.jsx)(_Icon["default"].Small.ArrowRight, {
|
|
107
122
|
"data-gs": gs("src", "collapsibletoggle", "collapsibletoggle.tsx", "collapsible-toggle", "icon-small-arrow-right")
|
|
@@ -114,6 +129,7 @@ function CollapsibleToggle(_ref3) {
|
|
|
114
129
|
"data-gs": gs("src", "collapsibletoggle", "collapsibletoggle.tsx", "collapsible-toggle", "highlight"),
|
|
115
130
|
onClick: onClick,
|
|
116
131
|
openLeft: openLeft,
|
|
132
|
+
openRight: openRight,
|
|
117
133
|
"data-instrumentation": "".concat(dataInstrumentation, "-highlight"),
|
|
118
134
|
children: (0, _jsxRuntime.jsxs)(ToggleButton, {
|
|
119
135
|
"data-gs": gs("src", "collapsibletoggle", "collapsibletoggle.tsx", "collapsible-toggle", "highlight", "toggle-button"),
|
|
@@ -125,7 +141,8 @@ function CollapsibleToggle(_ref3) {
|
|
|
125
141
|
onClick: onClick,
|
|
126
142
|
className: _constants.HIGHLIGHT_CLASSNAME,
|
|
127
143
|
id: id,
|
|
128
|
-
|
|
144
|
+
topToggle: topToggle,
|
|
145
|
+
children: [openLeft ? arrowIconv4 : arrowIconv5, hiddenLabel && (0, _jsxRuntime.jsx)(_VisuallyHidden["default"], {
|
|
129
146
|
"data-gs-c": gsC(hiddenLabel),
|
|
130
147
|
"data-gs": gs("src", "collapsibletoggle", "collapsibletoggle.tsx", "collapsible-toggle", "highlight", "toggle-button", "visually-hidden"),
|
|
131
148
|
children: hiddenLabel
|
|
@@ -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. */
|
|
@@ -51,8 +54,8 @@ export declare type DataGridProps = {
|
|
|
51
54
|
/** Count of rows that have already been loaded. */
|
|
52
55
|
rowCount: number;
|
|
53
56
|
/** Required by react-virtualized table. */
|
|
54
|
-
rowGetter: (
|
|
55
|
-
index:
|
|
57
|
+
rowGetter: (props: {
|
|
58
|
+
index: number;
|
|
56
59
|
}) => any;
|
|
57
60
|
/** Whether rows can be selected (and how many). */
|
|
58
61
|
selectable?: SelectableType | false;
|
|
@@ -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+IFByb21pc2U8YW55PlxuICAvKiogQ291bnQgb2Ygcm93cyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGxvYWRlZC4gKi9cbiAgcm93Q291bnQ6IG51bWJlclxuICAvKiogUmVxdWlyZWQgYnkgcmVhY3QtdmlydHVhbGl6ZWQgdGFibGUuICovXG4gIHJvd0dldHRlcjogKHsgaW5kZXg6IG51bWJlciB9KSA9PiBhbnlcbiAgLyoqIFdoZXRoZXIgcm93cyBjYW4gYmUgc2VsZWN0ZWQgKGFuZCBob3cgbWFueSkuICovXG4gIHNlbGVjdGFibGU/OiBTZWxlY3RhYmxlVHlwZSB8IGZhbHNlXG4gIC8qKiBBcnJheSBvZiBpbmRpY2VzIHRoYXQgc2hvdWxkIGJlIHNlbGVjdGVkLiBPbmx5IHVzZWQgaWYgYHNlbGVjdGFibGVgIGlzIHNldC4gKi9cbiAgc2VsZWN0ZWRSb3dzOiBBcnJheTxudW1iZXI+XG4gIC8qKiBUaGUgY29sdW1uIHlvdSB3YW50IHRvIHNvcnQgKi9cbiAgc29ydEJ5Pzogc3RyaW5nXG4gIC8qKiBUaGUgZGlyZWN0aW9uIHNvcnRpbmcgc2hvdWxkIGJlIGRvbmUgKi9cbiAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb25UeXBlXG4gIC8qKiBBIG1hcCBvZiBjb2x1bW5zIHRvIGZpbHRlciBkYXRhICovXG4gIGZpbHRlcnM/OiB7IFtkYXRhS2V5OiBzdHJpbmddOiBhbnkgfVxuICAvKiogU2V0IHRoZSB3aWR0aCBvZiBzY3JvbGxhYmxlIGNvbnRlbnQgKi9cbiAgc2Nyb2xsV2lkdGg/OiBudW1iZXJcbiAgd2lkdGg6IG51bWJlclxuICBoZWlnaHQ6IG51bWJlclxuICAvKiogTG9jYWxlIHN0cmluZzogamEsIGRlLCBlcywga28sIGVuLCBldGMuICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKiogTG9jYWxlIHN0cmluZ3MgdG8gb3ZlcnJpZGUgZW4gZm9yIGxhbmd1YWdlIGluIGxvY2FsZSAqL1xuICBsb2NhbGVTdHJpbmdzPzogTG9jYWxlU3RyaW5nc1xuICAvKiogYWxsb3cgZXZlbnRzIHRvIHByb3BhZ2F0ZSB0byBhIGNlbGwgb24gcm93IHNlbGVjdCAqL1xuICBhbGxvd1Jvd0V2ZW50UGFzc3Rocm91Z2g/OiBib29sZWFuXG59ICYgUGFydGlhbDxUYWJsZVByb3BzPlxuXG50eXBlIERhdGFHcmlkU3RhdGUgPSB7XG4gIGFjdGl2ZUNvbnRleHRNZW51OiBhY3RpdmVDb250ZXh0TWVudVN0YXRlIHwgbnVsbFxuICBkaXNhYmxlS2V5Ym9hcmRTaG9ydGN1dHM6IGJvb2xlYW5cbiAgZm9jdXNlZFJvdzogbnVtYmVyIHwgbnVsbFxuICBzZWxlY3Rpbmc6IGJvb2xlYW5cbiAgbGFzdFNlbGVjdGVkUm93OiBudW1iZXIgfCBudWxsXG59XG5cbnR5cGUgSGFuZGxlRmlsdGVyQXJndW1lbnRzID0ge1xuICBzb3J0Qnk/OiBzdHJpbmdcbiAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb25UeXBlXG4gIGZpbHRlcnM/OiBhbnlcbn1cblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgZGF0YSBpbiBhIGdyaWQgd2l0aCBzdXBwb3J0IGZvciB0aGluZ3MgbGlrZVxuICogZmlsdGVyaW5nLCBzb3J0aW5nLCBhbmQgY29udGV4dCBtZW51cy5cbiAqXG4gKiBEZXBlbmRzIG9uIHJlYWN0LXZpcnR1YWxpemVkL3N0eWxlcy5jc3MuXG4gKlxuICogRm9yIHJlYWN0LXZpcnR1YWxpemVkIFRhYmxlIGRvY3Mgc2VlOiBodHRwczovL2dpdGh1Yi5jb20vYnZhdWdobi9yZWFjdC12aXJ0dWFsaXplZC9ibG9iL21hc3Rlci9kb2NzL1RhYmxlLm1kXG4gKlxuICovXG5jbGFzcyBEYXRhR3JpZCBleHRlbmRzIENvbXBvbmVudDxEYXRhR3JpZFByb3BzLCBEYXRhR3JpZFN0YXRlPiB7XG4gIC8vIGV4cG9zZSBzdWItY29tcG9uZW50c1xuICBzdGF0aWMgQ29sdW1uID0gY3VycnkoQmFzaWNDb2x1bW4pXG4gIHN0YXRpYyBTb3J0RGlyZWN0aW9uID0gU29ydERpcmVjdGlvblxuICBzdGF0aWMgRWxlbWVudHMgPSBFbGVtZW50c1xuICBzdGF0aWMgSW5wdXRDZWxsID0gSW5wdXRDZWxsXG4gIHN0YXRpYyBDb2xsYXBzaWJsZUNlbGwgPSBDb2xsYXBzaWJsZUNlbGxcbiAgc3RhdGljIFJlbmRlcmVycyA9IFJlbmRlcmVyc1xuXG4gIHN0YXRpYyBTSU5HTEVfU0VMRUNUOiBTZWxlY3RhYmxlVHlwZSA9ICdzaW5nbGUnXG4gIHN0YXRpYyBNVUxUSV9TRUxFQ1Q6IFNlbGVjdGFibGVUeXBlID0gJ211bHRpJ1xuXG4gIHN0YXRpYyB1dGlscyA9IGRhdGFHcmlkVXRpbHNcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGxvYWRNb3JlUm93czogbm9vcCxcbiAgICBvblNlbGVjdDogbm9vcCxcbiAgICBvbkZpbHRlcjogbm9vcCxcbiAgICAnZGF0YS1pbnN0cnVtZW50YXRpb24nOiAnZGF0YWdyaWQnLFxuICAgIHNvcnRCeTogJycsXG4gICAgc29ydERpcmVjdGlvbjogU29ydERpcmVjdGlvbi5BU0MsXG4gICAgZmlsdGVyczoge30sXG4gICAgc2VsZWN0ZWRSb3dzOiBbXSxcbiAgICBhbGxvd1Jvd0V2ZW50UGFzc3Rocm91Z2g6IGZhbHNlXG4gIH1cblxuICBzdGF0aWMgZGlzcGxheU5hbWUgPSAnRGF0YUdyaWQnXG5cbiAgc3RhdGU6IERhdGFHcmlkU3RhdGUgPSB7XG4gICAgYWN0aXZlQ29udGV4dE1lbnU6IG51bGwsXG4gICAgZGlzYWJsZUtleWJvYXJkU2hvcnRjdXRzOiBmYWxzZSxcbiAgICBmb2N1c2VkUm93OiBudWxsLFxuICAgIGxhc3RTZWxlY3RlZFJvdzogbnVsbCxcbiAgICBzZWxlY3Rpbmc6IGZhbHNlXG4gIH1cblxuICBpbmZpbml0ZVRhYmxlID0gUmVhY3QuY3JlYXRlUmVmPEluZmluaXRlTG9hZGVyPigpXG5cbiAgY29sdW1uVHJhbnNmb3JtZXI6IChcbiAgICBjb2x1bW5zOiBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PltdLFxuICAgIHJvd0RhdGE6IGFueSxcbiAgICByb3dJbmRleDogbnVtYmVyXG4gICkgPT4gUmVhY3QuUmVhY3ROb2RlW10gfCBudWxsIHwgdW5kZWZpbmVkXG5cbiAgc2VsZWN0ID0gKHtcbiAgICBpbmRleCxcbiAgICBjb250aWd1b3VzID0gZmFsc2VcbiAgfToge1xuICAgIGluZGV4OiBudW1iZXJcbiAgICBjb250aWd1b3VzOiBib29sZWFuXG4gIH0pID0+IHtcbiAgICBpZiAoaW5kZXggPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHsgbGFzdFNlbGVjdGVkUm93IH0gPSBzdGF0ZVxuICAgICAgY29uc3QgeyBzZWxlY3RlZFJvd3MgfSA9IHRoaXMucHJvcHNcbiAgICAgIGxldCBzZWxlY3RlZCA9IFsuLi5zZWxlY3RlZFJvd3MsIGluZGV4XVxuICAgICAgaWYgKHRoaXMucHJvcHMuc2VsZWN0YWJsZSA9PT0gRGF0YUdyaWQuU0lOR0xFX1NFTEVDVCkge1xuICAgICAgICBzZWxlY3RlZCA9IFtpbmRleF1cbiAgICAgIH0gZWxzZSBpZiAoY29udGlndW91cyAmJiB0eXBlb2YgbGFzdFNlbGVjdGVkUm93ID09PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zdCBzdGFydCA9IE1hdGgubWluKGxhc3RTZWxlY3RlZFJvdywgaW5kZXgpXG4gICAgICAgIGNvbnN0IGVuZCA9IE1hdGgubWF4KGxhc3RTZWxlY3RlZFJvdywgaW5kZXgpXG4gICAgICAgIHNlbGVjdGVkID0gdW5pcShbLi4uc2VsZWN0ZWRSb3dzLCAuLi5yYW5nZShzdGFydCwgZW5kICsgMSldKVxuICAgICAgfVxuICAgICAgdGhpcy5wcm9wcy5vblNlbGVjdChzZWxlY3RlZClcbiAgICAgIHJldHVybiB7IGxhc3RTZWxlY3RlZFJvdzogaW5kZXggfVxuICAgIH0pXG4gIH1cblxuICBzZWxlY3RBbGwgPSAoKSA9PiB7XG4gICAgY29uc3QgeyByb3dDb3VudCB9ID0gdGhpcy5wcm9wc1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRSb3dzKEFycmF5LmZyb20oeyBsZW5ndGg6IHJvd0NvdW50IH0pLm1hcCgoXywgaWR4KSA9PiBpZHgpKVxuICB9XG5cbiAgZGVzZWxlY3QgPSAoe1xuICAgIGluZGV4LFxuICAgIGNvbnRpZ3VvdXMgPSBmYWxzZVxuICB9OiB7XG4gICAgaW5kZXg6IG51bWJlclxuICAgIGNvbnRpZ3VvdXM6IGJvb2xlYW5cbiAgfSkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuc2V0U3RhdGUoc3RhdGUgPT4ge1xuICAgICAgY29uc3QgeyBsYXN0U2VsZWN0ZWRSb3cgfSA9IHN0YXRlXG4gICAgICBjb25zdCB7IHNlbGVjdGVkUm93cyB9ID0gdGhpcy5wcm9wc1xuICAgICAgbGV0IHNlbGVjdGVkID0gc2VsZWN0ZWRSb3dzLmZpbHRlcihpZHggPT4gaWR4ICE9PSBpbmRleClcbiAgICAgIGlmIChjb250aWd1b3VzICYmIHR5cGVvZiBsYXN0U2VsZWN0ZWRSb3cgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gTWF0aC5taW4obGFzdFNlbGVjdGVkUm93LCBpbmRleClcbiAgICAgICAgY29uc3QgZW5kID0gTWF0aC5tYXgobGFzdFNlbGVjdGVkUm93LCBpbmRleClcbiAgICAgICAgY29uc3QgdG9EZXNlbGVjdCA9IHJhbmdlKHN0YXJ0LCBlbmQgKyAxKVxuICAgICAgICBzZWxlY3RlZCA9IHNlbGVjdGVkUm93cy5maWx0ZXIoaWR4ID0+ICFpbmNsdWRlcyh0b0Rlc2VsZWN0LCBpZHgpKVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnByb3BzLnNlbGVjdGFibGUgPT09IERhdGFHcmlkLlNJTkdMRV9TRUxFQ1QgJiZcbiAgICAgICAgIXNlbGVjdGVkLmxlbmd0aFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9XG4gICAgICB0aGlzLnByb3BzLm9uU2VsZWN0KHNlbGVjdGVkKVxuICAgICAgcmV0dXJuIHsgbGFzdFNlbGVjdGVkUm93OiBpbmRleCB9XG4gICAgfSlcbiAgfVxuXG4gIGRlc2VsZWN0QWxsID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRSb3dzKFtdKVxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbGFzdFNlbGVjdGVkUm93OiBudWxsXG4gICAgfSlcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdCA9ICh7XG4gICAgaW5kZXgsXG4gICAgY29udGlndW91c1xuICB9OiB7XG4gICAgaW5kZXg6IG51bWJlclxuICAgIGNvbnRpZ3VvdXM6IGJvb2xlYW5cbiAgfSkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmICghdGhpcy5wcm9wcy5zZWxlY3RlZFJvd3MuaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICB0aGlzLnNlbGVjdCh7IGluZGV4LCBjb250aWd1b3VzIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVzZWxlY3QoeyBpbmRleCwgY29udGlndW91cyB9KVxuICAgIH1cbiAgfVxuXG4gIHNldFNlbGVjdGVkUm93cyA9IChyb3dzOiBBcnJheTxudW1iZXI+KSA9PiB7XG4gICAgdGhpcy5wcm9wcy5vblNlbGVjdChyb3dzKVxuICB9XG5cbiAgaGFuZGxlRmlsdGVyID0gKHtcbiAgICBzb3J0QnksXG4gICAgc29ydERpcmVjdGlvbixcbiAgICBmaWx0ZXJzXG4gIH06IEhhbmRsZUZpbHRlckFyZ3VtZW50cykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHNvcnRCeTogb2xkU29ydEJ5LFxuICAgICAgc29ydERpcmVjdGlvbjogb2xkU29ydERpcmVjdGlvbixcbiAgICAgIGZpbHRlcnM6IG9sZEZpbHRlcnNcbiAgICB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IG5ld0RhdGEgPSB7XG4gICAgICBzb3J0Qnk6IHNvcnRCeSB8fCBvbGRTb3J0QnksXG4gICAgICBzb3J0RGlyZWN0aW9uOiBzb3J0RGlyZWN0aW9uIHx8IG9sZFNvcnREaXJlY3Rpb24sXG4gICAgICBmaWx0ZXJzOiB7XG4gICAgICAgIC4uLm9sZEZpbHRlcnMsXG4gICAgICAgIC4uLmZpbHRlcnNcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5wcm9wcy5vbkZpbHRlcihuZXdEYXRhKVxuICB9XG5cbiAgaGFuZGxlS2V5RG93biA9IChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZS5kaXNhYmxlS2V5Ym9hcmRTaG9ydGN1dHMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnYSc6XG4gICAgICAgIGlmIChcbiAgICAgICAgICAoZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5KSAmJlxuICAgICAgICAgIHRoaXMucHJvcHMuc2VsZWN0YWJsZSA9PT0gRGF0YUdyaWQuTVVMVElfU0VMRUNUXG4gICAgICAgICkge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5yb3dDb3VudCA9PT0gdGhpcy5wcm9wcy5zZWxlY3RlZFJvd3MubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmRlc2VsZWN0QWxsKClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RBbGwoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoc3RhdGUgPT4gKHtcbiAgICAgICAgICBmb2N1c2VkUm93OiBNYXRoLm1heCgoc3RhdGUuZm9jdXNlZFJvdyB8fCAwKSAtIDEsIDApXG4gICAgICAgIH0pKVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLnNldFN0YXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgZm9jdXNlZFJvdzpcbiAgICAgICAgICAgIHN0YXRlLmZvY3VzZWRSb3cgIT0gbnVsbFxuICAgICAgICAgICAgICA/IE1hdGgubWluKHN0YXRlLmZvY3VzZWRSb3cgKyAxLCB0aGlzLnByb3BzLnJvd0NvdW50IC0gMSlcbiAgICAgICAgICAgICAgOiAwXG4gICAgICAgIH0pKVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICBjYXNlICcgJzpcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuc2VsZWN0YWJsZSkge1xuICAgICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0KHtcbiAgICAgICAgICAgIGluZGV4OiB0aGlzLnN0YXRlLmZvY3VzZWRSb3cgfHwgMCxcbiAgICAgICAgICAgIGNvbnRpZ3VvdXM6IGV2ZW50LnNoaWZ0S2V5XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdTaGlmdCc6XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGluZzogdHJ1ZVxuICAgICAgICB9KVxuICAgICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUtleVVwID0gKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlLmRpc2FibGVLZXlib2FyZFNob3J0Y3V0cykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdTaGlmdCc6XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIHNlbGVjdGluZzogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICAvLyB0aHJvdHRsaW5nIHRoaXMgc28gYSBkb3VibGUgY2xpY2sgYmVoYXZlcyBsaWtlIGEgc2luZ2xlIGNsaWNrXG4gIGhhbmRsZVJvd0NsaWNrID0gdGhyb3R0bGUoXG4gICAgKHsgZXZlbnQsIGluZGV4IH06IHsgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8YW55PjsgaW5kZXg6IG51bWJlciB9KSA9PiB7XG4gICAgICBpZiAoIXRoaXMucHJvcHMuYWxsb3dSb3dFdmVudFBhc3N0aHJvdWdoKSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICB9XG5cbiAgICAgIHRoaXMudG9nZ2xlU2VsZWN0KHsgaW5kZXgsIGNvbnRpZ3VvdXM6IGV2ZW50LnNoaWZ0S2V5IH0pXG4gICAgfSxcbiAgICAyNTAsXG4gICAgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogZmFsc2UgfVxuICApXG5cbiAgbWFwQ2hpbGRyZW4gPSAoKSA9PiB7XG4gICAgY29uc3QgSXNBcnJheSA9IChjaGlsZHJlbik6IGNoaWxkcmVuIGlzIEFycmF5PENvbHVtbkZ1bmN0aW9uPiA9PlxuICAgICAgQXJyYXkuaXNBcnJheShjaGlsZHJlbilcblxuICAgIGNvbnN0IGNoaWxkcmVuOiBBcnJheTxDb2x1bW5GdW5jdGlvbj4gPSBJc0FycmF5KHRoaXMucHJvcHMuY2hpbGRyZW4pXG4gICAgICA/IHRoaXMucHJvcHMuY2hpbGRyZW5cbiAgICAgIDogW3RoaXMucHJvcHMuY2hpbGRyZW5dXG5cbiAgICBjb25zdCB2YWxpZENoaWxkcmVuID0gY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IHR5cGVvZiBjaGlsZCA9PT0gJ2Z1bmN0aW9uJylcblxuICAgIHJldHVybiB2YWxpZENoaWxkcmVuLm1hcCgoY2hpbGQsIGluZGV4KSA9PlxuICAgICAgY2hpbGQoe1xuICAgICAgICBsb2NhbGU6IHRoaXMucHJvcHMubG9jYWxlIHx8ICdlbicsXG4gICAgICAgIGxvY2FsZVN0cmluZ3M6IHRoaXMucHJvcHMubG9jYWxlU3RyaW5ncyB8fCB7fSxcbiAgICAgICAgY29sdW1uSW5kZXg6IGluZGV4LFxuICAgICAgICBjb2x1bW5Db3VudDogdmFsaWRDaGlsZHJlbi5sZW5ndGgsXG4gICAgICAgIGdldEZpbHRlclZhbHVlOiBkYXRhS2V5ID0+XG4gICAgICAgICAgdGhpcy5wcm9wcy5maWx0ZXJzICYmIHRoaXMucHJvcHMuZmlsdGVyc1tkYXRhS2V5XSxcbiAgICAgICAgb25IZWFkZXJQb3BvdmVyT3Blbjogb3BlbiA9PlxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBkaXNhYmxlS2V5Ym9hcmRTaG9ydGN1dHM6IG9wZW4gfSksXG4gICAgICAgIG9uU29ydDogc29ydEFyZ3MgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRSb3dzKFtdKVxuICAgICAgICAgIHRoaXMuaGFuZGxlRmlsdGVyKHsgLi4uc29ydEFyZ3MgfSlcbiAgICAgICAgfSxcbiAgICAgICAgb25GaWx0ZXI6ICh7IGRhdGFLZXksIHZhbHVlLCBvcGVyYXRvciB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFJvd3MoW10pXG4gICAgICAgICAgdGhpcy5oYW5kbGVGaWx0ZXIoe1xuICAgICAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgICAgICBbZGF0YUtleV06IG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogdmFsdWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGlzUm93TG9hZGVkID0gKHsgaW5kZXggfTogSW5kZXgpID0+IHtcbiAgICBjb25zdCB7IGhhc01vcmVSb3dzLCByb3dDb3VudCB9ID0gdGhpcy5wcm9wc1xuICAgIHJldHVybiAhaGFzTW9yZVJvd3MgfHwgaW5kZXggPCByb3dDb3VudFxuICB9XG5cbiAgaXNDb250ZXh0TWVudVZpc2libGUgPSAoaW5kZXg6IG51bWJlcikgPT5cbiAgICB0aGlzLnN0YXRlLmFjdGl2ZUNvbnRleHRNZW51ICYmIHRoaXMuc3RhdGUuYWN0aXZlQ29udGV4dE1lbnUuaW5kZXggPT09IGluZGV4XG5cbiAgY2xvc2VDb250ZXh0TWVudSA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGFjdGl2ZUNvbnRleHRNZW51OiBudWxsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnRleHRNZW51UmVuZGVyZXIgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMucHJvcHMuY29udGV4dE1lbnVSZW5kZXJlciAmJlxuICAgICAgdGhpcy5pc0NvbnRleHRNZW51VmlzaWJsZShpbmRleCkgJiZcbiAgICAgIGRvY3VtZW50LmJvZHkgIT09IG51bGxcbiAgICApIHtcbiAgICAgIGNvbnN0IGNvbnRleHRNZW51Q2xvc2VXcmFwcGVyID0gKFxuICAgICAgICA8Q2xvc2VXcmFwcGVyIG9uQ2xvc2U9e3RoaXMuY2xvc2VDb250ZXh0TWVudX0+XG4gICAgICAgICAge3RoaXMucHJvcHMuY29udGV4dE1lbnVSZW5kZXJlcih7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLmFjdGl2ZUNvbnRleHRNZW51LFxuICAgICAgICAgICAgc2VsZWN0ZWRSb3dzOiB0aGlzLnByb3BzLnNlbGVjdGVkUm93cyxcbiAgICAgICAgICAgIG9uQ2xvc2U6IHRoaXMuY2xvc2VDb250ZXh0TWVudVxuICAgICAgICAgIH0pfVxuICAgICAgICA8L0Nsb3NlV3JhcHBlcj5cbiAgICAgIClcbiAgICAgIHJldHVybiBSZWFjdERPTS5jcmVhdGVQb3J0YWwoY29udGV4dE1lbnVDbG9zZVdyYXBwZXIsIGRvY3VtZW50LmJvZHkpXG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBoZWFkZXJSb3dSZW5kZXJlciA9ICh7XG4gICAgY29sdW1ucyxcbiAgICBzdHlsZVxuICB9OiB7XG4gICAgY29sdW1uczogUmVhY3QuUmVhY3ROb2RlW11cbiAgICBzdHlsZToge31cbiAgfSkgPT4gKFxuICAgIDxFbGVtZW50cy5Sb3cgcm9sZT1cInJvd1wiIGhlYWRlciB6ZWJyYSBzdHlsZT17c3R5bGV9PlxuICAgICAge2NvbHVtbnN9XG4gICAgPC9FbGVtZW50cy5Sb3c+XG4gIClcblxuICByb3dSZW5kZXJlciA9ICh7XG4gICAga2V5LFxuICAgIHN0eWxlLFxuICAgIGluZGV4LFxuICAgIHJvd0RhdGEsXG4gICAgY29sdW1ucyxcbiAgICBjbGFzc05hbWUsXG4gICAgb25Sb3dNb3VzZU92ZXIsXG4gICAgb25Sb3dNb3VzZU91dFxuICB9OiBUYWJsZVJvd1Byb3BzKSA9PiAoXG4gICAgPEZvY3VzYWJsZVJvd1xuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBhcmlhLXJvd2luZGV4PXtpbmRleCArIDF9XG4gICAgICB6ZWJyYT17aW5kZXggJSAyID09PSAxfVxuICAgICAgc2VsZWN0ZWQ9e3RoaXMucHJvcHMuc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKGluZGV4KX1cbiAgICAgIHNlbGVjdGluZz17dGhpcy5zdGF0ZS5zZWxlY3Rpbmd9XG4gICAgICBmb2N1c2VkPXtpbmRleCA9PT0gdGhpcy5zdGF0ZS5mb2N1c2VkUm93fVxuICAgICAga2V5PXtrZXl9XG4gICAgICBzdHlsZT17c3R5bGV9XG4gICAgICBvbk1vdXNlTGVhdmU9e2V2ZW50ID0+IHtcbiAgICAgICAgb25Sb3dNb3VzZU91dCAmJiBvblJvd01vdXNlT3V0KHsgcm93RGF0YSwgaW5kZXgsIGV2ZW50IH0pXG4gICAgICB9fVxuICAgICAgb25Nb3VzZUVudGVyPXtldmVudCA9PiB7XG4gICAgICAgIG9uUm93TW91c2VPdmVyICYmIG9uUm93TW91c2VPdmVyKHsgcm93RGF0YSwgaW5kZXgsIGV2ZW50IH0pXG4gICAgICB9fVxuICAgICAgb25Gb2N1cz17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IGZvY3VzZWRSb3c6IGluZGV4IH0pfVxuICAgICAgZGF0YS1pbnN0cnVtZW50YXRpb249e2Ake3RoaXMucHJvcHNbJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJ119LXJvdyR7XG4gICAgICAgIGluZGV4ICsgMVxuICAgICAgfWB9XG4gICAgICBvbkNsaWNrPXtcbiAgICAgICAgdGhpcy5wcm9wcy5zZWxlY3RhYmxlICYmICF0aGlzLnN0YXRlLmFjdGl2ZUNvbnRleHRNZW51XG4gICAgICAgICAgPyBldmVudCA9PiB0aGlzLmhhbmRsZVJvd0NsaWNrKHsgZXZlbnQsIGluZGV4OiBpbmRleCB9KVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICB9XG4gICAgICBvbkNvbnRleHRNZW51PXtcbiAgICAgICAgdGhpcy5wcm9wcy5jb250ZXh0TWVudVJlbmRlcmVyXG4gICAgICAgICAgPyBldmVudCA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIGFjdGl2ZUNvbnRleHRNZW51OiB7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiBldmVudC5jbGllbnRYLFxuICAgICAgICAgICAgICAgICAgdG9wOiBldmVudC5jbGllbnRZLFxuICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICAgICAgcm93RGF0YTogcm93RGF0YVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLnByb3BzLnNlbGVjdGVkUm93cy5pbmNsdWRlcyhpbmRleCkgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnNlbGVjdGFibGVcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSb3dDbGljayh7IGV2ZW50LCBpbmRleDogaW5kZXggfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICAgIG9uRG91YmxlQ2xpY2s9e2V2ZW50ID0+XG4gICAgICAgIHRoaXMucHJvcHMub25Sb3dEb3VibGVDbGljayAmJlxuICAgICAgICB0aGlzLnByb3BzLm9uUm93RG91YmxlQ2xpY2soeyBpbmRleCwgZXZlbnQsIHJvd0RhdGEgfSlcbiAgICAgIH1cbiAgICA+XG4gICAgICB7dGhpcy5jb2x1bW5UcmFuc2Zvcm1lclxuICAgICAgICA/IHRoaXMuY29sdW1uVHJhbnNmb3JtZXIoY29sdW1ucywgcm93RGF0YSwgaW5kZXgpXG4gICAgICAgIDogY29sdW1uc31cbiAgICAgIHt0aGlzLmNvbnRleHRNZW51UmVuZGVyZXIoaW5kZXgpfVxuICAgIDwvRm9jdXNhYmxlUm93PlxuICApXG5cbiAgLyoqXG4gICAqICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgaXMgYWRkZWQgYmVjYXVzZSBldmVuIHRob3VnaCB0aGUgcHJvcHMgYXJlIG5vdCB1c2VkIGluIHRoaXMgY29tcG9uZW50XG4gICAqIHRoZXkgYXJlIGdldHRpbmcgZGVzdHJ1Y3R1cmVkIGludG8gLi4ucHJvcHMgYW5kIHBhc3NlZCBmdXJ0aGVyIGRvd24gdGhlIHRyZWVcbiAgICovXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGhhc01vcmVSb3dzLFxuICAgICAgaGVpZ2h0LFxuICAgICAgbG9hZE1vcmVSb3dzLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgb25GaWx0ZXIsXG4gICAgICByb3dDb3VudCxcbiAgICAgIHNvcnRCeSA9ICcnLFxuICAgICAgc29ydERpcmVjdGlvbixcbiAgICAgIHdpZHRoLFxuICAgICAgLi4ucHJvcHNcbiAgICB9ID0gdGhpcy5wcm9wc1xuXG4gICAgLy8gVGhpcyBmaXhlcyBhbiBpc3N1ZSB3aGVyZSB0aGUgaGVhZGVyIG9mIHRoZSBEYXRhR3JpZCBkb2Vzbid0IHJlbmRlciBvbiBwYWdlIGxvYWQgaW4gU2FmYXJpXG4gICAgY29uc3Qgc2FmYXJpU3R5bGUgPSB7XG4gICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVaKDApYFxuICAgIH1cblxuICAgIGNvbnN0IG1hcHBlZENoaWxkcmVuID0gdGhpcy5tYXBDaGlsZHJlbigpLmZpbHRlcihjaGlsZCA9PiBjaGlsZCAhPT0gbnVsbClcbiAgICAvLyBUT0RPOiBCZXR0ZXIgdHlwZSBzaWduYXR1cmUgd2hlbiBhY2Nlc3NpbmcgY2hpbGRyZW4gcHJvcHM/XG4gICAgY29uc3Qgc3BhbkRhdGEgPSBtYXBwZWRDaGlsZHJlbi5tYXAoKGNoaWxkOiBSZWFjdC5SZWFjdEVsZW1lbnQpID0+ICh7XG4gICAgICBjb2xzcGFuOiBjaGlsZC5wcm9wcy5jb2xzcGFuID8gY2hpbGQucHJvcHMuY29sc3BhbiA6ICgpID0+IDEsXG4gICAgICB3aWR0aDogY2hpbGQucHJvcHMud2lkdGgsXG4gICAgICBmbGV4R3JvdzogY2hpbGQucHJvcHMuZmxleEdyb3dcbiAgICB9KSlcbiAgICB0aGlzLmNvbHVtblRyYW5zZm9ybWVyID0gKFxuICAgICAgY29sdW1uczogUmVhY3QuUmVhY3RFbGVtZW50PGFueT5bXSxcbiAgICAgIHJvd0RhdGEsXG4gICAgICByb3dJbmRleFxuICAgICkgPT4ge1xuICAgICAgY29uc3Qgc3BhbnMgPSBzcGFuRGF0YS5tYXAoaXRlbSA9PiBpdGVtLmNvbHNwYW4ocm93RGF0YSkpXG4gICAgICBjb25zdCBzcGFubmVkQ29sdW1uczogUmVhY3QuUmVhY3RFbGVtZW50W10gPSBbXVxuICAgICAgbGV0IGluZGV4ID0gMFxuICAgICAgd2hpbGUgKGluZGV4IDwgY29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc3BhbiA9IHNwYW5zW2luZGV4XVxuICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zW2luZGV4XVxuICAgICAgICBpZiAoc3BhbiA+IDEpIHtcbiAgICAgICAgICBjb25zdCBmb2xsb3dpbmdDb2x1bW5zID0gc3BhbkRhdGEuc2xpY2UoaW5kZXgsIHNwYW4pXG4gICAgICAgICAgLy8gZmluZCBuZXcgd2lkdGggYnkgYWRkaW5nIGN1cnJlbnQgY29sdW1uIHdpZHRoIHBsdXMgY29sdW1ucyB0aGF0IGFyZSBzcGFubmVkIG92ZXJcblxuICAgICAgICAgIGNvbnN0IHdpZHRoID0gZm9sbG93aW5nQ29sdW1ucy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjdW11bGF0b3IsIHsgd2lkdGggfTogeyB3aWR0aDogbnVtYmVyIH0pID0+IGFjY3VtdWxhdG9yICsgd2lkdGgsXG4gICAgICAgICAgICAwXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgY29uc3QgZmxleEdyb3cgPSBmb2xsb3dpbmdDb2x1bW5zLnJlZHVjZShcbiAgICAgICAgICAgIChhY2N1bXVsYXRvciwgeyBmbGV4R3JvdyB9OiB7IGZsZXhHcm93OiBudW1iZXIgfSkgPT5cbiAgICAgICAgICAgICAgYWNjdW11bGF0b3IgKyBmbGV4R3JvdyxcbiAgICAgICAgICAgIDBcbiAgICAgICAgICApXG4gICAgICAgICAgc3Bhbm5lZENvbHVtbnMucHVzaChcbiAgICAgICAgICAgIFJlYWN0LmNsb25lRWxlbWVudChjb2x1bW4sIHtcbiAgICAgICAgICAgICAgJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJzogYCR7dGhpcy5wcm9wc1snZGF0YS1pbnN0cnVtZW50YXRpb24nXX0tcm93JHtyb3dJbmRleH0tY29sJHtpbmRleH1gLFxuICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgIC4uLkVsZW1lbnRzLmNlbGxSZXNldFN0eWxlLFxuICAgICAgICAgICAgICAgIGZsZXg6IGAwIDEgJHt3aWR0aH1weGAsXG4gICAgICAgICAgICAgICAgZmxleEdyb3dcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgaW5kZXggKz0gc3BhbiAvLyBza2lwIGNvbHVtbnMgdGhhdCBoYXZlIGJlZW4gc3Bhbm5lZCBvdmVyXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3Bhbm5lZENvbHVtbnMucHVzaChcbiAgICAgICAgICAgIFJlYWN0LmNsb25lRWxlbWVudChjb2x1bW4sIHtcbiAgICAgICAgICAgICAgJ2RhdGEtaW5zdHJ1bWVudGF0aW9uJzogYCR7dGhpcy5wcm9wc1snZGF0YS1pbnN0cnVtZW50YXRpb24nXX0tcm93JHtyb3dJbmRleH0tY29sJHtpbmRleH1gXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgICBpbmRleCsrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBzcGFubmVkQ29sdW1uc1xuICAgIH1cblxuICAgIGNvbnN0IFRhYmxlQ29tcG9uZW50ID1cbiAgICAgIHRoaXMucHJvcHMuc2Nyb2xsV2lkdGggIT09IHVuZGVmaW5lZCA/IFNjcm9sbGFibGVUYWJsZSA6IFRhYmxlXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEVsZW1lbnRzLlRhYmxlQ29udGFpbmVyXG4gICAgICAgIGNzcz17eyB3aWR0aCwgaGVpZ2h0IH19XG4gICAgICAgIG9uS2V5RG93bj17dGhpcy5oYW5kbGVLZXlEb3dufVxuICAgICAgICBvbktleVVwPXt0aGlzLmhhbmRsZUtleVVwfVxuICAgICAgICBkYXRhLWluc3RydW1lbnRhdGlvbj17YCR7dGhpcy5wcm9wc1snZGF0YS1pbnN0cnVtZW50YXRpb24nXX0tZ3JpZGB9XG4gICAgICA+XG4gICAgICAgIDxJbmZpbml0ZUxvYWRlclxuICAgICAgICAgIGlzUm93TG9hZGVkPXt0aGlzLmlzUm93TG9hZGVkfVxuICAgICAgICAgIGxvYWRNb3JlUm93cz17bG9hZE1vcmVSb3dzIHx8ICgoKSA9PiBQcm9taXNlLnJlc29sdmUoZmFsc2UpKX1cbiAgICAgICAgICByb3dDb3VudD17aGFzTW9yZVJvd3MgPyByb3dDb3VudCArIDEgOiByb3dDb3VudH1cbiAgICAgICAgICB0aHJlc2hvbGQ9ezV9XG4gICAgICAgICAgcmVmPXt0aGlzLmluZmluaXRlVGFibGV9XG4gICAgICAgID5cbiAgICAgICAgICB7KHsgb25Sb3dzUmVuZGVyZWQsIHJlZ2lzdGVyQ2hpbGQgfSkgPT4gKFxuICAgICAgICAgICAgPFRhYmxlQ29tcG9uZW50XG4gICAgICAgICAgICAgIHN0eWxlPXtzYWZhcmlTdHlsZX1cbiAgICAgICAgICAgICAgZ3JpZFN0eWxlPXt7IG91dGxpbmU6ICdub25lJyB9fVxuICAgICAgICAgICAgICBoZWFkZXJIZWlnaHQ9ezM2fVxuICAgICAgICAgICAgICByb3dIZWlnaHQ9ezMwfVxuICAgICAgICAgICAgICBzb3J0Qnk9e3NvcnRCeX1cbiAgICAgICAgICAgICAgc29ydERpcmVjdGlvbj17c29ydERpcmVjdGlvbn1cbiAgICAgICAgICAgICAgcmVmPXtyZWdpc3RlckNoaWxkfVxuICAgICAgICAgICAgICBub1Jvd3NSZW5kZXJlZD17KCkgPT4gPGRpdj5ObyByZXN1bHRzPC9kaXY+fVxuICAgICAgICAgICAgICBvblJvd3NSZW5kZXJlZD17b25Sb3dzUmVuZGVyZWR9XG4gICAgICAgICAgICAgIG9uU2Nyb2xsPXtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLmFjdGl2ZUNvbnRleHRNZW51XG4gICAgICAgICAgICAgICAgICA/ICgpID0+IHRoaXMuY2xvc2VDb250ZXh0TWVudSgpXG4gICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJvd0NvdW50PXtoYXNNb3JlUm93cyA/IHJvd0NvdW50ICsgMSA6IHJvd0NvdW50fVxuICAgICAgICAgICAgICBoZWFkZXJSb3dSZW5kZXJlcj17dGhpcy5oZWFkZXJSb3dSZW5kZXJlcn1cbiAgICAgICAgICAgICAgcm93UmVuZGVyZXI9e3RoaXMucm93UmVuZGVyZXJ9XG4gICAgICAgICAgICAgIC8vIGFjY291bnQgZm9yIGJvcmRlciB3aWR0aCBvZiBjb250YWluZXJcbiAgICAgICAgICAgICAgd2lkdGg9e3dpZHRoIC0gMn1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHQgLSAyfVxuICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHttYXBwZWRDaGlsZHJlbn1cbiAgICAgICAgICAgIDwvVGFibGVDb21wb25lbnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9JbmZpbml0ZUxvYWRlcj5cbiAgICAgIDwvRWxlbWVudHMuVGFibGVDb250YWluZXI+XG4gICAgKVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IERhdGFHcmlkXG4iXX0= */"),
|
|
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.
|