payload 2.24.1 → 2.25.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/dist/admin/components/elements/Autosave/index.d.ts.map +1 -1
- package/dist/admin/components/elements/Autosave/index.js +16 -8
- package/dist/admin/components/elements/Autosave/types.d.ts +2 -0
- package/dist/admin/components/elements/Autosave/types.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentControls/index.d.ts +2 -0
- package/dist/admin/components/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentControls/index.js +3 -2
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +5 -5
- package/dist/admin/components/forms/field-types/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Relationship/index.js +13 -8
- package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/Auth/index.js +20 -17
- package/dist/admin/components/utilities/Auth/types.d.ts +2 -2
- package/dist/admin/components/utilities/Auth/types.d.ts.map +1 -1
- package/dist/admin/components/views/Logout/index.js +2 -2
- package/dist/admin/components/views/collections/Edit/Default/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/Edit/Default/index.js +3 -2
- package/dist/admin/components/views/collections/List/Cell/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/List/Cell/index.js +10 -7
- package/dist/admin/components/views/collections/List/Cell/types.d.ts +1 -0
- package/dist/admin/components/views/collections/List/Cell/types.d.ts.map +1 -1
- package/dist/collections/config/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +3 -2
- package/dist/express/middleware/index.js +3 -2
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +4 -1
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +4 -1
- package/dist/uploads/cropImage.d.ts +5 -1
- package/dist/uploads/cropImage.d.ts.map +1 -1
- package/dist/uploads/cropImage.js +10 -4
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +13 -4
- package/dist/uploads/imageResizer.d.ts +3 -1
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +16 -5
- package/dist/uploads/optionallyAppendMetadata.d.ts +12 -0
- package/dist/uploads/optionallyAppendMetadata.d.ts.map +1 -0
- package/dist/uploads/optionallyAppendMetadata.js +25 -0
- package/dist/uploads/types.d.ts +3 -0
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/utilities/deepCopyObject.d.ts.map +1 -1
- package/dist/utilities/deepCopyObject.js +8 -1
- package/package.json +1 -1
|
@@ -44,34 +44,37 @@ const DefaultCell = (props)=>{
|
|
|
44
44
|
if (field.name === 'id') {
|
|
45
45
|
return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, /*#__PURE__*/ _react.default.createElement(_Code.default, {
|
|
46
46
|
collection: collection,
|
|
47
|
-
data: `ID: ${cellData}`,
|
|
47
|
+
data: `ID: ${String(cellData)}`,
|
|
48
48
|
field: field,
|
|
49
49
|
nowrap: true,
|
|
50
50
|
rowData: rowData
|
|
51
51
|
}));
|
|
52
52
|
}
|
|
53
|
-
let CellComponent = cellData && _fieldtypes.default[field.type];
|
|
53
|
+
let CellComponent = (cellData || typeof cellData === 'boolean') && cellData !== null && typeof cellData !== 'undefined' && _fieldtypes.default[field.type];
|
|
54
54
|
if (!CellComponent) {
|
|
55
55
|
if (collection.upload && (0, _types.fieldAffectsData)(field) && field.name === 'filename') {
|
|
56
56
|
CellComponent = _fieldtypes.default.File;
|
|
57
57
|
} else {
|
|
58
|
-
if (
|
|
58
|
+
if ((cellData === undefined || cellData === null || typeof cellData === 'string' && cellData.trim() === '') && 'label' in field) {
|
|
59
59
|
return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, t('noLabel', {
|
|
60
60
|
label: (0, _getTranslation.getTranslation)(typeof field.label === 'function' ? 'data' : field.label || 'data', i18n)
|
|
61
61
|
}));
|
|
62
|
-
} else if (
|
|
62
|
+
} else if ([
|
|
63
|
+
'number',
|
|
64
|
+
'string'
|
|
65
|
+
].includes(typeof cellData)) {
|
|
63
66
|
return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, cellData);
|
|
64
67
|
} else if (typeof cellData === 'object') {
|
|
65
68
|
return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, JSON.stringify(cellData));
|
|
66
69
|
}
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
|
-
return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, /*#__PURE__*/ _react.default.createElement(CellComponent, {
|
|
72
|
+
return /*#__PURE__*/ _react.default.createElement(WrapElement, wrapElementProps, CellComponent ? /*#__PURE__*/ _react.default.createElement(CellComponent, {
|
|
70
73
|
collection: collection,
|
|
71
74
|
data: cellData,
|
|
72
75
|
field: field,
|
|
73
76
|
rowData: rowData
|
|
74
|
-
}));
|
|
77
|
+
}) : null);
|
|
75
78
|
};
|
|
76
79
|
const Cell = (props)=>{
|
|
77
80
|
const { cellData, className, colIndex, collection, field: { admin: { components: { Cell: CustomCell } = {} } = {} }, field, link, onClick, rowData } = props;
|
|
@@ -92,4 +95,4 @@ const Cell = (props)=>{
|
|
|
92
95
|
};
|
|
93
96
|
const _default = Cell;
|
|
94
97
|
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvQ2VsbC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5cbmltcG9ydCB0eXBlIHsgQ29kZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2VsbENvbXBvbmVudFByb3BzLCBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IFJlbmRlckN1c3RvbUNvbXBvbmVudCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvUmVuZGVyQ3VzdG9tQ29tcG9uZW50J1xuaW1wb3J0IGNlbGxDb21wb25lbnRzIGZyb20gJy4vZmllbGQtdHlwZXMnXG5pbXBvcnQgQ29kZUNlbGwgZnJvbSAnLi9maWVsZC10eXBlcy9Db2RlJ1xuXG5jb25zdCBEZWZhdWx0Q2VsbDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjZWxsRGF0YSxcbiAgICBjbGFzc05hbWUsXG4gICAgY29sbGVjdGlvbjogeyBzbHVnIH0sXG4gICAgY29sbGVjdGlvbixcbiAgICBmaWVsZCxcbiAgICBsaW5rID0gdHJ1ZSxcbiAgICBvbkNsaWNrLFxuICAgIHJvd0RhdGE6IHsgaWQgfSA9IHt9LFxuICAgIHJvd0RhdGEsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IHtcbiAgICByb3V0ZXM6IHsgYWRtaW4gfSxcbiAgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIGxldCBXcmFwRWxlbWVudDogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+IHwgc3RyaW5nID0gJ3NwYW4nXG5cbiAgY29uc3Qgd3JhcEVsZW1lbnRQcm9wczoge1xuICAgIGNsYXNzTmFtZT86IHN0cmluZ1xuICAgIG9uQ2xpY2s/OiAoKSA9PiB2b2lkXG4gICAgdG8/OiBzdHJpbmdcbiAgICB0eXBlPzogJ2J1dHRvbidcbiAgfSA9IHtcbiAgICBjbGFzc05hbWUsXG4gIH1cblxuICBpZiAobGluaykge1xuICAgIFdyYXBFbGVtZW50ID0gTGlua1xuICAgIHdyYXBFbGVtZW50UHJvcHMudG8gPSBgJHthZG1pbn0vY29sbGVjdGlvbnMvJHtzbHVnfS8ke2lkfWBcbiAgfVxuXG4gIGlmICh0eXBlb2Ygb25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIFdyYXBFbGVtZW50ID0gJ2J1dHRvbidcbiAgICB3cmFwRWxlbWVudFByb3BzLnR5cGUgPSAnYnV0dG9uJ1xuICAgIHdyYXBFbGVtZW50UHJvcHMub25DbGljayA9ICgpID0+
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL2NvbGxlY3Rpb25zL0xpc3QvQ2VsbC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5cbmltcG9ydCB0eXBlIHsgQ29kZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2VsbENvbXBvbmVudFByb3BzLCBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IFJlbmRlckN1c3RvbUNvbXBvbmVudCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvUmVuZGVyQ3VzdG9tQ29tcG9uZW50J1xuaW1wb3J0IGNlbGxDb21wb25lbnRzIGZyb20gJy4vZmllbGQtdHlwZXMnXG5pbXBvcnQgQ29kZUNlbGwgZnJvbSAnLi9maWVsZC10eXBlcy9Db2RlJ1xuXG5jb25zdCBEZWZhdWx0Q2VsbDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjZWxsRGF0YSxcbiAgICBjbGFzc05hbWUsXG4gICAgY29sbGVjdGlvbjogeyBzbHVnIH0sXG4gICAgY29sbGVjdGlvbixcbiAgICBmaWVsZCxcbiAgICBsaW5rID0gdHJ1ZSxcbiAgICBvbkNsaWNrLFxuICAgIHJvd0RhdGE6IHsgaWQgfSA9IHt9LFxuICAgIHJvd0RhdGEsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IHtcbiAgICByb3V0ZXM6IHsgYWRtaW4gfSxcbiAgfSA9IHVzZUNvbmZpZygpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIGxldCBXcmFwRWxlbWVudDogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+IHwgc3RyaW5nID0gJ3NwYW4nXG5cbiAgY29uc3Qgd3JhcEVsZW1lbnRQcm9wczoge1xuICAgIGNsYXNzTmFtZT86IHN0cmluZ1xuICAgIG9uQ2xpY2s/OiAoKSA9PiB2b2lkXG4gICAgdG8/OiBzdHJpbmdcbiAgICB0eXBlPzogJ2J1dHRvbidcbiAgfSA9IHtcbiAgICBjbGFzc05hbWUsXG4gIH1cblxuICBpZiAobGluaykge1xuICAgIFdyYXBFbGVtZW50ID0gTGlua1xuICAgIHdyYXBFbGVtZW50UHJvcHMudG8gPSBgJHthZG1pbn0vY29sbGVjdGlvbnMvJHtzbHVnfS8ke2lkfWBcbiAgfVxuXG4gIGlmICh0eXBlb2Ygb25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIFdyYXBFbGVtZW50ID0gJ2J1dHRvbidcbiAgICB3cmFwRWxlbWVudFByb3BzLnR5cGUgPSAnYnV0dG9uJ1xuICAgIHdyYXBFbGVtZW50UHJvcHMub25DbGljayA9ICgpID0+IHtcbiAgICAgIG9uQ2xpY2socHJvcHMpXG4gICAgfVxuICB9XG5cbiAgaWYgKGZpZWxkLm5hbWUgPT09ICdpZCcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFdyYXBFbGVtZW50IHsuLi53cmFwRWxlbWVudFByb3BzfT5cbiAgICAgICAgPENvZGVDZWxsXG4gICAgICAgICAgY29sbGVjdGlvbj17Y29sbGVjdGlvbn1cbiAgICAgICAgICBkYXRhPXtgSUQ6ICR7U3RyaW5nKGNlbGxEYXRhKX1gfVxuICAgICAgICAgIGZpZWxkPXtmaWVsZCBhcyBDb2RlRmllbGR9XG4gICAgICAgICAgbm93cmFwXG4gICAgICAgICAgcm93RGF0YT17cm93RGF0YX1cbiAgICAgICAgLz5cbiAgICAgIDwvV3JhcEVsZW1lbnQ+XG4gICAgKVxuICB9XG5cbiAgbGV0IENlbGxDb21wb25lbnQ6IFJlYWN0LkZDPENlbGxDb21wb25lbnRQcm9wcz4gfCBmYWxzZSA9XG4gICAgKGNlbGxEYXRhIHx8IHR5cGVvZiBjZWxsRGF0YSA9PT0gJ2Jvb2xlYW4nKSAmJlxuICAgIGNlbGxEYXRhICE9PSBudWxsICYmXG4gICAgdHlwZW9mIGNlbGxEYXRhICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIGNlbGxDb21wb25lbnRzW2ZpZWxkLnR5cGVdXG5cbiAgaWYgKCFDZWxsQ29tcG9uZW50KSB7XG4gICAgaWYgKGNvbGxlY3Rpb24udXBsb2FkICYmIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdmaWxlbmFtZScpIHtcbiAgICAgIENlbGxDb21wb25lbnQgPSBjZWxsQ29tcG9uZW50cy5GaWxlXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGNlbGxEYXRhID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICBjZWxsRGF0YSA9PT0gbnVsbCB8fFxuICAgICAgICAgICh0eXBlb2YgY2VsbERhdGEgPT09ICdzdHJpbmcnICYmIGNlbGxEYXRhLnRyaW0oKSA9PT0gJycpKSAmJlxuICAgICAgICAnbGFiZWwnIGluIGZpZWxkXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8V3JhcEVsZW1lbnQgey4uLndyYXBFbGVtZW50UHJvcHN9PlxuICAgICAgICAgICAge3QoJ25vTGFiZWwnLCB7XG4gICAgICAgICAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihcbiAgICAgICAgICAgICAgICB0eXBlb2YgZmllbGQubGFiZWwgPT09ICdmdW5jdGlvbicgPyAnZGF0YScgOiBmaWVsZC5sYWJlbCB8fCAnZGF0YScsXG4gICAgICAgICAgICAgICAgaTE4bixcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvV3JhcEVsZW1lbnQ+XG4gICAgICAgIClcbiAgICAgIH0gZWxzZSBpZiAoWydudW1iZXInLCAnc3RyaW5nJ10uaW5jbHVkZXModHlwZW9mIGNlbGxEYXRhKSkge1xuICAgICAgICByZXR1cm4gPFdyYXBFbGVtZW50IHsuLi53cmFwRWxlbWVudFByb3BzfT57Y2VsbERhdGF9PC9XcmFwRWxlbWVudD5cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNlbGxEYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gPFdyYXBFbGVtZW50IHsuLi53cmFwRWxlbWVudFByb3BzfT57SlNPTi5zdHJpbmdpZnkoY2VsbERhdGEpfTwvV3JhcEVsZW1lbnQ+XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8V3JhcEVsZW1lbnQgey4uLndyYXBFbGVtZW50UHJvcHN9PlxuICAgICAge0NlbGxDb21wb25lbnQgPyAoXG4gICAgICAgIDxDZWxsQ29tcG9uZW50IGNvbGxlY3Rpb249e2NvbGxlY3Rpb259IGRhdGE9e2NlbGxEYXRhfSBmaWVsZD17ZmllbGR9IHJvd0RhdGE9e3Jvd0RhdGF9IC8+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1dyYXBFbGVtZW50PlxuICApXG59XG5cbmNvbnN0IENlbGw6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgY2VsbERhdGEsXG4gICAgY2xhc3NOYW1lLFxuICAgIGNvbEluZGV4LFxuICAgIGNvbGxlY3Rpb24sXG4gICAgZmllbGQ6IHsgYWRtaW46IHsgY29tcG9uZW50czogeyBDZWxsOiBDdXN0b21DZWxsIH0gPSB7fSB9ID0ge30gfSxcbiAgICBmaWVsZCxcbiAgICBsaW5rLFxuICAgIG9uQ2xpY2ssXG4gICAgcm93RGF0YSxcbiAgfSA9IHByb3BzXG5cbiAgcmV0dXJuIChcbiAgICA8UmVuZGVyQ3VzdG9tQ29tcG9uZW50XG4gICAgICBDdXN0b21Db21wb25lbnQ9e0N1c3RvbUNlbGx9XG4gICAgICBEZWZhdWx0Q29tcG9uZW50PXtEZWZhdWx0Q2VsbH1cbiAgICAgIGNvbXBvbmVudFByb3BzPXtcbiAgICAgICAge1xuICAgICAgICAgIGNlbGxEYXRhLFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBjb2xJbmRleCxcbiAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIGxpbmssXG4gICAgICAgICAgb25DbGljayxcbiAgICAgICAgICByb3dEYXRhLFxuICAgICAgICB9IGFzIFByb3BzXG4gICAgICB9XG4gICAgLz5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBDZWxsXG4iXSwibmFtZXMiOlsiRGVmYXVsdENlbGwiLCJwcm9wcyIsImNlbGxEYXRhIiwiY2xhc3NOYW1lIiwiY29sbGVjdGlvbiIsInNsdWciLCJmaWVsZCIsImxpbmsiLCJvbkNsaWNrIiwicm93RGF0YSIsImlkIiwicm91dGVzIiwiYWRtaW4iLCJ1c2VDb25maWciLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwiV3JhcEVsZW1lbnQiLCJ3cmFwRWxlbWVudFByb3BzIiwiTGluayIsInRvIiwidHlwZSIsIm5hbWUiLCJDb2RlQ2VsbCIsImRhdGEiLCJTdHJpbmciLCJub3dyYXAiLCJDZWxsQ29tcG9uZW50IiwiY2VsbENvbXBvbmVudHMiLCJ1cGxvYWQiLCJmaWVsZEFmZmVjdHNEYXRhIiwiRmlsZSIsInVuZGVmaW5lZCIsInRyaW0iLCJsYWJlbCIsImdldFRyYW5zbGF0aW9uIiwiaW5jbHVkZXMiLCJKU09OIiwic3RyaW5naWZ5IiwiQ2VsbCIsImNvbEluZGV4IiwiY29tcG9uZW50cyIsIkN1c3RvbUNlbGwiLCJSZW5kZXJDdXN0b21Db21wb25lbnQiLCJDdXN0b21Db21wb25lbnQiLCJEZWZhdWx0Q29tcG9uZW50IiwiY29tcG9uZW50UHJv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
|
|
@@ -10,6 +10,7 @@ export type Props = {
|
|
|
10
10
|
onClick?: (Props: any) => void;
|
|
11
11
|
rowData: {
|
|
12
12
|
[path: string]: unknown;
|
|
13
|
+
id: number | string;
|
|
13
14
|
};
|
|
14
15
|
};
|
|
15
16
|
export type CellComponentProps<Field = FieldAffectingData | UIField, Data = unknown> = Pick<Props, 'collection' | 'rowData'> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/List/Cell/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAA;AAExF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,yBAAyB,CAAA;IACrC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAA;IACnC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACzB,OAAO,EAAE;QACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/admin/components/views/collections/List/Cell/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAA;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAA;AAExF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,yBAAyB,CAAA;IACrC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAA;IACnC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,IAAI,CAAA;IACzB,OAAO,EAAE;QACP,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;QACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KACpB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,KAAK,GAAG,kBAAkB,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO,IAAI,IAAI,CACzF,KAAK,EACL,YAAY,GAAG,SAAS,CACzB,GAAG;IACF,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAcrB,QAAA,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAcrB,QAAA,MAAM,gBAAgB,uBAmOpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
|
|
@@ -189,7 +189,8 @@ const collectionSchema = _joi.default.object().keys({
|
|
|
189
189
|
format: _joi.default.string(),
|
|
190
190
|
options: _joi.default.object()
|
|
191
191
|
}), _joi.default.string(), _joi.default.number()),
|
|
192
|
-
useTempFiles: _joi.default.bool()
|
|
192
|
+
useTempFiles: _joi.default.bool(),
|
|
193
|
+
withMetadata: _joi.default.alternatives().try(_joi.default.boolean(), _joi.default.func())
|
|
193
194
|
}), _joi.default.boolean()),
|
|
194
195
|
versions: _joi.default.alternatives().try(_joi.default.object({
|
|
195
196
|
drafts: _joi.default.alternatives().try(_joi.default.object({
|
|
@@ -203,4 +204,4 @@ const collectionSchema = _joi.default.object().keys({
|
|
|
203
204
|
});
|
|
204
205
|
const _default = collectionSchema;
|
|
205
206
|
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9jb25maWcvc2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqb2kgZnJvbSAnam9pJ1xuXG5pbXBvcnQgeyBlbmRwb2ludHNTY2hlbWEgfSBmcm9tICcuLi8uLi9jb25maWcvc2NoZW1hJ1xuaW1wb3J0IHtcbiAgY29tcG9uZW50U2NoZW1hLFxuICBjdXN0b21WaWV3U2NoZW1hLFxuICBsaXZlUHJldmlld1NjaGVtYSxcbn0gZnJvbSAnLi4vLi4vY29uZmlnL3NoYXJlZC9jb21wb25lbnRTY2hlbWEnXG5cbmNvbnN0IHN0cmF0ZWd5QmFzZVNjaGVtYSA9IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgbG9nb3V0OiBqb2kuYm9vbGVhbigpLFxuICByZWZyZXNoOiBqb2kuYm9vbGVhbigpLFxufSlcblxuY29uc3QgY29sbGVjdGlvblNjaGVtYSA9IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgc2x1Zzogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGFjY2Vzczogam9pLm9iamVjdCh7XG4gICAgYWRtaW46IGpvaS5mdW5jKCksXG4gICAgY3JlYXRlOiBqb2kuZnVuYygpLFxuICAgIGRlbGV0ZTogam9pLmZ1bmMoKSxcbiAgICByZWFkOiBqb2kuZnVuYygpLFxuICAgIHJlYWRWZXJzaW9uczogam9pLmZ1bmMoKSxcbiAgICB1bmxvY2s6IGpvaS5mdW5jKCksXG4gICAgdXBkYXRlOiBqb2kuZnVuYygpLFxuICB9KSxcbiAgYWRtaW46IGpvaS5vYmplY3Qoe1xuICAgIGNvbXBvbmVudHM6IGpvaS5vYmplY3Qoe1xuICAgICAgQWZ0ZXJMaXN0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgQWZ0ZXJMaXN0VGFibGU6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBCZWZvcmVMaXN0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgQmVmb3JlTGlzdFRhYmxlOiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgZWRpdDogam9pLm9iamVjdCh7XG4gICAgICAgIFByZXZpZXdCdXR0b246IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgUHVibGlzaEJ1dHRvbjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgICBTYXZlQnV0dG9uOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgIFNhdmVEcmFmdEJ1dHRvbjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgfSksXG4gICAgICB2aWV3czogam9pLm9iamVjdCh7XG4gICAgICAgIEVkaXQ6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgICAgICAgY29tcG9uZW50U2NoZW1hLFxuICAgICAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICAgICAgQVBJOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGNvbXBvbmVudFNjaGVtYSwgY3VzdG9tVmlld1NjaGVtYSksXG4gICAgICAgICAgICBEZWZhdWx0OiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGNvbXBvbmVudFNjaGVtYSwgY3VzdG9tVmlld1NjaGVtYSksXG4gICAgICAgICAgICBMaXZlUHJldmlldzogam9pLmFsdGVybmF0aXZlcygpLnRyeShjb21wb25lbnRTY2hlbWEsIGN1c3RvbVZpZXdTY2hlbWEpLFxuICAgICAgICAgICAgVmVyc2lvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShjb21wb25lbnRTY2hlbWEsIGN1c3RvbVZpZXdTY2hlbWEpLFxuICAgICAgICAgICAgVmVyc2lvbnM6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoY29tcG9uZW50U2NoZW1hLCBjdXN0b21WaWV3U2NoZW1hKSxcbiAgICAgICAgICAgIC8vIFJlbGF0aW9uc2hpcHNcbiAgICAgICAgICAgIC8vIFJlZmVyZW5jZXNcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICAgTGlzdDogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgICBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgICBDb21wb25lbnQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgICAgIGFjdGlvbnM6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICB9KSxcbiAgICBkZWZhdWx0Q29sdW1uczogam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpKSxcbiAgICBkZXNjcmlwdGlvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGNvbXBvbmVudFNjaGVtYSksXG4gICAgZGlzYWJsZUR1cGxpY2F0ZTogam9pLmJvb2woKSxcbiAgICBlbmFibGVSaWNoVGV4dExpbms6IGpvaS5ib29sZWFuKCksXG4gICAgZW5hYmxlUmljaFRleHRSZWxhdGlvbnNoaXA6IGpvaS5ib29sZWFuKCksXG4gICAgZ3JvdXA6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgaGlkZGVuOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5ib29sZWFuKCksIGpvaS5mdW5jKCkpLFxuICAgIGhpZGVBUElVUkw6IGpvaS5ib29sKCksXG4gICAgaG9va3M6IGpvaS5vYmplY3Qoe1xuICAgICAgYmVmb3JlRHVwbGljYXRlOiBqb2kuZnVuYygpLFxuICAgIH0pLFxuICAgIGxpc3RTZWFyY2hhYmxlRmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgIGxpdmVQcmV2aWV3OiBqb2kub2JqZWN0KGxpdmVQcmV2aWV3U2NoZW1hKSxcbiAgICBwYWdpbmF0aW9uOiBqb2kub2JqZWN0KHtcbiAgICAgIGRlZmF1bHRMaW1pdDogam9pLm51bWJlcigpLFxuICAgICAgbGltaXRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubnVtYmVyKCkpLFxuICAgIH0pLFxuICAgIHByZXZpZXc6IGpvaS5mdW5jKCksXG4gICAgdXNlQXNUaXRsZTogam9pLnN0cmluZygpLFxuICB9KSxcbiAgYXV0aDogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIGNvb2tpZXM6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgZG9tYWluOiBqb2kuc3RyaW5nKCksXG4gICAgICAgIHNhbWVTaXRlOiBqb2kuc3RyaW5nKCksIC8vIFRPRE86IGFkZCBmdXJ0aGVyIHNwZWNpZmljaXR5IHdpdGggam9pLnhvclxuICAgICAgICBzZWN1cmU6IGpvaS5ib29sZWFuKCksXG4gICAgICB9KSxcbiAgICAgIGRlcHRoOiBqb2kubnVtYmVyKCksXG4gICAgICBkaXNhYmxlTG9jYWxTdHJhdGVneTogam9pLmJvb2xlYW4oKS52YWxpZCh0cnVlKSxcbiAgICAgIGZvcmdvdFBhc3N3b3JkOiBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICAgIGdlbmVyYXRlRW1haWxIVE1MOiBqb2kuZnVuYygpLFxuICAgICAgICBnZW5lcmF0ZUVtYWlsU3ViamVjdDogam9pLmZ1bmMoKSxcbiAgICAgIH0pLFxuICAgICAgbG9ja1RpbWU6IGpvaS5udW1iZXIoKSxcbiAgICAgIG1heExvZ2luQXR0ZW1wdHM6IGpvaS5udW1iZXIoKSxcbiAgICAgIHJlbW92ZVRva2VuRnJvbVJlc3BvbnNlczogam9pLmJvb2xlYW4oKS52YWxpZCh0cnVlKSxcbiAgICAgIHN0cmF0ZWdpZXM6IGpvaS5hcnJheSgpLml0ZW1zKFxuICAgICAgICBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICAgIHN0cmF0ZWd5QmFzZVNjaGVtYS5rZXlzKHtcbiAgICAgICAgICAgIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgc3RyYXRlZ3k6IGpvaS5mdW5jKCkubWF4QXJpdHkoMSkucmVxdWlyZWQoKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdHJhdGVneUJhc2VTY2hlbWEua2V5cyh7XG4gICAgICAgICAgICBuYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgICBzdHJhdGVneTogam9pLm9iamVjdCgpLnJlcXVpcmVkKCksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICAgdG9rZW5FeHBpcmF0aW9uOiBqb2kubnVtYmVyKCksXG4gICAgICB1c2VBUElLZXk6IGpvaS5ib29sZWFuKCksXG4gICAgICB2ZXJpZnk6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgICAgIGpvaS5ib29sZWFuKCksXG4gICAgICAgIGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgICBnZW5lcmF0ZUVtYWlsSFRNTDogam9pLmZ1bmMoKSxcbiAgICAgICAgICBnZW5lcmF0ZUVtYWlsU3ViamVjdDogam9pLmZ1bmMoKSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH0pLFxuICAgIGpvaS5ib29sZWFuKCksXG4gICksXG4gIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICBkYk5hbWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgZGVmYXVsdFNvcnQ6IGpvaS5zdHJpbmcoKSxcbiAgZW5kcG9pbnRzOiBlbmRwb2ludHNTY2hlbWEsXG4gIGZpZWxkczogam9pLmFycmF5KCksXG4gIGdyYXBoUUw6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgcGx1cmFsTmFtZTogam9pLnN0cmluZygpLFxuICAgICAgc2luZ3VsYXJOYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgfSksXG4gICAgam9pLmJvb2xlYW4oKSxcbiAgKSxcbiAgaG9va3M6IGpvaS5vYmplY3Qoe1xuICAgIGFmdGVyQ2hhbmdlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBhZnRlckRlbGV0ZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYWZ0ZXJGb3Jnb3RQYXNzd29yZDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYWZ0ZXJMb2dpbjogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYWZ0ZXJMb2dvdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGFmdGVyTWU6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGFmdGVyT3BlcmF0aW9uOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBhZnRlclJlYWQ6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGFmdGVyUmVmcmVzaDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYmVmb3JlQ2hhbmdlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBiZWZvcmVEZWxldGU6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGJlZm9yZUxvZ2luOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBiZWZvcmVPcGVyYXRpb246IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGJlZm9yZVJlYWQ6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGJlZm9yZVZhbGlkYXRlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBtZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgcmVmcmVzaDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gIH0pLFxuICBpbmRleGVzOiBqb2kuYXJyYXkoKS5pdGVtcyhcbiAgICBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICBmaWVsZHM6IGpvaS5vYmplY3QoKS5yZXF1aXJlZCgpLFxuICAgICAgb3B0aW9uczogam9pLm9iamVjdCgpLFxuICAgIH0pLFxuICApLFxuICBsYWJlbHM6IGpvaS5vYmplY3Qoe1xuICAgIHBsdXJhbDogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgc2luZ3VsYXI6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICB9KSxcbiAgdGltZXN0YW1wczogam9pLmJvb2xlYW4oKSxcbiAgdHlwZXNjcmlwdDogam9pLm9iamVjdCgpLmtleXMoe1xuICAgIGludGVyZmFjZTogam9pLnN0cmluZygpLFxuICB9KSxcbiAgdXBsb2FkOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgIGpvaS5vYmplY3Qoe1xuICAgICAgYWRtaW5UaHVtYm5haWw6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgICAgIGNyb3A6IGpvaS5ib29sKCksXG4gICAgICBkaXNhYmxlTG9jYWxTdG9yYWdlOiBqb2kuYm9vbCgpLFxuICAgICAgZXh0ZXJuYWxGaWxlSGVhZGVyRmlsdGVyOiBqb2kuZnVuYygpLFxuICAgICAgZmlsZXNSZXF1aXJlZE9uQ3JlYXRlOiBqb2kuYm9vbCgpLFxuICAgICAgZm9jYWxQb2ludDogam9pLmJvb2woKSxcbiAgICAgIGZvcm1hdE9wdGlvbnM6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgZm9ybWF0OiBqb2kuc3RyaW5nKCksXG4gICAgICAgIG9wdGlvbnM6IGpvaS5vYmplY3QoKSxcbiAgICAgIH0pLFxuICAgICAgaGFuZGxlcnM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgICAgaW1hZ2VTaXplczogam9pLmFycmF5KCkuaXRlbXMoXG4gICAgICAgIGpvaVxuICAgICAgICAgIC5vYmplY3QoKVxuICAgICAgICAgIC5rZXlzKHtcbiAgICAgICAgICAgIG5hbWU6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgICAgIGNyb3A6IGpvaS5zdHJpbmcoKSwgLy8gVE9ETzogYWRkIGZ1cnRoZXIgc3BlY2lmaWNpdHkgd2l0aCBqb2kueG9yXG4gICAgICAgICAgICBoZWlnaHQ6IGpvaS5udW1iZXIoKS5pbnRlZ2VyKCkuYWxsb3cobnVsbCksXG4gICAgICAgICAgICB3aWR0aDogam9pLm51bWJlcigpLmludGVnZXIoKS5hbGxvdyhudWxsKSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC51bmtub3duKCksXG4gICAgICApLFxuICAgICAgbWltZVR5cGVzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgICAgcmVzaXplT3B0aW9uczogam9pXG4gICAgICAgIC5vYmplY3QoKVxuICAgICAgICAua2V5cyh7XG4gICAgICAgICAgYmFja2dyb3VuZDogam9pLnN0cmluZygpLFxuICAgICAgICAgIGZhc3RTaHJpbmtPbkxvYWQ6IGpvaS5ib29sKCksXG4gICAgICAgICAgZml0OiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgaGVpZ2h0OiBqb2kubnVtYmVyKCkuYWxsb3cobnVsbCksXG4gICAgICAgICAga2VybmVsOiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgcG9zaXRpb246IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kubnVtYmVyKCkpLFxuICAgICAgICAgIHdpZHRoOiBqb2kubnVtYmVyKCkuYWxsb3cobnVsbCksXG4gICAgICAgICAgd2l0aG91dEVubGFyZ2VtZW50OiBqb2kuYm9vbCgpLFxuICAgICAgICB9KVxuICAgICAgICAuYWxsb3cobnVsbCksXG4gICAgICBzdGF0aWNEaXI6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHN0YXRpY09wdGlvbnM6IGpvaS5vYmplY3QoKSxcbiAgICAgIHN0YXRpY1VSTDogam9pLnN0cmluZygpLFxuICAgICAgdGVtcEZpbGVEaXI6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHRyaW1PcHRpb25zOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICAgICAgZm9ybWF0OiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgb3B0aW9uczogam9pLm9iamVjdCgpLFxuICAgICAgICB9KSxcbiAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICBqb2kubnVtYmVyKCksXG4gICAgICApLFxuICAgICAgdXNlVGVtcEZpbGVzOiBqb2kuYm9vbCgpLFxuICAgIH0pLFxuICAgIGpvaS5ib29sZWFuKCksXG4gICksXG4gIHZlcnNpb25zOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgIGpvaS5vYmplY3Qoe1xuICAgICAgZHJhZnRzOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICBhdXRvc2F2ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgICAgIGpvaS5ib29sZWFuKCksXG4gICAgICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICAgICAgaW50ZXJ2YWw6IGpvaS5udW1iZXIoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgICAgdmFsaWRhdGU6IGpvaS5ib29sZWFuKCksXG4gICAgICAgIH0pLFxuICAgICAgICBqb2kuYm9vbGVhbigpLFxuICAgICAgKSxcbiAgICAgIG1heFBlckRvYzogam9pLm51bWJlcigpLFxuICAgIH0pLFxuICAgIGpvaS5ib29sZWFuKCksXG4gICksXG59KVxuXG5leHBvcnQgZGVmYXVsdCBjb2xsZWN0aW9uU2NoZW1hXG4iXSwibmFtZXMiOlsic3RyYXRlZ3lCYXNlU2NoZW1hIiwiam9pIiwib2JqZWN0Iiwia2V5cyIsImxvZ291dCIsImJvb2xlYW4iLCJyZWZyZXNoIiwiY29sbGVjdGlvblNjaGVtYSIsInNsdWciLCJzdHJpbmciLCJyZXF1aXJlZCIsImFjY2VzcyIsImFkbWluIiwiZnVuYyIsImNyZWF0ZSIsImRlbGV0ZSIsInJlYWQiLCJyZWFkVmVyc2lvbnMiLCJ1bmxvY2siLCJ1cGRhdGUiLCJjb21wb25lbnRzIiwiQWZ0ZXJMaXN0IiwiYXJyYXkiLCJpdGVtcyIsImNvbXBvbmVudFNjaGVtYSIsIkFmdGVyTGlzdFRhYmxlIiwiQmVmb3JlTGlzdCIsIkJlZm9yZUxpc3RUYWJsZSIsImVkaXQiLCJQcmV2aWV3QnV0dG9uIiwiUHVibGlzaEJ1dHRvbiIsIlNhdmVCdXR0b24iLCJTYXZlRHJhZnRCdXR0b24iLCJ2aWV3cyIsIkVkaXQiLCJhbHRlcm5hdGl2ZXMiLCJ0cnkiLCJBUEkiLCJjdXN0b21WaWV3U2NoZW1hIiwiRGVmYXVsdCIsIkxpdmVQcmV2aWV3IiwiVmVyc2lvbiIsIlZlcnNpb25zIiwiTGlzdCIsIkNvbXBvbmVudCIsImFjdGlvbnMiLCJkZWZhdWx0Q29sdW1ucyIsImRlc2NyaXB0aW9uIiwiZGlzYWJsZUR1cGxpY2F0ZSIsImJvb2wiLCJlbmFibGVSaWNoVGV4dExpbmsiLCJlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcCIsImdyb3VwIiwicGF0dGVybiIsImhpZGRlbiIsImhpZGVBUElVUkwiLCJob29rcyIsImJlZm9yZUR1cGxpY2F0ZSIsImxpc3RTZWFyY2hhYmxlRmllbGRzIiwibGl2ZVByZXZpZXciLCJsaXZlUHJldmlld1NjaGVtYSIsInBhZ2luYXRpb24iLCJkZWZhdWx0TGltaXQiLCJudW1iZXIiLCJsaW1pdHMiLCJwcmV2aWV3IiwidXNlQXNUaXRsZSIsImF1dGgiLCJjb29raWVzIiwiZG9tYWluIiwic2FtZVNpdGUiLCJzZWN1cmUiLCJkZXB0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwidmFsaWQiLCJmb3Jnb3RQYXNzd29yZCIsImdlbmVyYXRlRW1haWxIVE1MIiwiZ2VuZXJhdGVFbWFpbFN1YmplY3QiLCJsb2NrVGltZSIsIm1heExvZ2luQXR0ZW1wdHMiLCJyZW1vdmVUb2tlbkZyb21SZXNwb25zZXMiLCJzdHJhdGVnaWVzIiwibmFtZSIsInN0cmF0ZWd5IiwibWF4QXJpdHkiLCJ0b2tlbkV4cGlyYXRpb24iLCJ1c2VBUElLZXkiLCJ2ZXJpZnkiLCJjdXN0b20iLCJhbnkiLCJkYk5hbWUiLCJkZWZhdWx0U29ydCIsImVuZHBvaW50cyIsImVuZHBvaW50c1NjaGVtYSIsImZpZWxkcyIsImdyYXBoUUwiLCJwbHVyYWxOYW1lIiwic2luZ3VsYXJOYW1lIiwiYWZ0ZXJDaGFuZ2UiLCJhZnRlckRlbGV0ZSIsImFmdGVyRm9yZ290UGFzc3dvcmQiLCJhZnRlckxvZ2luIiwiYWZ0ZXJMb2dvdXQiLCJhZnRlck1lIiwiYWZ0ZXJPcGVyYXRpb24iLCJhZnRlclJlYWQiLCJhZnRlclJlZnJlc2giLCJiZWZvcmVDaGFuZ2UiLCJiZWZvcmVEZWxldGUiLCJiZWZvcmVMb2dpbiIsImJlZm9yZU9wZXJhdGlvbiIsImJlZm9yZVJlYWQiLCJiZWZvcmVWYWxpZGF0ZSIsIm1lIiwiaW5kZXhlcyIsIm9wdGlvbnMiLCJsYWJlbHMiLCJwbHVyYWwiLCJzaW5ndWxhciIsInRpbWVzdGFtcHMiLCJ0eXBlc2NyaXB0IiwiaW50ZXJmYWNlIiwidXBsb2FkIiwiYWRtaW5UaHVtYm5haWwiLCJjcm9wIiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsImV4dGVybmFsRmlsZUhlYWRlckZpbHRlciIsImZpbGVzUmVxdWlyZWRPbkNyZWF0ZSIsImZvY2FsUG9pbnQiLCJmb3JtYXRPcHRpb25zIiwiZm9ybWF0IiwiaGFuZGxlcnMiLCJpbWFnZVNpemVzIiwiaGVpZ2h0IiwiaW50ZWdlciIsImFsbG93Iiwid2lkdGgiLCJ1bmtub3duIiwibWltZVR5cGVzIiwicmVzaXplT3B0aW9ucyIsImJhY2tncm91bmQiLCJmYXN0U2hyaW5rT25Mb2FkIiwiZml0Iiwia2VybmVsIiwicG9zaXRpb24iLCJ3aXRob3V0RW5sYXJnZW1lbnQiLCJzdGF0aWNEaXIiLCJzdGF0aWNPcHRpb25zIiwic3RhdGljVVJMIiwidGVtcEZpbGVEaXIiLCJ0cmltT3B0aW9ucyIsInVzZVRlbXBGaWxlcyIsInZlcnNpb25zIiwiZHJhZnRzIiwiYXV0b3NhdmUiLCJpbnRlcnZhbCIsInZhbGlkYXRlIiwibWF4UGVyRG9jIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQWtQQTs7O2VBQUE7Ozs0REFsUGdCO3dCQUVnQjtpQ0FLekI7Ozs7OztBQUVQLE1BQU1BLHFCQUFxQkMsWUFBRyxDQUFDQyxNQUFNLEdBQUdDLElBQUksQ0FBQztJQUMzQ0MsUUFBUUgsWUFBRyxDQUFDSSxPQUFPO0lBQ25CQyxTQUFTTCxZQUFHLENBQUNJLE9BQU87QUFDdEI7QUFFQSxNQUFNRSxtQkFBbUJOLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHQyxJQUFJLENBQUM7SUFDekNLLE1BQU1QLFlBQUcsQ0FBQ1EsTUFBTSxHQUFHQyxRQUFRO0lBQzNCQyxRQUFRVixZQUFHLENBQUNDLE1BQU0sQ0FBQztRQUNqQlUsT0FBT1gsWUFBRyxDQUFDWSxJQUFJO1FBQ2ZDLFFBQVFiLFlBQUcsQ0FBQ1ksSUFBSTtRQUNoQkUsUUFBUWQsWUFBRyxDQUFDWSxJQUFJO1FBQ2hCRyxNQUFNZixZQUFHLENBQUNZLElBQUk7UUFDZEksY0FBY2hCLFlBQUcsQ0FBQ1ksSUFBSTtRQUN0QkssUUFBUWpCLFlBQUcsQ0FBQ1ksSUFBSTtRQUNoQk0sUUFBUWxCLFlBQUcsQ0FBQ1ksSUFBSTtJQUNsQjtJQUNBRCxPQUFPWCxZQUFHLENBQUNDLE1BQU0sQ0FBQztRQUNoQmtCLFlBQVluQixZQUFHLENBQUNDLE1BQU0sQ0FBQztZQUNyQm1CLFdBQVdwQixZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ0MsZ0NBQWU7WUFDNUNDLGdCQUFnQnhCLFlBQUcsQ0FBQ3FCLEtBQUssR0FBR0MsS0FBSyxDQUFDQyxnQ0FBZTtZQUNqREUsWUFBWXpCLFlBQUcsQ0FBQ3FCLEtBQUssR0FBR0MsS0FBSyxDQUFDQyxnQ0FBZTtZQUM3Q0csaUJBQWlCMUIsWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQUNDLGdDQUFlO1lBQ2xESSxNQUFNM0IsWUFBRyxDQUFDQyxNQUFNLENBQUM7Z0JBQ2YyQixlQUFlTCxnQ0FBZTtnQkFDOUJNLGVBQWVOLGdDQUFlO2dCQUM5Qk8sWUFBWVAsZ0NBQWU7Z0JBQzNCUSxpQkFBaUJSLGdDQUFlO1lBQ2xDO1lBQ0FTLE9BQU9oQyxZQUFHLENBQUNDLE1BQU0sQ0FBQztnQkFDaEJnQyxNQUFNakMsWUFBRyxDQUFDa0MsWUFBWSxHQUFHQyxHQUFHLENBQzFCWixnQ0FBZSxFQUNmdkIsWUFBRyxDQUFDQyxNQUFNLENBQUM7b0JBQ1RtQyxLQUFLcEMsWUFBRyxDQUFDa0MsWUFBWSxHQUFHQyxHQUFHLENBQUNaLGdDQUFlLEVBQUVjLGlDQUFnQjtvQkFDN0RDLFNBQVN0QyxZQUFHLENBQUNrQyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ1osZ0NBQWUsRUFBRWMsaUNBQWdCO29CQUNqRUUsYUFBYXZDLFlBQUcsQ0FBQ2tDLFlBQVksR0FBR0MsR0FBRyxDQUFDWixnQ0FBZSxFQUFFYyxpQ0FBZ0I7b0JBQ3JFRyxTQUFTeEMsWUFBRyxDQUFDa0MsWUFBWSxHQUFHQyxHQUFHLENBQUNaLGdDQUFlLEVBQUVjLGlDQUFnQjtvQkFDakVJLFVBQVV6QyxZQUFHLENBQUNrQyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ1osZ0NBQWUsRUFBRWMsaUNBQWdCO2dCQUdwRTtnQkFFRkssTUFBTTFDLFlBQUcsQ0FBQ2tDLFlBQVksR0FBR0MsR0FBRyxDQUMxQlosZ0NBQWUsRUFDZnZCLFlBQUcsQ0FBQ0MsTUFBTSxDQUFDO29CQUNUMEMsV0FBV3BCLGdDQUFlO29CQUMxQnFCLFNBQVM1QyxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ0MsZ0NBQWU7Z0JBQzVDO1lBRUo7UUFDRjtRQUNBc0IsZ0JBQWdCN0MsWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQUN0QixZQUFHLENBQUNRLE1BQU07UUFDNUNzQyxhQUFhOUMsWUFBRyxDQUFDa0MsWUFBWSxHQUFHQyxHQUFHLENBQUNuQyxZQUFHLENBQUNRLE1BQU0sSUFBSWUsZ0NBQWU7UUFDakV3QixrQkFBa0IvQyxZQUFHLENBQUNnRCxJQUFJO1FBQzFCQyxvQkFBb0JqRCxZQUFHLENBQUNJLE9BQU87UUFDL0I4Qyw0QkFBNEJsRCxZQUFHLENBQUNJLE9BQU87UUFDdkMrQyxPQUFPbkQsWUFBRyxDQUFDa0MsWUFBWSxHQUFHQyxHQUFHLENBQUNuQyxZQUFHLENBQUNRLE1BQU0sSUFBSVIsWUFBRyxDQUFDQyxNQUFNLEdBQUdtRCxPQUFPLENBQUNwRCxZQUFHLENBQUNRLE1BQU0sSUFBSTtZQUFDUixZQUFHLENBQUNRLE1BQU07U0FBRztRQUM3RjZDLFFBQVFyRCxZQUFHLENBQUNrQyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ25DLFlBQUcsQ0FBQ0ksT0FBTyxJQUFJSixZQUFHLENBQUNZLElBQUk7UUFDdEQwQyxZQUFZdEQsWUFBRyxDQUFDZ0QsSUFBSTtRQUNwQk8sT0FBT3ZELFlBQUcsQ0FBQ0MsTUFBTSxDQUFDO1lBQ2hCdUQsaUJBQWlCeEQsWUFBRyxDQUFDWSxJQUFJO1FBQzNCO1FBQ0E2QyxzQkFBc0J6RCxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ3RCLFlBQUcsQ0FBQ1EsTUFBTTtRQUNsRGtELGFBQWExRCxZQUFHLENBQUNDLE1BQU0sQ0FBQzBELGtDQUFpQjtRQUN6Q0MsWUFBWTVELFlBQUcsQ0FBQ0MsTUFBTSxDQUFDO1lBQ3JCNEQsY0FBYzdELFlBQUcsQ0FBQzhELE1BQU07WUFDeEJDLFFBQVEvRCxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ3RCLFlBQUcsQ0FBQzhELE1BQU07UUFDdEM7UUFDQUUsU0FBU2hFLFlBQUcsQ0FBQ1ksSUFBSTtRQUNqQnFELFlBQVlqRSxZQUFHLENBQUNRLE1BQU07SUFDeEI7SUFDQTBELE1BQU1sRSxZQUFHLENBQUNrQyxZQUFZLEdBQUdDLEdBQUcsQ0FDMUJuQyxZQUFHLENBQUNDLE1BQU0sQ0FBQztRQUNUa0UsU0FBU25FLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHQyxJQUFJLENBQUM7WUFDekJrRSxRQUFRcEUsWUFBRyxDQUFDUSxNQUFNO1lBQ2xCNkQsVUFBVXJFLFlBQUcsQ0FBQ1EsTUFBTTtZQUNwQjhELFFBQVF0RSxZQUFHLENBQUNJLE9BQU87UUFDckI7UUFDQW1FLE9BQU92RSxZQUFHLENBQUM4RCxNQUFNO1FBQ2pCVSxzQkFBc0J4RSxZQUFHLENBQUNJLE9BQU8sR0FBR3FFLEtBQUssQ0FBQztRQUMxQ0MsZ0JBQWdCMUUsWUFBRyxDQUFDQyxNQUFNLEdBQUdDLElBQUksQ0FBQztZQUNoQ3lFLG1CQUFtQjNFLFlBQUcsQ0FBQ1ksSUFBSTtZQUMzQmdFLHNCQUFzQjVFLFlBQUcsQ0FBQ1ksSUFBSTtRQUNoQztRQUNBaUUsVUFBVTdFLFlBQUcsQ0FBQzhELE1BQU07UUFDcEJnQixrQkFBa0I5RSxZQUFHLENBQUM4RCxNQUFNO1FBQzVCaUIsMEJBQTBCL0UsWUFBRyxDQUFDSSxPQUFPLEdBQUdxRSxLQUFLLENBQUM7UUFDOUNPLFlBQVloRixZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FDM0J0QixZQUFHLENBQUNrQyxZQUFZLEdBQUdDLEdBQUcsQ0FDcEJwQyxtQkFBbUJHLElBQUksQ0FBQztZQUN0QitFLE1BQU1qRixZQUFHLENBQUNRLE1BQU0sR0FBR0MsUUFBUTtZQUMzQnlFLFVBQVVsRixZQUFHLENBQUNZLElBQUksR0FBR3VFLFFBQVEsQ0FBQyxHQUFHMUUsUUFBUTtRQUMzQyxJQUNBVixtQkFBbUJHLElBQUksQ0FBQztZQUN0QitFLE1BQU1qRixZQUFHLENBQUNRLE1BQU07WUFDaEIwRSxVQUFVbEYsWUFBRyxDQUFDQyxNQUFNLEdBQUdRLFFBQVE7UUFDakM7UUFHSjJFLGlCQUFpQnBGLFlBQUcsQ0FBQzhELE1BQU07UUFDM0J1QixXQUFXckYsWUFBRyxDQUFDSSxPQUFPO1FBQ3RCa0YsUUFBUXRGLFlBQUcsQ0FBQ2tDLFlBQVksR0FBR0MsR0FBRyxDQUM1Qm5DLFlBQUcsQ0FBQ0ksT0FBTyxJQUNYSixZQUFHLENBQUNDLE1BQU0sR0FBR0MsSUFBSSxDQUFDO1lBQ2hCeUUsbUJBQW1CM0UsWUFBRyxDQUFDWSxJQUFJO1lBQzNCZ0Usc0JBQXNCNUUsWUFBRyxDQUFDWSxJQUFJO1FBQ2hDO0lBRUosSUFDQVosWUFBRyxDQUFDSSxPQUFPO0lBRWJtRixRQUFRdkYsWUFBRyxDQUFDQyxNQUFNLEdBQUdtRCxPQUFPLENBQUNwRCxZQUFHLENBQUNRLE1BQU0sSUFBSVIsWUFBRyxDQUFDd0YsR0FBRztJQUNsREMsUUFBUXpGLFlBQUcsQ0FBQ2tDLFlBQVksR0FBR0MsR0FBRyxDQUFDbkMsWUFBRyxDQUFDUSxNQUFNLElBQUlSLFlBQUcsQ0FBQ1ksSUFBSTtJQUNyRDhFLGFBQWExRixZQUFHLENBQUNRLE1BQU07SUFDdkJtRixXQUFXQyx1QkFBZTtJQUMxQkMsUUFBUTdGLFlBQUcsQ0FBQ3FCLEtBQUs7SUFDakJ5RSxTQUFTOUYsWUFBRyxDQUFDa0MsWUFBWSxHQUFHQyxHQUFHLENBQzdCbkMsWUFBRyxDQUFDQyxNQUFNLEdBQUdDLElBQUksQ0FBQztRQUNoQjZGLFlBQVkvRixZQUFHLENBQUNRLE1BQU07UUFDdEJ3RixjQUFjaEcsWUFBRyxDQUFDUSxNQUFNO0lBQzFCLElBQ0FSLFlBQUcsQ0FBQ0ksT0FBTztJQUVibUQsT0FBT3ZELFlBQUcsQ0FBQ0MsTUFBTSxDQUFDO1FBQ2hCZ0csYUFBYWpHLFlBQUcsQ0FBQ3FCLEtBQUssR0FBR0MsS0FBSyxDQUFDdEIsWUFBRyxDQUFDWSxJQUFJO1FBQ3ZDc0YsYUFBYWxHLFlBQUcsQ0FBQ3FCLEtBQUssR0FBR0MsS0FBSyxDQUFDdEIsWUFBRyxDQUFDWSxJQUFJO1FBQ3ZDdUYscUJBQXFCbkcsWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQUN0QixZQUFHLENBQUNZLElBQUk7UUFDL0N3RixZQUFZcEcsWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQUN0QixZQUFHLENBQUNZLElBQUk7UUFDdEN5RixhQUFhckcsWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQUN0QixZQUFHLENBQUNZLElBQUk7UUFDdkMwRixTQUFTdEcsWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQUN0QixZQUFHLENBQUNZLElBQUk7UUFDbkMyRixnQkFBZ0J2RyxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ3RCLFlBQUcsQ0FBQ1ksSUFBSTtRQUMxQzRGLFdBQVd4RyxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ3RCLFlBQUcsQ0FBQ1ksSUFBSTtRQUNyQzZGLGNBQWN6RyxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ3RCLFlBQUcsQ0FBQ1ksSUFBSTtRQUN4QzhGLGNBQWMxRyxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ3RCLFlBQUcsQ0FBQ1ksSUFBSTtRQUN4QytGLGNBQWMzRyxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ3RCLFlBQUcsQ0FBQ1ksSUFBSTtRQUN4Q2dHLGFBQWE1RyxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ3RCLFlBQUcsQ0FBQ1ksSUFBSTtRQUN2Q2lHLGlCQUFpQjdHLFlBQUcsQ0FBQ3FCLEtBQUssR0FBR0MsS0FBSyxDQUFDdEIsWUFBRyxDQUFDWSxJQUFJO1FBQzNDa0csWUFBWTlHLFlBQUcsQ0FBQ3FCLEtBQUssR0FBR0MsS0FBSyxDQUFDdEIsWUFBRyxDQUFDWSxJQUFJO1FBQ3RDbUcsZ0JBQWdCL0csWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQUN0QixZQUFHLENBQUNZLElBQUk7UUFDMUNvRyxJQUFJaEgsWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQUN0QixZQUFHLENBQUNZLElBQUk7UUFDOUJQLFNBQVNMLFlBQUcsQ0FBQ3FCLEtBQUssR0FBR0MsS0FBSyxDQUFDdEIsWUFBRyxDQUFDWSxJQUFJO0lBQ3JDO0lBQ0FxRyxTQUFTakgsWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQ3hCdEIsWUFBRyxDQUFDQyxNQUFNLEdBQUdDLElBQUksQ0FBQztRQUNoQjJGLFFBQVE3RixZQUFHLENBQUNDLE1BQU0sR0FBR1EsUUFBUTtRQUM3QnlHLFNBQVNsSCxZQUFHLENBQUNDLE1BQU07SUFDckI7SUFFRmtILFFBQVFuSCxZQUFHLENBQUNDLE1BQU0sQ0FBQztRQUNqQm1ILFFBQVFwSCxZQUFHLENBQ1JrQyxZQUFZLEdBQ1pDLEdBQUcsQ0FBQ25DLFlBQUcsQ0FBQ1EsTUFBTSxJQUFJUixZQUFHLENBQUNDLE1BQU0sR0FBR21ELE9BQU8sQ0FBQ3BELFlBQUcsQ0FBQ1EsTUFBTSxJQUFJO1lBQUNSLFlBQUcsQ0FBQ1EsTUFBTTtTQUFHO1FBQ3RFNkcsVUFBVXJILFlBQUcsQ0FDVmtDLFlBQVksR0FDWkMsR0FBRyxDQUFDbkMsWUFBRyxDQUFDUSxNQUFNLElBQUlSLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHbUQsT0FBTyxDQUFDcEQsWUFBRyxDQUFDUSxNQUFNLElBQUk7WUFBQ1IsWUFBRyxDQUFDUSxNQUFNO1NBQUc7SUFDeEU7SUFDQThHLFlBQVl0SCxZQUFHLENBQUNJLE9BQU87SUFDdkJtSCxZQUFZdkgsWUFBRyxDQUFDQyxNQUFNLEdBQUdDLElBQUksQ0FBQztRQUM1QnNILFdBQVd4SCxZQUFHLENBQUNRLE1BQU07SUFDdkI7SUFDQWlILFFBQVF6SCxZQUFHLENBQUNrQyxZQUFZLEdBQUdDLEdBQUcsQ0FDNUJuQyxZQUFHLENBQUNDLE1BQU0sQ0FBQztRQUNUeUgsZ0JBQWdCMUgsWUFBRyxDQUFDa0MsWUFBWSxHQUFHQyxHQUFHLENBQUNuQyxZQUFHLENBQUNRLE1BQU0sSUFBSVIsWUFBRyxDQUFDWSxJQUFJO1FBQzdEK0csTUFBTTNILFlBQUcsQ0FBQ2dELElBQUk7UUFDZDRFLHFCQUFxQjVILFlBQUcsQ0FBQ2dELElBQUk7UUFDN0I2RSwwQkFBMEI3SCxZQUFHLENBQUNZLElBQUk7UUFDbENrSCx1QkFBdUI5SCxZQUFHLENBQUNnRCxJQUFJO1FBQy9CK0UsWUFBWS9ILFlBQUcsQ0FBQ2dELElBQUk7UUFDcEJnRixlQUFlaEksWUFBRyxDQUFDQyxNQUFNLEdBQUdDLElBQUksQ0FBQztZQUMvQitILFFBQVFqSSxZQUFHLENBQUNRLE1BQU07WUFDbEIwRyxTQUFTbEgsWUFBRyxDQUFDQyxNQUFNO1FBQ3JCO1FBQ0FpSSxVQUFVbEksWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQUN0QixZQUFHLENBQUNZLElBQUk7UUFDcEN1SCxZQUFZbkksWUFBRyxDQUFDcUIsS0FBSyxHQUFHQyxLQUFLLENBQzNCdEIsWUFBRyxDQUNBQyxNQUFNLEdBQ05DLElBQUksQ0FBQztZQUNKK0UsTUFBTWpGLFlBQUcsQ0FBQ1EsTUFBTTtZQUNoQm1ILE1BQU0zSCxZQUFHLENBQUNRLE1BQU07WUFDaEI0SCxRQUFRcEksWUFBRyxDQUFDOEQsTUFBTSxHQUFHdUUsT0FBTyxHQUFHQyxLQUFLLENBQUM7WUFDckNDLE9BQU92SSxZQUFHLENBQUM4RCxNQUFNLEdBQUd1RSxPQUFPLEdBQUdDLEtBQUssQ0FBQztRQUN0QyxHQUNDRSxPQUFPO1FBRVpDLFdBQVd6SSxZQUFHLENBQUNxQixLQUFLLEdBQUdDLEtBQUssQ0FBQ3RCLFlBQUcsQ0FBQ1EsTUFBTTtRQUN2Q2tJLGVBQWUxSSxZQUFHLENBQ2ZDLE1BQU0sR0FDTkMsSUFBSSxDQUFDO1lBQ0p5SSxZQUFZM0ksWUFBRyxDQUFDUSxNQUFNO1lBQ3RCb0ksa0JBQWtCNUksWUFBRyxDQUFDZ0QsSUFBSTtZQUMxQjZGLEtBQUs3SSxZQUFHLENBQUNRLE1BQU07WUFDZjRILFFBQVFwSSxZQUFHLENBQUM4RCxNQUFNLEdBQUd3RSxLQUFLLENBQUM7WUFDM0JRLFFBQVE5SSxZQUFHLENBQUNRLE1BQU07WUFDbEJ1SSxVQUFVL0ksWUFBRyxDQUFDa0MsWUFBWSxHQUFHQyxHQUFHLENBQUNuQyxZQUFHLENBQUNRLE1BQU0sSUFBSVIsWUFBRyxDQUFDOEQsTUFBTTtZQUN6RHlFLE9BQU92SSxZQUFHLENBQUM4RCxNQUFNLEdBQUd3RSxLQUFLLENBQUM7WUFDMUJVLG9CQUFvQmhKLFlBQUcsQ0FBQ2dELElBQUk7UUFDOUIsR0FDQ3NGLEtBQUssQ0FBQztRQUNUVyxXQUFXakosWUFBRyxDQUFDUSxNQUFNO1FBQ3JCMEksZUFBZWxKLFlBQUcsQ0FBQ0MsTUFBTTtRQUN6QmtKLFdBQVduSixZQUFHLENBQUNRLE1BQU07UUFDckI0SSxhQUFhcEosWUFBRyxDQUFDUSxNQUFNO1FBQ3ZCNkksYUFBYXJKLFlBQUcsQ0FBQ2tDLFlBQVksR0FBR0MsR0FBRyxDQUNqQ25DLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHQyxJQUFJLENBQUM7WUFDaEIrSCxRQUFRakksWUFBRyxDQUFDUSxNQUFNO1lBQ2xCMEcsU0FBU2xILFlBQUcsQ0FBQ0MsTUFBTTtRQUNyQixJQUNBRCxZQUFHLENBQUNRLE1BQU0sSUFDVlIsWUFBRyxDQUFDOEQsTUFBTTtRQUVad0YsY0FBY3RKLFlBQUcsQ0FBQ2dELElBQUk7SUFDeEIsSUFDQWhELFlBQUcsQ0FBQ0ksT0FBTztJQUVibUosVUFBVXZKLFlBQUcsQ0FBQ2tDLFlBQVksR0FBR0MsR0FBRyxDQUM5Qm5DLFlBQUcsQ0FBQ0MsTUFBTSxDQUFDO1FBQ1R1SixRQUFReEosWUFBRyxDQUFDa0MsWUFBWSxHQUFHQyxHQUFHLENBQzVCbkMsWUFBRyxDQUFDQyxNQUFNLENBQUM7WUFDVHdKLFVBQVV6SixZQUFHLENBQUNrQyxZQUFZLEdBQUdDLEdBQUcsQ0FDOUJuQyxZQUFHLENBQUNJLE9BQU8sSUFDWEosWUFBRyxDQUFDQyxNQUFNLENBQUM7Z0JBQ1R5SixVQUFVMUosWUFBRyxDQUFDOEQsTUFBTTtZQUN0QjtZQUVGNkYsVUFBVTNKLFlBQUcsQ0FBQ0ksT0FBTztRQUN2QixJQUNBSixZQUFHLENBQUNJLE9BQU87UUFFYndKLFdBQVc1SixZQUFHLENBQUM4RCxNQUFNO0lBQ3ZCLElBQ0E5RCxZQUFHLENBQUNJLE9BQU87QUFFZjtNQUVBLFdBQWVFIn0=
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9jb25maWcvc2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqb2kgZnJvbSAnam9pJ1xuXG5pbXBvcnQgeyBlbmRwb2ludHNTY2hlbWEgfSBmcm9tICcuLi8uLi9jb25maWcvc2NoZW1hJ1xuaW1wb3J0IHtcbiAgY29tcG9uZW50U2NoZW1hLFxuICBjdXN0b21WaWV3U2NoZW1hLFxuICBsaXZlUHJldmlld1NjaGVtYSxcbn0gZnJvbSAnLi4vLi4vY29uZmlnL3NoYXJlZC9jb21wb25lbnRTY2hlbWEnXG5cbmNvbnN0IHN0cmF0ZWd5QmFzZVNjaGVtYSA9IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgbG9nb3V0OiBqb2kuYm9vbGVhbigpLFxuICByZWZyZXNoOiBqb2kuYm9vbGVhbigpLFxufSlcblxuY29uc3QgY29sbGVjdGlvblNjaGVtYSA9IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgc2x1Zzogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGFjY2Vzczogam9pLm9iamVjdCh7XG4gICAgYWRtaW46IGpvaS5mdW5jKCksXG4gICAgY3JlYXRlOiBqb2kuZnVuYygpLFxuICAgIGRlbGV0ZTogam9pLmZ1bmMoKSxcbiAgICByZWFkOiBqb2kuZnVuYygpLFxuICAgIHJlYWRWZXJzaW9uczogam9pLmZ1bmMoKSxcbiAgICB1bmxvY2s6IGpvaS5mdW5jKCksXG4gICAgdXBkYXRlOiBqb2kuZnVuYygpLFxuICB9KSxcbiAgYWRtaW46IGpvaS5vYmplY3Qoe1xuICAgIGNvbXBvbmVudHM6IGpvaS5vYmplY3Qoe1xuICAgICAgQWZ0ZXJMaXN0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgQWZ0ZXJMaXN0VGFibGU6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICBCZWZvcmVMaXN0OiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgQmVmb3JlTGlzdFRhYmxlOiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICAgICAgZWRpdDogam9pLm9iamVjdCh7XG4gICAgICAgIFByZXZpZXdCdXR0b246IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgUHVibGlzaEJ1dHRvbjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgICBTYXZlQnV0dG9uOiBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgIFNhdmVEcmFmdEJ1dHRvbjogY29tcG9uZW50U2NoZW1hLFxuICAgICAgfSksXG4gICAgICB2aWV3czogam9pLm9iamVjdCh7XG4gICAgICAgIEVkaXQ6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgICAgICAgY29tcG9uZW50U2NoZW1hLFxuICAgICAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICAgICAgQVBJOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGNvbXBvbmVudFNjaGVtYSwgY3VzdG9tVmlld1NjaGVtYSksXG4gICAgICAgICAgICBEZWZhdWx0OiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGNvbXBvbmVudFNjaGVtYSwgY3VzdG9tVmlld1NjaGVtYSksXG4gICAgICAgICAgICBMaXZlUHJldmlldzogam9pLmFsdGVybmF0aXZlcygpLnRyeShjb21wb25lbnRTY2hlbWEsIGN1c3RvbVZpZXdTY2hlbWEpLFxuICAgICAgICAgICAgVmVyc2lvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShjb21wb25lbnRTY2hlbWEsIGN1c3RvbVZpZXdTY2hlbWEpLFxuICAgICAgICAgICAgVmVyc2lvbnM6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoY29tcG9uZW50U2NoZW1hLCBjdXN0b21WaWV3U2NoZW1hKSxcbiAgICAgICAgICAgIC8vIFJlbGF0aW9uc2hpcHNcbiAgICAgICAgICAgIC8vIFJlZmVyZW5jZXNcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICAgTGlzdDogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgICBjb21wb25lbnRTY2hlbWEsXG4gICAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgICBDb21wb25lbnQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgICAgICAgICAgIGFjdGlvbnM6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudFNjaGVtYSksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICB9KSxcbiAgICBkZWZhdWx0Q29sdW1uczogam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpKSxcbiAgICBkZXNjcmlwdGlvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGNvbXBvbmVudFNjaGVtYSksXG4gICAgZGlzYWJsZUR1cGxpY2F0ZTogam9pLmJvb2woKSxcbiAgICBlbmFibGVSaWNoVGV4dExpbms6IGpvaS5ib29sZWFuKCksXG4gICAgZW5hYmxlUmljaFRleHRSZWxhdGlvbnNoaXA6IGpvaS5ib29sZWFuKCksXG4gICAgZ3JvdXA6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgaGlkZGVuOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5ib29sZWFuKCksIGpvaS5mdW5jKCkpLFxuICAgIGhpZGVBUElVUkw6IGpvaS5ib29sKCksXG4gICAgaG9va3M6IGpvaS5vYmplY3Qoe1xuICAgICAgYmVmb3JlRHVwbGljYXRlOiBqb2kuZnVuYygpLFxuICAgIH0pLFxuICAgIGxpc3RTZWFyY2hhYmxlRmllbGRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgIGxpdmVQcmV2aWV3OiBqb2kub2JqZWN0KGxpdmVQcmV2aWV3U2NoZW1hKSxcbiAgICBwYWdpbmF0aW9uOiBqb2kub2JqZWN0KHtcbiAgICAgIGRlZmF1bHRMaW1pdDogam9pLm51bWJlcigpLFxuICAgICAgbGltaXRzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kubnVtYmVyKCkpLFxuICAgIH0pLFxuICAgIHByZXZpZXc6IGpvaS5mdW5jKCksXG4gICAgdXNlQXNUaXRsZTogam9pLnN0cmluZygpLFxuICB9KSxcbiAgYXV0aDogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIGNvb2tpZXM6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgZG9tYWluOiBqb2kuc3RyaW5nKCksXG4gICAgICAgIHNhbWVTaXRlOiBqb2kuc3RyaW5nKCksIC8vIFRPRE86IGFkZCBmdXJ0aGVyIHNwZWNpZmljaXR5IHdpdGggam9pLnhvclxuICAgICAgICBzZWN1cmU6IGpvaS5ib29sZWFuKCksXG4gICAgICB9KSxcbiAgICAgIGRlcHRoOiBqb2kubnVtYmVyKCksXG4gICAgICBkaXNhYmxlTG9jYWxTdHJhdGVneTogam9pLmJvb2xlYW4oKS52YWxpZCh0cnVlKSxcbiAgICAgIGZvcmdvdFBhc3N3b3JkOiBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICAgIGdlbmVyYXRlRW1haWxIVE1MOiBqb2kuZnVuYygpLFxuICAgICAgICBnZW5lcmF0ZUVtYWlsU3ViamVjdDogam9pLmZ1bmMoKSxcbiAgICAgIH0pLFxuICAgICAgbG9ja1RpbWU6IGpvaS5udW1iZXIoKSxcbiAgICAgIG1heExvZ2luQXR0ZW1wdHM6IGpvaS5udW1iZXIoKSxcbiAgICAgIHJlbW92ZVRva2VuRnJvbVJlc3BvbnNlczogam9pLmJvb2xlYW4oKS52YWxpZCh0cnVlKSxcbiAgICAgIHN0cmF0ZWdpZXM6IGpvaS5hcnJheSgpLml0ZW1zKFxuICAgICAgICBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICAgIHN0cmF0ZWd5QmFzZVNjaGVtYS5rZXlzKHtcbiAgICAgICAgICAgIG5hbWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgc3RyYXRlZ3k6IGpvaS5mdW5jKCkubWF4QXJpdHkoMSkucmVxdWlyZWQoKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzdHJhdGVneUJhc2VTY2hlbWEua2V5cyh7XG4gICAgICAgICAgICBuYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgICBzdHJhdGVneTogam9pLm9iamVjdCgpLnJlcXVpcmVkKCksXG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICAgdG9rZW5FeHBpcmF0aW9uOiBqb2kubnVtYmVyKCksXG4gICAgICB1c2VBUElLZXk6IGpvaS5ib29sZWFuKCksXG4gICAgICB2ZXJpZnk6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgICAgIGpvaS5ib29sZWFuKCksXG4gICAgICAgIGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgICBnZW5lcmF0ZUVtYWlsSFRNTDogam9pLmZ1bmMoKSxcbiAgICAgICAgICBnZW5lcmF0ZUVtYWlsU3ViamVjdDogam9pLmZ1bmMoKSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH0pLFxuICAgIGpvaS5ib29sZWFuKCksXG4gICksXG4gIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICBkYk5hbWU6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgZGVmYXVsdFNvcnQ6IGpvaS5zdHJpbmcoKSxcbiAgZW5kcG9pbnRzOiBlbmRwb2ludHNTY2hlbWEsXG4gIGZpZWxkczogam9pLmFycmF5KCksXG4gIGdyYXBoUUw6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoXG4gICAgam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgcGx1cmFsTmFtZTogam9pLnN0cmluZygpLFxuICAgICAgc2luZ3VsYXJOYW1lOiBqb2kuc3RyaW5nKCksXG4gICAgfSksXG4gICAgam9pLmJvb2xlYW4oKSxcbiAgKSxcbiAgaG9va3M6IGpvaS5vYmplY3Qoe1xuICAgIGFmdGVyQ2hhbmdlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBhZnRlckRlbGV0ZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYWZ0ZXJGb3Jnb3RQYXNzd29yZDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYWZ0ZXJMb2dpbjogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYWZ0ZXJMb2dvdXQ6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGFmdGVyTWU6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGFmdGVyT3BlcmF0aW9uOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBhZnRlclJlYWQ6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGFmdGVyUmVmcmVzaDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgYmVmb3JlQ2hhbmdlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBiZWZvcmVEZWxldGU6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGJlZm9yZUxvZ2luOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBiZWZvcmVPcGVyYXRpb246IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGJlZm9yZVJlYWQ6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgIGJlZm9yZVZhbGlkYXRlOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSxcbiAgICBtZTogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gICAgcmVmcmVzaDogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gIH0pLFxuICBpbmRleGVzOiBqb2kuYXJyYXkoKS5pdGVtcyhcbiAgICBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICBmaWVsZHM6IGpvaS5vYmplY3QoKS5yZXF1aXJlZCgpLFxuICAgICAgb3B0aW9uczogam9pLm9iamVjdCgpLFxuICAgIH0pLFxuICApLFxuICBsYWJlbHM6IGpvaS5vYmplY3Qoe1xuICAgIHBsdXJhbDogam9pXG4gICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgIC50cnkoam9pLnN0cmluZygpLCBqb2kub2JqZWN0KCkucGF0dGVybihqb2kuc3RyaW5nKCksIFtqb2kuc3RyaW5nKCldKSksXG4gICAgc2luZ3VsYXI6IGpvaVxuICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAudHJ5KGpvaS5zdHJpbmcoKSwgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSkpLFxuICB9KSxcbiAgdGltZXN0YW1wczogam9pLmJvb2xlYW4oKSxcbiAgdHlwZXNjcmlwdDogam9pLm9iamVjdCgpLmtleXMoe1xuICAgIGludGVyZmFjZTogam9pLnN0cmluZygpLFxuICB9KSxcbiAgdXBsb2FkOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgIGpvaS5vYmplY3Qoe1xuICAgICAgYWRtaW5UaHVtYm5haWw6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbiAgICAgIGNyb3A6IGpvaS5ib29sKCksXG4gICAgICBkaXNhYmxlTG9jYWxTdG9yYWdlOiBqb2kuYm9vbCgpLFxuICAgICAgZXh0ZXJuYWxGaWxlSGVhZGVyRmlsdGVyOiBqb2kuZnVuYygpLFxuICAgICAgZmlsZXNSZXF1aXJlZE9uQ3JlYXRlOiBqb2kuYm9vbCgpLFxuICAgICAgZm9jYWxQb2ludDogam9pLmJvb2woKSxcbiAgICAgIGZvcm1hdE9wdGlvbnM6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgZm9ybWF0OiBqb2kuc3RyaW5nKCksXG4gICAgICAgIG9wdGlvbnM6IGpvaS5vYmplY3QoKSxcbiAgICAgIH0pLFxuICAgICAgaGFuZGxlcnM6IGpvaS5hcnJheSgpLml0ZW1zKGpvaS5mdW5jKCkpLFxuICAgICAgaW1hZ2VTaXplczogam9pLmFycmF5KCkuaXRlbXMoXG4gICAgICAgIGpvaVxuICAgICAgICAgIC5vYmplY3QoKVxuICAgICAgICAgIC5rZXlzKHtcbiAgICAgICAgICAgIG5hbWU6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgICAgIGNyb3A6IGpvaS5zdHJpbmcoKSwgLy8gVE9ETzogYWRkIGZ1cnRoZXIgc3BlY2lmaWNpdHkgd2l0aCBqb2kueG9yXG4gICAgICAgICAgICBoZWlnaHQ6IGpvaS5udW1iZXIoKS5pbnRlZ2VyKCkuYWxsb3cobnVsbCksXG4gICAgICAgICAgICB3aWR0aDogam9pLm51bWJlcigpLmludGVnZXIoKS5hbGxvdyhudWxsKSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC51bmtub3duKCksXG4gICAgICApLFxuICAgICAgbWltZVR5cGVzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgICAgcmVzaXplT3B0aW9uczogam9pXG4gICAgICAgIC5vYmplY3QoKVxuICAgICAgICAua2V5cyh7XG4gICAgICAgICAgYmFja2dyb3VuZDogam9pLnN0cmluZygpLFxuICAgICAgICAgIGZhc3RTaHJpbmtPbkxvYWQ6IGpvaS5ib29sKCksXG4gICAgICAgICAgZml0OiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgaGVpZ2h0OiBqb2kubnVtYmVyKCkuYWxsb3cobnVsbCksXG4gICAgICAgICAga2VybmVsOiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgcG9zaXRpb246IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kubnVtYmVyKCkpLFxuICAgICAgICAgIHdpZHRoOiBqb2kubnVtYmVyKCkuYWxsb3cobnVsbCksXG4gICAgICAgICAgd2l0aG91dEVubGFyZ2VtZW50OiBqb2kuYm9vbCgpLFxuICAgICAgICB9KVxuICAgICAgICAuYWxsb3cobnVsbCksXG4gICAgICBzdGF0aWNEaXI6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHN0YXRpY09wdGlvbnM6IGpvaS5vYmplY3QoKSxcbiAgICAgIHN0YXRpY1VSTDogam9pLnN0cmluZygpLFxuICAgICAgdGVtcEZpbGVEaXI6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHRyaW1PcHRpb25zOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICAgICAgZm9ybWF0OiBqb2kuc3RyaW5nKCksXG4gICAgICAgICAgb3B0aW9uczogam9pLm9iamVjdCgpLFxuICAgICAgICB9KSxcbiAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICBqb2kubnVtYmVyKCksXG4gICAgICApLFxuICAgICAgdXNlVGVtcEZpbGVzOiBqb2kuYm9vbCgpLFxuICAgICAgd2l0aE1ldGFkYXRhOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5ib29sZWFuKCksIGpvaS5mdW5jKCkpLFxuICAgIH0pLFxuICAgIGpvaS5ib29sZWFuKCksXG4gICksXG4gIHZlcnNpb25zOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgIGpvaS5vYmplY3Qoe1xuICAgICAgZHJhZnRzOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICBhdXRvc2F2ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgICAgIGpvaS5ib29sZWFuKCksXG4gICAgICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICAgICAgaW50ZXJ2YWw6IGpvaS5udW1iZXIoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgICAgdmFsaWRhdGU6IGpvaS5ib29sZWFuKCksXG4gICAgICAgIH0pLFxuICAgICAgICBqb2kuYm9vbGVhbigpLFxuICAgICAgKSxcbiAgICAgIG1heFBlckRvYzogam9pLm51bWJlcigpLFxuICAgIH0pLFxuICAgIGpvaS5ib29sZWFuKCksXG4gICksXG59KVxuXG5leHBvcnQgZGVmYXVsdCBjb2xsZWN0aW9uU2NoZW1hXG4iXSwibmFtZXMiOlsic3RyYXRlZ3lCYXNlU2NoZW1hIiwiam9pIiwib2JqZWN0Iiwia2V5cyIsImxvZ291dCIsImJvb2xlYW4iLCJyZWZyZXNoIiwiY29sbGVjdGlvblNjaGVtYSIsInNsdWciLCJzdHJpbmciLCJyZXF1aXJlZCIsImFjY2VzcyIsImFkbWluIiwiZnVuYyIsImNyZWF0ZSIsImRlbGV0ZSIsInJlYWQiLCJyZWFkVmVyc2lvbnMiLCJ1bmxvY2siLCJ1cGRhdGUiLCJjb21wb25lbnRzIiwiQWZ0ZXJMaXN0IiwiYXJyYXkiLCJpdGVtcyIsImNvbXBvbmVudFNjaGVtYSIsIkFmdGVyTGlzdFRhYmxlIiwiQmVmb3JlTGlzdCIsIkJlZm9yZUxpc3RUYWJsZSIsImVkaXQiLCJQcmV2aWV3QnV0dG9uIiwiUHVibGlzaEJ1dHRvbiIsIlNhdmVCdXR0b24iLCJTYXZlRHJhZnRCdXR0b24iLCJ2aWV3cyIsIkVkaXQiLCJhbHRlcm5hdGl2ZXMiLCJ0cnkiLCJBUEkiLCJjdXN0b21WaWV3U2NoZW1hIiwiRGVmYXVsdCIsIkxpdmVQcmV2aWV3IiwiVmVyc2lvbiIsIlZlcnNpb25zIiwiTGlzdCIsIkNvbXBvbmVudCIsImFjdGlvbnMiLCJkZWZhdWx0Q29sdW1ucyIsImRlc2NyaXB0aW9uIiwiZGlzYWJsZUR1cGxpY2F0ZSIsImJvb2wiLCJlbmFibGVSaWNoVGV4dExpbmsiLCJlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcCIsImdyb3VwIiwicGF0dGVybiIsImhpZGRlbiIsImhpZGVBUElVUkwiLCJob29rcyIsImJlZm9yZUR1cGxpY2F0ZSIsImxpc3RTZWFyY2hhYmxlRmllbGRzIiwibGl2ZVByZXZpZXciLCJsaXZlUHJldmlld1NjaGVtYSIsInBhZ2luYXRpb24iLCJkZWZhdWx0TGltaXQiLCJudW1iZXIiLCJsaW1pdHMiLCJwcmV2aWV3IiwidXNlQXNUaXRsZSIsImF1dGgiLCJjb29raWVzIiwiZG9tYWluIiwic2FtZVNpdGUiLCJzZWN1cmUiLCJkZXB0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwidmFsaWQiLCJmb3Jnb3RQYXNzd29yZCIsImdlbmVyYXRlRW1haWxIVE1MIiwiZ2VuZXJhdGVFbWFpbFN1YmplY3QiLCJsb2NrVGltZSIsIm1heExvZ2luQXR0ZW1wdHMiLCJyZW1vdmVUb2tlbkZyb21SZXNwb25zZXMiLCJzdHJhdGVnaWVzIiwibmFtZSIsInN0cmF0ZWd5IiwibWF4QXJpdHkiLCJ0b2tlbkV4cGlyYXRpb24iLCJ1c2VBUElLZXkiLCJ2ZXJpZnkiLCJjdXN0b20iLCJhbnkiLCJkYk5hbWUiLCJkZWZhdWx0U29ydCIsImVuZHBvaW50cyIsImVuZHBvaW50c1NjaGVtYSIsImZpZWxkcyIsImdyYXBoUUwiLCJwbHVyYWxOYW1lIiwic2luZ3VsYXJOYW1lIiwiYWZ0ZXJDaGFuZ2UiLCJhZnRlckRlbGV0ZSIsImFmdGVyRm9yZ290UGFzc3dvcmQiLCJhZnRlckxvZ2luIiwiYWZ0ZXJMb2dvdXQiLCJhZnRlck1lIiwiYWZ0ZXJPcGVyYXRpb24iLCJhZnRlclJlYWQiLCJhZnRlclJlZnJlc2giLCJiZWZvcmVDaGFuZ2UiLCJiZWZvcmVEZWxldGUiLCJiZWZvcmVMb2dpbiIsImJlZm9yZU9wZXJhdGlvbiIsImJlZm9yZVJlYWQiLCJiZWZvcmVWYWxpZGF0ZSIsIm1lIiwiaW5kZXhlcyIsIm9wdGlvbnMiLCJsYWJlbHMiLCJwbHVyYWwiLCJzaW5ndWxhciIsInRpbWVzdGFtcHMiLCJ0eXBlc2NyaXB0IiwiaW50ZXJmYWNlIiwidXBsb2FkIiwiYWRtaW5UaHVtYm5haWwiLCJjcm9wIiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsImV4dGVybmFsRmlsZUhlYWRlckZpbHRlciIsImZpbGVzUmVxdWlyZWRPbkNyZWF0ZSIsImZvY2FsUG9pbnQiLCJmb3JtYXRPcHRpb25zIiwiZm9ybWF0IiwiaGFuZGxlcnMiLCJpbWFnZVNpemVzIiwiaGVpZ2h0IiwiaW50ZWdlciIsImFsbG93Iiwid2lkdGgiLCJ1bmtub3duIiwibWltZVR5cGVzIiwicmVzaXplT3B0aW9ucyIsImJhY2tncm91bmQiLCJmYXN0U2hyaW5rT25Mb2FkIiwiZml0Iiwia2VybmVsIiwicG9zaXRpb24iLCJ3aXRob3V0RW5sYXJnZW1lbnQiLCJzdGF0aWNEaXIiLCJzdGF0aWNPcHRpb25zIiwic3RhdGljVVJMIiwidGVtcEZpbGVEaXIiLCJ0cmltT3B0aW9ucyIsInVzZVRlbXBGaWxlcyIsIndpdGhNZXRhZGF0YSIsInZlcnNpb25zIiwiZHJhZnRzIiwiYXV0b3NhdmUiLCJpbnRlcnZhbCIsInZhbGlkYXRlIiwibWF4UGVyRG9jIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFtUEE7OztlQUFBOzs7NERBblBnQjt3QkFFZ0I7aUNBS3pCOzs7Ozs7QUFFUCxNQUFNQSxxQkFBcUJDLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHQyxJQUFJLENBQUM7SUFDM0NDLFFBQVFILFlBQUcsQ0FBQ0ksT0FBTztJQUNuQkMsU0FBU0wsWUFBRyxDQUFDSSxPQUFPO0FBQ3RCO0FBRUEsTUFBTUUsbUJBQW1CTixZQUFHLENBQUNDLE1BQU0sR0FBR0MsSUFBSSxDQUFDO0lBQ3pDSyxNQUFNUCxZQUFHLENBQUNRLE1BQU0sR0FBR0MsUUFBUTtJQUMzQkMsUUFBUVYsWUFBRyxDQUFDQyxNQUFNLENBQUM7UUFDakJVLE9BQU9YLFlBQUcsQ0FBQ1ksSUFBSTtRQUNmQyxRQUFRYixZQUFHLENBQUNZLElBQUk7UUFDaEJFLFFBQVFkLFlBQUcsQ0FBQ1ksSUFBSTtRQUNoQkcsTUFBTWYsWUFBRyxDQUFDWSxJQUFJO1FBQ2RJLGNBQWNo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
|
|
@@ -47,7 +47,8 @@ const middleware = (payload)=>{
|
|
|
47
47
|
(0, _methodoverride.default)('X-HTTP-Method-Override'),
|
|
48
48
|
(0, _qsmiddleware.default)({
|
|
49
49
|
arrayLimit: 1000,
|
|
50
|
-
depth: 10
|
|
50
|
+
depth: 10,
|
|
51
|
+
strictNullHandling: true
|
|
51
52
|
}),
|
|
52
53
|
_bodyparser.default.urlencoded({
|
|
53
54
|
extended: true
|
|
@@ -68,4 +69,4 @@ const middleware = (payload)=>{
|
|
|
68
69
|
};
|
|
69
70
|
const _default = middleware;
|
|
70
71
|
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHByZXNzL21pZGRsZXdhcmUvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJvZHlQYXJzZXIgZnJvbSAnYm9keS1wYXJzZXInXG5pbXBvcnQgY29tcHJlc3Npb24gZnJvbSAnY29tcHJlc3Npb24nXG5pbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJ1xuaW1wb3J0IGZpbGVVcGxvYWQgZnJvbSAnZXhwcmVzcy1maWxldXBsb2FkJ1xuaW1wb3J0IHJhdGVMaW1pdCBmcm9tICdleHByZXNzLXJhdGUtbGltaXQnXG5pbXBvcnQgbWV0aG9kT3ZlcnJpZGUgZnJvbSAnbWV0aG9kLW92ZXJyaWRlJ1xuaW1wb3J0IHBhc3Nwb3J0IGZyb20gJ3Bhc3Nwb3J0J1xuaW1wb3J0IHFzTWlkZGxld2FyZSBmcm9tICdxcy1taWRkbGV3YXJlJ1xuXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi8uLi9wYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgbG9jYWxpemF0aW9uTWlkZGxld2FyZSBmcm9tICcuLi8uLi9sb2NhbGl6YXRpb24vbWlkZGxld2FyZSdcbmltcG9ydCBhdXRoZW50aWNhdGUgZnJvbSAnLi9hdXRoZW50aWNhdGUnXG5pbXBvcnQgY29udmVydFBheWxvYWQgZnJvbSAnLi9jb252ZXJ0UGF5bG9hZCdcbmltcG9ydCBjb3JzSGVhZGVycyBmcm9tICcuL2NvcnNIZWFkZXJzJ1xuaW1wb3J0IGRlZmF1bHRQYXlsb2FkIGZyb20gJy4vZGVmYXVsdFBheWxvYWQnXG5pbXBvcnQgeyBpMThuTWlkZGxld2FyZSB9IGZyb20gJy4vaTE4bidcbmltcG9ydCBpZGVudGlmeUFQSSBmcm9tICcuL2lkZW50aWZ5QVBJJ1xuXG5jb25zdCBtaWRkbGV3YXJlID0gKHBheWxvYWQ6IFBheWxvYWQpOiBhbnkgPT4ge1xuICBjb25zdCByYXRlTGltaXRPcHRpb25zOiB7XG4gICAgbWF4PzogbnVtYmVyXG4gICAgc2tpcD86IChyZXE6IFBheWxvYWRSZXF1ZXN0KSA9PiBib29sZWFuXG4gICAgd2luZG93TXM/
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHByZXNzL21pZGRsZXdhcmUvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJvZHlQYXJzZXIgZnJvbSAnYm9keS1wYXJzZXInXG5pbXBvcnQgY29tcHJlc3Npb24gZnJvbSAnY29tcHJlc3Npb24nXG5pbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJ1xuaW1wb3J0IGZpbGVVcGxvYWQgZnJvbSAnZXhwcmVzcy1maWxldXBsb2FkJ1xuaW1wb3J0IHJhdGVMaW1pdCBmcm9tICdleHByZXNzLXJhdGUtbGltaXQnXG5pbXBvcnQgbWV0aG9kT3ZlcnJpZGUgZnJvbSAnbWV0aG9kLW92ZXJyaWRlJ1xuaW1wb3J0IHBhc3Nwb3J0IGZyb20gJ3Bhc3Nwb3J0J1xuaW1wb3J0IHFzTWlkZGxld2FyZSBmcm9tICdxcy1taWRkbGV3YXJlJ1xuXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi8uLi9wYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgbG9jYWxpemF0aW9uTWlkZGxld2FyZSBmcm9tICcuLi8uLi9sb2NhbGl6YXRpb24vbWlkZGxld2FyZSdcbmltcG9ydCBhdXRoZW50aWNhdGUgZnJvbSAnLi9hdXRoZW50aWNhdGUnXG5pbXBvcnQgY29udmVydFBheWxvYWQgZnJvbSAnLi9jb252ZXJ0UGF5bG9hZCdcbmltcG9ydCBjb3JzSGVhZGVycyBmcm9tICcuL2NvcnNIZWFkZXJzJ1xuaW1wb3J0IGRlZmF1bHRQYXlsb2FkIGZyb20gJy4vZGVmYXVsdFBheWxvYWQnXG5pbXBvcnQgeyBpMThuTWlkZGxld2FyZSB9IGZyb20gJy4vaTE4bidcbmltcG9ydCBpZGVudGlmeUFQSSBmcm9tICcuL2lkZW50aWZ5QVBJJ1xuXG5jb25zdCBtaWRkbGV3YXJlID0gKHBheWxvYWQ6IFBheWxvYWQpOiBhbnkgPT4ge1xuICBjb25zdCByYXRlTGltaXRPcHRpb25zOiB7XG4gICAgbWF4PzogbnVtYmVyXG4gICAgc2tpcD86IChyZXE6IFBheWxvYWRSZXF1ZXN0KSA9PiBib29sZWFuXG4gICAgd2luZG93TXM/OiBudW1iZXJcbiAgfSA9IHtcbiAgICBtYXg6IHBheWxvYWQuY29uZmlnLnJhdGVMaW1pdC5tYXgsXG4gICAgd2luZG93TXM6IHBheWxvYWQuY29uZmlnLnJhdGVMaW1pdC53aW5kb3csXG4gIH1cblxuICBpZiAodHlwZW9mIHBheWxvYWQuY29uZmlnLnJhdGVMaW1pdC5za2lwID09PSAnZnVuY3Rpb24nKVxuICAgIHJhdGVMaW1pdE9wdGlvbnMuc2tpcCA9IHBheWxvYWQuY29uZmlnLnJhdGVMaW1pdC5za2lwXG5cbiAgaWYgKHBheWxvYWQuY29uZmlnLmV4cHJlc3MubWlkZGxld2FyZT8ubGVuZ3RoKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIud2FybihcbiAgICAgICdleHByZXNzLm1pZGRsZXdhcmUgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIG1pZ3JhdGUgdG8gZXhwcmVzcy5wb3N0TWlkZGxld2FyZS4nLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiBbXG4gICAgZGVmYXVsdFBheWxvYWQsXG4gICAgLi4uKHBheWxvYWQuY29uZmlnLmV4cHJlc3MucHJlTWlkZGxld2FyZSB8fCBbXSksXG4gICAgcmF0ZUxpbWl0KHJhdGVMaW1pdE9wdGlvbnMpLFxuICAgIHBhc3Nwb3J0LmluaXRpYWxpemUoKSxcbiAgICBpMThuTWlkZGxld2FyZShwYXlsb2FkLmNvbmZpZy5pMThuKSxcbiAgICBpZGVudGlmeUFQSSgnUkVTVCcpLFxuICAgIG1ldGhvZE92ZXJyaWRlKCdYLUhUVFAtTWV0aG9kLU92ZXJyaWRlJyksXG4gICAgcXNNaWRkbGV3YXJlKHsgYXJyYXlMaW1pdDogMTAwMCwgZGVwdGg6IDEwLCBzdHJpY3ROdWxsSGFuZGxpbmc6IHRydWUgfSksXG4gICAgYm9keVBhcnNlci51cmxlbmNvZGVkKHsgZXh0ZW5kZWQ6IHRydWUgfSksXG4gICAgY29tcHJlc3Npb24ocGF5bG9hZC5jb25maWcuZXhwcmVzcy5jb21wcmVzc2lvbiksXG4gICAgbG9jYWxpemF0aW9uTWlkZGxld2FyZSxcbiAgICBleHByZXNzLmpzb24ocGF5bG9hZC5jb25maWcuZXhwcmVzcy5qc29uKSxcbiAgICBmaWxlVXBsb2FkKHtcbiAgICAgIHBhcnNlTmVzdGVkOiB0cnVlLFxuICAgICAgLi4ucGF5bG9hZC5jb25maWcudXBsb2FkLFxuICAgIH0pLFxuICAgIGNvbnZlcnRQYXlsb2FkLFxuICAgIGF1dGhlbnRpY2F0ZShwYXlsb2FkLmNvbmZpZyksXG4gICAgY29yc0hlYWRlcnMocGF5bG9hZC5jb25maWcpLFxuICAgIC4uLihwYXlsb2FkLmNvbmZpZy5leHByZXNzLm1pZGRsZXdhcmUgfHwgW10pLFxuICAgIC4uLihwYXlsb2FkLmNvbmZpZy5leHByZXNzLnBvc3RNaWRkbGV3YXJlIHx8IFtdKSxcbiAgXVxufVxuXG5leHBvcnQgZGVmYXVsdCBtaWRkbGV3YXJlXG4iXSwibmFtZXMiOlsibWlkZGxld2FyZSIsInBheWxvYWQiLCJyYXRlTGltaXRPcHRpb25zIiwibWF4IiwiY29uZmlnIiwicmF0ZUxpbWl0Iiwid2luZG93TXMiLCJ3aW5kb3ciLCJza2lwIiwiZXhwcmVzcyIsImxlbmd0aCIsImxvZ2dlciIsIndhcm4iLCJkZWZhdWx0UGF5bG9hZCIsInByZU1pZGRsZXdhcmUiLCJwYXNzcG9ydCIsImluaXRpYWxpemUiLCJpMThuTWlkZGxld2FyZSIsImkxOG4iLCJpZGVudGlmeUFQSSIsIm1ldGhvZE92ZXJyaWRlIiwicXNNaWRkbGV3YXJlIiwiYXJyYXlMaW1pdCIsImRlcHRoIiwic3RyaWN0TnVsbEhhbmRsaW5nIiwiYm9keVBhcnNlciIsInVybGVuY29kZWQiLCJleHRlbmRlZCIsImNvbXByZXNzaW9uIiwibG9jYWxpemF0aW9uTWlkZGxld2FyZSIsImpzb24iLCJmaWxlVXBsb2FkIiwicGFyc2VOZXN0ZWQiLCJ1cGxvYWQiLCJjb252ZXJ0UGF5bG9hZCIsImF1dGhlbnRpY2F0ZSIsImNvcnNIZWFkZXJzIiwicG9zdE1pZGRsZXdhcmUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQWdFQTs7O2VBQUE7OzttRUFoRXVCO29FQUNDO2dFQUNKOzBFQUNHO3lFQUNEO3VFQUNLO2lFQUNOO3FFQUNJO21FQUtVO3FFQUNWO3VFQUNFO29FQUNIO3VFQUNHO3NCQUNJO29FQUNQOzs7Ozs7QUFFeEIsTUFBTUEsYUFBYSxDQUFDQztJQUNsQixNQUFNQyxtQkFJRjtRQUNGQyxLQUFLRixRQUFRRyxNQUFNLENBQUNDLFNBQVMsQ0FBQ0YsR0FBRztRQUNqQ0csVUFBVUwsUUFBUUcsTUFBTSxDQUFDQyxTQUFTLENBQUNFLE1BQU07SUFDM0M7SUFFQSxJQUFJLE9BQU9OLFFBQVFHLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDRyxJQUFJLEtBQUssWUFDM0NOLGlCQUFpQk0sSUFBSSxHQUFHUCxRQUFRRyxNQUFNLENBQUNDLFNBQVMsQ0FBQ0csSUFBSTtJQUV2RCxJQUFJUCxRQUFRRyxNQUFNLENBQUNLLE9BQU8sQ0FBQ1QsVUFBVSxFQUFFVSxRQUFRO1FBQzdDVCxRQUFRVSxNQUFNLENBQUNDLElBQUksQ0FDakI7SUFFSjtJQUVBLE9BQU87UUFDTEMsdUJBQWM7V0FDVlosUUFBUUcsTUFBTSxDQUFDSyxPQUFPLENBQUNLLGFBQWEsSUFBSSxFQUFFO1FBQzlDVCxJQUFBQSx5QkFBUyxFQUFDSDtRQUNWYSxpQkFBUSxDQUFDQyxVQUFVO1FBQ25CQyxJQUFBQSxvQkFBYyxFQUFDaEIsUUFBUUcsTUFBTSxDQUFDYyxJQUFJO1FBQ2xDQyxJQUFBQSxvQkFBVyxFQUFDO1FBQ1pDLElBQUFBLHVCQUFjLEVBQUM7UUFDZkMsSUFBQUEscUJBQVksRUFBQztZQUFFQyxZQUFZO1lBQU1DLE9BQU87WUFBSUMsb0JBQW9CO1FBQUs7UUFDckVDLG1CQUFVLENBQUNDLFVBQVUsQ0FBQztZQUFFQyxVQUFVO1FBQUs7UUFDdkNDLElBQUFBLG9CQUFXLEVBQUMzQixRQUFRRyxNQUFNLENBQUNLLE9BQU8sQ0FBQ21CLFdBQVc7UUFDOUNDLG1CQUFzQjtRQUN0QnBCLGdCQUFPLENBQUNxQixJQUFJLENBQUM3QixRQUFRRyxNQUFNLENBQUNLLE9BQU8sQ0FBQ3FCLElBQUk7UUFDeENDLElBQUFBLDBCQUFVLEVBQUM7WUFDVEMsYUFBYTtZQUNiLEdBQUcvQixRQUFRRyxNQUFNLENBQUM2QixNQUFNO1FBQzFCO1FBQ0FDLHVCQUFjO1FBQ2RDLElBQUFBLHFCQUFZLEVBQUNsQyxRQUFRRyxNQUFNO1FBQzNCZ0MsSUFBQUEsb0JBQVcsRUFBQ25DLFFBQVFHLE1BQU07V0FDdEJILFFBQVFHLE1BQU0sQ0FBQ0ssT0FBTyxDQUFDVCxVQUFVLElBQUksRUFBRTtXQUN2Q0MsUUFBUUcsTUFBTSxDQUFDSyxPQUFPLENBQUM0QixjQUFjLElBQUksRUFBRTtLQUNoRDtBQUNIO01BRUEsV0FBZXJDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloneDataFromOriginalDoc.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/cloneDataFromOriginalDoc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,oBAAqB,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"cloneDataFromOriginalDoc.d.ts","sourceRoot":"","sources":["../../../../src/fields/hooks/beforeChange/cloneDataFromOriginalDoc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,oBAAqB,OAAO,KAAG,OAsBnE,CAAA"}
|
|
@@ -19,6 +19,9 @@ const cloneDataFromOriginalDoc = (originalDocData)=>{
|
|
|
19
19
|
return row;
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
+
if (originalDocData instanceof Date) {
|
|
23
|
+
return originalDocData;
|
|
24
|
+
}
|
|
22
25
|
if (typeof originalDocData === 'object' && originalDocData !== null) {
|
|
23
26
|
return {
|
|
24
27
|
...originalDocData
|
|
@@ -27,4 +30,4 @@ const cloneDataFromOriginalDoc = (originalDocData)=>{
|
|
|
27
30
|
return originalDocData;
|
|
28
31
|
};
|
|
29
32
|
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlQ2hhbmdlL2Nsb25lRGF0YUZyb21PcmlnaW5hbERvYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY2xvbmVEYXRhRnJvbU9yaWdpbmFsRG9jID0gKG9yaWdpbmFsRG9jRGF0YTogdW5rbm93bik6IHVua25vd24gPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShvcmlnaW5hbERvY0RhdGEpKSB7XG4gICAgcmV0dXJuIG9yaWdpbmFsRG9jRGF0YS5tYXAoKHJvdykgPT4ge1xuICAgICAgaWYgKHR5cGVvZiByb3cgPT09ICdvYmplY3QnICYmIHJvdyAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucm93LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByb3dcbiAgICB9KVxuICB9XG5cbiAgaWYgKG9yaWdpbmFsRG9jRGF0YSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICByZXR1cm4gb3JpZ2luYWxEb2NEYXRhXG4gIH1cblxuICBpZiAodHlwZW9mIG9yaWdpbmFsRG9jRGF0YSA9PT0gJ29iamVjdCcgJiYgb3JpZ2luYWxEb2NEYXRhICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHsgLi4ub3JpZ2luYWxEb2NEYXRhIH1cbiAgfVxuXG4gIHJldHVybiBvcmlnaW5hbERvY0RhdGFcbn1cbiJdLCJuYW1lcyI6WyJjbG9uZURhdGFGcm9tT3JpZ2luYWxEb2MiLCJvcmlnaW5hbERvY0RhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJyb3ciLCJEYXRlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsMkJBQTJCLENBQUNDO0lBQ3ZDLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0Ysa0JBQWtCO1FBQ2xDLE9BQU9BLGdCQUFnQkcsR0FBRyxDQUFDLENBQUNDO1lBQzFCLElBQUksT0FBT0EsUUFBUSxZQUFZQSxPQUFPLE1BQU07Z0JBQzFDLE9BQU87b0JBQ0wsR0FBR0EsR0FBRztnQkFDUjtZQUNGO1lBRUEsT0FBT0E7UUFDVDtJQUNGO0lBRUEsSUFBSUosMkJBQTJCSyxNQUFNO1FBQ25DLE9BQU9MO0lBQ1Q7SUFFQSxJQUFJLE9BQU9BLG9CQUFvQixZQUFZQSxvQkFBb0IsTUFBTTtRQUNuRSxPQUFPO1lBQUUsR0FBR0EsZUFBZTtRQUFDO0lBQzlCO0lBRUEsT0FBT0E7QUFDVCJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EAEjB,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAQvB,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAuCtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAsB1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAMxD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAqB9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAMtD,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CA8D/E,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAS9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EAEjB,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACT,MAAM,gBAAgB,CAAA;AAQvB,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAuCtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAsB1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAMxD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAqB9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAMtD,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CA8D/E,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAS9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAmBtD,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAO5E,CAAA;AAgCD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAgC1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAKxD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAKzD,CAAA;AA6HD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAkB1D,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CA8DtE,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAmC1D,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CASxD,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAqBxD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAkBC"}
|
|
@@ -225,6 +225,9 @@ const checkbox = (value, { required, t })=>{
|
|
|
225
225
|
return true;
|
|
226
226
|
};
|
|
227
227
|
const date = (value, { required, t })=>{
|
|
228
|
+
if (value instanceof Date) {
|
|
229
|
+
return true;
|
|
230
|
+
}
|
|
228
231
|
if (value && !isNaN(Date.parse(value.toString()))) {
|
|
229
232
|
/* eslint-disable-line */ return true;
|
|
230
233
|
}
|
|
@@ -537,4 +540,4 @@ const _default = {
|
|
|
537
540
|
upload
|
|
538
541
|
};
|
|
539
542
|
|
|
540
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFqdiBmcm9tICdhanYnXG5pbXBvcnQgT2JqZWN0SUQgZnJvbSAnYnNvbi1vYmplY3RpZCdcblxuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNOdW1iZXInXG5pbXBvcnQgeyBpc1ZhbGlkSUQgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNWYWxpZElEJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgdGV4dDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dEZpZWxkPiA9IChcbiAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLFxuICB7IGNvbmZpZywgaGFzTWFueSwgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWF4Um93cywgbWluTGVuZ3RoLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICghcmVxdWlyZWQpIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKGhhc01hbnkgPT09IHRydWUpIHtcbiAgICBjb25zdCBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVBcnJheUxlbmd0aCh2YWx1ZSwgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9KVxuICAgIGlmICh0eXBlb2YgbGVuZ3RoVmFsaWRhdGlvblJlc3VsdCA9PT0gJ3N0cmluZycpIHJldHVybiBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0XG4gIH1cblxuICBpZiAodHlwZW9mIGNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBjb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG5cbiAgY29uc3Qgc3RyaW5nc1RvVmFsaWRhdGU6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICBmb3IgKGNvbnN0IHN0cmluZ1ZhbHVlIG9mIHN0cmluZ3NUb1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gc3RyaW5nVmFsdWU/Lmxlbmd0aCB8fCAwXG5cbiAgICBpZiAodHlwZW9mIG1heExlbmd0aCA9PT0gJ251bWJlcicgJiYgbGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbGFiZWw6IHQoJ3ZhbHVlJyksIG1heExlbmd0aCwgc3RyaW5nVmFsdWUgfSlcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1pbkxlbmd0aCA9PT0gJ251bWJlcicgJiYgbGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluTGVuZ3RoLCBzdHJpbmdWYWx1ZSB9KVxuICAgIH1cbiAgfVxuXG4gIGlmIChyZXF1aXJlZCkge1xuICAgIGlmICghKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHx8IHZhbHVlPy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcGFzc3dvcmQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuXG4gIGlmICh2YWx1ZSAmJiBtYXhMZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnLCB7IG1heExlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHZhbHVlICYmIG1pbkxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPCBtaW5MZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBtaW5MZW5ndGggfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCAmJiAhdmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgZW1haWw6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEVtYWlsRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAoKHZhbHVlICYmICEvXFxTW15cXHNAXSpAXFxTK1xcLlxcUysvLnRlc3QodmFsdWUpKSB8fCAoIXZhbHVlICYmIHJlcXVpcmVkKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVtYWlsQWRkcmVzcycpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdGV4dGFyZWE6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRhcmVhRmllbGQ+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGNvbmZpZywgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWluTGVuZ3RoLCBwYXlsb2FkLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICh0eXBlb2YgY29uZmlnPy5kZWZhdWx0TWF4VGV4dExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGNvbmZpZy5kZWZhdWx0TWF4VGV4dExlbmd0aFxuICBpZiAodHlwZW9mIGZpZWxkTWF4TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gZmllbGRNYXhMZW5ndGhcbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjb2RlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBDb2RlRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBqc29uOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBKU09ORmllbGQgJiB7IGpzb25FcnJvcj86IHN0cmluZyB9PiA9IGFzeW5jIChcbiAgdmFsdWU6IHN0cmluZyxcbiAgeyBqc29uRXJyb3IsIGpzb25TY2hlbWEsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmIChqc29uRXJyb3IgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICBjb25zdCBpc05vdEVtcHR5ID0gKHZhbHVlKSA9PiB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBjb25zdCBmZXRjaFNjaGVtYSA9ICh7IHNjaGVtYSwgdXJpIH0pID0+IHtcbiAgICBpZiAodXJpICYmIHNjaGVtYSkgcmV0dXJuIHNjaGVtYVxuICAgIHJldHVybiBmZXRjaCh1cmkpXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTmV0d29yayByZXNwb25zZSB3YXMgbm90IG9rJylcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpXG4gICAgICB9KVxuICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgY29uc3QganNvblNjaGVtYVNhbml0aXphdGlvbnMgPSB7XG4gICAgICAgICAgaWQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAkaWQ6IGpzb24uaWQsXG4gICAgICAgICAgJHNjaGVtYTogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oanNvbiwganNvblNjaGVtYVNhbml0aXphdGlvbnMpXG4gICAgICB9KVxuICB9XG5cbiAgaWYgKCFjYW5Vc2VET00gJiYganNvblNjaGVtYSAmJiBpc05vdEVtcHR5KHZhbHVlKSkge1xuICAgIHRyeSB7XG4gICAgICBqc29uU2NoZW1hLnNjaGVtYSA9IGF3YWl0IGZldGNoU2NoZW1hKGpzb25TY2hlbWEpXG4gICAgICBjb25zdCB7IHNjaGVtYSB9ID0ganNvblNjaGVtYVxuICAgICAgY29uc3QgYWp2ID0gbmV3IEFqdigpXG5cbiAgICAgIGlmICghYWp2LnZhbGlkYXRlKHNjaGVtYSwgdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB0KGFqdi5lcnJvcnNUZXh0KCkpXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiB0KGVycm9yLm1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNoZWNrYm94OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBDaGVja2JveEZpZWxkPiA9IChcbiAgdmFsdWU6IGJvb2xlYW4sXG4gIHsgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAoKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSB8fCAocmVxdWlyZWQgJiYgdHlwZW9mIHZhbHVlICE9PSAnYm9vbGVhbicpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246dHJ1ZU9yRmFsc2UnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIERhdGVGaWVsZD4gPSAodmFsdWUsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAodmFsdWUgJiYgIWlzTmFOKERhdGUucGFyc2UodmFsdWUudG9TdHJpbmcoKSkpKSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUtbGluZSAqL1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBpZiAodmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpub3RWYWxpZERhdGUnLCB7IHZhbHVlIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcmljaFRleHQ6IFZhbGlkYXRlPG9iamVjdCwgdW5rbm93biwgUmljaFRleHRGaWVsZCwgUmljaFRleHRGaWVsZD4gPSBhc3luYyAoXG4gIHZhbHVlLFxuICBvcHRpb25zLFxuKSA9PiB7XG4gIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gb3B0aW9ucz8uZWRpdG9yXG5cbiAgcmV0dXJuIGF3YWl0IGVkaXRvci52YWxpZGF0ZSh2YWx1ZSwgb3B0aW9ucylcbn1cblxuY29uc3QgdmFsaWRhdGVBcnJheUxlbmd0aDogYW55ID0gKFxuICB2YWx1ZSxcbiAgb3B0aW9uczoge1xuICAgIG1heFJvd3M/OiBudW1iZXJcbiAgICBtaW5Sb3dzPzogbnVtYmVyXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuXG4gICAgdDogKGtleTogc3RyaW5nLCBvcHRpb25zPzogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfCBzdHJpbmcgfSkgPT4gc3RyaW5nXG4gIH0sXG4pID0+IHtcbiAgY29uc3QgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9ID0gb3B0aW9uc1xuXG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5sZW5ndGggOiAwXG5cbiAgaWYgKCFyZXF1aXJlZCAmJiBhcnJheUxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWVcblxuICBpZiAobWluUm93cyAmJiBhcnJheUxlbmd0aCA8IG1pblJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiBtaW5Sb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAobWF4Um93cyAmJiBhcnJheUxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nLCB7IGNvdW50OiBtYXhSb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIWFycmF5TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogMSwgbGFiZWw6IHQoJ3JvdycpIH0pXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgbnVtYmVyOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBOdW1iZXJGaWVsZD4gPSAoXG4gIHZhbHVlOiBudW1iZXIgfCBudW1iZXJbXSxcbiAgeyBoYXNNYW55LCBtYXgsIG1heFJvd3MsIG1pbiwgbWluUm93cywgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAoaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbmd0aFZhbGlkYXRpb25SZXN1bHQgPSB2YWxpZGF0ZUFycmF5TGVuZ3RoKHZhbHVlLCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0pXG4gICAgaWYgKHR5cGVvZiBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0ID09PSAnc3RyaW5nJykgcmV0dXJuIGxlbmd0aFZhbGlkYXRpb25SZXN1bHRcbiAgfVxuXG4gIGlmICghdmFsdWUgJiYgIWlzTnVtYmVyKHZhbHVlKSkge1xuICAgIC8vIGlmIG5vIHZhbHVlIGlzIHByZXNlbnQsIHZhbGlkYXRlIGJhc2VkIG9uIHJlcXVpcmVkXG4gICAgaWYgKHJlcXVpcmVkKSByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgaWYgKCFyZXF1aXJlZCkgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGNvbnN0IG51bWJlcnNUb1ZhbGlkYXRlOiBudW1iZXJbXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdXG5cbiAgZm9yIChjb25zdCBudW1iZXIgb2YgbnVtYmVyc1RvVmFsaWRhdGUpIHtcbiAgICBpZiAoIWlzTnVtYmVyKG51bWJlcikpIHJldHVybiB0KCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcblxuICAgIGNvbnN0IG51bWJlclZhbHVlID0gcGFyc2VGbG9hdChudW1iZXIgYXMgdW5rbm93biBhcyBzdHJpbmcpXG5cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgJiYgbnVtYmVyVmFsdWUgPiBtYXgpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4JywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWF4LCB2YWx1ZSB9KVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbWluID09PSAnbnVtYmVyJyAmJiBudW1iZXJWYWx1ZSA8IG1pbikge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtaW4sIHZhbHVlIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGFycmF5OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBBcnJheUZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICByZXR1cm4gdmFsaWRhdGVBcnJheUxlbmd0aCh2YWx1ZSwgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9KVxufVxuXG5leHBvcnQgY29uc3QgYmxvY2tzOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBCbG9ja0ZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICByZXR1cm4gdmFsaWRhdGVBcnJheUxlbmd0aCh2YWx1ZSwgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9KVxufVxuXG5jb25zdCB2YWxpZGF0ZUZpbHRlck9wdGlvbnM6IFZhbGlkYXRlID0gYXN5bmMgKFxuICB2YWx1ZSxcbiAgeyBpZCwgZGF0YSwgZmlsdGVyT3B0aW9ucywgcGF5bG9hZCwgcmVsYXRpb25UbywgcmVxLCBzaWJsaW5nRGF0YSwgdCwgdXNlciB9LFxuKSA9PiB7XG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiBmaWx0ZXJPcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSkge1xuICAgIGNvbnN0IG9wdGlvbnM6IHtcbiAgICAgIFtjb2xsZWN0aW9uOiBzdHJpbmddOiAobnVtYmVyIHwgc3RyaW5nKVtdXG4gICAgfSA9IHt9XG5cbiAgICBjb25zdCBmYWxzZUNvbGxlY3Rpb25zOiBzdHJpbmdbXSA9IFtdXG4gICAgY29uc3QgY29sbGVjdGlvbnMgPSB0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycgPyBbcmVsYXRpb25Ub10gOiByZWxhdGlvblRvXG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgY29sbGVjdGlvbnMubWFwKGFzeW5jIChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbGV0IG9wdGlvbkZpbHRlciA9XG4gICAgICAgICAgICB0eXBlb2YgZmlsdGVyT3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICA/IGF3YWl0IGZpbHRlck9wdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25UbzogY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhLFxuICAgICAgICAgICAgICAgICAgdXNlcixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICA6IGZpbHRlck9wdGlvbnNcblxuICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgIG9wdGlvbkZpbHRlciA9IG51bGxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB2YWx1ZUlEczogKG51bWJlciB8IHN0cmluZylbXSA9IFtdXG5cbiAgICAgICAgICB2YWx1ZXMuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgaWYgKHZhbD8udmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZUlEcy5wdXNoKHZhbC52YWx1ZSlcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChPYmplY3RJRC5pc1ZhbGlkKHZhbCkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZUlEcy5wdXNoKG5ldyBPYmplY3RJRCh2YWwpLnRvSGV4U3RyaW5nKCkpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAodmFsdWVJRHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZmluZFdoZXJlID0ge1xuICAgICAgICAgICAgICBhbmQ6IFt7IGlkOiB7IGluOiB2YWx1ZUlEcyB9IH1dLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uRmlsdGVyKSBmaW5kV2hlcmUuYW5kLnB1c2gob3B0aW9uRmlsdGVyKVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uRmlsdGVyID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICBmYWxzZUNvbGxlY3Rpb25zLnB1c2gob3B0aW9uRmlsdGVyKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgICAgbGltaXQ6IDAsXG4gICAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIHdoZXJlOiBmaW5kV2hlcmUsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gcmVzdWx0LmRvY3MubWFwKChkb2MpID0+IGRvYy5pZClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3B0aW9uc1tjb2xsZWN0aW9uXSA9IFtdXG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICByZXEucGF5bG9hZC5sb2dnZXIuZXJyb3Ioe1xuICAgICAgICAgICAgZXJyLFxuICAgICAgICAgICAgbXNnOiBgRXJyb3IgdmFsaWRhdGluZyBmaWx0ZXIgb3B0aW9ucyBmb3IgY29sbGVjdGlvbiAke2NvbGxlY3Rpb259YCxcbiAgICAgICAgICB9KVxuICAgICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSBbXVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG5cbiAgICBjb25zdCBpbnZhbGlkUmVsYXRpb25zaGlwcyA9IHZhbHVlcy5maWx0ZXIoKHZhbCkgPT4ge1xuICAgICAgbGV0IGNvbGxlY3Rpb246IHN0cmluZ1xuICAgICAgbGV0IHJlcXVlc3RlZElEOiBudW1iZXIgfCBzdHJpbmdcblxuICAgICAgaWYgKHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb2xsZWN0aW9uID0gcmVsYXRpb25Ub1xuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHJlcXVlc3RlZElEID0gdmFsXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgT2JqZWN0SUQuaXNWYWxpZCh2YWwpKSB7XG4gICAgICAgICAgcmVxdWVzdGVkSUQgPSBuZXcgT2JqZWN0SUQodmFsKS50b0hleFN0cmluZygpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy5yZWxhdGlvblRvKSB7XG4gICAgICAgIGNvbGxlY3Rpb24gPSB2YWwucmVsYXRpb25Ub1xuICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbC52YWx1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoZmFsc2VDb2xsZWN0aW9ucy5maW5kKChzbHVnKSA9PiByZWxhdGlvblRvID09PSBzbHVnKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3B0aW9uc1tjb2xsZWN0aW9uXS5pbmRleE9mKHJlcXVlc3RlZElEKSA9PT0gLTFcbiAgICB9KVxuXG4gICAgaWYgKGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBpbnZhbGlkUmVsYXRpb25zaGlwcy5yZWR1Y2UoKGVyciwgaW52YWxpZCwgaSkgPT4ge1xuICAgICAgICByZXR1cm4gYCR7ZXJyfSAke0pTT04uc3RyaW5naWZ5KGludmFsaWQpfSR7XG4gICAgICAgICAgaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID09PSBpICsgMSA/ICcsJyA6ICcnXG4gICAgICAgIH0gYFxuICAgICAgfSwgdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9ucycpKSBhcyBzdHJpbmdcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHVwbG9hZDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVXBsb2FkRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIG9wdGlvbnMpID0+IHtcbiAgaWYgKCF2YWx1ZSAmJiBvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMudCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoIWNhblVzZURPTSAmJiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgaWRGaWVsZCA9IG9wdGlvbnM/LmNvbmZpZz8uY29sbGVjdGlvbnNcbiAgICAgID8uZmluZCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBvcHRpb25zLnJlbGF0aW9uVG8pXG4gICAgICA/LmZpZWxkcz8uZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgICBjb25zdCB0eXBlID0gZ2V0SURUeXBlKGlkRmllbGQsIG9wdGlvbnM/LnBheWxvYWQ/LmRiPy5kZWZhdWx0SURUeXBlKVxuXG4gICAgaWYgKCFpc1ZhbGlkSUQodmFsdWUsIHR5cGUpKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy50KCd2YWxpZGF0aW9uOnZhbGlkVXBsb2FkSUQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZUZpbHRlck9wdGlvbnModmFsdWUsIG9wdGlvbnMpXG59XG5cbmV4cG9ydCBjb25zdCByZWxhdGlvbnNoaXA6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFJlbGF0aW9uc2hpcEZpZWxkPiA9IGFzeW5jIChcbiAgdmFsdWU6IFJlbGF0aW9uc2hpcFZhbHVlLFxuICBvcHRpb25zLFxuKSA9PiB7XG4gIGNvbnN0IHsgY29uZmlnLCBtYXhSb3dzLCBtaW5Sb3dzLCBwYXlsb2FkLCByZWxhdGlvblRvLCByZXF1aXJlZCwgdCB9ID0gb3B0aW9uc1xuXG4gIGlmICgoIXZhbHVlIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApKSAmJiByZXF1aXJlZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgaWYgKG1pblJvd3MgJiYgdmFsdWUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7IGxhYmVsOiB0KCdyb3dzJyksIG1pbjogbWluUm93cywgdmFsdWU6IHZhbHVlLmxlbmd0aCB9KVxuICAgIH1cblxuICAgIGlmIChtYXhSb3dzICYmIHZhbHVlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4JywgeyBsYWJlbDogdCgncm93cycpLCBtYXg6IG1heFJvd3MsIHZhbHVlOiB2YWx1ZS5sZW5ndGggfSlcbiAgICB9XG4gIH1cblxuICBpZiAoIWNhblVzZURPTSAmJiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGNvbnN0IGludmFsaWRSZWxhdGlvbnNoaXBzID0gdmFsdWVzLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBsZXQgY29sbGVjdGlvblNsdWc6IHN0cmluZ1xuICAgICAgbGV0IHJlcXVlc3RlZElEXG5cbiAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29sbGVjdGlvblNsdWcgPSByZWxhdGlvblRvXG5cbiAgICAgICAgLy8gY3VzdG9tIGlkXG4gICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZyA9IHZhbC5yZWxhdGlvblRvXG4gICAgICAgIHJlcXVlc3RlZElEID0gdmFsLnZhbHVlXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXF1ZXN0ZWRJRCA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlXG5cbiAgICAgIGNvbnN0IGlkRmllbGQgPSBjb25maWc/LmNvbGxlY3Rpb25zXG4gICAgICAgID8uZmluZCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBjb2xsZWN0aW9uU2x1ZylcbiAgICAgICAgPy5maWVsZHM/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuXG4gICAgICBjb25zdCB0eXBlID0gZ2V0SURUeXBlKGlkRmllbGQsIHBheWxvYWQ/LmRiPy5kZWZhdWx0SURUeXBlKVxuXG4gICAgICByZXR1cm4gIWlzVmFsaWRJRChyZXF1ZXN0ZWRJRCwgdHlwZSlcbiAgICB9KVxuXG4gICAgaWYgKGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBgVGhpcyByZWxhdGlvbnNoaXAgZmllbGQgaGFzIHRoZSBmb2xsb3dpbmcgaW52YWxpZCByZWxhdGlvbnNoaXBzOiAke2ludmFsaWRSZWxhdGlvbnNoaXBzXG4gICAgICAgIC5tYXAoKGVyciwgaW52YWxpZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgJHtlcnJ9ICR7SlNPTi5zdHJpbmdpZnkoaW52YWxpZCl9YFxuICAgICAgICB9KVxuICAgICAgICAuam9pbignLCAnKX1gXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlRmlsdGVyT3B0aW9ucyh2YWx1ZSwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IHNlbGVjdDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgU2VsZWN0RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBoYXNNYW55LCBvcHRpb25zLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlLnNvbWUoXG4gICAgICAoaW5wdXQpID0+XG4gICAgICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSBpbnB1dCB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uPy52YWx1ZSA9PT0gaW5wdXQpLFxuICAgICAgICApLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICAgIHZhbHVlID09PSBudWxsIHx8XG4gICAgICAoaGFzTWFueSAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAodmFsdWUgYXMgW10pPy5sZW5ndGggPT09IDApKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcmFkaW86IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFJhZGlvRmllbGQ+ID0gKHZhbHVlLCB7IG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgY29uc3QgdmFsdWVNYXRjaGVzT3B0aW9uID0gb3B0aW9ucy5zb21lKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSB2YWx1ZSB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uLnZhbHVlID09PSB2YWx1ZSksXG4gICAgKVxuICAgIHJldHVybiB2YWx1ZU1hdGNoZXNPcHRpb24gfHwgdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIHJldHVybiByZXF1aXJlZCA/IHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSA6IHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHBvaW50OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBQb2ludEZpZWxkPiA9IChcbiAgdmFsdWU6IFtudW1iZXIgfCBzdHJpbmcsIG51bWJlciB8IHN0cmluZ10gPSBbJycsICcnXSxcbiAgeyByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGNvbnN0IGxuZyA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbHVlWzBdKSlcbiAgY29uc3QgbGF0ID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWVbMV0pKVxuICBpZiAoXG4gICAgcmVxdWlyZWQgJiZcbiAgICAoKHZhbHVlWzBdICYmIHZhbHVlWzFdICYmIHR5cGVvZiBsbmcgIT09ICdudW1iZXInICYmIHR5cGVvZiBsYXQgIT09ICdudW1iZXInKSB8fFxuICAgICAgTnVtYmVyLmlzTmFOKGxuZykgfHxcbiAgICAgIE51bWJlci5pc05hTihsYXQpIHx8XG4gICAgICAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoICE9PSAyKSlcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNUd29OdW1iZXJzJylcbiAgfVxuXG4gIGlmICgodmFsdWVbMV0gJiYgTnVtYmVyLmlzTmFOKGxuZykpIHx8ICh2YWx1ZVswXSAmJiBOdW1iZXIuaXNOYU4obGF0KSkpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkSW5wdXQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBhcnJheSxcbiAgYmxvY2tzLFxuICBjaGVja2JveCxcbiAgY29kZSxcbiAgZGF0ZSxcbiAgZW1haWwsXG4gIGpzb24sXG4gIG51bWJlcixcbiAgcGFzc3dvcmQsXG4gIHBvaW50LFxuICByYWRpbyxcbiAgcmVsYXRpb25zaGlwLFxuICByaWNoVGV4dCxcbiAgc2VsZWN0LFxuICB0ZXh0LFxuICB0ZXh0YXJlYSxcbiAgdXBsb2FkLFxufVxuIl0sIm5hbWVzIjpbImFycmF5IiwiYmxvY2tzIiwiY2hlY2tib3giLCJjb2RlIiwiZGF0ZSIsImVtYWlsIiwianNvbiIsIm51bWJlciIsInBhc3N3b3JkIiwicG9pbnQiLCJyYWRpbyIsInJlbGF0aW9uc2hpcCIsInJpY2hUZXh0Iiwic2VsZWN0IiwidGV4dCIsInRleHRhcmVhIiwidXBsb2FkIiwidmFsdWUiLCJjb25maWciLCJoYXNNYW55IiwibWF4TGVuZ3RoIiwiZmllbGRNYXhMZW5ndGgiLCJtYXhSb3dzIiwibWluTGVuZ3RoIiwibWluUm93cyIsInJlcXVpcmVkIiwidCIsImxlbmd0aFZhbGlkYXRpb25SZXN1bHQiLCJ2YWxpZGF0ZUFycmF5TGVuZ3RoIiwiZGVmYXVsdE1heFRleHRMZW5ndGgiLCJzdHJpbmdzVG9WYWxpZGF0ZSIsIkFycmF5IiwiaXNBcnJheSIsInN0cmluZ1ZhbHVlIiwibGVuZ3RoIiwibGFiZWwiLCJwYXlsb2FkIiwidGVzdCIsInVuZGVmaW5lZCIsImpzb25FcnJvciIsImpzb25TY2hlbWEiLCJpc05vdEVtcHR5IiwiT2JqZWN0Iiwia2V5cyIsImZldGNoU2NoZW1hIiwic2NoZW1hIiwidXJpIiwiZmV0Y2giLCJ0aGVuIiwicmVzcG9uc2UiLCJvayIsIkVycm9yIiwianNvblNjaGVtYVNhbml0aXphdGlvbnMiLCJpZCIsIiRpZCIsIiRzY2hlbWEiLCJhc3NpZ24iLCJjYW5Vc2VET00iLCJhanYiLCJBanYiLCJ2YWxpZGF0ZSIsImVycm9yc1RleHQiLCJlcnJvciIsIm1lc3NhZ2UiLCJpc05hTiIsIkRhdGUiLCJwYXJzZSIsInRvU3RyaW5nIiwib3B0aW9ucyIsImVkaXRvciIsImFycmF5TGVuZ3RoIiwiY291bnQiLCJtYXgiLCJtaW4iLCJpc051bWJlciIsIm51bWJlcnNUb1ZhbGlkYXRlIiwibnVtYmVyVmFsdWUiLCJwYXJzZUZsb2F0IiwidmFsaWRhdGVGaWx0ZXJPcHRpb25zIiwiZGF0YSIsImZpbHRlck9wdGlvbnMiLCJyZWxhdGlvblRvIiwicmVxIiwic2libGluZ0RhdGEiLCJ1c2VyIiwiZmFsc2VDb2xsZWN0aW9ucyIsImNvbGxlY3Rpb25zIiwidmFsdWVzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImNvbGxlY3Rpb24iLCJvcHRpb25GaWx0ZXIiLCJ2YWx1ZUlEcyIsImZvckVhY2giLCJ2YWwiLCJwdXNoIiwiT2JqZWN0SUQiLCJpc1ZhbGlkIiwidG9IZXhTdHJpbmciLCJmaW5kV2hlcmUiLCJhbmQiLCJpbiIsInJlc3VsdCIsImZpbmQiLCJkZXB0aCIsImxpbWl0IiwicGFnaW5hdGlvbiIsIndoZXJlIiwiZG9jcyIsImRvYyIsImVyciIsImxvZ2dlciIsIm1zZyIsImludmFsaWRSZWxhdGlvbnNoaXBzIiwiZmlsdGVyIiwicmVxdWVzdGVkSUQiLCJzbHVnIiwiaW5kZXhPZiIsInJlZHVjZSIsImludmFsaWQiLCJpIiwiSlNPTiIsInN0cmluZ2lmeSIsImlkRmllbGQiLCJmaWVsZHMiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwidHlwZSIsImdldElEVHlwZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsImlzVmFsaWRJRCIsImNvbGxlY3Rpb25TbHVnIiwiam9pbiIsInNvbWUiLCJpbnB1dCIsIm9wdGlvbiIsInZhbHVlTWF0Y2hlc09wdGlvbiIsImxuZyIsIlN0cmluZyIsImxhdCIsIk51bWJlciJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
543
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFqdiBmcm9tICdhanYnXG5pbXBvcnQgT2JqZWN0SUQgZnJvbSAnYnNvbi1vYmplY3RpZCdcblxuaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNOdW1iZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNOdW1iZXInXG5pbXBvcnQgeyBpc1ZhbGlkSUQgfSBmcm9tICcuLi91dGlsaXRpZXMvaXNWYWxpZElEJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgdGV4dDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dEZpZWxkPiA9IChcbiAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLFxuICB7IGNvbmZpZywgaGFzTWFueSwgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWF4Um93cywgbWluTGVuZ3RoLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICghcmVxdWlyZWQpIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKGhhc01hbnkgPT09IHRydWUpIHtcbiAgICBjb25zdCBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVBcnJheUxlbmd0aCh2YWx1ZSwgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9KVxuICAgIGlmICh0eXBlb2YgbGVuZ3RoVmFsaWRhdGlvblJlc3VsdCA9PT0gJ3N0cmluZycpIHJldHVybiBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0XG4gIH1cblxuICBpZiAodHlwZW9mIGNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBjb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG5cbiAgY29uc3Qgc3RyaW5nc1RvVmFsaWRhdGU6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICBmb3IgKGNvbnN0IHN0cmluZ1ZhbHVlIG9mIHN0cmluZ3NUb1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gc3RyaW5nVmFsdWU/Lmxlbmd0aCB8fCAwXG5cbiAgICBpZiAodHlwZW9mIG1heExlbmd0aCA9PT0gJ251bWJlcicgJiYgbGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbGFiZWw6IHQoJ3ZhbHVlJyksIG1heExlbmd0aCwgc3RyaW5nVmFsdWUgfSlcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1pbkxlbmd0aCA9PT0gJ251bWJlcicgJiYgbGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluTGVuZ3RoLCBzdHJpbmdWYWx1ZSB9KVxuICAgIH1cbiAgfVxuXG4gIGlmIChyZXF1aXJlZCkge1xuICAgIGlmICghKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHx8IHZhbHVlPy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcGFzc3dvcmQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuXG4gIGlmICh2YWx1ZSAmJiBtYXhMZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnLCB7IG1heExlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHZhbHVlICYmIG1pbkxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPCBtaW5MZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJywgeyBtaW5MZW5ndGggfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCAmJiAhdmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgZW1haWw6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEVtYWlsRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAoKHZhbHVlICYmICEvXFxTW15cXHNAXSpAXFxTK1xcLlxcUysvLnRlc3QodmFsdWUpKSB8fCAoIXZhbHVlICYmIHJlcXVpcmVkKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVtYWlsQWRkcmVzcycpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdGV4dGFyZWE6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRhcmVhRmllbGQ+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGNvbmZpZywgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCwgbWluTGVuZ3RoLCBwYXlsb2FkLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICh0eXBlb2YgY29uZmlnPy5kZWZhdWx0TWF4VGV4dExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGNvbmZpZy5kZWZhdWx0TWF4VGV4dExlbmd0aFxuICBpZiAodHlwZW9mIGZpZWxkTWF4TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gZmllbGRNYXhMZW5ndGhcbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjb2RlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBDb2RlRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBqc29uOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBKU09ORmllbGQgJiB7IGpzb25FcnJvcj86IHN0cmluZyB9PiA9IGFzeW5jIChcbiAgdmFsdWU6IHN0cmluZyxcbiAgeyBqc29uRXJyb3IsIGpzb25TY2hlbWEsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmIChqc29uRXJyb3IgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICBjb25zdCBpc05vdEVtcHR5ID0gKHZhbHVlKSA9PiB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBjb25zdCBmZXRjaFNjaGVtYSA9ICh7IHNjaGVtYSwgdXJpIH0pID0+IHtcbiAgICBpZiAodXJpICYmIHNjaGVtYSkgcmV0dXJuIHNjaGVtYVxuICAgIHJldHVybiBmZXRjaCh1cmkpXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTmV0d29yayByZXNwb25zZSB3YXMgbm90IG9rJylcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpXG4gICAgICB9KVxuICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgY29uc3QganNvblNjaGVtYVNhbml0aXphdGlvbnMgPSB7XG4gICAgICAgICAgaWQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAkaWQ6IGpzb24uaWQsXG4gICAgICAgICAgJHNjaGVtYTogJ2h0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIycsXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oanNvbiwganNvblNjaGVtYVNhbml0aXphdGlvbnMpXG4gICAgICB9KVxuICB9XG5cbiAgaWYgKCFjYW5Vc2VET00gJiYganNvblNjaGVtYSAmJiBpc05vdEVtcHR5KHZhbHVlKSkge1xuICAgIHRyeSB7XG4gICAgICBqc29uU2NoZW1hLnNjaGVtYSA9IGF3YWl0IGZldGNoU2NoZW1hKGpzb25TY2hlbWEpXG4gICAgICBjb25zdCB7IHNjaGVtYSB9ID0ganNvblNjaGVtYVxuICAgICAgY29uc3QgYWp2ID0gbmV3IEFqdigpXG5cbiAgICAgIGlmICghYWp2LnZhbGlkYXRlKHNjaGVtYSwgdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB0KGFqdi5lcnJvcnNUZXh0KCkpXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiB0KGVycm9yLm1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNoZWNrYm94OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBDaGVja2JveEZpZWxkPiA9IChcbiAgdmFsdWU6IGJvb2xlYW4sXG4gIHsgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAoKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSB8fCAocmVxdWlyZWQgJiYgdHlwZW9mIHZhbHVlICE9PSAnYm9vbGVhbicpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246dHJ1ZU9yRmFsc2UnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIERhdGVGaWVsZD4gPSAodmFsdWUsIHsgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiAhaXNOYU4oRGF0ZS5wYXJzZSh2YWx1ZS50b1N0cmluZygpKSkpIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZS1saW5lICovXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGlmICh2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOm5vdFZhbGlkRGF0ZScsIHsgdmFsdWUgfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCByaWNoVGV4dDogVmFsaWRhdGU8b2JqZWN0LCB1bmtub3duLCBSaWNoVGV4dEZpZWxkLCBSaWNoVGV4dEZpZWxkPiA9IGFzeW5jIChcbiAgdmFsdWUsXG4gIG9wdGlvbnMsXG4pID0+IHtcbiAgY29uc3QgZWRpdG9yOiBSaWNoVGV4dEFkYXB0ZXIgPSBvcHRpb25zPy5lZGl0b3JcblxuICByZXR1cm4gYXdhaXQgZWRpdG9yLnZhbGlkYXRlKHZhbHVlLCBvcHRpb25zKVxufVxuXG5jb25zdCB2YWxpZGF0ZUFycmF5TGVuZ3RoOiBhbnkgPSAoXG4gIHZhbHVlLFxuICBvcHRpb25zOiB7XG4gICAgbWF4Um93cz86IG51bWJlclxuICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0OiAoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB8IHN0cmluZyB9KSA9PiBzdHJpbmdcbiAgfSxcbikgPT4ge1xuICBjb25zdCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0gPSBvcHRpb25zXG5cbiAgY29uc3QgYXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6IDBcblxuICBpZiAoIXJlcXVpcmVkICYmIGFycmF5TGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZVxuXG4gIGlmIChtaW5Sb3dzICYmIGFycmF5TGVuZ3RoIDwgbWluUm93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHsgY291bnQ6IG1pblJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmIChtYXhSb3dzICYmIGFycmF5TGVuZ3RoID4gbWF4Um93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzTm9Nb3JlVGhhbicsIHsgY291bnQ6IG1heFJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCAmJiAhYXJyYXlMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiAxLCBsYWJlbDogdCgncm93JykgfSlcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBudW1iZXI6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIE51bWJlckZpZWxkPiA9IChcbiAgdmFsdWU6IG51bWJlciB8IG51bWJlcltdLFxuICB7IGhhc01hbnksIG1heCwgbWF4Um93cywgbWluLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGlmIChoYXNNYW55ID09PSB0cnVlKSB7XG4gICAgY29uc3QgbGVuZ3RoVmFsaWRhdGlvblJlc3VsdCA9IHZhbGlkYXRlQXJyYXlMZW5ndGgodmFsdWUsIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSlcbiAgICBpZiAodHlwZW9mIGxlbmd0aFZhbGlkYXRpb25SZXN1bHQgPT09ICdzdHJpbmcnKSByZXR1cm4gbGVuZ3RoVmFsaWRhdGlvblJlc3VsdFxuICB9XG5cbiAgaWYgKCF2YWx1ZSAmJiAhaXNOdW1iZXIodmFsdWUpKSB7XG4gICAgLy8gaWYgbm8gdmFsdWUgaXMgcHJlc2VudCwgdmFsaWRhdGUgYmFzZWQgb24gcmVxdWlyZWRcbiAgICBpZiAocmVxdWlyZWQpIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICBpZiAoIXJlcXVpcmVkKSByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgY29uc3QgbnVtYmVyc1RvVmFsaWRhdGU6IG51bWJlcltdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICBmb3IgKGNvbnN0IG51bWJlciBvZiBudW1iZXJzVG9WYWxpZGF0ZSkge1xuICAgIGlmICghaXNOdW1iZXIobnVtYmVyKSkgcmV0dXJuIHQoJ3ZhbGlkYXRpb246ZW50ZXJOdW1iZXInKVxuXG4gICAgY29uc3QgbnVtYmVyVmFsdWUgPSBwYXJzZUZsb2F0KG51bWJlciBhcyB1bmtub3duIGFzIHN0cmluZylcblxuICAgIGlmICh0eXBlb2YgbWF4ID09PSAnbnVtYmVyJyAmJiBudW1iZXJWYWx1ZSA+IG1heCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtYXgsIHZhbHVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtaW4gPT09ICdudW1iZXInICYmIG51bWJlclZhbHVlIDwgbWluKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicsIHsgbGFiZWw6IHQoJ3ZhbHVlJyksIG1pbiwgdmFsdWUgfSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgYXJyYXk6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEFycmF5RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIHJldHVybiB2YWxpZGF0ZUFycmF5TGVuZ3RoKHZhbHVlLCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0pXG59XG5cbmV4cG9ydCBjb25zdCBibG9ja3M6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEJsb2NrRmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIHJldHVybiB2YWxpZGF0ZUFycmF5TGVuZ3RoKHZhbHVlLCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0pXG59XG5cbmNvbnN0IHZhbGlkYXRlRmlsdGVyT3B0aW9uczogVmFsaWRhdGUgPSBhc3luYyAoXG4gIHZhbHVlLFxuICB7IGlkLCBkYXRhLCBmaWx0ZXJPcHRpb25zLCBwYXlsb2FkLCByZWxhdGlvblRvLCByZXEsIHNpYmxpbmdEYXRhLCB0LCB1c2VyIH0sXG4pID0+IHtcbiAgaWYgKCFjYW5Vc2VET00gJiYgdHlwZW9mIGZpbHRlck9wdGlvbnMgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlKSB7XG4gICAgY29uc3Qgb3B0aW9uczoge1xuICAgICAgW2NvbGxlY3Rpb246IHN0cmluZ106IChudW1iZXIgfCBzdHJpbmcpW11cbiAgICB9ID0ge31cblxuICAgIGNvbnN0IGZhbHNlQ29sbGVjdGlvbnM6IHN0cmluZ1tdID0gW11cbiAgICBjb25zdCBjb2xsZWN0aW9ucyA9IHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJyA/IFtyZWxhdGlvblRvXSA6IHJlbGF0aW9uVG9cbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjb2xsZWN0aW9ucy5tYXAoYXN5bmMgKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsZXQgb3B0aW9uRmlsdGVyID1cbiAgICAgICAgICAgIHR5cGVvZiBmaWx0ZXJPcHRpb25zID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgID8gYXdhaXQgZmlsdGVyT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgc2libGluZ0RhdGEsXG4gICAgICAgICAgICAgICAgICB1c2VyLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIDogZmlsdGVyT3B0aW9uc1xuXG4gICAgICAgICAgaWYgKG9wdGlvbkZpbHRlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgb3B0aW9uRmlsdGVyID0gbnVsbFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHZhbHVlSURzOiAobnVtYmVyIHwgc3RyaW5nKVtdID0gW11cblxuICAgICAgICAgIHZhbHVlcy5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICBpZiAodmFsPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsLnZhbHVlKVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKE9iamVjdElELmlzVmFsaWQodmFsKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlSURzLnB1c2gobmV3IE9iamVjdElEKHZhbCkudG9IZXhTdHJpbmcoKSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgdmFsdWVJRHMucHVzaCh2YWwpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICh2YWx1ZUlEcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmaW5kV2hlcmUgPSB7XG4gICAgICAgICAgICAgIGFuZDogW3sgaWQ6IHsgaW46IHZhbHVlSURzIH0gfV0sXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIpIGZpbmRXaGVyZS5hbmQucHVzaChvcHRpb25GaWx0ZXIpXG5cbiAgICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIGZhbHNlQ29sbGVjdGlvbnMucHVzaChvcHRpb25GaWx0ZXIpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgICAgICBsaW1pdDogMCxcbiAgICAgICAgICAgICAgcGFnaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgd2hlcmU6IGZpbmRXaGVyZSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSByZXN1bHQuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmlkKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gW11cbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHJlcS5wYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICBtc2c6IGBFcnJvciB2YWxpZGF0aW5nIGZpbHRlciBvcHRpb25zIGZvciBjb2xsZWN0aW9uICR7Y29sbGVjdGlvbn1gLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgb3B0aW9uc1tjb2xsZWN0aW9uXSA9IFtdXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcblxuICAgIGNvbnN0IGludmFsaWRSZWxhdGlvbnNoaXBzID0gdmFsdWVzLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBsZXQgY29sbGVjdGlvbjogc3RyaW5nXG4gICAgICBsZXQgcmVxdWVzdGVkSUQ6IG51bWJlciB8IHN0cmluZ1xuXG4gICAgICBpZiAodHlwZW9mIHJlbGF0aW9uVG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbGxlY3Rpb24gPSByZWxhdGlvblRvXG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiBPYmplY3RJRC5pc1ZhbGlkKHZhbCkpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IG5ldyBPYmplY3RJRCh2YWwpLnRvSGV4U3RyaW5nKClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWw/LnJlbGF0aW9uVG8pIHtcbiAgICAgICAgY29sbGVjdGlvbiA9IHZhbC5yZWxhdGlvblRvXG4gICAgICAgIHJlcXVlc3RlZElEID0gdmFsLnZhbHVlXG4gICAgICB9XG5cbiAgICAgIGlmIChmYWxzZUNvbGxlY3Rpb25zLmZpbmQoKHNsdWcpID0+IHJlbGF0aW9uVG8gPT09IHNsdWcpKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvcHRpb25zW2NvbGxlY3Rpb25dLmluZGV4T2YocmVxdWVzdGVkSUQpID09PSAtMVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGludmFsaWRSZWxhdGlvbnNoaXBzLnJlZHVjZSgoZXJyLCBpbnZhbGlkLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiBgJHtlcnJ9ICR7SlNPTi5zdHJpbmdpZnkoaW52YWxpZCl9JHtcbiAgICAgICAgICBpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPT09IGkgKyAxID8gJywnIDogJydcbiAgICAgICAgfSBgXG4gICAgICB9LCB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb25zJykpIGFzIHN0cmluZ1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdXBsb2FkOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBVcGxvYWRGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgb3B0aW9ucykgPT4ge1xuICBpZiAoIXZhbHVlICYmIG9wdGlvbnMucmVxdWlyZWQpIHtcbiAgICByZXR1cm4gb3B0aW9ucy50KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCBpZEZpZWxkID0gb3B0aW9ucz8uY29uZmlnPy5jb2xsZWN0aW9uc1xuICAgICAgPy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IG9wdGlvbnMucmVsYXRpb25UbylcbiAgICAgID8uZmllbGRzPy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcblxuICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgb3B0aW9ucz8ucGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICBpZiAoIWlzVmFsaWRJRCh2YWx1ZSwgdHlwZSkpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLnQoJ3ZhbGlkYXRpb246dmFsaWRVcGxvYWRJRCcpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlRmlsdGVyT3B0aW9ucyh2YWx1ZSwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IHJlbGF0aW9uc2hpcDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUmVsYXRpb25zaGlwRmllbGQ+ID0gYXN5bmMgKFxuICB2YWx1ZTogUmVsYXRpb25zaGlwVmFsdWUsXG4gIG9wdGlvbnMsXG4pID0+IHtcbiAgY29uc3QgeyBjb25maWcsIG1heFJvd3MsIG1pblJvd3MsIHBheWxvYWQsIHJlbGF0aW9uVG8sIHJlcXVpcmVkLCB0IH0gPSBvcHRpb25zXG5cbiAgaWYgKCghdmFsdWUgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkpICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICBpZiAobWluUm93cyAmJiB2YWx1ZS5sZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicsIHsgbGFiZWw6IHQoJ3Jvd3MnKSwgbWluOiBtaW5Sb3dzLCB2YWx1ZTogdmFsdWUubGVuZ3RoIH0pXG4gICAgfVxuXG4gICAgaWYgKG1heFJvd3MgJiYgdmFsdWUubGVuZ3RoID4gbWF4Um93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCdyb3dzJyksIG1heDogbWF4Um93cywgdmFsdWU6IHZhbHVlLmxlbmd0aCB9KVxuICAgIH1cbiAgfVxuXG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uU2x1Zzogc3RyaW5nXG4gICAgICBsZXQgcmVxdWVzdGVkSURcblxuICAgICAgaWYgKHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZyA9IHJlbGF0aW9uVG9cblxuICAgICAgICAvLyBjdXN0b20gaWRcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHJlcXVlc3RlZElEID0gdmFsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy5yZWxhdGlvblRvKSB7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVlc3RlZElEID09PSBudWxsKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgaWRGaWVsZCA9IGNvbmZpZz8uY29sbGVjdGlvbnNcbiAgICAgICAgPy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IGNvbGxlY3Rpb25TbHVnKVxuICAgICAgICA/LmZpZWxkcz8uZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgcGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICAgIHJldHVybiAhaXNWYWxpZElEKHJlcXVlc3RlZElELCB0eXBlKVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGBUaGlzIHJlbGF0aW9uc2hpcCBmaWVsZCBoYXMgdGhlIGZvbGxvd2luZyBpbnZhbGlkIHJlbGF0aW9uc2hpcHM6ICR7aW52YWxpZFJlbGF0aW9uc2hpcHNcbiAgICAgICAgLm1hcCgoZXJyLCBpbnZhbGlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX1gXG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpfWBcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBTZWxlY3RGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IGhhc01hbnksIG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgdmFsdWUuc29tZShcbiAgICAgIChpbnB1dCkgPT5cbiAgICAgICAgIW9wdGlvbnMuc29tZShcbiAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IGlucHV0IHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24/LnZhbHVlID09PSBpbnB1dCksXG4gICAgICAgICksXG4gICAgKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmXG4gICAgIW9wdGlvbnMuc29tZShcbiAgICAgIChvcHRpb24pID0+IG9wdGlvbiA9PT0gdmFsdWUgfHwgKHR5cGVvZiBvcHRpb24gIT09ICdzdHJpbmcnICYmIG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgcmVxdWlyZWQgJiZcbiAgICAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdmFsdWUgPT09IG51bGwgfHxcbiAgICAgIChoYXNNYW55ICYmIEFycmF5LmlzQXJyYXkodmFsdWUpICYmICh2YWx1ZSBhcyBbXSk/Lmxlbmd0aCA9PT0gMCkpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCByYWRpbzogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUmFkaW9GaWVsZD4gPSAodmFsdWUsIHsgb3B0aW9ucywgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAodmFsdWUpIHtcbiAgICBjb25zdCB2YWx1ZU1hdGNoZXNPcHRpb24gPSBvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICAgcmV0dXJuIHZhbHVlTWF0Y2hlc09wdGlvbiB8fCB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgcmV0dXJuIHJlcXVpcmVkID8gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpIDogdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcG9pbnQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFBvaW50RmllbGQ+ID0gKFxuICB2YWx1ZTogW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXSA9IFsnJywgJyddLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgbG5nID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWVbMF0pKVxuICBjb25zdCBsYXQgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZVsxXSkpXG4gIGlmIChcbiAgICByZXF1aXJlZCAmJlxuICAgICgodmFsdWVbMF0gJiYgdmFsdWVbMV0gJiYgdHlwZW9mIGxuZyAhPT0gJ251bWJlcicgJiYgdHlwZW9mIGxhdCAhPT0gJ251bWJlcicpIHx8XG4gICAgICBOdW1iZXIuaXNOYU4obG5nKSB8fFxuICAgICAgTnVtYmVyLmlzTmFOKGxhdCkgfHxcbiAgICAgIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggIT09IDIpKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc1R3b051bWJlcnMnKVxuICB9XG5cbiAgaWYgKCh2YWx1ZVsxXSAmJiBOdW1iZXIuaXNOYU4obG5nKSkgfHwgKHZhbHVlWzBdICYmIE51bWJlci5pc05hTihsYXQpKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGFycmF5LFxuICBibG9ja3MsXG4gIGNoZWNrYm94LFxuICBjb2RlLFxuICBkYXRlLFxuICBlbWFpbCxcbiAganNvbixcbiAgbnVtYmVyLFxuICBwYXNzd29yZCxcbiAgcG9pbnQsXG4gIHJhZGlvLFxuICByZWxhdGlvbnNoaXAsXG4gIHJpY2hUZXh0LFxuICBzZWxlY3QsXG4gIHRleHQsXG4gIHRleHRhcmVhLFxuICB1cGxvYWQsXG59XG4iXSwibmFtZXMiOlsiYXJyYXkiLCJibG9ja3MiLCJjaGVja2JveCIsImNvZGUiLCJkYXRlIiwiZW1haWwiLCJqc29uIiwibnVtYmVyIiwicGFzc3dvcmQiLCJwb2ludCIsInJhZGlvIiwicmVsYXRpb25zaGlwIiwicmljaFRleHQiLCJzZWxlY3QiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJ2YWx1ZSIsImNvbmZpZyIsImhhc01hbnkiLCJtYXhMZW5ndGgiLCJmaWVsZE1heExlbmd0aCIsIm1heFJvd3MiLCJtaW5MZW5ndGgiLCJtaW5Sb3dzIiwicmVxdWlyZWQiLCJ0IiwibGVuZ3RoVmFsaWRhdGlvblJlc3VsdCIsInZhbGlkYXRlQXJyYXlMZW5ndGgiLCJkZWZhdWx0TWF4VGV4dExlbmd0aCIsInN0cmluZ3NUb1ZhbGlkYXRlIiwiQXJyYXkiLCJpc0FycmF5Iiwic3RyaW5nVmFsdWUiLCJsZW5ndGgiLCJsYWJlbCIsInBheWxvYWQiLCJ0ZXN0IiwidW5kZWZpbmVkIiwianNvbkVycm9yIiwianNvblNjaGVtYSIsImlzTm90RW1wdHkiLCJPYmplY3QiLCJrZXlzIiwiZmV0Y2hTY2hlbWEiLCJzY2hlbWEiLCJ1cmkiLCJmZXRjaCIsInRoZW4iLCJyZXNwb25zZSIsIm9rIiwiRXJyb3IiLCJqc29uU2NoZW1hU2FuaXRpemF0aW9ucyIsImlkIiwiJGlkIiwiJHNjaGVtYSIsImFzc2lnbiIsImNhblVzZURPTSIsImFqdiIsIkFqdiIsInZhbGlkYXRlIiwiZXJyb3JzVGV4dCIsImVycm9yIiwibWVzc2FnZSIsIkRhdGUiLCJpc05hTiIsInBhcnNlIiwidG9TdHJpbmciLCJvcHRpb25zIiwiZWRpdG9yIiwiYXJyYXlMZW5ndGgiLCJjb3VudCIsIm1heCIsIm1pbiIsImlzTnVtYmVyIiwibnVtYmVyc1RvVmFsaWRhdGUiLCJudW1iZXJWYWx1ZSIsInBhcnNlRmxvYXQiLCJ2YWxpZGF0ZUZpbHRlck9wdGlvbnMiLCJkYXRhIiwiZmlsdGVyT3B0aW9ucyIsInJlbGF0aW9uVG8iLCJyZXEiLCJzaWJsaW5nRGF0YSIsInVzZXIiLCJmYWxzZUNvbGxlY3Rpb25zIiwiY29sbGVjdGlvbnMiLCJ2YWx1ZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiY29sbGVjdGlvbiIsIm9wdGlvbkZpbHRlciIsInZhbHVlSURzIiwiZm9yRWFjaCIsInZhbCIsInB1c2giLCJPYmplY3RJRCIsImlzVmFsaWQiLCJ0b0hleFN0cmluZyIsImZpbmRXaGVyZSIsImFuZCIsImluIiwicmVzdWx0IiwiZmluZCIsImRlcHRoIiwibGltaXQiLCJwYWdpbmF0aW9uIiwid2hlcmUiLCJkb2NzIiwiZG9jIiwiZXJyIiwibG9nZ2VyIiwibXNnIiwiaW52YWxpZFJlbGF0aW9uc2hpcHMiLCJmaWx0ZXIiLCJyZXF1ZXN0ZWRJRCIsInNsdWciLCJpbmRleE9mIiwicmVkdWNlIiwiaW52YWxpZCIsImkiLCJKU09OIiwic3RyaW5naWZ5IiwiaWRGaWVsZCIsImZpZWxkcyIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIiwiZ2V0SURUeXBlIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiaXNWYWxpZElEIiwiY29sbGVjdGlvblNsdWciLCJqb2luIiwic29tZSIsImlucHV0Iiwib3B0aW9uIiwidmFsdWVNYXRjaGVzT3B0aW9uIiwibG5nIiwiU3RyaW5nIiwibGF0IiwiTnVtYmVyIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { UploadedFile } from 'express-fileupload';
|
|
3
|
+
import type { PayloadRequest } from 'payload/types';
|
|
3
4
|
import sharp from 'sharp';
|
|
4
5
|
import type { UploadEdits } from './types';
|
|
6
|
+
import { type WithMetadata } from './optionallyAppendMetadata';
|
|
5
7
|
export declare const percentToPixel: (value: any, dimension: any) => number;
|
|
6
8
|
type CropImageArgs = {
|
|
7
9
|
cropData: UploadEdits['crop'];
|
|
@@ -11,9 +13,11 @@ type CropImageArgs = {
|
|
|
11
13
|
};
|
|
12
14
|
file: UploadedFile;
|
|
13
15
|
heightInPixels: number;
|
|
16
|
+
req?: PayloadRequest;
|
|
14
17
|
widthInPixels: number;
|
|
18
|
+
withMetadata?: WithMetadata;
|
|
15
19
|
};
|
|
16
|
-
export declare function cropImage({ cropData, dimensions, file, heightInPixels, widthInPixels, }: CropImageArgs): Promise<{
|
|
20
|
+
export declare function cropImage({ cropData, dimensions, file, heightInPixels, req, widthInPixels, withMetadata, }: CropImageArgs): Promise<{
|
|
17
21
|
data: Buffer;
|
|
18
22
|
info: sharp.OutputInfo;
|
|
19
23
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cropImage.d.ts","sourceRoot":"","sources":["../../src/uploads/cropImage.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"cropImage.d.ts","sourceRoot":"","sources":["../../src/uploads/cropImage.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAGnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,EAAE,KAAK,YAAY,EAA4B,MAAM,4BAA4B,CAAA;AAExF,eAAO,MAAM,cAAc,kCAAuB,MAGjD,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,IAAI,EAAE,YAAY,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AACD,wBAAsB,SAAS,CAAC,EAC9B,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,cAAc,EACd,GAAG,EACH,aAAa,EACb,YAAY,GACb,EAAE,aAAa;;;GAgCf"}
|